in reply to Re: double sort HoH by value/key
in thread double sort HoH by value/key

Thanks, that was it. I guess I still don't understand why, but at least I have a working example to go off of. The hash of hashes concept is a little mind boggling at first. (the only reason I was using the printf was because abstracted out this example from some other code I was working on). Much appreciated.

Replies are listed 'Best First'.
Re^3: double sort HoH by value/key
by johngg (Canon) on Nov 21, 2007 at 22:53 UTC
    I guess I still don't understand why ...

    Perhaps this explanation will help. You passed each key of %HoH into your sort routine (where they are accessed as $a and $b) in order to get those keys back out in a particular order. Your second term, the keys ascending alphabetically caused you no problem. The first term, the value keyed by 'value2' in the sub-hash numerically descending, required a little more work. You needed to bear in mind that since the keys of %HoH were passed into to sort, when accessing %HoH inside the routine, you needed to use $a and $b in exactly the same place you would normally use a key into %HoH.

    If you find that your mind has become somewhat boggled by data structures, especially ones that you have built programmatically, I recommend that you use Data::Dumper to examine them. It gives a nice human-readable representation of the structure which is, usefully, valid Perl code.

    I hope this helps your understanding but if you still have questions please ask further.

    Cheers,

    JohnGG