我有一个可否定的选项定义为top!。当命令使用此选项时,请说:command_name -top,向用户输出警告其代码片段如下:
if ($args{top}) { print "Warning"; }
但是,当命令使用否定选项时,可以说:command_name -notop,则不会向用户输出相同得警告.是否有办法在两种情况下获得相同的警告?
yhuiod9q1#
是的,您可以确定您的选项(以任何形式)是否已在命令行中使用。由于您使用的是散列选项,因此您可以检查选项exists:
use warnings; use strict; use Getopt::Long qw(GetOptions); my %args; GetOptions(\%args, qw(top!)); print "Warning\n" if exists $args{top};
如果在命令行中使用-top或-notop,则将打印Warning。如果不使用-top或-notop,则不会打印Warning。
-top
-notop
Warning
1条答案
按热度按时间yhuiod9q1#
是的,您可以确定您的选项(以任何形式)是否已在命令行中使用。由于您使用的是散列选项,因此您可以检查选项exists:
如果在命令行中使用
-top
或-notop
,则将打印Warning
。如果不使用-top
或-notop
,则不会打印Warning
。