On Fri, 2005-08-19 at 20:24 -0400, Christopher H. Laco wrote: > I'm assuming that each tome dosomething() changes @contect, it's only > changing @contect for that MP child process.
Correct. However, dosomething() is a closure in your code, so @context will persist. > Now, I need to have another module used in that same request, modify the > context of the first... > > package MyMod; > { > my @context; > sub dosomething { > push @context; > #...do other stuff.. > }; > sub pushcontext { > push @context, shift; > }; > }; > 1; > > package MyMod2; > { > my @context; > sub dosomething { > push @context; > #...do other stuff.. > MyMod::poshcontext('foo'); > }; > }; > 1; Those are not referring to the same @context. > Is that safe across requests? Define safe... > I'm assuming that MyMod is change MyMod2 > in the same request/child process? No, I don't think so. They are two different variables named @context in different scopes. > FOr that matter, what is the lifetime > of my @context in that situation? Forever, since it's used in a closure. - Perrin