私のPerlスクリプトは、以下の方法で引数を取得します。コマンドライン引数を取得するGetoptions関数があります。Perl GetOptions関数
./test.pl -mode report -writeid 12 13 23......
$rc=GetOptions('mode=s' => \$cmdParams{mode} ,'writeid:i{1,}' => \@writeid ,'h|?|help' => \$help );
私はそれが失敗していないwriteidオプションで英数字を持っているときに問題があります。 Writeidは整数(i {1、})として定義され、1から多くの値を受け取ることができます。 2番目の値に英数字があると失敗しません。 ./test.pl -modeレポートは
...... A3 23 12を-writeid私にできる回避策は何ですか?
、あなたは私たちに、標準のgetopt無数のどの:: *使用しているCPANからモジュールを示すことができました。そして、おそらく、 '12'は(唯一の)数字オプションであり、' A3'と '23'を非オプション( 'ファイル名')引数として残している可能性が最も高いでしょう。 –