perl - 为什么 Perl 认为 `1 and 0` 是真的?

标签 perl boolean

这是示例。出于某种奇怪的原因,Perl 认为 1 and 0是一个真实的值。为什么?

$ perl -e '$x = 1 and 0; print $x;'
1

最佳答案

因为and的优先级和 &&不同:
$x = 1 and 0就像 ($x = 1) and 0 , 而 $x = 1 && 0就像 $x = (1 && 0) .

perlop(1) .

关于perl - 为什么 Perl 认为 `1 and 0` 是真的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19325887/

相关文章:

java - 我的 Java 中的内联 Perl... Inline::Java::PerlInterpreter 不工作?

mysql - perl 和 MySQL 中的互斥量

python - 检查变量是否是一对类型? (字符串或列表)

swift - viewdidload 中的 nsuserdefaults 禁用隐藏 View

c# - 在 If 语句中评估 Bool 错误

perl - 使用 ne 比较 perl 中的两个哈希值

perl - 是否可以在 Perl 中将 'é' 打印为 '%C3%A9' ?

linux - Perl:如何在 Linux 中从 .txt 文件添加用户

javascript - 翻转 boolean 变量的简写

python - Optparse Python 设置 boolean 值