# Non-obfuscated form, using tie(): use Interpolation; my %commify; tie %commify, Interpolation => sub { local $_ = scalar reverse shift; s/(\d+\.)|(\d\d\d)(?=\d)/$1 || "$2,"/ge; return scalar reverse $_; }; $a = 12345.21; $b = 1357.98; print "$a*$b with commas inserted looks like '$commify{$a*$b}'.\n";