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

Reply via email to