>perl -wMstrict -le "my $rx = qr/ \A [^,]* \z /x; ;; for my $s (',abcd', 'abc,d', 'abcd,', ',,,', 'abcd', '.;$%&', '') { print qq{'$s' }, $s =~ $rx ? '' : 'NO', ' match'; } " ',abcd' NO match 'abc,d' NO match 'abcd,' NO match ',,,' NO match 'abcd' match '.;$%&' match '' match