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
|