我有一个 Perl 脚本,它使用 GetOpts long。像这样的命令很容易处理:
automate -action build,deploy -modules chat,email,login
我想要实现的是允许用户在参数之间留出空格。
例如
automate -action build, deploy -modules chat, email, login
问题是GetOpt::Long
内部用于@ARGV
根据需要设置变量,并且空格会更改@ARGV
数组,这反过来只会将“构建”作为操作,而仅将“聊天”作为脚本的模块,而忽略其余的参数通过。
有没有一种简单的方法来解析上面 Perl 中的命令行?
我希望有,因为否则我将不得不使用一种非常老套的方法来更改@ARGV
数组,然后再将其传递给 GetOpts。
是否还有其他强大的库可以为我做到这一点?
---------------------------------------量身定做的脚本------- -------------
GetOptions("action=s{1,4}"=>\@myactions,
"modules=s{,}"=>\@mymodules);
foreach(@mymodules)
{
if($_ eq $mymodules[0])
{
$mymodules= $mymodules.$_;
next;
}
if($dashboards =~ m/,$/ || $_ =~ m/^,/)
{
$mymodules= $mymodules.$_;
}
else
{
$mymodules= $mymodules.",".$_;
}
}