On 5/12/07, Lionel MARTIN <suppressed> wrote:Of course, I understand why $tmp value is reset during each call (thelexical variable goes out of scope) but, as we can see, the address used by the variable is changing as well during each request, and this fact doesn'tseem consistent with what has been said before (i.e. that memory stayed allocated to lexical variables across requests)...I don't know but my guess would be that it's either a problem with your test or a quirk of Windows/threads. When you want to look at internals, you'll get better information using something like Devel::Peek.
Actually, I just tried the same tests on a Linux distribution (Ubuntu 6.10 running Perl 5.8.8, Apache 2.0.5x and mod_perl 2.03) and the results are exactly the same:
Test1 => changing memory location Test2 => fix memory location Test3 => changing memory location Test4 => fix memory location (I swapped Test3 and Test4 results in my previous post) To be sure there's only one Perl Interpreter, I used these directives: ThreadsPerChild 1 MaxClients 1So, I can conclude that this not coming from my Test Environment, nor from Windows MPM, and that anyone should obtain the same results.
Lionel.
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.