"be consistent" PerlMonks

### Re^6: sort hash of arrays of arrays

 on Oct 31, 2012 at 16:31 UTC ( #1001704=note: print w/replies, xml ) Need Help??

in reply to Re^5: sort hash of arrays of arrays
in thread sort hash of arrays of arrays

It's awesome, thank you!
How does it work? Specifically, why does it need the for keys %hash part? How could I sort on the innermost elements (e.g. [26, 27, 28] to get [28, 27, 26]) using the same method?
Thanks very much.

Replies are listed 'Best First'.
Re^7: sort hash of arrays of arrays
by BrowserUk (Pope) on Oct 31, 2012 at 16:44 UTC
How does it work? Specifically, why does it need the "for keys %hash" part?

Because, as I said, you need to do one sort for each key.

(I don't know how better to explain it than that. )

How could I sort on the innermost elements (e.g. [26, 27, 28] to get [28, 27, 26]) using the same method?

Now you need to do one sort for each sub array, for each key, so you need nested loops:

```for my \$key ( keys %hash ) {
for my \$aref ( @{ \$hash{ \$key } } ) {
@{ \$aref } = sort { \$b <=> \$a } @{ \$aref };
}
}
;;

pp \%hash;;
{
1 => [[28, 27, 26], [18, 17, 16], [8, 7, 6], [3, 2, 1]],
2 => [[29, 28, 27], [19, 18, 17], [9, 8, 7], [4, 3, 2]],
3 => [[30, 29, 28], [20, 19, 18], [10, 9, 8], [5, 4, 3]],
4 => [[31, 30, 29], [21, 20, 19], [11, 10, 9], [6, 5, 4]],
}

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Create A New User
Node Status?
node history
Node Type: note [id://1001704]
help
Chatterbox?
 [choroba]: I'm curious which part of your signature do they find offensive. [LanX]: they? [LanX]: click! [choroba]: they [LanX]: why do you think it's more than one person? [Your Mother]: Because we are LEGION! Fix YOUR SIG SIG BLOCK!!!! [Your Mother]: Forgot to sign in as my sockpuppet, how embarrassing! [1nickt]: pryrt I am creating a Type to check valid user IDs, which must be a whole number greater than or equal to zero. I would like to disallow 1.0 but because of this behaviour, by the time it is checked by the constraint, it *is* an Int. [LanX]: should this be considered? Re: Parsing .txt into arrays

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (14)
As of 2017-05-24 20:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My favorite model of computation is ...

Results (186 votes). Check out past polls.