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> |
|
|---|