in reply to Newlines: reading files that were created on other platforms
I usually do something like the regexes you showed in #3
If you are worried about huge file sizes (or you have to handle a stream), you can read a file a byte/char at a time until you find a run of either of your two regexes and then process the line up to that point.
In Section
Seekers of Perl Wisdom