use warnings; use strict; my $line = qq{Test #1 'Show me Waynes world','Jennys Basketball shoes'\n}; print "< $line"; $line =~ s/(['"]).+?(['"])/$1SSS$2/g; print "> $line"; $line = qq{Test #2 'Show me Wayne\\'s world','Jenny\\'s Basketball shoes'\n}; print "< $line"; $line =~ s/(['"]) (?: (?! (? $line"; #### < Test #1 'Show me Waynes world','Jennys Basketball shoes' > Test #1 'SSS','SSS' < Test #2 'Show me Wayne\'s world','Jenny\'s Basketball shoes' > Test #2 'SSS','SSS'