Acme-Magpie
view release on metacpan or search on metacpan
lib/Acme/Magpie.pm view on Meta::CPAN
package Acme::Magpie;
use strict;
use vars qw/$VERSION %Nest %symtab/;
$VERSION = '0.06';
use constant debug => 0;
use Devel::Symdump;
sub import {
my $self = shift;
my $steal_from = caller;
for my $sym ( sort Devel::Symdump->rnew($steal_from)->functions() ) {
next unless $sym =~ /^\Q$steal_from/;
print "$sym\n" if debug;
if ( $self->shiny($sym) ) {
print "stealing $sym\n" if debug;
my ($pkg, $name) = $sym =~ /^(.*::)(.*)$/;
local %symtab;
{
no strict 'refs';
*symtab = \%{ $pkg };
}
$Nest{ $sym } = delete $symtab{ $name };
}
}
}
( run in 1.366 second using v1.01-cache-2.11-cpan-49f99fa48dc )