我对Perl绝对陌生,我试图找出Perl脚本解析脚本参数的问题。如何使用GetOptions检测尾随字符串?
我有以下的Perl脚本称为sample-perl.pl:
use strict;
use warnings;
use 5.010;
use Getopt::Long qw(GetOptions);
my $source_address;
my $dest_address;
GetOptions('from=s' => \$source_address,
'to=s' => \$dest_address) or die "Usage: $0 --from NAME --to NAME\n";
if ($source_address) {
say $source_address;
}
if ($dest_address) {
say $dest_address;
}
如果我使用像这样的命令(,我忘了进入第二个选项):
perl sample-perl.pl --from nyc lon
Output will be: nyc
我该如何执行,如果最后有一个附加字符串,它会被检测到,并显示一个错误?
解决方案:
增加,这将帮助我的情况下,至少:
if(@ARGV){
//throw error
}
检查'标@ ARGV'?如果'@ARGV> 0'有命令行 –
@HåkonHægland上的'GetOptions()'没有拾取的(非选项)参数,就好像它。我希望我能接受这个答案:) – abhishek
参见'perldoc Pod :: Usage' – toolic