sub crop_sort { my ($a, $x) = @_; if ($a->[-1] < $x) { $a->[-1] = $x } else { return } for (my $i = @$a - 2; $i >= 0; $i--) { if ($a->[$i] < $a->[$i+1]) { @$a[$i,$i+1] = @$a[$i+1,$i]; } else { last } } }