in reply to Re: how to remove empty pipe delimiters in a line which doesn't contain any data
in thread how to remove empty pipe delimiters in a line which doesn't contain any data
#!/usr/bin/perl @FILES = glob("*.txt"); foreach my $file (@FILES) { open my $fh, '<', $file; (my $fileName = $file) =~ s/\.[^.]+$//; open(my $output, '>', $fileName.".csv") or die "Could not open fil +e '$fileName' $!"; my @address; my @Detail; print $output ""; while (my $line = <$fh>) { chomp $line; @tokens = split /\|/, $line; chomp(@tokens); $objectName=$tokens[0]; if($objectName ne ""){ my @objectFields; $size = scalar(@tokens); @tokens = @tokens[1..$size]; foreach my $token (@tokens){ $token =~ s/\r|\n//g; push @objectFields,$token; } if($objectName eq "IFB"){ @Detail=@objectFields; }elsif($objectName eq "Walmart"){ @address=@objectFields; }elsif($objectName eq "Chicken"){ my @item = (@Detail,@address,@objectFields); @item = @item[s/[|]+/|/g]; print $output join("|", @item)."\n"; } } } close $output; close $fh; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: how to remove empty pipe delimiters in a line which doesn't contain any data
by Corion (Patriarch) on Oct 08, 2015 at 15:45 UTC |