#!/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; }
In reply to Re^2: how to remove empty pipe delimiters in a line which doesn't contain any data
by rpinnam
in thread how to remove empty pipe delimiters in a line which doesn't contain any data
by rpinnam
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |