in reply to Classic Sort Algorithm

#!/usr/bin/perl use strict; use warnings; my @x = map {$_->[0]} sort {$b->[2] <=> $a->[2] || $a->[1] <=> $b->[1] } map {[$_, split]} grep {/\S/} <DATA>; for my $i (0 .. $#x) { print $x[$i]; print "\n" if ($i + 1) % 3 == 0; } __DATA__ 1.000 64.103 2840.0 1.000 42.735 2840.0 1.000 32.051 2840.0 1.050 64.103 3280.0 1.050 42.735 3280.0 1.050 32.051 3280.0 1.100 64.103 3720.0 1.100 42.735 3720.0 1.100 32.051 3720.0

prints

1.000 64.103 2840.0 1.050 64.103 3280.0 1.100 64.103 3720.0 1.000 42.735 2840.0 1.050 42.735 3280.0 1.100 42.735 3720.0 1.000 32.051 2840.0 1.050 32.051 3280.0 1.100 32.051 3720.0