in reply to Re: Re: how mod_perl finds if code has already been compiled
in thread how mod_perl finds if code has already been compiled

Perhaps I've misunderstood your question, but perhaps it might work if you created instances of the generic handler class, with the configuration file passed as an argument to the constructor. Then you'd only be use the generic class once, and creating a differently configured handler instance to do the work for each vhost. This reworking should be fairly painless if you're already using method handlers. So, for each host you might have something like the following in startup.pl:

# startup1.pl use GenericModule; $My::VirtualHost_1_Handler = GenericModule->new( 'config' => '/path/to/lib/Project1Config1/param.pm' );

Then in your VirtualHost section:

PerlRequire '/path/to/startup1.pl' SetHandler perl-script PerlHandler $My::VirtualHost_1_Handler->handle

Then all you'd need to add would be some code to your generic class's new method that reads in the configuration variables and sets them as attributes of the specific instances. Each virtual host could then have one or more separate handler object instances, each with its own private configuration variables held as object attributes.

HTH
ViceRaid

Replies are listed 'Best First'.
Re: Re: Re: Re: how mod_perl finds if code has already been compiled
by Sihal (Pilgrim) on Jun 17, 2003 at 07:53 UTC
    This would be a very good solution indeed if my module was object oriented...
    I found some stuff about why what I wanted to do isn't possible on : Name Collision of Modules and libs
    A very interesting reading for us mod_perl users.
    Now I think i will use a method based on the previous link: Config Files, using a hash with a key for each vHost.