my $bob = 123.456 print &my_format($bob) . "\n"; #### $bob = 123.4567; print &print_fixed($bob). "\n"; exit 0; sub print_fixed { my $num = shift; my $ipart = int($num); my $dpart = sprintf("%.3f",$num); my ($frac_part) = $dpart=~ /\.(\S*)/; return $ipart . $frac_part; }