【发布时间】:2014-11-14 09:08:28
【问题描述】:
我是新来的,对编程很陌生。不管是好是坏,我决定使用 Perl 作为一种闯入编码的方式。
我的问题涉及以下 Perl 代码:
my $name;
my %phonenumbers = (
"Gary" => "0001",
"Ian" => "0002",
"Nick" => "0003",
);
my $numbers = reverse $name;
print "Whose phone number do you want?\n";
my $selection = <STDIN>;
while ( $selection ne $phonenumbers{$name} ) {
chomp;
print "$_ is not in my database. Try another name";
} else {
print "$_: $phonenumbers{$name}";
}
我希望它留在循环中,并在给出不正确的名称时要求正确的名称。否则我希望它显示正确的电话号码。现在无论如何它都保持在循环中。
我尝试使用 if 和 until 代替,但没有运气。有人可以解释我缺少什么吗?
【问题讨论】:
-
您只检查了一次
<STDIN>- 您需要再次查询。 -
阅读后立即选择,对于初学者
标签: perl hash while-loop