Chapter 2
The list includes all the subroutines and variables defined in the package. It also
includes the symbol tables for any packages that begin with File::Find. For example,
if you were to also use the fictitious package File::Find::Faster, then the preceding
code would list Faster:: for File::Find::Faster's symbol table.
All nonlexical
5
symbols are stored in a symbol table even global variables.
What is normally referred to as a global variable in Perl is actually just a variable in
the default package called main:: . You can access the main package's symbol table
through two names %main:: and %::. So, in actuality, Perl has no global variables
just package variables in the default package.
Aside from this default package, no automatic prefix is assumed. This means
that all package names must be spelled out fully and are not based on the current
package. For example, this code:
package Poets::Appolinaire;
@Books = qw(Alcools Calligrams);
is not equivalent to:
package Poets;
@Appolinaire::Books = qw(Alcools Calligrams);
In order to reference @Poets::Appolinaire::Books from within the Poets package,
the full package name is required:
package Poets;
@Poets::Appolinaire::Books = qw(Alcools Calligrams);
This is a good reason to keep your package names reasonably short you'll have to
type the full name whenever you need to refer to the package.
CAUTION Modules with similar names do not necessarily have any
relationship. For example, the CGI and CGI::Thin modules have nothing in
common. CGI::Thin is not necessarily a subclass of CGI, as those with
object oriented experience might think. The most you can say with
confidence is that they both have something to do with CGI.
5. Lexical symbols are those created with the my operator.
26
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved