I maybe barking up the wrong tree, but I think I got your error.
It took a bit of rooting around.
Normally if the scalar is just a normal hash it should autovivify.
Here is an autovivification example:
my $foo = { };
$foo->{a}->{b}->{c}->{d} = 1;
use Data::Dumper;
print Data::Dumper->Dump([$foo],['foo']);
Results:$foo = {
'a' => {
'b' => {
'c' => {
'd' => 1
}
}
}
};
All those keys were undef, but now they were created just
by asking for them.
I got your error only when I tried to turn an undef into a hash
reference explicitly:print %{$foo->{a}->{d}} So maybe making it
into a two step process:my $bar = $foo->{a}->{d};
print %$bar if $bar;
that might take care of your errors.
If I totally missed your problem, sorry. |