X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltoc.pod;h=accb11ccd9eb534051b97eca14ae9f0988690c5a;hb=65841adfea0063c2125e7f78a10d9963c5625f4f;hp=e7fef20f03264c3a3b6f960ed49108e42098cb01;hpb=b23b12aadc588c77bcf84728cadfe620a974206a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltoc.pod b/pod/perltoc.pod index e7fef20..accb11c 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -301,55 +301,39 @@ authors =back -=head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date: -1999/05/23 16:08:30 $) +=head2 perltoc - perl documentation table of contents =over =item DESCRIPTION -=over - -=item What is Perl? - -=item Who supports Perl? Who develops it? Why is it free? - -=item Which version of Perl should I use? - -=item What are perl4 and perl5? - -=item What is perl6? - -=item How stable is Perl? - -=item Is Perl difficult to learn? +=item BASIC DOCUMENTATION -=item How does Perl compare with other languages like Java, Python, REXX, -Scheme, or Tcl? +=over -=item Can I do [task] in Perl? +=item perl - Practical Extraction and Report Language -=item When shouldn't I program in Perl? +SYNOPSIS, DESCRIPTION, AVAILABILITY, ENVIRONMENT, AUTHOR, FILES, SEE ALSO, +DIAGNOSTICS, BUGS, NOTES -=item What's the difference between "perl" and "Perl"? +=item perlfaq - frequently asked questions about Perl ($Date: 1999/05/23 +20:38:02 $) -=item Is it a Perl program or a Perl script? +DESCRIPTION -=item What is a JAPH? +=back -=item Where can I get a list of Larry Wall witticisms? +=back -=item How can I convince my sysadmin/supervisor/employees to use version -(5/5.005/Perl instead of some other language)? +=head2 perlbook - Perl book information -=back +=over -=item AUTHOR AND COPYRIGHT +=item DESCRIPTION =back -=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $, -$Date: 1999/10/14 18:46:09 $) +=head2 perlsyn - Perl syntax =over @@ -357,438 +341,523 @@ $Date: 1999/10/14 18:46:09 $) =over -=item What machines support Perl? Where do I get it? +=item Declarations -=item How can I get a binary version of Perl? +=item Simple statements -=item I don't have a C compiler on my system. How can I compile perl? +=item Compound statements -=item I copied the Perl binary from one machine to another, but scripts -don't work. +=item Loop Control -=item I grabbed the sources and tried to compile but gdbm/dynamic -loading/malloc/linking/... failed. How do I make it work? +=item For Loops -=item What modules and extensions are available for Perl? What is CPAN? -What does CPAN/src/... mean? +=item Foreach Loops -=item Is there an ISO or ANSI certified version of Perl? +=item Basic BLOCKs and Switch Statements -=item Where can I get information on Perl? +=item Goto -=item What are the Perl newsgroups on Usenet? Where do I post questions? +=item PODs: Embedded Documentation -=item Where should I post source code? +=item Plain Old Comments (Not!) -=item Perl Books +=back -References, Tutorials, Task-Oriented, Special Topics +=back -=item Perl in Magazines +=head2 perldata - Perl data types -=item Perl on the Net: FTP and WWW Access +=over -=item What mailing lists are there for Perl? +=item DESCRIPTION -=item Archives of comp.lang.perl.misc +=over -=item Where can I buy a commercial version of Perl? +=item Variable names -=item Where do I send bug reports? +=item Context -=item What is perl.com? Perl Mongers? pm.org? perl.org? +=item Scalar values + +=item Scalar value constructors + +=item List value constructors + +=item Slices + +=item Typeglobs and Filehandles =back -=item AUTHOR AND COPYRIGHT +=item SEE ALSO =back -=head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23 -16:08:30 $) +=head2 perlop - Perl operators and precedence =over +=item SYNOPSIS + =item DESCRIPTION =over -=item How do I do (anything)? +=item Terms and List Operators (Leftward) -=item How can I use Perl interactively? +=item The Arrow Operator -=item Is there a Perl shell? +=item Auto-increment and Auto-decrement -=item How do I debug my Perl programs? +=item Exponentiation -=item How do I profile my Perl programs? +=item Symbolic Unary Operators -=item How do I cross-reference my Perl programs? +=item Binding Operators -=item Is there a pretty-printer (formatter) for Perl? +=item Multiplicative Operators -=item Is there a ctags for Perl? +=item Additive Operators -=item Is there an IDE or Windows Perl Editor? +=item Shift Operators -=item Where can I get Perl macros for vi? +=item Named Unary Operators -=item Where can I get perl-mode for emacs? +=item Relational Operators -=item How can I use curses with Perl? +=item Equality Operators -=item How can I use X or Tk with Perl? +=item Bitwise And -=item How can I generate simple menus without using CGI or Tk? +=item Bitwise Or and Exclusive Or -=item What is undump? +=item C-style Logical And -=item How can I make my Perl program run faster? +=item C-style Logical Or -=item How can I make my Perl program take less memory? +=item Range Operators -=item Is it unsafe to return a pointer to local data? +=item Conditional Operator -=item How can I free an array or hash so my program shrinks? +=item Assignment Operators -=item How can I make my CGI script more efficient? +=item Comma Operator -=item How can I hide the source for my Perl program? +=item List Operators (Rightward) -=item How can I compile my Perl program into byte code or C? +=item Logical Not -=item How can I compile Perl into Java? +=item Logical And -=item How can I get C<#!perl> to work on [MS-DOS,NT,...]? +=item Logical or and Exclusive Or -=item Can I write useful Perl programs on the command line? +=item C Operators Missing From Perl -=item Why don't Perl one-liners work on my DOS/Mac/VMS system? +unary &, unary *, (TYPE) -=item Where can I learn about CGI or Web programming in Perl? +=item Quote and Quote-like Operators -=item Where can I learn about object-oriented Perl programming? +=item Regexp Quote-Like Operators -=item Where can I learn about linking C with Perl? [h2xs, xsubpp] +?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>, +qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/, +s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, +y/SEARCHLIST/REPLACEMENTLIST/cds -=item I've read perlembed, perlguts, etc., but I can't embed perl in -my C program, what am I doing wrong? +=item Gory details of parsing quoted constructs -=item When I tried to run my script, I got this message. What does it -mean? +Finding the end, Removal of backslashes before delimiters, Interpolation, +C<<<'EOF'>, C, C, C, C, C<''>, C, C<"">, +C<``>, C, C, C<< >>, C, C, C, +C,, Interpolation of regular expressions, Optimization of +regular expressions -=item What's MakeMaker? +=item I/O Operators -=back +=item Constant Folding -=item AUTHOR AND COPYRIGHT +=item Bitwise String Operators -=back +=item Integer Arithmetic -=head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23 -20:37:49 $) +=item Floating-point Arithmetic -=over +=item Bigger Numbers -=item DESCRIPTION +=back -=item Data: Numbers +=back -=over +=head2 perlsub - Perl subroutines -=item Why am I getting long decimals (eg, 19.9499999999999) instead of the -numbers I should be getting (eg, 19.95)? +=over -=item Why isn't my octal data interpreted correctly? +=item SYNOPSIS -=item Does Perl have a round() function? What about ceil() and floor()? -Trig functions? +=item DESCRIPTION -=item How do I convert bits into ints? +=over -=item Why doesn't & work the way I want it to? +=item Private Variables via my() -=item How do I multiply matrices? +=item Persistent Private Variables -=item How do I perform an operation on a series of integers? +=item Temporary Values via local() -=item How can I output Roman numerals? +=item Lvalue subroutines -=item Why aren't my random numbers random? +=item Passing Symbol Table Entries (typeglobs) -=back +=item When to Still Use local() -=item Data: Dates +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 -=over +=item Pass by Reference -=item How do I find the week-of-the-year/day-of-the-year? +=item Prototypes -=item How do I find the current century or millennium? +=item Constant Functions -=item How can I compare two dates and find the difference? +=item Overriding Built-in Functions -=item How can I take a string and turn it into epoch seconds? +=item Autoloading -=item How can I find the Julian Day? +=item Subroutine Attributes -=item How do I find yesterday's date? +=back -=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant? +=item SEE ALSO =back -=item Data: Strings +=head2 perlfunc - Perl builtin functions =over -=item How do I validate input? - -=item How do I unescape a string? - -=item How do I remove consecutive pairs of characters? +=item DESCRIPTION -=item How do I expand function calls in a string? +=over -=item How do I find matching/nesting anything? +=item Perl Functions by Category -=item How do I reverse a string? +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 -=item How do I expand tabs in a string? +=item Portability -=item How do I reformat a paragraph? +=item Alphabetical Listing of Perl Functions -=item How can I access/change the first N letters of a string? - -=item How do I change the Nth occurrence of something? +I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept +NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, +binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME, +bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, +chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER, +chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE, +connect SOCKET,NAME, continue BLOCK, cos EXPR, crypt PLAINTEXT,SALT, +dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete +EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, +each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST, +exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl +FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION, +fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin, +getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam +NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname +NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr +ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, +getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, +getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent +STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, +endhostent, endnetent, endprotoent, endservent, getsockname SOCKET, +getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, +goto EXPR, goto &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 SIGNAL, LIST, +last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, +link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, +lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK +LIST, map EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl +ID,CMD,ARG, msgget KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd +ID,MSG,FLAGS, my EXPR, my EXPR : ATTRIBUTES, next LABEL, next, no Module +LIST, oct EXPR, oct, open FILEHANDLE,MODE,LIST, open FILEHANDLE,EXPR, open +FILEHANDLE, opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack +TEMPLATE,LIST, package, 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,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename +OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset, +return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex +STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar +EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select +FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl +ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send +SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority +WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY, +shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, +shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep +EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair +SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST, +sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH, +splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split +/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, +sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, +study, sub BLOCK, sub NAME, sub NAME BLOCK, substr +EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr +EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen +FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread +FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek +FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite +FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, +syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie +VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate +FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, +ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack +TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST, +use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST, +values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn +LIST, write FILEHANDLE, write EXPR, write, y/// -=item How can I count the number of occurrences of a substring within a -string? +=back -=item How do I capitalize all the words on one line? +=back -=item How can I split a [character] delimited string except when inside -[character]? (Comma-separated files) +=head2 perlreftut - Mark's very short tutorial about references -=item How do I strip blank space from the beginning/end of a string? +=over -=item How do I pad a string with blanks or pad a number with zeroes? +=item DESCRIPTION -=item How do I extract selected columns from a string? +=item Who Needs Complicated Data Structures? -=item How do I find the soundex value of a string? +=item The Solution -=item How can I expand variables in text strings? +=item Syntax -=item What's wrong with always quoting "$vars"? +=over -=item Why don't my < -=item Why does defined() return true on empty arrays and hashes? +=item DEBUGGING -=back +=item CODE EXAMPLES -=item Data: Hashes (Associative Arrays) +=item ARRAYS OF ARRAYS =over -=item How do I process an entire hash? +=item Declaration of a ARRAY OF ARRAYS -=item What happens if I add or remove keys from a hash while iterating over -it? +=item Generation of a ARRAY OF ARRAYS -=item How do I look up a hash element by value? +=item Access and Printing of a ARRAY OF ARRAYS -=item How can I know how many entries are in a hash? +=back -=item How do I sort a hash (optionally by value instead of key)? +=item HASHES OF ARRAYS -=item How can I always keep my hash sorted? +=over -=item What's the difference between "delete" and "undef" with hashes? +=item Declaration of a HASH OF ARRAYS -=item Why don't my tied hashes make the defined/exists distinction? +=item Generation of a HASH OF ARRAYS -=item How do I reset an each() operation part-way through? +=item Access and Printing of a HASH OF ARRAYS -=item How can I get the unique keys from two hashes? +=back -=item How can I store a multidimensional array in a DBM file? +=item ARRAYS OF HASHES -=item How can I make my hash remember the order I put elements into it? +=over -=item Why does passing a subroutine an undefined element in a hash create -it? +=item Declaration of a ARRAY OF HASHES -=item How can I make the Perl equivalent of a C structure/C++ class/hash or -array of hashes or arrays? +=item Generation of a ARRAY OF HASHES -=item How can I use a reference as a hash key? +=item Access and Printing of a ARRAY OF HASHES =back -=item Data: Misc +=item HASHES OF HASHES =over -=item How do I handle binary data correctly? +=item Declaration of a HASH OF HASHES -=item How do I determine whether a scalar is a number/whole/integer/float? +=item Generation of a HASH OF HASHES -=item How do I keep persistent data across program calls? +=item Access and Printing of a HASH OF HASHES -=item How do I print out or copy a recursive data structure? +=back -=item How do I define methods for every class/object? +=item MORE ELABORATE RECORDS -=item How do I verify a credit card checksum? +=over -=item How do I pack arrays of doubles or floats for XS code? +=item Declaration of MORE ELABORATE RECORDS + +=item Declaration of a HASH OF COMPLEX RECORDS + +=item Generation of a HASH OF COMPLEX RECORDS =back -=item AUTHOR AND COPYRIGHT +=item Database Ties + +=item SEE ALSO + +=item AUTHOR =back -=head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23 -16:08:30 $) +=head2 perlrequick - Perl regular expressions quick start =over =item DESCRIPTION +=item The Guide + =over -=item How do I flush/unbuffer an output filehandle? Why must I do this? +=item Simple word matching -=item 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? +=item Using character classes -=item How do I count the number of lines in a file? +\d is a digit and represents [0-9], \s is a whitespace character and +represents [\ \t\r\n\f], \w is a word character (alphanumeric or _) and +represents [0-9a-zA-Z_], \D is a negated \d; it represents any character +but a digit [^0-9], \S is a negated \s; it represents any non-whitespace +character [^\s], \W is a negated \w; it represents any non-word character +[^\w], The period '.' matches any character but "\n" -=item How do I make a temporary file name? +=item Matching this or that -=item How can I manipulate fixed-record-length files? +=item Grouping things and hierarchical matching -=item 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? +=item Extracting matches -=item How can I use a filehandle indirectly? +=item Matching repetitions -=item How can I set up a footer format to be used with write()? +C = match 'a' 1 or 0 times, C = match 'a' 0 or more times, i.e., +any number of times, C = match 'a' 1 or more times, i.e., at least +once, C = match at least C times, but not more than C times, +C = match at least C or more times, C = match exactly C +times -=item How can I write() into a string? +=item More matching -=item How can I output my numbers with commas added? +=item Search and replace -=item How can I translate tildes (~) in a filename? +=item The split operator -=item How come when I open a file read-write it wipes it out? +=back -=item Why do I sometimes get an "Argument list too long" when I use <*>? +=item BUGS -=item Is there a leak/bug in glob()? +=item SEE ALSO -=item How can I open a file with a leading ">" or trailing blanks? +=item AUTHOR AND COPYRIGHT -=item How can I reliably rename a file? +=over -=item How can I lock a file? +=item Acknowledgments -=item Why can't I just open(FH, ">file.lock")? +=back -=item I still don't get locking. I just want to increment the number in -the file. How can I do this? +=back -=item How do I randomly update a binary file? +=head2 perlpod - plain old documentation -=item How do I get a file's timestamp in perl? +=over -=item How do I set a file's timestamp in perl? +=item DESCRIPTION -=item How do I print to more than one file at once? +=over -=item How can I read in an entire file all at once? +=item Verbatim Paragraph -=item How can I read in a file by paragraphs? +=item Command Paragraph -=item How can I read a single character from a file? From the keyboard? +=item Ordinary Block of Text -=item How can I tell whether there's a character waiting on a filehandle? +=item The Intent -=item How do I do a C in perl? - -=item How do I dup() a filehandle in Perl? +=item Embedding Pods in Perl Modules -=item How do I close a file descriptor by number? +=item Common Pod Pitfalls -=item Why can't I use "C:\temp\foo" in DOS paths? What doesn't -`C:\temp\foo.exe` work? +=back -=item Why doesn't glob("*.*") get all the files? +=item SEE ALSO -=item Why does Perl let me delete read-only files? Why does C<-i> clobber -protected files? Isn't this a bug in Perl? +=item AUTHOR -=item How do I select a random line from a file? +=back -=item Why do I get weird spaces when I print an array of lines? +=head2 perlstyle - Perl style guide -=back +=over -=item AUTHOR AND COPYRIGHT +=item DESCRIPTION =back -=head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $) +=head2 perltrap - Perl traps for the unwary =over @@ -796,791 +865,843 @@ protected files? Isn't this a bug in Perl? =over -=item How can I hope to use regular expressions without creating illegible -and unmaintainable code? - -Comments Outside the Regex, Comments Inside the Regex, Different Delimiters - -=item I'm having trouble matching over more than one line. What's wrong? - -=item How can I pull out lines between two patterns that are themselves on -different lines? +=item Awk Traps -=item I put a regular expression into $/ but it didn't work. What's wrong? +=item C Traps -=item How do I substitute case insensitively on the LHS, but preserving -case on the RHS? +=item Sed Traps -=item How can I make C<\w> match national character sets? +=item Shell Traps -=item How can I match a locale-smart version of C? +=item Perl Traps -=item How can I quote a variable to use in a regex? +=item Perl4 to Perl5 Traps -=item What is C really for? +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 -=item How do I use a regular expression to strip C style comments from a -file? +=item Discontinuance, Deprecation, and BugFix traps -=item Can I use Perl regular expressions to match balanced text? +Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance, +Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix, +Discontinuance, Deprecation, Discontinuance, Discontinuance -=item What does it mean that regexes are greedy? How can I get around it? +=item Parsing Traps -=item How do I process each word on each line? +Parsing, Parsing, Parsing, Parsing -=item How can I print out a word-frequency or line-frequency summary? +=item Numerical Traps -=item How can I do approximate matching? +Numerical, Numerical, Numerical, Bitwise string ops -=item How do I efficiently match many regular expressions at once? +=item General data type traps -=item Why don't word-boundary searches with C<\b> work for me? +(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String), +(Constants), (Scalars), (Variable Suicide) -=item Why does using $&, $`, or $' slow my program down? +=item Context Traps - scalar, list contexts -=item What good is C<\G> in a regular expression? +(list context), (scalar context), (scalar context), (list, builtin) -=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant? +=item Precedence Traps -=item What's wrong with using grep or map in a void context? +Precedence, Precedence, Precedence, Precedence, Precedence, Precedence, +Precedence -=item How can I match strings with multibyte characters? +=item General Regular Expression Traps using s///, etc. -=item How do I match a pattern that is supplied by the user? +Regular Expression, Regular Expression, Regular Expression, Regular +Expression, Regular Expression, Regular Expression, Regular Expression, +Regular Expression -=back +=item Subroutine, Signal, Sorting Traps -=item AUTHOR AND COPYRIGHT +(Signals), (Sort Subroutine), warn() won't let you specify a filehandle -=back +=item OS Traps -=head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date: -1999/05/23 20:36:18 $) +(SysV), (SysV) -=over +=item Interpolation Traps -=item DESCRIPTION +Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, +Interpolation, Interpolation, Interpolation, Interpolation -=over +=item DBM Traps -=item Can I get a BNF/yacc/RE for the Perl language? +DBM, DBM -=item What are all these $@%&* punctuation signs, and how do I know when to -use them? +=item Unclassified Traps -=item Do I always/never have to quote my strings or use semicolons and -commas? +C/C trap using returned value, C on empty string with +LIMIT specified -=item How do I skip some return values? +=back -=item How do I temporarily block warnings? +=back -=item What's an extension? +=head2 perlrun - how to execute the Perl interpreter -=item Why do Perl operators have different precedence than C operators? +=over -=item How do I declare/create a structure? +=item SYNOPSIS -=item How do I create a module? +=item DESCRIPTION -=item How do I create a class? +=over -=item How can I tell if a variable is tainted? +=item #! and quoting on non-Unix systems -=item What's a closure? +OS/2, MS-DOS, Win95/NT, Macintosh, VMS -=item What is variable suicide and how can I prevent it? +=item Location of Perl -=item How can I pass/return a {Function, FileHandle, Array, Hash, Method, -Regex}? +=item Command Switches -Passing Variables and Functions, Passing Filehandles, Passing Regexes, -Passing Methods +B<-0>[I], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I, +B<-D>I, B<-D>I, B<-e> I, B<-F>I, +B<-h>, B<-i>[I], B<-I>I, B<-l>[I], +B<-m>[B<->]I, B<-M>[B<->]I, B<-M>[B<->]I<'module ...'>, +B<-[mM]>[B<->]I, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>, +B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-W>, B<-X>, +B<-x> I -=item How do I create a static variable? +=back -=item What's the difference between dynamic and lexical (static) scoping? -Between local() and my()? +=item ENVIRONMENT -=item How can I access a dynamic variable while a similarly named lexical -is in scope? +HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL +(specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL, +PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port) -=item What's the difference between deep and shallow binding? +=back -=item Why doesn't "my($foo) = ;" work right? +=head2 perldiag - various Perl diagnostics -=item How do I redefine a builtin function, operator, or method? +=over -=item What's the difference between calling a function as &foo and foo()? +=item DESCRIPTION -=item How do I create a switch or case statement? +=back -=item How can I catch accesses to undefined variables/functions/methods? +=head2 perllexwarn - Perl Lexical Warnings -=item Why can't a method included in this same file be found? +=over -=item How can I find out my current package? +=item DESCRIPTION -=item How can I comment out a large block of perl code? +=over -=item How do I clear a package? +=item Default Warnings and Optional Warnings -=item How can I use a variable as a variable name? +=item What's wrong with B<-w> and C<$^W> -=back +=item Controlling Warnings from the Command Line -=item AUTHOR AND COPYRIGHT +B<-w>, B<-W>, B<-X> -=back +=item Backward Compatibility -=head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23 -18:37:57 $) +=item Category Hierarchy -=over +=item Fatal Warnings -=item DESCRIPTION +=item Reporting Warnings from a Module -=over +=back -=item How do I find out which operating system I'm running under? +=item TODO -=item How come exec() doesn't return? +=item SEE ALSO -=item How do I do fancy stuff with the keyboard/screen/mouse? +=item AUTHOR -Keyboard, Screen, Mouse +=back -=item How do I print something out in color? +=head2 perldebug - Perl debugging -=item How do I read just one key without waiting for a return key? +=over -=item How do I check whether input is ready on the keyboard? +=item DESCRIPTION -=item How do I clear the screen? +=item The Perl Debugger -=item How do I get the screen size? +=over -=item How do I ask the user for a password? +=item Debugger Commands -=item How do I read and write the serial port? +h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n +[expr], r, , c [line|sub], l, l min+incr, l min-max, l line, l subname, +-, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], 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 [line], A, W expr, W, O booloption .., O anyoption? .., O +option=value .., < ?, < [ command ], << command, > ?, > command, >> +command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !! +cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage] -lockfiles, open mode, end of line, flushing output, non-blocking input +=item Configurable Options -=item How do I decode encrypted password files? +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C -=item How do I start a process in the background? +=item Debugger input/output -STDIN, STDOUT, and STDERR are shared, Signals, Zombies +Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame +listing -=item How do I trap control characters/signals? +=item Debugging compile-time statements -=item How do I modify the shadow password file on a Unix system? +=item Debugger Customization -=item How do I set the time and date? +=item Readline Support -=item How can I sleep() or alarm() for under a second? +=item Editor Support for Debugging -=item How can I measure time under a second? +=item The Perl Profiler -=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling) +=back -=item Why doesn't my sockets program work under System V (Solaris)? What -does the error message "Protocol not supported" mean? +=item Debugging regular expressions -=item How can I call my system's unique C functions from Perl? +=item Debugging memory usage -=item Where do I get the include files to do ioctl() or syscall()? +=item SEE ALSO -=item Why do setuid perl scripts complain about kernel problems? +=item BUGS -=item How can I open a pipe both to and from a command? +=back -=item Why can't I get the output of a command with system()? +=head2 perlvar - Perl predefined variables -=item How can I capture STDERR from an external command? +=over -=item Why doesn't open() return an error when a pipe open fails? +=item DESCRIPTION -=item What's wrong with using backticks in a void context? +=over -=item How can I call backticks without shell processing? +=item Predefined Names -=item Why can't my script read from STDIN after I gave it EOF (^D on Unix, -^Z on MS-DOS)? +$ARG, $_, $>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', +$LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*, +input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $, +input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/, +autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE +EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE +EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $", +$SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE +EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR, +$FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR, +$FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, C<$`> is the same as +C, C<$&> is the same as C, C<$'> is the same as C, C<$1> is the same +as C, C<$2> is the same as +C, C<$3> is the same as C, format_name HANDLE EXPR, $FORMAT_NAME, $~, +format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^, +format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS, +$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, +$CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, +$EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, +$EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(, +$EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, +$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, +$OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, +0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S, +$BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, +${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC, +%ENV, $ENV{expr}, %SIG, $SIG{expr} -=item How can I convert my shell script to perl? +=item Error Indicators -=item Can I use perl to run a telnet or ftp session? +=item Technical Note on the Syntax of Variable Names -=item How can I write expect in Perl? +=back -=item Is there a way to hide perl's command line from programs such as -"ps"? +=item BUGS -=item 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? +=back -Unix +=head2 perllol - Manipulating Arrays of Arrays in Perl -=item How do I close a process's filehandle without waiting for it to -complete? +=over -=item How do I fork a daemon process? +=item DESCRIPTION -=item How do I make my program run with sh and csh? +=item Declaration and Access of Arrays of Arrays -=item How do I find out if I'm running interactively or not? +=item Growing Your Own -=item How do I timeout a slow event? +=item Access and Printing -=item How do I set CPU limits? +=item Slices -=item How do I avoid zombies on a Unix system? +=item SEE ALSO -=item How do I use an SQL database? +=item AUTHOR -=item How do I make a system() exit on control-C? +=back -=item How do I open a file without blocking? +=head2 perlopentut - tutorial on opening things in Perl -=item How do I install a module from CPAN? +=over -=item What's the difference between require and use? +=item DESCRIPTION -=item How do I keep my own module/library directory? +=item Open E la shell -=item How do I add the directory my program lives in to the module/library -search path? +=over -=item How do I add a directory to my include path at runtime? +=item Simple Opens -=item What is socket.ph and where do I get it? +=item Pipe Opens -=back +=item The Minus File -=item AUTHOR AND COPYRIGHT +=item Mixing Reads and Writes + +=item Filters =back -=head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30 -$) +=item Open E la C =over -=item DESCRIPTION - -=over +=item Permissions E la mode -=item My CGI script runs from the command line but not the browser. (500 -Server Error) +=back -=item How can I get better error messages from a CGI program? +=item Obscure Open Tricks -=item How do I remove HTML from a string? +=over -=item How do I extract URLs? +=item Re-Opening Files (dups) -=item How do I download a file from the user's machine? How do I open a -file on another machine? +=item Dispelling the Dweomer -=item How do I make a pop-up menu in HTML? +=item Paths as Opens -=item How do I fetch an HTML file? +=item Single Argument Open -=item How do I automate an HTML form submission? +=item Playing with STDIN and STDOUT -=item How do I decode or create those %-encodings on the web? +=back -=item How do I redirect to another page? +=item Other I/O Issues -=item How do I put a password on my web pages? +=over -=item How do I edit my .htpasswd and .htgroup files with Perl? +=item Opening Non-File Files -=item How do I make sure users can't enter values into a form that cause my -CGI script to do bad things? +=item Binary Files -=item How do I parse a mail header? +=item File Locking -=item How do I decode a CGI form? +=back -=item How do I check a valid mail address? +=item SEE ALSO -=item How do I decode a MIME/BASE64 string? +=item AUTHOR and COPYRIGHT -=item How do I return the user's mail address? +=item HISTORY -=item How do I send mail? +=back -=item How do I read mail? +=head2 perlretut - Perl regular expressions tutorial + +=over -=item How do I find out my hostname/domainname/IP address? +=item DESCRIPTION -=item How do I fetch a news article or the active newsgroups? +=item Part 1: The basics -=item How do I fetch/put an FTP file? +=over -=item How can I do RPC in Perl? +=item Simple word matching -=back +=item Using character classes -=item AUTHOR AND COPYRIGHT +\d is a digit and represents [0-9], \s is a whitespace character and +represents [\ \t\r\n\f], \w is a word character (alphanumeric or _) and +represents [0-9a-zA-Z_], \D is a negated \d; it represents any character +but a digit [^0-9], \S is a negated \s; it represents any non-whitespace +character [^\s], \W is a negated \w; it represents any non-word character +[^\w], The period '.' matches any character but "\n", no modifiers (//): +Default behavior. C<'.'> matches any character except C<"\n">. C<^> +matches only at the beginning of the string and C<$> matches only at the +end or before a newline at the end, s modifier (//s): Treat string as a +single long line. C<'.'> matches any character, even C<"\n">. C<^> +matches only at the beginning of the string and C<$> matches only at the +end or before a newline at the end, m modifier (//m): Treat string as a set +of multiple lines. C<'.'> matches any character except C<"\n">. C<^> and +C<$> are able to match at the start or end of I line within the +string, both s and m modifiers (//sm): Treat string as a single long line, +but detect multiple lines. C<'.'> matches any character, even C<"\n">. +C<^> and C<$>, however, are able to match at the start or end of I +line within the string -=back +=item Matching this or that -=head2 perldelta - what's new for perl v5.6.0 +=item Grouping things and hierarchical matching -=over +0 Start with the first letter in the string 'a', 1 Try the first +alternative in the first group 'abd', 2 Match 'a' followed by 'b'. So far +so good, 3 'd' in the regexp doesn't match 'c' in the string - a dead end. +So backtrack two characters and pick the second alternative in the first +group 'abc', 4 Match 'a' followed by 'b' followed by 'c'. We are on a roll +and have satisfied the first group. Set $1 to 'abc', 5 Move on to the +second group and pick the first alternative 'df', 6 Match the 'd', 7 'f' in +the regexp doesn't match 'e' in the string, so a dead end. Backtrack one +character and pick the second alternative in the second group 'd', 8 'd' +matches. The second grouping is satisfied, so set $2 to 'd', 9 We are at +the end of the regexp, so we are done! We have matched 'abcd' out of the +string "abcde" -=item DESCRIPTION +=item Extracting matches -=item Core Enhancements +=item Matching repetitions -=over +C = match 'a' 1 or 0 times, C = match 'a' 0 or more times, i.e., +any number of times, C = match 'a' 1 or more times, i.e., at least +once, C = match at least C times, but not more than C times, +C = match at least C or more times, C = match exactly C +times, Principle 0: Taken as a whole, any regexp will be matched at the +earliest possible position in the string, Principle 1: In an alternation +C, the leftmost alternative that allows a match for the whole +regexp will be the one used, Principle 2: The maximal matching quantifiers +C, C<*>, C<+> and C<{n,m}> will in general match as much of the string +as possible while still allowing the whole regexp to match, Principle 3: If +there are two or more elements in a regexp, the leftmost greedy quantifier, +if any, will match as much of the string as possible while still allowing +the whole regexp to match. The next leftmost greedy quantifier, if any, +will try to match as much of the string remaining available to it as +possible, while still allowing the whole regexp to match. And so on, until +all the regexp elements are satisfied, C = match 'a' 0 or 1 times. Try +0 first, then 1, C = match 'a' 0 or more times, i.e., any number of +times, but as few times as possible, C = match 'a' 1 or more times, +i.e., at least once, but as few times as possible, C = match at +least C times, not more than C times, as few times as possible, +C = match at least C times, but as few times as possible, +C = match exactly C times. Because we match exactly C times, +C is equivalent to C and is just there for notational +consistency, Principle 3: If there are two or more elements in a regexp, +the leftmost greedy (non-greedy) quantifier, if any, will match as much +(little) of the string as possible while still allowing the whole regexp to +match. The next leftmost greedy (non-greedy) quantifier, if any, will try +to match as much (little) of the string remaining available to it as +possible, while still allowing the whole regexp to match. And so on, until +all the regexp elements are satisfied, 0 Start with the first letter in the +string 't', 1 The first quantifier '.*' starts out by matching the whole +string 'the cat in the hat', 2 'a' in the regexp element 'at' doesn't match +the end of the string. Backtrack one character, 3 'a' in the regexp +element 'at' still doesn't match the last letter of the string 't', so +backtrack one more character, 4 Now we can match the 'a' and the 't', 5 +Move on to the third element '.*'. Since we are at the end of the string +and '.*' can match 0 times, assign it the empty string, 6 We are done! -=item Interpreter cloning, threads, and concurrency +=item Building a regexp -=item Lexically scoped warning categories +specifying the task in detail,, breaking down the problem into smaller +parts,, translating the small parts into regexps,, combining the regexps,, +and optimizing the final combined regexp -=item Unicode and UTF-8 support +=item Using regular expressions in Perl -=item Support for interpolating named characters +=back -=item "our" declarations +=item Part 2: Power tools -=item Support for strings represented as a vector of ordinals +=over -=item Improved Perl version numbering system +=item More on characters, strings, and character classes -=item New syntax for declaring subroutine attributes +=item Compiling and saving regular expressions -=item File and directory handles can be autovivified +=item Embedding comments and modifiers in a regular expression -=item open() with more than two arguments +=item Non-capturing groupings + +=item Looking ahead and looking behind + +=item Using independent subexpressions to prevent backtracking + +=item Conditional expressions -=item 64-bit support +=item A bit of magic: executing Perl code in a regular expression -=item Large file support +=item Pragmas and debugging -=item Long doubles +=back -=item "more bits" +=item BUGS -=item Enhanced support for sort() subroutines +=item SEE ALSO -=item C allowed +=item AUTHOR AND COPYRIGHT -=item File globbing implemented internally +=over -Support for CHECK blocks +=item Acknowledgments -=item POSIX character class syntax [: :] supported +=back -Better pseudo-random number generator +=back -=item Improved C operator +=head2 perlref - Perl references and nested data structures -Better worst-case behavior of hashes +=over -=item pack() format 'Z' supported +=item NOTE -=item pack() format modifier '!' supported +=item DESCRIPTION -=item pack() and unpack() support counted strings +=over -=item Comments in pack() templates +=item Making References -=item Weak references +=item Using References -=item Binary numbers supported +=item Symbolic references -=item Lvalue subroutines +=item Not-so-symbolic references -=item Some arrows may be omitted in calls through references +=item Pseudo-hashes: Using an array as a hash -=item Boolean assignment operators are legal lvalues +=item Function Templates -=item exists() is supported on subroutine names +=back -=item exists() and delete() are supported on array elements +=item WARNING -=item Pseudo-hashes work better +=item SEE ALSO -=item Automatic flushing of output buffers +=back -=item Better diagnostics on meaningless filehandle operations +=head2 perlre - Perl regular expressions -=item Where possible, buffered data discarded from duped input filehandle +=over -=item eof() has the same old magic as <> +=item DESCRIPTION -=item binmode() can be used to set :crlf and :raw modes +i, m, s, x -=item C<-T> filetest recognizes UTF-8 encoded files as "text" +=over -=item system(), backticks and pipe open now reflect exec() failure +=item Regular Expressions -=item Improved diagnostics +cntrl, graph, print, punct, xdigit -=item Diagnostics follow STDERR +=item Extended Patterns -More consistent close-on-exec behavior +C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>, +C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?, C<(?{ +code })>, C<(??{ code })>, C<< (?>pattern) >>, +C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)> -=item syswrite() ease-of-use +=item Backtracking -=item Better syntax checks on parenthesized unary operators +=item Version 8 Regular Expressions -=item Bit operators support full native integer width +=item Warning on \1 vs $1 -=item Improved security features +=item Repeated patterns matching zero-length substring -More functional bareword prototype (*) +=item Combining pieces together -=item C and C may be overridden +C, C, C, C, C, C, +C, C, C, C, C, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>, +C<(?!S)>, C<(?, C<(??{ EXPR })>, +C<(?(condition)yes-pattern|no-pattern)> -=item $^X variables may now have names longer than one character +=item Creating custom RE engines -=item New variable $^C reflects C<-c> switch +=back -=item New variable $^V contains Perl version as a string +=item BUGS -=item Optional Y2K warnings +=item SEE ALSO =back -=item Modules and Pragmata +=head2 perlform - Perl formats =over -=item Modules +=item DESCRIPTION -attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, -DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, -Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, -File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, -Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, -podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, -pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, -Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters +=over -=item Pragmata +=item Format Variables =back -=item Utility Changes +=item NOTES =over -=item dprofpp +=item Footers -=item find2perl +=item Accessing Formatting Internals -=item h2xs +=back -=item perlcc - -=item perldoc - -=item The Perl Debugger +=item WARNINGS =back -=item Improved Documentation - -perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, -perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, -perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, -perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod - -=item Performance enhancements +=head2 perllocale - Perl locale handling (internationalization and +localization) =over -=item Simple sort() using { $a <=> $b } and the like are optimized - -=item Optimized assignments to lexical variables - -=item Faster subroutine calls - -delete(), each(), values() and hash iteration are faster +=item DESCRIPTION -=back +=item PREPARING TO USE LOCALES -=item Installation and Configuration Improvements +=item USING LOCALES =over -=item -Dusethreads means something different - -=item New Configure flags +=item The use locale pragma -=item Threadedness and 64-bitness now more daring +=item The setlocale function -=item Long Doubles +=item Finding locales -=item -Dusemorebits +=item LOCALE PROBLEMS -=item -Duselargefiles +=item Temporarily fixing locale problems -=item installusrbinperl +=item Permanently fixing locale problems -=item SOCKS support +=item Permanently fixing your system's locale configuration -=item C<-A> flag +=item Fixing system locale configuration -=item Enhanced Installation Directories +=item The localeconv function =back -=item Platform specific changes +=item LOCALE CATEGORIES =over -=item Supported platforms +=item Category LC_COLLATE: Collation -=item DOS +=item Category LC_CTYPE: Character Types -=item OS390 (OpenEdition MVS) +=item Category LC_NUMERIC: Numeric Formatting -=item VMS +=item Category LC_MONETARY: Formatting of monetary amounts -=item Win32 +=item LC_TIME + +=item Other categories =back -=item Significant bug fixes +=item SECURITY -=over +B (C, C, C, C and C):, +B (with C<\l>, C<\L>, C<\u> or C<\U>), +B (C):, B (C):, +B (printf() and write()):, B (lc(), lcfirst(), uc(), ucfirst()):, B (localeconv(), strcoll(), strftime(), strxfrm()):, B (isalnum(), isalpha(), isdigit(), isgraph(), +islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()): -=item on empty files +=item ENVIRONMENT -=item C improvements +PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, +LC_NUMERIC, LC_TIME, LANG -=item All compilation errors are true errors +=item NOTES -=item Implicitly closed filehandles are safer +=over -=item Behavior of list slices is more consistent +=item Backward compatibility -=item C<(\$)> prototype and C<$foo{a}> +=item I18N:Collate obsolete -=item C and AUTOLOAD +=item Sort speed and memory use impacts -=item C<-bareword> allowed under C +=item write() and LC_NUMERIC -=item Failures in DESTROY() +=item Freely available locale definitions -=item Locale bugs fixed +=item I18n and l10n -=item Memory leaks +=item An imperfect standard -=item Spurious subroutine stubs after failed subroutine calls +=back -=item Taint failures under C<-U> +=item BUGS -=item END blocks and the C<-c> switch +=over -=item Potential to leak DATA filehandles +=item Broken systems =back -=item New or Changed Diagnostics +=item SEE ALSO -(perhaps you forgot to load "%s"?), "%s" variable %s masks earlier -declaration in same %s, "my sub" not yet implemented, "our" variable %s -redeclared, '!' allowed only after types %s, / cannot take a count, / must -be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow -a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: -Unrecognized escape \\%c in character class passed through, /%s/ should -probably be written as "%s", %s() called too early to check prototype, %s -argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY -element or slice, %s argument is not a subroutine name, %s package -attribute may clash with future reserved word: %s, (in cleanup) %s, <> -should be quotes, Attempt to join self, Bad evalled substitution pattern, -Bad realloc() ignored, Bareword found in conditional, Binary number > -0b11111111111111111111111111111111 non-portable, Bit vector size > 32 -non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem -of script "%s", Can't declare class for non-scalar %s in "%s", Can't -declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't -modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove -%s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken -a nonreference, Character class [:%s:] unknown, Character class syntax [%s] -belongs inside character classes, Constant is not %s reference, -constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, -defined(%hash) is deprecated, Did not produce a valid header, (Did you mean -"local" instead of "our"?), Document contains no data, entering effective -%s failed, false [] range "%s" in regexp, Filehandle %s opened only for -output, flock() on closed filehandle %s, Global symbol "%s" requires -explicit package name, Hexadecimal number > 0xffffffff non-portable, -Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: -|%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal -number of bits in vec, Integer overflow in %s number, Invalid %s attribute: -%s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid -separator character %s in attribute list, Invalid separator character %s in -subroutine attribute list, leaving effective %s failed, Lvalue subs -returning %s not implemented yet, Method %s not permitted, Missing -%sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", -No %s specified for -%c, No package name allowed for variable %s in "our", -No space allowed after -%c, no UTC offset information; assuming local time -is UTC, Octal number > 037777777777 non-portable, panic: del_backref, -panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing -around "%s" list, Possible Y2K bug: %s, pragma "attrs" is deprecated, use -"sub NAME : ATTRS" instead, Premature end of script headers, Repeat count -in pack overflows, Repeat count in unpack overflows, realloc() of freed -memory ignored, Reference is already weak, setpgrp can't take arguments, -Strange *+?{} on zero-length expression, switching effective %s is not -implemented, This Perl can't reset CRTL environ elements (%s), This Perl -can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown -open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, -Unrecognized escape \\%c passed through, Unterminated attribute parameter -in attribute list, Unterminated attribute list, Unterminated attribute -parameter in subroutine attribute list, Unterminated subroutine attribute -list, Value of CLI symbol "%s" too long, Version number must be a constant -number +=item HISTORY -=item New tests +=back -=item Incompatible Changes +=head2 perlunicode - Unicode support in Perl =over -=item Perl Source Incompatibilities - -CHECK is a new keyword, Treatment of list slices of undef has changed +=item DESCRIPTION -=item Format of $English::PERL_VERSION is different +=over -Literals of the form C<1.2.3> parse differently, Possibly changed -pseudo-random number generator, Hashing function for hash keys has changed, -C fails on read only values, Close-on-exec bit may be set on pipe -and socket handles, Writing C<"$$1"> to mean C<"${$}1"> is unsupported, -delete(), values() and C<\(%h)> operate on aliases to values, not copies, -vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic -output has changed, C<%@> has been removed, Parenthesized not() behaves -like a list operator, Semantics of bareword prototype C<(*)> have changed +=item Important Caveat -=item Semantics of bit operators may have changed on 64-bit platforms +Input and Output Disciplines, Regular Expressions, C still needed +to enable a few features -=item More builtins taint their results +=item Byte and Character semantics -=item C Source Incompatibilities +=item Effects of character semantics -C, C, C +=item Character encodings for input and output -=item Compatible C Source API Changes +=back -C is now C +=item CAVEATS -=item Binary Incompatibilities +=item SEE ALSO =back -=item Known Problems +=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, +safe subprocesses, sockets, and semaphores) =over -=item Thread test failures +=item DESCRIPTION -=item EBCDIC platforms not supported +=item Signals -=item In 64-bit HP-UX the lib/io_multihomed test may hang +=item Named Pipes -=item NEXTSTEP 3.3 POSIX test failure +=over -=item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with -gcc +=item WARNING -=item UNICOS/mk CC failures during Configure run +=back -=item Arrow operator and arrays +=item Using open() for IPC -=item Windows 2000 +=over -=item Experimental features +=item Filehandles -Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The -pseudo-hash data type, The Compiler suite, Internal implementation of file -globbing, The DB module, The regular expression constructs C<(?{ code })> -and C<(??{ code })> +=item Background Processes + +=item Complete Dissociation of Child from Parent + +=item Safe Pipe Opens + +=item Bidirectional Communication with Another Process + +=item Bidirectional Communication with Yourself =back -=item Obsolete Diagnostics +=item Sockets: Client/Server Communication -Character class syntax [: :] is reserved for future extensions, Ill-formed -logical name |%s| in prime_env_iter, Probable precedence problem on %s, -regexp too big, Use of "$$" to mean "${$}" is deprecated +=over -=item Reporting Bugs +=item Internet Line Terminators -=item SEE ALSO +=item Internet TCP Clients and Servers -=item HISTORY +=item Unix-Domain TCP Clients and Servers =back -=head2 perldata - Perl data types +=item TCP Clients with IO::Socket =over -=item DESCRIPTION +=item A Simple Client -=over +C, C, C -=item Variable names +=item A Webget Client -=item Context +=item Interactive Client with IO::Socket -=item Scalar values +=back -=item Scalar value constructors +=item TCP Servers with IO::Socket -=item List value constructors +Proto, LocalPort, Listen, Reuse -=item Slices +=item UDP: Message Passing -=item Typeglobs and Filehandles +=item SysV IPC -=back +=item NOTES + +=item BUGS + +=item AUTHOR =item SEE ALSO =back -=head2 perlsyn - Perl syntax +=head2 perlfork - Perl's fork() emulation =over +=item SYNOPSIS + =item DESCRIPTION =over -=item Declarations +=item Behavior of other Perl features in forked pseudo-processes -=item Simple statements +$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept +filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to +files, directories and network sockets -=item Compound statements +=item Resource limits -=item Loop Control +=item Killing the parent process -=item For Loops +=item Lifetime of the parent process and pseudo-processes -=item Foreach Loops +=item CAVEATS AND LIMITATIONS -=item Basic BLOCKs and Switch Statements +BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented, +Global state maintained by XSUBs, Interpreter embedded in larger +application, Thread-safety of extensions -=item Goto +=back -=item PODs: Embedded Documentation +=item BUGS -=item Plain Old Comments (Not!) +=item AUTHOR -=back +=item SEE ALSO =back -=head2 perlop - Perl operators and precedence +=head2 perlnumber - semantics of numbers and numeric operations in Perl =over @@ -1588,176 +1709,263 @@ regexp too big, Use of "$$" to mean "${$}" is deprecated =item DESCRIPTION +=item Storing numbers + +=item Numeric operators and numeric conversions + +=item Flavors of Perl numeric operations + +Arithmetic operators except, C, Arithmetic operators except, +C, Bitwise operators, C, Bitwise operators, C, Operators which expect an integer, Operators which expect a +string + +=item AUTHOR + +=item SEE ALSO + +=back + +=head2 perlthrtut - tutorial on threads in Perl + =over -=item Terms and List Operators (Leftward) +=item DESCRIPTION -=item The Arrow Operator +=item What Is A Thread Anyway? -=item Auto-increment and Auto-decrement +=item Threaded Program Models -=item Exponentiation +=over -=item Symbolic Unary Operators +=item Boss/Worker -=item Binding Operators +=item Work Crew -=item Multiplicative Operators +=item Pipeline -=item Additive Operators +=back -=item Shift Operators +=item Native threads -=item Named Unary Operators +=item What kind of threads are perl threads? -=item Relational Operators +=item Threadsafe Modules -=item Equality Operators +=item Thread Basics -=item Bitwise And +=over -=item Bitwise Or and Exclusive Or +=item Basic Thread Support -=item C-style Logical And +=item Creating Threads -=item C-style Logical Or +=item Giving up control -=item Range Operators +=item Waiting For A Thread To Exit -=item Conditional Operator +=item Errors In Threads -=item Assignment Operators +=item Ignoring A Thread -=item Comma Operator +=back -=item List Operators (Rightward) +=item Threads And Data -=item Logical Not +=over -=item Logical And +=item Shared And Unshared Data -=item Logical or and Exclusive Or +=item Thread Pitfall: Races -=item C Operators Missing From Perl +=item Controlling access: lock() -unary &, unary *, (TYPE) +=item Thread Pitfall: Deadlocks -=item Quote and Quote-like Operators +=item Queues: Passing Data Around -=item Regexp Quote-Like Operators +=back -?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>, -qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/, -s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds, -y/SEARCHLIST/REPLACEMENTLIST/cds +=item Threads And Code -=item Gory details of parsing quoted constructs +=over -Finding the end, Removal of backslashes before delimiters, Interpolation, -C<<<'EOF'>, C, C, C, C, C<''>, C, C<"">, -C<``>, C, C, C<< >>, C, C, C, -C,, Interpolation of regular expressions, Optimization of -regular expressions +=item Semaphores: Synchronizing Data Access -=item I/O Operators +Basic semaphores, Advanced Semaphores -=item Constant Folding +=item Attributes: Restricting Access To Subroutines -=item Bitwise String Operators +=item Subroutine Locks -=item Integer Arithmetic +=item Methods -=item Floating-point Arithmetic +=item Locking A Subroutine -=item Bigger Numbers +=back + +=item General Thread Utility Routines + +=over + +=item What Thread Am I In? + +=item Thread IDs + +=item Are These Threads The Same? + +=item What Threads Are Running? =back +=item A Complete Example + +=item Conclusion + +=item Bibliography + +=over + +=item Introductory Texts + +=item OS-Related References + +=item Other References + =back -=head2 perlre - Perl regular expressions +=item Acknowledgements + +=item AUTHOR + +=item Copyrights + +=back + +=head2 perlport - Writing portable Perl =over =item DESCRIPTION -i, m, s, x +Not all Perl programs have to be portable, Nearly all of Perl already I +portable -=over +=item ISSUES -=item Regular Expressions +=over -cntrl, graph, print, punct, xdigit +=item Newlines -=item Extended Patterns +=item Numbers endianness and Width -C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>, -C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?, C<(?{ -code })>, C<(??{ code })>, C<< (?>pattern) >>, -C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)> +=item Files and Filesystems -=item Backtracking +=item System Interaction -=item Version 8 Regular Expressions +=item Interprocess Communication (IPC) -=item Warning on \1 vs $1 +=item External Subroutines (XS) -=item Repeated patterns matching zero-length substring +=item Standard Modules -=item Combining pieces together +=item Time and Date -C, C, C, C, C, C, -C, C, C, C, C, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>, -C<(?!S)>, C<(?, C<(??{ EXPR })>, -C<(?(condition)yes-pattern|no-pattern)> +=item Character sets and character encoding -=item Creating custom RE engines +=item Internationalisation -=back +=item System Resources -=item BUGS +=item Security -=item SEE ALSO +=item Style =back -=head2 perlrun - how to execute the Perl interpreter +=item CPAN Testers + +Mailing list: cpan-testers@perl.org, Testing results: +http://testers.cpan.org/ + +=item PLATFORMS =over -=item SYNOPSIS +=item Unix -=item DESCRIPTION +=item DOS and Derivatives -=over +Build instructions for OS/2, L -=item #! and quoting on non-Unix systems +=item S -OS/2, MS-DOS, Win95/NT, Macintosh, VMS +=item VMS -=item Location of Perl +=item VOS -=item Command Switches +=item EBCDIC Platforms -B<-0>[I], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I, -B<-D>I, B<-D>I, B<-e> I, B<-F>I, -B<-h>, B<-i>[I], B<-I>I, B<-l>[I], -B<-m>[B<->]I, B<-M>[B<->]I, B<-M>[B<->]I<'module ...'>, -B<-[mM]>[B<->]I, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>, -B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-W>, B<-X>, -B<-x> I +=item Acorn RISC OS + +=item Other perls =back -=item ENVIRONMENT +=item FUNCTION IMPLEMENTATIONS -HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL -(specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL, -PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port) +=over + +=item Alphabetical Listing of Perl Functions + +-I FILEHANDLE, -I EXPR, -I, alarm SECONDS, alarm, binmode +FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt +PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec +LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork, +getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, +getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr +ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, +getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, +setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, +setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, +endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, +ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE, +lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, +msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, +open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, +select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget +KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, +setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt +SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, +shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair +SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat, +symlink OLDFILE,NEWFILE, syscall LIST, sysopen +FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate +FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, +wait, waitpid PID,FLAGS =back -=head2 perlfunc - Perl builtin functions +=item CHANGES + +v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999, +v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May +1999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December +1998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August +1998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998, +v1.23, 10 July 1998 + +=item Supported Platforms + +=item SEE ALSO + +=item AUTHORS / CONTRIBUTORS + +=item VERSION + +=back + +=head2 perlsec - Perl security =over @@ -1765,102 +1973,23 @@ PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port) =over -=item Perl Functions by Category +=item Laundering and Detecting Tainted Data -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 +=item Switches On the "#!" Line -=item Portability +=item Cleaning Up Your Path -=item Alphabetical Listing of Perl Functions +=item Security Bugs -I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept -NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, -binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME, -bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, -chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER, -chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE, -connect SOCKET,NAME, continue BLOCK, cos EXPR, crypt PLAINTEXT,SALT, -dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete -EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, -each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST, -exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl -FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION, -fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin, -getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam -NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname -NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr -ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, -getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, -getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent -STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, -endhostent, endnetent, endprotoent, endservent, getsockname SOCKET, -getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, -goto EXPR, goto &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 SIGNAL, LIST, -last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, -link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, -lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK -LIST, map EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl -ID,CMD,ARG, msgget KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd -ID,MSG,FLAGS, my EXPR, my EXPR : ATTRIBUTES, next LABEL, next, no Module -LIST, oct EXPR, oct, open FILEHANDLE,MODE,LIST, open FILEHANDLE,EXPR, open -FILEHANDLE, opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack -TEMPLATE,LIST, package, 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,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename -OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset, -return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex -STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar -EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select -FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl -ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send -SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority -WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY, -shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, -shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep -EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair -SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST, -sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH, -splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split -/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, -sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, -study, sub BLOCK, sub NAME, sub NAME BLOCK, substr -EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr -EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen -FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread -FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek -FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite -FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, -syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie -VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate -FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, -ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack -TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST, -use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST, -values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn -LIST, write FILEHANDLE, write EXPR, write, y/// +=item Protecting Your Programs =back +=item SEE ALSO + =back -=head2 perlvar - Perl predefined variables +=head2 perlboot - Beginner's Object-Oriented Tutorial =over @@ -1868,142 +1997,362 @@ LIST, write FILEHANDLE, write EXPR, write, y/// =over -=item Predefined Names +=item If we could talk to the animals... -$ARG, $_, $>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', -$LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*, -input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $, -input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/, -autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE -EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE -EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $", -$SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE -EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR, -$FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR, -$FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, C<$`> is the same as -C, C<$&> is the same as C, C<$'> is the same as C, C<$1> is the same -as C, C<$2> is the same as -C, C<$3> is the same as C, format_name HANDLE EXPR, $FORMAT_NAME, $~, -format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^, -format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS, -$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, -$CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, -$EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, -$EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(, -$EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, -$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, -$OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, -0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S, -$BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, -${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC, -%ENV, $ENV{expr}, %SIG, $SIG{expr} +=item Introducing the method invocation arrow -=item Error Indicators +=item Invoking a barnyard -=item Technical Note on the Syntax of Variable Names +=item The extra parameter of method invocation + +=item Calling a second method to simplify things + +=item Inheriting the windpipes + +=item A few notes about @ISA + +=item Overriding the methods + +=item Starting the search from a different place + +=item The SUPER way of doing things + +=item Where we're at so far... + +=item A horse is a horse, of course of course -- or is it? + +=item Invoking an instance method + +=item Accessing the instance data + +=item How to build a horse + +=item Inheriting the constructor + +=item Making a method work with either classes or instances + +=item Adding parameters to a method + +=item More interesting instances + +=item A horse of a different color + +=item Summary =back -=item BUGS +=item SEE ALSO + +=item COPYRIGHT =back -=head2 perlsub - Perl subroutines +=head2 perltoot - Tom's object-oriented tutorial for perl =over -=item SYNOPSIS - =item DESCRIPTION +=item Creating a Class + =over -=item Private Variables via my() +=item Object Representation -=item Persistent Private Variables +=item Class Interface -=item Temporary Values via local() +=item Constructors and Instance Methods -=item Lvalue subroutines +=item Planning for the Future: Better Constructors -=item Passing Symbol Table Entries (typeglobs) +=item Destructors -=item When to Still Use local() +=item Other Object Methods -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 +=back -=item Pass by Reference +=item Class Data -=item Prototypes +=over -=item Constant Functions +=item Accessing Class Data -=item Overriding Built-in Functions +=item Debugging Methods -=item Autoloading +=item Class Destructors -=item Subroutine Attributes +=item Documenting the Interface =back -=item SEE ALSO +=item Aggregation + +=item Inheritance + +=over + +=item Overridden Methods + +=item Multiple Inheritance + +=item UNIVERSAL: The Root of All Objects =back -=head2 perlmod - Perl modules (packages and symbol tables) +=item Alternate Object Representations =over -=item DESCRIPTION +=item Arrays as Objects + +=item Closures as Objects + +=back + +=item AUTOLOAD: Proxy Methods =over -=item Packages +=item Autoloaded Data Methods -=item Symbol Tables +=item Inherited Autoloaded Data Methods -=item Package Constructors and Destructors +=back -=item Perl Classes +=item Metaclassical Tools -=item Perl Modules +=over + +=item Class::Struct + +=item Data Members as Variables + +=item NOTES + +=item Object Terminology =back =item SEE ALSO +=item AUTHOR AND COPYRIGHT + +=item COPYRIGHT + +=over + +=item Acknowledgments + =back -=head2 perlmodlib - constructing new Perl modules and finding existing ones +=back + +=head2 perltootc - Tom's OO Tutorial for Class Data in Perl =over =item DESCRIPTION -=item THE PERL MODULE LIBRARY +=item Class Data as Package Variables =over -=item Pragmatic Modules +=item Putting All Your Eggs in One Basket -attributes, attrs, autouse, base, blib, bytes, charnames, constant, -diagnostics, fields, filetest, integer, less, locale, open, ops, overload, -re, sigtrap, strict, subs, utf8, vars, warnings +=item Inheritance Concerns -=item Standard Modules +=item The Eponymous Meta-Object -AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, -B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint, -B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI, -CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, -CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, -Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, DirHandle, Dumpvalue, -English, Env, Exporter, Exporter::Heavy, ExtUtils::Command, -ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, +=item Indirect References to Class Data + +=item Monadic Classes + +=item Translucent Attributes + +=back + +=item Class Data as Lexical Variables + +=over + +=item Privacy and Responsibility + +=item File-Scoped Lexicals + +=item More Inheritance Concerns + +=item Locking the Door and Throwing Away the Key + +=item Translucency Revisited + +=back + +=item NOTES + +=item SEE ALSO + +=item AUTHOR AND COPYRIGHT + +=item ACKNOWLEDGEMENTS + +=item HISTORY + +=back + +=head2 perlobj - Perl objects + +=over + +=item DESCRIPTION + +=over + +=item An Object is Simply a Reference + +=item A Class is Simply a Package + +=item A Method is Simply a Subroutine + +=item Method Invocation + +=item WARNING + +=item Default UNIVERSAL methods + +isa(CLASS), can(METHOD), VERSION( [NEED] ) + +=item Destructors + +=item Summary + +=item Two-Phased Garbage Collection + +=back + +=item SEE ALSO + +=back + +=head2 perlbot - Bag'o Object Tricks (the BOT) + +=over + +=item DESCRIPTION + +=item OO SCALING TIPS + +=item INSTANCE VARIABLES + +=item INSTANCE VARIABLE INHERITANCE + +=item OBJECT RELATIONSHIPS + +=item OVERRIDING SUPERCLASS METHODS + +=item USING RELATIONSHIP WITH SDBM + +=item THINKING OF CODE REUSE + +=item CLASS CONTEXT AND THE OBJECT + +=item INHERITING A CONSTRUCTOR + +=item DELEGATION + +=back + +=head2 perltie - how to hide an object class in a simple variable + +=over + +=item SYNOPSIS + +=item DESCRIPTION + +=over + +=item Tying Scalars + +TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this + +=item Tying Arrays + +TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, +DESTROY this + +=item 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 + +=item 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 + +=item The C Gotcha + +=back + +=item SEE ALSO + +=item BUGS + +=item AUTHOR + +=back + +=head2 perlmod - Perl modules (packages and symbol tables) + +=over + +=item DESCRIPTION + +=over + +=item Packages + +=item Symbol Tables + +=item Package Constructors and Destructors + +=item Perl Classes + +=item Perl Modules + +=back + +=item SEE ALSO + +=back + +=head2 perlmodlib - constructing new Perl modules and finding existing ones + +=over + +=item DESCRIPTION + +=item THE PERL MODULE LIBRARY + +=over + +=item Pragmatic Modules + +attributes, attrs, autouse, base, blib, bytes, charnames, constant, +diagnostics, fields, filetest, integer, less, locale, open, ops, overload, +re, sigtrap, strict, subs, utf8, vars, warnings + +=item Standard Modules + +AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, +B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint, +B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI, +CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, +CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, +Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, DirHandle, Dumpvalue, +English, Env, Exporter, Exporter::Heavy, ExtUtils::Command, +ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, @@ -2025,1888 +2374,3860 @@ Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent -=item Extension Modules +=item Extension Modules + +=back + +=item 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, Central America, Europe, +North America, South America + +=item Modules: Creation, Use, and Abuse + +=over + +=item 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 + +=item Guidelines for Converting Perl 4 Library Scripts into Modules + +There is no requirement to convert anything, Consider the implications, +Make the most of the opportunity, The pl2pm utility will get you started, +Adds the standard Module prologue lines, Converts package specifiers from ' +to ::, Converts die(...) to croak(...), Several other minor changes + +=item 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 + +=back + +=item NOTE + +=back + +=head2 perlmodinstall - Installing CPAN Modules + +=over + +=item DESCRIPTION + +=over + +=item PREAMBLE + +B the file, B the file into a directory, B the +module (sometimes unnecessary), B the module + +=back + +=item HEY + +=item AUTHOR + +=item COPYRIGHT + +=back + +=head2 perlnewmod - preparing a new module for distribution + +=over + +=item DESCRIPTION + +=over + +=item Warning + +=item What should I make into a module? + +=item Step-by-step: Preparing the ground + +Look around, Check it's new, Discuss the need, Choose a name, Check again + +=item Step-by-step: Making the module + +Start with F, Use L and L, Use +L, Use L - wisely!, Use L, Write tests, Write the README + +=item Step-by-step: Distributing your module + +Get a CPAN user ID, C, Upload the +tarball, Announce to the modules list, Announce to clpa, Fix bugs! + +=back + +=item AUTHOR + +=item SEE ALSO + +=back + +=head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date: +1999/05/23 16:08:30 $) + +=over + +=item DESCRIPTION + +=over + +=item What is Perl? + +=item Who supports Perl? Who develops it? Why is it free? + +=item Which version of Perl should I use? + +=item What are perl4 and perl5? + +=item What is perl6? + +=item How stable is Perl? + +=item Is Perl difficult to learn? + +=item How does Perl compare with other languages like Java, Python, REXX, +Scheme, or Tcl? + +=item Can I do [task] in Perl? + +=item When shouldn't I program in Perl? + +=item What's the difference between "perl" and "Perl"? + +=item Is it a Perl program or a Perl script? + +=item What is a JAPH? + +=item Where can I get a list of Larry Wall witticisms? + +=item How can I convince my sysadmin/supervisor/employees to use version +(5/5.005/Perl instead of some other language)? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $, +$Date: 1999/10/14 18:46:09 $) + +=over + +=item DESCRIPTION + +=over + +=item What machines support Perl? Where do I get it? + +=item How can I get a binary version of Perl? + +=item I don't have a C compiler on my system. How can I compile perl? + +=item I copied the Perl binary from one machine to another, but scripts +don't work. + +=item I grabbed the sources and tried to compile but gdbm/dynamic +loading/malloc/linking/... failed. How do I make it work? + +=item What modules and extensions are available for Perl? What is CPAN? +What does CPAN/src/... mean? + +=item Is there an ISO or ANSI certified version of Perl? + +=item Where can I get information on Perl? + +=item What are the Perl newsgroups on Usenet? Where do I post questions? + +=item Where should I post source code? + +=item Perl Books + +References, Tutorials, Task-Oriented, Special Topics + +=item Perl in Magazines + +=item Perl on the Net: FTP and WWW Access + +=item What mailing lists are there for Perl? + +=item Archives of comp.lang.perl.misc + +=item Where can I buy a commercial version of Perl? + +=item Where do I send bug reports? + +=item What is perl.com? Perl Mongers? pm.org? perl.org? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23 +16:08:30 $) + +=over + +=item DESCRIPTION + +=over + +=item How do I do (anything)? + +=item How can I use Perl interactively? + +=item Is there a Perl shell? + +=item How do I debug my Perl programs? + +=item How do I profile my Perl programs? + +=item How do I cross-reference my Perl programs? + +=item Is there a pretty-printer (formatter) for Perl? + +=item Is there a ctags for Perl? + +=item Is there an IDE or Windows Perl Editor? + +=item Where can I get Perl macros for vi? + +=item Where can I get perl-mode for emacs? + +=item How can I use curses with Perl? + +=item How can I use X or Tk with Perl? + +=item How can I generate simple menus without using CGI or Tk? + +=item What is undump? + +=item How can I make my Perl program run faster? + +=item How can I make my Perl program take less memory? + +=item Is it unsafe to return a pointer to local data? + +=item How can I free an array or hash so my program shrinks? + +=item How can I make my CGI script more efficient? + +=item How can I hide the source for my Perl program? + +=item How can I compile my Perl program into byte code or C? + +=item How can I compile Perl into Java? + +=item How can I get C<#!perl> to work on [MS-DOS,NT,...]? + +=item Can I write useful Perl programs on the command line? + +=item Why don't Perl one-liners work on my DOS/Mac/VMS system? + +=item Where can I learn about CGI or Web programming in Perl? + +=item Where can I learn about object-oriented Perl programming? + +=item Where can I learn about linking C with Perl? [h2xs, xsubpp] + +=item I've read perlembed, perlguts, etc., but I can't embed perl in +my C program, what am I doing wrong? + +=item When I tried to run my script, I got this message. What does it +mean? + +=item What's MakeMaker? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23 +20:37:49 $) + +=over + +=item DESCRIPTION + +=item Data: Numbers + +=over + +=item Why am I getting long decimals (eg, 19.9499999999999) instead of the +numbers I should be getting (eg, 19.95)? + +=item Why isn't my octal data interpreted correctly? + +=item Does Perl have a round() function? What about ceil() and floor()? +Trig functions? + +=item How do I convert bits into ints? + +=item Why doesn't & work the way I want it to? + +=item How do I multiply matrices? + +=item How do I perform an operation on a series of integers? + +=item How can I output Roman numerals? + +=item Why aren't my random numbers random? + +=back + +=item Data: Dates + +=over + +=item How do I find the week-of-the-year/day-of-the-year? + +=item How do I find the current century or millennium? + +=item How can I compare two dates and find the difference? + +=item How can I take a string and turn it into epoch seconds? + +=item How can I find the Julian Day? + +=item How do I find yesterday's date? + +=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant? + +=back + +=item Data: Strings + +=over + +=item How do I validate input? + +=item How do I unescape a string? + +=item How do I remove consecutive pairs of characters? + +=item How do I expand function calls in a string? + +=item How do I find matching/nesting anything? + +=item How do I reverse a string? + +=item How do I expand tabs in a string? + +=item How do I reformat a paragraph? + +=item How can I access/change the first N letters of a string? + +=item How do I change the Nth occurrence of something? + +=item How can I count the number of occurrences of a substring within a +string? + +=item How do I capitalize all the words on one line? + +=item How can I split a [character] delimited string except when inside +[character]? (Comma-separated files) + +=item How do I strip blank space from the beginning/end of a string? + +=item How do I pad a string with blanks or pad a number with zeroes? + +=item How do I extract selected columns from a string? + +=item How do I find the soundex value of a string? + +=item How can I expand variables in text strings? + +=item What's wrong with always quoting "$vars"? + +=item Why don't my <? + +=item Is there a leak/bug in glob()? + +=item How can I open a file with a leading ">" or trailing blanks? + +=item How can I reliably rename a file? + +=item How can I lock a file? + +=item Why can't I just open(FH, ">file.lock")? + +=item I still don't get locking. I just want to increment the number in +the file. How can I do this? + +=item How do I randomly update a binary file? + +=item How do I get a file's timestamp in perl? + +=item How do I set a file's timestamp in perl? + +=item How do I print to more than one file at once? + +=item How can I read in an entire file all at once? + +=item How can I read in a file by paragraphs? + +=item How can I read a single character from a file? From the keyboard? + +=item How can I tell whether there's a character waiting on a filehandle? + +=item How do I do a C in perl? + +=item How do I dup() a filehandle in Perl? + +=item How do I close a file descriptor by number? + +=item Why can't I use "C:\temp\foo" in DOS paths? What doesn't +`C:\temp\foo.exe` work? + +=item Why doesn't glob("*.*") get all the files? + +=item Why does Perl let me delete read-only files? Why does C<-i> clobber +protected files? Isn't this a bug in Perl? + +=item How do I select a random line from a file? + +=item Why do I get weird spaces when I print an array of lines? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $) + +=over + +=item DESCRIPTION + +=over + +=item How can I hope to use regular expressions without creating illegible +and unmaintainable code? + +Comments Outside the Regex, Comments Inside the Regex, Different Delimiters + +=item I'm having trouble matching over more than one line. What's wrong? + +=item How can I pull out lines between two patterns that are themselves on +different lines? + +=item I put a regular expression into $/ but it didn't work. What's wrong? + +=item How do I substitute case insensitively on the LHS, but preserving +case on the RHS? + +=item How can I make C<\w> match national character sets? + +=item How can I match a locale-smart version of C? + +=item How can I quote a variable to use in a regex? + +=item What is C really for? + +=item How do I use a regular expression to strip C style comments from a +file? + +=item Can I use Perl regular expressions to match balanced text? + +=item What does it mean that regexes are greedy? How can I get around it? + +=item How do I process each word on each line? + +=item How can I print out a word-frequency or line-frequency summary? + +=item How can I do approximate matching? + +=item How do I efficiently match many regular expressions at once? + +=item Why don't word-boundary searches with C<\b> work for me? + +=item Why does using $&, $`, or $' slow my program down? + +=item What good is C<\G> in a regular expression? + +=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant? + +=item What's wrong with using grep or map in a void context? + +=item How can I match strings with multibyte characters? + +=item How do I match a pattern that is supplied by the user? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date: +1999/05/23 20:36:18 $) + +=over + +=item DESCRIPTION + +=over + +=item Can I get a BNF/yacc/RE for the Perl language? + +=item What are all these $@%&* punctuation signs, and how do I know when to +use them? + +=item Do I always/never have to quote my strings or use semicolons and +commas? + +=item How do I skip some return values? + +=item How do I temporarily block warnings? + +=item What's an extension? + +=item Why do Perl operators have different precedence than C operators? + +=item How do I declare/create a structure? + +=item How do I create a module? + +=item How do I create a class? + +=item How can I tell if a variable is tainted? + +=item What's a closure? + +=item What is variable suicide and how can I prevent it? + +=item How can I pass/return a {Function, FileHandle, Array, Hash, Method, +Regex}? + +Passing Variables and Functions, Passing Filehandles, Passing Regexes, +Passing Methods + +=item How do I create a static variable? + +=item What's the difference between dynamic and lexical (static) scoping? +Between local() and my()? + +=item How can I access a dynamic variable while a similarly named lexical +is in scope? + +=item What's the difference between deep and shallow binding? + +=item Why doesn't "my($foo) = ;" work right? + +=item How do I redefine a builtin function, operator, or method? + +=item What's the difference between calling a function as &foo and foo()? + +=item How do I create a switch or case statement? + +=item How can I catch accesses to undefined variables/functions/methods? + +=item Why can't a method included in this same file be found? + +=item How can I find out my current package? + +=item How can I comment out a large block of perl code? + +=item How do I clear a package? + +=item How can I use a variable as a variable name? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23 +18:37:57 $) + +=over + +=item DESCRIPTION + +=over + +=item How do I find out which operating system I'm running under? + +=item How come exec() doesn't return? + +=item How do I do fancy stuff with the keyboard/screen/mouse? + +Keyboard, Screen, Mouse + +=item How do I print something out in color? + +=item How do I read just one key without waiting for a return key? + +=item How do I check whether input is ready on the keyboard? + +=item How do I clear the screen? + +=item How do I get the screen size? + +=item How do I ask the user for a password? + +=item How do I read and write the serial port? + +lockfiles, open mode, end of line, flushing output, non-blocking input + +=item How do I decode encrypted password files? + +=item How do I start a process in the background? + +STDIN, STDOUT, and STDERR are shared, Signals, Zombies + +=item How do I trap control characters/signals? + +=item How do I modify the shadow password file on a Unix system? + +=item How do I set the time and date? + +=item How can I sleep() or alarm() for under a second? + +=item How can I measure time under a second? + +=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling) + +=item Why doesn't my sockets program work under System V (Solaris)? What +does the error message "Protocol not supported" mean? + +=item How can I call my system's unique C functions from Perl? + +=item Where do I get the include files to do ioctl() or syscall()? + +=item Why do setuid perl scripts complain about kernel problems? + +=item How can I open a pipe both to and from a command? + +=item Why can't I get the output of a command with system()? + +=item How can I capture STDERR from an external command? + +=item Why doesn't open() return an error when a pipe open fails? + +=item What's wrong with using backticks in a void context? + +=item How can I call backticks without shell processing? + +=item Why can't my script read from STDIN after I gave it EOF (^D on Unix, +^Z on MS-DOS)? + +=item How can I convert my shell script to perl? + +=item Can I use perl to run a telnet or ftp session? + +=item How can I write expect in Perl? + +=item Is there a way to hide perl's command line from programs such as +"ps"? + +=item 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 + +=item How do I close a process's filehandle without waiting for it to +complete? + +=item How do I fork a daemon process? + +=item How do I make my program run with sh and csh? + +=item How do I find out if I'm running interactively or not? + +=item How do I timeout a slow event? + +=item How do I set CPU limits? + +=item How do I avoid zombies on a Unix system? + +=item How do I use an SQL database? + +=item How do I make a system() exit on control-C? + +=item How do I open a file without blocking? + +=item How do I install a module from CPAN? + +=item What's the difference between require and use? + +=item How do I keep my own module/library directory? + +=item How do I add the directory my program lives in to the module/library +search path? + +=item How do I add a directory to my include path at runtime? + +=item What is socket.ph and where do I get it? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30 +$) + +=over + +=item DESCRIPTION + +=over + +=item My CGI script runs from the command line but not the browser. (500 +Server Error) + +=item How can I get better error messages from a CGI program? + +=item How do I remove HTML from a string? + +=item How do I extract URLs? + +=item How do I download a file from the user's machine? How do I open a +file on another machine? + +=item How do I make a pop-up menu in HTML? + +=item How do I fetch an HTML file? + +=item How do I automate an HTML form submission? + +=item How do I decode or create those %-encodings on the web? + +=item How do I redirect to another page? + +=item How do I put a password on my web pages? + +=item How do I edit my .htpasswd and .htgroup files with Perl? + +=item How do I make sure users can't enter values into a form that cause my +CGI script to do bad things? + +=item How do I parse a mail header? + +=item How do I decode a CGI form? + +=item How do I check a valid mail address? + +=item How do I decode a MIME/BASE64 string? + +=item How do I return the user's mail address? + +=item How do I send mail? + +=item How do I read mail? + +=item How do I find out my hostname/domainname/IP address? + +=item How do I fetch a news article or the active newsgroups? + +=item How do I fetch/put an FTP file? + +=item How can I do RPC in Perl? + +=back + +=item AUTHOR AND COPYRIGHT + +=back + +=head2 perlcompile - Introduction to the Perl Compiler-Translator + +=over + +=item DESCRIPTION + +=over + +=item Layout + +B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref + +=back + +=item Using The Back Ends + +=over + +=item The Cross Referencing Back End + +i, &, s, r + +=item The Decompiling Back End + +=item The Lint Back End + +=item The Simple C Back End + +=item The Bytecode Back End + +=item The Optimized C Back End + +B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, +B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, +B::Stash, B::Terse, B::Xref + +=back + +=item KNOWN PROBLEMS + +=item AUTHOR + +=back + +=head2 perlembed - how to embed perl in your C program + +=over + +=item DESCRIPTION + +=over + +=item PREAMBLE + +B, B, B, B, B + +=item ROADMAP + +=item Compiling your C program + +=item Adding a Perl interpreter to your C program + +=item Calling a Perl subroutine from your C program + +=item Evaluating a Perl statement from your C program + +=item Performing Perl pattern matches and substitutions from your C program + +=item Fiddling with the Perl stack from your C program + +=item Maintaining a persistent interpreter + +=item Maintaining multiple interpreter instances + +=item Using Perl modules, which themselves use C libraries, from your C +program + +=back + +=item Embedding Perl under Windows + +=item MORAL + +=item AUTHOR + +=item COPYRIGHT + +=back + +=head2 perldebguts - Guts of Perl debugging + +=over + +=item DESCRIPTION + +=item Debugger Internals + +=over + +=item Writing Your Own Debugger + +=back + +=item Frame Listing Output Examples + +=item Debugging regular expressions + +=over + +=item Compile-time output + +C I C I, C I C +I, C, C, C +I, C, C, C, C, C, C, +C + +=item Types of nodes + +=item Run-time output + +=back + +=item Debugging Perl memory usage + +=over + +=item Using C<$ENV{PERL_DEBUG_MSTATS}> + +C, Free/Used, C, C, C, C, C + +=item Example of using B<-DL> switch + +C<717>, C<002>, C<054>, C<602>, C<702>, C<704> + +=item B<-DL> details + +C, C, C + +=item Limitations of B<-DL> statistics + +=back + +=item SEE ALSO + +=back + +=head2 perlxstut, perlXStut - Tutorial for writing XSUBs + +=over + +=item DESCRIPTION + +=item SPECIAL NOTES + +=over + +=item make + +=item Version caveat + +=item Dynamic Loading versus Static Loading + +=back + +=item TUTORIAL + +=over + +=item EXAMPLE 1 + +=item EXAMPLE 2 + +=item What has gone on? + +=item Writing good test scripts + +=item EXAMPLE 3 + +=item What's new here? + +=item Input and Output Parameters + +=item The XSUBPP Program + +=item The TYPEMAP file + +=item Warning about Output Arguments + +=item EXAMPLE 4 + +=item What has happened here? + +=item Anatomy of .xs file + +=item Getting the fat out of XSUBs + +=item More about XSUB arguments + +=item The Argument Stack + +=item Extending your Extension + +=item Documenting your Extension + +=item Installing your Extension + +=item EXAMPLE 5 + +=item New Things in this Example + +=item EXAMPLE 6 + +=item New Things in this Example + +=item EXAMPLE 7 (Coming Soon) + +=item EXAMPLE 8 (Coming Soon) + +=item EXAMPLE 9 (Coming Soon) + +=item Troubleshooting these Examples + +=back + +=item See also + +=item Author + +=over + +=item Last Changed + +=back + +=back + +=head2 perlxs - XS language reference manual + +=over + +=item DESCRIPTION + +=over + +=item Introduction + +=item On The Road + +=item The Anatomy of an XSUB + +=item The Argument Stack + +=item The RETVAL Variable + +=item The MODULE Keyword + +=item The PACKAGE Keyword + +=item The PREFIX Keyword + +=item The OUTPUT: Keyword + +=item The CODE: Keyword + +=item The INIT: Keyword + +=item The NO_INIT Keyword + +=item Initializing Function Parameters + +=item Default Parameter Values + +=item The PREINIT: Keyword + +=item The SCOPE: Keyword + +=item The INPUT: Keyword + +=item Variable-length Parameter Lists + +=item The C_ARGS: Keyword + +=item The PPCODE: Keyword + +=item Returning Undef And Empty Lists + +=item The REQUIRE: Keyword + +=item The CLEANUP: Keyword + +=item The BOOT: Keyword + +=item The VERSIONCHECK: Keyword + +=item The PROTOTYPES: Keyword + +=item The PROTOTYPE: Keyword + +=item The ALIAS: Keyword + +=item The INTERFACE: Keyword + +=item The INTERFACE_MACRO: Keyword + +=item The INCLUDE: Keyword + +=item The CASE: Keyword + +=item The & Unary Operator + +=item Inserting Comments and C Preprocessor Directives + +=item Using XS With C++ + +=item Interface Strategy + +=item Perl Objects And C Structures + +=item The Typemap + +=back + +=item EXAMPLES + +=item XS VERSION + +=item AUTHOR + +=back + +=head2 perlguts - Introduction to the Perl API + +=over + +=item DESCRIPTION + +=item Variables + +=over + +=item Datatypes + +=item What is an "IV"? + +=item Working with SVs + +=item What's Really Stored in an SV? + +=item Working with AVs + +=item Working with HVs + +=item Hash API Extensions + +=item References + +=item Blessed References and Class Objects + +=item Creating New Variables + +=item Reference Counts and Mortality + +=item Stashes and Globs + +=item Double-Typed SVs + +=item Magic Variables + +=item Assigning Magic + +=item Magic Virtual Tables + +=item Finding Magic + +=item Understanding the Magic of Tied Hashes and Arrays + +=item Localizing changes + +C, C, C, C, +C, C, C, C, C, C, C, C, C, C, +C, C, C, C, C, C, C, +C + +=back + +=item Subroutines + +=over + +=item XSUBs and the Argument Stack + +=item Calling Perl Routines from within C Programs + +=item Memory Allocation + +=item PerlIO + +=item Putting a C value on Perl stack + +=item Scratchpads + +=item Scratchpads and recursion + +=back + +=item Compiled code + +=over + +=item Code tree + +=item Examining the tree + +=item Compile pass 1: check routines + +=item Compile pass 1a: constant folding + +=item Compile pass 2: context propagation + +=item Compile pass 3: peephole optimization + +=back + +=item How multiple interpreters and concurrency are supported + +=over + +=item Background and PERL_IMPLICIT_CONTEXT + +=item How do I use all this in extensions? + +=item Future Plans and PERL_IMPLICIT_SYS + +=back + +=item AUTHORS + +=item SEE ALSO + +=back + +=head2 perlcall - Perl calling conventions from C + +=over + +=item DESCRIPTION + +An Error Handler, An Event Driven Program + +=item THE CALL_ FUNCTIONS + +call_sv, call_pv, call_method, call_argv + +=item FLAG VALUES + +=over + +=item G_VOID + +=item G_SCALAR + +=item G_ARRAY + +=item G_DISCARD + +=item G_NOARGS + +=item G_EVAL + +=item G_KEEPERR + +=item Determining the Context + +=back + +=item KNOWN PROBLEMS + +=item EXAMPLES + +=over + +=item No Parameters, Nothing returned + +=item Passing Parameters + +=item Returning a Scalar + +=item Returning a list of values + +=item Returning a list in a scalar context + +=item Returning Data from Perl via the parameter list + +=item Using G_EVAL + +=item Using G_KEEPERR + +=item Using call_sv + +=item Using call_argv + +=item Using call_method + +=item Using GIMME_V + +=item Using Perl to dispose of temporaries + +=item 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 + +=item Alternate Stack Manipulation + +=item Creating and calling an anonymous subroutine in C + +=back + +=item SEE ALSO + +=item AUTHOR + +=item DATE + +=back + +=head2 perlutil - utilities packaged with the Perl distribution + +=over + +=item DESCRIPTION + +=over + +=item DOCUMENTATION + +L, L and L, +L and L, L, +L, L, L, +L + +=item CONVERTORS + +L, L, L + +=item Development + +L, L, L and L, +L, L, L + +=item SEE ALSO + +=back + +=back + +=head2 perlfilter - Source Filters + +=over + +=item DESCRIPTION + +=item CONCEPTS + +=item USING FILTERS + +=item WRITING A SOURCE FILTER + +=item WRITING A SOURCE FILTER IN C + +B + +=item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE + +=item WRITING A SOURCE FILTER IN PERL + +=item USING CONTEXT: THE DEBUG FILTER + +=item CONCLUSION + +=item REQUIREMENTS + +=item AUTHOR + +=item Copyrights + +=back + +=head2 perldbmfilter - Perl DBM Filters + +=over + +=item SYNOPSIS + +=item DESCRIPTION + +B, B, B, +B + +=over + +=item The Filter + +=item An Example -- the NULL termination problem. + +=item Another Example -- Key is a C int. + +=back + +=item SEE ALSO + +=item AUTHOR + +=back + +=head2 perlapi - autogenerated documentation for the perl public API + +=over + +=item DESCRIPTION + +AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push, +av_shift, av_store, av_undef, av_unshift, bytes_to_utf8, call_argv, +call_method, call_pv, call_sv, CLASS, Copy, croak, CvSTASH, dMARK, +dORIGMARK, dSP, dXSARGS, dXSI32, ENTER, eval_pv, eval_sv, EXTEND, +fbm_compile, fbm_instr, FREETMPS, get_av, get_cv, get_hv, get_sv, GIMME, +GIMME_V, GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, +gv_stashpv, gv_stashsv, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, +G_VOID, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, +HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists, +hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey, +hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, 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_length, mg_magical, mg_set, Move, New, newAV, +Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc, NEWSV, newSViv, newSVnv, +newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newSVuv, newXS, newXSproto, +Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc, +perl_construct, perl_destruct, perl_free, perl_parse, perl_run, +PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_modglobal, PL_na, +PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn, POPp, POPs, PUSHi, +PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, require_pv, +RETVAL, Safefree, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, +strGT, strLE, strLT, strNE, strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set, +SvEND, SvGETMAGIC, SvGROW, SvIOK, SvIOKp, SvIOK_off, SvIOK_on, SvIOK_only, +SvIV, SvIVX, SvLEN, SvLOCK, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, +SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp, +SvPOK_off, SvPOK_on, SvPOK_only, SvPV, SvPVX, SvPV_force, SvPV_nolen, +SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, +SvSETMAGIC, SvSetSV, SvSetSV_nosteal, SvSTASH, SvTAINT, SvTAINTED, +SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, svtype, SVt_IV, SVt_NV, +SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUNLOCK, SvUPGRADE, SvUV, +SvUVX, sv_2mortal, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, +sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, sv_dec, +sv_derived_from, sv_eq, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject, +sv_len, sv_magic, sv_mortalcopy, sv_newmortal, sv_setiv, sv_setiv_mg, +sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv, +sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, +sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv, +sv_setuv_mg, sv_unref, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn, +sv_vsetpvfn, THIS, toLOWER, toUPPER, U8 *s, utf8_to_bytes, 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_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, +XS_VERSION_BOOTCHECK, Zero + +=item AUTHORS + +=item SEE ALSO + +=back + +=head2 perlintern - autogenerated documentation of purely B + Perl functions + +=over + +=item DESCRIPTION + +is_gv_magical + +=item AUTHORS + +=item SEE ALSO + +=back + +=head2 perlapio - perl's IO abstraction interface. + +=over + +=item SYNOPSIS + +=item DESCRIPTION + +B, B, B, B, +B, B, +B, B, +B, B, +B, B, B, +B, B, B, +B, B, B, +B, B, B, +B, B, B, +B, B + +=over + +=item Co-existence with stdio + +B, B, +B, B, B, +B, B, B, +B, B, +B, B, B, +B, B + +=back + +=back + +=head2 perltodo - Perl TO-DO List + +=over + +=item DESCRIPTION + +=item Infrastructure + +=over + +=item Mailing list archives + +=item Bug tracking system + +=item Regression Tests + +Coverage, Regression, __DIE__, suidperl, The 25% slowdown from perl4 to +perl5 + +=back + +=item Configure + +=over + +=item Install HTML + +=back + +=item Perl Language + +=over + +=item our ($var) + +=item 64-bit Perl + +=item Prototypes + +Named prototypes, Indirect objects, Method calls, Context, Scoped subs + +=back + +=item Perl Internals + +=over + +=item magic_setisa + +=item Garbage Collection + +=item Reliable signals + +Alternate runops() for signal despatch, Figure out how to die() in delayed +sighandler, Add tests for Thread::Signal, Automatic tests against CPAN + +=item Interpolated regex performance bugs + +=item Memory leaks from failed eval/regcomp + +=item Make XS easier to use + +=item Make embedded Perl easier to use + +=item Namespace cleanup + +=item MULTIPLICITY + +=item MacPerl + +=back + +=item Documentation + +=over + +=item A clear division into tutorial and reference + +=item Remove the artificial distinction between operators and functions + +=item More tutorials + +Regular expressions, I/O, pack/unpack, Debugging + +=item Include a search tool + +=item Include a locate tool + +=item Separate function manpages by default + +=item Users can't find the manpages + +=item Install ALL Documentation + +=item Outstanding issues to be documented + +=item Adapt www.linuxhq.com for Perl + +=item Replace man with a perl program + +=item Unicode tutorial + +=back + +=item Modules + +=over + +=item Update the POSIX extension to conform with the POSIX 1003.1 Edition 2 -=back +=item Module versions -=item CPAN +=item New modules -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, Central America, Europe, -North America, South America +=item Profiler -=item Modules: Creation, Use, and Abuse +=item Tie Modules -=over +VecArray, SubstrArray, VirtualArray, ShiftSplice -=item Guidelines for Module Creation +=item Procedural options -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 +=item RPC -=item Guidelines for Converting Perl 4 Library Scripts into Modules +=item y2k localtime/gmtime -There is no requirement to convert anything, Consider the implications, -Make the most of the opportunity, The pl2pm utility will get you started, -Adds the standard Module prologue lines, Converts package specifiers from ' -to ::, Converts die(...) to croak(...), Several other minor changes +=item Export File::Find variables -=item Guidelines for Reusing Application Code +=item Ioctl -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 +=item Debugger attach/detach -=back +=item Regular Expression debugger -=item NOTE +=item Alternative RE Syntax + +=item Bundled modules + +=item Expect + +=item GUI::Native + +=item Update semibroken auxiliary tools; h2ph, a2p, etc. + +=item POD Converters + +=item pod2html + +=item Podchecker =back -=head2 perlmodinstall - Installing CPAN Modules +=item Tom's Wishes =over -=item DESCRIPTION +=item Webperl -=over +=item Mobile agents -=item PREAMBLE +=item POSIX on non-POSIX -B the file, B the file into a directory, B the -module (sometimes unnecessary), B the module +=item Portable installations =back -=item HEY +=item Win32 Stuff -=item AUTHOR +=over -=item COPYRIGHT +=item Rename new headers to be consistent with the rest + +=item Sort out the spawnvp() mess + +=item Work out DLL versioning + +=item Style-check =back -=head2 perlfork - Perl's fork() emulation +=item Would be nice to have + +C, Contiguous bitfields in pack/unpack, lexperl, Bundled +perl preprocessor, Use posix calls internally where possible, format +BOTTOM, -i rename file only when successfully changed, All ARGV input +should act like <>, report HANDLE [formats], support in perlmain to rerun +debugger, lvalue functions + +=item Possible pragmas =over -=item SYNOPSIS +=item 'less' -=item DESCRIPTION +=back + +=item Optimizations =over -=item Behavior of other Perl features in forked pseudo-processes +=item constant function cache -$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept -filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to -files, directories and network sockets +=item foreach(reverse...) -=item Resource limits +=item Cache eval tree -=item Killing the parent process +=item rcatmaybe -=item Lifetime of the parent process and pseudo-processes +=item Shrink opcode tables -=item CAVEATS AND LIMITATIONS +=item Cache hash value -BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented, -Global state maintained by XSUBs, Interpreter embedded in larger -application, Thread-safety of extensions +=item Optimize away @_ where possible -=back +=item Optimize sort by { $a <=> $b } -=item BUGS +=item Rewrite regexp parser for better integrated optimization -=item AUTHOR +=back -=item SEE ALSO +=item Vague possibilities -=back +ref function in list context, make tr/// return histogram in list context?, +Loop control on do{} et al, Explicit switch statements, compile to real +threaded code, structured types, Modifiable $1 et al -=head2 perlform - Perl formats +=item To Do Or Not To Do =over -=item DESCRIPTION +=item Making my() work on "package" variables -=over +=item "or" testing defined not truth -=item Format Variables +=item "dynamic" lexicals + +=item "class"-based, rather than package-based "lexicals" =back -=item NOTES +=item Threading =over -=item Footers +=item Modules -=item Accessing Formatting Internals +=item Testing -=back +=item $AUTOLOAD -=item WARNINGS +=item exit/die -=back +=item External threads -=head2 perllocale - Perl locale handling (internationalization and -localization) +=item Thread::Pool -=over +=item thread-safety -=item DESCRIPTION +=item Per-thread GVs -=item PREPARING TO USE LOCALES +=back -=item USING LOCALES +=item Compiler =over -=item The use locale pragma +=item Optimization -=item The setlocale function +=item Byteperl -=item Finding locales +=item Precompiled modules -=item LOCALE PROBLEMS +=item Executables -=item Temporarily fixing locale problems +=item Typed lexicals -=item Permanently fixing locale problems +=item Win32 -=item Permanently fixing your system's locale configuration +=item END blocks -=item Fixing system locale configuration +=item _AUTOLOAD -=item The localeconv function +=item comppadlist + +=item Cached compilation =back -=item LOCALE CATEGORIES +=item Recently Finished Tasks =over -=item Category LC_COLLATE: Collation +=item Figure a way out of $^(capital letter) -=item Category LC_CTYPE: Character Types +=item Filenames -=item Category LC_NUMERIC: Numeric Formatting +=item Foreign lines -=item Category LC_MONETARY: Formatting of monetary amounts +=item Namespace cleanup -=item LC_TIME +=item ISA.pm -=item Other categories +=item gettimeofday + +=item autocroak? =back -=item SECURITY +=back -B (C, C, C, C and C):, -B (with C<\l>, C<\L>, C<\u> or C<\U>), -B (C):, B (C):, -B (printf() and write()):, B (lc(), lcfirst(), uc(), ucfirst()):, B (localeconv(), strcoll(), strftime(), strxfrm()):, B (isalnum(), isalpha(), isdigit(), isgraph(), -islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()): +=head2 perlhack - How to hack at the Perl internals -=item ENVIRONMENT +=over -PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, -LC_NUMERIC, LC_TIME, LANG +=item DESCRIPTION -=item NOTES +Does concept match the general goals of Perl?, Where is the +implementation?, Backwards compatibility, Could it be a module instead?, Is +the feature generic enough?, Does it potentially introduce new bugs?, Does +it preclude other desirable features?, Is the implementation robust?, Is +the implementation generic enough to be portable?, Is there enough +documentation?, Is there another way to do it?, Does it create too much +work?, Patches speak louder than words -=over +=item AUTHOR -=item Backward compatibility +=back -=item I18N:Collate obsolete +=head2 perlhist - the Perl history records -=item Sort speed and memory use impacts +=over -=item write() and LC_NUMERIC +=item DESCRIPTION -=item Freely available locale definitions +=item INTRODUCTION -=item I18n and l10n +=item THE KEEPERS OF THE PUMPKIN -=item An imperfect standard +=over + +=item PUMPKIN? =back -=item BUGS +=item THE RECORDS =over -=item Broken systems +=item SELECTED RELEASE SIZES -=back +=item SELECTED PATCH SIZES -=item SEE ALSO +=back -=item HISTORY +=item THE KEEPERS OF THE RECORDS =back -=head2 perlref - Perl references and nested data structures +=head2 perldelta - what's new for perl v5.6.0 =over -=item NOTE - =item DESCRIPTION +=item Core Enhancements + =over -=item Making References +=item Interpreter cloning, threads, and concurrency -=item Using References +=item Lexically scoped warning categories -=item Symbolic references +=item Unicode and UTF-8 support -=item Not-so-symbolic references +=item Support for interpolating named characters -=item Pseudo-hashes: Using an array as a hash +=item "our" declarations -=item Function Templates +=item Support for strings represented as a vector of ordinals -=back +=item Improved Perl version numbering system -=item WARNING +=item New syntax for declaring subroutine attributes -=item SEE ALSO +=item File and directory handles can be autovivified -=back +=item open() with more than two arguments -=head2 perlreftut - Mark's very short tutorial about references +=item 64-bit support -=over +=item Large file support -=item DESCRIPTION +=item Long doubles -=item Who Needs Complicated Data Structures? +=item "more bits" -=item The Solution +=item Enhanced support for sort() subroutines -=item Syntax +=item C allowed -=over +=item File globbing implemented internally -=item Making References +Support for CHECK blocks -=item Using References +=item POSIX character class syntax [: :] supported -=back +Better pseudo-random number generator -=item An Example +=item Improved C operator -=item Arrow Rule +Better worst-case behavior of hashes -=item Solution +=item pack() format 'Z' supported -=item The Rest +=item pack() format modifier '!' supported -=item Summary +=item pack() and unpack() support counted strings -=item Credits +=item Comments in pack() templates -=over +=item Weak references -=item Distribution Conditions +=item Binary numbers supported -=back +=item Lvalue subroutines -=back +=item Some arrows may be omitted in calls through references -=head2 perldsc - Perl Data Structures Cookbook +=item Boolean assignment operators are legal lvalues + +=item exists() is supported on subroutine names + +=item exists() and delete() are supported on array elements + +=item Pseudo-hashes work better + +=item Automatic flushing of output buffers + +=item Better diagnostics on meaningless filehandle operations + +=item Where possible, buffered data discarded from duped input filehandle + +=item eof() has the same old magic as <> + +=item binmode() can be used to set :crlf and :raw modes + +=item C<-T> filetest recognizes UTF-8 encoded files as "text" -=over +=item system(), backticks and pipe open now reflect exec() failure -=item DESCRIPTION +=item Improved diagnostics -arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, -more elaborate constructs +=item Diagnostics follow STDERR -=item REFERENCES +More consistent close-on-exec behavior -=item COMMON MISTAKES +=item syswrite() ease-of-use -=item CAVEAT ON PRECEDENCE +=item Better syntax checks on parenthesized unary operators -=item WHY YOU SHOULD ALWAYS C +=item Bit operators support full native integer width -=item DEBUGGING +=item Improved security features -=item CODE EXAMPLES +More functional bareword prototype (*) -=item ARRAYS OF ARRAYS +=item C and C may be overridden -=over +=item $^X variables may now have names longer than one character -=item Declaration of a ARRAY OF ARRAYS +=item New variable $^C reflects C<-c> switch -=item Generation of a ARRAY OF ARRAYS +=item New variable $^V contains Perl version as a string -=item Access and Printing of a ARRAY OF ARRAYS +=item Optional Y2K warnings =back -=item HASHES OF ARRAYS +=item Modules and Pragmata =over -=item Declaration of a HASH OF ARRAYS +=item Modules -=item Generation of a HASH OF ARRAYS +attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, +DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, +Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, +File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, +Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, +podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, +pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, +Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters -=item Access and Printing of a HASH OF ARRAYS +=item Pragmata =back -=item ARRAYS OF HASHES +=item Utility Changes =over -=item Declaration of a ARRAY OF HASHES - -=item Generation of a ARRAY OF HASHES +=item dprofpp -=item Access and Printing of a ARRAY OF HASHES +=item find2perl -=back +=item h2xs -=item HASHES OF HASHES +=item perlcc -=over +=item perldoc -=item Declaration of a HASH OF HASHES +=item The Perl Debugger -=item Generation of a HASH OF HASHES +=back -=item Access and Printing of a HASH OF HASHES +=item Improved Documentation -=back +perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, +perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, +perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, +perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod -=item MORE ELABORATE RECORDS +=item Performance enhancements =over -=item Declaration of MORE ELABORATE RECORDS +=item Simple sort() using { $a <=> $b } and the like are optimized -=item Declaration of a HASH OF COMPLEX RECORDS +=item Optimized assignments to lexical variables -=item Generation of a HASH OF COMPLEX RECORDS +=item Faster subroutine calls -=back +delete(), each(), values() and hash iteration are faster -=item Database Ties +=back -=item SEE ALSO +=item Installation and Configuration Improvements -=item AUTHOR +=over -=back +=item -Dusethreads means something different -=head2 perllol - Manipulating Arrays of Arrays in Perl +=item New Configure flags -=over +=item Threadedness and 64-bitness now more daring -=item DESCRIPTION +=item Long Doubles -=item Declaration and Access of Arrays of Arrays +=item -Dusemorebits -=item Growing Your Own +=item -Duselargefiles -=item Access and Printing +=item installusrbinperl -=item Slices +=item SOCKS support -=item SEE ALSO +=item C<-A> flag -=item AUTHOR +=item Enhanced Installation Directories =back -=head2 perlboot - Beginner's Object-Oriented Tutorial +=item Platform specific changes =over -=item DESCRIPTION +=item Supported platforms -=over +=item DOS -=item If we could talk to the animals... +=item OS390 (OpenEdition MVS) -=item Introducing the method invocation arrow +=item VMS -=item Invoking a barnyard +=item Win32 -=item The extra parameter of method invocation +=back -=item Calling a second method to simplify things +=item Significant bug fixes -=item Inheriting the windpipes +=over -=item A few notes about @ISA +=item on empty files -=item Overriding the methods +=item C improvements -=item Starting the search from a different place +=item All compilation errors are true errors -=item The SUPER way of doing things +=item Implicitly closed filehandles are safer -=item Where we're at so far... +=item Behavior of list slices is more consistent -=item A horse is a horse, of course of course -- or is it? +=item C<(\$)> prototype and C<$foo{a}> -=item Invoking an instance method +=item C and AUTOLOAD -=item Accessing the instance data +=item C<-bareword> allowed under C -=item How to build a horse +=item Failures in DESTROY() -=item Inheriting the constructor +=item Locale bugs fixed -=item Making a method work with either classes or instances +=item Memory leaks -=item Adding parameters to a method +=item Spurious subroutine stubs after failed subroutine calls -=item More interesting instances +=item Taint failures under C<-U> -=item A horse of a different color +=item END blocks and the C<-c> switch -=item Summary +=item Potential to leak DATA filehandles =back -=item SEE ALSO +=item New or Changed Diagnostics -=item COPYRIGHT +(perhaps you forgot to load "%s"?), "%s" variable %s masks earlier +declaration in same %s, "my sub" not yet implemented, "our" variable %s +redeclared, '!' allowed only after types %s, / cannot take a count, / must +be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow +a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: +Unrecognized escape \\%c in character class passed through, /%s/ should +probably be written as "%s", %s() called too early to check prototype, %s +argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY +element or slice, %s argument is not a subroutine name, %s package +attribute may clash with future reserved word: %s, (in cleanup) %s, <> +should be quotes, Ambiguous range in transliteration operator, Attempt to +join self, Bad evalled substitution pattern, Bad realloc() ignored, +Bareword found in conditional, Binary number > +0b11111111111111111111111111111111 non-portable, Bit vector size > 32 +non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem +of script "%s", Can't declare class for non-scalar %s in "%s", Can't +declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't +modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove +%s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken +a nonreference, Character class [:%s:] unknown, Character class syntax [%s] +belongs inside character classes, Constant is not %s reference, +constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, +defined(%hash) is deprecated, Did not produce a valid header, (Did you mean +"local" instead of "our"?), Document contains no data, entering effective +%s failed, false [] range "%s" in regexp, Filehandle %s opened only for +output, flock() on closed filehandle %s, Global symbol "%s" requires +explicit package name, Hexadecimal number > 0xffffffff non-portable, +Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: +|%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal +number of bits in vec, Integer overflow in %s number, Invalid %s attribute: +%s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, invalid [] +range "%s" in transliteration operator, Invalid separator character %s in +attribute list, Invalid separator character %s in subroutine attribute +list, leaving effective %s failed, Lvalue subs returning %s not implemented +yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in +piped open, Missing name in "my sub", No %s specified for -%c, No package +name allowed for variable %s in "our", No space allowed after -%c, no UTC +offset information; assuming local time is UTC, Octal number > 037777777777 +non-portable, panic: del_backref, panic: kid popen errno read, panic: +magic_killbackrefs, Parentheses missing around "%s" list, Possible Y2K bug: +%s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature +end of script headers, Repeat count in pack overflows, Repeat count in +unpack overflows, realloc() of freed memory ignored, Reference is already +weak, setpgrp can't take arguments, Strange *+?{} on zero-length +expression, switching effective %s is not implemented, This Perl can't +reset CRTL environ elements (%s), This Perl can't set CRTL environ elements +(%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown +process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c +passed through, Unterminated attribute parameter in attribute list, +Unterminated attribute list, Unterminated attribute parameter in subroutine +attribute list, Unterminated subroutine attribute list, Value of CLI symbol +"%s" too long, Version number must be a constant number -=back +=item New tests -=head2 perltoot - Tom's object-oriented tutorial for perl +=item Incompatible Changes =over -=item DESCRIPTION +=item Perl Source Incompatibilities -=item Creating a Class +CHECK is a new keyword, Treatment of list slices of undef has changed -=over +=item Format of $English::PERL_VERSION is different -=item Object Representation +Literals of the form C<1.2.3> parse differently, Possibly changed +pseudo-random number generator, Hashing function for hash keys has changed, +C fails on read only values, Close-on-exec bit may be set on pipe +and socket handles, Writing C<"$$1"> to mean C<"${$}1"> is unsupported, +delete(), values() and C<\(%h)> operate on aliases to values, not copies, +vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic +output has changed, C<%@> has been removed, Parenthesized not() behaves +like a list operator, Semantics of bareword prototype C<(*)> have changed -=item Class Interface +=item Semantics of bit operators may have changed on 64-bit platforms -=item Constructors and Instance Methods +=item More builtins taint their results -=item Planning for the Future: Better Constructors +=item C Source Incompatibilities -=item Destructors +C, C, C -=item Other Object Methods +=item Compatible C Source API Changes + +C is now C + +=item Binary Incompatibilities =back -=item Class Data +=item Known Problems =over -=item Accessing Class Data - -=item Debugging Methods +=item Thread test failures -=item Class Destructors +=item EBCDIC platforms not supported -=item Documenting the Interface +=item In 64-bit HP-UX the lib/io_multihomed test may hang -=back +=item NEXTSTEP 3.3 POSIX test failure -=item Aggregation +=item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with +gcc -=item Inheritance +=item UNICOS/mk CC failures during Configure run -=over +=item Arrow operator and arrays -=item Overridden Methods +=item Windows 2000 -=item Multiple Inheritance +=item Experimental features -=item UNIVERSAL: The Root of All Objects +Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The +pseudo-hash data type, The Compiler suite, Internal implementation of file +globbing, The DB module, The regular expression constructs C<(?{ code })> +and C<(??{ code })> =back -=item Alternate Object Representations +=item Obsolete Diagnostics -=over +Character class syntax [: :] is reserved for future extensions, Ill-formed +logical name |%s| in prime_env_iter, Probable precedence problem on %s, +regexp too big, Use of "$$" to mean "${$}" is deprecated -=item Arrays as Objects +=item Reporting Bugs -=item Closures as Objects +=item SEE ALSO + +=item HISTORY =back -=item AUTOLOAD: Proxy Methods +=head2 perl56delta, perldelta - what's new for perl v5.6.0 =over -=item Autoloaded Data Methods - -=item Inherited Autoloaded Data Methods - -=back +=item DESCRIPTION -=item Metaclassical Tools +=item Core Enhancements =over -=item Class::Struct +=item Interpreter cloning, threads, and concurrency -=item Data Members as Variables +=item Lexically scoped warning categories -=item NOTES +=item Unicode and UTF-8 support -=item Object Terminology +=item Support for interpolating named characters -=back +=item "our" declarations -=item SEE ALSO +=item Support for strings represented as a vector of ordinals -=item AUTHOR AND COPYRIGHT +=item Improved Perl version numbering system -=item COPYRIGHT +=item New syntax for declaring subroutine attributes -=over +=item File and directory handles can be autovivified -=item Acknowledgments +=item open() with more than two arguments -=back +=item 64-bit support -=back +=item Large file support -=head2 perltootc - Tom's OO Tutorial for Class Data in Perl +=item Long doubles -=over +=item "more bits" -=item DESCRIPTION +=item Enhanced support for sort() subroutines -=item Class Data as Package Variables +=item C allowed -=over +=item File globbing implemented internally -=item Putting All Your Eggs in One Basket +=item Support for CHECK blocks -=item Inheritance Concerns +=item POSIX character class syntax [: :] supported -=item The Eponymous Meta-Object +=item Better pseudo-random number generator -=item Indirect References to Class Data +=item Improved C operator -=item Monadic Classes +=item Better worst-case behavior of hashes -=item Translucent Attributes +=item pack() format 'Z' supported -=back +=item pack() format modifier '!' supported -=item Class Data as Lexical Variables +=item pack() and unpack() support counted strings -=over +=item Comments in pack() templates -=item Privacy and Responsibility +=item Weak references -=item File-Scoped Lexicals +=item Binary numbers supported -=item More Inheritance Concerns +=item Lvalue subroutines -=item Locking the Door and Throwing Away the Key +=item Some arrows may be omitted in calls through references -=item Translucency Revisited +=item Boolean assignment operators are legal lvalues -=back +=item exists() is supported on subroutine names -=item NOTES +=item exists() and delete() are supported on array elements -=item SEE ALSO +=item Pseudo-hashes work better -=item AUTHOR AND COPYRIGHT +=item Automatic flushing of output buffers -=item ACKNOWLEDGEMENTS +=item Better diagnostics on meaningless filehandle operations -=item HISTORY +=item Where possible, buffered data discarded from duped input filehandle -=back +=item eof() has the same old magic as <> -=head2 perlobj - Perl objects +=item binmode() can be used to set :crlf and :raw modes -=over +=item C<-T> filetest recognizes UTF-8 encoded files as "text" -=item DESCRIPTION +=item system(), backticks and pipe open now reflect exec() failure -=over +=item Improved diagnostics -=item An Object is Simply a Reference +=item Diagnostics follow STDERR -=item A Class is Simply a Package +=item More consistent close-on-exec behavior -=item A Method is Simply a Subroutine +=item syswrite() ease-of-use -=item Method Invocation +=item Better syntax checks on parenthesized unary operators -=item WARNING +=item Bit operators support full native integer width -=item Default UNIVERSAL methods +=item Improved security features -isa(CLASS), can(METHOD), VERSION( [NEED] ) +=item More functional bareword prototype (*) -=item Destructors +=item C and C may be overridden -=item Summary +=item $^X variables may now have names longer than one character -=item Two-Phased Garbage Collection +=item New variable $^C reflects C<-c> switch -=back +=item New variable $^V contains Perl version as a string -=item SEE ALSO +=item Optional Y2K warnings + +=item Arrays now always interpolate into double-quoted strings =back -=head2 perltie - how to hide an object class in a simple variable +=item Modules and Pragmata =over -=item SYNOPSIS +=item Modules -=item DESCRIPTION +attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, +DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, +Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, +File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, +Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, +podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, +pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, +Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters -=over +=item Pragmata -=item Tying Scalars +=back -TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this +=item Utility Changes -=item Tying Arrays +=over -TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, -DESTROY this +=item dprofpp -=item Tying Hashes +=item find2perl -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 +=item h2xs -=item Tying FileHandles +=item perlcc -TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this, -LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this +=item perldoc -=item The C Gotcha +=item The Perl Debugger =back -=item SEE ALSO +=item Improved Documentation -=item BUGS +perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, +perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, +perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, +perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod -=item AUTHOR +=item Performance enhancements + +=over + +=item Simple sort() using { $a <=> $b } and the like are optimized + +=item Optimized assignments to lexical variables + +=item Faster subroutine calls + +=item delete(), each(), values() and hash iteration are faster =back -=head2 perlbot - Bag'o Object Tricks (the BOT) +=item Installation and Configuration Improvements =over -=item DESCRIPTION - -=item OO SCALING TIPS +=item -Dusethreads means something different -=item INSTANCE VARIABLES +=item New Configure flags -=item INSTANCE VARIABLE INHERITANCE +=item Threadedness and 64-bitness now more daring -=item OBJECT RELATIONSHIPS +=item Long Doubles -=item OVERRIDING SUPERCLASS METHODS +=item -Dusemorebits -=item USING RELATIONSHIP WITH SDBM +=item -Duselargefiles -=item THINKING OF CODE REUSE +=item installusrbinperl -=item CLASS CONTEXT AND THE OBJECT +=item SOCKS support -=item INHERITING A CONSTRUCTOR +=item C<-A> flag -=item DELEGATION +=item Enhanced Installation Directories =back -=head2 perlipc - Perl interprocess communication (signals, fifos, pipes, -safe subprocesses, sockets, and semaphores) +=item Platform specific changes =over -=item DESCRIPTION +=item Supported platforms -=item Signals +=item DOS -=item Named Pipes +=item OS390 (OpenEdition MVS) -=over +=item VMS -=item WARNING +=item Win32 =back -=item Using open() for IPC +=item Significant bug fixes =over -=item Filehandles +=item on empty files -=item Background Processes +=item C improvements -=item Complete Dissociation of Child from Parent +=item All compilation errors are true errors -=item Safe Pipe Opens +=item Implicitly closed filehandles are safer -=item Bidirectional Communication with Another Process +=item Behavior of list slices is more consistent -=item Bidirectional Communication with Yourself +=item C<(\$)> prototype and C<$foo{a}> -=back +=item C and AUTOLOAD -=item Sockets: Client/Server Communication +=item C<-bareword> allowed under C -=over +=item Failures in DESTROY() -=item Internet Line Terminators +=item Locale bugs fixed -=item Internet TCP Clients and Servers +=item Memory leaks -=item Unix-Domain TCP Clients and Servers +=item Spurious subroutine stubs after failed subroutine calls + +=item Taint failures under C<-U> + +=item END blocks and the C<-c> switch + +=item Potential to leak DATA filehandles + +=back + +=item New or Changed Diagnostics + +"%s" variable %s masks earlier declaration in same %s, "my sub" not yet +implemented, "our" variable %s redeclared, '!' allowed only after types %s, +/ cannot take a count, / must be followed by a, A or Z, / must be followed +by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape +\\%c passed through, /%s/: Unrecognized escape \\%c in character class +passed through, /%s/ should probably be written as "%s", %s() called too +early to check prototype, %s argument is not a HASH or ARRAY element, %s +argument is not a HASH or ARRAY element or slice, %s argument is not a +subroutine name, %s package attribute may clash with future reserved word: +%s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled +substitution pattern, Bad realloc() ignored, Bareword found in conditional, +Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector +size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check +filesystem of script "%s", Can't declare class for non-scalar %s in "%s", +Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, +Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't +remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't +weaken a nonreference, Character class [:%s:] unknown, Character class +syntax [%s] belongs inside character classes, Constant is not %s reference, +constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, +defined(%hash) is deprecated, Did not produce a valid header, (Did you mean +"local" instead of "our"?), Document contains no data, entering effective +%s failed, false [] range "%s" in regexp, Filehandle %s opened only for +output, flock() on closed filehandle %s, Global symbol "%s" requires +explicit package name, Hexadecimal number > 0xffffffff non-portable, +Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: +|%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal +number of bits in vec, Integer overflow in %s number, Invalid %s attribute: +%s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid +separator character %s in attribute list, Invalid separator character %s in +subroutine attribute list, leaving effective %s failed, Lvalue subs +returning %s not implemented yet, Method %s not permitted, Missing +%sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", +No %s specified for -%c, No package name allowed for variable %s in "our", +No space allowed after -%c, no UTC offset information; assuming local time +is UTC, Octal number > 037777777777 non-portable, panic: del_backref, +panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing +around "%s" list, Possible unintended interpolation of %s in string, +Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" +instead, Premature end of script headers, Repeat count in pack overflows, +Repeat count in unpack overflows, realloc() of freed memory ignored, +Reference is already weak, setpgrp can't take arguments, Strange *+?{} on +zero-length expression, switching effective %s is not implemented, This +Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL +environ elements (%s=%s), Too late to run %s block, Unknown open() mode +'%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized +escape \\%c passed through, Unterminated attribute parameter in attribute +list, Unterminated attribute list, Unterminated attribute parameter in +subroutine attribute list, Unterminated subroutine attribute list, Value of +CLI symbol "%s" too long, Version number must be a constant number -=back +=item New tests -=item TCP Clients with IO::Socket +=item Incompatible Changes =over -=item A Simple Client - -C, C, C +=item Perl Source Incompatibilities -=item A Webget Client +CHECK is a new keyword, Treatment of list slices of undef has changed, +Format of $English::PERL_VERSION is different, Literals of the form +C<1.2.3> parse differently, Possibly changed pseudo-random number +generator, Hashing function for hash keys has changed, C fails on +read only values, Close-on-exec bit may be set on pipe and socket handles, +Writing C<"$$1"> to mean C<"${$}1"> is unsupported, delete(), values() and +C<\(%h)> operate on aliases to values, not copies, vec(EXPR,OFFSET,BITS) +enforces powers-of-two BITS, Text of some diagnostic output has changed, +C<%@> has been removed, Parenthesized not() behaves like a list operator, +Semantics of bareword prototype C<(*)> have changed, Semantics of bit +operators may have changed on 64-bit platforms, More builtins taint their +results -=item Interactive Client with IO::Socket +=item C Source Incompatibilities -=back +C, C, C -=item TCP Servers with IO::Socket +=item Compatible C Source API Changes -Proto, LocalPort, Listen, Reuse +C is now C -=item UDP: Message Passing +=item Binary Incompatibilities -=item SysV IPC +=back -=item NOTES +=item Known Problems -=item BUGS +=over -=item AUTHOR +=item Thread test failures -=item SEE ALSO +=item EBCDIC platforms not supported -=back +=item In 64-bit HP-UX the lib/io_multihomed test may hang -=head2 perldbmfilter - Perl DBM Filters +=item NEXTSTEP 3.3 POSIX test failure -=over +=item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with +gcc -=item SYNOPSIS +=item UNICOS/mk CC failures during Configure run -=item DESCRIPTION +=item Arrow operator and arrays -B, B, B, -B +=item Experimental features -=over +Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The +pseudo-hash data type, The Compiler suite, Internal implementation of file +globbing, The DB module, The regular expression constructs C<(?{ code })> +and C<(??{ code })> -=item The Filter +=back -=item An Example -- the NULL termination problem. +=item Obsolete Diagnostics -=item Another Example -- Key is a C int. +Character class syntax [: :] is reserved for future extensions, Ill-formed +logical name |%s| in prime_env_iter, In string, @%s now must be written as +\@%s, Probable precedence problem on %s, regexp too big, Use of "$$" +to mean "${$}" is deprecated -=back +=item Reporting Bugs =item SEE ALSO -=item AUTHOR +=item HISTORY =back -=head2 perldebug - Perl debugging +=head2 perl5005delta, perldelta - what's new for perl5.005 =over =item DESCRIPTION -=item The Perl Debugger - -=over - -=item Debugger Commands - -h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n -[expr], r, , c [line|sub], l, l min+incr, l min-max, l line, l subname, --, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], 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 [line], A, W expr, W, O booloption .., O anyoption? .., O -option=value .., < ?, < [ command ], << command, > ?, > command, >> -command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !! -cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage] - -=item Configurable Options - -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C - -=item Debugger input/output +=item About the new versioning system -Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame -listing +=item Incompatible Changes -=item Debugging compile-time statements +=over -=item Debugger Customization +=item WARNING: This version is not binary compatible with Perl 5.004. -=item Readline Support +=item Default installation structure has changed -=item Editor Support for Debugging +=item Perl Source Compatibility -=item The Perl Profiler +=item C Source Compatibility -=back +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 -=item Debugging regular expressions +=item Binary Compatibility -=item Debugging memory usage +=item Security fixes may affect compatibility -=item SEE ALSO +=item Relaxed new mandatory warnings introduced in 5.004 -=item BUGS +=item Licensing =back -=head2 perlnumber - semantics of numbers and numeric operations in Perl +=item Core Changes =over -=item SYNOPSIS +=item Threads -=item DESCRIPTION +=item Compiler -=item Storing numbers +=item Regular Expressions -=item Numeric operators and numeric conversions +Many new and improved optimizations, Many bug fixes, New regular expression +constructs, New operator for precompiled regular expressions, Other +improvements, Incompatible changes -=item Flavors of Perl numeric operations +=item Improved malloc() -Arithmetic operators except, C, Arithmetic operators except, -C, Bitwise operators, C, Bitwise operators, C, Operators which expect an integer, Operators which expect a -string +=item Quicksort is internally implemented -=item AUTHOR +=item Reliable signals -=item SEE ALSO +=item Reliable stack pointers -=back +=item More generous treatment of carriage returns -=head2 perldebguts - Guts of Perl debugging +=item Memory leaks -=over +=item Better support for multiple interpreters -=item DESCRIPTION +=item Behavior of local() on array and hash elements is now well-defined -=item Debugger Internals +=item C<%!> is transparently tied to the L module -=over +=item Pseudo-hashes are supported -=item Writing Your Own Debugger +=item C is supported -=back +=item Keywords can be globally overridden -=item Frame Listing Output Examples +=item C<$^E> is meaningful on Win32 -=item Debugging regular expressions +=item C optimized -=over +=item C can be used as implicitly quoted package name -=item Compile-time output +=item C tests existence of a package -C I C I, C I C -I, C, C, C -I, C, C, C, C, C, C, -C +=item Better locale support -=item Types of nodes +=item Experimental support for 64-bit platforms -=item Run-time output +=item prototype() returns useful results on builtins -=back +=item Extended support for exception handling -=item Debugging Perl memory usage +=item Re-blessing in DESTROY() supported for chaining DESTROY() methods -=over +=item All C format conversions are handled internally -=item Using C<$ENV{PERL_DEBUG_MSTATS}> +=item New C keyword -C, Free/Used, C, C, C, C, C +=item New C keyword -=item Example of using B<-DL> switch +=item New C operator -C<717>, C<002>, C<054>, C<602>, C<702>, C<704> +=item C is now a reserved word -=item B<-DL> details +=item Tied arrays are now fully supported -C, C, C +=item Tied handles support is better -=item Limitations of B<-DL> statistics +=item 4th argument to substr -=back +=item Negative LENGTH argument to splice -=item SEE ALSO +=item Magic lvalues are now more magical + +=item <> now reads in records =back -=head2 perldiag - various Perl diagnostics +=item Supported Platforms =over -=item DESCRIPTION - -=back +=item New Platforms -=head2 perlsec - Perl security +=item Changes in existing support -=over +=back -=item DESCRIPTION +=item Modules and Pragmata =over -=item Laundering and Detecting Tainted Data - -=item Switches On the "#!" Line +=item New Modules -=item Cleaning Up Your Path +B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed, +ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, +Thread, attrs, fields, re -=item Security Bugs +=item Changes in existing modules -=item Protecting Your Programs +Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, +MakeMaker, CPAN, Cwd, Benchmark =back -=item SEE ALSO +=item Utility Changes -=back +=item Documentation Changes + +=item 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 check +filesystem of script "%s" for nosuid, 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 -=head2 perltrap - Perl traps for the unwary +=item Obsolete Diagnostics -=over +Can't mktemp(), Can't write to temp file for B<-e>: %s, Cannot open +temporary file, regexp too big -=item DESCRIPTION +=item Configuration Changes -=over +=item BUGS -=item Awk Traps +=item SEE ALSO -=item C Traps +=item HISTORY -=item Sed Traps +=back -=item Shell Traps +=head2 perl5004delta, perldelta - what's new for perl5.004 -=item Perl Traps +=over -=item Perl4 to Perl5 Traps +=item DESCRIPTION -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 +=item Supported Environments -=item Discontinuance, Deprecation, and BugFix traps +=item Core Changes -Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance, -Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix, -Discontinuance, Deprecation, Discontinuance, Discontinuance +=over -=item Parsing Traps +=item List assignment to %ENV works -Parsing, Parsing, Parsing, Parsing +=item "Can't locate Foo.pm in @INC" error now lists @INC -=item Numerical Traps +=item Compilation option: Binary compatibility with 5.003 -Numerical, Numerical, Numerical, Bitwise string ops +=item $PERL5OPT environment variable -=item General data type traps +=item Limitations on B<-M>, B<-m>, and B<-T> options -(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String), -(Constants), (Scalars), (Variable Suicide) +=item More precise warnings -=item Context Traps - scalar, list contexts +=item Deprecated: Inherited C for non-methods -(list context), (scalar context), (scalar context), (list, builtin) +=item Previously deprecated %OVERLOAD is no longer usable -=item Precedence Traps +=item Subroutine arguments created only when they're modified -Precedence, Precedence, Precedence, Precedence, Precedence, Precedence, -Precedence +=item Group vector changeable with C<$)> -=item General Regular Expression Traps using s///, etc. +=item Fixed parsing of $$, &$, etc. -Regular Expression, Regular Expression, Regular Expression, Regular -Expression, Regular Expression, Regular Expression, Regular Expression, -Regular Expression +=item Fixed localization of $, $&, etc. -=item Subroutine, Signal, Sorting Traps +=item No resetting of $. on implicit close -(Signals), (Sort Subroutine), warn() won't let you specify a filehandle +=item C may return undef -=item OS Traps +=item C determines value of EXPR in scalar context -(SysV), (SysV) +=item Changes to tainting checks -=item Interpolation Traps +No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No +spawning if tainted $TERM doesn't look like a terminal name -Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, -Interpolation, Interpolation, Interpolation, Interpolation +=item New Opcode module and revised Safe module -=item DBM Traps +=item Embedding improvements -DBM, DBM +=item Internal change: FileHandle class based on IO::* classes -=item Unclassified Traps +=item Internal change: PerlIO abstraction interface -C/C trap using returned value, C on empty string with -LIMIT specified +=item New and changed syntax -=back +$coderef->(PARAMS) -=back +=item New and changed builtin constants -=head2 perlport - Writing portable Perl +__PACKAGE__ -=over +=item New and changed builtin variables -=item DESCRIPTION +$^E, $^H, $^M -Not all Perl programs have to be portable, Nearly all of Perl already I -portable +=item New and changed builtin functions -=item ISSUES +delete on slices, flock, printf and sprintf, keys as an lvalue, my() in +Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module +VERSION LIST, prototype(FUNCTION), srand, $_ as Default, C does not +reset search position on failure, C ignores whitespace before ?*+{}, +nested C closures work now, formats work right on changing lexicals -=over +=item New builtin methods -=item Newlines +isa(CLASS), can(METHOD), VERSION( [NEED] ) -=item Numbers endianness and Width +=item TIEHANDLE now supported -=item Files and Filesystems +TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this +LIST, READLINE this, GETC this, DESTROY this -=item System Interaction +=item Malloc enhancements -=item Interprocess Communication (IPC) +-DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE -=item External Subroutines (XS) +=item Miscellaneous efficiency enhancements -=item Standard Modules +=back -=item Time and Date +=item Support for More Operating Systems -=item Character sets and character encoding +=over -=item Internationalisation +=item Win32 -=item System Resources +=item Plan 9 -=item Security +=item QNX -=item Style +=item AmigaOS =back -=item CPAN Testers +=item Pragmata -Mailing list: cpan-testers@perl.org, Testing results: -http://testers.cpan.org/ +use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use +constant NAME => VALUE, use locale, use ops, use vmsish -=item PLATFORMS +=item Modules =over -=item Unix +=item Required Updates + +=item Installation directories -=item DOS and Derivatives +=item Module information summary -Build instructions for OS/2, L +=item Fcntl -=item S +=item IO -=item VMS +=item Math::Complex -=item VOS +=item Math::Trig -=item EBCDIC Platforms +=item DB_File -=item Acorn RISC OS +=item Net::Ping -=item Other perls +=item Object-oriented overrides for builtin operators =back -=item FUNCTION IMPLEMENTATIONS +=item Utility Changes =over -=item Alphabetical Listing of Perl Functions +=item pod2html --I FILEHANDLE, -I EXPR, -I, alarm SECONDS, alarm, binmode -FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt -PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec -LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork, -getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, -getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr -ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, -getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, -setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, -setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, -endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, -ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE, -lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, -msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, -open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, -select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget -KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, -setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt -SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, -shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair -SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat, -symlink OLDFILE,NEWFILE, syscall LIST, sysopen -FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate -FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, -wait, waitpid PID,FLAGS +Sends converted HTML to standard output + +=item xsubpp + +C XSUBs now default to returning nothing =back -=item CHANGES +=item C Language API Changes -v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999, -v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May -1999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December -1998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August -1998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998, -v1.23, 10 July 1998 +C and C, C, Extended API for +manipulating hashes -=item Supported Platforms +=item Documentation Changes -=item SEE ALSO +L, L, L, L, L, +L, L, L -=item AUTHORS / CONTRIBUTORS +=item New Diagnostics -=item VERSION +"my" variable %s masks earlier declaration in same scope, %s argument is +not a HASH element or slice, Allocation too large: %lx, Allocation too +large, Applying %s to %s will act on scalar(%s), Attempt to free +nonexistent shared string, Attempt to use reference as lvalue in substr, +Bareword "%s" refers to nonexistent package, Can't redefine active sort +subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in +use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant +subroutine %s redefined, Constant subroutine %s undefined, Copy method did +not return a reference, Died, Exiting pseudo-block via %s, Identifier too +long, Illegal character %s (carriage return), Illegal switch in PERL5OPT: +%s, Integer overflow in hex number, Integer overflow in octal number, +internal error: glob failed, Invalid conversion in %s: "%s", Invalid type +in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once: +possible typo, Null picture in formline, Offset outside string, Out of +memory!, Out of memory during request for %s, panic: frexp, Possible +attempt to put comments in qw() list, Possible attempt to separate words +with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found +while resolving method `%s' overloading `%s' in package `%s', Too late for +"B<-T>" option, untie attempted while %d inner references still exist, +Unrecognized character %s, Unsupported function fork, Use of "$$" to +mean "${$}" is deprecated, Value of %s can be "0"; test with +defined(), Variable "%s" may be unavailable, Variable "%s" will not stay +shared, Warning: something's wrong, Ill-formed logical name |%s| in +prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, +PERL_SH_DIR too long, Process terminated by SIG%s + +=item BUGS + +=item SEE ALSO + +=item HISTORY =back -=head2 perlstyle - Perl style guide +=head2 perlamiga - Perl under Amiga OS (possibly very outdated information) =over -=item DESCRIPTION +=item SYNOPSIS =back -=head2 perlpod - plain old documentation - =over =item DESCRIPTION =over -=item Verbatim Paragraph - -=item Command Paragraph +=item Prerequisites -=item Ordinary Block of Text +B, B -=item The Intent +=item Starting Perl programs under AmigaOS -=item Embedding Pods in Perl Modules +=item Shortcomings of Perl under AmigaOS -=item Common Pod Pitfalls +fork(), some features of the UNIX filesystem regarding link count and file +dates, inplace operation (the -i switch) without backup file, umask() +works, but the correct permissions are only set when the file is +finally close()d =back -=item SEE ALSO +=item INSTALLATION -=item AUTHOR +=item Accessing documentation + +=over + +=item Manpages + +=item B + +=item B C files + +=item C docs =back -=head2 perlbook - Perl book information +=item BUILD =over -=item DESCRIPTION +=item Prerequisites + +=item Getting the perl source + +=item Making + +=item Testing + +=item Installing the built perl =back -=head2 perlembed - how to embed perl in your C program +=item AUTHOR + +=item SEE ALSO + +=back + +=head2 perlcygwin, README.cygwin - Perl for Cygwin =over -=item DESCRIPTION +=item SYNOPSIS + +=item PREREQUISITES =over -=item PREAMBLE +=item Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it) -B, B, B, B, B +=item Cygwin Configuration -=item ROADMAP +C, I, Permissions -=item Compiling your C program +=back -=item Adding a Perl interpreter to your C program +=item CONFIGURE -=item Calling a Perl subroutine from your C program +=over -=item Evaluating a Perl statement from your C program +=item Strip Binaries -=item Performing Perl pattern matches and substitutions from your C program +=item Optional Libraries -=item Fiddling with the Perl stack from your C program +C<-lcrypt>, C<-lgdbm> (C), C<-ldb> (C), +C<-lcygipc> (C) -=item Maintaining a persistent interpreter +=item Configure-time Options -=item Maintaining multiple interpreter instances +C<-Uusedl>, C<-Uusemymalloc>, C<-Dusemultiplicity>, C<-Duseperlio>, +C<-Duse64bitint>, C<-Duselongdouble>, C<-Dusethreads>, C<-Duselargefiles> -=item Using Perl modules, which themselves use C libraries, from your C -program +=item Suspicious Warnings + +Whoa There, I, Win9x and C, Checking how std your stdio +is.., Compiler/Preprocessor defines =back -=item Embedding Perl under Windows +=item MAKE -=item MORAL +=over -=item AUTHOR +=item Warnings -=item COPYRIGHT +=item ld2 =back -=head2 perlapio - perl's IO abstraction interface. +=item TEST =over -=item SYNOPSIS +=item File Permissions -=item DESCRIPTION +=item Hard Links -B, B, B, B, -B, B, -B, B, -B, B, -B, B, B, -B, B, B, -B, B, B, -B, B, B, -B, B, B, -B, B +=item Filetime Granularity -=over +=item Tainting Checks -=item Co-existence with stdio +=item /etc/group -B, B, -B, B, B, -B, B, B, -B, B, -B, B, B, -B, B +=item Script Portability + +Pathnames, Text/Binary, F<.exe>, chown(), Miscellaneous =back +=item INSTALL + +=item MANIFEST + +Documentation, Build, Configure, Make, Install, Tests, Compiled Perl +Source, Compiled Module Source, Perl Modules/Scripts + +=item BUGS + +=item AUTHORS + +=item HISTORY + =back -=head2 perlxs - XS language reference manual +=head2 perldos - Perl under DOS, W31, W95. =over +=item SYNOPSIS + =item DESCRIPTION =over -=item Introduction - -=item On The Road +=item Prerequisites -=item The Anatomy of an XSUB +DJGPP, Pthreads -=item The Argument Stack +=item Shortcomings of Perl under DOS -=item The RETVAL Variable +=item Building -=item The MODULE Keyword +=item Testing -=item The PACKAGE Keyword +=item Installation -=item The PREFIX Keyword +=back -=item The OUTPUT: Keyword +=item AUTHOR -=item The CODE: Keyword +=item SEE ALSO -=item The INIT: Keyword +=back -=item The NO_INIT Keyword +=head2 perlhpux, README.hpux - Perl version 5 on Hewlett-Packard Unix +(HP-UX) systems -=item Initializing Function Parameters +=over -=item Default Parameter Values +=item DESCRIPTION -=item The PREINIT: Keyword +=over -=item The SCOPE: Keyword +=item Compiling Perl 5 on HP-UX -=item The INPUT: Keyword +=item PA-RISC -=item Variable-length Parameter Lists +=item PA-RISC 1.0 -=item The C_ARGS: Keyword +=item PA-RISC 1.1 -=item The PPCODE: Keyword +=item PA-RISC 2.0 -=item Returning Undef And Empty Lists +=item Portability Between PA-RISC Versions -=item The REQUIRE: Keyword +=item Building Dynamic Extensions on HP-UX -=item The CLEANUP: Keyword +=item The HP ANSI C Compiler -=item The BOOT: Keyword +=item Using Large Files with Perl -=item The VERSIONCHECK: Keyword +=item Threaded Perl -=item The PROTOTYPES: Keyword +=item 64-bit Perl -=item The PROTOTYPE: Keyword +=item GDBM and Threads -=item The ALIAS: Keyword +=item NFS filesystems and utime(2) -=item The INTERFACE: Keyword +=back -=item The INTERFACE_MACRO: Keyword +=item AUTHOR -=item The INCLUDE: Keyword +=item DATE -=item The CASE: Keyword +=back -=item The & Unary Operator +=head2 perlmachten, README.machten - Perl version 5 on Power MachTen +systems -=item Inserting Comments and C Preprocessor Directives +=over -=item Using XS With C++ +=item DESCRIPTION -=item Interface Strategy +=over -=item Perl Objects And C Structures +=item Compiling Perl 5 on MachTen -=item The Typemap +=item Failures during C -=back +op/lexassign.t, pragma/warnings.t -=item EXAMPLES +=item Building external modules -=item XS VERSION +=back =item AUTHOR +=item DATE + =back -=head2 perlxstut, perlXStut - Tutorial for writing XSUBs +=head2 perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT. =over -=item DESCRIPTION +=item SYNOPSIS -=item SPECIAL NOTES +=back =over -=item make +=item Target -=item Version caveat +=item Other OSes -=item Dynamic Loading versus Static Loading +=item Prerequisites -=back +EMX, RSX, HPFS, pdksh -=item TUTORIAL +=item Starting Perl programs under OS/2 (and DOS and...) -=over +=item Starting OS/2 (and DOS) programs under Perl -=item EXAMPLE 1 +=back -=item EXAMPLE 2 +=over -=item What has gone on? +=item Frequently asked questions -=item Writing good test scripts +=over -=item EXAMPLE 3 +=item I cannot run external programs -=item What's new here? +=item I cannot embed perl into my program, or use F from my +program. -=item Input and Output Parameters +Is your program EMX-compiled with C<-Zmt -Zcrtdll>?, Did you use +L? -=item The XSUBPP Program +=item C<``> and pipe-C do not work under DOS. -=item The TYPEMAP file +=item Cannot start C -=item Warning about Output Arguments +=back -=item EXAMPLE 4 +=item INSTALLATION -=item What has happened here? +=over -=item Anatomy of .xs file +=item Automatic binary installation -=item Getting the fat out of XSUBs +C, C, F -=item More about XSUB arguments +=item Manual binary installation -=item The Argument Stack +Perl VIO and PM executables (dynamically linked), Perl_ VIO executable +(statically linked), Executables for Perl utilities, Main Perl library, +Additional Perl modules, Tools to compile Perl modules, Manpages for Perl +and utilities, Manpages for Perl modules, Source for Perl documentation, +Perl manual in F<.INF> format, Pdksh -=item Extending your Extension +=item B -=item Documenting your Extension +=back -=item Installing your Extension +=item Accessing documentation -=item EXAMPLE 5 +=over -=item New Things in this Example +=item OS/2 F<.INF> file -=item EXAMPLE 6 +=item Plain text -=item New Things in this Example +=item Manpages -=item EXAMPLE 7 (Coming Soon) +=item HTML -=item EXAMPLE 8 (Coming Soon) +=item GNU C files -=item EXAMPLE 9 (Coming Soon) +=item F<.PDF> files -=item Troubleshooting these Examples +=item C docs =back -=item See also - -=item Author +=item BUILD =over -=item Last Changed +=item Prerequisites -=back +=item Getting perl source -=back +=item Application of the patches -=head2 perlguts - Introduction to the Perl API +=item Hand-editing -=over +=item Making -=item DESCRIPTION +=item Testing -=item Variables +A lot of C, Process terminated by SIGTERM/SIGINT, F, +F, F, F, F -=over +=item Installing the built perl -=item Datatypes +=item C-style build -=item What is an "IV"? +=back -=item Working with SVs +=item Build FAQ -=item What's Really Stored in an SV? +=over -=item Working with AVs +=item Some C became C<\> in pdksh. -=item Working with HVs +=item C<'errno'> - unresolved external -=item Hash API Extensions +=item Problems with tr or sed -=item References +=item Some problem (forget which ;-) -=item Blessed References and Class Objects +=item Library ... not found -=item Creating New Variables +=item Segfault in make -=item Reference Counts and Mortality +=back -=item Stashes and Globs +=item Specific (mis)features of OS/2 port -=item Double-Typed SVs +=over -=item Magic Variables +=item C, C -=item Assigning Magic +=item C -=item Magic Virtual Tables +=item C on the first line -=item Finding Magic +=item Additional modules: -=item Understanding the Magic of Tied Hashes and Arrays +=item Prebuilt methods: -=item Localizing changes +C, C, C, + C, C, +C, C, +C, C, +C, C, +C -C, C, C, C, -C, C, C, C, C, C, C, C, C, C, -C, C, C, C, C, C, C, -C +=item Misfeatures + +=item Modifications + +C, C, C, C, C, C =back -=item Subroutines +=item Perl flavors =over -=item XSUBs and the Argument Stack +=item F -=item Calling Perl Routines from within C Programs +=item F -=item Memory Allocation +=item F -=item PerlIO +=item F -=item Putting a C value on Perl stack +=item Why strange names? -=item Scratchpads +=item Why dynamic linking? -=item Scratchpads and recursion +=item Why chimera build? + +explicit fork(), open FH, "|-", open FH, "-|" =back -=item Compiled code +=item ENVIRONMENT =over -=item Code tree +=item C -=item Examining the tree +=item C -=item Compile pass 1: check routines +=item C -=item Compile pass 1a: constant folding +=item C -=item Compile pass 2: context propagation +=item C -=item Compile pass 3: peephole optimization +=item C or C =back -=item How multiple interpreters and concurrency are supported +=item Evolution =over -=item Background and PERL_IMPLICIT_CONTEXT +=item Priorities -=item How do I use all this in extensions? +=item DLL name mangling -=item Future Plans and PERL_IMPLICIT_SYS +=item Threading -=back +=item Calls to external programs -=item AUTHORS +=item Memory allocation -=item SEE ALSO +=item Threads + +C, F =back -=head2 perlcall - Perl calling conventions from C +=back =over -=item DESCRIPTION - -An Error Handler, An Event Driven Program +=item AUTHOR -=item THE CALL_ FUNCTIONS +=item SEE ALSO -call_sv, call_pv, call_method, call_argv +=back -=item FLAG VALUES +=head2 perlos390, README.os390 - building and installing Perl for OS/390. =over -=item G_VOID +=item SYNOPSIS -=item G_SCALAR +=item DESCRIPTION -=item G_ARRAY +=over -=item G_DISCARD +=item Unpacking -=item G_NOARGS +=item Setup and utilities -=item G_EVAL +=item Configure -=item G_KEEPERR +=item Build, test, install -=item Determining the Context +=item Usage Hints + +=item Extensions =back -=item KNOWN PROBLEMS +=item AUTHORS -=item EXAMPLES +=item SEE ALSO =over -=item No Parameters, Nothing returned - -=item Passing Parameters +=item Mailing list -=item Returning a Scalar +=back -=item Returning a list of values +=item HISTORY -=item Returning a list in a scalar context +=back -=item Returning Data from Perl via the parameter list +=head2 perlposix-bc, README.posix-bc - building and installing Perl for +BS2000 POSIX. -=item Using G_EVAL +=over -=item Using G_KEEPERR +=item SYNOPSIS -=item Using call_sv +=item DESCRIPTION -=item Using call_argv +=over -=item Using call_method +=item gzip -=item Using GIMME_V +=item bison -=item Using Perl to dispose of temporaries +=item Unpacking -=item Strategies for storing Callback Context Information +=item Compiling -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 +=item Testing -=item Alternate Stack Manipulation +=item Install -=item Creating and calling an anonymous subroutine in C +=item Using Perl =back +=item AUTHORS + =item SEE ALSO -=item AUTHOR +=over -=item DATE +=item Mailing list =back -=head2 perlcompile - Introduction to the Perl Compiler-Translator +=item HISTORY -=over +=back -=item DESCRIPTION +=head2 perlvms - VMS-specific documentation for Perl =over -=item Layout - -B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref +=item DESCRIPTION -=back +=item Installation -=item Using The Back Ends +=item Organization of Perl Images =over -=item The Cross Referencing Back End - -i, &, s, r +=item Core Images -=item The Decompiling Back End +=item Perl Extensions -=item The Lint Back End +=item Installing static extensions -=item The Simple C Back End +=item Installing dynamic extensions -=item The Bytecode Back End +=back -=item The Optimized C Back End +=item File specifications -B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, -B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, -B::Stash, B::Terse, B::Xref +=over -=back +=item Syntax -=item KNOWN PROBLEMS +=item Wildcard expansion -=item AUTHOR +=item Pipes =back -=head2 perlapi - autogenerated documentation for the perl public API +=item PERL5LIB and PERLLIB -=over +=item Command line -=item DESCRIPTION +=over -AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push, -av_shift, av_store, av_undef, av_unshift, bytes_to_utf8, call_argv, -call_method, call_pv, call_sv, CLASS, Copy, croak, CvSTASH, dMARK, -dORIGMARK, dSP, dXSARGS, dXSI32, ENTER, eval_pv, eval_sv, EXTEND, -fbm_compile, fbm_instr, FREETMPS, get_av, get_cv, get_hv, get_sv, GIMME, -GIMME_V, GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, -gv_stashpv, gv_stashsv, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, -G_VOID, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, -HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists, -hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey, -hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, 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_length, mg_magical, mg_set, Move, New, newAV, -Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc, NEWSV, newSViv, newSVnv, -newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newSVuv, newXS, newXSproto, -Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc, -perl_construct, perl_destruct, perl_free, perl_parse, perl_run, -PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_modglobal, PL_na, -PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn, POPp, POPs, PUSHi, -PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, require_pv, -RETVAL, Safefree, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, -strGT, strLE, strLT, strNE, strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set, -SvEND, SvGETMAGIC, SvGROW, SvIOK, SvIOKp, SvIOK_off, SvIOK_on, SvIOK_only, -SvIV, SvIVX, SvLEN, SvLOCK, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, -SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp, -SvPOK_off, SvPOK_on, SvPOK_only, SvPV, SvPVX, SvPV_force, SvPV_nolen, -SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, -SvSETMAGIC, SvSetSV, SvSetSV_nosteal, SvSTASH, SvTAINT, SvTAINTED, -SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, svtype, SVt_IV, SVt_NV, -SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUNLOCK, SvUPGRADE, SvUV, -SvUVX, sv_2mortal, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, -sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, sv_dec, -sv_derived_from, sv_eq, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject, -sv_len, sv_magic, sv_mortalcopy, sv_newmortal, sv_setiv, sv_setiv_mg, -sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv, -sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, -sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv, -sv_setuv_mg, sv_unref, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn, -sv_vsetpvfn, THIS, toLOWER, toUPPER, U8 *s, utf8_to_bytes, 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_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, -XS_VERSION_BOOTCHECK, Zero +=item I/O redirection and backgrounding -=item AUTHORS +=item Command line switches -=item SEE ALSO +-i, -S, -u =back -=head2 perlintern - autogenerated documentation of purely B - Perl functions +=item Perl functions + +File tests, backticks, binmode FILEHANDLE, crypt PLAINTEXT, USER, dump, +exec LIST, fork, getpwent, getpwnam, getpwuid, gmtime, kill, qx//, select +(system call), stat EXPR, system LIST, time, times, unlink LIST, utime +LIST, waitpid PID,FLAGS + +=item Perl variables + +%ENV, CRTL_ENV, CLISYM_[LOCAL], Any other string, $!, $^E, $?, $^S, $| + +=item Standard modules with VMS-specific differences =over -=item DESCRIPTION +=item SDBM_File -is_gv_magical +=back -=item AUTHORS +=item Revision date -=item SEE ALSO +=item AUTHOR =back -=head2 perlhist - the Perl history records +=head2 perlwin32 - Perl under Win32 =over -=item DESCRIPTION - -=item INTRODUCTION +=item SYNOPSIS -=item THE KEEPERS OF THE PUMPKIN +=item DESCRIPTION =over -=item PUMPKIN? +=item Setting Up -=back +Make, Command Shell, Borland C++, Microsoft Visual C++, Mingw32 with GCC -=item THE RECORDS +=item Building -=over +=item Testing -=item SELECTED RELEASE SIZES +=item Installation -=item SELECTED PATCH SIZES +=item Usage Hints + +Environment Variables, File Globbing, Using perl from the command line, +Building Extensions, Command-line Wildcard Expansion, Win32 Specific +Extensions, Running Perl Scripts, Miscellaneous Things =back -=item THE KEEPERS OF THE RECORDS +=item BUGS AND CAVEATS + +=item AUTHORS + +=item SEE ALSO + +=item HISTORY =back @@ -10430,6 +12751,38 @@ March 18th, 2000 =back +=head2 Win32 - Interfaces to some Win32 API Functions + +=over + +=item DESCRIPTION + +=over + +=item Alphabetical Listing of Win32 Functions + +Win32::AbortSystemShutdown(MACHINE), Win32::BuildNumber(), +Win32::CopyFile(FROM, TO, OVERWRITE), Win32::DomainName(), +Win32::ExpandEnvironmentStrings(STRING), Win32::FormatMessage(ERRORCODE), +Win32::FsType(), Win32::FreeLibrary(HANDLE), Win32::GetArchName(), +Win32::GetChipName(), Win32::GetCwd(), Win32::GetFullPathName(FILENAME), +Win32::GetLastError(), Win32::GetLongPathName(PATHNAME), +Win32::GetNextAvailDrive(), Win32::GetOSVersion(), +Win32::GetShortPathName(PATHNAME), Win32::GetProcAddress(INSTANCE, +PROCNAME), Win32::GetTickCount(), Win32::InitiateSystemShutdown(MACHINE, +MESSAGE, TIMEOUT, FORCECLOSE, REBOOT), Win32::IsWinNT(), Win32::IsWin95(), +Win32::LoadLibrary(LIBNAME), Win32::LoginName(), +Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID, SIDTYPE), +Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE), +Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]]), Win32::NodeName(), +Win32::RegisterServer(LIBRARYNAME), Win32::SetCwd(NEWDIRECTORY), +Win32::SetLastError(ERROR), Win32::Sleep(TIME), Win32::Spawn(COMMAND, ARGS, +PID), Win32::UnregisterServer(LIBRARYNAME) + +=back + +=back + =head2 XSLoader - Dynamically load C libraries into Perl code =over