package Mooose; use Moose::Exporter; use MooseX::NonMoose (); use MooseX::Aliases (); my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods( also => ['MooseX::NonMoose', 'MooseX::Aliases'], class_metaroles => { class => ['My::App::Meta::Class'], }, ); sub import { strict->import; warnings->import; autodie->import; feature->import(':5.10'); MooseX::Aliases->import; goto $import; } sub unimport { # .... (s/import/unimport/ on the above) goto $unimport; } sub init_meta { my ($package, %options) = @_; die unless $options{for_class}->isa('My::Base::Class'); goto $init_meta; }