title: Perl: How to correctly initialize a hash or array
body: <p>Throughout several online tutorials, I've noticed variations in how a hash or an array is initialized:</p>
  
  <pre><code>my %new_hash_1 = ();
  # or
  my %new_hash_2;
  
  my @new_array_1 = ();
  # or
  my @new_array;
  </code></pre>
  
  <p>With my basic exercises of pushing elements into an array or adding key,value pairs to a hash, it doesn't appear to matter which way I initialize the variable.</p>
  
  <p>With further googling, I learned that:</p>
  
  <pre><code>%new_hash_1 = ();
  </code></pre>
  
  <p>is sometimes used to empty out an existing hash.</p>
  
  <p>So I guess my questions are:</p>
  
  <ul>
  <li>Which method should one use to initialize a hash/array?</li>
  <li>Is there a specific purpose unique to each method? Or is this an example of TIMTOWTDI?</li>
  </ul>
  
  <p>Many Thanks.</p>