in reply to Re^2: How to differentiate an empty array from an unitialized one?
in thread How to differentiate an empty array from an unitialized one?

Split can return undef depending on regex capture groups

Yes, that's correct, for example split( /(x)|(y)/, "axbyc" ) yields ("a", "x", undef, "b", undef, "y", "c"). It's also documented at the bottom of split.