使用GetOpt :: Long,是否可以创建动态参数列表?
myprog.pl --dir / tmp --force --releaes 1.2.3
my %options = ();
my @options = qw(dir force release );
#note dir and release take argument, and force is a flag
my $result = GetOptions(\%options, \@optons); #or something like that
print "dir $options{dir} \n"; #produces say /tmp
print "force $options{force} \n"; # produces 1 or 0
print "release $options{release} \n"; # and so on
由于
答案 0 :(得分:2)
这应该可以解决问题:
my @options = qw(dir=s force release=s);
...
my $result = GetOptions(\%options, @options);
答案 1 :(得分:0)
Subs获取参数的标量列表。该列表可以从任何表达式*生成,包括数组。
my @options;
if (condition()) { # Dynamic
@options = qw( dir=s force release=s );
} else {
@options = ...;
}
GetOptions(\%options, @optons);
* - 原型可以改变允许的表达式以及表达式的计算方式。