perl中真的判断和大多数计算机语言中稍微有些不同。下面标量可以表示不同种类的真值:
1、除””和”0″外,所有的字符串为真。
2、除0外,的有数字为真。
3、所有引用为真。
4、所有未定义的值为假。
为了加深理解,可以看看下面的例子:
0 | #会变成字符串”0″,因此为假。 |
1 | #会变成字符串”1″,因此为真。 |
10-10 | #10减10是零,会变成字符串”0″,因此为假。 |
0.00 | #等于0,会变成字符串”0″,因此为假。 |
“0” | #是字符串”0″,因此为假。 |
” “ | #是空字符串,因此为假。 |
“0.00”+0 | #会成为数字0(由+强制),因此为假。 |
\$a | #是一个指向$a的引用,为真,即使$a为假。 |
undef() | #是一个返回未定义值的函数,为假。 |