package
package namespace
Declares that the rest of the innermost enclosing
block, subroutine, eval
, or
file belongs to the indicated
namespace
. (The scope of a package
declaration is thus the same as
the scope of a local
or
my
declaration.) All subsequent
references to unqualified global identifiers will be resolved by
looking them up in the declared packages symbol table. A package
declaration affects only global
variables—including those you’ve used local
on—but not lexical variables
created with my
.
Using package
without an
argument is possible, but since its semantics are unclear,
package;
has been depracated in
Perl 5.8. If you intend to disallow variables that aren’t fully
qualified, use strict;
instead.
Typically, you put a package
declaration as the first thing
in a file that will be included by the require
or use
operator, but you can put one
anywhere that a statement would be legal. When defining a class or
a module file, it is customary to name the package the same name
as the file, to avoid confusion. (It’s also customary to name such
packages beginning with a capital letter, because lowercase
modules are, by convention, interpreted as pragmas.)
18.189.171.193