http://www.perlmonks.org?node_id=228786


in reply to Re: Re^2: A simple import() for those special moments
in thread A simple import() for those special moments

I knew there was a reason I didn't feel comfortable with it:
#!/usr/bin/perl BEGIN { $SIG{__WARN__} = sub { print "Warn in package ".caller().": ", + @_ }; package X; $foo = "I'm in X, export me!"; *Y::foo = *foo } package Y; sub foo { "Oh dear.. I wasn't meant to be outside Y" } warn $foo; package X; warn foo(); __END__ Warn in package Y: I'm in X, export me! at t.pl line 11. Warn in package X: Oh dear.. I wasn't meant to be outside Y at t.pl li +ne 14.

In other words.. all globals exported by copying the entire typeglob will have all the packages that import them sharing all globals with the respective names - and this is more than "just" a heavy caveat.

Makeshifts last the longest.