title: Why does calling `system` with indirect object give syntax error only with autodie
body: <p>Perl's <code>system</code> function allows an indirect object.  In that case, the
  indirect object is the program to run, allowing <code>argv[0]</code> to be
  different from the name of the executable.</p>
  
  <p>So I can do</p>
  
  <pre><code>system {"echo"} qw(echo foo);
  </code></pre>
  
  <p>However, when I use <code>autodie</code>:</p>
  
  <pre><code>use autodie qw(:all);
  system {"echo"} qw(echo foo);
  </code></pre>
  
  <p>I get</p>
  
  <pre><code>syntax error at - line 2, near "} qw(echo foo)"
  </code></pre>
  
  <p>Why does this happen?</p>