【发布时间】:2017-01-07 02:22:51
【问题描述】:
我正在编写一个 perl 脚本,该脚本在哈希中搜索姓名会返回该人的电话号码。就像在哈希中寻找一个键并返回找到的键的值一样。否则它将打印“书中未找到的名称”。当我给出哈希中存在的值时,我无法访问这些元素。我需要修改什么代码?
$namesearch="";
%phoneNumbers={"ramu"=>123,"rishi"=>456,"sai"=>789};
while($namesearch ne "END")
{
print("Enter name to search:\n");
$namesearch=<STDIN>;
chomp $namesearch;
if(exists($phoneNumbers{$namesearch}))
{
print "The phone Number of $namesearch is: ($phoneNumbers{$namesearch})\n";
}
elsif($namesearch eq "END")
{
last;
}
else
{
print "Name not found in book\n";
}
}
我得到的输出是:
output
Enter name to search:
ramu
Name not found in book
【问题讨论】:
-
总是
use strict;和use warnings 'all';。打开警告会给你一个线索:“在预期的偶数列表中找到参考”(指向%phoneNumbers={...};行) -
现在显示一些编译错误。