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.