... my %name_count; for my $name (values %names){ $name_count{$name}++; } for my $name (sort {$name_count{$a}<=>$name_count{$b}} keys %name_count){ print "$name occurs $name_count{$name} times in the \%names hash\n"; }