The split function always interprets the PATTERN argument as a
regular expression, even if you specify it as a string. This causes
much confusion if the string contains regex metacharacters. So for
clarity, always express the PATTERN argument as a regex.
$string = Fred|Barney;
@names = split |, $string; #not ok, is (F, r, e, d, |, B, a ...)
@names = split m/[|]/, $string; #ok, is (Fred, Barney)
When the PATTERN is a single space the split function has special
behavior, so Perl::Critic forgives that usage. See "perldoc -f
split" for more information.