xxArwaxx has asked for the wisdom of the Perl Monks concerning the following question:
Hello there! this is Arwa a newbie in Perl, I'v just started studying it on my own couple of months ago! so here I'm learning about hashes and couple of days ago I created a scenario where there's this fixed set of key-value pairs where I want to acquire the name from the user through STDIN and then compare that name with the set of keys I've within the hash and finally print the corresponding value(which is the family name for that person/key)! what happens actually when I run this script is nothing! so I was thinking if the comparing or the loop has already took place or not! so here's my code, I'd really love to hear what do you think of this guys!
my %family_name = ( "Alis" => "Williams", "Sara" => "McAwesome", "Serena" => "Anderson", ); my $key = keys %family_name; my $value = values %family_name; print "Enter a name to print it's family name : \n"; chomp(my $name= <STDIN>); foreach my $key1 (sort keys %family_name) { if ($name eq $key1) { print "$key1 is already there, and its family name is $family_name{$ +key1} "; } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Comparing Hash's key to an <STDIN> and print it's corresponding value
by kennethk (Abbot) on Apr 05, 2011 at 18:22 UTC | |
by xxArwaxx (Novice) on Apr 07, 2011 at 12:55 UTC | |
Re: Comparing Hash's key to an <STDIN> and print it's corresponding value
by wind (Priest) on Apr 05, 2011 at 18:25 UTC | |
by xxArwaxx (Novice) on Apr 07, 2011 at 13:04 UTC | |
Re: Comparing Hash's key to an <STDIN> and print it's corresponding value
by biohisham (Priest) on Apr 05, 2011 at 20:43 UTC | |
by xxArwaxx (Novice) on Apr 07, 2011 at 13:32 UTC |