* John Douglas Porter <[EMAIL PROTECTED]> [2003-02-07 14:50]: > Yes, but his example data was text in a here document.
Then add a note about the caveat. > split m,$/, $x, -1; In bizarre cases, $/ might contain regex metacharacters. Don't forget the \Q. > > And popping the last field is dangerous - you don't know if > > the file ends with a newline. > > You DO know it does, if the text came from a here document. Once again; dito note caveat. > Well, I didn't address this part of the problem, but others > have, giving > > join $/, @lines, ''; > > which is sufficient. If you're paranoid, you can do Not if the last line did not end with a record separator. His example data did, but other data might not. > join "\n", @lines, $tail; Unfortunately, that won't work either - regardless of the value of $tail - even undef -, you are joining an extra element onto the string. If you really don't want that last potentially empty element, you'll have to do something like: my $final_recsep = $lines[-1] eq ''; pop @lines if $final_recsep; # ... join $/, @lines, $final_recsep ? '' : (); -- Regards, Aristotle
