http://www.perlmonks.org?node_id=1214533

ovedpo15 has asked for the wisdom of the Perl Monks concerning the following question:

Consider that following string: a,b,c,d,e,f
this string has 6 substrings and 5 commas between them. each one of the substrings can contain whatever symbol there is. At the end I would like to split it like this:

 my ($a,$b,$c,$d,$e,$f) = split(/,/ $string);

But first I would like to check that this string is valid meaning there is a substring between the commas.
I can use like this:  if(!defined($a) || !defined($b) || ... || !defined($f)) ...

but it doesn't look very good and it's too long. I would like somehow to check it with split or regex.
I also tried to use if(($string =~ tr/,//) != 5) ... but it isn't a good idea because I won't catch the "a,b,c,d,,f" case or if the one of the substrings will conatine a comma (for example: $b = "hello_world,bye";)