title: Why do the '<' and 'lt' operators return different results in Perl?
body: <p>I am just learning Perl's comparison operators. I tried the below code :-</p>
  
  <pre><code>$foo=291;
  $bar=30;
  
  if ($foo &lt; $bar) { 
          print "$foo is less than $bar (first)\n"; 
  }
  
  if ($foo lt $bar) { 
          print "$foo is less than $bar (second)\n"; 
  }
  </code></pre>
  
  <p>The output is <em>291 is less than 30 (second)</em>. Does this mean the <strong><code>lt</code></strong> operator always converts the variables to string and then compare? What is the rationale for Perl making <strong><code>lt</code></strong> operator behave differently from the <strong><code>&lt;</code></strong> operator?</p>
  
  <p>Thanks,</p>