but there is a warning that it is experimental and there is no hint as to how to implement it.
Actually, if you keep reading, the perldoc on Getopt::Long, it tells you how to use that feature.
From the perldoc:
This can be accomplished by adding a repeat specifier to the option specification. Repeat specifiers are very similar to the {...} repeat specifiers that can be used with regular expression patterns. For example, the above command line would be handled as follows:
GetOptions('coordinates=f{1,}' => \@coor, 'rgbcolor=i{3}' => \@color);
Taking your example code and input, I tested the following code:
use strict; use warnings; use Getopt::Long; my @list; my $getoptresult = GetOptions('list=s{2}' => \@list); foreach my $item (@list) {print "$item\n";}
Being on Windows, I had to use a double-quotes instead of single-quotes, but here's how the script was called:
perl test.pl --list "strA,==,100" "strB,>,1000"Here's the output:
strA,==,100 strB,>,1000
You'll want to look at the perlre perldoc for more details on what else you can use in "{...} repeat specifiers". In my code, the {1,} is telling Getopt::Long that @list is getting one or more elements.
In reply to Re: getopt long, named argument with multiple values
by dasgar
in thread getopt long, named argument with multiple values
by jmf11
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |