Perl 5 マスター Wiki - Moose::Exporter
どのモジュールをエクスポートするかを、簡単に設定できる便利モジュール


Mooseのサブクラスを作ってみます。

package Tomyhero::Class;
use Moose;
use Moose::Exporter;

Moose::Exporter->setup_import_methods(
    also => 'Moose',
    with_caller => ['__TOMYHERO__'],
);

sub __TOMYHERO__ {
    my ( $caller, ) = @_;
    Moose::unimport;
    $caller->meta->make_immutable( inline_destructor => 1 );
    'Love Tomyhero';
}

1;

package My::Class;
use Tomyhero::Class;

has 'sexy_name' => (is => 'rw', isa => 'Str');

__TOMYHERO__;