Home

Mouse::Exporter(3pm)

Mouse::Exporter(3pm)User Contributed Perl DocumentationMouse::Exporter(3pm)

Mouse::Exporter - make an import() and unimport() just like Mouse.pm

This document describes Mouse version v2.5.10

    package MyApp::Mouse;    use Mouse ();    use Mouse::Exporter;    Mouse::Exporter->setup_import_methods(      as_is => [ 'has_rw', 'other_sugar', \&Some::Random::thing ],      also  => 'Mouse',    );    sub has_rw {        my $meta = caller->meta;        my ( $name, %options ) = @_;        $meta->add_attribute(          $name,          is => 'rw',          %options,        );    }    # then later ...    package MyApp::User;    use MyApp::Mouse;    has 'name';    has_rw 'size';    thing;    no MyApp::Mouse;

This module encapsulates the exporting of sugar functions in a "Mouse.pm"-like manner. It does this by building custom "import", "unimport" methods for your module, based on a spec you provide.

Note that "Mouse::Exporter" does not provide the "with_meta" option, but you can easily get the metaclass by "caller->meta" as "SYNOPSIS" shows.

Moose::Exporter

2022-10-20perl v5.36.0