I run into deep namespacetroubles I understand onyl vaguely and I cant workaround:

I have a script running under mod_perl that is called via two domains.

www1.domain.at/  
www2.domain.at/sub/

both of the above addresses lead to the very same script (its the same
file on the disk, not a copy). When I call the first adress all is
working fine, but as soon as I call the second adress I get a
server-error.  Restarting apache and I try the second first: running
fine, but as soon as I call the first: server-error.

The log reveals:

Undefined subroutine &Apache::ROOTwww1_2domain_2eat::main called at 
/data/public/stage2/fetch.pl line 9.

or

Undefined subroutine 
&Apache::ROOTwww2_2edomain_2eat::editeinstieg::main called at 
/data/public/stage2/fetch.pl line 9.

my script is structured like that:
----fetch.pl:
require fetch.lib.pl
main();
-----

---fetch.lib.pl:
sub main{

do everthing here

}
1;
----

As far I can see, the second call does not load the lib anymore, cause
it was already loaded on the first call. Unfortunately it was loaded
to a different namespace, so the script doesnt find it.

What can I do ? I need this different domains, cause the script-action
depends on the calling domain.

The reason why I splitted in script/lib is a document at apache.org
that recommends this to avoid a nested-sub-problem under mod_perl.

I wonder if providing the lib-file as module (use instead of require)
would be a solution, but I guess not.  Can the above problem occure
with modules too ? If two scripts call the same module, is it only
loaded on the first call and the second script fails ??

thnx,
peter


-- 
mag. peter pilsl

phone: +43 676 3574035
fax  : +43 676 3546512
email: [EMAIL PROTECTED]
sms  : [EMAIL PROTECTED]

pgp-key available

Reply via email to