CONTENTS

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 use, or no. 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 $^H hints variable, the use vars and use subs declarations are not BLOCK-scoped. They allow you to predeclare a variables or subroutines within a particular file rather than just a block. Such declarations are effective for the entire file for which they were declared. You cannot rescind them with no vars or no subs.

The following pragmas are defined (and have their own documentation).

use autouse MODULE => qw(sub1 sub2 sub3)

Defers require MODULE 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.

blib

manipulate @INC at compile time to use MakeMaker's uninstalled version of a package

diagnostics

force verbose warning diagnostics

integer

compute arithmetic in integer instead of double

less

request less of something from the compiler

lib

manipulate @INC at compile time

locale

use or ignore current locale for builtin operations (see perllocale)

ops

restrict named opcodes when compiling or running Perl code

overload

overload basic Perl operations

re

alter behaviour of regular expressions

sigtrap

enable simple signal handling

strict

restrict unsafe constructs

subs

predeclare sub names

vmsish

adopt certain VMS-specific behaviors

vars

predeclare global variable names

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.

AnyDBM_File

provide framework for multiple DBMs

AutoLoader

load functions only on demand

AutoSplit

split a package for autoloading

Benchmark

benchmark running times of code

CPAN

interface to Comprehensive Perl Archive Network

CPAN::FirstTime

create a CPAN configuration file

CPAN::Nox

run CPAN while avoiding compiled extensions

Carp

warn of errors (from perspective of caller)

Class::Struct

declare struct-like datatypes

Config

access Perl configuration information

Cwd

get pathname of current working directory

DB_File

access to Berkeley DB

Devel::SelfStubber

generate stubs for a SelfLoading module

DirHandle

supply object methods for directory handles

DynaLoader

dynamically load C libraries into Perl code

English

use nice English (or awk) names for ugly punctuation variables

Env

import environment variables

Exporter

implements default import method for modules

ExtUtils::Embed

utilities for embedding Perl in C/C++ applications

ExtUtils::Install

install files from here to there

ExtUtils::Liblist

determine libraries to use and how to use them

ExtUtils::MM_OS2

methods to override Unix behaviour in ExtUtils::MakeMaker

ExtUtils::MM_Unix

methods used by ExtUtils::MakeMaker

ExtUtils::MM_VMS

methods to override Unix behaviour in ExtUtils::MakeMaker

ExtUtils::MakeMaker

create an extension Makefile

ExtUtils::Manifest

utilities to write and check a MANIFEST file

ExtUtils::Mkbootstrap

make a bootstrap file for use by DynaLoader

ExtUtils::Mksymlists

write linker options files for dynamic extension

ExtUtils::testlib

add blib/* directories to @INC

Fatal

make errors in builtins or Perl functions fatal

Fcntl

load the C Fcntl.h defines

File::Basename

split a pathname into pieces

File::CheckTree

run many filetest checks on a tree

File::Compare

compare files or filehandles

File::Copy

copy files or filehandles

File::Find

traverse a file tree

File::Path

create or remove a series of directories

File::stat

by-name interface to Perl's builtin stat() functions

FileCache

keep more files open than the system permits

FileHandle

supply object methods for filehandles

FindBin

locate directory of original Perl script

GDBM_File

access to the gdbm library

Getopt::Long

extended processing of command line options

Getopt::Std

process single-character switches with switch clustering

I18N::Collate

compare 8-bit scalar data according to the current locale

IO

load various IO modules

IO::File

supply object methods for filehandles

IO::Handle

supply object methods for I/O handles

IO::Pipe

supply object methods for pipes

IO::Seekable

supply seek based methods for I/O objects

IO::Select

OO interface to the select system call

IO::Socket

object interface to socket communications

IPC::Open2

open a process for both reading and writing

IPC::Open3

open a process for reading, writing, and error handling

Math::BigFloat

arbitrary length float math package

Math::BigInt

arbitrary size integer math package

Math::Complex

complex numbers and associated mathematical functions

Math::Trig

simple interface to parts of Math::Complex for those who need trigonometric functions only for real numbers

NDBM_File

tied access to ndbm files

Net::Ping

Hello, anybody home?

Net::hostent

by-name interface to Perl's builtin gethost*() functions

Net::netent

by-name interface to Perl's builtin getnet*() functions

Net::protoent

by-name interface to Perl's builtin getproto*() functions

Net::servent

by-name interface to Perl's builtin getserv*() functions

Opcode

disable named opcodes when compiling or running Perl code

Pod::Text

convert POD data to formatted ASCII text

POSIX

interface to IEEE Standard 1003.1

SDBM_File

tied access to sdbm files

Safe

compile and execute code in restricted compartments

Search::Dict

search for key in dictionary file

SelectSaver

save and restore selected file handle

SelfLoader

load functions only on demand

Shell

run shell commands transparently within Perl

Socket

load the C socket.h defines and structure manipulators

Symbol

manipulate Perl symbols and their names

Sys::Hostname

try every conceivable way to get hostname

Sys::Syslog

interface to the Unix syslog(3) calls

Term::Cap

termcap interface

Term::Complete

word completion module

Term::ReadLine

interface to various readline packages

Test::Harness

run Perl standard test scripts with statistics

Text::Abbrev

create an abbreviation table from a list

Text::ParseWords

parse text into an array of tokens

Text::Soundex

implementation of the Soundex Algorithm as described by Knuth

Text::Tabs

expand and unexpand tabs per the Unix expand(1) and unexpand(1)

Text::Wrap

line wrapping to form simple paragraphs

Tie::Hash

base class definitions for tied hashes

Tie::RefHash

base class definitions for tied hashes with references as keys

Tie::Scalar

base class definitions for tied scalars

Tie::SubstrHash

fixed-table-size, fixed-key-length hashing

Time::Local

efficiently compute time from local and GMT time

Time::gmtime

by-name interface to Perl's builtin gmtime() function

Time::localtime

by-name interface to Perl's builtin localtime() function

Time::tm

internal object used by Time::gmtime and Time::localtime

UNIVERSAL

base class for ALL classes (blessed references)

User::grent

by-name interface to Perl's builtin getgr*() functions

User::pwent

by-name interface to Perl's builtin getpw*() functions