GetOptions 参数的可选第二个值
GetOptions Optional 2nd value to an argument
我想要一个选项,其中第一个值是强制性的,第二个值是可选的。
例如,
./foo --arg mandatory optional
如果我使用 =s{2}
,用户将被强制输入第二个选项。
我不想允许 n 个值...我想强制只允许两个值,第二个值是可选的。
这是 GetOptions
支持的功能吗?
假设您正在使用 Getopt::Long
模块,使用 =s{1,2}
应该可以:
use Getopt::Long;
my @arg;
GetOptions(
"arg=s{1,2}" => \@arg,
);
Getopt::long 的替代方法是使用 Getopt::Std
use strict;
use Getopt::Std;
my %opt;
getopts('a:b:c:;d', \%opt);
所以-d
也许可以用于在代码中打开调试。
选项后面的冒号表示您需要为开关添加一个值
分号后的任何内容;是可选的。
用法:perl myscript.pl -a <value> -b <value> -c <value> [ -d ]
我想要一个选项,其中第一个值是强制性的,第二个值是可选的。
例如,
./foo --arg mandatory optional
如果我使用 =s{2}
,用户将被强制输入第二个选项。
我不想允许 n 个值...我想强制只允许两个值,第二个值是可选的。
这是 GetOptions
支持的功能吗?
假设您正在使用 Getopt::Long
模块,使用 =s{1,2}
应该可以:
use Getopt::Long;
my @arg;
GetOptions(
"arg=s{1,2}" => \@arg,
);
Getopt::long 的替代方法是使用 Getopt::Std
use strict;
use Getopt::Std;
my %opt;
getopts('a:b:c:;d', \%opt);
所以-d
也许可以用于在代码中打开调试。
选项后面的冒号表示您需要为开关添加一个值
分号后的任何内容;是可选的。
用法:perl myscript.pl -a <value> -b <value> -c <value> [ -d ]