in reply to RE: RE: undefs and functions
in thread undefs and functions

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']);
$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.