Penguin

PERLTOC

PERLTOC

NAME DESCRIPTION BASIC DOCUMENTATION SYNOPSIS PRAGMA DOCUMENTATION MODULE DOCUMENTATION AUXILIARY DOCUMENTATION AUTHOR


NAME

perltoc - perl documentation table of contents

DESCRIPTION

This page provides a brief table of contents for the rest of the Perl documentation set. It is meant to be scanned quickly or grepped through to locate the proper section you're looking for.

BASIC DOCUMENTATION

perl - Practical Extraction and Report Language

SYNOPSIS

DESCRIPTION

AVAILABILITY

ENVIRONMENT

AUTHOR

FILES

SEE ALSO

DIAGNOSTICS

BUGS

NOTES

perlfaq - frequently asked questions about Perl ($Date: 1999/05/23 20:38:02 $)

DESCRIPTION

perlfaq: Structural overview of the FAQ .

perlfaq1: General Questions About Perl

perlfaq2: Obtaining and Learning about Perl

perlfaq3: Programming Tools

perlfaq4: Data Manipulation

perlfaq5: Files and Formats

perlfaq6: Regexps

perlfaq7: General Perl Language Issues

perlfaq8: System Interaction

perlfaq9: Networking

About the perlfaq documents

Where to get the perlfaq

How to contribute to the perlfaq

What will happen if you mail your Perl programming problems to the authors

Credits

Author and Copyright Information

Bundled Distributions

Disclaimer

Changes

1/November/2000, 23/May/99, 13/April/99, 7/January/99, 22/June/98, 24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version, Initial Release: 11/March/97

perlbook - Perl book information

DESCRIPTION

perlsyn - Perl syntax

DESCRIPTION

Declarations

Simple statements

Compound statements

Loop Control

For Loops

Foreach Loops

Basic BLOCKs and Switch Statements

Goto

PODs: Embedded Documentation

Plain Old Comments (Not!)

perldata - Perl data types

DESCRIPTION

Variable names

Context

Scalar values

Scalar value constructors

List value constructors

Slices

Typeglobs and Filehandles

SEE ALSO

perlop - Perl operators and precedence

SYNOPSIS

DESCRIPTION

Terms and List Operators (Leftward)

The Arrow Operator

Auto-increment and Auto-decrement

Exponentiation

Symbolic Unary Operators

Binding Operators

Multiplicative Operators

Additive Operators

Shift Operators

Named Unary Operators

Relational Operators

Equality Operators

Bitwise And

Bitwise Or and Exclusive Or

C-style Logical And

C-style Logical Or

Range Operators

Conditional Operator

Assignment Operators

Comma Operator

List Operators (Rightward)

Logical Not

Logical And

Logical or and Exclusive Or

C Operators Missing From Perl

unary TYPE )

Quote and Quote-like Operators

Regexp Quote-Like Operators

?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, 'STRING', qq/STRING/, `` STRING '', qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/, s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, y/SEARCHLIST/REPLACEMENTLIST/cds

Gory details of parsing quoted constructs

Finding the end, Removal of backslashes before delimiters, Interpolation, , m, s', tr///, y///, '', q//, , ``, qq//, qx//, , ?RE?, /RE/, m/RE/, s/RE/foo/,, Interpolation of regular expressions, Optimization of regular expressions

I/O Operators

Constant Folding

Bitwise String Operators

Integer Arithmetic

Floating-point Arithmetic

Bigger Numbers

perlsub - Perl subroutines

SYNOPSIS

DESCRIPTION

Private Variables via my()

Persistent Private Variables

Temporary Values via local()

Lvalue subroutines

Passing Symbol Table Entries (typeglobs)

When to Still Use local()

Pass by Reference

Prototypes

Constant Functions

Overriding Built-in Functions

Autoloading

Subroutine Attributes

SEE ALSO

perlfunc - Perl builtin functions

DESCRIPTION

Perl Functions by Category

Functions for SCALARs or strings, Regular expressions and pattern matching, Numeric functions, Functions for real @ARRAYs, Functions for list data, Functions for real %HASHes, Input and output functions, Functions for fixed length data or records, Functions for filehandles, files, or directories, Keywords related to the control flow of your perl program, Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups, Keywords related to perl modules, Keywords related to classes and object-orientedness, Low-level socket functions, System V interprocess communication functions, Fetching user and group info, Fetching network info, Time-related functions, Functions new in perl5, Functions obsoleted in perl5

Portability

Alphabetical Listing of Perl Functions

