in reply to Re: My problems to understand the Perl documentation [updated]
in thread My problems to understand the Perl documentation
Thank you jo37 for your work!
This is not true, it gives (99).
Sorry, I had an error in my test script. Now I also get 99.
Your example made me understand that a prototype also defines the context (scalar/list) for the evaluation of the arguments.
My point is that the function split is not fully described in the Perl documentation
- Reading index-functions I get the impression that split is a function.
- In perlsub is stated:
-
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 (Thanks LanX )
The Perl model for function call and return values is simple: all functions are passed as parameters one single flat list of scalars, and all functions likewise return to their caller one single flat list of scalars. ...
My conclusion from this is that split is a Perl sub, without prototype.
I have however realized that:
- Split's first argument, /PATTERN/, is not evaluated immediately. In some way it is kept for later usage.
- The rest of the arguments are not treated like a Perl sub without prototype.
Somewhere in split this differences from a normal Perl sub should be included. As split behaves more like an operator it is perhaps better to call it an operator. It is also implemented as an operator and not as a Perl sub.
|
---|
In Section
Meditations