in reply to Test Presence of Data in Hash
I realized that defined( %hash ) is already deprecated and if I had 'use warnings', then I would have seen the deprecated message, but still it doesn't explain the output of the two codes.
And doesn't 'deprecated' mean something like it should be avoided but still usable? If so, then the output of the above codes should have been the same.