John M. Dlugosz has asked for the wisdom of the Perl Monks concerning the following question:

There are a few ways to make objects in Perl 5, including pure conventions, conventions with some common helper code, modules to implement classes and/or objects, all the way up to huge meta-systems.

I'm sure there are a few more now than last time I looked.

So, which one to choose? How about a quick survey of the ones out there (what do you like?) and a summary of the benifits/tradeoffs of using that particular system?