title: How to tell perl to print to a file handle instead of printing the file handle?
body: <p>I'm trying to wrap my head around the way Perl handles the parsing of arguments to <code>print</code>.</p>
  
  <p>Why does this</p>
  
  <pre><code>print $fh $stufftowrite
  </code></pre>
  
  <p>write to the file handle as expected, but</p>
  
  <pre><code>print($fh, $stufftowrite)
  </code></pre>
  
  <p>writes <em>the file handle</em> to <code>STDOUT</code> instead?</p>
  
  <p>My guess is that it has something to do with the warning in the documentation of <code>print</code>:</p>
  
  <blockquote>
    <p>Be careful not to follow the print keyword with a left parenthesis unless you want the corresponding right parenthesis to terminate the arguments to the print; put parentheses around all arguments (or interpose a + , but that doesn't look as good).</p>
  </blockquote>
  
  <p>Should I just get used to the first form (which just doesn't seem right to me, coming from languages that all use parentheses around function arguments), or is there a way to tell Perl to do what I want?</p>
  
  <p>So far I've tried a lot of combination of parentheses around the first, second and both parameters, without success.</p>