$string = " blah @QUERY meaningful data meaningful data ... etc... @ENDQUERY @QUERY2 more data more data ... etc ... @ENDQUERY2"; print "string1: $string\n\n"; $string =~ s[(?:\r?\n\s*)+(\@QUERY)][\n$1]g; print "string2: $string\n\n";' #### string1: blah meaningful data meaningful data ... etc... more data more data ... etc ... string2: blah meaningful data meaningful data ... etc... more data more data ... etc ... #### Using perl 5.6.1 unless otherwise noted. Apache 1.3.27 unless otherwise noted. Redhat 7.1 unless otherwise noted.