in reply to Notation of sort function
Perl's sort comparison function is sort of based on C's sort comparison function.
The only thing that Perl's sort requires is that the function returns a negative number, zero or a positive number. You can use the <=> or cmp operators or any other method you choose.
For example:
$ perl -MList::Util=shuffle -le' my @x = shuffle 1 .. 20; print "@x"; my @y = sort { $a <=> $b } @x; print "@y"; my @z = sort { $a - $b } @x; print "@z" ' 7 10 16 20 14 15 4 18 19 17 6 5 8 9 2 13 1 3 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 $ perl -MList::Util=shuffle -le' my @x = shuffle -10 .. 10; print "@x"; my @y = sort { $a <=> $b } @x; print "@y"; my @z = sort { $a - $b } @x; print "@z" ' -1 -7 -4 1 4 -9 10 -3 0 -8 -6 -2 8 -10 5 6 9 -5 2 3 7 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
|
|---|