Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

how to sort

by Anonymous Monk
on Sep 13, 2013 at 13:03 UTC ( #1053920=perlquestion: print w/replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

i have three arrays:




they are in sequential order, eg, The thumbnail $arr_thumbnail[5] has a target of $arr_url[5] with a score of $arr_score[5].

I want to sort by "score", while the corresponding thumbnail and url will still be linked to the score. I know it would be very easy if i'm using a sql table, but it seems too overkill , are there any way to sort it without using sql?

Replies are listed 'Best First'.
Re: how to sort
by Corion (Pope) on Sep 13, 2013 at 13:06 UTC

    Sort the indices, not the arrays themselves:

    my @indices= 0..$#arr_score; @indices= sort { $arr_score[ $a ] <=> $arr_score[ $b ] } @indices; for my $i (@indices) { print "$arr_thumbnail[ $i ] - $arr_url[ $i ] - $arr_score[ $i ]\n" +; };

    Alternatively, restructure your data into hashes, and sort that array.

Re: how to sort
by glenn (Scribe) on Sep 13, 2013 at 14:01 UTC
Re: how to sort
by Anonymous Monk on Sep 13, 2013 at 16:31 UTC
    Make one array containing hashrefs with three keys: thumbnail, url, and score. Sort this array. Keeps them all together.
Re: how to sort
by Marshall (Abbot) on Sep 13, 2013 at 13:40 UTC
    I would suggest:

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1053920]
Approved by keszler
[marto]: I can relate to that somewhat, I'm a light sleeper and frequently get woken up by kids doing much the same as your cats
[jedikaiti]: Yea, the kids (& the cats) are good at that
talexb is having a hard time with Windows losing DNS info for Perlmonks when voting. CB works fine. Ugh.
[jedikaiti]: how odd

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (14)
As of 2017-07-25 15:14 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (374 votes). Check out past polls.