Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Sorting hash keys by sub hash values

by ZlR (Chaplain)
on Mar 31, 2010 at 13:26 UTC ( #832043=perlquestion: print w/replies, xml ) Need Help??
ZlR has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks,

I know i'm being a little lazy here, but i'm still working on cleaning my HoHoH script and it makes my head hurt !

I now have the following hash :

'card' => { 'mac1' => { 'fa' => ' +9A', 'port' => + '0' }, 'mac2' => { 'fa' => ' +8A', 'port' => + '0' } }

I want to sort the keys according to val, ie get : (item2, item1) since 8A < 9A

I've done that before but can find it back, i'm sure you have a gazillion ways of doing it :)

Replies are listed 'Best First'.
Re: Sorting hash keys by sub hash values
by Corion (Pope) on Mar 31, 2010 at 13:28 UTC
      ok, ok, so it wasn't so difficult to find a way to do it :
      my $ref = $hash->{'card'} ; my @keys = sort { hex $ref->{$a}{'fa'} <=> hex $ref->{$b}{'fa'} } key +s % { $ref } ;
      Thanks !
Re: Sorting hash keys by sub hash values
by moritz (Cardinal) on Mar 31, 2010 at 13:28 UTC
    See perlfaq4 for answers to very similar problems.
    Perl 6 - links to (nearly) everything that is Perl 6.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://832043]
Approved by moritz
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (13)
As of 2016-10-21 16:22 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (289 votes). Check out past polls.