in reply to Re^2: Inconsistency of 'Use of uninitialized value in scalar assignment' warning
in thread Inconsistency of 'Use of uninitialized value in scalar assignment' warning

I think people are still thinking that the second undef warning is due the hash *value* not existing; its not. Both warnings are being generated by trying to evaluate the *key*. In the first foo() call in the OP, the key isn't undef, so it doesn't generate any warnings.

Dave.

  • Comment on Re^3: Inconsistency of 'Use of uninitialized value in scalar assignment' warning