$_ = "mypic.jpg.jpg"; if (/^(.*)(\..*)/s) { my($p, $s) = ($1, $2); $p=~y/./_/; $_ = $p.$s; } print $_, $/; #### $_ = "mypic.jpg.jpg"; /^(.*)\./s and substr($_, 0, $+[1])=~s/\./_/g; print $_, $/;