具有以下getoptions功能。 iifiles参数是可选的,如果提供,它可以是1到多个。但是,当我运行此函数时收到错误消息“选项规范中的错误”。在solaris上运行的Perl 10.不确定需要为iiles提供多个值选项。
GetOptions( 'reportdate=s' => \$cmdParams{repDate}
,'switch=s' =>\$cmdParams{swi}
,'iiles:s{,}' => \@inputFileArray
,'h|?|help' => \$help
);
答案 0 :(得分:3)
您的Getopt::Long
版本似乎不支持重复说明符。您可以更新它,或使用逗号分隔列表,例如:
GetOptions('iiles:s' => \$fileList);
@inputFileArray = split(/,/, $fileList);
或者,在解析后使用@ARGV
中的其余参数作为列表:
GetOptions('somethings=i'=>\$some);
@inputFileArray = @ARGV;
答案 1 :(得分:2)
在solaris上运行Perl 10.不确定需要为iiles提供多个值选项。
有你的问题。你在运行什么版本的Perl?上次我检查时,Solaris上的Perl标准版本是5.8.4。它现在可能高达5.8.9。问题是您所需的功能,在'iiles:s{,}' => \@inputFileArray,
版本中可能没有指定Getopt::Long
选项。
运行此命令:
$ perldoc Getopt::Long
查找字符串coordinates=f{2}
。如果你找不到它,你就没有这个选择。
你可以没有它。 (仍然有指定多个值的方法),或者您可以尝试Sun Freeware Site并查看它们是否具有更高版本的Perl,或者您可以从CPAN下载最新版本的Getopt::Long
。但是,请务必确保您下载的版本适用于您的Perl版本。我最近注意到一些较新的模块需要在Perl post 5.10中找到的功能。