在Perl的Getopt::Long 2.39版本中,我可以使用
为了表明如果我使用
我该如何实现旧有的行为?
帮帮我!
use Getopt::Long qw( :config gnu_getopt );
GetOptions(
\my %opts,
"codon-view|c:20", # Optional value, default 20
"consensus|C:50",
...
)
为了表明如果我使用
-c
,默认值将会是20并放在%opts
哈希表中的codon-view
键下,当使用-c
但没有显式指定它的值时。另一方面,如果没有提供-c
或--codon-view
,则在%opts
哈希表中不会存储任何值。
在2.48版本中,这种方法已经不再适用了,在Getopt::Long文档中也没有找到相关说明。
$ perl -E'
use Getopt::Long qw( :config gnu_getopt );
say $Getopt::Long::VERSION;
GetOptions(\my %opts, "codon-view|c:20");
say $opts{"codon-view"} // "[undef]"
' -- -c
2.39
20
$ perl -E'
use Getopt::Long qw( :config gnu_getopt );
say $Getopt::Long::VERSION;
GetOptions(\my %opts, "codon-view|c:20");
say $opts{"codon-view"} // "[undef]"
' -- -c
2.48
[undef]
我该如何实现旧有的行为?
帮帮我!
tag=s
或tag:i
而不是tag:20
的选项规范。 - ThisSuitIsBlackNot-c
或--codon-view
而没有值时,行为才会在2.39和2.48之间发生变化。此外,在FindOption中也有一些更改,这些更改涉及到gnu_getopt
在这两个版本之间的差异。 - rocky: number
。 - ikegami