我正在学习perl脚本。我遇到了一个我不明白的例子:
my $num = 50;
if ($num) {
print "True: $num\n";
} else {
print "False: $num\n";
}
这确实非常简单,并打印出数字50,但我不明白的是条件。我期待像if ($num) > 40
之类的东西或任何告诉计算机检查条件的东西。计算机如何将if ($num)
解释为条件?
感谢您的任何解释。
答案 0 :(得分:1)
引用perlsyn
联机帮助页:
真相和虚假
数字0,字符串'0'和'',空列表“()”和“undef”在布尔上下文中都是false。所有其他值都是真的。
这里$num
为真,因为它是一个非零整数,50。
请注意$num > 40
之类的内容实际上并不是特殊的语法!如果条件成立,它将评估为1
(或上限为"1"
,如果不符合,则评估为0
(或空字符串""
)。然后Perl会看到if (1)
或if (0)
并相应处理。
答案 1 :(得分:1)
在Perl 0中,“”(emtpy字符串)将为false。所有其他都是真的。 请注意,如果您检查“0.0”作为条件,它将返回true,因为它不是空字符串。
答案 2 :(得分:-3)
这是一种检查变量是否具有真值的方法。以下计算结果为false,因为mainManuView.scala.html
没有定义的值。
$num