This section provides a tutorial example on how to switch name space with the 'package' statement and how to access identifiers from other name space with double colon '::'.
Name Space: A compilation unit used to isolate identifiers from different parts
of the source code. Name space is also called package. There are several basic
rules about name spaces:
There is a default name space called "main". So without any special coding,
every line of the source code is in the "main" name space.
You can use "package name_space;" statement to exit the current name space, and
to enter into a new name space.
The current name space ends at the
end of the current code block, or end of the current file.
Identifiers from an other name space can be accessed by prefixing the identifier
with the name space name followed by a double colon, ::.
The special symbol __PACKAGE__ contains the name of the current name space.
To verify those rules, I wrote the following program, NameSpaceTest.pl,
In main...
list = Java, Fortran, Perl, C++
In Calendar...
list = January, February, March, April
In Fruit...
list = peach, orange, mango, apple
Back in Calendar...
list = January, February, March, April
Back in Fruit...
main::p = Perl
Fruit::p = peach
list = peach, orange, mango, apple
main::list = Java, Fortran, Perl, C++
Calendar::list = January, February, March, April