我是Perl的新手,目前我将命令行参数传递给perl脚本并通过ARGS [0]检索它。
perl <perlscript.pl> windows IE.
我想给上述值提供关键字。
perl <perlscript.pl> -os windows -browser IE -instance 2.
有时可能存在或不存在实例。我如何在perl脚本中处理这个问题。
答案 0 :(得分:6)
使用Getopt::Long并将选项存储在哈希中:
use warnings;
use strict;
use Getopt::Long qw(GetOptions);
my %opt;
GetOptions(\%opt, qw(
os=s
browser=s
instance=i
)) or die;
答案 1 :(得分:3)
有几个模块用于处理命令行参数:Getopt::Declare
和Getopt::Long
可能是最受欢迎的。在我的工作中,我们主要使用Getopt :: Declare,因为@toolic覆盖了Getopt :: Long,因此我展示了它的例子。
my $ARGS = Getopt::Declare->new(
join("\n",
"[strict]",
"-os <string> The operating system [required]",
"-browser <string> The web browser [required]",
"-instance <int> The instance"
)
) or die;
现在您可以通过$ARGS
哈希访问任何参数。即$ARGS->{-os}
[strict]
严格解析命令行 并报告任何错误。
[required]
表示该字段必须在那里,请注意我将其从实例中删除。