ASPN ActiveState Programmer Network
  ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups | Web Services
SEARCH
advanced | search help

Reference
ActivePerl 5.10
Core Documentation
perl
perlintro
perltoc
perlreftut
perldsc
perllol
perlrequick
perlretut
perlboot
perltoot
perltooc
perlbot
perlstyle
perlcheat
perltrap
perldebtut
perlfaq
perlfaq1
perlfaq2
perlfaq3
perlfaq4
perlfaq5
perlfaq6
perlfaq7
perlfaq8
perlfaq9
perlsyn
perldata
perlop
perlsub
perlfunc
perlopentut
perlpacktut
perlpod
perlpodspec
perlrun
perldiag
perllexwarn
perldebug
perlvar
perlre
perlrebackslash
perlrecharclass
perlreref
perlref
perlform
perlobj
perltie
perldbmfilter
perlipc
perlfork
perlnumber
perlthrtut
perlothrtut
perlport
perllocale
perluniintro
perlunicode
perlunifaq
perlunitut
perlebcdic
perlsec
perlmod
perlmodlib
perlmodstyle
perlmodinstall
perlnewmod
perlpragma
perlutil
perlcompile
perlfilter
perlglossary
perlembed
perldebguts
perlxstut
perlxs
perlclib
perlguts
perlcall
perlreapi
perlreguts
perlapi
perlintern
perliol
perlapio
perlhack
perlbook
perlcommunity
perltodo
perldoc
perlhist
perldelta
perl5100delta
perl595delta
perl594delta
perl593delta
perl592delta
perl591delta
perl590delta
perl588delta
perl587delta
perl586delta
perl585delta
perl584delta
perl583delta
perl582delta
perl581delta
perl58delta
perl573delta
perl572delta
perl571delta
perl570delta
perl561delta
perl56delta
perl5005delta
perl5004delta
perlartistic
perlgpl
perlcn
perljp
perlko
perltw
perlaix
perlamiga
perlapollo
perlbeos
perlbs2000
perlce
perlcygwin
perldgux
perldos
perlepoc
perlfreebsd
perlhpux
perlhurd
perlirix
perllinux
perlmachten
perlmacos
perlmacosx
perlmint
perlmpeix
perlnetware
perlopenbsd
perlos2
perlos390
perlos400
perlplan9
perlqnx
perlriscos
perlsolaris
perlsymbian
perltru64
perluts
perlvmesa
perlvms
perlvos
perlwin32

MyASPN >> Reference >> ActivePerl 5.10 >> Core Documentation
ActivePerl 5.10 documentation


NAME

perlmodlib - constructing new Perl modules and finding existing ones


THE PERL MODULE LIBRARY

Many modules are included in the Perl distribution. These are described below, and all end in .pm. You may discover compiled library files (usually ending in .so) or small pieces of modules to be autoloaded (ending in .al); these were automatically generated by the installation process. You may also discover files in the library directory that end in either .pl or .ph. These are old libraries supplied so that old programs that use them still run. The .pl files will all eventually be converted into standard modules, and the .ph files made by h2ph will probably end up as extension modules made by h2xs. (Some .ph values may already be available through the POSIX, Errno, or Fcntl modules.) The pl2pm file in the distribution may help in your conversion, but it's just a mechanical process and therefore far from bulletproof.

Pragmatic Modules

They work somewhat like compiler directives (pragmata) 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 lexically scoped, so an inner BLOCK may countermand them by saying:

    no integer;
    no strict 'refs';
    no warnings;

which lasts until the end of that BLOCK.

Some pragmas are lexically scoped--typically those that affect the $^H hints variable. Others affect the current package instead, like use vars and use subs, which 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).

attributes

Get/set subroutine or variable attributes

attrs

Set/get attributes of a subroutine (deprecated)

autouse

Postpone load of modules until a function is used

base

Establish an ISA relationship with base classes at compile time

bigint

Transparent BigInteger support for Perl

bignum

Transparent BigNumber support for Perl

bigrat

Transparent BigNumber/BigRational support for Perl

blib

Use MakeMaker's uninstalled version of a package

bytes

Force byte semantics rather than character semantics

charnames

Define character names for \N{named} string literal escapes

constant

Declare constants

diagnostics

Produce verbose warning diagnostics

encoding

Allows you to write your script in non-ascii or non-utf8

encoding::warnings

Warn on implicit encoding conversions

feature

Enable new syntactic features

fields

