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

#!/usr/bin/perl -w # Usage: dos2unix <DIRECTORY> $directory = shift @ARGV; $directory = '.' unless $directory; chdir( $directory ) || die "Unable to enter directory '$directory'.\n$ +!\n"; @files = <*.data>; $| = 1; $linesFixed = 0; foreach( @files ) { print "$_\t"; open(INPUT, "<$_"); rename( $_, "$_.bak") || die "Unable to rename $_\n$!\n"; open(OUTPUT, ">$_"); while(<INPUT>) { if ( s/\r\n/\n/ ) { $linesFixed++; } print OUTPUT; } } continue { print "($linesFixed)\n"; $linesFixed = 0; close INPUT; close OUTPUT; }