That helps, thanks!
However, I still get an error "Use of uninitialized value in numeric comparison (<=>)" and it seems like the loop never ends...
@AoA[0..$#AoA] = sort { $b->[0] <=> $a->[0] } @AoA[0..$#AoA];
my %seen = ();
my $j = 0;
while ($j < $#AoA) {
my $b = $AoA[$j][1];
my $c = $AoA[$j][2];
if ( ! $seen{$b}++ ) { # $b not seen before
DO STH WITH $b AND $c
$seen{$b}++;
} else { #seen $b before
my ($b, $a) = RESAMPLE;
$AoA[$j][0] = $a;
$AoA[$j][1] = '$b';
@AoA[$j..$#AoA] = sort { $b->[0] <=> $a->[0] } @AoA[$j..$#AoA]
+;
}
}
...any ideas?