On Mon Mar 14 09:45:35 2016, phberninger@gmx.net wrote: > Checking with defined for an Hash of Hash element defines the element > in the > hash, instead of returning undefined:The following code will reproduce > it: perl > -e 'if(defined($foo{"a"}{"b"})){ print "not > defined\n";}if(defined($foo{"a"})){ > print "ERROR? now defined?\n";} ' I hope it is not a feature. tested > with perl > 5.20.2 under Linux This is a known problem[1], and is difficult to fix because the change would break existing code. You can avoid this behaviour by using the autovivication module from CPAN. Tony [1] that autovivication doesn't always respect lvalue vs rvalue --- via perlbug: queue: perl5 status: new https://rt.perl.org/Ticket/Display.html?id=127712Thread Previous | Thread Next