我對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