http://qs321.pair.com?node_id=11135679


in reply to Re: How to test for empty hash?
in thread How to test for empty hash?

No cause for pause. undef is promoted to the empty string, used as a hash key and assigned undef as its value because that's the default value of items in the empty list | used by Perl when a key in a hash assignment list has no corresponding value, or Odd number of elements in hash assignment.

Win8 Strawberry 5.8.9.5 (32) Sat 08/07/2021 23:15:45 C:\@Work\Perl\monks >perl use strict; use warnings; use Data::Dump qw(dd); my %h = undef; print scalar %h, "\n"; dd \%h; ^Z Odd number of elements in hash assignment at - line 7. Use of uninitialized value in list assignment at - line 7. 1/8 { "" => undef }
The hash ends up with 1 key/value pair.

Update: Clarified (I hope!) the explanation of odd-item hash assignment.


Give a man a fish:  <%-{-{-{-<