my @stuff = qw/ 9 -1 -3 hi 0 bye 5 10 /; my $descending = 1; my @ar; if ( $descending ) { @ar = sort { num_or_str($b, $a) } @stuff; } else { @ar = sort { num_or_str($a, $b) } @stuff; }