c:\@Work\Perl\monks>perl -wMstrict -le "my $cd = qr{ cd }xms; my $not_cd = qr{ (?! $cd) . }xms; ;; for my $s (',abcdefg,pqrstuv', ',abefg,pqrstuv', @ARGV) { my $t = $s; print qq{'$t'}; $t =~ s{ , $not_cd* ($cd?) [^,]* , }{=$1=}xms; print qq{'$t' \n}; } " ',abcdefg,pqrstuv' '=cd=pqrstuv' ',abefg,pqrstuv' '==pqrstuv'