>perl -wMstrict -le "for my $s ( 'ABC,XYZ PERL,, IS, AWESOME, INNIT', ',ABC,XYZ PERL,, IS, AWESOME, INNIT,', ',,ABC,XYZ PERL,, IS, AWESOME, INNIT,', ) { print qq{ in: '$s'}; ;; (my $t = $s) =~ s{ (?: \A [^,]* , (*SKIP)(*FAIL))? , }{}xmsg; print qq{out: '$t'}; print ''; } " in: 'ABC,XYZ PERL,, IS, AWESOME, INNIT' out: 'ABC,XYZ PERL IS AWESOME INNIT' in: ',ABC,XYZ PERL,, IS, AWESOME, INNIT,' out: ',ABCXYZ PERL IS AWESOME INNIT' in: ',,ABC,XYZ PERL,, IS, AWESOME, INNIT,' out: ',ABCXYZ PERL IS AWESOME INNIT'