in reply to Re: Parsing multiline string line by line
in thread Parsing multiline string line by line

Note that this will remove LF in the end of the strings, but not CR, so if newlines in DOS format you will have CR in the end of the line, and it wouldn't work with old Mac strings at all. I personally prefer the following variation:

for (split /^/, $str) { ... }

It works just like while (<>)

Updated: fixed, thanks to ikegami

Replies are listed 'Best First'.
Re^3: Parsing multiline string line by line
by ikegami (Patriarch) on Feb 19, 2009 at 14:40 UTC

    split /\n/ and split /^/ both run fine on Windows and old Macs, for two different reasons

    In Windows, the CRLF gets converted to LF on read, so there's no CR in the string to split.

    In old Macs, \n is redefined to CR.

    If you meant there would be problems parsing files from one system on a different system, you need to add unix files to the list.

    [split /^/] works just like while (<>)

    Indeed. It keeps the trailing newlines, and it keeps trailing blanks lines. split /\n/ does neither.