in reply to USE or Require?
I find that modules that export by default aren't a big deal as long as the sub names are descriptive and you keep your use statement tight to the code that needs it.
For instance, the Compress::Zlib module exports compress() and decompress() automatically. In a recent bit of code, I wrote something like this:
my $data = 'mumble'; use Compress::Zlib; my $compressed = compress($data);
It should be fairly obvious, without reading the Compress::Zlib docs, where compress() comes from.
I will concede the point that this is not always possible, and that you often have little control over the sub names of a module.
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
Note: All code is untested, unless otherwise stated