in reply to
Recommendations for adding plugin/addon capability to a program
OK, now that you have updated your post with more information, I understand better what you are looking for, something like the http://search.cpan.org/~simonw/Module-Pluggable-4.8/lib/Module/Pluggable.pm module might be a good solution.
Another possibility might be to write a module (or use an existing one such as File::Find::xxx) that explores your directory and possibly subdirectories and you can then pass callback functions to this module to do the functional part of the job. Or even possibly passing an array or a hash of callback functions to the module.