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