Moose is an extension of the Perl 5 object system. Another object system!?!? Yes, I know there has been an explosion recently of new ways to build objects in Perl 5, most of them based on inside-out objects, and other such things. Moose is different because it is not a new object system for Perl 5, but instead an extension of the existing object system. Moose is built on top of Class::MOP, which is a metaclass system for Perl 5. This means that Moose not only makes building normal Perl 5 objects better, but it also provides the power of metaclass programming.