http://qs321.pair.com?node_id=1062160

monkini has asked for the wisdom of the Perl Monks concerning the following question:

I have an array of arrays:

```@AoA = (
[ 0.5, "b1", "c0" ],
[ 0.4, "b1", "c1" ],
[ 0.7, "b2", "c2" ],
[ 0.3, "b3", "c3" ],
[ 0.6, "b3", "c4" ],
);
[download]```

I would like to sort it on the 1st column (in descending order), and analyze sorted array row by row - if value in the middle column (\$b) is duplicate, resample the elements in the row, then sort the remaining rows in array according to the values in 1st column (including the current one) and analyze as before - until all \$b's are unique.

How do I sort over the remaining part of array?

```my @sorted =  sort @AoA; #sort on \$a
my %seen = ();
my \$j = 0;
while (\$j < \$#sorted) {
my \$var = shift;
my \$b = \$var;
my \$c = \$var;
if ( ! \$seen{\$b}++ ) { # \$b not seen before
DO STH WITH \$b AND \$c
\$seen{\$b}++;
} else { #seen \$b before
my (\$b, \$a) = RESAMPLE;
# sort remaining array, from now on... and proceed analyzing l
+ine by line
}
}
[download]```