http://www.perlmonks.org?node_id=1016682


in reply to quick question on modules

An important point alluded to, but never explicitly stated, by the earlier answers: The only difference is in which symbols are aliased into the useing module. All of something::or::other will be compiled and kept in memory regardless of whether you only import funt or import all available symbols1. The memory used to load the module's code will dwarf the memory used to alias the exported symbols into the user's namespace, so it's not going to be a significant difference.

1 If the used module is built around Autoloader/AutoSplit/SelfLoader, this doesn't hold, as they allow the module to only load and compile subs on-demand instead of compiling the whole thing at program start-up. In my experience, though, this isn't done all that often, so it's probably safe to assume that any random module will be loaded in full if used.