1

複数の引数にgetoptfromを使用しようとしています。必須の検索語、オプションの整数、オプションの文字になりGetopt::Stdたいgetopt('s:il');ところがあります。これは、3つすべてを使用すると機能しますが、コマンドラインに追加すると、Perlが空白として認識し、の引数として認識するのではなく、変数の結果が得られます。これを回避する方法はありますか?別の getopt(s) コマンドを使用する必要がありますか?sil'-s search -i -l g'-li-i'g'l

4

1 に答える 1

2

代わりにgetopts関数を使用しgetoptます。

use warnings;
use strict;
use Getopt::Std;

my %opts;
getopts('s:il', \%opts);

use Data::Dumper;
$Data::Dumper::Sortkeys=1;
print Dumper(\%opts);

__END__

my_script.pl -s foo -i -l

$VAR1 = {
          'i' => 1,
          'l' => 1,
          's' => 'foo'
        };
于 2013-05-15T21:17:53.307 に答える