while ($string =~ qr(...)) { $string = qq($1'$2); } #### $string = join('_', map { ( $_ && ( $_ !~ qr(') ) ) ? qq('$_) : $_ } split( q{_}, $string ) );