"Akens, Anthony" wrote:
> > The files are all pipe-delimited, so I don't have a problem separating the
> > fields, I just am not sure how to make it remove all extra whitespace. It
> > needs to keep all Space in the fields " the description of the
>
> > file " should still be readable as "the description of the file"
> >
> > Any help with code examples? I have been looking through a beginning book
> > and my old code and have come up nil.
[Original post repositioned for readability]
> I figured I'd take a stab at fleshing this out into what he wants...
> Any comments on things I could do better? I only added to what
> Robert had coded...
>
> Tony
>
> #!/usr/bin/perl -w
>
> use strict;
> my $dirname = "/my/stuff/";
> my $file;
> my $newfile;
> my $line;
>
> opendir (DIR, $dirname) or die "Can't opendir $dirname: $!";
> while (defined($file = readdir(DIR))) {
> next if $file =~ /^\.\.?$/;
> open (OLDFILE, "< $file");
> $newfile = $file . "_nice";
> open (NEWFILE, "> $newfile");
> while ($line = <OLDFILE>) {
> ($line) = ($line =~ /^\s*(.*)\s*\n$/);
> print NEWFILE "$line\n";
> }
> close OLDFILE;
> close NEWFILE;
> }
Way too complicated. The specifications are much more simple: "Remove
extraneous whitespace". This does not reuire any capturing parentheses. Deal
only with whitespace:
while (<IN>) {
chomp;
s/^\s*//; #trim start
s/\s*$/; #trim end
s/\s(2,)/ /g; # eliminate extraneous spce in between
print OUT "$_\n";
}
More lines here, but a helluva lot less processing.
Joseph
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]