sub round { my $n = shift; int($n + .5 * ($n < 0 ? -1 : 1)); } #### sub round { my ($n, $p) = @_; $p ||= 0; # default to integer rounding int($n * 10**$p + .5 * ($n < 0 ? -1 : 1)) / 10**$p; }