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; } }