perl将字符串与" =="进行比较

时间:2016-11-22 01:36:29

标签: perl

在perl中,应该将两个字符串与" eq"或者" ne"等

我有点惊讶以下代码片段将打印"是"。

$str = "aJohn";
$x = substr($str, 1);
if ($x == "John") {
    print "yes\n";
}

我的perl在Ubuntu上的版本为v5.18.4。

是否存在" =="在两个字符串上产生不同的结果" eq"? 感谢。

1 个答案:

答案 0 :(得分:14)

"foo" == "bar"是真的。 "foo" eq "bar"是假的。

原因是:==数字比较。 "foo""bar"都在数值上评估为0(例如"17foo"以数字方式评估为17);自0 == 0"foo" == "bar"起。这通常不是您正在寻找的操作。