Me: # > > Elements of this shared vocabulary might be # > > called 'locals' or 'yours'. # > # > I like the 'yours' idea from the point of # > view of the callee: # > # > my $inherited = your $_; # # I like that syntax, but I'm uncomfortable # with an underlying principle, which is that # one can reach in to the caller's lexical # context from any place in a callee's body. # It exacerbates the (mostly over-stated, imo) # action-at-a-distance concerns about this. # # I know you can do what you wrote anyway with # the $CALLER::foo syntax, but I don't like that # either.
We need that capability if we're going to have lexically-scoped exports: { use FooBar 'baz'; baz(); #OK } baz(); #Unknown subroutine Now, we can either include it in the Perl language or write it specially for Exporter. If we write it specially for Exporter, someone will generalize the code and put it in a module (witness PadWalker.pm), so we might as well have it in the base language and save someone some hassles. --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) Wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. And radio operates exactly the same way. The only difference is that there is no cat. --Albert Einstein (explaining radio)