Hmmm, I seem to recall localizing a hash value within a deeply nested structure, like:
my $root = { some_object => obj };
$root->{some_object} = new Object;
my $arrayref = $root->{some_object}->objectMethodReturningEmbeddedArra
+yref();
$arrayref->[0] = 5;
{
local $arrayref->[0] = 0;
# execute some code, which sees 0 not 5
}
# now array element is 5 again
I specifically remember wanting to do something like that in 5.004 and not being able to, having instead to do something like this:
# ...
$arrayref->[0] = 5;
# ...
{
my $lcl = $arrayref->[0];
$arrayref->[0] = 0;
# execute some code, which sees 0 not 5
$arrayref->[0] = $lcl;
}
# now array element is 5 again
dmm