title: How to pass parameters when getting "Odd number of elements in hash assignment"
body: <p>I'm doing some template programming in RT (http://bestpractical.com/rt), and it uses Perl.  Unfortunately, I've only dallied with Perl very occasionally.</p>
  
  <p>I'm trying to call a sub procedure that starts off with:</p>
  
  <pre><code>sub PrepareEmailUsingTemplate {
      my %args = (
          Template =&gt; '',
          Arguments =&gt; {},
          @_
      );
  </code></pre>
  
  <p>Since this is a part of the lib, I don't get to change it.</p>
  
  <p>The call I'm making to it is:</p>
  
  <pre><code>my ($template, $msg) = RT::Interface::Email-&gt;PrepareEmailUsingTemplate( 
      Template =&gt; 'CCReplyFirstMessage' );
  return (0, $msg) unless $template;
  </code></pre>
  
  <p>And I'm getting  "Odd number of elements in hash assignment at /opt/rt4/sbin/../lib/RT/Interface/Email.pm line 552. (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:552), with is the first line of the sub.</p>
  
  <p>I know I'm doing something whacky in passing the parameter.  How should I be passing it?</p>