Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: sorting array of array references with multiple dereferenced array elements

by andal (Hermit)
on Sep 23, 2014 at 13:33 UTC ( #1101635=note: print w/replies, xml ) Need Help??


in reply to sorting array of array references with multiple dereferenced array elements

First of all, your code sample is incorrect.

Second, if after sorting you are going to get only 1 field from 1 array, then it does not make any sense to sort whole array. Just go through all lines and compare the fields your need with "limit". For example, if you need to find smallest (alphabetically) value of field 0 in list of references to array, then you can use following code

my $limit = $array[0][0]; for(my $i = 1; $i <= $#array; $i++) { my $chk = $array[$i][0]; $limit = $chk if($chk lt $limit); } print "Smallest ID is $limit\n";

If you need to get "smallest" value from field 1, then the following code can be used

my $limit = $array[0]; for(my $i = 1; $i <= $#array; $i++) { my $chk = $array[$i]; $limit = $chk if($chk->[0] lt $limit->[0] || ($chk->[0] eq $limit->[0] && $chk->[1] lt $limit->[1])); } print "Smallest is $limit->[1]\n";

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1101635]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2022-12-03 10:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?