Compile-time class fields

filetest

Control the filetest permission operators

if

use a Perl module if a condition holds

integer

Use integer arithmetic instead of floating point

less

Request less of something

lib

Manipulate @INC at compile time

locale

Use and avoid POSIX locales for built-in operations

mro

Method Resolution Order

open

Set default PerlIO layers for input and output

ops

Restrict unsafe operations when compiling

overload

Package for overloading Perl operations

re

Alter regular expression behaviour

sigtrap

Enable simple signal handling

sort

Control sort() behaviour

strict

Restrict unsafe constructs

subs

Predeclare sub names

threads

Perl interpreter-based threads

threads::shared

Perl extension for sharing data structures between threads

utf8

Enable/disable UTF-8 (or UTF-EBCDIC) in source code

vars

Predeclare global variable names (obsolete)

version

Perl extension for Version Objects

vmsish

Control VMS-specific language features

warnings

Control optional warnings

warnings::register

Warnings import function

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.

It's possible that not all modules listed below are installed on your system. For example, the GDBM_File module will not be installed if you don't have the gdbm library.

AnyDBM_File

Provide framework for multiple DBMs

Archive::Extract

A generic archive extracting mechanism

Archive::Tar

Module for manipulations of tar archives

Archive::Tar::File

A subclass for in-memory extracted file from Archive::Tar

Attribute::Handlers

Simpler definition of attribute handlers

AutoLoader

Load subroutines only on demand

AutoSplit

Split a package for autoloading

B

The Perl Compiler

B::Concise

Walk Perl syntax tree, printing concise info about ops

B::Debug

Walk Perl syntax tree, printing debug info about ops

B::Deparse

Perl compiler backend to produce perl code

B::Lint

Perl lint

B::Showlex

Show lexical variables used in functions or files

B::Terse

Walk Perl syntax tree, printing terse info about ops

B::Xref

Generates cross reference reports for Perl programs

Benchmark

Benchmark running times of Perl code

CGI

Simple Common Gateway Interface Class

CGI::Apache

Backward compatibility module for CGI.pm

CGI::Carp

CGI routines for writing to the HTTPD (or other) error log

CGI::Cookie

Interface to Netscape Cookies

CGI::Fast

CGI Interface for Fast CGI

CGI::Pretty

Module to produce nicely formatted HTML code

CGI::Push

Simple Interface to Server Push

CGI::Switch

Backward compatibility module for defunct CGI::Switch

CGI::Util

Internal utilities used by CGI module

CORE

Pseudo-namespace for Perl's core routines

CPAN

Query, download and build perl modules from CPAN sites

CPAN::API::HOWTO

A recipe book for programming with CPAN.pm

CPAN::FirstTime

Utility for CPAN::Config file Initialization

CPAN::Kwalify

Interface between CPAN.pm and Kwalify.pm

CPAN::Nox

Wrapper around CPAN.pm without using any XS module

CPAN::Version

Utility functions to compare CPAN versions

CPANPLUS

API & CLI access to the CPAN mirrors

CPANPLUS::Dist::Base

Base class for custom distribution classes

CPANPLUS::Dist::Sample

Sample code to create your own Dist::* plugin

CPANPLUS::Shell::Classic

CPAN.pm emulation for CPANPLUS

CPANPLUS::Shell::Default::Plugins::HOWTO

Documentation on how to write your own plugins

Carp

Warn of errors (from perspective of caller)

Carp::Heavy

Heavy machinery, no user serviceable parts inside

Class::ISA

Report the search path for a class's ISA tree

Class::Struct

Declare struct-like datatypes as Perl classes

Compress::Raw::Zlib

Low-Level Interface to zlib compression library

Compress::Zlib

Interface to zlib compression library

Config

Access Perl configuration information

Cwd

Get pathname of current working directory

DB

Programmatic interface to the Perl debugging API

DBM_Filter

Filter DBM keys/values

DBM_Filter::compress

Filter for DBM_Filter

DBM_Filter::encode

Filter for DBM_Filter

DBM_Filter::int32

Filter for DBM_Filter

DBM_Filter::null

Filter for DBM_Filter

DBM_Filter::utf8

Filter for DBM_Filter

DB_File

Perl5 access to Berkeley DB version 1.x

Data::Dumper

Stringified perl data structures, suitable for both printing and eval

Devel::DProf

A Perl code profiler

Devel::InnerPackage

Find all the inner packages of a package

Devel::Peek

