Moose (Perl)

Moose is an extension of the object system of the Perl programming language.

Its stated purpose[1] is to bring modern object-oriented programming language features to Perl 5, and to make object-oriented Perl programming more consistent and less tedious.

Using the MOP, Moose provides complete type introspection for all Moose-using classes.

They perform a similar task as mixins, but are composed horizontally rather than inherited.

As of September 2012[update] there are 855 modules in 266 distributions in the MooseX namespace.