http://www.perlmonks.org?node_id=1068769


in reply to Recommendations for adding plugin/addon capability to a program

I have used both "roll-my-own" and Module::Pluggable with success. It really depends on what I was trying to do.

That said, I would probably be more inclined to go with M::P now since it offers more flexibility overall, even if not needed at the time. The use-cases I had involved finding what plugins were available so I could process a given input format with a given plugin, converting to an internal virtual format if it existed or bailing out otherwise.

Some of what I was doing could possibly be done using API Roles in Moose, instead.

It helps to remember that the primary goal is to drain the swamp even when you are hip-deep in alligators.