package
package - declare a separate global namespace
package NAMESPACE
Declares the compilation unit as being in the given namespace. The scope
of the package declaration is from the declaration itself through the end of
the enclosing block (the same scope as the
local()
operator). All further
unqualified dynamic identifiers will be in this namespace. A package
statement only affects dynamic variables--including those you've used
local()
on--but not lexical variables created with
my()
. Typically it
would be the first declaration in a file to be included by the
require
or
use
operator. You can switch into a package in more than one place;
it merely influences which symbol table is used by the compiler for the
rest of that block. You can refer to variables and filehandles in other
packages by prefixing the identifier with the package name and a double
colon: $Package::Variable
. If the package name is null, the main
package as assumed. That is, $::sail
is equivalent to $main::sail
.
See ``Packages'' for more information about packages, modules,
and classes. See
the perlsub manpage
for other scoping issues.