title: Clarification on hash++
body: <p>I am reading Damian Conway's "Perl Best Practices" and found the following code snipet:</p>
  
  <pre><code>$have_reconsidered{lc($name)}++;
  </code></pre>
  
  <p>I am trying to figure out what is going on here with the hash. I know <code>++</code> increments by one in a numeric context, but what does it do to a hash?</p>
  
  <p>From <a href="http://perldoc.perl.org/perlop.html" rel="nofollow">perlop documentation</a>:</p>
  
  <blockquote>
    <p>undef is always treated as numeric,
    and in particular is changed to 0
    before incrementing (so that a
    post-increment of an undef value will
    return 0 rather than undef). The
    auto-decrement operator is not
    magical.</p>
  </blockquote>
  
  <p>So in the example above, is the value for the key <code>lc($name)</code> being initialized to <code>0</code> and then incremented to <code>1</code> by <code>++</code>?</p>
  
  <p>In general, where could I find out more about the behaviors of <code>++</code>, <code>+=</code>, etc...?</p>