checked definedness instead of existence because of a pre-5.8 bug where unlocalizing a hash element would leave an undef remaining in the hash
bump version; changelog
Added tag 0.031_04 for changeset b2505613b1d3