A data debugging tool for the XS programmer

Devel::SelfStubber

Generate stubs for a SelfLoading module

Digest

Modules that calculate message digests

Digest::MD5

Perl interface to the MD5 Algorithm

Digest::SHA

Perl extension for SHA-1/224/256/384/512

Digest::base

Digest base class

Digest::file

Calculate digests of files

DirHandle

Supply object methods for directory handles

Dumpvalue

Provides screen dump of Perl data.

DynaLoader

Dynamically load C libraries into Perl code

Encode

Character encodings

Encode::Alias

Alias definitions to encodings

Encode::Byte

Single Byte Encodings

Encode::CJKConstants

Internally used by Encode::??::ISO_2022_*

Encode::CN

China-based Chinese Encodings

Encode::CN::HZ

Internally used by Encode::CN

Encode::Config

Internally used by Encode

Encode::EBCDIC

EBCDIC Encodings

Encode::Encoder

Object Oriented Encoder

Encode::Encoding

Encode Implementation Base Class

Encode::GSM0338

ESTI GSM 03.38 Encoding

Encode::Guess

Guesses encoding from data

Encode::JP

Japanese Encodings

Encode::JP::H2Z

Internally used by Encode::JP::2022_JP*

Encode::JP::JIS7

Internally used by Encode::JP

Encode::KR

Korean Encodings

Encode::KR::2022_KR

Internally used by Encode::KR

Encode::MIME::Header

MIME 'B' and 'Q' header encoding

Encode::MIME::Name

Internally used by Encode

Encode::PerlIO

A detailed document on Encode and PerlIO

Encode::Supported

Encodings supported by Encode

Encode::Symbol

Symbol Encodings

Encode::TW

Taiwan-based Chinese Encodings

Encode::Unicode

Various Unicode Transformation Formats

Encode::Unicode::UTF7

UTF-7 encoding

English

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

Env

Perl module that imports environment variables as scalars or arrays

Errno

System errno constants

Exporter

Implements default import method for modules

Exporter::Heavy

Exporter guts

ExtUtils::CBuilder

Compile and link C code for Perl modules

ExtUtils::CBuilder::Platform::Windows

Builder class for Windows platforms

ExtUtils::Command

Utilities to replace common UNIX commands in Makefiles etc.

ExtUtils::Command::MM

Commands for the MM's to use in Makefiles

ExtUtils::Constant

Generate XS code to import C header constants

ExtUtils::Constant::Base

Base class for ExtUtils::Constant objects

ExtUtils::Constant::Utils

Helper functions for ExtUtils::Constant

ExtUtils::Constant::XS

Base class for ExtUtils::Constant objects

ExtUtils::Embed

Utilities for embedding Perl in C/C++ applications

ExtUtils::Install

Install files from here to there

ExtUtils::Installed

Inventory management of installed modules

ExtUtils::Liblist

Determine libraries to use and how to use them

ExtUtils::MM

OS adjusted ExtUtils::MakeMaker subclass

ExtUtils::MM_AIX

AIX specific subclass of ExtUtils::MM_Unix

ExtUtils::MM_Any

Platform-agnostic MM methods

ExtUtils::MM_BeOS

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MM_Cygwin

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MM_DOS

DOS specific subclass of ExtUtils::MM_Unix

ExtUtils::MM_MacOS

Once produced Makefiles for MacOS Classic

ExtUtils::MM_NW5

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MM_OS2

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MM_QNX

QNX specific subclass of ExtUtils::MM_Unix

ExtUtils::MM_UWIN

U/WIN specific subclass of ExtUtils::MM_Unix

ExtUtils::MM_Unix

Methods used by ExtUtils::MakeMaker

ExtUtils::MM_VMS

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MM_VOS

VOS specific subclass of ExtUtils::MM_Unix

ExtUtils::MM_Win32

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MM_Win95

Method to customize MakeMaker for Win9X

ExtUtils::MY

ExtUtils::MakeMaker subclass for customization

ExtUtils::MakeMaker

Create a module Makefile

ExtUtils::MakeMaker::Config

Wrapper around Config.pm

ExtUtils::MakeMaker::FAQ

Frequently Asked Questions About MakeMaker

ExtUtils::MakeMaker::Tutorial

Writing a module with MakeMaker

ExtUtils::MakeMaker::bytes

Version-agnostic bytes.pm

ExtUtils::MakeMaker::vmsish

Platform-agnostic vmsish.pm

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