my @keys = grep { $hash{$_} eq 'value' }keys %hash; #### my %value; push @{ $value{ $hash{$_} } }, $_ for keys %hash; for ( keys %value ) { if ( @{ $value{$_} } > 1 ) { print "$_ :\n"; print "\t$_\n" for @{ $value{$_} }; } }