Reading index-functions I get the impression that split is a function.
That list also includes things that are clearly not a function, like and, __END__, and m.
The function prototype returns the prototype of a function as a string (or undef if the function has no prototype). prototype "CORE::split" returns undef
You seem to be ignoring the part of that doc that says:
If FUNCTION is a string starting with CORE::, the rest is taken as a name for a Perl builtin. If the builtin's arguments cannot be adequately expressed by a prototype (such as system), prototype returns undef, because the builtin does not really behave like a Perl function.
As split behaves more like an operator it is perhaps better to call it an operator.
Please read carefully Terms and List Operators (Leftward):
Actually, there aren't really functions in this sense, just list operators and unary operators behaving as functions because you put parentheses around the arguments.
Several things in Perl only make sense when you read all of the documentation.