AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
use Module LIST
use Module

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

BEGIN { require Module; import Module LIST; }

If you don't want your namespace altered, use require instead.

The BEGIN forces the require and import to happen at compile time.  The
require makes sure the module is loaded into memory if it hasn't been
yet.  The import is not a builtin™™it's just an ordinary static method
call into the "Module" package 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.

Because this is a wide™open interface, pragmas (compiler directives)
are also implemented this way.  Currently implemented pragmas are:

use integer;
use sigtrap qw(SEGV BUS);
use strict  qw(subs vars refs);
use subs    qw(afunc blurfl);

These pseudomodules import semantics into the current block scope, unlike
ordinary modules, which import symbols into the current package (which are
effective through the end of the file).

There's a corresponding "no" command that unimports meanings imported
by use.

no integer;
no strict 'refs';

See perlmod for a list of standard modules and pragmas.


[sh-index] Back to list of manuals