title: Perl: re-init memory and keep old allocation
body: <p>This is what I want.</p>
  <pre><code>my %h;
  
  my @l = (&quot;a&quot;, &quot;b&quot;, &quot;c&quot;);
  $h {A} = \@l;
  
  my @l = (&quot;d&quot;, &quot;e&quot;, &quot;f&quot;);   # @l already declared: warning
  $h {B} = \@l;
  
  print Dumper (%h);
  </code></pre>
  <p>But I get a warning because of the double my of @l.</p>
  <p>How can I re-init @l with keeping the former memory allocated?</p>
  <p>Yes, I could enclose it within a block and the warning would be gone.</p>
  <pre><code>{
   my @l = (&quot;a&quot;, &quot;b&quot;, &quot;c&quot;);
   $h {A} = \@l;
  }
  </code></pre>
  <p>Yes, I could do it without an array variable.</p>
  <pre><code>$h {A} = (&quot;a&quot;, &quot;b&quot;, &quot;c&quot;);
  </code></pre>
  <p>But is there another way too? I want to have @l and no blocks.</p>