Module::Pluggable provides a simple but, hopefully, extensible way of having plugins for your Perl module.