Perl简单比较== vs eq

eal*_*eon 6 perl

关于Perl中字符串比较的接受答案 与"eq"vs"=="

它说 First, eq is for comparing strings; == is for comparing numbers.

"==进行数字比较:它将两个参数都转换为数字然后进行比较."
"eq进行字符串比较:两个参数必须在词汇上匹配(区分大小写)"

您只能使用eq来比较字符串,但
eq AND == 都可用于比较数字

数字是字符串的子集,所以我只是不明白为什么你会使用==

有没有理由为什么你想使用==来比较数值而不仅仅是使用eq?

jh3*_*314 14

以下是您可能需要的原因示例==:

$a = "3.0";
print "eq" if $a eq "3"; # this will not print
print "==" if $a == 3;   # this will print
Run Code Online (Sandbox Code Playgroud)

3.0在数值上等于3,所以如果你想要它们相等,请使用==.如果你想进行字符串比较,那么"3.0"不等于"3",所以在这种情况下你会使用eq.最后,==是比较便宜的操作eq.