in reply to Dynamicaly loading modules

Shameless self promotion yes, but Class::Autouse has a lot of stuff for dynamically loading classes.

If your module naming scheme is purely internal you can always
use Class::Autouse; Class::Autouse->autouse_recursive( 'Module::Root' );
and then at any time in the code
$state->method();


Once you have specified the module root with the autouse_recursive, it will load anything under that namespace on demand the first time a method is called.

Or if your lazy just...
use Class::Autouse qw{:superloader}; $anyclass->anymethod;
...should work OK, but the superloader is a little bit of overkill... :)