Great that you have figured out "how" to do it. My question is "why"?.

Perl has the ability to automatically bring a new key into existence when you assign something to it without the need for that key to have been created beforehand - this is true in n-dimensional hash structures also. So in many situations, there is no need to make an "undef" value for a key or even to create that key. Sometimes there is a need ("in many situations" does definitely not mean "in all situations").

I am just curious as to why you want to do this?

Update: I am not saying that anything in the other posts is wrong - quite the contrary - there are some excellent formulations of how to do this. Grandfather's stuff looks fantastic to me. I'm just saying that often it is not necessary to set a whole bunch of keys to "undef" in the first place. Maybe in this application it is warranted. But if its not needed, then there can be some simplifications.


In reply to Re^2: How to create a hash whose values are undef? by Marshall
in thread How to create a hash whose values are undef? by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.