use Lingua::EN::Numbers qw( num2en ); my $en = num2en(313721.23); my ($pounds, $pence) = split(/ point /, $en); if ($pounds eq 'One') { $pounds .= ' pound'; } else $pounds .= ' pounds'; } $pence ||= 'Zero'; $pence .= ' pence'; $en = "$pounds and $pence"; print("$en\n")