You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Ade <ad...@bottledsoftware.com> on 2000/07/24 06:52:49 UTC

Foo::Bar vs. Foo::Bar

I'm having problems with cached modules, and I'm wondering if somebody will 
help me out.

I have a module I've written, let's call it Foo::Bar.  Well, I have several 
projects running under mod_perl that use this module.  I add to the module 
from time to time, and thus newer projects will rely on a newer version of 
Foo::Bar.  All these projects are running on the same server, in the same 
mod_perl environment.  So there's a problem when one version of Foo::Bar 
gets cached and one script needs another version, but tries to use the one 
in memory 'cause all it knows is that it needs Foo::Bar.  Thus Project A 
gets run first and uses an early version of Foo::Bar.  That version gets 
cached and when Project B gets run, it has problems 'cause it uses the 
early version of Foo::Bar.  Each project has their appropriate 'use lib 
qw()' paths set.  This is what my apache config looks like for the project dir:

<Directory /projects>
     <FilesMatch "\.(cgi|pl)$">
         SetHandler perl-script
         PerlHandler Apache::Registry
         Options +ExecCGI +Includes
         PerlSendHeader On
         PerlInitHandler Apache::StatINC
         PerlSetVar StatINCDebug On
     </FilesMatch>
</Directory>

And I'm using Apache 1.3.12 and mod_perl 1.24.

Thanks for any help you can give.

--Ade.

Re: Foo::Bar vs. Foo::Bar

Posted by Perrin Harkins <pe...@primenet.com>.
Ade wrote:
> I have a module I've written, let's call it Foo::Bar.  Well, I have several
> projects running under mod_perl that use this module.  I add to the module
> from time to time, and thus newer projects will rely on a newer version of
> Foo::Bar.  All these projects are running on the same server, in the same
> mod_perl environment.  So there's a problem when one version of Foo::Bar
> gets cached and one script needs another version, but tries to use the one
> in memory 'cause all it knows is that it needs Foo::Bar.

Take a look at Apache::PerlVINC.
- Perrin