Chapter 12. Using Modules
A module is a building block for your program: a set of related subroutines and variables packaged so it can be reused. This chapter looks at the basics of modules: how to bring in modules that others have written, and how to write modules of your own.
Sample Function-Oriented Interface: File::Basename
To understand what happens with
use, look at one of the many modules included with
a normal Perl distribution:
module parses file specifications into useful pieces in a mostly
portable manner. The default usage:
into the current package: typically,
main in the
main part of your program. From this point forward, within this
package, you can say: 
my $basename = basename($some_full_path); my $dirname = dirname($some_full_path);
as if you had written the
dirname subroutines yourself, or (nearly) as if
they were built-in Perl functions.
However, suppose you already had a
dirname subroutine? You’ve now
overwritten it with the definition provided by
File::Basename! If you had turned on warnings,
you’d see a message stating that, but otherwise,
Perl really doesn’t care.
Selecting What to Import
Fortunately, you can tell the
use operation to limit its actions. Do this by
specifying a list of subroutine names following the module name,
called the import list:
use File::Basename ("fileparse", "basename");
Now define the two given ...