Perl Getopt :: Long Dynamic Parameters - PullRequest
       1

Perl Getopt :: Long Dynamic Parameters

1 голос
/ 23 апреля 2011

С помощью GetOpt :: Long возможно ли создать динамический список параметров?

myprog.pl --dir / tmp --force --releaes 1.2.3

my %options = (); <br /> my @options = qw(dir force release ); <br />#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

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 апреля 2011

Это должно сработать:

my @options = qw(dir=s force release=s); 
...
my $result = GetOptions(\%options, @options);
0 голосов
/ 23 апреля 2011

Subs принимают список скаляров для аргументов. Этот список может быть сгенерирован из любого выражения *, включая массив.

my @options;
if (condition()) { # Dynamic
   @options = qw( dir=s force release=s );
} else {
   @options = ...;
}

GetOptions(\%options, @optons);

* & mdash; Прототипы могут изменить то, какие выражения разрешены и как выражение оценивается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...