2

何らかの理由で、私の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と評価されます。厳密な使用と警告の使用は、私が何か間違ったことをしていることを教えてくれないので、もしあれば、私は何ができますか?

4

1 に答える 1

8

を使用する必要がありますchomp。これにより、ユーザーが「Enter」と入力したときに挿入された入力文字列の末尾から改行が削除されます。

$syl = <>;
chomp $syl;
#.... etc...
于 2011-06-11T04:17:18.570 に答える