字符串比较神秘失败

时间:2012-09-08 09:56:24

标签: perl

  

可能重复:
  How do I compare two strings in Perl?

为什么这个脚本总是返回“你赢了”?

print "Choose heads or tails :\n";
$answer = <STDIN>;
chomp $answer;

if( $answer == "heads" ) {
    print "You won\n";
}
else {
    print "Moron! You lost.\n"
}

同样的代码应该是什么?

1 个答案:

答案 0 :(得分:14)

Perl中的字符串比较使用eq而不是==。尝试:

if ($answer eq "heads")

如果您要比较数字,请使用==

perlmonks.

的帖子中详细了解相关信息

在学习Perl时,我建议您使用use strict;use warnings;启动脚本。这样你就会收到这种操作的警告。它还可以帮助您处理拼写错误的变量。