如果 GetOptions
中默认启用了标志,是否有办法关闭它们?
这就是我想要的:
-verbose 0
关闭详细程度-verbose 1
打开详细程度-verbose
打开详细程度
当前代码(来自 Getopt::Long ):
use Getopt::Long;
my $data = "file.dat";
my $length = 24;
my $verbose = 1;
GetOptions ("length=i" => \$length, # numeric
"file=s" => \$data, # string
"verbose" => \$verbose) # flag
or die("Error in command line arguments\n");
最佳答案
这不是你描述的方式,而是 documentation描述了由感叹号指定的“可否定选项”,可让您执行此操作:
my $verbose = 1; # default on
GetOptions ('verbose!' => \$verbose);
这允许--verbose
(将其设置为1)或--noverbose
(将其设置为0)。
关于perl - 从 Getopt::Long 操作 GetOptions 中的标志类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131686/