По умолчанию Getopt :: Long взаимозаменяемо принимает либо одну (-), либо двойную черту (-). Итак, вы можете просто использовать --r=foo
. Вы получаете какую-либо ошибку, когда пытаетесь это сделать?
use strict;
use warnings;
use Getopt::Long;
my $input = 2;
my $s = 0;
my $r = 3;
GetOptions(
'input=s' => \$input,
's' => \$s,
'r=s' => \$r,
);
print "input=$input\n";
print "s=$s\n";
print "r=$r\n";
Эти примеры командных строк дают одинаковые результаты:
my_program.pl --r=5
my_program.pl --r 5
my_program.pl -r=5
my_program.pl -r 5
input=2
s=0
r=5