Here's a method which doesn't use anything but basic arithmetics. It works, but I consider it pretty much unusable due to speed-(or rather lack thereof)-considerations:
sub round {
my $temp=$_[0];
my $rounded=0;
while ($temp>.5) {
$temp--;
$rounded++;
}
return $rounded;
}
print &round(23.9);