http://www.perlmonks.org?node_id=544494


in reply to Re^2: Sorting large sets of geometric coordinates
in thread Sorting large sets of geometric coordinates

It handles ties in $row_ly. <=> returns 0 if the two things it compares are equal. For example, if the compare function were to be called to compare the following two rows,
((5.0 0.4) (48.0 0.5)) ((48.1 0.4) (99.0 0.5))
The first <=> would return 0 since $a->[1] (0.4) and $b->[1] (0.4) are both equal. It would then go on to compare $a->[0] (5.0) with $b->[0] (48.1)

Update: OOPS! Copy and paste error. The code should read:

my @sorted_data = sort { $a->[1] <=> $b->[1] || $a->[0] <=> $b->[0] } @unsorted_data;

Nod to BrowserUk for the head's up.