Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Answer: How do I sort a hash by its values?

( #138361=categorized answer: print w/ replies, xml ) Need Help??

Q&A > hashes > How do I sort a hash by its values? contributed by tye

Don't make another structure. Just keep both the array and the hash handy. If you want all of the values (sorted), you simply do:     my @values= @hash[@array];
So, if you want the 3rd key and value, you use:
my $key= @array[2]; my $value= $hash{$key};
instead of, using your data structure:
my $key= $array_of_hashes[2]{key}; my $value= $array_of_hashes[2]{value};
or     my( $key, $value )= @{$array_of_hashes[2]}{qw( key value )};
The original array and hash also store the data using quite a bit less memory.

Comment on Answer: How do I sort a hash by its values?
Select or Download Code
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (10)
As of 2014-07-10 22:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (217 votes), past polls