title: Get the intersection of two lists of strings in Perl
body: <p>In Chapter 4, Section 4.8 (Computing Union, Intersection, or Difference of Unique Lists), the <a href="http://oreilly.com/catalog/9780596003135" rel="noreferrer">Perl Cookbook</a> provides this technique for getting the intersection of two lists of integers:</p>
  
  <pre><code>@a = (1, 3, 5, 6, 7, 8);
  @b = (2, 3, 5, 7, 9);
  ...
  foreach $e (@a, @b) {
      $union{$e}++ &amp;&amp; $isect{$e}++
  }
  @union = keys %union;
  @isect = keys %isect;
  </code></pre>
  
  <p>I want this to be done (case-insensitively) for two lists of strings. Any efficient method, please?</p>