in reply to Do multiple use statements across module dependency hierarchies require as little expense as multiple require statements?

The biggest expense is going to be if you have a very large @INC that you're searching across. If files are located further down in @INC, such as if you're loading stuff you installed from CPAN, or if some of your @INC directories are on NFS mounts, those are going a much longer time to resolve than any import/export stuff you're dealing with.

As for import/export stuff, I have a policy in my CPAN modules to never import stuff into my namespace, preferring instead to do the following:

use Scalar::Util (); if ( Scalar::Util::reftype( $thing ) eq 'HASH' ) { # Do stuff here }
This has a couple benefits (other than performance, which I wasn't thinking of) to my thinking:

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
  • Comment on Re: Do multiple use statements across module dependency hierarchies require as little expense as multiple require statements?
  • Download Code