NAME
DESCRIPTION
BASIC DOCUMENTATION
perl - Practical Extraction and Report Language
perlfaq - frequently asked questions about Perl ($Date: 1998/07/20
perlfaq1 - General Questions About Perl ($Revision: 1.14 $, $Date:
perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.24 $,
perlfaq3 - Programming Tools ($Revision: 1.28 $, $Date: 1998/07/16
perlfaq4 - Data Manipulation ($Revision: 1.25 $, $Date: 1998/07/16
perlfaq5 - Files and Formats ($Revision: 1.24 $, $Date: 1998/07/05
perlfaq6 - Regexps ($Revision: 1.22 $, $Date: 1998/07/16 14:01:07 $)
perlfaq7 - Perl Language Issues ($Revision: 1.21 $, $Date:
perlfaq8 - System Interaction ($Revision: 1.25 $, $Date: 1998/07/05
perlfaq9 - Networking ($Revision: 1.20 $, $Date: 1998/06/22 18:31:09
perldelta - what's new for perl5.005
perldata - Perl data types
perlsyn - Perl syntax
perlop - Perl operators and precedence
perlre - Perl regular expressions
perlrun - how to execute the Perl interpreter
perlfunc - Perl builtin functions
perlvar - Perl predefined variables
perlsub - Perl subroutines
perlmod - Perl modules (packages and symbol tables)
perlmodlib - constructing new Perl modules and finding existing ones
perlmodinstall - Installing CPAN Modules
perlform - Perl formats
perllocale - Perl locale handling (internationalization and
perlref - Perl references and nested data structures
perldsc - Perl Data Structures Cookbook
perllol, perlLoL - Manipulating Lists of Lists in Perl
perltoot - Tom's object-oriented tutorial for perl
perlobj - Perl objects
perltie - how to hide an object class in a simple variable
perlbot - Bag'o Object Tricks (the BOT)
perlipc - Perl interprocess communication (signals, fifos, pipes,
perldebug - Perl debugging
perldiag - various Perl diagnostics
perlsec - Perl security
perltrap - Perl traps for the unwary
perlport - Writing portable Perl
perlstyle - Perl style guide
perlpod - plain old documentation
perlbook - Perl book information
perlembed - how to embed perl in your C program
perlapio - perl's IO abstraction interface.
perlxs - XS language reference manual
perlxstut, perlXStut - Tutorial for XSUBs
perlguts - Perl's Internal Functions
perlcall - Perl calling conventions from C
perlhist - the Perl history records
PRAGMA DOCUMENTATION
MODULE DOCUMENTATION
AnyDBM_File - provide framework for multiple DBMs
AutoLoader - load subroutines only on demand
AutoSplit - split a package for autoloading
B - The Perl Compiler
B::Asmdata - Autogenerated data about Perl ops, used to generate
B::Assembler - Assemble Perl bytecode
B::Bblock - Walk basic blocks
B::Bytecode - Perl compiler's bytecode backend
B::C - Perl compiler's C backend
B::CC - Perl compiler's optimized C translation backend
B::Debug - Walk Perl syntax tree, printing debug info about ops
B::Deparse - Perl compiler backend to produce perl code
B::Disassembler - Disassemble Perl bytecode
B::Lint - Perl lint
B::O, O - Generic interface to Perl Compiler backends
B::Showlex - Show lexical variables used in functions or files
B::Stackobj - Helper module for CC backend
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 code
CGI - Simple Common Gateway Interface Class
CGI::Apache - Make things work with CGI.pm against Perl-Apache API
CGI::Carp, CGI::Carp - CGI routines for writing to the HTTPD (or
CGI::Cookie - Interface to Netscape Cookies
CGI::Fast - CGI Interface for Fast CGI
CGI::Push - Simple Interface to Server Push
CGI::Switch - Try more than one constructors and return the first
CPAN - query, download and build perl modules from CPAN sites
CPAN::FirstTime - Utility for CPAN::Config file Initialization
CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
Carp, carp - warn of errors (from perspective of caller)
Class::Struct - declare struct-like datatypes as Perl classes
Cwd, getcwd - get pathname of current working directory
DB_File - Perl5 access to Berkeley DB version 1.x
Data::Dumper - stringified perl data structures, suitable for both
Devel::SelfStubber - generate stubs for a SelfLoading module
DirHandle - supply object methods for directory handles
English - use nice English (or awk) names for ugly punctuation
Env - perl module that imports environment variables
Exporter - Implements default import method for modules
ExtUtils::Command - utilities to replace common UNIX commands in
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_OS2 - methods to override UN*X behaviour in
ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
ExtUtils::MM_VMS - methods to override UN*X behaviour in
ExtUtils::MM_Win32 - methods to override UN*X behaviour in
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
ExtUtils::Packlist - manage .packlist files
ExtUtils::testlib - add blib/* directories to @INC
Fatal - replace functions with equivalents which succeed or die
Fcntl - load the C Fcntl.h defines
File::Basename, fileparse - split a pathname into pieces
File::CheckTree, validate - run many filetest checks on a tree
File::Compare - Compare files or filehandles
File::Copy - Copy files or filehandles
File::DosGlob - DOS like globbing and then some
File::Find, find - traverse a file tree
File::Path - create or remove a series of directories
File::Spec - portably perform operations on file names
File::Spec::Mac - File::Spec for MacOS
File::Spec::OS2 - methods for OS/2 file specs
File::Spec::Unix - methods used by File::Spec
File::Spec::VMS - methods for VMS file specs
File::Spec::Win32 - methods for Win32 file specs
File::stat - by-name interface to Perl's built-in 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 - Perl5 access to the gdbm library.
Getopt::Long, GetOptions - extended processing of command line
Getopt::Std, getopt - Process single-character switches with switch
I18N::Collate - compare 8-bit scalar data according to the current
IO - load various IO modules
IO::lib::IO::File, IO::File - supply object methods for filehandles
IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
IO::lib::IO::Pipe, IO::pipe - supply object methods for pipes
IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
IO::lib::IO::Select, IO::Select - OO interface to the select system
IO::lib::IO::Socket, IO::Socket - Object interface to socket
IPC::Open2, open2 - open a process for both reading and writing
IPC::Open3, open3 - open a process for reading, writing, and error
IPC::SysV - SysV IPC constants
IPC::SysV::Msg, IPC::Msg - SysV Msg IPC object class
IPC::SysV::Semaphore, IPC::Semaphore - SysV Semaphore IPC object
Math::BigFloat - Arbitrary length float math package
Math::BigInt - Arbitrary size integer math package
Math::Complex - complex numbers and associated mathematical
Math::Trig - trigonometric functions
NDBM_File - Tied access to ndbm files
Net::Ping - check a remote host for reachability
Net::hostent - by-name interface to Perl's built-in gethost*()
Net::netent - by-name interface to Perl's built-in getnet*()
Net::protoent - by-name interface to Perl's built-in getproto*()
Net::servent - by-name interface to Perl's built-in getserv*()
ODBM_File - Tied access to odbm files
Opcode - Disable named opcodes when compiling perl code
Opcode::Safe, Safe - Compile and execute code in restricted
Opcode::ops, ops - Perl pragma to restrict unsafe operations when
POSIX - Perl interface to IEEE Std 1003.1
Pod::Html - module to convert pod files to HTML
Pod::Text - convert POD data to formatted ASCII text
SDBM_File - Tied access to sdbm files
Search::Dict, look - 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, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
Symbol - manipulate Perl symbols and their names
Sys::Hostname - Try every conceivable way to get hostname
Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
Term::Cap - Perl termcap interface
Term::Complete - Perl word completion module
Term::ReadLine - Perl interface to various readline
packages. If
Test - provides a simple framework for writing test scripts
Test::Harness - run perl standard test scripts with statistics
Text::Abbrev, abbrev - create an abbreviation table from a list
Text::ParseWords - parse text into an array of tokens or array of
Text::Soundex - Implementation of the Soundex Algorithm as Described
Text::Tabs - expand and unexpand tabs per the unix expand(1) and
Text::Wrap - line wrapping to form simple paragraphs
Thread - multithreading
Thread::Queue - thread-safe queues
Thread::Semaphore - thread-safe semaphores
Thread::Signal - Start a thread which runs signal handlers reliably
Thread::Specific - thread-specific keys
Tie::Array - base class for tied arrays
Tie::Handle - base class definitions for tied handles
Tie::Hash, Tie::StdHash - base class definitions for tied hashes
Tie::RefHash - use references as hash keys
Tie::Scalar, Tie::StdScalar - base class definitions for tied
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 built-in gmtime()
Time::localtime - by-name interface to Perl's built-in localtime()
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 built-in getgr*()
User::pwent - by-name interface to Perl's built-in getpw*()
AUXILIARY DOCUMENTATION
AUTHOR
perltoc - perl documentation table of contents
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.
SYNOPSIS
DESCRIPTION
Many usability enhancements, Simplified grammar, Lexical scoping, Arbitrarily nested data structures, Modularity and reusability, Object-oriented programming, Embeddable and Extensible,
POSIX compliant, Package constructors and destructors, Multiple simultaneous
DBM implementations, Subroutine definitions may now be autoloaded, Regular expression enhancements, Innumerable Unbundled Modules, Compilability
ENVIRONMENT
AUTHOR
FILES
SEE ALSO
DIAGNOSTICS
BUGS
NOTES
DESCRIPTION
perlfaq: Structural overview of the
FAQ, the perlfaq1 manpage : General Questions About Perl, the perlfaq2 manpage : Obtaining and Learning about Perl, the perlfaq3 manpage : Programming Tools, the perlfaq4 manpage : Data Manipulation, the perlfaq5 manpage : Files and Formats, the perlfaq6 manpage : Regexps, the perlfaq7 manpage : General Perl Language Issues,
the perlfaq8 manpage : System Interaction, the perlfaq9 manpage : Networking
Where to get this document
How to contribute to this document
What will happen if you mail your Perl programming problems to the
authors
Credits
Author and Copyright Information
Bundled Distributions
Disclaimer
Changes
24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version,
Initial Release: 11/March/97
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?
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.004/Perl instead of some other language)?
AUTHOR AND COPYRIGHT
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 *Learning
Perl [2nd edition] by Randal
L. Schwartz and Tom Christiansen, Task-Oriented,
Special Topics
Perl in Magazines
Perl on the Net: FTP and WWW Access
What mailing lists are there for perl?
MacPerl, Perl5-Porters, NTPerl, Perl-Packrats
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.org? The Perl Institute?
How do I learn about object-oriented Perl programming?
AUTHOR AND COPYRIGHT
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?
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 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? [h2xs, xsubpp]
I've read perlembed, perlguts, etc., but I can't embed perl in
my C program, what am I doing wrong?
When I tried to run my script, I got this message. What does it
mean?
What's MakeMaker?
AUTHOR AND COPYRIGHT
DESCRIPTION
Data: Numbers
Why am I getting long decimals (eg, 19.9499999999999) instead of the
numbers I should be getting (eg, 19.95)?
Why isn't my octal data interpreted correctly?
Does perl have a round function? What about ceil() and floor()?
Trig functions?
How do I convert bits into ints?
How do I multiply matrices?
How do I perform an operation on a series of integers?
How can I output Roman numerals?
Why aren't my random numbers random?
Data: Dates
How do I find the week-of-the-year/day-of-the-year?
How can I compare two dates and find the difference?
How can I take a string and turn it into epoch seconds?
How can I find the Julian Day?
Does Perl have a year 2000 problem? Is Perl Y2K compliant?
Data: Strings
How do I validate input?
How do I unescape a string?
How do I remove consecutive pairs of characters?
How do I expand function calls in a string?
How do I find matching/nesting anything?
How do I reverse a string?
How do I expand tabs in a string?
How do I reformat a paragraph?
How can I access/change the first N letters of a string?
How do I change the Nth occurrence of something?
How can I count the number of occurrences of a substring within a
string?
How do I capitalize all the words on one line?
How can I split a [character] delimited string except when inside
[character]? (Comma-separated files)
How do I strip blank space from the beginning/end of a string?
How do I extract selected columns from a string?
How do I find the soundex value of a string?
How can I expand variables in text strings?
What's wrong with always quoting "$vars"?
Why don't my <<HERE documents work?
1. There must be no space after the << part, 2. There (probably)
should be a semicolon at the end, 3. You can't (easily) have any space in
front of the tag
Data: Arrays
What is the difference between $array[1] and @array[1]?
How can I extract just the unique elements of an array?
a) If @in
is sorted, and you want @out
to be sorted:(this assumes all true values in the array), b) If you don't know whether @in
is sorted:, c) Like (b), but @in
contains only small integers:, d)
A way to do (b) without any loops or greps:, e) Like (d), but @in
contains only small positive integers:
How can I tell whether a list or array contains a certain element?
How do I compute the difference of two arrays? How do I compute the
intersection of two arrays?
How do I find the first array element for which a condition is true?
How do I handle linked lists?
How do I handle circular lists?
How do I shuffle an array randomly?
How do I process/modify each element of an array?
How do I select a random element from an array?
How do I permute N elements of a list?
How do I sort an array by (anything)?
How do I manipulate arrays of bits?
Why does defined() return true on empty arrays and hashes?
Data: Hashes (Associative Arrays)
How do I process an entire hash?
What happens if I add or remove keys from a hash while iterating over
it?
How do I look up a hash element by value?
How can I know how many entries are in a hash?
How do I sort a hash (optionally by value instead of key)?
How can I always keep my hash sorted?
What's the difference between "delete" and "undef" with hashes?
Why don't my tied hashes make the defined/exists distinction?
How do I reset an each() operation part-way through?
How can I get the unique keys from two hashes?
How can I store a multidimensional array in a DBM file?
How can I make my hash remember the order I put elements into it?
Why does passing a subroutine an undefined element in a hash create
it?
How can I make the Perl equivalent of a C structure/C++ class/hash or
array of hashes or arrays?
How can I use a reference as a hash key?
Data: Misc
How do I handle binary data correctly?
How do I determine whether a scalar is a number/whole/integer/float?
How do I keep persistent data across program calls?
How do I print out or copy a recursive data structure?
How do I define methods for every class/object?
How do I verify a credit card checksum?
AUTHOR AND COPYRIGHT
DESCRIPTION
How do I flush/unbuffer an output filehandle? Why must I do this?
How do I change one line in a file/delete a line in a file/insert a
line in the middle of a file/append to the beginning of a file?
How do I count the number of lines in a file?
How do I make a temporary file name?
How can I manipulate fixed-record-length files?
How can I make a filehandle local to a subroutine? How do I pass
filehandles between subroutines? How do I make an array of filehandles?
How can I use a filehandle indirectly?
How can I set up a footer format to be used with write()?
How can I write() into a string?
How can I output my numbers with commas added?
How can I translate tildes (~) in a filename?
How come when I open a file read-write it wipes it out?
Why do I sometimes get an "Argument list too long" when I use <*>?
Is there a leak/bug in glob()?
How can I open a file with a leading "gt" or trailing blanks?
How can I reliably rename a file?
How can I lock a file?
What can't I just open(FH, ">file.lock")?
I still don't get locking. I just want to increment the number in
the file. How can I do this?
How do I randomly update a binary file?
How do I get a file's timestamp in perl?
How do I set a file's timestamp in perl?
How do I print to more than one file at once?
How can I read in a file by paragraphs?
How can I read a single character from a file? From the keyboard?
How can I tell if there's a character waiting on a filehandle?
How do I do a tail -f in perl?
How do I dup() a filehandle in Perl?
How do I close a file descriptor by number?
Why can't I use "C:\temp\foo" in DOS paths? What doesn't
`C:\temp\foo.exe` work?
Why doesn't glob("*.*") get all the files?
Why does Perl let me delete read-only files? Why does -i clobber
protected files? Isn't this a bug in Perl?
How do I select a random line from a file?
AUTHOR AND COPYRIGHT
DESCRIPTION
How can I hope to use regular expressions without creating illegible
and unmaintainable code?
Comments Outside the Regexp, Comments Inside the Regexp, Different
Delimiters
I'm having trouble matching over more than one line. What's wrong?
How can I pull out lines between two patterns that are themselves on
different lines?
I put a regular expression into $/ but it didn't work. What's wrong?
How do I substitute case insensitively on the LHS, but preserving
case on the RHS?
How can I make \w match national character sets?
How can I match a locale-smart version of /[a-zA-Z]/?
How can I quote a variable to use in a regexp?
What is /o really for?
How do I use a regular expression to strip C style comments from a
file?
Can I use Perl regular expressions to match balanced text?
What does it mean that regexps are greedy? How can I get around it?
How do I process each word on each line?
How can I print out a word-frequency or line-frequency summary?
How can I do approximate matching?
How do I efficiently match many regular expressions at once?
Why don't word-boundary searches with \b work for me?
Why does using $&, $`, or $' slow my program down?
What good is \G in a regular expression?
Are Perl regexps DFAs or NFAs? Are they POSIX compliant?
What's wrong with using grep or map in a void context?
How can I match strings with multibyte characters?
AUTHOR AND COPYRIGHT
DESCRIPTION
Can I get a BNF/yacc/RE for the Perl language?
What are all these $@%* punctuation signs, and how do I know when to
use them?
Do I always/never have to quote my strings or use semicolons and
commas?
How do I skip some return values?
How do I temporarily block warnings?
What's an extension?
Why do Perl operators have different precedence than C operators?
How do I declare/create a structure?
How do I create a module?
How do I create a class?
How can I tell if a variable is tainted?
What's a closure?
What is variable suicide and how can I prevent it?
How can I pass/return a {Function, FileHandle, Array, Hash, Method,
Regexp}?
Passing Variables and Functions, Passing Filehandles, Passing Regexps,
Passing Methods
How do I create a static variable?
What's the difference between dynamic and lexical (static) scoping?
Between local() and my()?
How can I access a dynamic variable while a similarly named lexical
is in scope?
What's the difference between deep and shallow binding?
Why doesn't "my($foo) = <FILE>;" work right?
How do I redefine a builtin function, operator, or method?
What's the difference between calling a function as &foo and foo()?
How do I create a switch or case statement?
How can I catch accesses to undefined variables/functions/methods?
Why can't a method included in this same file be found?
How can I find out my current package?
How can I comment out a large block of perl code?
AUTHOR AND COPYRIGHT
DESCRIPTION
How do I find out which operating system I'm running under?
How come exec() doesn't return?
How do I do fancy stuff with the keyboard/screen/mouse?
Keyboard, Screen, Mouse
How do I print something out in color?
How do I read just one key without waiting for a return key?
How do I check whether input is ready on the keyboard?
How do I clear the screen?
How do I get the screen size?
How do I ask the user for a password?
How do I read and write the serial port?
lockfiles, open mode, end of line, flushing output, non-blocking input
How do I decode encrypted password files?
How do I start a process in the background?
STDIN,
STDOUT, and
STDERR are shared, Signals, Zombies
How do I trap control characters/signals?
How do I modify the shadow password file on a Unix system?
How do I set the time and date?
How can I sleep() or alarm() for under a second?
How can I measure time under a second?
How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
Why doesn't my sockets program work under System V (Solaris)? What
does the error message "Protocol not supported" mean?
How can I call my system's unique C functions from Perl?
Where do I get the include files to do ioctl() or syscall()?
Why do setuid perl scripts complain about kernel problems?
How can I open a pipe both to and from a command?
Why can't I get the output of a command with system()?
How can I capture STDERR from an external command?
Why doesn't open() return an error when a pipe open fails?
What's wrong with using backticks in a void context?
How can I call backticks without shell processing?
Why can't my script read from STDIN after I gave it EOF (^D on Unix,
^Z on MS-DOS)?
How can I convert my shell script to perl?
Can I use perl to run a telnet or ftp session?
How can I write expect in Perl?
Is there a way to hide perl's command line from programs such as
"ps"?
I {changed directory, modified my environment} in a perl script. How
come the change disappeared when I exited the script? How do I get my
changes to be visible?
Unix
How do I close a process's filehandle without waiting for it to
complete?
How do I fork a daemon process?
How do I make my program run with sh and csh?
How do I find out if I'm running interactively or not?
How do I timeout a slow event?
How do I set CPU limits?
How do I avoid zombies on a Unix system?
How do I use an SQL database?
How do I make a system() exit on control-C?
How do I open a file without blocking?
How do I install a CPAN module?
What's the difference between require and use?
How do I keep my own module/library directory?
How do I add the directory my program lives in to the module/library
search path?
How do I add a directory to my include path at runtime?
AUTHOR AND COPYRIGHT
DESCRIPTION
My CGI script runs from the command line but not the browser. (500
Server Error)
How can I get better error messages from a CGI program?
How do I remove HTML from a string?
How do I extract URLs?
How do I download a file from the user's machine? How do I open a
file on another machine?
How do I make a pop-up menu in HTML?
How do I fetch an HTML file?
How do I automate an HTML form submission?
How do I decode or create those %-encodings on the web?
How do I redirect to another page?
How do I put a password on my web pages?
How do I edit my .htpasswd and .htgroup files with Perl?
How do I make sure users can't enter values into a form that cause my
CGI script to do bad things?
How do I parse a mail header?
How do I decode a CGI form?
How do I check a valid mail address?
How do I decode a MIME/BASE64 string?
How do I return the user's mail address?
How do I send mail?
How do I read mail?
How do I find out my hostname/domainname/IP address?
How do I fetch a news article or the active newsgroups?
How do I fetch/put an FTP file?
How can I do RPC in Perl?
AUTHOR AND COPYRIGHT
DESCRIPTION
About the new versioning system
Incompatible Changes
WARNING: This version is not binary compatible with Perl 5.004.
Default installation structure has changed
Perl Source Compatibility
C Source Compatibility
Core sources now require
ANSI
C compiler, All Perl global variables must now be referenced with an explicit prefix, Enabling threads has source compatibility issues
Binary Compatibility
Security fixes may affect compatibility
Relaxed new mandatory warnings introduced in 5.004
Licensing
Core Changes
Threads
Compiler
Regular Expressions
Many new and improved optimizations, Many bug fixes, New regular expression
constructs, New operator for precompiled regular expressions, Other
improvements, Incompatible changes
Improved malloc()
Quicksort is internally implemented
Reliable signals
Reliable stack pointers
More generous treatment of carriage returns
Memory leaks
Better support for multiple interpreters
Behavior of local() on array and hash elements is now well-defined
%! is transparently tied to the Errno module
Pseudo-hashes are supported
EXPR foreach EXPR is supported
Keywords can be globally overridden
$^E is meaningful on Win32
foreach (1..1000000) optimized
Foo:: can be used as implicitly quoted package name
exists $Foo::{Bar::} tests existence of a package
Better locale support
Experimental support for 64-bit platforms
prototype() returns useful results on builtins
Extended support for exception handling
Re-blessing in DESTROY() supported for chaining DESTROY() methods
All printf format conversions are handled internally
New INIT keyword
New lock keyword
New qr// operator
our is now a reserved word
Tied arrays are now fully supported
Tied handles support is better
th argument to substr
Negative LENGTH argument to splice
Magic lvalues are now more magical
ltgt now reads in records
Supported Platforms
New Platforms
Changes in existing support
Modules and Pragmata
New Modules
B, Data::Dumper, Errno, File::Spec,
ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test,
Tie::Array, Tie::Handle, Thread, attrs, fields, re
Changes in existing modules
CGI,
POSIX, DB_File, MakeMaker,
CPAN, Cwd, Benchmark
Utility Changes
Documentation Changes
New Diagnostics
Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad
index while coercing array into hash, Bareword ``%s'' refers to nonexistent
package, Can't call method ``%s'' on an undefined value, Can't coerce array
into hash, Can't goto subroutine from an eval-string, Can't localize
pseudo-hash element, Can't use %%! because Errno.pm is not available,
Cannot find an opnumber for ``%s'', Character class syntax [. .] is
reserved for future extensions, Character class syntax [: :] is reserved
for future extensions, Character class syntax [= =] is reserved for future
extensions, %s: Eval-group in insecure regular expression, %s: Eval-group
not allowed, use re 'eval', %s: Eval-group not allowed at run time,
Explicit blessing to '' (assuming package main), Illegal hex digit ignored,
No such array field, No such field ``%s'' in variable %s of type %s, Out
of memory during ridiculously large request, Range iterator outside integer
range, Recursive inheritance detected while looking for method '%s' in
package '%s', Reference found where even-sized list expected, Undefined
value assigned to typeglob, Use of reserved word ``%s'' is deprecated,
perl: warning: Setting locale failed
Obsolete Diagnostics
Can't
mktemp(),
Can't write to temp
file for -e : %s, Cannot open temporary file
BUGS
SEE ALSO
HISTORY
DESCRIPTION
Variable names
Context
Scalar values
Scalar value constructors
List value constructors
Typeglobs and Filehandles
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!)
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 &, 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,
<<'EOF'
, m'' , s''' , tr/// , y/// , ''
, q// , ""
,
``
, qq// , qx// , <file*glob>
, ?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
DESCRIPTION
i, m, s, x
Regular Expressions
(?#text)
, (?:pattern)
, (?imsx-imsx:pattern)
, (?=pattern)
,
(?!pattern)
, (?<=pattern)
, (?<!pattern)
, (?{ code })
,
(?>pattern)
, (?(condition)yes-pattern|no-pattern)
,
(?(condition)yes-pattern)
, (?imsx-imsx)
Backtracking
Version 8 Regular Expressions
WARNING on \1 vs $1
Repeated patterns matching zero-length substring
Creating custom RE engines
SEE ALSO
SYNOPSIS
DESCRIPTION
OS/2,
MS-DOS, Win95/NT, Macintosh
Location of Perl
Switches
-0 [digits ], -a , -c , -d , -d: foo , -D letters ,
-D number , -e commandline , -F pattern , -h ,
-i [extension ], -I directory , -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 , -x directory
ENVIRONMENT
HOME,
LOGDIR,
PATH,
PERL5LIB,
PERL5OPT,
PERLLIB,
PERL5DB,
PERL5SHELL (specific to
WIN32 port),
PERL_DEBUG_MSTATS,
PERL_DESTRUCT_LEVEL
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
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, 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, crypt
PLAINTEXT,SALT, dbmclose
HASH, dbmopen
HASH,DBNAME,MODE, defined
EXPR, defined, delete
EXPR, die
LIST, do
BLOCK, do
SUBROUTINE(LIST),
do
EXPR, dump
LABEL, 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
&NAME, grep
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
LIST, last
LABEL, last, lc
EXPR, lc, lcfirst
EXPR, lcfirst, length
EXPR, length, link
OLDFILE,NEWFILE, listen
SOCKET,QUEUESIZE, local
EXPR, localtime
EXPR, log
EXPR, log, lstat
FILEHANDLE, lstat
EXPR, lstat, m//, map
BLOCK
LIST, map
EXPR,LIST, mkdir
FILENAME,MODE, msgctl
ID,CMD,ARG, msgget
KEY,FLAGS, msgsnd
ID,MSG,FLAGS, msgrcv
ID,VAR,SIZE,TYPE,FLAGS, my
EXPR, next
LABEL, next, no Module
LIST, oct
EXPR, oct, open
FILEHANDLE,EXPR, open
FILEHANDLE, opendir
DIRHANDLE,EXPR, ord
EXPR, ord, pack
TEMPLATE,LIST, package, package
NAMESPACE, 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,LEN,FLAGS, redo
LABEL, redo, ref
EXPR, ref, rename
OLDNAME,NEWNAME, 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, 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,LEN,REPLACEMENT, substr
EXPR,OFFSET,LEN, 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, 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
LIST, use Module, use Module
VERSION
LIST, use
VERSION, utime
LIST, values
HASH, vec
EXPR,OFFSET,BITS, wait, waitpid
PID,FLAGS, wantarray, warn
LIST, write
FILEHANDLE, write
EXPR, write, y///
DESCRIPTION
Predefined Names
$ARG, $_, $<digits >,
$MATCH, $&,
$PREMATCH, $`,
$POSTMATCH, $',
$LAST_PAREN_MATCH, $+,
$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, $-, 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, $[,
$PERL_VERSION, $],
$DEBUGGING,
$^D,
$SYSTEM_FD_MAX,
$^F,
$^H,
$INPLACE_EDIT,
$^I,
$^M,
$OSNAME,
$^O,
$PERLDB,
$^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20,
$^R,
$^S,
$BASETIME,
$^T,
$WARNING,
$^W,
$EXECUTABLE_NAME,
$^X,
$ARGV,
@ARGV,
@INC, @_,
%INC, %ENV
$ENV{expr}, %SIG
$SIG{expr}
Error Indicators
SYNOPSIS
DESCRIPTION
Private Variables via my()
Peristent Private Variables
Temporary Values via local()
Passing Symbol Table Entries (typeglobs)
When to Still Use local()
1. You need to give a global variable a temporary value, especially $_
, 2. You need to create a local file or directory handle or a local
function, 3. You want to temporarily change just one element of an array or
hash
Pass by Reference
Prototypes
Constant Functions
Overriding Builtin Functions
Autoloading
SEE ALSO
DESCRIPTION
Packages
Symbol Tables
Package Constructors and Destructors
Perl Classes
Perl Modules
SEE ALSO
DESCRIPTION
THE PERL MODULE LIBRARY
Pragmatic Modules
use autouse
MODULE =>
qw(sub1
sub2 sub3), blib, diagnostics, integer, less, lib, locale, ops, overload, re, sigtrap, strict, subs, vmsish, vars
Standard Modules
AnyDBM_File, AutoLoader, AutoSplit, Benchmark,
CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Class::Struct, Config, Cwd, DB_File, Devel::SelfStubber, DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find, File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File, Getopt::Long, Getopt::Std, I18N::Collate,
IO, IO::File, IO::Handle, IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3, Math::BigFloat, Math::BigInt, Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text,
POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete, Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime, Time::tm,
UNIVERSAL, User::grent, User::pwent
Extension Modules
CPAN
Language Extensions and Documentation Tools, Development Support, Operating System Interfaces, Networking, Device Control (modems) and InterProcess Communication, Data Types and Data Type Utilities, Database Interfaces, User Interfaces, Interfaces to / Emulations of Other Programming Languages, File Names, File Systems and File Locking (see also File Handles), String Processing, Language Text Processing, Parsing, and Searching, Option, Argument, Parameter, and Configuration File Processing, Internationalization and Locale, Authentication, Security, and Encryption, World Wide Web,
HTML,
HTTP,
CGI,
MIME, Server and Daemon Utilities, Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and exceptions etc), File Handle and Input/Output Stream Utilities, Miscellaneous Modules, Africa, Asia, Australasia, Europe, North America, South America
Modules: Creation, Use, and Abuse
Guidelines for Module Creation
Do similar modules already exist in some form?, Try to design the new module to be easy to extend and reuse, Some simple style guidelines, Select what to export, Select a name for the module, Have you got it right?,
README and other Additional Files,
A description of the module/package/extension etc,
A copyright notice - see below, Prerequisites - what else you may need to have, How to build it - possible changes to Makefile.PL etc, How to install it, Recent changes in this release, especially incompatibilities, Changes / enhancements you plan to make in the future, Adding a Copyright Notice, Give the module a version/issue/release number, How to release and distribute a module, Take care when changing a released module
Guidelines for Converting Perl 4 Library Scripts into Modules
There is no requirement to convert anything, Consider the implications, Make the most of the opportunity, The pl2pm utility will get you started, Adds the standard Module prologue lines, Converts package specifiers from ' to ::, Converts
die(...)
to
croak(...),
Several other minor changes
Guidelines for Reusing Application Code
Complete applications rarely belong in the Perl Module Library, Many
applications contain some Perl code that could be reused, Break-out the
reusable code into one or more separate module files, Take the opportunity
to reconsider and redesign the interfaces, In some cases the 'application'
can then be reduced to a small
NOTE
DESCRIPTION
PREAMBLE
DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module
HEY
AUTHOR
COPYRIGHT
DESCRIPTION
Format Variables
NOTES
Footers
Accessing Formatting Internals
WARNINGS
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 locale configuration
Permanently 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
Comparison operators (lt
, le
, ge
, gt
and cmp
):,
Case-mapping interpolation (with \l
, \L
, \u
or \U
),
Matching operator (m// ):, Substitution operator (s/// ):,
In-memory formatting function (sprintf()):, Output formatting
functions (printf() and
write()):,
Case-mapping functions (lc(),
lcfirst(),
uc(),
ucfirst()):,
POSIX locale-dependent functions
(localeconv(),
strcoll(),strftime(),
strxfrm()):,
POSIX character class
tests (isalnum(),
isalpha(),
isdigit(),isgraph(),
islower(),
isprint(),
ispunct(),
isspace(),
isupper(),
isxdigit()):
ENVIRONMENT
PERL_BADLANG,
LC_ALL,
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
DESCRIPTION
Making References
Using References
Symbolic references
Not-so-symbolic references
Pseudo-hashes: Using an array as a hash
Function Templates
WARNING
SEE ALSO
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
LISTS OF LISTS
Declaration of a LIST OF LISTS
Generation of a LIST OF LISTS
Access and Printing of a LIST OF LISTS
HASHES OF LISTS
Declaration of a HASH OF LISTS
Generation of a HASH OF LISTS
Access and Printing of a HASH OF LISTS
LISTS OF HASHES
Declaration of a LIST OF HASHES
Generation of a LIST OF HASHES
Access and Printing of a LIST 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
DESCRIPTION
Declaration and Access of Lists of Lists
Growing Your Own
Access and Printing
Slices
SEE ALSO
AUTHOR
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
DESCRIPTION
An Object is Simply a Reference
A Class is Simply a Package
A Method is Simply a Subroutine
Method Invocation
Default UNIVERSAL methods
isa(CLASS),
can(METHOD),
VERSION(
[NEED] )
Destructors
WARNING
Summary
Two-Phased Garbage Collection
SEE ALSO
SYNOPSIS
DESCRIPTION
Tying Scalars
TIESCALAR classname,
LIST,
FETCH this,
STORE this, value,
DESTROY this
Tying Arrays
TIEARRAY classname,
LIST,
FETCH this, index,
STORE this, index, value,
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,
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,
DESTROY this
The untie Gotcha
SEE ALSO
BUGS
AUTHOR
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
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
DESCRIPTION
The Perl Debugger
Debugger Commands
h [command], p expr, x expr,
V [pkg [vars]],
X [vars],
T, s [expr], n [expr],
<CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname, -, w [line], f filename, /pattern/, ?pattern?,
L,
S [[!]pattern], t, t expr, b [line] [condition], b subname [condition], b postpone subname [condition], b load filename, b compile subname, d [line],
D, a [line] command,
A,
W [expr],
W,
O [opt[=val]] [opt``val''] [opt?]..,
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
, < [ command ], << command, > command, >> command, { [ command ], {{ command, ! number, ! -number, ! pattern, !! cmd,
H -number, q or
^D,
R, |dbcmd, ||dbcmd, command, m expr, m package
Debugger input/output
Prompt, Multiline commands, Stack backtrace, Listing, Frame listing
Debugging compile-time statements
Debugger Customization
Readline Support
Editor Support for Debugging
The Perl Profiler
Debugger support in perl
Debugger Internals
Other resources
BUGS
Debugging Perl memory usage
Using $ENV{PERL_DEBUG_MSTATS}
buckets SMALLEST(APPROX)..GREATEST(APPROX)
, Free/Used, Total sbrk():
SBRKed/SBRKs:CONTINUOUS
, pad: 0
, heads: 2192
, chain: 0
, tail:
6144
Example of using -DL switch
717
, 002
, 054
, 602
, 702
, 704
-DL details
!!!
, !!
, !
Limitations of -DL statistic
Debugging regular expressions
Compile-time output
anchored
STRING at
POS , floating
STRING at
POS1..POS2 , matching floating/anchored
, minlen
, stclass
TYPE , noscan
, isall
, GPOS
, plus
, implicit
, with eval
,
anchored(TYPE)
Types of nodes
Run-time output
DESCRIPTION
DESCRIPTION
Laundering and Detecting Tainted Data
Switches On the "#!" Line
Cleaning Up Your Path
Security Bugs
Protecting Your Programs
SEE ALSO
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, Discontinuance, Deprecation, Discontinuance
Parsing Traps
Parsing, Parsing, Parsing, Parsing
Numerical Traps
Numerical, Numerical, Numerical
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
DESCRIPTION
Not all Perl programs have to be portable, The vast majority of Perl is
portable
ISSUES
Newlines
File Paths
System Interaction
Interprocess Communication (IPC)
External Subroutines (XS)
Standard Modules
Time and Date
System Resources
Security
Style
CPAN TESTERS
Mailing list: cpan-testers@perl.org, Testing
results:
http://www.connect.net/gbarr/cpan-test/
PLATFORMS
Unix
DOS and Derivatives
The djgpp environment for
DOS, http://www.delorie.com/djgpp/
, The
EMX environment for
DOS,
OS/2, etc.
emx@iaehv.nl
,http://www.juge.com/bbs/Hobb.19.html
, Build instructions for Win32, perlwin32 , The ActiveState Pages,
http://www.activestate.com/
MacPerl
The MacPerl Pages, http://www.ptf.com/macperl/
, The MacPerl mailing list, mac-perl-request@iis.ee.ethz.ch
VMS
perlvms.pod , vmsperl list, vmsperl-request@newman.upenn.edu
, vmsperl on the web, http://www.sidhe.org/vmsperl/index.html
EBCDIC Platforms
perl-mvs list,
AS/400 Perl information at http://as400.rochester.ibm.com
Other perls
Atari, Guido Flohr's page http://stud.uni-sb.de/~gufl0000/
,
HP 300 MPE/iX http://www.cccd.edu/~markb/perlix.html
, Novell Netware
FUNCTION IMPLEMENTATIONS
Alphabetical Listing of Perl Functions
-X
FILEHANDLE, -X
EXPR, -X , 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
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, setpgrp
PID,PGRP, setpriority
WHICH,WHO,PRIORITY, 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, system
LIST, times, truncate
FILEHANDLE,LENGTH, truncate
EXPR,LENGTH, umask
EXPR, umask, utime
LIST, wait, waitpid
PID,FLAGS
AUTHORS / CONTRIBUTORS
VERSION
DESCRIPTION
DESCRIPTION
Verbatim Paragraph
Command Paragraph
Ordinary Block of Text
The Intent
Embedding Pods in Perl Modules
Common Pod Pitfalls
SEE ALSO
AUTHOR
DESCRIPTION
DESCRIPTION
PREAMBLE
Use C from Perl? , Use a Unix program from Perl? , Use Perl from
Perl? , Use C from C? , Use Perl from C?
ROADMAP
Compiling your C program
Adding a Perl interpreter to your C program
Calling a Perl subroutine from your C program
Evaluating a Perl statement from your C program
Performing Perl pattern matches and substitutions from your C program
Fiddling with the Perl stack from your C program
Maintaining a persistent interpreter
Maintaining multiple interpreter instances
Using Perl modules, which themselves use C libraries, from your C
program
Embedding Perl under Win32
MORAL
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
PerlIO * , PerlIO_stdin() , PerlIO_stdout() , PerlIO_stderr() ,
PerlIO_open(path, mode) , PerlIO_fdopen(fd,mode) ,
PerlIO_printf(f,fmt,...) , PerlIO_vprintf(f,fmt,a) ,
PerlIO_stdoutf(fmt,...) , PerlIO_read(f,buf,count) ,
PerlIO_write(f,buf,count) , PerlIO_close(f) , PerlIO_puts(f,s) ,
PerlIO_putc(f,c) , PerlIO_ungetc(f,c) , PerlIO_getc(f) ,
PerlIO_eof(f) , PerlIO_error(f) , PerlIO_fileno(f) ,
PerlIO_clearerr(f) , PerlIO_flush(f) , PerlIO_tell(f) ,
PerlIO_seek(f,o,w) , PerlIO_getpos(f,p) , PerlIO_setpos(f,p) ,
PerlIO_rewind(f) , PerlIO_tmpfile()
Co-existence with stdio
PerlIO_importFILE(f,flags) , PerlIO_exportFILE(f,flags) ,
PerlIO_findFILE(f) , PerlIO_releaseFILE(p,f) , PerlIO_setlinebuf(f) ,
PerlIO_has_cntptr(f) , PerlIO_get_ptr(f) , PerlIO_get_cnt(f) ,
PerlIO_canset_cnt(f) , PerlIO_fast_gets(f) ,
PerlIO_set_ptrcnt(f,p,c) , PerlIO_set_cnt(f,c) , PerlIO_has_base(f) ,
PerlIO_get_base(f) , PerlIO_get_bufsiz(f)
DESCRIPTION
Introduction
On The Road
The Anatomy of an XSUB
The Argument Stack
The RETVAL Variable
The MODULE Keyword
The PACKAGE Keyword
The PREFIX Keyword
The OUTPUT: Keyword
The CODE: Keyword
The INIT: Keyword
The NO_INIT Keyword
Initializing Function Parameters
Default Parameter Values
The PREINIT: Keyword
The SCOPE: Keyword
The INPUT: Keyword
Variable-length Parameter Lists
The C_ARGS: Keyword
The PPCODE: Keyword
Returning Undef And Empty Lists
The REQUIRE: Keyword
The CLEANUP: Keyword
The BOOT: Keyword
The VERSIONCHECK: Keyword
The PROTOTYPES: Keyword
The PROTOTYPE: Keyword
The ALIAS: Keyword
The INTERFACE: Keyword
The INTERFACE_MACRO: Keyword
The INCLUDE: Keyword
The CASE: Keyword
The & Unary Operator
Inserting Comments and C Preprocessor Directives
Using XS With C++
Interface Strategy
Perl Objects And C Structures
The Typemap
EXAMPLES
XS VERSION
AUTHOR
DESCRIPTION
VERSION CAVEAT
DYNAMIC VERSUS STATIC
EXAMPLE 1
EXAMPLE 2
WHAT HAS GONE ON?
WRITING GOOD TEST SCRIPTS
EXAMPLE 3
WHAT'S NEW HERE?
INPUT AND OUTPUT PARAMETERS
THE XSUBPP COMPILER
THE TYPEMAP FILE
WARNING
EXAMPLE 4
WHAT HAS HAPPENED HERE?
SPECIFYING ARGUMENTS TO XSUBPP
THE ARGUMENT STACK
EXTENDING YOUR EXTENSION
DOCUMENTING YOUR EXTENSION
INSTALLING YOUR EXTENSION
SEE ALSO
Author
Last Changed
DESCRIPTION
Variables
Datatypes
What is an "IV"?
Working with SVs
What's Really Stored in an SV?
Working with AVs
Working with HVs
Hash API Extensions
References
Blessed References and Class Objects
Creating New Variables
Reference Counts and Mortality
Stashes and Globs
Double-Typed SVs
Magic Variables
Assigning Magic
Magic Virtual Tables
Finding Magic
Understanding the Magic of Tied Hashes and Arrays
Localizing changes
SAVEINT(int i) , SAVEIV(IV i) , SAVEI32(I32 i) , SAVELONG(long i) ,
SAVESPTR(s) , SAVEPPTR(p) , SAVEFREESV(SV *sv) , SAVEFREEOP(OP
*op) , SAVEFREEPV(p) , SAVECLEARSV(SV *sv) , SAVEDELETE(HV *hv, char
*key, I32 length) , SAVEDESTRUCTOR(f,p) , SAVESTACK_POS() , SV*
save_scalar(GV *gv)
, AV* save_ary(GV *gv)
, HV* save_hash(GV *gv)
,
void save_item(SV *item)
, void save_list(SV **sarg, I32 maxsarg)
,
SV* save_svref(SV **sptr)
, void save_aptr(AV **aptr)
, void
save_hptr(HV **hptr)
Subroutines
XSUBs and the Argument Stack
Calling Perl Routines from within C Programs
Memory Allocation
PerlIO
Putting a C value on Perl stack
Scratchpads
Scratchpads and recursion
Compiled code
Code tree
Examining the tree
Compile pass 1: check routines
Compile pass 1a: constant folding
Compile pass 2: context propagation
Compile pass 3: peephole optimization
API LISTING
av_clear, av_extend, av_fetch, AvFILL, av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift,
CLASS, Copy, croak, CvSTASH, PL_DBsingle, PL_DBsub, PL_DBtrace, dMARK, dORIGMARK, PL_dowarn, dSP, dXSARGS, dXSI32, do_binmode,
ENTER,
EXTEND, fbm_compile, fbm_instr,
FREETMPS,
G_ARRAY,
G_DISCARD,
G_EVAL,
GIMME,
GIMME_V,
G_NOARGS,
G_SCALAR, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload,
G_VOID, gv_stashpv, gv_stashsv, GvSV, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, hv_delayfree_ent, hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, hv_free_ent, hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, HvNAME, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, items, ix,
LEAVE, looks_like_number,
MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, Move, PL_na, New, newAV, Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc,
NEWSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newXS, newXSproto, Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv, perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_eval_pv, perl_free, perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse, perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs,
PUSHMARK, PUSHi, PUSHn, PUSHp, PUSHs, PUSHu,
PUTBACK, Renew, Renewc,
RETVAL, safefree, safemalloc, saferealloc, savepv, savepvn,
SAVETMPS,
SP,
SPAGAIN,
ST, strEQ, strGE, strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless, sv_catpv, sv_catpv_mg, sv_catpvn, sv_catpvn_mg, sv_catpvf, sv_catpvf_mg, sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, SvCUR, SvCUR_set, sv_dec, sv_derived_from, sv_derived_from, SvEND, sv_eq, SvGETMAGIC, SvGROW, sv_grow, sv_inc, sv_insert, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOKp, sv_isa, sv_isobject, SvIV, SvIVX, SvLEN, sv_len, sv_magic, sv_mortalcopy, sv_newmortal, SvNIOK, SvNIOK_off, SvNIOKp, PL_sv_no, SvNOK, SvNOK_off, SvNOK_on, SvNOK_only, SvNOKp, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOK_off, SvPOK_on, SvPOK_only, SvPOKp, SvPV, SvPV_force, SvPVX, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSETMAGIC, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv, sv_setpv_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpvf, sv_setpvf_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, SvSetSV, SvSetSV_nosteal, sv_setsv, sv_setsv_mg, sv_setuv, sv_setuv_mg, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SVt_IV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype, PL_sv_undef, sv_unref, SvUPGRADE, sv_upgrade, sv_usepvn, sv_usepvn_mg,
sv_vcatpvfn(sv,
pat, patlen, args, svargs, svmax, used_locale),
sv_vsetpvfn(sv,
pat, patlen, args, svargs, svmax, used_locale), SvUV, SvUVX, PL_sv_yes,
THIS, toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu,
XS,
XSRETURN,
XSRETURN_EMPTY,
XSRETURN_IV,
XSRETURN_NO,
XSRETURN_NV,
XSRETURN_PV,
XSRETURN_UNDEF,
XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES,
XS_VERSION,
XS_VERSION_BOOTCHECK, Zero
AUTHORS
DESCRIPTION
An Error Handler, An Event Driven Program
THE PERL_CALL FUNCTIONS
perl_call_sv , perl_call_pv , perl_call_method , perl_call_argv
FLAG VALUES
G_VOID
G_SCALAR
G_ARRAY
G_DISCARD
G_NOARGS
G_EVAL
G_KEEPERR
Determining the Context
KNOWN PROBLEMS
EXAMPLES
No Parameters, Nothing returned
Passing Parameters
Returning a Scalar
Returning a list of values
Returning a list in a scalar context
Returning Data from Perl via the parameter list
Using G_EVAL
Using G_KEEPERR
Using perl_call_sv
Using perl_call_argv
Using perl_call_method
Using GIMME_V
Using Perl to dispose of temporaries
Strategies for storing Callback Context Information
1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
callbacks - hard wired limit, 3. Use a parameter to map to the Perl
callback
Alternate Stack Manipulation
Creating and calling an anonymous subroutine in C
SEE ALSO
AUTHOR
DATE
DESCRIPTION
INTRODUCTION
THE KEEPERS OF THE PUMPKIN
PUMPKIN?
THE RECORDS
SELECTED RELEASE SIZES
SELECTED PATCH SIZES
THE KEEPERS OF THE RECORDS
SYNOPSIS
DESCRIPTION
method, locked
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
WARNING
AUTHOR
SEE ALSO
SYNOPSIS
DESCRIPTION
SEE ALSO
SYNOPSIS
DESCRIPTION
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
NOTES
TECHNICAL NOTE
BUGS
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
The diagnostics Pragma
The splain Program
EXAMPLES
INTERNALS
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
SEE ALSO
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
ADDING DIRECTORIES TO @INC
DELETING DIRECTORIES FROM @INC
RESTORING ORIGINAL @INC
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
SYNOPSIS
CAVEAT SCRIPTOR
DESCRIPTION
Declaration of overloaded functions
Calling Conventions for Binary Operations
FALSE,
TRUE, undef
Calling Conventions for Unary Operations
Overloadable Operations
Arithmetic operations , Comparison operations , Bit operations ,
Increment and decrement , Transcendental functions , Boolean, string
and numeric conversion , Special
Inheritance and overloading
Strings as values of use overload
directive, Overloading of an operation is inherited by derived classes
SPECIAL SYMBOLS FOR use overload
Last Resort
Fallback
undef ,
TRUE, defined, but
FALSE
Copy Constructor
Example
MAGIC AUTOGENERATION
Assignment forms of arithmetic operations , Conversion operations ,
Increment and decrement , abs($a) , Unary minus , Negation ,
Concatenation , Comparison operations , Copy operator
WARNING
Run-time Overloading
Public functions
overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
Overloading constants
integer, float, binary, q, qr
IMPLEMENTATION
AUTHOR
DIAGNOSTICS
BUGS
SYNOPSIS
DESCRIPTION
OPTIONS
SIGNAL HANDLERS
stack-trace , die , handler your-handler
SIGNAL LISTS
normal-signals , error-signals , old-interface-signals
OTHER
untrapped , any , signal , number
EXAMPLES
SYNOPSIS
DESCRIPTION
strict refs
, strict vars
, strict subs
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
DBM Comparisons
[0], [1], [2], [3]
SEE ALSO
SYNOPSIS
DESCRIPTION
Subroutine Stubs
Using AutoLoader's AUTOLOAD Subroutine
Overriding AutoLoader's AUTOLOAD Subroutine
Package Lexicals
AutoLoader vs. SelfLoader
CAVEATS
SEE ALSO
SYNOPSIS
DESCRIPTION
$keep, $check, $modtime
Multiple packages
DIAGNOSTICS
SYNOPSIS
DESCRIPTION
OVERVIEW OF CLASSES
SV-RELATED CLASSES
B::SV METHODS
REFCNT,
FLAGS
B::IV METHODS
IV,
IVX, needs64bits, packiv
B::NV METHODS
NV,
NVX
B::RV METHODS
RV
B::PV METHODS
PV
B::PVMG METHODS
MAGIC, SvSTASH
B::MAGIC METHODS
MOREMAGIC,
PRIVATE,
TYPE,
FLAGS,
OBJ,
PTR
B::PVLV METHODS
TARGOFF,
TARGLEN,
TYPE,
TARG
B::BM METHODS
USEFUL,
PREVIOUS,
RARE,
TABLE
B::GV METHODS
NAME,
STASH,
SV,
IO,
FORM,
AV,
HV,
EGV,
CV,
CVGEN,
LINE,
FILEGV, GvREFCNT,
FLAGS
B::IO METHODS
LINES,
PAGE,
PAGE_LEN,
LINES_LEFT,
TOP_NAME,
TOP_GV,
FMT_NAME,
FMT_GV,
BOTTOM_NAME,
BOTTOM_GV,
SUBPROCESS, IoTYPE, IoFLAGS
B::AV METHODS
FILL,
MAX,
OFF,
ARRAY, AvFLAGS
B::CV METHODS
STASH,
START,
ROOT,
GV,
FILEGV,
DEPTH,
PADLIST,
OUTSIDE,
XSUB,
XSUBANY
B::HV METHODS
FILL,
MAX,
KEYS,
RITER,
NAME,
PMROOT,
ARRAY
OP-RELATED CLASSES
B::OP METHODS
next, sibling, ppaddr, desc, targ, type, seq, flags, private
B::UNOP METHOD
first
B::BINOP METHOD
last
B::LOGOP METHOD
other
B::CONDOP METHODS
true, false
B::LISTOP METHOD
children
B::PMOP METHODS
pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp
B::SVOP METHOD
sv
B::GVOP METHOD
gv
B::PVOP METHOD
pv
B::LOOP METHODS
redoop, nextop, lastop
B::COP METHODS
label, stash, filegv, cop_seq, arybase, line
FUNCTIONS EXPORTED BY B
main_cv, main_root, main_start, comppadlist, sv_undef, sv_yes, sv_no,
walkoptree(OP,
METHOD),
walkoptree_debug(DEBUG),
walksymtable(SYMREF,
METHOD,
RECURSE),
svref_2object(SV),
ppname(OPNUM),
hash(STR),
cast_I32(I),
minus_c,
cstring(STR),
class(OBJ),
threadsv_names,
byteload_fh(FILEHANDLE)
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
OPTIONS
-ofilename , -- , -f , -fcompress-nullops ,
-fomit-sequence-numbers , -fbypass-nullops , -fstrip-syntax-tree ,
-On , -D , -Do , -Db , -Da , -DC , -S , -m
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
OPTIONS
-ofilename , -v , -- , -uPackname , -D , -Do , -Dc , -DA ,
-DC , -DM , -f , -fcog , -fno-cog , -On
EXAMPLES
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
OPTIONS
-ofilename , -v , -- , -uPackname , -mModulename , -D , -Dr ,
-DO , -Ds , -Dp , -Dq , -Dl , -Dt , -f ,
-ffreetmps-each-bblock , -ffreetmps-each-loop , -fomit-taint , -On
EXAMPLES
BUGS
DIFFERENCES
Loops
Context of ".."
Arithmetic
Deprecated features
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
OPTIONS
-p , -u PACKAGE , -l , -s LETTERS , C
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
OPTIONS AND LINT CHECKS
context , implicit-read and implicit-write , dollar-underscore ,
private-names , undefined-subs , regexp-variables , all , none
NON LINT-CHECK OPTIONS
-u Package
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
CONVENTIONS
IMPLEMENTATION
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
OPTIONS
-oFILENAME
, -r
, -D[tO]
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
Methods
new, debug
Standard Exports
timeit(COUNT,
CODE), timethis (
COUNT,
CODE, [
TITLE, [
STYLE ]] ), timethese (
COUNT,
CODEHASHREF, [
STYLE ] ), timediff (
T1,
T2 ), timestr (
TIMEDIFF, [
STYLE, [
FORMAT ] ] )
Optional Exports
clearcache (
COUNT ), clearallcache ( ), disablecache ( ),
enablecache ( )
NOTES
INHERITANCE
CAVEATS
AUTHORS
MODIFICATION HISTORY
SYNOPSIS
ABSTRACT
DESCRIPTION
PROGRAMMING STYLE
CALLING CGI.PM ROUTINES
1. Use another name for the argument, if one is available. Forexample,
-value is an alias for -values, 2. Change the capitalization, e.g. -Values,
3. Put quotes around the argument name, e.g. '-values'
CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE):
CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
FETCHING A LIST OF KEYWORDS FROM THE QUERY:
FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:
FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:
SETTING THE VALUE(S) OF A NAMED PARAMETER:
APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER:
IMPORTING ALL PARAMETERS INTO A NAMESPACE:
DELETING A PARAMETER COMPLETELY:
DELETING ALL PARAMETERS:
DIRECT ACCESS TO THE PARAMETER LIST:
SAVING THE STATE OF THE SCRIPT TO A FILE:
USING THE FUNCTION-ORIENTED INTERFACE
:cgi , :form , :html2 , :html3 , :netscape , :html ,
:standard , :all
PRAGMAS
-any, -compile, -nph, -autoload, -no_debug, -private_tempfiles
GENERATING DYNAMIC DOCUMENTS
CREATING A STANDARD HTTP HEADER:
GENERATING A REDIRECTION HEADER
CREATING THE HTML DOCUMENT HEADER
Parameters: , 4, 5, 6..
ENDING THE HTML DOCUMENT:
CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
OBTAINING THE SCRIPT'S URL
-absolute , -relative , -full , -path (-path_info ), -query
(-query_string )
CREATING STANDARD HTML ELEMENTS:
PROVIDING ARGUMENTS TO HTML SHORTCUTS
THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS
HTML SHORTCUTS AND LIST INTERPOLATION
NON-STANDARD HTML SHORTCUTS
CREATING FILL-OUT FORMS:
CREATING AN ISINDEX TAG
STARTING AND ENDING A FORM
application/x-www-form-urlencoded , multipart/form-data
CREATING A TEXT FIELD
Parameters
CREATING A BIG TEXT FIELD
CREATING A PASSWORD FIELD
CREATING A FILE UPLOAD FIELD
Parameters
CREATING A POPUP MENU
CREATING A SCROLLING LIST
Parameters:
CREATING A GROUP OF RELATED CHECKBOXES
Parameters:
CREATING A STANDALONE CHECKBOX
Parameters:
CREATING A RADIO BUTTON GROUP
Parameters:
CREATING A SUBMIT BUTTON
Parameters:
CREATING A RESET BUTTON
CREATING A DEFAULT BUTTON
CREATING A HIDDEN FIELD
Parameters:
CREATING A CLICKABLE IMAGE BUTTON
Parameters: , 3.The third option (-align, optional) is an alignment type, and may be
TOP,
BOTTOM or
MIDDLE
CREATING A JAVASCRIPT ACTION BUTTON
NETSCAPE COOKIES
1. an expiration time, 2. a domain, 3. a path, 4. a ``secure'' flag,
-name , -value , -path , -domain , -expires , -secure
WORKING WITH NETSCAPE FRAMES
1. Create a <Frameset> document, 2. Specify the destination for the document in the
HTTP header, 3. Specify the destination for the document in the
<FORM> tag
LIMITED SUPPORT FOR CASCADING STYLE SHEETS
DEBUGGING
DUMPING OUT ALL THE NAME/VALUE PAIRS
FETCHING ENVIRONMENT VARIABLES
accept() , raw_cookie() , user_agent() , path_info() ,
path_translated() , remote_host() , script_name() Return the script name as a partial
URL, for self-refering scripts, referer() , auth_type () , server_name () , virtual_host
() , server_software () , remote_user () , user_name () ,
request_method()
USING NPH SCRIPTS
In the use statement, By calling the nph() method:, By using -nph
parameters in the header() and redirect() statements:
Server Push
multipart_init()
multipart_init(-boundary=>$boundary);,
multipart_start(),
multipart_end()
Avoiding Denial of Service Attacks
$CGI::POST_MAX , $CGI::DISABLE_UPLOADS , 1. On a script-by-script
basis , 2. Globally for all scripts
COMPATIBILITY WITH CGI-LIB.PL
AUTHOR INFORMATION
CREDITS
Matt Heffron (heffron@falstaff.css.beckman.com ), James Taylor (james.taylor@srs.gov ), Scott Anguish <sanguish@digifix.com >, Mike Jewell (mlj3u@virginia.edu ), Timothy Shimmin (tes@kbs.citri.edu.au ), Joergen Haegg (jh@axis.se ), Laurent Delfosse (delfosse@csgrad1.cs.wvu.edu ), Richard Resnick (applepi1@aol.com ), Craig Bishop (csb@barwonwater.vic.gov.au ), Tony Curtis (tc@vcpc.univie.ac.at ), Tim Bunce (Tim.Bunce@ig.co.uk ), Tom Christiansen (tchrist@convex.com ), Andreas Koenig (k@franz.ww.TU-Berlin.DE ), Tim MacKenzie (Tim.MacKenzie@fulcrum.com.au ), Kevin
B. Hendricks (kbhend@dogwood.tyler.wm.edu ), Stephen Dahmen (joyfire@inxpress.net ), Ed Jordan (ed@fidalgo.net ), David Alan Pisoni (david@cnation.com ), Doug MacEachern (dougm@opengroup.org ), Robin Houston (robin@oneworld.org ), ...and many many more..
A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT
BUGS
SEE ALSO
SYNOPSIS
DESCRIPTION
NOTE 1
NOTE 2
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
REDIRECTING ERROR MESSAGES
MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW
Changing the default message
CHANGE LOG
AUTHORS
SEE ALSO
SYNOPSIS
DESCRIPTION
USING CGI::Cookie
1. expiration date , 2. domain , 3. path , 4. secure flag
Creating New Cookies
Sending the Cookie to the Browser
Recovering Previous Cookies
Manipulating Cookies
name() , value() , domain() , path() , expires()
AUTHOR INFORMATION
BUGS
SEE ALSO
SYNOPSIS
DESCRIPTION
OTHER PIECES OF THE PUZZLE
WRITING FASTCGI PERL SCRIPTS
INSTALLING FASTCGI SCRIPTS
USING FASTCGI SCRIPTS AS CGI SCRIPTS
CAVEATS
AUTHOR INFORMATION
BUGS
SEE ALSO
SYNOPSIS
DESCRIPTION
USING CGI::Push
-next_page, -last_page, -type, -delay, -cookie, -target, -expires
Heterogeneous Pages
Changing the Page Delay on the Fly
INSTALLING CGI::Push SCRIPTS
CAVEATS
AUTHOR INFORMATION
BUGS
SEE ALSO
SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
Interactive Mode
Searching for authors, bundles, distribution files and modules, make, test,
install, clean modules or distributions, readme, look module or
distribution, Signals
CPAN::Shell
autobundle
recompile
The four CPAN::* Classes: Author, Bundle, Module, Distribution
Programmer39s interface
expand($type,@things),
Programming Examples
Methods in the four
Cache Manager
Bundles
Prerequisites
Finding packages and VERSION
Debugging
Floppy, Zip, and all that Jazz
CONFIGURATION
o conf <scalar option>, o conf <scalar option>
<value>, o conf <list option>, o conf <list option>
[shift|pop], o conf <list option> [unshift|push|splice]
<list>
CD-ROM support
SECURITY
EXPORT
BUGS
AUTHOR
SEE ALSO
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SEE ALSO
SYNOPSIS
DESCRIPTION
Forcing a Stack Trace
SYNOPSIS
DESCRIPTION
The struct() function
Element Types and Accessor Methods
Scalar ('$'
or '*$'
), Array ('@'
or '*@'
), Hash ('%'
or
'*%'
), Class ('Class_Name'
or '*Class_Name'
)
EXAMPLES
Example 1, Example 2
Author and Modification History
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
DB_HASH , DB_BTREE , DB_RECNO
Using DB_File with Berkeley DB version 2
Interface to Berkeley DB
Opening a Berkeley DB Database File
Default Parameters
In Memory Databases
DB_HASH
A Simple Example
DB_BTREE
Changing the BTREE sort order
Handling Duplicate Keys
The get_dup() Method
Matching Partial Keys
DB_RECNO
The 'bval' Option
A Simple Example
Extra Methods
$X->push(list) ; , $value = $X->pop ; , $X->shift ,
$X->unshift(list) ; , $X->length
Another Example
THE API INTERFACE
$status = $X->get($key, $value [, $flags]) ; , $status =
$X->put($key, $value [, $flags]) ; , $status = $X->del($key [,
$flags]) ; , $status = $X->fd ; , $status = $X->seq($key,
$value, $flags) ; , $status = $X->sync([$flags]) ;
HINTS AND TIPS
Locking Databases
Sharing Databases With C Applications
The untie() Gotcha
COMMON QUESTIONS
Why is there Perl source in my database?
How do I store complex data structures with DB_File?
What does "Invalid Argument" mean?
What does "Bareword 'DB_File' not allowed" mean?
HISTORY
BUGS
AVAILABILITY
COPYRIGHT
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
Methods
PACKAGE ->new(ARRAYREF [ , ARRAYREF] ), $OBJ ->Dump or
PACKAGE ->Dump(ARRAYREF [ , ARRAYREF] ), $OBJ ->Dumpxs or
PACKAGE ->Dumpxs(ARRAYREF [ , ARRAYREF] ),
$OBJ ->Seen([HASHREF] ), $OBJ ->Values([ARRAYREF] ),
$OBJ ->Names([ARRAYREF] ), $OBJ ->Reset
Functions
Dumper(
LIST ),
DumperX(
LIST )
Configuration Variables or Methods
$Data::Dumper::Indent or $OBJ ->Indent([NEWVAL] ), $Data::Dumper::Purity or $OBJ ->Purity([NEWVAL] ), $Data::Dumper::Pad or $OBJ ->Pad([NEWVAL] ), $Data::Dumper::Varname or $OBJ ->Varname([NEWVAL] ), $Data::Dumper::Useqq or $OBJ ->Useqq([NEWVAL] ), $Data::Dumper::Terse or $OBJ ->Terse([NEWVAL] ), $Data::Dumper::Freezer or $OBJ ->Freezer([NEWVAL] ), $Data::Dumper::Toaster or $OBJ ->Toaster([NEWVAL] ), $Data::Dumper::Deepcopy or $OBJ ->Deepcopy([NEWVAL] ), $Data::Dumper::Quotekeys or $OBJ ->Quotekeys([NEWVAL] ), $Data::Dumper::Bless or $OBJ ->Bless([NEWVAL] )
Exports
Dumper
EXAMPLES
BUGS
AUTHOR
VERSION
SEE ALSO
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
Selecting What To Export
Specialised Import Lists
Exporting without using Export's import method
Module Version Checking
Managing Unknown Symbols
Tag Handling Utility Functions
SYNOPSIS
DESCRIPTION
cat, eqtime src dst, rm_f files..., rm_f files..., touch files .., mv
source... destination, cp source... destination, chmod mode files.., mkpath
directory.., test_f file
BUGS
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
@EXPORT
FUNCTIONS
xsinit(),
Examples,
ldopts(),
Examples,
perl_inc(),
ccflags(),
ccdlflags(),
ccopts(),
xsi_header(),
xsi_protos(@modules),
xsi_body(@modules)
EXAMPLES
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS
new(),
modules(),
files(),
directories(),
directory_tree(),
validate(),
packlist(),
version()
EXAMPLE
AUTHOR
SYNOPSIS
DESCRIPTION
For static extensions, For dynamic extensions, For dynamic extensions
EXTRALIBS
LDLOADLIBS and LD_RUN_PATH
BSLOADLIBS
PORTABILITY
VMS implementation
Win32 implementation
SEE ALSO
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
METHODS
Preloaded methods
canonpath, catdir, catfile, curdir, rootdir, updir
SelfLoaded methods
c_o (o), cflags (o), clean (o), const_cccmd (o), const_config (o),
const_loadlibs (o), constants (o), depend (o), dir_target (o), dist (o),
dist_basics (o), dist_ci (o), dist_core (o), dist_dir (o), dist_test (o),
dlsyms (o), dynamic (o), dynamic_bs (o), dynamic_lib (o), exescan,
extliblist, file_name_is_absolute, find_perl
Methods to actually produce chunks of text for the Makefile
fixin, force (o), guess_name, has_link_code, init_dirscan, init_main,
init_others, install (o), installbin (o), libscan (o), linkext (o), lsdir,
macro (o), makeaperl (o), makefile (o), manifypods (o), maybe_command,
maybe_command_in_dirs, needs_linking (o), nicetext, parse_version,
parse_abstract, pasthru (o), path, perl_script, perldepend (o), ppd,
perm_rw (o), perm_rwx (o), pm_to_blib, post_constants (o), post_initialize
(o), postamble (o), prefixify, processPL (o), realclean (o),
replace_manpage_separator, static (o), static_lib (o), staticmake (o),
subdir_x (o), subdirs (o), test (o), test_via_harness (o), test_via_script
(o), tool_autosplit (o), tools_other (o), tool_xsubpp (o), top_targets (o),
writedoc, xs_c (o), xs_o (o), perl_archive, export_list
SEE ALSO
SYNOPSIS
DESCRIPTION
Methods always loaded
eliminate_macros, fixpath, catdir, catfile, wraplist, curdir (override),
rootdir (override), updir (override)
SelfLoaded methods
guess_name (override), find_perl (override), path (override), maybe_command
(override), maybe_command_in_dirs (override), perl_script (override),
file_name_is_absolute (override), replace_manpage_separator, init_others
(override), constants (override), cflags (override), const_cccmd
(override), pm_to_blib (override), tool_autosplit (override), tool_sxubpp
(override), xsubpp_version (override), tools_other (override), dist
(override), c_o (override), xs_c (override), xs_o (override), top_targets
(override), dlsyms (override), dynamic_lib (override), dynamic_bs
(override), static_lib (override), manifypods (override), processPL
(override), installbin (override), subdir_x (override), clean (override),
realclean (override), dist_basics (override), dist_core (override),
dist_dir (override), dist_test (override), install (override), perldepend
(override), makefile (override), test (override), test_via_harness
(override), test_via_script (override), makeaperl (override), nicetext
(override)
SYNOPSIS
DESCRIPTION
catfile, constants (o), static_lib (o), dynamic_bs (o), dynamic_lib (o),
canonpath, perl_script, pm_to_blib, test_via_harness (o), tool_autosplit
(override), tools_other (o), xs_o (o), top_targets (o), manifypods (o),
dist_ci (o), dist_core (o), pasthru (o)
SYNOPSIS
DESCRIPTION
How To Write A Makefile.PL
Default Makefile Behaviour
make test
make testdb
make install
PREFIX and LIB attribute
AFS users
Static Linking of a new Perl Binary
Determination of Perl Library and Installation Locations
Which architecture dependent directory?
Using Attributes and Parameters
C,
CCFLAGS,
CONFIG,
CONFIGURE,
DEFINE,
DIR,
DISTNAME,
DL_FUNCS,
DL_VARS,
EXCLUDE_EXT,
EXE_FILES,
NO_VC,
FIRST_MAKEFILE,
FULLPERL,
H,
IMPORTS,
INC,
INCLUDE_EXT,
INSTALLARCHLIB,
INSTALLBIN,
INSTALLDIRS,
INSTALLMAN1DIR,
INSTALLMAN3DIR,
INSTALLPRIVLIB,
INSTALLSCRIPT,
INSTALLSITELIB,
INSTALLSITEARCH,
INST_ARCHLIB,
INST_BIN,
INST_EXE,
INST_LIB,
INST_MAN1DIR,
INST_MAN3DIR,
INST_SCRIPT,
LDFROM,
LIBPERL_A,
LIB,
LIBS,
LINKTYPE,
MAKEAPERL,
MAKEFILE,
MAN1PODS,
MAN3PODS,
MAP_TARGET,
MYEXTLIB,
NAME,
NEEDS_LINKING,
NOECHO,
NORECURS,
OBJECT,
OPTIMIZE,
PERL,
PERLMAINCC,
PERL_ARCHLIB,
PERL_LIB,
PERL_SRC,
PERM_RW,
PERM_RWX,
PL_FILES,
PM,
PMLIBDIRS,
PREFIX,
PREREQ_PM,
SKIP,
TYPEMAPS,
VERSION,
VERSION_FROM,
XS,
XSOPT,
XSPROTOARG,
XS_VERSION
Additional lowercase attributes
clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean,
tool_autosplit
Overriding MakeMaker Methods
Hintsfile support
Distribution Support
make distcheck, make skipcheck, make distclean, make manifest, make
distdir, make tardist, make dist, make uutardist, make shdist, make
zipdist, make ci
Disabling an extension
SEE ALSO
AUTHORS
SYNOPSIS
DESCRIPTION
MANIFEST.SKIP
EXPORT_OK
GLOBAL VARIABLES
DIAGNOSTICS
Not in MANIFEST:
file , No such file:
file , MANIFEST:
$! ,
Added to MANIFEST:
file
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
NAME,
DL_FUNCS,
DL_VARS,
FILE,
FUNCLIST,
DLBASE
AUTHOR
REVISION
SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS
new(),
read(),
write(),
validate(),
packlist_file()
EXAMPLE
AUTHOR
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
NOTE
EXPORTED SYMBOLS
SYNOPSIS
DESCRIPTION
fileparse_set_fstype, fileparse
EXAMPLES
basename
, dirname
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
RETURN
AUTHOR
SYNOPSIS
DESCRIPTION
Special behavior if syscopy is defined (VMS and OS/2)
rmscopy($from,$to[,$date_flag])
RETURN
AUTHOR
SYNOPSIS
DESCRIPTION
EXPORTS (by request only)
BUGS
AUTHOR
HISTORY
SEE ALSO
SYNOPSIS
DESCRIPTION
BUGS
SYNOPSIS
DESCRIPTION
AUTHORS
REVISION
SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHORS
SYNOPSIS
DESCRIPTION
METHODS
canonpath, catdir, catfile, curdir, rootdir, updir, file_name_is_absolute,
path
SEE ALSO
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
METHODS
canonpath, catdir, catfile, curdir, rootdir, updir, no_upwards,
file_name_is_absolute, path, join, nativename
SEE ALSO
SYNOPSIS
DESCRIPTION
Methods always loaded
catdir, catfile, curdir (override), rootdir (override), updir (override),
path (override), file_name_is_absolute (override)
SYNOPSIS
DESCRIPTION
catfile, canonpath
SYNOPSIS
DESCRIPTION
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
BUGS
SYNOPSIS
DESCRIPTION
$fh->print, $fh->printf, $fh->getline, $fh->getlines
SEE ALSO
SYNOPSIS
DESCRIPTION
EXPORTABLE VARIABLES
KNOWN BUGS
AUTHORS
COPYRIGHT
REVISION
SYNOPSIS
DESCRIPTION
AVAILABILITY
BUGS
SEE ALSO
SYNOPSIS
DESCRIPTION
!, +, :s, :i, :f
Linkage specification
Aliases and abbreviations
Non-option call-back routine
Option starters
Return values and Errors
COMPATIBILITY
EXAMPLES
CONFIGURATION OPTIONS
default, auto_abbrev, getopt_compat, require_order, permute, bundling
(default: reset), bundling_override (default: reset), ignore_case (default:
set), ignore_case_always (default: reset), pass_through (default: reset),
prefix, prefix_pattern, debug (default: reset)
OTHER USEFUL VARIABLES
$Getopt::Long::VERSION, $Getopt::Long::error
AUTHOR
COPYRIGHT AND DISCLAIMER
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
CONSTRUCTOR
new ([
ARGS ] ), new_tmpfile
METHODS
open(
FILENAME
[,MODE
[,PERMS]] )
SEE ALSO
HISTORY
SYNOPSIS
DESCRIPTION
CONSTRUCTOR
new (), new_from_fd (
FD,
MODE )
METHODS
$fh->fdopen (
FD,
MODE ), $fh->opened, $fh->getline, $fh->getlines, $fh->ungetc (
ORD ), $fh->write (
BUF,
LEN [,
OFFSET }\] ), $fh->flush, $fh->error, $fh->clearerr, $fh->untaint
NOTE
SEE ALSO
BUGS
HISTORY
SYNOPSIS
DESCRIPTION
CONSTRCUTOR
new (
[READER,
WRITER] )
METHODS
reader
([ARGS]), writer
([ARGS]), handles ()
SEE ALSO
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
SEE ALSO
HISTORY
SYNOPSIS
DESCRIPTION
CONSTRUCTOR
new ( [
HANDLES ] )
METHODS
add (
HANDLES ), remove (
HANDLES ), exists (
HANDLE ), handles, can_read ( [
TIMEOUT ] ), can_write ( [
TIMEOUT ] ), has_error ( [
TIMEOUT ] ), count (),
bits(),
bits(),
select (
READ,
WRITE,
ERROR [,
TIMEOUT ] )
EXAMPLE
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
CONSTRUCTOR
new (
[ARGS] )
METHODS
accept([PKG]),
timeout([VAL]),
sockopt(OPT
[,
VAL]), sockdomain, socktype, protocol
SUB-CLASSES
IO::Socket::INET
METHODS
sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
()
IO::Socket::UNIX
METHODS
hostpath(),
peerpath()
SEE ALSO
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
WARNING
SEE ALSO
SYNOPSIS
DESCRIPTION
WARNING
SYNOPSIS
DESCRIPTION
ftok(
PATH,
ID )
SEE ALSO
AUTHORS
COPYRIGHT
SYNOPSIS
DESCRIPTION
METHODS
new (
KEY ,
FLAGS ), id, rcv (
BUF,
LEN [,
TYPE [,
FLAGS ]] ), remove, set (
STAT ), set (
NAME =>
VALUE [,
NAME =>
VALUE ...] ), snd (
TYPE,
MSG [,
FLAGS ] ), stat
SEE ALSO
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
METHODS
new (
KEY ,
NSEMS ,
FLAGS ), getall, getncnt (
SEM ), getpid (
SEM ), getval (
SEM ), getzcnt (
SEM ), id, op (
OPLIST ), remove, set (
STAT ), set (
NAME =>
VALUE [,
NAME =>
VALUE ...] ), setall (
VALUES ), setval (
N ,
VALUE ), stat
SEE ALSO
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
number format, Error returns 'NaN', Division is computed to
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
Canonical notation, Input, Output
EXAMPLES
Autocreating constants
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
OPERATIONS
CREATION
STRINGIFICATION
USAGE
ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO
ERRORS DUE TO INDIGESTIBLE ARGUMENTS
BUGS
AUTHORS
SYNOPSIS
DESCRIPTION
TRIGONOMETRIC FUNCTIONS
tan
ERRORS DUE TO DIVISION BY ZERO
SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS
PLANE ANGLE CONVERSIONS
RADIAL COORDINATE CONVERSIONS
COORDINATE SYSTEMS
-D ANGLE CONVERSIONS
cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian,
cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical
GREAT CIRCLE DISTANCES
EXAMPLES
BUGS
AUTHORS
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
Functions
Net::Ping->new([$proto [, $def_timeout
[, $bytes]]]);, $p->ping($host [, $timeout]);, $p->close();,
pingecho($host
[, $timeout]);
WARNING
NOTES
SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
NOTE
WARNING
Operator Names and Operator Lists
an operator name (opname), an operator tag name (optag), a negated opname
or optag, an operator set (opset)
Opcode Functions
opcodes, opset
(OP, ...), opset_to_ops
(OPSET), opset_to_hex
(OPSET), full_opset, empty_opset, invert_opset
(OPSET), verify_opset
(OPSET, ...), define_optag
(OPTAG,
OPSET), opmask_add
(OPSET), opmask, opdesc
(OP, ...), opdump
(PAT)
Manipulating Opsets
TO DO (maybe)
Predefined Opcode Tags
:base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
:base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open,
:filesys_write, :subprocess, :ownprocess, :others, :still_to_be_decided,
:dangerous
SEE ALSO
AUTHORS
SYNOPSIS
DESCRIPTION
a new namespace, an operator mask
WARNING
RECENT CHANGES
Methods in class Safe
permit
(OP, ...), permit_only
(OP, ...), deny
(OP, ...), deny_only
(OP, ...), trap
(OP, ...), untrap
(OP, ...), share
(NAME, ...), share_from
(PACKAGE,
ARRAYREF), varglob
(VARNAME), reval
(STRING), rdo
(FILENAME), root
(NAMESPACE), mask
(MASK)
Some Safety Issues
Memory,
CPU, Snooping, Signals, State Changes
AUTHOR
SYNOPSIS
DESCRIPTION
SEE ALSO
SYNOPSIS
DESCRIPTION
NOTE
CAVEATS
FUNCTIONS
_exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
wcstombs, wctomb, write
CLASSES
POSIX::SigAction
new
POSIX::SigSet
new, addset, delset, emptyset, fillset, ismember
POSIX::Termios
new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
field values, c_cflag field values, c_iflag field values, c_lflag field
values, c_oflag field values
PATHNAME CONSTANTS
Constants
POSIX CONSTANTS
Constants
SYSTEM CONFIGURATION
Constants
ERRNO
Constants
FCNTL
Constants
FLOAT
Constants
LIMITS
Constants
LOCALE
Constants
MATH
Constants
SIGNAL
Constants
STAT
Constants, Macros
STDLIB
Constants
STDIO
Constants
TIME
Constants
UNISTD
Constants
WAIT
Constants, Macros
CREATION
SYNOPSIS
DESCRIPTION
ARGUMENTS
help, htmlroot, infile, outfile, podroot, podpath, libpods, netscape,
nonetscape, index, noindex, recurse, norecurse, title, verbose
EXAMPLE
AUTHOR
BUGS
SEE ALSO
COPYRIGHT
SYNOPSIS
DESCRIPTION
AUTHOR
TODO
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
The __DATA__ token
SelfLoader autoloading
Autoloading and package lexicals
SelfLoader and AutoLoader
__DATA__, __END__, and the FOOBAR::DATA filehandle.
Classes and inherited methods.
Multiple packages and fully qualified subroutine names
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
inet_aton
HOSTNAME, inet_ntoa
IP_ADDRESS,
INADDR_ANY,
INADDR_BROADCAST,
INADDR_LOOPBACK,
INADDR_NONE, sockaddr_in
PORT,
ADDRESS, sockaddr_in
SOCKADDR_IN, pack_sockaddr_in
PORT,
IP_ADDRESS, unpack_sockaddr_in
SOCKADDR_IN, sockaddr_un
PATHNAME, sockaddr_un
SOCKADDR_UN, pack_sockaddr_un
PATH, unpack_sockaddr_un
SOCKADDR_UN
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
setlogmask $mask_priority, setlogsock $sock_type
(added in
5.004_02), closelog
EXAMPLES
DEPENDENCIES
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
EXAMPLES
SYNOPSIS
DESCRIPTION
<tab>,
^D,
^U, <del>, <bs>
DIAGNOSTICS
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
Minimal set of supported functions
ReadLine
, new
, readline
, addhistory
, IN
, $OUT
,
MinLine
, findConsole
, Attribs, Features
Additional supported functions
tkRunning
, ornaments
, newTTY
EXPORTS
ENVIRONMENT
SYNOPSIS
DESCRIPTION
TEST TYPES
NORMAL
TESTS,
SKIPPED
TESTS,
TODO
TESTS
ONFAIL
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
The test script output
EXPORT
DIAGNOSTICS
All tests successful.\nFiles=%d, Tests=%d, %s
, FAILED tests
%s\n\tFailed %d/%d tests, %.2f%% okay.
, Test returned status %d (wstat
%d)
, Failed 1 test, %.2f%% okay. %s
, Failed %d/%d tests, %.2f%% okay.
%s
ENVIRONMENT
SEE ALSO
AUTHORS
BUGS
SYNOPSIS
DESCRIPTION
EXAMPLE
SYNOPSIS
DESCRIPTION
EXAMPLES
0a simple word, 1multiple spaces are skipped because of our $delim, 2use of
quotes to include a space in a word, 3use of a backslash to include a space
in a word, 4use of a backslash to remove the special meaning of a
double-quote, 5another simple word (note the lack of effect of the
backslashed double-quote)
AUTHORS
SYNOPSIS
DESCRIPTION
EXAMPLES
LIMITATIONS
AUTHOR
SYNOPSIS
DESCRIPTION
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
EXAMPLE
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
FUNCTIONS
new \&start_sub, new \&start_sub,
LIST, lock
VARIABLE, async
BLOCK;, Thread->self, Thread->list, cond_wait
VARIABLE, cond_signal
VARIABLE, cond_broadcast
VARIABLE
METHODS
join, eval, tid
LIMITATIONS
SEE ALSO
SYNOPSIS
DESCRIPTION
FUNCTIONS AND METHODS
new, enqueue
LIST, dequeue, dequeue_nb, pending
SEE ALSO
SYNOPSIS
DESCRIPTION
FUNCTIONS AND METHODS
new, new
NUMBER, down, down
NUMBER, up, up
NUMBER
SYNOPSIS
DESCRIPTION
BUGS
SYNOPSIS
SYNOPSIS
DESCRIPTION
TIEARRAY classname,
LIST,
STORE this, index, value,
FETCH this, index,
FETCHSIZE this,
STORESIZE this, count,
EXTEND this, count,
CLEAR this,
DESTROY this,
PUSH this,
LIST,
POP this,
SHIFT this,
UNSHIFT this,
LIST,
SPLICE this, offset, length,
LIST
CAVEATS
AUTHOR
SYNOPSIS
DESCRIPTION
TIEHANDLE classname,
LIST,
WRITE this, scalar, length, offset,
PRINT this,
LIST,
PRINTF this, format,
LIST,
READ this, scalar, length, offset,
READLINE this,
GETC this,
DESTROY this
MORE INFORMATION
SYNOPSIS
DESCRIPTION
TIEHASH classname,
LIST,
STORE this, key, value,
FETCH this, key,
FIRSTKEY this,
NEXTKEY this, lastkey,
EXISTS this, key,
DELETE this, key,
CLEAR this
CAVEATS
MORE INFORMATION
SYNOPSIS
DESCRIPTION
EXAMPLE
AUTHOR
VERSION
SEE ALSO
SYNOPSIS
DESCRIPTION
TIESCALAR classname,
LIST,
FETCH this,
STORE this, value,
DESTROY this
MORE INFORMATION
SYNOPSIS
DESCRIPTION
CAVEATS
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
AUTHOR
SYNOPSIS
DESCRIPTION
isa (
TYPE ), can (
METHOD ),
VERSION ( [
REQUIRE ] ), UNIVERSAL::isa (
VAL,
TYPE ), UNIVERSAL::can (
VAL,
METHOD )
SYNOPSIS
DESCRIPTION
NOTE
AUTHOR
SYNOPSIS
DESCRIPTION
NOTE
AUTHOR
Here should be listed all the extra programs' documentation, but they don't
all have manual pages yet:
a2p
s2p
find2perl
h2ph
c2ph
h2xs
xsubpp
pod2man
wrapsuid
Larry Wall <larry@wall.org >, with the help of oodles of other folks.
DISCLAIMER
We are painfully aware that these documents may contain incorrect links and
misformatted HTML. Such bugs lie in the automatic translation process
that automatically created the hundreds and hundreds of separate documents that you find here. Please do
not report link or formatting bugs, because we cannot fix
per-document problems. The only bug reports that will help us are those
that supply working patches to the installhtml or pod2html
programs, or to the Pod::HTML module itself, for which I and the entire
Perl community will shower you with thanks and praises.
If rather than formatting bugs, you encounter substantive content errors in these documents, such as mistakes in
the explanations or code, please use the perlbug utility included
with the Perl distribution.
--Tom Christiansen, Perl Documentation Compiler and Editor
Return to the Perl Documentation Index .
Return to the Perl Home Page .