in reply to Re^4: Multiline Regex
in thread Multiline Regex

I don't know to what kind of problems you are referring.

Many beginners accidentally write regexes that match the empty string (I've seen several such regexes that should match floating point numbers, for example).

And for an extra character, I'd use the more versatile code over the code that probably works in this situation.

Your code might be more versatile, but it's rather non-obvious. It took me perhaps 10 to 15 seconds to figure out what it does, because it relies on two non-obvious features (return of a list of captures in list context and . not matching newline) and has a special case for the end of the string.

Maybe a good compromise would be to use split m/\n/, $str, -1;, where you can see at first glance what it (roughly) does, and it relies only on one non-obvious behaviour (negative limits suppress trimming of trailing empty list items).

Replies are listed 'Best First'.
Re^6: Multiline Regex
by ikegami (Patriarch) on Oct 09, 2008 at 10:44 UTC

    return of a list of captures in list context [is a non-obvious feature]

    I always use capturing matches in list context unless I'm forced not to by a combo of /g and multiple captures. It's as basic as it gets to me.