The Exporter module implements a default import method which many modules choose to inherit rather than implement their own. Perl automatically calls the import method when processing a use statement for a module. Modules and use are documented in the perlfunc manpage and the perlmod manpage . Understanding the concept of modules and how the use statement operates is important to understanding the Exporter.
Exports pollute the namespace of the module user.
By convention you can use a leading underscore on names to informally indicate that they are 'internal' and not for public use. As a general rule, if the module is trying to be object oriented then export nothing. Other module design guidelines can be found in the perlmod manpage . They are processed left to right. This can be used to validate that the version of the module being used is greater than or equal to the required version.