... sort { $h{$b} <=> $h{$a} || $a cmp $b } keys %saved_key; #### my @sorted = sort { $hash{$b} <=> $hash{$a} || $a cmp $b || func($a) <=> func($b) || $other{name}{$b} cmp $other{name}{$a} } @unsorted;