在perl中,应该将两个字符串与" eq"或者" ne"等
我有点惊讶以下代码片段将打印"是"。
$str = "aJohn";
$x = substr($str, 1);
if ($x == "John") {
print "yes\n";
}
我的perl在Ubuntu上的版本为v5.18.4。
是否存在" =="在两个字符串上产生不同的结果" eq"? 感谢。
答案 0 :(得分:14)
"foo" == "bar"
是真的。 "foo" eq "bar"
是假的。
原因是:==
是数字比较。 "foo"
和"bar"
都在数值上评估为0
(例如"17foo"
以数字方式评估为17
);自0 == 0
,"foo" == "bar"
起。这通常不是您正在寻找的操作。