in reply to Comparing Hash's key to an <STDIN> and print it's corresponding value
user@localhost:~/sandbox$ perl script.pl Enter a name to print it's family name : Alis Alis is already there, and its family name is Williams user@localhost: +~/sandbox$
How are you attempting to interact with it?
On a side note, hashes are wonderful tools, but you are not using them to their greatest advantage. To quote a great man:
Doing linear scans over an associative array is like trying to club someone to death with a loaded Uzi. -- TimToady
Rather than what you've written, I would use code more like:
#!/usr/bin/perl -w use strict; my %family_name = ( "Alis" => "Williams", "Sara" => "McAwesome", "Serena" => "Anderson", ); print "Enter a name to print it's family name : \n"; chomp(my $name= <STDIN>); if (exists $family_name{$name}) { print "$name is already there, and its family name is $family_name +{$name} "; } else { print "I don't know anyone by the name $name\n"; }
See exists for info on the exists function and perldata for info on what data types (including hashes) Perl has to offer.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Comparing Hash's key to an <STDIN> and print it's corresponding value
by xxArwaxx (Novice) on Apr 07, 2011 at 12:55 UTC |