【发布时间】:2012-01-18 21:03:27
【问题描述】:
我的 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 到多个值。当我在第二个值中有字母数字字符时,它不会失败。 ./test.pl -mode report -writeid 12 A3 23......
我能做的解决方法是什么?
【问题讨论】:
-
首先,您可以向我们展示您正在使用来自 CPAN 的无数标准 Getopt::* 模块中的哪一个。最有可能的是,
12是(唯一的)数字选项,而将A3和23作为非选项('文件名')参数。
标签: perl perl-module