in reply to On kind of dynamic loading

See require for how to make require load a class dynamically.

Basically, you need to transform a class name into a (unix) path name to require. parent.pm has the code, which I'm quoting here:

for (@modules) { s{::|'}{/}g; require "$_.pm"; # dies if the file is not found };