-X FILEHANDLE , -X EXPR , -X, abs VALUE , abs, accept NEWSOCKET ,GENERICSOCKET, alarm SECONDS , alarm, atan2 Y,X, bind SOCKET ,NAME, binmode FILEHANDLE , DISCIPLINE , binmode FILEHANDLE , bless REF ,CLASSNAME, bless REF , caller EXPR , caller, chdir EXPR , chmod LIST , chomp VARIABLE , chomp LIST , chomp, chop VARIABLE , chop LIST , chop, chown LIST , chr NUMBER , chr, chroot FILENAME , chroot, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET ,NAME, continue BLOCK , cos EXPR , cos, crypt PLAINTEXT ,SALT, dbmclose HASH , dbmopen HASH ,DBNAME,MASK, defined EXPR , defined, delete EXPR , die LIST , do BLOCK , do SUBROUTINE ( LIST ), do EXPR , dump LABEL , dump, each HASH , eof FILEHANDLE , eof (), eof, eval EXPR , eval BLOCK , exec LIST , exec PROGRAM LIST , exists EXPR , exit EXPR , exp EXPR , exp, fcntl FILEHANDLE ,FUNCTION,SCALAR, fileno FILEHANDLE , flock FILEHANDLE ,OPERATION, fork, format, formline PICTURE ,LIST, getc FILEHANDLE , getc, getlogin, getpeername SOCKET , getpgrp PID , getppid, getpriority WHICH ,WHO, getpwnam NAME , getgrnam NAME , gethostbyname NAME , getnetbyname NAME , getprotobyname NAME , getpwuid UID , getgrgid GID , getservbyname NAME ,PROTO, gethostbyaddr ADDR ,ADDRTYPE, getnetbyaddr ADDR ,ADDRTYPE, getprotobynumber NUMBER , getservbyport PORT ,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN , setnetent STAYOPEN , setprotoent STAYOPEN , setservent STAYOPEN , endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockname SOCKET , getsockopt SOCKET ,LEVEL,OPTNAME, glob EXPR , glob, gmtime EXPR , goto LABEL , goto EXPR , goto BLOCK LIST , grep EXPR ,LIST, hex EXPR , hex, import, index STR ,SUBSTR,POSITION, index STR ,SUBSTR, int EXPR , int, ioctl FILEHANDLE ,FUNCTION,SCALAR, join EXPR ,LIST, keys HASH , kill SIGNAL , LIST , last LABEL , last, lc EXPR , lc, lcfirst EXPR , lcfirst, length EXPR , length, link OLDFILE ,NEWFILE, listen SOCKET ,QUEUESIZE, local EXPR , localtime EXPR , lock, log EXPR , log, lstat FILEHANDLE , lstat EXPR , lstat, m//, map BLOCK LIST , map EXPR ,LIST, mkdir FILENAME ,MASK, mkdir FILENAME , msgctl ID ,CMD,ARG, msgget KEY ,FLAGS, msgrcv ID ,VAR,SIZE,TYPE,FLAGS, msgsnd ID ,MSG,FLAGS, my EXPR , my EXPR : ATTRIBUTES , next LABEL , next, no Module LIST , oct EXPR , oct, open FILEHANDLE ,MODE,LIST, open FILEHANDLE ,EXPR, open FILEHANDLE , opendir DIRHANDLE ,EXPR, ord EXPR , ord, our EXPR , pack TEMPLATE ,LIST, package NAMESPACE , package, pipe READHANDLE ,WRITEHANDLE, pop ARRAY , pop, pos SCALAR , pos, print FILEHANDLE LIST , print LIST , print, printf FILEHANDLE FORMAT , LIST , printf FORMAT , LIST , prototype FUNCTION , push ARRAY ,LIST, q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR , quotemeta, rand EXPR , rand, read FILEHANDLE ,SCALAR,LENGTH,OFFSET, read FILEHANDLE ,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR , readlink EXPR , readlink, readpipe EXPR , recv SOCKET ,SCALAR,LENGTH,FLAGS, redo LABEL , redo, ref EXPR , ref, rename OLDNAME ,NEWNAME, require VERSION , require EXPR , require, reset EXPR , reset, return EXPR , return, reverse LIST , rewinddir DIRHANDLE , rindex STR ,SUBSTR,POSITION, rindex STR ,SUBSTR, rmdir FILENAME , rmdir, s///, scalar EXPR , seek FILEHANDLE ,POSITION,WHENCE, seekdir DIRHANDLE ,POS, select FILEHANDLE , select, select RBITS ,WBITS,EBITS,TIMEOUT, semctl ID ,SEMNUM,CMD,ARG, semget KEY ,NSEMS,FLAGS, semop KEY ,OPSTRING, send SOCKET ,MSG,FLAGS,TO, send SOCKET ,MSG,FLAGS, setpgrp PID ,PGRP, setpriority WHICH ,WHO,PRIORITY, setsockopt SOCKET ,LEVEL,OPTNAME,OPTVAL, shift ARRAY , shift, shmctl ID ,CMD,ARG, shmget KEY ,SIZE,FLAGS, shmread ID ,VAR,POS,SIZE, shmwrite ID ,STRING,POS,SIZE, shutdown SOCKET ,HOW, sin EXPR , sin, sleep EXPR , sleep, socket SOCKET ,DOMAIN,TYPE,PROTOCOL, socketpair SOCKET1 ,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST , sort BLOCK LIST , sort LIST , splice ARRAY ,OFFSET,LENGTH,LIST, splice ARRAY ,OFFSET,LENGTH, splice ARRAY ,OFFSET, splice ARRAY , split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT , LIST , sqrt EXPR , sqrt, srand EXPR , srand, stat FILEHANDLE , stat EXPR , stat, study SCALAR , study, sub BLOCK , sub NAME , sub NAME BLOCK , substr EXPR ,OFFSET,LENGTH,REPLACEMENT, substr EXPR ,OFFSET,LENGTH, substr EXPR ,OFFSET, symlink OLDFILE ,NEWFILE, syscall LIST , sysopen FILEHANDLE ,FILENAME,MODE, sysopen FILEHANDLE ,FILENAME,MODE,PERMS, sysread FILEHANDLE ,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE ,SCALAR,LENGTH, sysseek FILEHANDLE ,POSITION,WHENCE, system LIST , system PROGRAM LIST , syswrite FILEHANDLE ,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE ,SCALAR,LENGTH, syswrite FILEHANDLE ,SCALAR, tell FILEHANDLE , tell, telldir DIRHANDLE , tie VARIABLE ,CLASSNAME,LIST, tied VARIABLE , time, times, tr///, truncate FILEHANDLE ,LENGTH, truncate EXPR ,LENGTH, uc EXPR , uc, ucfirst EXPR , ucfirst, umask EXPR , umask, undef EXPR , undef, unlink LIST , unlink, unpack TEMPLATE ,EXPR, untie VARIABLE , unshift ARRAY ,LIST, use Module VERSION LIST , use Module VERSION , use Module LIST , use Module, use VERSION , utime LIST , values HASH , vec EXPR ,OFFSET,BITS, wait, waitpid PID ,FLAGS, wantarray, warn LIST , write FILEHANDLE , write EXPR , write, y///

