Mouse

 view release on metacpan or  search on metacpan

lib/Mouse/Exporter.pm  view on Meta::CPAN

use warnings;
use Carp ();

my %SPEC;

# it must be "require", because Mouse::Util depends on Mouse::Exporter,
# which depends on Mouse::Util::import()
require Mouse::Util;

sub import{
    strict->import;
    warnings->import('all', FATAL => 'recursion');
    return;
}


sub setup_import_methods{
    my($class, %args) = @_;

    my $exporting_package = $args{exporting_package} ||= caller();

lib/Mouse/Exporter.pm  view on Meta::CPAN

        elsif($arg =~ s/^://){
            my $group = $spec->{groups}{$arg}
                || Carp::confess(qq{The $package package does not export the group "$arg"});
            push @exports, @{$group};
        }
        else{
            push @exports, $arg;
        }
    }

    strict->import;
    warnings->import('all', FATAL => 'recursion');

    if($spec->{INIT_META}){
        my $meta;
        foreach my $init_meta(@{$spec->{INIT_META}}){
            $meta = $package->$init_meta(for_class => $into);
        }

        if(@traits){
            my $type = (split /::/, ref $meta)[-1]; # e.g. "Class" for "My::Meta::Class"



( run in 0.335 second using v1.01-cache-2.11-cpan-299005ec8e3 )