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