Your data seems a bit weird (different amount of columns) - but try this ugly solution using paragraph mode:
#!/usr/bin/env perl use strict; use warnings; use Data::Dump; my $file = qq(AMS.csv); local $/ = ""; open( my $fh, "<", $file ) || die $!; my @array = <$fh>; close $fh; # dd \@array; my @one = split /\n/, $array[0]; my @two = split /\n/, $array[1]; my @three = split /\n/, $array[2]; # dd \@one, \@two, \@three; my ( $result, $year, $department ); for my $item (@one) { if ( $item =~ /(^1,)/ ) { $item =~ s/$1//; $year = ( split /,/, $two[0] )[1]; $department = ( split /,/, $three[0] )[1]; $result .= qq($year,$item,$department\n); } if ( $item =~ /(^2,)/ ) { $item =~ s/$1//; $year = ( split /,/, $two[1] )[1]; $department = ( split /,/, $three[1] )[1]; $result .= qq($year,$item,$department\n); } if ( $item =~ /(^3,)/ ) { $item =~ s/$1//; $year = ( split /,/, $two[2] )[1]; $department = ( split /,/, $three[2] )[1]; $result .= qq($year,$item,$department\n); } } #print $result; open my $out, ">", "PPS.csv" || die $!; print $out $result; close $out; __END__ karls-mac-mini:monks karl$ ./ksh.pl karls-mac-mini:monks karl$ cat PPS.csv 2002,Go,Manuel,V.,1/22/2015,8:30AM,5:30PM,1001,IT 2001,Calinisan,Peter,S.,1/22/2015,8:30AM,5:30PM,1002,HR 2003,Sioting,Michael,S.,1/22/2015,8:30AM,5:30PM,1003,PURCHASING
Update: I skipped the wrapper thing, OK...
Update2: Actually it isn't "ugly".
Best regards, Karl
«The Crux of the Biscuit is the Apostrophe»
In reply to Re: pl c sv text format wrap
by karlgoethebier
in thread pl c sv text format wrap
by edrew04
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |