Perl (v5.14.2) を使用して、単一のコマンド ライン入力引数として 3D ベクトルを取得しようとしています。
Getopt::Longのドキュメントを読んだ後、次のことから始めることにしました。
use Getopt::Long;
my @boxSize = (0, 0, 0);
GetOptions('box:f{3}' => \@boxSize);
print "Box size: $boxSize[0], $boxSize[1], $boxSize[2]\n";
引数を指定してこのスクリプトを実行すると、次の-box 1.0 2.0 3.0
結果が得られます。
Box size: 0 0 0
@boxSize
ここで、初期化しないままにしておくと、次のようになります。
use Getopt::Long;
my @boxSize; #= (0, 0, 0);
GetOptions('box:f{3}' => \@boxSize);
print "Box size: $boxSize[0], $boxSize[1], $boxSize[2]\n";
同じスクリプトが次を返すようになりました。
Box size: 1.0 2.0 3.0
誰が私が間違っているのか教えてもらえますか?