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


in reply to Re^2: Fastest way to sort a list of integers into 0,1,2,3,-3,-2,-1
in thread Fastest way to sort a list of integers into 0,1,2,3,-3,-2,-1

Updated for lists that are all negative, following Discipulus4 in 1229492.

swl_pp2 => sub { my @list = @input; @list = sort {$a<=>$b} @list; if ($list[0] < 0 && $list[-1] >= 0) { my $i = 0; $i++ while ($list[$i]<0); push @list, splice @list, 0, $i; } Compare(\@list,\@output) or die "@list" if DO_CHECK; },