http://qs321.pair.com?node_id=660764


in reply to How to get Keys from hash having same value?

Hi isha,

If you want to manipulate the simple hash, then your hash will be like this,

my %myhash = ( 1 => 'a', 2=> 'b', 3=> 'a', 4=>'c');

To manipulate this simple hash, you can do like

use strict; my %myhash = ( 1 => 'a', 2=> 'b', 3=> 'a', 4=>'c'); for my $key (keys %myhash){ if($myhash{$key} eq 'a'){ print "KEY:$key\n"; } }

But you created the hash as

my %myhash = { 1 => 'a', 2=> 'b', 3=> 'a', 4=>'c'};

which is anonymous hash reference. To manipulate this hash reference, then you can do like

use strict; my $myhash = { 1 => 'a', 2=> 'b', 3=> 'a', 4=>'c'}; for my $key (keys %{$myhash}){ if(${$myhash}{$key} eq 'a'){ print "KEY:$key\n"; } }

Punitha