Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: sub and anonymous sub

by grantm (Parson)
on Jun 21, 2002 at 20:49 UTC ( #176398=note: print w/replies, xml ) Need Help??

in reply to sub and anonymous sub

A related question that may help shed some light is "why is 'my' documented in the 'perlfunc' man page?"

The answer would seem to be that 'my' has both compile-time and run-time effects. At compile time, the Perl interpreter decides the scope of the variable based on lexical scoping rules. At run time, Perl allocates memory for the variable and starts tracking references to that memory. This latter step happens each time the line is excuted.

This is why a mod_perl script should never use 'my' to declare a 'global' variable. At compile time, any block which refers to the variable will get pointed at the first instantiation. On the second invocation, when the 'my' line is reached, a new variable is created but all the other blocks are still pointing at the old one.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (6)
As of 2018-03-22 03:31 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (272 votes). Check out past polls.