=head2 Pragmatic Modules They work somewhat like pragmas in that they tend to affect the compilation of your program, and thus will usually work well only when used within a C, or C. Most of these are locally scoped, so an inner BLOCK may countermand any of these by saying: no integer; no strict 'refs'; which lasts until the end of that BLOCK. Unlike the pragmas that effect the C<$^H> hints variable, the C and C declarations are not BLOCK-scoped. They allow you to predeclare a variables or subroutines within a particular I rather than just a block. Such declarations are effective for the entire file for which they were declared. You cannot rescind them with C or C. The following pragmas are defined (and have their own documentation). =over 12 =item * B<<< L<< use autouse MODULE => qw(sub1 sub2 sub3) >> >>> - Defers C until someone calls one of the specified subroutines (which must be exported by MODULE). This pragma should be used with caution, and only when necessary. =item * B<<< L<< blib >> >>> - manipulate @INC at compile time to use MakeMaker's uninstalled version of a package =item * B<<< L<< diagnostics >> >>> - force verbose warning diagnostics =item * B<<< L<< integer >> >>> - compute arithmetic in integer instead of double =item * B<<< L<< less >> >>> - request less of something from the compiler =item * B<<< L<< lib >> >>> - manipulate @INC at compile time =item * B<<< L<< locale >> >>> - use or ignore current locale for builtin operations (see L) =item * B<<< L<< ops >> >>> - restrict named opcodes when compiling or running Perl code =item * B<<< L<< overload >> >>> - overload basic Perl operations =item * B<<< L<< re >> >>> - alter behaviour of regular expressions =item * B<<< L<< sigtrap >> >>> - enable simple signal handling =item * B<<< L<< strict >> >>> - restrict unsafe constructs =item * B<<< L<< subs >> >>> - predeclare sub names =item * B<<< L<< vmsish >> >>> - adopt certain VMS-specific behaviors =item * B<<< L<< vars >> >>> - predeclare global variable names =back =head2 Standard Modules Standard, bundled modules are all expected to behave in a well-defined manner with respect to namespace pollution because they use the Exporter module. See their own documentation for details. =over 12 =item * B<<< L<< AnyDBM_File >> >>> - provide framework for multiple DBMs =item * B<<< L<< AutoLoader >> >>> - load functions only on demand =item * B<<< L<< AutoSplit >> >>> - split a package for autoloading =item * B<<< L<< Benchmark >> >>> - benchmark running times of code =item * B<<< L<< CPAN >> >>> - interface to Comprehensive Perl Archive Network =item * B<<< L<< CPAN::FirstTime >> >>> - create a CPAN configuration file =item * B<<< L<< CPAN::Nox >> >>> - run CPAN while avoiding compiled extensions =item * B<<< L<< Carp >> >>> - warn of errors (from perspective of caller) =item * B<<< L<< Class::Struct >> >>> - declare struct-like datatypes =item * B<<< L<< Config >> >>> - access Perl configuration information =item * B<<< L<< Cwd >> >>> - get pathname of current working directory =item * B<<< L<< DB_File >> >>> - access to Berkeley DB =item * B<<< L<< Devel::SelfStubber >> >>> - generate stubs for a SelfLoading module =item * B<<< L<< DirHandle >> >>> - supply object methods for directory handles =item * B<<< L<< DynaLoader >> >>> - dynamically load C libraries into Perl code =item * B<<< L<< English >> >>> - use nice English (or awk) names for ugly punctuation variables =item * B<<< L<< Env >> >>> - import environment variables =item * B<<< L<< Exporter >> >>> - implements default import method for modules =item * B<<< L<< ExtUtils::Embed >> >>> - utilities for embedding Perl in C/C++ applications =item * B<<< L<< ExtUtils::Install >> >>> - install files from here to there =item * B<<< L<< ExtUtils::Liblist >> >>> - determine libraries to use and how to use them =item * B<<< L<< ExtUtils::MM_OS2 >> >>> - methods to override Unix behaviour in ExtUtils::MakeMaker =item * B<<< L<< ExtUtils::MM_Unix >> >>> - methods used by ExtUtils::MakeMaker =item * B<<< L<< ExtUtils::MM_VMS >> >>> - methods to override Unix behaviour in ExtUtils::MakeMaker =item * B<<< L<< ExtUtils::MakeMaker >> >>> - create an extension Makefile =item * B<<< L<< ExtUtils::Manifest >> >>> - utilities to write and check a MANIFEST file =item * B<<< L<< ExtUtils::Mkbootstrap >> >>> - make a bootstrap file for use by DynaLoader =item * B<<< L<< ExtUtils::Mksymlists >> >>> - write linker options files for dynamic extension =item * B<<< L<< ExtUtils::testlib >> >>> - add blib/* directories to @INC =item * B<<< L<< Fatal >> >>> - make errors in builtins or Perl functions fatal =item * B<<< L<< Fcntl >> >>> - load the C Fcntl.h defines =item * B<<< L<< File::Basename >> >>> - split a pathname into pieces =item * B<<< L<< File::CheckTree >> >>> - run many filetest checks on a tree =item * B<<< L<< File::Compare >> >>> - compare files or filehandles =item * B<<< L<< File::Copy >> >>> - copy files or filehandles =item * B<<< L<< File::Find >> >>> - traverse a file tree =item * B<<< L<< File::Path >> >>> - create or remove a series of directories =item * B<<< L<< File::stat >> >>> - by-name interface to Perl's builtin stat() functions =item * B<<< L<< FileCache >> >>> - keep more files open than the system permits =item * B<<< L<< FileHandle >> >>> - supply object methods for filehandles =item * B<<< L<< FindBin >> >>> - locate directory of original Perl script =item * B<<< L<< GDBM_File >> >>> - access to the gdbm library =item * B<<< L<< Getopt::Long >> >>> - extended processing of command line options =item * B<<< L<< Getopt::Std >> >>> - process single-character switches with switch clustering =item * B<<< L<< I18N::Collate >> >>> - compare 8-bit scalar data according to the current locale =item * B<<< L<< IO >> >>> - load various IO modules =item * B<<< L<< IO::File >> >>> - supply object methods for filehandles =item * B<<< L<< IO::Handle >> >>> - supply object methods for I/O handles =item * B<<< L<< IO::Pipe >> >>> - supply object methods for pipes =item * B<<< L<< IO::Seekable >> >>> - supply seek based methods for I/O objects =item * B<<< L<< IO::Select >> >>> - OO interface to the select system call =item * B<<< L<< IO::Socket >> >>> - object interface to socket communications =item * B<<< L<< IPC::Open2 >> >>> - open a process for both reading and writing =item * B<<< L<< IPC::Open3 >> >>> - open a process for reading, writing, and error handling =item * B<<< L<< Math::BigFloat >> >>> - arbitrary length float math package =item * B<<< L<< Math::BigInt >> >>> - arbitrary size integer math package =item * B<<< L<< Math::Complex >> >>> - complex numbers and associated mathematical functions =item * B<<< L<< Math::Trig >> >>> - simple interface to parts of Math::Complex for those who need trigonometric functions only for real numbers =item * B<<< L<< NDBM_File >> >>> - tied access to ndbm files =item * B<<< L<< Net::Ping >> >>> - Hello, anybody home? =item * B<<< L<< Net::hostent >> >>> - by-name interface to Perl's builtin gethost*() functions =item * B<<< L<< Net::netent >> >>> - by-name interface to Perl's builtin getnet*() functions =item * B<<< L<< Net::protoent >> >>> - by-name interface to Perl's builtin getproto*() functions =item * B<<< L<< Net::servent >> >>> - by-name interface to Perl's builtin getserv*() functions =item * B<<< L<< Opcode >> >>> - disable named opcodes when compiling or running Perl code =item * B<<< L<< Pod::Text >> >>> - convert POD data to formatted ASCII text =item * B<<< L<< POSIX >> >>> - interface to IEEE Standard 1003.1 =item * B<<< L<< SDBM_File >> >>> - tied access to sdbm files =item * B<<< L<< Safe >> >>> - compile and execute code in restricted compartments =item * B<<< L<< Search::Dict >> >>> - search for key in dictionary file =item * B<<< L<< SelectSaver >> >>> - save and restore selected file handle =item * B<<< L<< SelfLoader >> >>> - load functions only on demand =item * B<<< L<< Shell >> >>> - run shell commands transparently within Perl =item * B<<< L<< Socket >> >>> - load the C socket.h defines and structure manipulators =item * B<<< L<< Symbol >> >>> - manipulate Perl symbols and their names =item * B<<< L<< Sys::Hostname >> >>> - try every conceivable way to get hostname =item * B<<< L<< Sys::Syslog >> >>> - interface to the Unix syslog(3) calls =item * B<<< L<< Term::Cap >> >>> - termcap interface =item * B<<< L<< Term::Complete >> >>> - word completion module =item * B<<< L<< Term::ReadLine >> >>> - interface to various C packages =item * B<<< L<< Test::Harness >> >>> - run Perl standard test scripts with statistics =item * B<<< L<< Text::Abbrev >> >>> - create an abbreviation table from a list =item * B<<< L<< Text::ParseWords >> >>> - parse text into an array of tokens =item * B<<< L<< Text::Soundex >> >>> - implementation of the Soundex Algorithm as described by Knuth =item * B<<< L<< Text::Tabs >> >>> - expand and unexpand tabs per the Unix expand(1) and unexpand(1) =item * B<<< L<< Text::Wrap >> >>> - line wrapping to form simple paragraphs =item * B<<< L<< Tie::Hash >> >>> - base class definitions for tied hashes =item * B<<< L<< Tie::RefHash >> >>> - base class definitions for tied hashes with references as keys =item * B<<< L<< Tie::Scalar >> >>> - base class definitions for tied scalars =item * B<<< L<< Tie::SubstrHash >> >>> - fixed-table-size, fixed-key-length hashing =item * B<<< L<< Time::Local >> >>> - efficiently compute time from local and GMT time =item * B<<< L<< Time::gmtime >> >>> - by-name interface to Perl's builtin gmtime() function =item * B<<< L<< Time::localtime >> >>> - by-name interface to Perl's builtin localtime() function =item * B<<< L<< Time::tm >> >>> - internal object used by Time::gmtime and Time::localtime =item * B<<< L<< UNIVERSAL >> >>> - base class for ALL classes (blessed references) =item * B<<< L<< User::grent >> >>> - by-name interface to Perl's builtin getgr*() functions =item * B<<< L<< User::pwent >> >>> - by-name interface to Perl's builtin getpw*() functions =back