perlreftut - Mark's very short tutorial about references

DESCRIPTION

Who Needs Complicated Data Structures?

The Solution

Syntax

Making References

Using References

An Example

Arrow Rule

Solution

The Rest

Summary

Credits

Distribution Conditions

perldsc - Perl Data Structures Cookbook

DESCRIPTION

arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs

REFERENCES

COMMON MISTAKES

CAVEAT ON PRECEDENCE

WHY YOU SHOULD ALWAYS use strict

DEBUGGING

CODE EXAMPLES

ARRAYS OF ARRAYS

Declaration of a ARRAY OF ARRAYS

Generation of a ARRAY OF ARRAYS

Access and Printing of a ARRAY OF ARRAYS

HASHES OF ARRAYS

Declaration of a HASH OF ARRAYS

Generation of a HASH OF ARRAYS

Access and Printing of a HASH OF ARRAYS

ARRAYS OF HASHES

Declaration of a ARRAY OF HASHES

Generation of a ARRAY OF HASHES

Access and Printing of a ARRAY OF HASHES

HASHES OF HASHES

Declaration of a HASH OF HASHES

Generation of a HASH OF HASHES

Access and Printing of a HASH OF HASHES

MORE ELABORATE RECORDS

Declaration of MORE ELABORATE RECORDS

Declaration of a HASH OF COMPLEX RECORDS

Generation of a HASH OF COMPLEX RECORDS

Database Ties

SEE ALSO

AUTHOR

perlrequick - Perl regular expressions quick start

DESCRIPTION

The Guide

Simple word matching

Using character classes

Matching this or that

Grouping things and hierarchical matching

Extracting matches

Matching repetitions

More matching

Search and replace

The split operator

BUGS

SEE ALSO

AUTHOR AND COPYRIGHT

Acknowledgments

perlpod - plain old documentation

DESCRIPTION

Verbatim Paragraph

Command Paragraph

Ordinary Block of Text

The Intent

Embedding Pods in Perl Modules

Common Pod Pitfalls

SEE ALSO

AUTHOR

perlstyle - Perl style guide

DESCRIPTION

perltrap - Perl traps for the unwary

DESCRIPTION

Awk Traps

C Traps

Sed Traps

Shell Traps

Perl Traps

Perl4 to Perl5 Traps

Discontinuance, Deprecation, and !BugFix? traps, Parsing Traps, Numerical Traps, General data type traps, Context Traps - scalar, list contexts, Precedence Traps, General Regular Expression Traps using s///, etc, Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps

Discontinuance, Deprecation, and !BugFix? traps

Discontinuance, Deprecation, !BugFix?, Discontinuance, Discontinuance, Discontinuance, !BugFix?, Discontinuance, Discontinuance, !BugFix?, Discontinuance, Deprecation, Discontinuance, Discontinuance

Parsing Traps

Parsing, Parsing, Parsing, Parsing

Numerical Traps

Numerical, Numerical, Numerical, Bitwise string ops

General data type traps

(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String), (Constants), (Scalars), (Variable Suicide)

Context Traps - scalar, list contexts

(list context), (scalar context), (scalar context), (list, builtin)

Precedence Traps

Precedence, Precedence, Precedence, Precedence, Precedence, Precedence, Precedence

General Regular Expression Traps using s///, etc.

Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression

Subroutine, Signal, Sorting Traps

(Signals), (Sort Subroutine), warn() won't let you specify a filehandle

OS Traps

(SysV), (SysV)

Interpolation Traps

Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation

DBM Traps

DBM , DBM

Unclassified Traps

require/do trap using returned value, split on empty string with LIMIT specified

perlrun - how to execute the Perl interpreter

SYNOPSIS

DESCRIPTION

  1. and quoting on non-Unix systems

OS/2 , MS-DOS , Win95/NT, Macintosh, VMS

Location of Perl

Command Switches

