http://www.perlmonks.org?node_id=971988


in reply to Re: Native newline encoding
in thread Native newline encoding

Interestingly, Encode::Newlines does it as follows:
use constant Native => ( ($^O =~ /^(?:MSWin|cygwin|dos|os2)/) ? CRLF : ($^O =~ /^MacOS/) ? CR : LF );

I guess that this, which some special handling for VMS where the line ending is set by file and EDBCDI systems where line endings are the lesser problem, should cover 99% of the cases.