Detrail   [plain text]


#!/usr/bin/perl

# This is a script for removing trailing whitespace from lines in files that
# are listed on the command line.

# This subroutine does the work for one file.

sub detrail {
my($file) = $_[0];
my($changed) = 0;
open(IN, "$file") || die "Can't open $file for input";
@lines = <IN>;
close(IN);
foreach (@lines)
  {
  if (/\s+\n$/)
    {
    s/\s+\n$/\n/;
    $changed = 1;
    }
  }
if ($changed)
  {
  open(OUT, ">$file") || die "Can't open $file for output";
  print OUT @lines;
  close(OUT);
  }
}

# This is the main program

$, = "";   # Output field separator
for ($i = 0; $i < @ARGV; $i++) { &detrail($ARGV[$i]); }

# End