Carp-Clan-Share

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN


    my $libscan = \&{"ExtUtils::MM_Any::libscan"};
    *{"ExtUtils::MM_Any::libscan"} = sub {
        return '' unless $libscan->(@_);
        return '' if $_[1] =~ /\.sw[p-z]$/;
        return $_[1];
    };
}

{
    map { my ($pk, $vr) = split m/\s/; build_requires $pk => $vr || 0 } grep { ! /^\s*#/ } split m/\n/, <<_END_;
Test::More
_END_

    map { my ($pk, $vr) = split m/\s/; requires $pk => $vr || 0 } grep { ! /^\s*#/ } split m/\n/, <<_END_;
Carp::Clan
_END_
}

if (-e 'inc/.author') {
    my $all_from = join '/', 'lib', split m/-/, name . '.pm';
    `perldoc -tF $all_from > README` if ! -e 'README' || (stat $all_from)[9] > (stat 'README')[9];
}

WriteAll;

lib/Carp/Clan/Share.pm  view on Meta::CPAN

require Carp::Clan;

sub import {
    my $caller = caller(0);
    my @arguments = @_;
    shift @arguments; # Get rid of the package name
    $caller =~ s/::Carp$//; # If the user already named it Carp, use the parent of that.
    unshift @arguments, "^${caller}::";

    my $package = "${caller}::Carp";
    my $pm = join("/", split m/::/, $package) . ".pm";
    $INC{$pm} = 1;
    eval "package $package;";

    my $exporter;
    {
        no strict 'refs';
        $exporter = *{"${package}::import"} = sub {
            push @_, @arguments;
            goto &Carp::Clan::import;
        };



( run in 1.108 second using v1.01-cache-2.11-cpan-483215c6ad5 )