我有来自bash脚本的输入ARGV值(是)或(否)。 我需要(是)或(否)等于数值(1)或(0)和输出 基于该ARGV值作为数值。
我的尝试是让这样的东西起作用:script.pl yes&
my $VAR1= $ARGV[0];
my $yes=1;
my $no=0;
print $VAR1;
打印输出为:1(不是单词是)
对不起我的例子显然很傻,因为$ VAR1显然是我用作ARG值的东西。所以我要做的就是拿一个ARGV并根据预设值列表进行检查,然后输出该预设的值。
谢谢,
**我是一个perl noob。如果我没有正确解释,请向我道歉。
答案 0 :(得分:3)
所以你想根据另一个值查找一个值。为此,哈希通常是使用的工具。
my %yes_no_to_bool = (
yes => 1,
no => 0,
);
@ARGV == 1
or die("usage\n");
my ($arg) = @ARGV;
exists($yes_no_to_bool{$arg})
or die("usage\n");
my $bool = $yes_no_to_bool{$arg};