in reply to Heisenberg Uncertainty Hash

The higher-level 'd' key is autovivified by checking for a lower-level key. Check existance of the higher-level key before doing anything with the lower level.

if (exists $hash{'d'} and !$hash{'d'}->{'value'}) { print "That key doesn't exist. Valid keys are: "; print join (", ", keys %hash); }

This is a well-known gotcha.

After Compline,
Zaxo