>perl -wMstrict -le "my $s = q{w,ww,'a,bb,ccc,3 ,ee,',4,'a,\'b,c\',d',zz}; print qq{[$s]}; ;; $s =~ s{ ( ' [^\\']* (?: \\. [^\\']*)* ' ) } { (my $o = $1) =~ s{,}{-}xmsg; $o; }xmspge; print qq{[$s]}; " [w,ww,'a,bb,ccc,3 ,ee,',4,'a,\'b,c\',d',zz] [w,ww,'a-bb-ccc-3 -ee-',4,'a-\'b-c\'-d',zz]