Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: !Overriding Builtin print

by diotalevi (Canon)
on Oct 20, 2003 at 05:31 UTC ( #300477=note: print w/ replies, xml ) Need Help??


in reply to !Overriding Builtin print

Update: Please see Initial Devel::UncheckedOps, a macro for perl for notes on how print() can be overridden.


Its a function of toke.c's Perl_keywords() function. The keywords with positive values aren't overridable (so says pp.c's pp_prototype function). I get the impression from S_scan_inputsymbol that glob() and readline()'s overrideability is more a function of explicit support than something handled by the prototype. It also got the impression it might have something to do with print's status as an indirect object method expecting a list. Some guesses anyway.

Maybe this generalizes to: all functions overridable by CORE::GLOBAL:: have must prototypes or be explicitly supported by the perl parser (and the only known exceptions are glob() and readline()).

Added: For those that care, I pulled the list of keywords from toke.c:Perl_keywords() that are marked as not being overridable. You'll notice glob() and readmore() are in this list - again, it works only because of explicit support.

__DATA__ __END__ AUTOLOAD BEGIN CHECK DESTROY do delete defined END else eval elsif exists for format foreach grep goto glob INIT if last local m my map next no our pos print printf package prototype q qr qq qw qx redo return require s scalar sort split study sub tr tie tied use undef until untie unless while y


Comment on Re: !Overriding Builtin print
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://300477]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (16)
As of 2015-07-02 13:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (38 votes), past polls