Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

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?

Comment on how to sort
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 Marshall (Prior) on Sep 13, 2013 at 13:40 UTC
    I would suggest:
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.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1053920]
Approved by keszler
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (10)
As of 2015-03-05 21:26 GMT
Find Nodes?
    Voting Booth?

    When putting a smiley right before a closing parenthesis, do you:

    Results (154 votes), past polls