在Perl中遇到if语句有问题,我的if语句不起作用。我做错了什么,因为我正在使用严格和警告模块,但仍然是我的if语句不起作用。
#!/usr/bin/env perl
use strict;
use warnings;
sub Granted
{
print "\n\nAccess Granted\n\n";
}
sub Access
{
print "\n\n\n\n";
sleep 1;
print "Enter your name: ";
my $name = <STDIN>;
sleep 1;
if ("$name" eq "jake")
{
Granted
}
}
Access
答案 0 :(得分:2)
你误解了这个问题。 if
很好,问题是您要与输入进行比较的数据。
当您从文件句柄中读取时,您包含记录分隔符(默认情况下是新行)。
您正在将"jake\n"
与"jake"
进行比较。
另见chomp
。