Ich arbeite an einem Perl-Skript, das nach einem Namen in Hash sucht, gibt die Telefonnummer dieser Person zurück. Genauso wie die Suche nach einem Schlüssel im Hash und die Rückgabe des gefundenen Schlüssels. Andernfalls würde "Name nicht im Buch gefunden" gedruckt werden. Ich kann nicht auf die Elemente zugreifen, wenn ich einen Wert gebe, der im Hash vorhanden ist. Was muss ich ändern, um den Code zu ändern?Das folgende Perl-Skript auf Hashes debuggen
$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";
}
}
Der Ausgang Ich erhalte ist:
output
Enter name to search:
ramu
Name not found in book
Verwenden Sie immer 'strict;' und 'Warnungen verwenden 'all';'. Das Aktivieren von Warnungen hätte dir einen Hinweis gegeben: "Referenz gefunden, wo die Liste in der richtigen Größe erwartet wird" (zeigt auf die Zeile '% phoneNumbers = {...};') – ThisSuitIsBlackNot
Jetzt werden einige Kompilierungsfehler angezeigt. –