use strict; use warnings; while ( ) { s/([^,])"(?!,|$)/$1""/g; print $_; } __DATA__ "A","B"",""C","D","E" ""F", ,"G"" "HI"J"K"L","M" 1,2,3,"t"l"r",4,5,6