develooper Front page | perl.perl5.porters | Postings from November 2016

Re: are lexical subs supposed to override keywords?

Thread Previous | Thread Next
From:
Father Chrysostomos
Date:
November 14, 2016 17:09
Subject:
Re: are lexical subs supposed to override keywords?
Message ID:
115D88D3-B582-45AC-91AD-3C1F3F759C97@cpan.org

On Nov 14, 2016, at 1:29 AM, Dave Mitchell <davem@iabyn.com> wrote:

> It surprised me that perl keywords are overridden by lexical sub names.
> Is this intentional? I couldn't find anything in perlsub about it.
> 
>    my sub for { print "in lex sub (@_) \n" }
>    for (1,2);
> 
> outputs
> 
>    in lex sub (1 2)

That is wholly intentional.  It is similar to how a lexical @INC overrides the global @INC.  The core keywords could all be thought of as being in a namespace that gets searched by default before the current package.  Lexical symbols always take precedence over other namespaces.
Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About