0

誰かがベローが起こっている理由を理解するのを手伝ってくれますか? Perl Getopt::Long を使用して複数の値を持つオプションを解析していますが、奇妙な結果が得られます。次のコード:

#!/usr/bin/perl
use warnings;
use strict;
use Getopt::Long;

my @b_in = "";
GetOptions( 'b=s{,}'  => \@b_in );
my $blen = @b_in;

print "Length of b args: $blen\n";
print "List of b args: $b_in[0], $b_in[1] and $b_in[2]\n";
print "The first b: $b_in[0]\n";

次の出力が生成されます。

$ ./optl.pl -b b_abr c_arg
Length of b args: 3
List of b args: , b_abr and c_arg
The first b: 

引数リストの最初の引数が空なのはなぜですか?

4

1 に答える 1

3

""の代わりに初期化したためです()。オプションは、すでに存在していた要素に追加されました。

于 2013-05-23T20:49:24.000 に答える