Just thought I'd add that, as far as I know, 'use' happens at compile time only, so you have to 'require' modules at runtime. Also, for OO modules, is there any need to do an import?
Well, that depends on what the module wants to do, doesn't?
I sometimes let OO modules export constants, or a subroutine
that returns an object. And there are other things you
might want to do in an import.