Priority: 3rd 1st 2nd 4th
((1.0 0.1)(99.0 0.2))
####
my @coordinates_unsorted;
while ( ) {
push @coordinates_unsorted, [ m/([\d.]+)/g ];
}
my( @coordinates_sorted ) =
sort {
$a->[1] <=> $b->[1]
or $a->[2] <=> $b->[2]
or $a->[0] <=> $b->[0]
or $a->[3] <=> $b->[3]
} @coordinates_unsorted;
foreach my $coordinate_ref ( @coordinates_sorted ) {
printf "((%2.1f %2.1f) (%2.1f %2.1f))\n", @{$coordinate_ref};
}
##
##
my( @coordinates_sorted ) =
map{
sprintf "((%2.1f %2.1f) (%2.1f %2.1f))\n", @{$_}
}
sort {
$a->[1] <=> $b->[1]
or $a->[2] <=> $b->[2]
or $a->[0] <=> $b->[0]
or $a->[3] <=> $b->[3]
}
map{
[ m/([\d.]+)/g ]
}
;
{
local $, = "\n";
print @coordinates_sorted;
}