http://www.perlmonks.org?node_id=314719


in reply to Re: Re: Deleting undef values from a hash
in thread Deleting undef values from a hash

It should be ok for perl5, though. The division of responsibilities between hv_delete_* and pp_delete pretty much require that it work. hv_delete_* will return null if the key didn't exist, which pp_delete will replace with the immortal undef value. If the key did exist, hv_delete_* will return the value (even undef) in a different sv.

It's obviously better practice to check exists in the first place, outside of obfuscation and golf.