Numerically Sort a Hash by Values in Descending Order : sort « Hash « Perl

Home
Perl
1.Array
2.CGI
3.Class
4.Data Type
5.Database
6.File
7.GUI
8.Hash
9.Language Basics
10.Network
11.Regular Expression
12.Report
13.Statement
14.String
15.Subroutine
16.System Functions
17.Win32
18.XML
Perl » Hash » sort 
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
1.Hash Value Sorting
2.Numerically Sort a Hash by Values in Ascending Order
3.Sort Hash by Keys Numerically
4.Sort Hash by Keys in Reverse Order
5.Sort keys in a hash
6.Sort values in a hash
7.Sorting a Hash
8.Ordered hash
9.Using customized function to sort keys in a hash
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.