This is more of an OS issue more than Perl. If you want the same routine to run on both then I'd suggest using the $^O variable and toggling behaviour on the value.
I use Samba
a lot and here's what they say about the issue in one of their Faq's
We get many requests for CRLF/LF format conversion handling by samba.
The problem is that there is no clean way to determine which files
should / could be converted and which MUST not be.
Since Unix and DOS/Windows uses alike will use .txt to represent a
file containing ASCII text we can not reliably use the file extension.
The same applies to the .doc extension.
Samba operates around the premise that we should leave all files uncha
By not implmenting CRLF/LF conversions we can not be guilty of damagin
When someone comes along with a sound implementation that guarrantees
integrity we will jump at the opportunity to implement this feature. U
such time there is no prospect for action on this topic.