Name
use
Synopsis
use Module list use version use Module version list
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 { requireModule
; importModule
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
that tells 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 defined in the Exporter module.
If you don’t want your namespace altered, explicitly supply an empty list:
use Module
( );
This is exactly equivalent to the following:
BEGIN { require Module
; }
Because this is a wide-open interface, pragmas (compiler directives) are also implemented this way. (See ...
Get Perl in a Nutshell, 2nd Edition 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.