BEGIN{open P,__FILE__ or die $!; local $/=chr(125); <P>; $/=undef; (my$t=<P>)=~s/[\r\n]/\n/g; close P; eval $t; die $@ if $@; } #

use File::Find;

sub fixfile {
  my ($file) = @_;
  print "Adjusting $file\n";
  open IN, $file or die $!;
  binmode IN;
  local $/;
  my $data = <IN>;
  close IN or die $!;
  
  rename $file, "$file.bak" or die $!;
  
  $data =~ s/\cM\cJ|\cM|\cJ/\n/g;
  
  open OUT, "> $file" or die $!;
  print OUT $data or die $!;
  close OUT or die $!;
  
  if ($^O eq 'MacOS') {
    MacPerl::SetFileInfo('R*ch', 'TEXT', $file);
  }
  
  unlink "$file.bak" or die $!;
}

print "Adjusting line endings...\n";
#$ENV{PATH} = '/bin';

if (@ARGV == 1 and !-d $ARGV[0]) {
  fixfile($ARGV[0]);
  exit;
}

find(sub {
  $File::Find::prune = 1, return if /^\(.*\)$/;
  /\.(pl|pm|mod|xmod)$/i
    or $_ eq 'platform_convert'
    or return;
  fixfile($_);
}, (@ARGV ? @ARGV : ($^O eq 'MacOS' ? ':' :  '.')));

print "Done.\n";
