Creating packages with the same name for multiple sites is generally a
recipe for confusion. Following what Michael Peters said, the better way
will be to create a properly namespaced package instead.
But in the event that the right thing cannot be done, you can consider
creating a new interpreter for each site with the Options +Parent config
in Apache. Do note that this solution may be memory intensive, and will
not scale as broadly as a shared interpreter.
IMHO, try to get things right the first time. It's usually more painful
to revisit a quick-fix.
Marc Lambrichs wrote:
I've taken over some code for a client. They've built a framework that
used to run under mod_perl and changed it later, because of problems
they had - what problems remains unknown - to cgi. Ofcourse I'm
curious why they changed it. Here's my view: they create a parent
App::Handler and in every virtual host they create a Site::Handler
which has App::Handler as base. My first guess is that under mod_perl
you don't know which Site::Handler will be called. Ofcourse, at first,
the handler you're actually pointing to will be called, but if you
change the request to another virtualhost, the wrong handler will be
called.
This would explain why it's running perfectly under cgi, because in
every script call the correct lib path is defined.
So, my first question is: am I right?
Secondly, what if we're running the cgi under speedycgi?
Thx,
Marc