#!perl use strict; # create test file open OUT,'>','line.txt' or die; binmode OUT; print OUT "Windows".chr(13).chr(10); print OUT "Unix".chr(10); print OUT "Windows".chr(13).chr(10); open OUT,'>','copy.txt' or die; binmode OUT; open IN,'<','line.txt' or die; binmode IN; while (){ my ($line,$eol) = split /([\015\012]+)/,$_; # process $line print OUT $line.$eol; }