in reply to Re^3: Local $$_?
in thread Local $$_?

> local @::{@names} = @::{@names}

I suppose the problem you're experiencing is not really a bug but due to the fact that a slice on the stash deliveres globs not values:

DB<1> ($a,$b)=qw/A B/ DB<2> @n=qw/a b/ DB<3> @save=@::{@n} DB<4> x @::{@n} 0 *main::a 1 *main::b DB<5> x @save 0 *main::a 1 *main::b

initializing the localized vars should be done with the _values_ not with the globs. In this way you are "re-aliasing" the package vars to the old ones!

But I'm not enough of a perl4 expert for details... ;)

Cheers Rolf

UPDATE: to be more precise, your code above should be equivalent to something like

local (*a,*b) = (*a,*b)

and not

local ($a,$b) = ($a,$b)