- 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 readlinepackages. 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 *LearningPerl [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 @inis sorted, and you want@outto be sorted:(this assumes all true values in the array), b) If you don't know whether@inis sorted:, c) Like (b), but@incontains only small integers:, d) 
A way to do (b) without any loops or greps:, e) Like (d), but@incontains 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, -Dletters,
-Dnumber, -e  commandline, -Fpattern, -h,
-i[extension], -Idirectory, -l[octnum],
-m[-]module, -M[-]module, -M[-]'module ...',
-[mM][-]module=arg[,arg]..., -n, -p, -P, -s, -S,
-T, -u, -U, -v, -V, -V:name, -w, -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(sub1sub2 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(...)tocroak(...),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,gtandcmp):,
Case-mapping interpolation (with\l,\L,\uor\U),
Matching operator (m//):, Substitution operator (s///):,
In-memory formatting function (sprintf()):, Output formatting
functions (printf() andwrite()):,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
 
- 
anchoredSTRINGatPOS,floatingSTRINGatPOS1..POS2,matching floating/anchored,minlen,stclassTYPE,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/iXhttp://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 overloaddirective, 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, -uPACKAGE, -l, -sLETTERS, 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.