Vladimir D Belousov wrote:
Tom Schindl wrote:

Vladimir D Belousov wrote:

You are creating a closure here for $s here. There enough material out there go and read about closures(See Apache::Registry).
Why do you embed a sub into a sub?


I hope this sub will be mmm... "localized subroutine" and all varibles in one will be reinitialized :)
I now - it's nonsense :)

The variables would get reinitialized if you passed them in as arguments. The link that I sent you explains that once the Call sub is compiled it creates a closure around the $r and $s variables so that even if they are changed in other places, that closure will make sure that Call never sees those changes.


By the way, any compilation time errors are found out only at the request to the Apache.
But how such code Apache loads? I mean if a code has sintax errors, for example.
Or Apache loads code only with first client request?

If you preload your modules in a startup.pl or by a PerlLoadModule directive then apache will not start if there are syntax errors. If you don't do that however, you'll have to wait until the first time apache compiles the module, which is normally at request time.


A good idea is to preload all of your modules and then use Apache::Reload inside of the modules you are still developing.

HTH

--
Michael Peters
Developer
Plus Three, LP



Reply via email to