in reply to Re: (jeffa) Re: funky $_ with map {}
in thread funky $_ with map {}

Eval is probably not as bad as you think. If the little extra compilation overhead is a significant portion of your program's run time, you probably shouldn't be building this coderef laden hash anyway.

Local creates a temporary copy of the variable, but it stays global, so there's no reference count increased when you use it in the anonymous sub. When the scope ends, the temporary copy is simply discarded.

my creates a new lexical, our is a lexically scoped "use vars", local creates a temporary copy of the global that will be used while the lexical scope lasts.
Only lexicals can stay shared.
(I have probably made some mistakes or mis-assumptions. If you see any, please do correct me)

Lbh ebgngrq guvf grkg naq abj lbh pna ernq vg. Fb jung? :) -- Whreq