i have a hash and want to simply check if items in an array are present in the hash. all of the items in the array should be in the hash, but i'm only finding 1873/ 1948.
can anyone suggest how I can find which keys in the hash are not matching to values in the array? The approach i have tried seems to just print everything many times over!
Kind regards
here is my code:
my %hash = map {$pids[$_] => $location_topology[$_]} 0 .. $#pids; print "size of hash: " . keys( %hash ) . ".\n"; #print @all_ids; #print "@all_ids\n"; while ( my ($key, $value) = each(%hash) ) { for (my $i=0; $i<@all_ids; $i++) { if ($all_ids[$i] eq $key) { print "$key => $value => $all_gc3s[$i]\n"; } # if ($all_ids[$i] ne $key) { #print "$key\n"; # } }
In reply to stuck in a hash by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |