Name
use
Synopsis
use Module list use version use Module version list
Description
If the first argument is a number, it is treated as a version number. If the version of Perl is less than version, an error message is printed and Perl exits. This provides a way to check the Perl version at compilation time, instead of waiting for runtime.
If version appears between Module and list, then use
calls the version
method in class Module with
version as an argument.
Otherwise, use
imports some semantics into
the current package
from the named Module, generally by aliasing certain subroutine or
variable names into your package. It is exactly equivalent to the following:
BEGIN { require Module; import Module list; }
The BEGIN
forces the require
and import
to
happen at compile time. The require
makes
sure that the module is loaded into memory if it hasn’t been yet.
The import
is not a built-in function—it’s just an ordinary static
method call into the package named by Module to tell
the module to import the list of features back into the current package. The
module can implement its import method any way it likes, though most modules
just choose to derive their import method via inheritance from the Exporter
class that is defined in the Exporter module.
If you don’t want your namespace altered, explicitly supply an empty list:
use Module ();
That is exactly equivalent to the following:
BEGIN { require Module; }
Because this is a wide-open interface, pragmas (compiler directives) are also implemented ...
Get Perl in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.