Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^6: sort hash of arrays of arrays

by maladav (Initiate)
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.

    RIP Neil Armstrong

Log In?
Username:
Password:

What's my password?
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?