in reply to Cross Platform end of Line characters
(The return by refence is just there to avoid copying large files more times than is needed)sub slurp { my $file = shift or return undef; local $/ = undef; open( FOO, $file ) or return undef; my $buffer = <FOO>; close FOO; return \$buffer; }
And we are done. The important bit here is (?:\015\012|\015|\012), which works everywhere. In fact, it will even work for "broken" files that somehow got multiple types of newlines in a single file. And note the order of the three newlines IS important.my $content = slurp( $file ) or die "Failed to load file"; my @lines = split /(?:\015\012|\015|\012)/, $$content;
$$content =~ s/(?:\015\012|\015|\012)/\n/g;
|
|---|