in reply to Re: Re^2: modifying a line in a file with some restrictions
in thread modifying a line in a file with some restrictions

The text replace would be the last line of the paragraph plus the two or more newlines that delimited the paragraph.
Good catch about the (one!) newline, but I'm puzzled at how you arrive at other the conclusion. He is using /m which doesn't make the dot match newlines.
$ perl -le'(join "\n", qw(foo bar baz)) =~ /(.*\n)/m && print $1' foo $ # note the embedded newline
Yes, perlre is a good suggestion. ;-)

Makeshifts last the longest.

Replies are listed 'Best First'.
Re: Re^4: modifying a line in a file with some restrictions
by BrowserUk (Patriarch) on Jan 14, 2003 at 10:12 UTC

    Usual way, I tried it:). I've never had occasion to make use of paragraph mode, hence my mistaking it for slurp mode, so I tried it out to see what the effect was and the code below was my test suite.

    Test code

    output


    Examine what is said, not who speaks.

    The 7th Rule of perl club is -- pearl clubs are easily damaged. Use a diamond club instead.

      Arrgh! Duh. I missed the $. Of course \n$ requires two consecutive newlines to match, which is only true at the end of the paragraph (and guaranteed to be true there due to the nature of paragraph mode), and since the . doesn't match newlines, the whole expression can only match the last line.

      Makeshifts last the longest.