0

コマンドラインから関数にいくつかの引数を渡す方法はGetopt::Long? 私の問題は次のとおりです。オプションを次のように定義します。

...

my $result = GetOptions('ham=s{2}' => \&hamming_distance); 

...

sub hamming_distance {
my @values = @_;
...
}

オプションでプログラムを呼び出すと

--ham good wood

サブルーチン を 2 回呼び出しました。1回は "good" で、もう 1 回はhamming distance"wood"でした。両方のパラメーターを使用して 1 つの呼び出しのみを取得するにはどうすればよいですか?@_ham,goodham,woodham,good,wood

4

2 に答える 2

1

ハンドラー サブルーチンが必要ない場合は、単純に配列を作成できます。

use warnings;
use strict;
use Getopt::Long;
use Data::Dumper;

my @values;
my $result = GetOptions('ham=s{2}' => \@values); 
print Dumper(\@values);

__END__

$VAR1 = [
          'good',
          'wood'
        ];

ドキュメントによると、この配列メソッドは実験的なものであることに注意してください。

于 2014-09-16T20:26:12.513 に答える