|
|
| The stupid question is the question not asked | |
| PerlMonks |
Re: sub and anonymous subby grantm (Parson) |
| on Jun 21, 2002 at 20:49 UTC ( #176398=note: print w/ replies, xml ) | Need Help?? |
|
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.
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||