in reply to Dynamically wrapping multiple modules
I rolled my own, integrated with Net::Server::PreFork.
In my case, the input and the module name are the same. I grab an XML stream, determine the module to use, then call it via self.sub post_configure_hook { my $self = shift; $self->logObj( Logger->new(name => 'log/gaa') ); $self->xml( new XML::Simple(xmldecl => 1,forcearray => 1) ); # Go find all the modules find ({ no_chdir => 1, wanted => sub { $self->load_api_modules($File::Find::name) +}, follow =>1 }, 'api'); } # Load and create instances of each module in the search path sub load_api_modules{ my $self = shift; my $filename = shift; if ($filename =~ /\.pm$/) { my @file = split(/\//, $filename); require "$filename"; my @name = split(/\./, $file[$#file]); $self->{ "_$file[1]_$file[2]" } = $name[0]->new; } }
It works well in this case, as it goes and dynamically finds any modules in the path, then loads them, so you dont need to know (explicitily) what is available.
|
---|
In Section
Seekers of Perl Wisdom