$filein=yourcvsfile.txt; $fileout=yourcvsfileout.txt; ####read into array open (FILEIN,"$filein") || die "Can't Open file : $!\n"; @mydata=; close FILEIN; ####open output file open (FILEOUT,">$fileout") || die "1Can't Open b: $!\n"; foreach $mydata (@mydata) {($newfield1,$newfield2,$newfield3,$newfield4,$newfield5) = split(',',$newline); if ($newfield1 eq $newvar) {$field1=$var1; ###preform sub routine to write &writenew}; sub writenew { $newfield1=$var2; $newfield2=$var2 $newfield3=$var2 $newfield4=$var2 $newfield5="anydata"; $mydata="$newfield1,$newfield2,$newfield3,$newfield4,$newfield5; " print FILEOUT $mydata; }