Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2018-05-24 06:38 GMT
Find Nodes?
    Voting Booth?