Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re^4: Scalar Value Not Available To Subroutine

by ikegami (Pope)
on Dec 21, 2012 at 05:41 UTC ( #1009865=note: print w/replies, xml ) Need Help??

in reply to Re^3: Scalar Value Not Available To Subroutine
in thread Scalar Value Not Available To Subroutine

Effectively, the loop variable has no relationship with any pre-existing variable with the same name:

Same goes for local, fyi.

>perl -E"say 0+\$x; local $x; say 0+\$x;" 4885852 2403948

I've often wished (and occasionally argued in favour of), that for didn't localise pre-existing, lexical loop variables.

It would be useful and intuitive. It would drastically change the behaviour of the following, though

for $lex (...) { push @f, sub { ... $lex ... }; }

As it is now, I never use a pre-existing var.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1009865]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2018-06-19 19:11 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (114 votes). Check out past polls.