in reply to Removing Enter marks between Lines

It seems to work as expected and, as far as I can tell, as you wish for me:

use strict; my $text = <<TEXT; <p>Before new line. After new line.</p> TEXT print "Before: |$text|\n"; $text=~s#<p>(.+?)<\/p>#"<p>".&enter($1)."<\/p>"#gsie; print "After: |$text|\n"; sub enter { my $new; ($new)=$1; $new=~s/\n//gsi; return $new; }

Prints:

Before: |<p>Before new line. After new line.</p> | After: |<p>Before new line.After new line.</p> |

If that is not what you want then perhaps you should provide your own sample and expected output?

That aside, there are a few things worth mentioning:

The sub would be better written:

sub enter { my $new = shift; $new=~s/\n\s*/ /gi; return $new; }

Note the alteration to the regex so that a space is inserted in place of a new line, but that leading white space on the line is removed:

After: |<p>Before new line. After new line.</p> |

DWIM is Perl's answer to Gödel