use strict; use warnings; my $lhs = '(\d*?)-(.*?)-(.*)'; my $rhs = '$1.$2.$3'; while ( my $var = ) { chomp $var; $var =~ s/$lhs/$rhs/ee; print $var, "\n"; } __DATA__ 123-456-789 -456-789 789