t**********y 发帖数: 374 | 1 练习使用Getopt, 写了下面一小段. 运行的command: perl temp.pl -ribo Y,
结果输出是:
temp.pl -ribo at temp.pl line 16.
错在那儿呢?:( 多谢
--------------------------------------------
use strict;
use warnings;
use IO::File;
use Getopt::Long;
my $usage= "temp.pl -ribo ";
my %options=(
ribo => undef
);
&GetOptions(
'ribo=s' => \$options{ribo}
);
die $usage unless (-s $options{ribo});
if ($options{ribo} eq "Y"){print "good-try\n";}
exit; |
j*****a 发帖数: 436 | 2 Change line 16 to:
die $usage unless (exists $options{ribo}); |
d****n 发帖数: 1637 | 3 He should use "defined",
die $usage unless (defined $options{ribo} );
cause %options already has key ribo.
so exists $options{ribo} is always True. |
j*****a 发帖数: 436 | 4 Your are right.
【在 d****n 的大作中提到】 : He should use "defined", : die $usage unless (defined $options{ribo} ); : cause %options already has key ribo. : so exists $options{ribo} is always True.
|
t**********y 发帖数: 374 | 5 多谢, 多谢:). 两种修改都对
die $usage unless (exists $options{ribo});
die $usage unless (defined $options{ribo});
能推荐一些好的Getopt::Long 用法的例子吗?
我用-s是看了别人的例子, 不是很懂为什么......
【在 j*****a 的大作中提到】 : Your are right.
|