我有一个需要采取一些选项的脚本,其中一个是-i(输入).
我尝试了以下代码将输入参数输入到数组中:
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
my @input = ();
my $help = '';
my $other = '';
GetOptions(
'help' => \$help,
'input=s{1,}' => \@input,
'other=s' => \$other
);
当我尝试将它作为./my_script.pl -i param1 param2 -o aaa运行时,我得到了这个:
Error in option spec: "input=s{1,}"
如果我使用perl显式运行它作为perl my_script.pl -i param1 param2 -o aaa一切顺利.
有没有办法将这些参数放入数组(不使用@ARGV)而不从命令行显式调用perl?
最佳答案 结果我安装了多个perl版本.其中一个(较旧版本)可能有较旧版本的Getopt :: Long模块,它不支持input = s {1,}语法.当我从最新安装的版本切换到调用perl时,脚本运行时没有错误.