title: perl module calls methods from a package that isn't imported
body: <p><strike>I was appalled to discover today that one of my perl modules uses another module, but doesn't import it.</p>
  
  <p><b>However, I was shocked when I realized that this has never caused any problems!</b></p>
  
  <p>The code is something like:</p>
  
  <pre><code>package This;
  # no import for OTHER !!
  
  sub new {
      ... implementation ...
      my $something = OTHER-&gt;new(@arguments); # no error!
      ... more implementation ...
  }
  </code></pre>
  
  <p><strong>So what gives?</strong>  None of <code>This</code>'s imports import <code>OTHER</code> -- that was the first thing I checked.</p>
  
  <p>Could it be that if the code that imports <code>This</code> also imports <code>OTHER</code>, <code>OTHER</code> is available to <code>This</code>?
  </strike></p>
  
  <hr>
  
  <p>Clarification of question:</p>
  
  <ul>
  <li><code>X</code>, <code>Y</code>, and <code>Z</code> are modules.</li>
  <li>in <strong>X</strong>: <code>use Y;</code></li>
  <li>in <strong>X</strong>: <code>use Z;</code></li>
  <li><code>Y</code> <em>does not</em> <code>use</code> <code>Z</code></li>
  </ul>
  
  <p><strong>Does <code>Y</code> have access to the functions and methods in <code>Z</code> (and vice versa)?</strong></p>