in reply to deleting commas enclosed by quotation marks

I'd say that all commas, except the first two and the last, in the given example, are enclosed by quotation marks. In which case, I'd use:
substr($str,index($str,'"'),rindex($str,'"')-length($str))=~y/,//d;