sub dump_hash_maker { my ($ltrStart, $size) = @_; my $stop = chr (ord($ltrStart)+$size); my @letters; push @letters, $_ for ($ltrStart..$stop); my %hash = map {(shift @letters)=>$_} (1..$size) ; return %hash; } my %hash1 = dump_hash_maker('A',4); my %hash2 = dump_hash_maker('D',7); my %hash3 = dump_hash_maker('J',13); my @allkeys = (); my (%intermediate); push @allkeys,(keys %hash1); push @allkeys,(keys %hash2); push @allkeys,(keys %hash3); for(@allkeys) { $intermediate{$_}++; } for(keys %intermediate) {print $_ if $intermediate{$_} > 1}; # prints JD