【发布时间】:2011-06-11 04:13:06
【问题描述】:
由于某种原因,我的 if 语句没有按我希望的方式工作。
use strict;
use warnings;
my $syl;
my $name = "Chris";
print "Enter my name\n";
$syl = <>;
if ($syl eq $name)
{
print "You entered my name!\n";
}
else
{
print "That's not my name!\n";
}
看起来它应该适用于我阅读过的所有教程,但是当我输入“Chris”时,无论是大写、小写、带或不带引号,它的计算结果总是为 false。使用严格和使用警告不会告诉我我做错了什么,如果有的话,我能做什么?
【问题讨论】:
-
调试时,打印值...
print "That ($syl) is not my name; ($name) is my name!\n";。当您在输出中看到意外的换行符时,您就会很清楚出了什么问题。这是用任何语言进行调试的基本技术;当出现问题时,打印错误值(和预期值)。
标签: perl if-statement scalar