use warnings; use strict; for (qw($100000000.00 $100.00 $1000.00)) { my $value = reverse $_; $value =~ s/(\d{3})(?=\d)/$1,/g; $value = reverse $value; print "$_ => $value\n"; } #### $100000000.00 => $100,000,000.00 $100.00 => $100.00 $1000.00 => $1,000.00