sub translate_take2 { my $number = shift; my $output = ""; for (my $order = 1000; $order >= 1; $order /= 10) { my $howmany = int($number / $order); if ($howmany != 0) { # No need to say "one tens" $output .= "$numbers{$howmany} " if ($order != 10 or $howmany != 1); # No need to say how many "ones" there are $output .= "$numbers{$order} " if ($order != 1); } $number %= $order; } return $output; }