Autovivification shouldn't fill in the data structure as I access it? So both the accesses should produce the same data structures (that's autovivification work, I guess), and Data::Dumper should produce the same result in both cases.
BTW, here is the result, again:
perl -MData::Dumper
$data = { a=>'b', c=>'d', e=>'h', i=>'j' };
$_[3] = { a=>'b', c=>'d', e=>'h', i=>'j' };
print Dumper @$data{'a','c','e'};
print "\n";
print Dumper @{$_[3]}{'a','c','e'};
print "\n";
and the result was:
$VAR1 = 'b';
$VAR2 = 'd';
$VAR3 = 'h';
$VAR1 = 'b';
$VAR2 = 'd';
$VAR3 = 'h';
exactly as expected. I'm confused. What's the problem with auto-vivification? Its supposed to fill in the "gore details", it isn't?
Thank you for your time and patience!