| 1 |
#!/usr/bin/perl
|
| 2 |
|
| 3 |
# This is a script for removing trailing whitespace from lines in files that
|
| 4 |
# are listed on the command line.
|
| 5 |
|
| 6 |
# This subroutine does the work for one file.
|
| 7 |
|
| 8 |
sub detrail {
|
| 9 |
my($file) = $_[0];
|
| 10 |
my($changed) = 0;
|
| 11 |
open(IN, "$file") || die "Can't open $file for input";
|
| 12 |
@lines = <IN>;
|
| 13 |
close(IN);
|
| 14 |
foreach (@lines)
|
| 15 |
{
|
| 16 |
if (/\s+\n$/)
|
| 17 |
{
|
| 18 |
s/\s+\n$/\n/;
|
| 19 |
$changed = 1;
|
| 20 |
}
|
| 21 |
}
|
| 22 |
if ($changed)
|
| 23 |
{
|
| 24 |
open(OUT, ">$file") || die "Can't open $file for output";
|
| 25 |
print OUT @lines;
|
| 26 |
close(OUT);
|
| 27 |
}
|
| 28 |
}
|
| 29 |
|
| 30 |
# This is the main program
|
| 31 |
|
| 32 |
$, = ""; # Output field separator
|
| 33 |
for ($i = 0; $i < @ARGV; $i++) { &detrail($ARGV[$i]); }
|
| 34 |
|
| 35 |
# End
|