sort sort_sub, keys(%a_hash); # Sort allows you to use a subroutine to evaluate the keys. # See perldoc -f sort. sub sort_sub { return($a_hash{$a} cmp $a_hash{$b} } # -- Assumes that the values in the hash are character strings; use '<=>' if they are not