Numerically Sort a Hash by Values in Descending Order
sub desc_sort_salary {
$salary{$b} <=> $salary{$a}; # Reverse $a and $b
}
%salary = (
"P" => 10,
"S" => 12,
"C" => 5,
"S" => 6,
"L" => 11,
"D" => 8,
);
foreach $key (sort desc_sort_salary(keys(%salary))) {
printf "\t% -20s%5d\n", $key, $salary{$key};
}
Related examples in the same category