I can print information I wish by making a call such as:%myhash = ( 'aNumber.aCharacters' => { 'bNumber.bCharacters' => { 'one' => $valA, 'two' => $valB, 'three' => $valC, 'four' => $valD, 'five' => $valE, 'six' => $valF } } );
What I'd like to be able to do is sort the hash by the first key (aNumber.aCharacters in the first example ... 1.AB in the second print example). If possible, I would then like to sort by the second key ... then I would print/use the rest of the availble information ('one','two',etc...).print $myhash{'1.AB'}{'2.AB'}{'one'}, "\n";
I would like the sort to be 'by number' of the digits before the period. I'm not sure a simple 'cmp' or '<=>' will do the trick ... and I can't figure out what to do. I searched for 'multidimensional hash sorting' on this site, but none of the questions really covered this question.1.AB 121.ABC1 52.ABC2
So, I suppose the short version of this question: how can I sort the above hash using the digits before the period of the first two hash keys? :)
In reply to sorting a complex multidimensional hash by envirodug
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |