MooseX::AttributeCloner The purpose of this Role is to take all the attributes which have values in the current class, and populate them directly into a new class object. The purpose of which is that if you have data inputted on the command line that needs to propagate through to later class objects, you shouldn't need to do the following my $oNewClass = New::Class->new({ attr1 => $self->attr1, attr2 => $self->attr2, ... }); Which is going to get, quite frankly, tedious in the extreme. Particularly when you have more than 2 class objects in your chain. As of 0.2 - This could fail to install if you do not have Module::Build 0.3603 available, since the passthrough style of it's production of Makefile.PL has been deprecated, so it now uses small. This means that you either need to have it installed, or be able to utilise 'configure_requires' (available in modern installations of CPAN.pm/CPANPLUS and perl 5.10.1) see http://search.cpan.org/~dagolden/Module-Build-0.3603/lib/Module/Build/Compat.pm for further details about this As far as I can tell, as long as you have any version of Module::Build, you should be OK, but if it is not, and you cannot utilise 'configure_requires', then this is likely to fail.