以下是样本。出于某种奇怪的原因,Perl认为1 and 0
是真正的价值。为什么呢?
$ perl -e '$x = 1 and 0; print $x;'
1
答案 0 :(得分:12)
答案 1 :(得分:11)
示例中的运算符优先级为
perl -e '($x = 1) and 0; print $x;'
而你想要的是:
perl -e '$x = (1 and 0); print $x;'
或
perl -e '$x = 1 && 0; print $x;'
答案 2 :(得分:6)
它没有:
$ perl -e '$x = (1 and 0); print $x;'
0