#create list of hashes my @allhashes = ( \%hash1, \%hash2, \%hash3 ); #note the following assumes all keys exist and are the same #keys are not sorted in this example foreach my $key (keys %hash1) { print "key $key\n"; foreach my $hash (@allhashes) { print "Value: $hash->{$key}\n"; } }