column1,column2,column3,column4,column5,column6
datar1c1,datar1c2,datar1c3,datar1c4,datar1c5,datar1c6
datar2c1,"data,r2c2",datar2c3,datar2c4,datar2c5,datar2c6
datar3c1,datar3c2,"data, r3c3",datar3c4,datar3c5,datar3c6
####
column2,column1,column4,column3
datar1c2,datar1c1,datar1c4,datar1c3
datar2c2,datar2c1,datar2c4,datar2c3
datar3c2,datar3c1,datar3c4,"data, r3c3"
####
#!/usr/bin/perl
use strict ;
use warnings ;
use Text::CSV ;
use Getopt::Long qw(GetOptions) ;
my $inputFile = '' ;
my $outputFile = '' ;
my $csv = Text::CSV->new ();
GetOptions( 'file:s' => \$inputFile,
'out:s' => \$outputFile,
) or die("Error in command line arguments\n") ;
open(my $data, '<:encoding(utf8)', $inputFile) or die "Could not open '$inputFile' \n" ;
open(my $out, '>:encoding(utf8)', $outputFile) or die "Could not open '$outputFile' \n" ;
while (my $fields = $csv->getline( $data ))
{
splice @$fields, 4, 2 ;
$csv->print($out, $fields) ;
print $out "\n" ;
}
close $data ;
close $out ;