Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re^3: symbols, scope, and mod_perl

by Anonymous Monk
on Oct 01, 2012 at 10:58 UTC ( #996618=note: print w/replies, xml ) Need Help??

in reply to Re^2: symbols, scope, and mod_perl
in thread symbols, scope, and mod_perl

Furthermore each script running under registry gets its own namespace, ex
ModPerl::ROOT::ModPerl::Registry::D_3a_ro_sham_bo_theEXAMPLEXPORTERtes +t::my_dirt_sneaky_object_reference

Replies are listed 'Best First'.
Re^4: symbols, scope, and mod_perl
by acanfora (Novice) on Oct 01, 2012 at 12:03 UTC
    You are right. To be more precise, I am actually allocating the object on thread symbol table, but under mod_perl objects in "main" threads functions are persistent between calls. So it gets messed on subsequent calls. To avoid this it is needed to use a lexical variable, that does not allocate on the symbol table. To achieve the same behavior as per cgi environment, I should manipulate what it is called "stack scratchpad", but I do not have such skills.

      Well, you really shouldn't be exporting this object if its not a singleton

      use EXAMPLE(); my $poop = EXAMPLE->new; $poop->my_example_method; print "mission accomplished\n";
        If you have a look at the code I posted, you can see that the trick I am testing consists actually in putting an instance of the object in the "main" namespace without using Exporter and without declaring/instantiating the object from the cgi. In fact the class calls its own constructor when you use it.

      You are right. ...

      Are you saying you're using threads in your program?

        I am testing the trick also in mod_perl, under Worker MPM. So, yes, I am definitely using threads.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2018-06-23 12:28 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (125 votes). Check out past polls.