-0[''digits''?, -a, -C, -c, -d, -d:foo[=bar,baz?, -Dletters, -Dnumber, -e commandline, -Fpattern, -h, -i[''extension''?, -Idirectory, -l[''octnum''?, -m[__-__?module, -M[__-__?module, -M[__-__?'module ...', -[mM?[__-__?module=arg[,arg?..., -n, -p, -P, -s, -S, -T, -u, -U, -v, -V, -V:name, -w, -W, -X, -x directory

ENVIRONMENT

HOME , LOGDIR , PATH , PERL5LIB , PERL5OPT , PERLLIB , PERL5DB , PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS , PERL_DESTRUCT_LEVEL , PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port)

perldiag - various Perl diagnostics

DESCRIPTION

perllexwarn - Perl Lexical Warnings

DESCRIPTION

Default Warnings and Optional Warnings

What's wrong with -w and $^W

Controlling Warnings from the Command Line

-w, -W, -X

Backward Compatibility

Category Hierarchy

Fatal Warnings

Reporting Warnings from a Module

TODO

SEE ALSO

AUTHOR

perldebtut - Perl debugging tutorial

DESCRIPTION

use strict

Looking at data and -w and w

help

Stepping through code

Placeholder for a, w, t, T

REGULAR EXPRESSIONS

OUTPUT TIPS

CGI

GUIs

SUMMARY

SEE ALSO

AUTHOR

CONTRIBUTORS

perldebug - Perl debugging

DESCRIPTION

The Perl Debugger

Debugger Commands

h [command?, p expr, x expr, V [pkg [[vars?], X [vars?, T, s [expr?, n [expr?, r, CR

Configurable Options

recallCommand, !ShellBang?, pager, tkRunning, signalLevel, warnLevel, dieLevel, !AutoTrace?,

LineInfo?, inhibit_exit, !PrintRet?,

ornaments, frame, maxTraceLen, arrayDepth, hashDepth, compactDump, veryCompact, globPrint, DumpDBFiles,

DumpPackages?, !DumpReused?, quote,

HighBit?, undefPrint, !UsageOnly?,

TTY, noTTY, !ReadLine?,

NonStop?

Debugger input/output

Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame listing

Debugging compile-time statements

Debugger Customization

Readline Support

Editor Support for Debugging

The Perl Profiler

Debugging regular expressions

Debugging memory usage

SEE ALSO

BUGS

perlvar - Perl predefined variables

DESCRIPTION

Predefined Names

$ARG, $_, $digits$MATCH, $$PREMATCH, $`, $POSTMATCH, $', $LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*, input_line_number HANDLE EXPR , $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR , $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR , $OUTPUT_AUTOFLUSH, $, output_field_separator HANDLE EXPR , $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE EXPR , $OUTPUT_RECORD_SEPARATOR, $ORS, $, $LIST_SEPARATOR, $ $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE EXPR , $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR , $FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR , $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, $` is the same as substr($var, 0, $-[0?), $ is the same as substr($var, $-[0?, $+[0? - $-[0?), $' is the same as substr($var, $+[0?), $1 is the same as substr($var, $-[1?, $+[1? - $-[1?), $2 is the same as substr($var, $-[2?, $+[2? - $-[2?), $3 is the same as substr $var, $-[3?, $+[3? - $-[3?), format_name HANDLE EXPR , $FORMAT_NAME, $, format_top_name HANDLE EXPR , $FORMAT_TOP_NAME, $^, format_line_break_characters HANDLE EXPR , $FORMAT_LINE_BREAK_CHARACTERS, $:, format_formfeed HANDLE EXPR , $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $$EFFECTIVE_USER_ID, $EUID, $ $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $?, $COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr}

Error Indicators

Technical Note on the Syntax of Variable Names

BUGS

perllol - Manipulating Arrays of Arrays in Perl

DESCRIPTION

Declaration and Access of Arrays of Arrays

Growing Your Own

Access and Printing

Slices

SEE ALSO

AUTHOR

perlopentut - tutorial on opening things in Perl

DESCRIPTION

Openla shellA

Simple Opens

Pipe Opens

The Minus File

Mixing Reads and Writes

Filters

Open Ala C

Permissionsla modeA

Obscure Open Tricks

Re-Opening Files (dups)

Dispelling the Dweomer

Paths as Opens

Single Argument Open

Playing with STDIN and STDOUT

Other I/O Issues

Opening Non-File Files

Binary Files

File Locking

SEE ALSO

AUTHOR and COPYRIGHT

HISTORY

perlretut - Perl regular expressions tutorial

DESCRIPTION

Part 1: The basics

Simple word matching

Using character classes

Matching this or that

Grouping things and hierarchical matching

Extracting matches

Matching repetitions

Building a regexp

Using regular expressions in Perl

Part 2: Power tools

More on characters, strings, and character classes

Compiling and saving regular expressions

Embedding comments and modifiers in a regular expression

Non-capturing groupings

Looking ahead and looking behind

Using independent subexpressions to prevent backtracking

Conditional expressions

A bit of magic: executing Perl code in a regular expression

Pragmas and debugging

BUGS

SEE ALSO

AUTHOR AND COPYRIGHT

Acknowledgments

perlre - Perl regular expressions

DESCRIPTION

i, m, s, x

Regular Expressions

cntrl, graph, print, punct, xdigit

Extended Patterns

(?#text), (?imsx-imsx), (?:pattern), (?imsx-imsx:pattern), (?=pattern), (?!pattern), (?, (?, (?{ code }), (??{ code }), (?, (?(condition)yes-patternno-pattern), (?(condition)yes-pattern)

Backtracking

Version 8 Regular Expressions

Warning on 1 vs $1

Repeated patterns matching zero-length substring

Combining pieces together

ST, ST, S{REPEAT_COUNT}, S{min,max}, S{min,max}?, S?, S*, S+, S??, S*?, S+?, (?, (?=S), (?, (?!S), (?, (??{ EXPR }), (?(condition)yes-patternno-pattern)

Creating custom RE engines

BUGS

SEE ALSO

perlref - Perl references and nested data structures

NOTE

DESCRIPTION

Making References

Using References

Symbolic references

Not-so-symbolic references

Pseudo-hashes: Using an array as a hash

Function Templates

WARNING

SEE ALSO

perlform - Perl formats

DESCRIPTION

Format Variables

NOTES

Footers

Accessing Formatting Internals

WARNINGS

perlboot - Beginner's Object-Oriented Tutorial

DESCRIPTION

If we could talk to the animals...

Introducing the method invocation arrow

Invoking a barnyard

The extra parameter of method invocation

Calling a second method to simplify things

Inheriting the windpipes

A few notes about @ISA

Overriding the methods

Starting the search from a different place

The SUPER way of doing things

Where we're at so far...

A horse is a horse, of course of course -- or is it?

Invoking an instance method

Accessing the instance data

How to build a horse

Inheriting the constructor

Making a method work with either classes or instances

Adding parameters to a method

More interesting instances

A horse of a different color

Summary

SEE ALSO

COPYRIGHT

perltoot - Tom's object-oriented tutorial for perl

DESCRIPTION

Creating a Class

Object Representation

Class Interface

Constructors and Instance Methods

Planning for the Future: Better Constructors

Destructors

Other Object Methods

Class Data

Accessing Class Data

Debugging Methods

Class Destructors

Documenting the Interface

Aggregation

Inheritance

Overridden Methods

Multiple Inheritance

UNIVERSAL: The Root of All Objects

Alternate Object Representations

Arrays as Objects

Closures as Objects

AUTOLOAD: Proxy Methods

Autoloaded Data Methods

Inherited Autoloaded Data Methods

Metaclassical Tools

Class::Struct

Data Members as Variables

NOTES

Object Terminology

SEE ALSO

AUTHOR AND COPYRIGHT

COPYRIGHT

Acknowledgments

perltootc - Tom's OO Tutorial for Class Data in Perl

DESCRIPTION

Class Data in a Can

Class Data as Package Variables

Putting All Your Eggs in One Basket

Inheritance Concerns

The Eponymous Meta-Object

Indirect References to Class Data

Monadic Classes

Translucent Attributes

Class Data as Lexical Variables

Privacy and Responsibility

File-Scoped Lexicals

More Inheritance Concerns

Locking the Door and Throwing Away the Key

Translucency Revisited

NOTES

SEE ALSO

AUTHOR AND COPYRIGHT

ACKNOWLEDGEMENTS

HISTORY

perlobj - Perl objects

DESCRIPTION

An Object is Simply a Reference

A Class is Simply a Package

A Method is Simply a Subroutine

Method Invocation

WARNING

Default UNIVERSAL methods

isa( CLASS ), can( METHOD ), VERSION ( [ NEED? )

Destructors

Summary

Two-Phased Garbage Collection

SEE ALSO

perlbot - Bag'o Object Tricks (the BOT )

DESCRIPTION

OO SCALING TIPS

INSTANCE VARIABLES

SCALAR INSTANCE VARIABLES

INSTANCE VARIABLE INHERITANCE

OBJECT RELATIONSHIPS

OVERRIDING SUPERCLASS METHODS

USING RELATIONSHIP WITH SDBM

THINKING OF CODE REUSE

CLASS CONTEXT AND THE OBJECT

INHERITING A CONSTRUCTOR

DELEGATION

perltie - how to hide an object class in a simple variable

SYNOPSIS

DESCRIPTION

Tying Scalars

TIESCALAR classname, LIST , FETCH this, STORE this, value, UNTIE this, DESTROY this

Tying Arrays

TIEARRAY classname, LIST , FETCH this, index, STORE this, index, value, FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this, key, DELETE this, key, CLEAR this, PUSH this, LIST , POP this, SHIFT this, UNSHIFT this, LIST , SPLICE this, offset, length, LIST , UNTIE this, DESTROY this

Tying Hashes

USER , HOME , CLOBBER , LIST , TIEHASH classname, LIST , FETCH this, key, STORE this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY this, NEXTKEY this, lastkey, UNTIE this, DESTROY this

Tying !FileHandles?

TIEHANDLE classname, LIST , WRITE this, LIST , PRINT this, LIST , PRINTF this, LIST , READ this, LIST , READLINE this, GETC this, CLOSE this, UNTIE this, DESTROY this

UNTIE this

The untie Gotcha

SEE ALSO

BUGS

AUTHOR

perlipc - Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)

DESCRIPTION

Signals

Named Pipes

WARNING

Using open() for IPC

Filehandles

Background Processes

Complete Dissociation of Child from Parent

Safe Pipe Opens

Bidirectional Communication with Another Process

Bidirectional Communication with Yourself

Sockets: Client/Server Communication

Internet Line Terminators

Internet TCP Clients and Servers

Unix-Domain TCP Clients and Servers

TCP Clients with IO::Socket

A Simple Client

Proto, !PeerAddr?,

PeerPort?

A Webget Client

Interactive Client with IO::Socket

TCP Servers with IO::Socket

Proto, !LocalPort?, Listen, Reuse

UDP: Message Passing

SysV IPC

NOTES

BUGS

AUTHOR

SEE ALSO

perlfork - Perl's fork() emulation ( EXPERIMENTAL , subject to change)

SYNOPSIS

DESCRIPTION

Behavior of other Perl features in forked pseudo-processes

$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to files, directories and network sockets

Resource limits

Killing the parent process

Lifetime of the parent process and pseudo-processes

CAVEATS AND LIMITATIONS

BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented, Global state maintained by XSUBs, Interpreter embedded in larger application, Thread-safety of extensions

BUGS

AUTHOR

SEE ALSO

perlnumber - semantics of numbers and numeric operations in Perl

SYNOPSIS

DESCRIPTION

Storing numbers

Numeric operators and numeric conversions

Flavors of Perl numeric operations

Arithmetic operators except, no integer, Arithmetic operators except, use integer, Bitwise operators, no integer, Bitwise operators, use integer, Operators which expect an integer, Operators which expect a string

AUTHOR

SEE ALSO

perlthrtut - tutorial on threads in Perl

DESCRIPTION

What Is A Thread Anyway?

Threaded Program Models

Boss/Worker

Work Crew

Pipeline

Native threads

What kind of threads are perl threads?

Threadsafe Modules

Thread Basics

Basic Thread Support

Creating Threads

Giving up control

Waiting For A Thread To Exit

Errors In Threads

Ignoring A Thread

Threads And Data

Shared And Unshared Data

Thread Pitfall: Races

Controlling access: lock()

Thread Pitfall: Deadlocks

Queues: Passing Data Around

Threads And Code

Semaphores: Synchronizing Data Access

Basic semaphores, Advanced Semaphores

Attributes: Restricting Access To Subroutines

Subroutine Locks

Methods

Locking A Subroutine

General Thread Utility Routines

What Thread Am I In?

Thread IDs

Are These Threads The Same?

What Threads Are Running?

A Complete Example

Conclusion

Bibliography

Introductory Texts

OS-Related References

Other References

Acknowledgements

AUTHOR

Copyrights

perlport - Writing portable Perl

DESCRIPTION

Not all Perl programs have to be portable, Nearly all of Perl already is portable

ISSUES

Newlines

Numbers endianness and Width

Files and Filesystems

System Interaction

Interprocess Communication ( IPC )

External Subroutines ( XS )

Standard Modules

Time and Date

Character sets and character encoding

Internationalisation

System Resources

Security

Style

CPAN Testers

Mailing list: cpan-testers@perl.org, Testing results: http://testers.cpan.org/

PLATFORMS

Unix

DOS and Derivatives

Mac OS

VMS

VOS

EBCDIC Platforms

Acorn RISC OS

Other perls

FUNCTION IMPLEMENTATIONS

Alphabetical Listing of Perl Functions

  • X FILEHANDLE , -X

EXPR , -X, alarm SECONDS , alarm, binmode FILEHANDLE , chmod LIST , chown LIST , chroot FILENAME , chroot, crypt PLAINTEXT ,SALT, dbmclose HASH , dbmopen HASH ,DBNAME,MODE, dump LABEL , exec LIST , fcntl FILEHANDLE ,FUNCTION,SCALAR, flock FILEHANDLE ,OPERATION, fork, getlogin, getpgrp PID , getppid, getpriority WHICH ,WHO, getpwnam NAME , getgrnam NAME , getnetbyname NAME , getpwuid UID , getgrgid GID , getnetbyaddr ADDR ,ADDRTYPE, getprotobynumber NUMBER , getservbyport PORT ,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN , setnetent STAYOPEN , setprotoent STAYOPEN , setservent STAYOPEN , endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET ,LEVEL,OPTNAME, glob EXPR , glob, ioctl FILEHANDLE ,FUNCTION,SCALAR, kill SIGNAL , LIST , link OLDFILE ,NEWFILE, lstat FILEHANDLE , lstat EXPR , lstat, msgctl ID ,CMD,ARG, msgget KEY ,FLAGS, msgsnd ID ,MSG,FLAGS, msgrcv ID ,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE ,EXPR, open FILEHANDLE , pipe READHANDLE ,WRITEHANDLE, readlink EXPR , readlink, select RBITS ,WBITS,EBITS,TIMEOUT, semctl ID ,SEMNUM,CMD,ARG, semget KEY ,NSEMS,FLAGS, semop KEY ,OPSTRING, setgrent, setpgrp PID ,PGRP, setpriority WHICH ,WHO,PRIORITY, setpwent, setsockopt SOCKET ,LEVEL,OPTNAME,OPTVAL, shmctl ID ,CMD,ARG, shmget KEY ,SIZE,FLAGS, shmread ID ,VAR,POS,SIZE, shmwrite ID ,STRING,POS,SIZE, socketpair SOCKET1 ,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE , stat EXPR , stat, symlink OLDFILE ,NEWFILE, syscall LIST , sysopen FILEHANDLE ,FILENAME,MODE,PERMS, system LIST , times, truncate FILEHANDLE ,LENGTH, truncate EXPR ,LENGTH, umask EXPR , umask, utime LIST , wait, waitpid PID ,FLAGS

CHANGES

v1.48, 02 February 2001, v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998, v1.23, 10 July 1998

Supported Platforms

SEE ALSO

AUTHORS / CONTRIBUTORS

VERSION

perllocale - Perl locale handling (internationalization and localization)

DESCRIPTION

PREPARING TO USE LOCALES

USING LOCALES

The use locale pragma

The setlocale function

Finding locales

LOCALE PROBLEMS

Temporarily fixing locale problems

Permanently fixing locale problems

Permanently fixing your system's locale configuration

Fixing system locale configuration

The localeconv function

LOCALE CATEGORIES

Category LC_COLLATE: Collation

Category LC_CTYPE: Character Types

Category LC_NUMERIC: Numeric Formatting

Category LC_MONETARY: Formatting of monetary amounts

LC_TIME

Other categories

SECURITY

ENVIRONMENT

PERL_BADLANG , LC_ALL , LANGUAGE , LC_CTYPE , LC_COLLATE , LC_MONETARY , LC_NUMERIC , LC_TIME , LANG

NOTES

Backward compatibility

I18N:Collate obsolete

Sort speed and memory use impacts

write() and LC_NUMERIC

Freely available locale definitions

I18n and l10n

An imperfect standard

BUGS

Broken systems

SEE ALSO

HISTORY

perlunicode - Unicode support in Perl ( EXPERIMENTAL , subject to change)

DESCRIPTION

Important Caveat

Input and Output Disciplines, Regular Expressions, use utf8 still needed to enable a few features

Byte and Character semantics

Effects of character semantics

Character encodings for input and output

CAVEATS

SEE ALSO

perlebcdic - Considerations for running Perl on EBCDIC platforms

DESCRIPTION

COMMON CHARACTER CODE SETS

ASCII

ISO 8859

Latin 1 ( ISO 8859-1)

EBCDIC

13 variant characters

0037

1047

POSIX-BC

SINGLE OCTET TABLES

recipe 0, recipe 1, recipe 2, recipe 3, recipe 4

IDENTIFYING CHARACTER CODE SETS

CONVERSIONS

tr///

iconv

C RTL

OPERATOR DIFFERENCES

FUNCTION DIFFERENCES

chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()

REGULAR EXPRESSION DIFFERENCES

SOCKETS

SORTING

Ignore ASCII vs. EBCDIC sort differences.

MONO CASE then sort data.

Convert, sort data, then re convert.

Perform sorting on one type of machine only.

TRANFORMATION FORMATS

URL decoding and encoding

uu encoding and decoding

Quoted-Printable encoding and decoding

Caesarian cyphers

Hashing order and checksums

I18N AND L10N

MULTI OCTET CHARACTER SETS

OS ISSUES

OS/400

IFS access

OS/390

chcp, dataset access, OS/390 iconv, locales

VM/ESA ?

POSIX-BC ?

BUGS

SEE ALSO

REFERENCES

AUTHOR

perlsec - Perl security

DESCRIPTION

Laundering and Detecting Tainted Data

Switches On the ``#!'' Line

Cleaning Up Your Path

Security Bugs

Protecting Your Programs

SEE ALSO

perlmod - Perl modules (packages and symbol tables)

DESCRIPTION

Packages

Symbol Tables

Package Constructors and Destructors

Perl Classes

Perl Modules

SEE ALSO

perlmodlib - constructing new Perl modules and finding existing ones

DESCRIPTION

THE PERL MODULE LIBRARY

Pragmatic Modules

attributes, attrs, autouse, base, blib, bytes, charnames, constant, diagnostics, fields, filetest, integer, less, lib, locale, open, ops, overload, re, sigtrap, strict, subs, utf8, vars, warnings, warnings::register

Standard Modules

AnyDBM_File, !AutoLoader?, !AutoSplit?, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark, !ByteLoader?, CGI , CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN , CPAN::!FirstTime?, CPAN::Nox, Carp, Carp::Heavy, Class::Struct, Cwd, DB , DB_File, Devel::!SelfStubber?, !DirHandle?, Dumpvalue, English, Env, Exporter, Exporter::Heavy, !ExtUtils?::Command,

ExtUtils?::Embed, !ExtUtils?::Install, !ExtUtils?::Installed,

ExtUtils?::Liblist, !ExtUtils?::MM_Cygwin, !ExtUtils?::MM_OS2,

ExtUtils?::MM_Unix, !ExtUtils?::MM_VMS, !ExtUtils?::MM_Win32,

ExtUtils?::!MakeMaker?, !ExtUtils?::Manifest,

ExtUtils?::Mkbootstrap, !ExtUtils?::Mksymlists,

ExtUtils?::Packlist, !ExtUtils?::testlib, Fatal, Fcntl,

File::Basename, File::!CheckTree?, File::Compare, File::Copy, File::!DosGlob?, File::Find, File::Path, File::Spec, File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, !FileCache?,

FileHandle?, !FindBin?, GDBM_File, Getopt::Long, Getopt::Std,

I18N::Collate, IO , IPC::Open2, IPC::Open3, Math::!BigFloat?, Math::!BigInt?, Math::Complex, Math::Trig, Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, O, Opcode, POSIX , Pod::Checker, Pod::Find, Pod::Html, Pod::!InputObjects?, Pod::LaTeX, Pod::Man, Pod::!ParseUtils?, Pod::Parser, Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Search::Dict, !SelectSaver?, !SelfLoader?, Shell, Socket, Symbol, Term::ANSIColor, Term::Cap, Term::Complete, Term::!ReadLine?, Test, Test::Harness, Text::Abbrev, Text::!ParseWords?, Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, Tie::Array, Tie::Handle, Tie::Hash, Tie::!RefHash?, Tie::Scalar, Tie::!SubstrHash?, Time::Local, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL , User::grent, User::pwent, Win32

Extension Modules

CPAN

Africa

Asia

Central America

Europe

North America

Oceania

South America

Modules: Creation, Use, and Abuse

Guidelines for Module Creation

Adding a Copyright Notice

Guidelines for Converting Perl 4 Library Scripts into Modules

Guidelines for Reusing Application Code

NOTE

perlmodinstall - Installing CPAN Modules

DESCRIPTION

PREAMBLE

DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module

PORTABILITY

HEY

AUTHOR

COPYRIGHT

perlnewmod - preparing a new module for distribution

DESCRIPTION

Warning

What should I make into a module?

Step-by-step: Preparing the ground

Look around, Check it's new, Discuss the need, Choose a name, Check again

Step-by-step: Making the module

Start with h2xs, Use strict and warnings, Use Carp, Use Exporter - wisely!, Use plain old documentation, Write tests, Write the README

Step-by-step: Distributing your module

Get a CPAN user ID , perl Makefile.PL; make test; make dist, Upload the tarball, Announce to the modules list, Announce to clpa, Fix bugs!

AUTHOR

SEE ALSO

perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date: 1999/05/23 16:08:30 $)

DESCRIPTION

What is Perl?

Who supports Perl? Who develops it? Why is it free?

Which version of Perl should I use?

What are perl4 and perl5?

What is perl6?

How stable is Perl?

Is Perl difficult to learn?

How does Perl compare with other languages like Java, Python, REXX , Scheme, or Tcl?

Can I do [task? in Perl?

When shouldn't I program in Perl?

What's the difference between ``perl and ``Perl?

Is it a Perl program or a Perl script?

What is a JAPH ?

Where can I get a list of Larry Wall witticisms?

How can I convince my sysadmin/supervisor/employees to use version 5/5.005/Perl instead of some other language?

AUTHOR AND COPYRIGHT

perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $, $Date: 1999/10/14 18:46:09 $)

DESCRIPTION

What machines support Perl? Where do I get it?

How can I get a binary version of Perl?

I don't have a C compiler on my system. How can I compile perl?

I copied the Perl binary from one machine to another, but scripts don't work.

I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?

What modules and extensions are available for Perl? What is CPAN ? What does CPAN/src/... mean?

Is there an ISO or ANSI certified version of Perl?

Where can I get information on Perl?

What are the Perl newsgroups on Usenet? Where do I post questions?

Where should I post source code?

Perl Books

References, Tutorials, Task-Oriented, Special Topics

Perl in Magazines

Perl on the Net: FTP and WWW Access

What mailing lists are there for Perl?

Archives of comp.lang.perl.misc

Where can I buy a commercial version of Perl?

Where do I send bug reports?

What is perl.com? Perl Mongers? pm.org? perl.org?

AUTHOR AND COPYRIGHT

perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23 16:08:30 $)

DESCRIPTION

How do I do (anything)?

How can I use Perl interactively?

Is there a Perl shell?

How do I debug my Perl programs?

How do I profile my Perl programs?

How do I cross-reference my Perl programs?

Is there a pretty-printer (formatter) for Perl?

Is there a ctags for Perl?

Is there an IDE or Windows Perl Editor?

CodeMagicCD, Komodo, The Object System, !PerlBuilder?, Perl code magic, visiPerl+, GNU Emacs, MicroEMACS, XEmacs, Elvis, Vile, Vim, Codewright, !MultiEdit?, !SlickEdit?, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha

Where can I get Perl macros for vi?

Where can I get perl-mode for emacs?

How can I use curses with Perl?

How can I use X or Tk with Perl?

How can I generate simple menus without using CGI or Tk?

What is undump?

How can I make my Perl program run faster?

How can I make my Perl program take less memory?

Is it unsafe to return a pointer to local data?

How can I free an array or hash so my program shrinks?

How can I make my CGI script more efficient?

How can I hide the source for my Perl program?

How can I compile my Perl program into byte code or C?

How can I compile Perl into Java?

How can I get #!perl to work on MS-DOS ,NT,...??

Can I write useful Perl programs on the command line?

Why don't Perl one-liners work on my DOS/Mac/VMS system?

Where can I learn about CGI or Web programming in Perl?

Where can I learn about object-oriented Perl programming?

Where can I learn about linking C with Perl?

Fatal Error:

lib/CachedMarkup.php (In template 'browse' < 'body' < 'html'):257: Error: Pure virtual



Fatal PhpWiki Error

lib/CachedMarkup.php (In template 'browse' < 'body' < 'html'):257: Error: Pure virtual