4 perltoc - perl documentation table of contents
8 This page provides a brief table of contents for the rest of the Perl
9 documentation set. It is meant to be scanned quickly or grepped
10 through to locate the proper section you're looking for.
12 =head1 BASIC DOCUMENTATION
14 =head2 perl - Practical Extraction and Report Language
22 modularity and reusability using innumerable modules, embeddable and
23 extensible, roll-your-own magic variables (including multiple simultaneous
24 DBM implementations), subroutines can now be overridden, autoloaded, and
25 prototyped, arbitrarily nested data structures and anonymous functions,
26 object-oriented programming, compilability into C code or Perl bytecode,
27 support for light-weight processes (threads), support for
28 internationalization, localization, and Unicode, lexical scoping, regular
29 expression enhancements, enhanced debugger and interactive Perl
30 environment, with integrated editor support, POSIX 1003.1 compliant library
50 =head2 perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
57 perlfaq: Structural overview of the FAQ, L<perlfaq1>: General Questions
58 About Perl, What is Perl?, Who supports Perl? Who develops it? Why is it
59 free?, Which version of Perl should I use?, What are perl4 and perl5?, What
60 is perl6?, How stable is Perl?, Is Perl difficult to learn?, How does Perl
61 compare with other languages like Java, Python, REXX, Scheme, or Tcl?, Can
62 I do [task] in Perl?, When shouldn't I program in Perl?, What's the
63 difference between "perl" and "Perl"?, Is it a Perl program or a Perl
64 script?, What is a JAPH?, Where can I get a list of Larry Wall witticisms?,
65 How can I convince my sysadmin/supervisor/employees to use version
66 (5/5.005/Perl instead of some other language)?, L<perlfaq2>: Obtaining and
67 Learning about Perl, What machines support Perl? Where do I get it?, How
68 can I get a binary version of Perl?, I don't have a C compiler on my
69 system. How can I compile perl?, I copied the Perl binary from one machine
70 to another, but scripts don't work, I grabbed the sources and tried to
71 compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make
72 it work?, What modules and extensions are available for Perl? What is
73 CPAN? What does CPAN/src/... mean?, Is there an ISO or ANSI certified
74 version of Perl?, Where can I get information on Perl?, What are the Perl
75 newsgroups on USENET? Where do I post questions?, Where should I post
76 source code?, Perl Books, Perl in Magazines, Perl on the Net: FTP and WWW
77 Access, What mailing lists are there for perl?, Archives of
78 comp.lang.perl.misc, Where can I buy a commercial version of Perl?, Where
79 do I send bug reports?, What is perl.com?, L<perlfaq3>: Programming Tools,
80 How do I do (anything)?, How can I use Perl interactively?, Is there a Perl
81 shell?, How do I debug my Perl programs?, How do I profile my Perl
82 programs?, How do I cross-reference my Perl programs?, Is there a
83 pretty-printer (formatter) for Perl?, Is there a ctags for Perl?, Is there
84 an IDE or Windows Perl Editor?, Where can I get Perl macros for vi?, Where
85 can I get perl-mode for emacs?, How can I use curses with Perl?, How can I
86 use X or Tk with Perl?, How can I generate simple menus without using CGI
87 or Tk?, What is undump?, How can I make my Perl program run faster?, How
88 can I make my Perl program take less memory?, Is it unsafe to return a
89 pointer to local data?, How can I free an array or hash so my program
90 shrinks?, How can I make my CGI script more efficient?, How can I hide the
91 source for my Perl program?, How can I compile my Perl program into byte
92 code or C?, How can I compile Perl into Java?, How can I get C<#!perl> to
93 work on [MS-DOS,NT,...]?, Can I write useful perl programs on the command
94 line?, Why don't perl one-liners work on my DOS/Mac/VMS system?, Where can
95 I learn about CGI or Web programming in Perl?, Where can I learn about
96 object-oriented Perl programming?, Where can I learn about linking C with
97 Perl? [h2xs, xsubpp], I've read perlembed, perlguts, etc., but I can't
98 embed perl in my C program, what am I doing wrong?, When I tried to run my
99 script, I got this message. What does it mean?, What's MakeMaker?,
100 L<perlfaq4>: Data Manipulation, Why am I getting long decimals (eg,
101 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?,
102 Why isn't my octal data interpreted correctly?, Does Perl have a round()
103 function? What about ceil() and floor()? Trig functions?, How do I
104 convert bits into ints?, Why doesn't & work the way I want it to?, How do I
105 multiply matrices?, How do I perform an operation on a series of integers?,
106 How can I output Roman numerals?, Why aren't my random numbers random?, How
107 do I find the week-of-the-year/day-of-the-year?, How do I find the current
108 century or millennium?, How can I compare two dates and find the
109 difference?, How can I take a string and turn it into epoch seconds?, How
110 can I find the Julian Day?, How do I find yesterday's date?, Does Perl have
111 a year 2000 problem? Is Perl Y2K compliant?, How do I validate input?, How
112 do I unescape a string?, How do I remove consecutive pairs of characters?,
113 How do I expand function calls in a string?, How do I find matching/nesting
114 anything?, How do I reverse a string?, How do I expand tabs in a string?,
115 How do I reformat a paragraph?, How can I access/change the first N letters
116 of a string?, How do I change the Nth occurrence of something?, How can I
117 count the number of occurrences of a substring within a string?, How do I
118 capitalize all the words on one line?, How can I split a [character]
119 delimited string except when inside [character]? (Comma-separated files),
120 How do I strip blank space from the beginning/end of a string?, How do I
121 pad a string with blanks or pad a number with zeroes?, How do I extract
122 selected columns from a string?, How do I find the soundex value of a
123 string?, How can I expand variables in text strings?, What's wrong with
124 always quoting "$vars"?, Why don't my <<HERE documents work?, What is the
125 difference between a list and an array?, What is the difference between
126 $array[1] and @array[1]?, How can I remove duplicate elements from a list
127 or array?, How can I tell whether a list or array contains a certain
128 element?, How do I compute the difference of two arrays? How do I compute
129 the intersection of two arrays?, How do I test whether two arrays or hashes
130 are equal?, How do I find the first array element for which a condition is
131 true?, How do I handle linked lists?, How do I handle circular lists?, How
132 do I shuffle an array randomly?, How do I process/modify each element of an
133 array?, How do I select a random element from an array?, How do I permute N
134 elements of a list?, How do I sort an array by (anything)?, How do I
135 manipulate arrays of bits?, Why does defined() return true on empty arrays
136 and hashes?, How do I process an entire hash?, What happens if I add or
137 remove keys from a hash while iterating over it?, How do I look up a hash
138 element by value?, How can I know how many entries are in a hash?, How do I
139 sort a hash (optionally by value instead of key)?, How can I always keep my
140 hash sorted?, What's the difference between "delete" and "undef" with
141 hashes?, Why don't my tied hashes make the defined/exists distinction?, How
142 do I reset an each() operation part-way through?, How can I get the unique
143 keys from two hashes?, How can I store a multidimensional array in a DBM
144 file?, How can I make my hash remember the order I put elements into it?,
145 Why does passing a subroutine an undefined element in a hash create it?,
146 How can I make the Perl equivalent of a C structure/C++ class/hash or array
147 of hashes or arrays?, How can I use a reference as a hash key?, How do I
148 handle binary data correctly?, How do I determine whether a scalar is a
149 number/whole/integer/float?, How do I keep persistent data across program
150 calls?, How do I print out or copy a recursive data structure?, How do I
151 define methods for every class/object?, How do I verify a credit card
152 checksum?, How do I pack arrays of doubles or floats for XS code?,
153 L<perlfaq5>: Files and Formats, How do I flush/unbuffer an output
154 filehandle? Why must I do this?, How do I change one line in a file/delete
155 a line in a file/insert a line in the middle of a file/append to the
156 beginning of a file?, How do I count the number of lines in a file?, How do
157 I make a temporary file name?, How can I manipulate fixed-record-length
158 files?, How can I make a filehandle local to a subroutine? How do I pass
159 filehandles between subroutines? How do I make an array of filehandles?,
160 How can I use a filehandle indirectly?, How can I set up a footer format to
161 be used with write()?, How can I write() into a string?, How can I output
162 my numbers with commas added?, How can I translate tildes (~) in a
163 filename?, How come when I open a file read-write it wipes it out?, Why do
164 I sometimes get an "Argument list too long" when I use <*>?, Is there a
165 leak/bug in glob()?, How can I open a file with a leading ">" or trailing
166 blanks?, How can I reliably rename a file?, How can I lock a file?, Why
167 can't I just open(FH, ">file.lock")?, I still don't get locking. I just
168 want to increment the number in the file. How can I do this?, How do I
169 randomly update a binary file?, How do I get a file's timestamp in perl?,
170 How do I set a file's timestamp in perl?, How do I print to more than one
171 file at once?, How can I read in an entire file all at once?, How can I
172 read in a file by paragraphs?, How can I read a single character from a
173 file? From the keyboard?, How can I tell whether there's a character
174 waiting on a filehandle?, How do I do a C<tail -f> in perl?, How do I dup()
175 a filehandle in Perl?, How do I close a file descriptor by number?, Why
176 can't I use "C:\temp\foo" in DOS paths? What doesn't `C:\temp\foo.exe`
177 work?, Why doesn't glob("*.*") get all the files?, Why does Perl let me
178 delete read-only files? Why does C<-i> clobber protected files? Isn't
179 this a bug in Perl?, How do I select a random line from a file?, Why do I
180 get weird spaces when I print an array of lines?, L<perlfaq6>: Regexps, How
181 can I hope to use regular expressions without creating illegible and
182 unmaintainable code?, I'm having trouble matching over more than one line.
183 What's wrong?, How can I pull out lines between two patterns that are
184 themselves on different lines?, I put a regular expression into $/ but it
185 didn't work. What's wrong?, How do I substitute case insensitively on the
186 LHS, but preserving case on the RHS?, How can I make C<\w> match national
187 character sets?, How can I match a locale-smart version of C</[a-zA-Z]/>?,
188 How can I quote a variable to use in a regex?, What is C</o> really for?,
189 How do I use a regular expression to strip C style comments from a file?,
190 Can I use Perl regular expressions to match balanced text?, What does it
191 mean that regexes are greedy? How can I get around it?, How do I process
192 each word on each line?, How can I print out a word-frequency or
193 line-frequency summary?, How can I do approximate matching?, How do I
194 efficiently match many regular expressions at once?, Why don't
195 word-boundary searches with C<\b> work for me?, Why does using $&, $`, or
196 $' slow my program down?, What good is C<\G> in a regular expression?, Are
197 Perl regexes DFAs or NFAs? Are they POSIX compliant?, What's wrong with
198 using grep or map in a void context?, How can I match strings with
199 multibyte characters?, How do I match a pattern that is supplied by the
200 user?, L<perlfaq7>: General Perl Language Issues, Can I get a BNF/yacc/RE
201 for the Perl language?, What are all these $@%&* punctuation signs, and how
202 do I know when to use them?, Do I always/never have to quote my strings or
203 use semicolons and commas?, How do I skip some return values?, How do I
204 temporarily block warnings?, What's an extension?, Why do Perl operators
205 have different precedence than C operators?, How do I declare/create a
206 structure?, How do I create a module?, How do I create a class?, How can I
207 tell if a variable is tainted?, What's a closure?, What is variable suicide
208 and how can I prevent it?, How can I pass/return a {Function, FileHandle,
209 Array, Hash, Method, Regex}?, How do I create a static variable?, What's
210 the difference between dynamic and lexical (static) scoping? Between
211 local() and my()?, How can I access a dynamic variable while a similarly
212 named lexical is in scope?, What's the difference between deep and shallow
213 binding?, Why doesn't "my($foo) = <FILE>;" work right?, How do I redefine a
214 builtin function, operator, or method?, What's the difference between
215 calling a function as &foo and foo()?, How do I create a switch or case
216 statement?, How can I catch accesses to undefined
217 variables/functions/methods?, Why can't a method included in this same file
218 be found?, How can I find out my current package?, How can I comment out a
219 large block of perl code?, How do I clear a package?, How can I use a
220 variable as a variable name?, L<perlfaq8>: System Interaction, How do I
221 find out which operating system I'm running under?, How come exec() doesn't
222 return?, How do I do fancy stuff with the keyboard/screen/mouse?, How do I
223 print something out in color?, How do I read just one key without waiting
224 for a return key?, How do I check whether input is ready on the keyboard?,
225 How do I clear the screen?, How do I get the screen size?, How do I ask the
226 user for a password?, How do I read and write the serial port?, How do I
227 decode encrypted password files?, How do I start a process in the
228 background?, How do I trap control characters/signals?, How do I modify the
229 shadow password file on a Unix system?, How do I set the time and date?,
230 How can I sleep() or alarm() for under a second?, How can I measure time
231 under a second?, How can I do an atexit() or setjmp()/longjmp()? (Exception
232 handling), Why doesn't my sockets program work under System V (Solaris)?
233 What does the error message "Protocol not supported" mean?, How can I call
234 my system's unique C functions from Perl?, Where do I get the include files
235 to do ioctl() or syscall()?, Why do setuid perl scripts complain about
236 kernel problems?, How can I open a pipe both to and from a command?, Why
237 can't I get the output of a command with system()?, How can I capture
238 STDERR from an external command?, Why doesn't open() return an error when a
239 pipe open fails?, What's wrong with using backticks in a void context?, How
240 can I call backticks without shell processing?, Why can't my script read
241 from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?, How can I
242 convert my shell script to perl?, Can I use perl to run a telnet or ftp
243 session?, How can I write expect in Perl?, Is there a way to hide perl's
244 command line from programs such as "ps"?, I {changed directory, modified my
245 environment} in a perl script. How come the change disappeared when I
246 exited the script? How do I get my changes to be visible?, How do I close
247 a process's filehandle without waiting for it to complete?, How do I fork a
248 daemon process?, How do I make my program run with sh and csh?, How do I
249 find out if I'm running interactively or not?, How do I timeout a slow
250 event?, How do I set CPU limits?, How do I avoid zombies on a Unix system?,
251 How do I use an SQL database?, How do I make a system() exit on control-C?,
252 How do I open a file without blocking?, How do I install a module from
253 CPAN?, What's the difference between require and use?, How do I keep my own
254 module/library directory?, How do I add the directory my program lives in
255 to the module/library search path?, How do I add a directory to my include
256 path at runtime?, What is socket.ph and where do I get it?, L<perlfaq9>:
257 Networking, My CGI script runs from the command line but not the browser.
258 (500 Server Error), How can I get better error messages from a CGI
259 program?, How do I remove HTML from a string?, How do I extract URLs?, How
260 do I download a file from the user's machine? How do I open a file on
261 another machine?, How do I make a pop-up menu in HTML?, How do I fetch an
262 HTML file?, How do I automate an HTML form submission?, How do I decode or
263 create those %-encodings on the web?, How do I redirect to another page?,
264 How do I put a password on my web pages?, How do I edit my .htpasswd and
265 .htgroup files with Perl?, How do I make sure users can't enter values into
266 a form that cause my CGI script to do bad things?, How do I parse a mail
267 header?, How do I decode a CGI form?, How do I check a valid mail address?,
268 How do I decode a MIME/BASE64 string?, How do I return the user's mail
269 address?, How do I send mail?, How do I read mail?, How do I find out my
270 hostname/domainname/IP address?, How do I fetch a news article or the
271 active newsgroups?, How do I fetch/put an FTP file?, How can I do RPC in
276 =item Where to get this document
278 =item How to contribute to this document
280 =item What will happen if you mail your Perl programming problems to the
287 =item Author and Copyright Information
291 =item Bundled Distributions
299 23/May/99, 13/April/99, 7/January/99, 22/June/98, 24/April/97, 23/April/97,
300 25/March/97, 18/March/97, 17/March/97 Version, Initial Release: 11/March/97
304 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date:
305 1999/05/23 16:08:30 $)
315 =item Who supports Perl? Who develops it? Why is it free?
317 =item Which version of Perl should I use?
319 =item What are perl4 and perl5?
323 =item How stable is Perl?
325 =item Is Perl difficult to learn?
327 =item How does Perl compare with other languages like Java, Python, REXX,
330 =item Can I do [task] in Perl?
332 =item When shouldn't I program in Perl?
334 =item What's the difference between "perl" and "Perl"?
336 =item Is it a Perl program or a Perl script?
338 =item What is a JAPH?
340 =item Where can I get a list of Larry Wall witticisms?
342 =item How can I convince my sysadmin/supervisor/employees to use version
343 (5/5.005/Perl instead of some other language)?
347 =item AUTHOR AND COPYRIGHT
351 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $,
352 $Date: 1999/10/14 18:46:09 $)
360 =item What machines support Perl? Where do I get it?
362 =item How can I get a binary version of Perl?
364 =item I don't have a C compiler on my system. How can I compile perl?
366 =item I copied the Perl binary from one machine to another, but scripts
369 =item I grabbed the sources and tried to compile but gdbm/dynamic
370 loading/malloc/linking/... failed. How do I make it work?
372 =item What modules and extensions are available for Perl? What is CPAN?
373 What does CPAN/src/... mean?
375 =item Is there an ISO or ANSI certified version of Perl?
377 =item Where can I get information on Perl?
379 =item What are the Perl newsgroups on Usenet? Where do I post questions?
381 =item Where should I post source code?
385 References, Tutorials, Task-Oriented, Special Topics
387 =item Perl in Magazines
389 =item Perl on the Net: FTP and WWW Access
391 =item What mailing lists are there for Perl?
393 =item Archives of comp.lang.perl.misc
395 =item Where can I buy a commercial version of Perl?
397 =item Where do I send bug reports?
399 =item What is perl.com? Perl Mongers? pm.org? perl.org?
403 =item AUTHOR AND COPYRIGHT
407 =head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23
416 =item How do I do (anything)?
418 =item How can I use Perl interactively?
420 =item Is there a Perl shell?
422 =item How do I debug my Perl programs?
424 =item How do I profile my Perl programs?
426 =item How do I cross-reference my Perl programs?
428 =item Is there a pretty-printer (formatter) for Perl?
430 =item Is there a ctags for Perl?
432 =item Is there an IDE or Windows Perl Editor?
434 =item Where can I get Perl macros for vi?
436 =item Where can I get perl-mode for emacs?
438 =item How can I use curses with Perl?
440 =item How can I use X or Tk with Perl?
442 =item How can I generate simple menus without using CGI or Tk?
444 =item What is undump?
446 =item How can I make my Perl program run faster?
448 =item How can I make my Perl program take less memory?
450 =item Is it unsafe to return a pointer to local data?
452 =item How can I free an array or hash so my program shrinks?
454 =item How can I make my CGI script more efficient?
456 =item How can I hide the source for my Perl program?
458 =item How can I compile my Perl program into byte code or C?
460 =item How can I compile Perl into Java?
462 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
464 =item Can I write useful Perl programs on the command line?
466 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
468 =item Where can I learn about CGI or Web programming in Perl?
470 =item Where can I learn about object-oriented Perl programming?
472 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
474 =item I've read perlembed, perlguts, etc., but I can't embed perl in
475 my C program, what am I doing wrong?
477 =item When I tried to run my script, I got this message. What does it
480 =item What's MakeMaker?
484 =item AUTHOR AND COPYRIGHT
488 =head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23
499 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
500 numbers I should be getting (eg, 19.95)?
502 =item Why isn't my octal data interpreted correctly?
504 =item Does Perl have a round() function? What about ceil() and floor()?
507 =item How do I convert bits into ints?
509 =item Why doesn't & work the way I want it to?
511 =item How do I multiply matrices?
513 =item How do I perform an operation on a series of integers?
515 =item How can I output Roman numerals?
517 =item Why aren't my random numbers random?
525 =item How do I find the week-of-the-year/day-of-the-year?
527 =item How do I find the current century or millennium?
529 =item How can I compare two dates and find the difference?
531 =item How can I take a string and turn it into epoch seconds?
533 =item How can I find the Julian Day?
535 =item How do I find yesterday's date?
537 =item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
545 =item How do I validate input?
547 =item How do I unescape a string?
549 =item How do I remove consecutive pairs of characters?
551 =item How do I expand function calls in a string?
553 =item How do I find matching/nesting anything?
555 =item How do I reverse a string?
557 =item How do I expand tabs in a string?
559 =item How do I reformat a paragraph?
561 =item How can I access/change the first N letters of a string?
563 =item How do I change the Nth occurrence of something?
565 =item How can I count the number of occurrences of a substring within a
568 =item How do I capitalize all the words on one line?
570 =item How can I split a [character] delimited string except when inside
571 [character]? (Comma-separated files)
573 =item How do I strip blank space from the beginning/end of a string?
575 =item How do I pad a string with blanks or pad a number with zeroes?
577 =item How do I extract selected columns from a string?
579 =item How do I find the soundex value of a string?
581 =item How can I expand variables in text strings?
583 =item What's wrong with always quoting "$vars"?
585 =item Why don't my <<HERE documents work?
587 1. There must be no space after the << part, 2. There (probably) should be
588 a semicolon at the end, 3. You can't (easily) have any space in front of
597 =item What is the difference between a list and an array?
599 =item What is the difference between $array[1] and @array[1]?
601 =item How can I remove duplicate elements from a list or array?
603 a) If @in is sorted, and you want @out to be sorted: (this assumes all true
604 values in the array), b) If you don't know whether @in is sorted:, c) Like
605 (b), but @in contains only small integers:, d) A way to do (b) without any
606 loops or greps:, e) Like (d), but @in contains only small positive
609 =item How can I tell whether a list or array contains a certain element?
611 =item How do I compute the difference of two arrays? How do I compute the
612 intersection of two arrays?
614 =item How do I test whether two arrays or hashes are equal?
616 =item How do I find the first array element for which a condition is true?
618 =item How do I handle linked lists?
620 =item How do I handle circular lists?
622 =item How do I shuffle an array randomly?
624 =item How do I process/modify each element of an array?
626 =item How do I select a random element from an array?
628 =item How do I permute N elements of a list?
630 =item How do I sort an array by (anything)?
632 =item How do I manipulate arrays of bits?
634 =item Why does defined() return true on empty arrays and hashes?
638 =item Data: Hashes (Associative Arrays)
642 =item How do I process an entire hash?
644 =item What happens if I add or remove keys from a hash while iterating over
647 =item How do I look up a hash element by value?
649 =item How can I know how many entries are in a hash?
651 =item How do I sort a hash (optionally by value instead of key)?
653 =item How can I always keep my hash sorted?
655 =item What's the difference between "delete" and "undef" with hashes?
657 =item Why don't my tied hashes make the defined/exists distinction?
659 =item How do I reset an each() operation part-way through?
661 =item How can I get the unique keys from two hashes?
663 =item How can I store a multidimensional array in a DBM file?
665 =item How can I make my hash remember the order I put elements into it?
667 =item Why does passing a subroutine an undefined element in a hash create
670 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
671 array of hashes or arrays?
673 =item How can I use a reference as a hash key?
681 =item How do I handle binary data correctly?
683 =item How do I determine whether a scalar is a number/whole/integer/float?
685 =item How do I keep persistent data across program calls?
687 =item How do I print out or copy a recursive data structure?
689 =item How do I define methods for every class/object?
691 =item How do I verify a credit card checksum?
693 =item How do I pack arrays of doubles or floats for XS code?
697 =item AUTHOR AND COPYRIGHT
701 =head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23
710 =item How do I flush/unbuffer an output filehandle? Why must I do this?
712 =item How do I change one line in a file/delete a line in a file/insert a
713 line in the middle of a file/append to the beginning of a file?
715 =item How do I count the number of lines in a file?
717 =item How do I make a temporary file name?
719 =item How can I manipulate fixed-record-length files?
721 =item How can I make a filehandle local to a subroutine? How do I pass
722 filehandles between subroutines? How do I make an array of filehandles?
724 =item How can I use a filehandle indirectly?
726 =item How can I set up a footer format to be used with write()?
728 =item How can I write() into a string?
730 =item How can I output my numbers with commas added?
732 =item How can I translate tildes (~) in a filename?
734 =item How come when I open a file read-write it wipes it out?
736 =item Why do I sometimes get an "Argument list too long" when I use <*>?
738 =item Is there a leak/bug in glob()?
740 =item How can I open a file with a leading ">" or trailing blanks?
742 =item How can I reliably rename a file?
744 =item How can I lock a file?
746 =item Why can't I just open(FH, ">file.lock")?
748 =item I still don't get locking. I just want to increment the number in
749 the file. How can I do this?
751 =item How do I randomly update a binary file?
753 =item How do I get a file's timestamp in perl?
755 =item How do I set a file's timestamp in perl?
757 =item How do I print to more than one file at once?
759 =item How can I read in an entire file all at once?
761 =item How can I read in a file by paragraphs?
763 =item How can I read a single character from a file? From the keyboard?
765 =item How can I tell whether there's a character waiting on a filehandle?
767 =item How do I do a C<tail -f> in perl?
769 =item How do I dup() a filehandle in Perl?
771 =item How do I close a file descriptor by number?
773 =item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
774 `C:\temp\foo.exe` work?
776 =item Why doesn't glob("*.*") get all the files?
778 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
779 protected files? Isn't this a bug in Perl?
781 =item How do I select a random line from a file?
783 =item Why do I get weird spaces when I print an array of lines?
787 =item AUTHOR AND COPYRIGHT
791 =head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
799 =item How can I hope to use regular expressions without creating illegible
800 and unmaintainable code?
802 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
804 =item I'm having trouble matching over more than one line. What's wrong?
806 =item How can I pull out lines between two patterns that are themselves on
809 =item I put a regular expression into $/ but it didn't work. What's wrong?
811 =item How do I substitute case insensitively on the LHS, but preserving
814 =item How can I make C<\w> match national character sets?
816 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
818 =item How can I quote a variable to use in a regex?
820 =item What is C</o> really for?
822 =item How do I use a regular expression to strip C style comments from a
825 =item Can I use Perl regular expressions to match balanced text?
827 =item What does it mean that regexes are greedy? How can I get around it?
829 =item How do I process each word on each line?
831 =item How can I print out a word-frequency or line-frequency summary?
833 =item How can I do approximate matching?
835 =item How do I efficiently match many regular expressions at once?
837 =item Why don't word-boundary searches with C<\b> work for me?
839 =item Why does using $&, $`, or $' slow my program down?
841 =item What good is C<\G> in a regular expression?
843 =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
845 =item What's wrong with using grep or map in a void context?
847 =item How can I match strings with multibyte characters?
849 =item How do I match a pattern that is supplied by the user?
853 =item AUTHOR AND COPYRIGHT
857 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date:
858 1999/05/23 20:36:18 $)
866 =item Can I get a BNF/yacc/RE for the Perl language?
868 =item What are all these $@%&* punctuation signs, and how do I know when to
871 =item Do I always/never have to quote my strings or use semicolons and
874 =item How do I skip some return values?
876 =item How do I temporarily block warnings?
878 =item What's an extension?
880 =item Why do Perl operators have different precedence than C operators?
882 =item How do I declare/create a structure?
884 =item How do I create a module?
886 =item How do I create a class?
888 =item How can I tell if a variable is tainted?
890 =item What's a closure?
892 =item What is variable suicide and how can I prevent it?
894 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
897 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
900 =item How do I create a static variable?
902 =item What's the difference between dynamic and lexical (static) scoping?
903 Between local() and my()?
905 =item How can I access a dynamic variable while a similarly named lexical
908 =item What's the difference between deep and shallow binding?
910 =item Why doesn't "my($foo) = <FILE>;" work right?
912 =item How do I redefine a builtin function, operator, or method?
914 =item What's the difference between calling a function as &foo and foo()?
916 =item How do I create a switch or case statement?
918 =item How can I catch accesses to undefined variables/functions/methods?
920 =item Why can't a method included in this same file be found?
922 =item How can I find out my current package?
924 =item How can I comment out a large block of perl code?
926 =item How do I clear a package?
928 =item How can I use a variable as a variable name?
932 =item AUTHOR AND COPYRIGHT
936 =head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23
945 =item How do I find out which operating system I'm running under?
947 =item How come exec() doesn't return?
949 =item How do I do fancy stuff with the keyboard/screen/mouse?
951 Keyboard, Screen, Mouse
953 =item How do I print something out in color?
955 =item How do I read just one key without waiting for a return key?
957 =item How do I check whether input is ready on the keyboard?
959 =item How do I clear the screen?
961 =item How do I get the screen size?
963 =item How do I ask the user for a password?
965 =item How do I read and write the serial port?
967 lockfiles, open mode, end of line, flushing output, non-blocking input
969 =item How do I decode encrypted password files?
971 =item How do I start a process in the background?
973 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
975 =item How do I trap control characters/signals?
977 =item How do I modify the shadow password file on a Unix system?
979 =item How do I set the time and date?
981 =item How can I sleep() or alarm() for under a second?
983 =item How can I measure time under a second?
985 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
987 =item Why doesn't my sockets program work under System V (Solaris)? What
988 does the error message "Protocol not supported" mean?
990 =item How can I call my system's unique C functions from Perl?
992 =item Where do I get the include files to do ioctl() or syscall()?
994 =item Why do setuid perl scripts complain about kernel problems?
996 =item How can I open a pipe both to and from a command?
998 =item Why can't I get the output of a command with system()?
1000 =item How can I capture STDERR from an external command?
1002 =item Why doesn't open() return an error when a pipe open fails?
1004 =item What's wrong with using backticks in a void context?
1006 =item How can I call backticks without shell processing?
1008 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1011 =item How can I convert my shell script to perl?
1013 =item Can I use perl to run a telnet or ftp session?
1015 =item How can I write expect in Perl?
1017 =item Is there a way to hide perl's command line from programs such as
1020 =item I {changed directory, modified my environment} in a perl script. How
1021 come the change disappeared when I exited the script? How do I get my
1022 changes to be visible?
1026 =item How do I close a process's filehandle without waiting for it to
1029 =item How do I fork a daemon process?
1031 =item How do I make my program run with sh and csh?
1033 =item How do I find out if I'm running interactively or not?
1035 =item How do I timeout a slow event?
1037 =item How do I set CPU limits?
1039 =item How do I avoid zombies on a Unix system?
1041 =item How do I use an SQL database?
1043 =item How do I make a system() exit on control-C?
1045 =item How do I open a file without blocking?
1047 =item How do I install a module from CPAN?
1049 =item What's the difference between require and use?
1051 =item How do I keep my own module/library directory?
1053 =item How do I add the directory my program lives in to the module/library
1056 =item How do I add a directory to my include path at runtime?
1058 =item What is socket.ph and where do I get it?
1062 =item AUTHOR AND COPYRIGHT
1066 =head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30
1075 =item My CGI script runs from the command line but not the browser. (500
1078 =item How can I get better error messages from a CGI program?
1080 =item How do I remove HTML from a string?
1082 =item How do I extract URLs?
1084 =item How do I download a file from the user's machine? How do I open a
1085 file on another machine?
1087 =item How do I make a pop-up menu in HTML?
1089 =item How do I fetch an HTML file?
1091 =item How do I automate an HTML form submission?
1093 =item How do I decode or create those %-encodings on the web?
1095 =item How do I redirect to another page?
1097 =item How do I put a password on my web pages?
1099 =item How do I edit my .htpasswd and .htgroup files with Perl?
1101 =item How do I make sure users can't enter values into a form that cause my
1102 CGI script to do bad things?
1104 =item How do I parse a mail header?
1106 =item How do I decode a CGI form?
1108 =item How do I check a valid mail address?
1110 =item How do I decode a MIME/BASE64 string?
1112 =item How do I return the user's mail address?
1114 =item How do I send mail?
1116 =item How do I read mail?
1118 =item How do I find out my hostname/domainname/IP address?
1120 =item How do I fetch a news article or the active newsgroups?
1122 =item How do I fetch/put an FTP file?
1124 =item How can I do RPC in Perl?
1128 =item AUTHOR AND COPYRIGHT
1132 =head2 perldelta - what's new for perl v5.6.0
1138 =item Core Enhancements
1142 =item Interpreter cloning, threads, and concurrency
1144 =item Lexically scoped warning categories
1146 =item Unicode and UTF-8 support
1148 =item Support for interpolating named characters
1150 =item "our" declarations
1152 =item Support for strings represented as a vector of ordinals
1154 =item Improved Perl version numbering system
1156 =item New syntax for declaring subroutine attributes
1158 =item File and directory handles can be autovivified
1160 =item open() with more than two arguments
1162 =item 64-bit support
1164 =item Large file support
1170 =item Enhanced support for sort() subroutines
1172 =item C<sort $coderef @foo> allowed
1174 =item File globbing implemented internally
1176 Support for CHECK blocks
1178 =item POSIX character class syntax [: :] supported
1180 Better pseudo-random number generator
1182 =item Improved C<qw//> operator
1184 Better worst-case behavior of hashes
1186 =item pack() format 'Z' supported
1188 =item pack() format modifier '!' supported
1190 =item pack() and unpack() support counted strings
1192 =item Comments in pack() templates
1194 =item Weak references
1196 =item Binary numbers supported
1198 =item Lvalue subroutines
1200 =item Some arrows may be omitted in calls through references
1202 =item Boolean assignment operators are legal lvalues
1204 =item exists() is supported on subroutine names
1206 =item exists() and delete() are supported on array elements
1208 =item Pseudo-hashes work better
1210 =item Automatic flushing of output buffers
1212 =item Better diagnostics on meaningless filehandle operations
1214 =item Where possible, buffered data discarded from duped input filehandle
1216 =item eof() has the same old magic as <>
1218 =item binmode() can be used to set :crlf and :raw modes
1220 =item C<-T> filetest recognizes UTF-8 encoded files as "text"
1222 =item system(), backticks and pipe open now reflect exec() failure
1224 =item Improved diagnostics
1226 =item Diagnostics follow STDERR
1228 More consistent close-on-exec behavior
1230 =item syswrite() ease-of-use
1232 =item Better syntax checks on parenthesized unary operators
1234 =item Bit operators support full native integer width
1236 =item Improved security features
1238 More functional bareword prototype (*)
1240 =item C<require> and C<do> may be overridden
1242 =item $^X variables may now have names longer than one character
1244 =item New variable $^C reflects C<-c> switch
1246 =item New variable $^V contains Perl version as a string
1248 =item Optional Y2K warnings
1252 =item Modules and Pragmata
1258 attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper,
1259 DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English,
1260 Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
1261 File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
1262 Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker,
1263 podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage,
1264 pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname,
1265 Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
1271 =item Utility Changes
1285 =item The Perl Debugger
1289 =item Improved Documentation
1291 perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod,
1292 perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod,
1293 perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod,
1294 perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
1296 =item Performance enhancements
1300 =item Simple sort() using { $a <=> $b } and the like are optimized
1302 =item Optimized assignments to lexical variables
1304 =item Faster subroutine calls
1306 delete(), each(), values() and hash iteration are faster
1310 =item Installation and Configuration Improvements
1314 =item -Dusethreads means something different
1316 =item New Configure flags
1318 =item Threadedness and 64-bitness now more daring
1324 =item -Duselargefiles
1326 =item installusrbinperl
1332 =item Enhanced Installation Directories
1336 =item Platform specific changes
1340 =item Supported platforms
1344 =item OS390 (OpenEdition MVS)
1352 =item Significant bug fixes
1356 =item <HANDLE> on empty files
1358 =item C<eval '...'> improvements
1360 =item All compilation errors are true errors
1362 =item Implicitly closed filehandles are safer
1364 =item Behavior of list slices is more consistent
1366 =item C<(\$)> prototype and C<$foo{a}>
1368 =item C<goto &sub> and AUTOLOAD
1370 =item C<-bareword> allowed under C<use integer>
1372 =item Failures in DESTROY()
1374 =item Locale bugs fixed
1378 =item Spurious subroutine stubs after failed subroutine calls
1380 =item Taint failures under C<-U>
1382 =item END blocks and the C<-c> switch
1384 =item Potential to leak DATA filehandles
1388 =item New or Changed Diagnostics
1390 (perhaps you forgot to load "%s"?), "%s" variable %s masks earlier
1391 declaration in same %s, "my sub" not yet implemented, "our" variable %s
1392 redeclared, '!' allowed only after types %s, / cannot take a count, / must
1393 be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow
1394 a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/:
1395 Unrecognized escape \\%c in character class passed through, /%s/ should
1396 probably be written as "%s", %s() called too early to check prototype, %s
1397 argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY
1398 element or slice, %s argument is not a subroutine name, %s package
1399 attribute may clash with future reserved word: %s, (in cleanup) %s, <>
1400 should be quotes, Attempt to join self, Bad evalled substitution pattern,
1401 Bad realloc() ignored, Bareword found in conditional, Binary number >
1402 0b11111111111111111111111111111111 non-portable, Bit vector size > 32
1403 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem
1404 of script "%s", Can't declare class for non-scalar %s in "%s", Can't
1405 declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't
1406 modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove
1407 %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken
1408 a nonreference, Character class [:%s:] unknown, Character class syntax [%s]
1409 belongs inside character classes, Constant is not %s reference,
1410 constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
1411 defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
1412 "local" instead of "our"?), Document contains no data, entering effective
1413 %s failed, false [] range "%s" in regexp, Filehandle %s opened only for
1414 output, flock() on closed filehandle %s, Global symbol "%s" requires
1415 explicit package name, Hexadecimal number > 0xffffffff non-portable,
1416 Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter:
1417 |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
1418 number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
1419 %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid
1420 separator character %s in attribute list, Invalid separator character %s in
1421 subroutine attribute list, leaving effective %s failed, Lvalue subs
1422 returning %s not implemented yet, Method %s not permitted, Missing
1423 %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub",
1424 No %s specified for -%c, No package name allowed for variable %s in "our",
1425 No space allowed after -%c, no UTC offset information; assuming local time
1426 is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
1427 panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
1428 around "%s" list, Possible Y2K bug: %s, pragma "attrs" is deprecated, use
1429 "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count
1430 in pack overflows, Repeat count in unpack overflows, realloc() of freed
1431 memory ignored, Reference is already weak, setpgrp can't take arguments,
1432 Strange *+?{} on zero-length expression, switching effective %s is not
1433 implemented, This Perl can't reset CRTL environ elements (%s), This Perl
1434 can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown
1435 open() mode '%s', Unknown process %x sent message to prime_env_iter: %s,
1436 Unrecognized escape \\%c passed through, Unterminated attribute parameter
1437 in attribute list, Unterminated attribute list, Unterminated attribute
1438 parameter in subroutine attribute list, Unterminated subroutine attribute
1439 list, Value of CLI symbol "%s" too long, Version number must be a constant
1444 =item Incompatible Changes
1448 =item Perl Source Incompatibilities
1450 CHECK is a new keyword, Treatment of list slices of undef has changed
1452 =item Format of $English::PERL_VERSION is different
1454 Literals of the form C<1.2.3> parse differently, Possibly changed
1455 pseudo-random number generator, Hashing function for hash keys has changed,
1456 C<undef> fails on read only values, Close-on-exec bit may be set on pipe
1457 and socket handles, Writing C<"$$1"> to mean C<"${$}1"> is unsupported,
1458 delete(), values() and C<\(%h)> operate on aliases to values, not copies,
1459 vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic
1460 output has changed, C<%@> has been removed, Parenthesized not() behaves
1461 like a list operator, Semantics of bareword prototype C<(*)> have changed
1463 =item Semantics of bit operators may have changed on 64-bit platforms
1465 =item More builtins taint their results
1467 =item C Source Incompatibilities
1469 C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
1471 =item Compatible C Source API Changes
1473 C<PATCHLEVEL> is now C<PERL_VERSION>
1475 =item Binary Incompatibilities
1479 =item Known Problems
1483 =item Thread test failures
1485 =item EBCDIC platforms not supported
1487 =item In 64-bit HP-UX the lib/io_multihomed test may hang
1489 =item NEXTSTEP 3.3 POSIX test failure
1491 =item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with
1494 =item UNICOS/mk CC failures during Configure run
1496 =item Arrow operator and arrays
1500 =item Experimental features
1502 Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
1503 pseudo-hash data type, The Compiler suite, Internal implementation of file
1504 globbing, The DB module, The regular expression constructs C<(?{ code })>
1509 =item Obsolete Diagnostics
1511 Character class syntax [: :] is reserved for future extensions, Ill-formed
1512 logical name |%s| in prime_env_iter, Probable precedence problem on %s,
1513 regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated
1515 =item Reporting Bugs
1523 =head2 perldata - Perl data types
1531 =item Variable names
1537 =item Scalar value constructors
1539 =item List value constructors
1543 =item Typeglobs and Filehandles
1551 =head2 perlsyn - Perl syntax
1561 =item Simple statements
1563 =item Compound statements
1571 =item Basic BLOCKs and Switch Statements
1575 =item PODs: Embedded Documentation
1577 =item Plain Old Comments (Not!)
1583 =head2 perlop - Perl operators and precedence
1593 =item Terms and List Operators (Leftward)
1595 =item The Arrow Operator
1597 =item Auto-increment and Auto-decrement
1599 =item Exponentiation
1601 =item Symbolic Unary Operators
1603 =item Binding Operators
1605 =item Multiplicative Operators
1607 =item Additive Operators
1609 =item Shift Operators
1611 =item Named Unary Operators
1613 =item Relational Operators
1615 =item Equality Operators
1619 =item Bitwise Or and Exclusive Or
1621 =item C-style Logical And
1623 =item C-style Logical Or
1625 =item Range Operators
1627 =item Conditional Operator
1629 =item Assignment Operators
1631 =item Comma Operator
1633 =item List Operators (Rightward)
1639 =item Logical or and Exclusive Or
1641 =item C Operators Missing From Perl
1643 unary &, unary *, (TYPE)
1645 =item Quote and Quote-like Operators
1647 =item Regexp Quote-Like Operators
1649 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
1650 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
1651 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
1652 y/SEARCHLIST/REPLACEMENTLIST/cds
1654 =item Gory details of parsing quoted constructs
1656 Finding the end, Removal of backslashes before delimiters, Interpolation,
1657 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
1658 C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
1659 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
1664 =item Constant Folding
1666 =item Bitwise String Operators
1668 =item Integer Arithmetic
1670 =item Floating-point Arithmetic
1672 =item Bigger Numbers
1678 =head2 perlre - Perl regular expressions
1688 =item Regular Expressions
1690 cntrl, graph, print, punct, xdigit
1692 =item Extended Patterns
1694 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1695 C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
1696 code })>, C<(??{ code })>, C<< (?>pattern) >>,
1697 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
1701 =item Version 8 Regular Expressions
1703 =item Warning on \1 vs $1
1705 =item Repeated patterns matching zero-length substring
1707 =item Combining pieces together
1709 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1710 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
1711 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1712 C<(?(condition)yes-pattern|no-pattern)>
1714 =item Creating custom RE engines
1724 =head2 perlrun - how to execute the Perl interpreter
1734 =item #! and quoting on non-Unix systems
1736 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
1738 =item Location of Perl
1740 =item Command Switches
1742 B<-0>[I<digits>], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I<foo>,
1743 B<-D>I<letters>, B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>,
1744 B<-h>, B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
1745 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
1746 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
1747 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
1754 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
1755 (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL,
1756 PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port)
1760 =head2 perlfunc - Perl builtin functions
1768 =item Perl Functions by Category
1770 Functions for SCALARs or strings, Regular expressions and pattern matching,
1771 Numeric functions, Functions for real @ARRAYs, Functions for list data,
1772 Functions for real %HASHes, Input and output functions, Functions for fixed
1773 length data or records, Functions for filehandles, files, or directories,
1774 Keywords related to the control flow of your perl program, Keywords related
1775 to scoping, Miscellaneous functions, Functions for processes and process
1776 groups, Keywords related to perl modules, Keywords related to classes and
1777 object-orientedness, Low-level socket functions, System V interprocess
1778 communication functions, Fetching user and group info, Fetching network
1779 info, Time-related functions, Functions new in perl5, Functions obsoleted
1784 =item Alphabetical Listing of Perl Functions
1786 I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
1787 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1788 binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME,
1789 bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE,
1790 chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER,
1791 chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
1792 connect SOCKET,NAME, continue BLOCK, cos EXPR, crypt PLAINTEXT,SALT,
1793 dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
1794 EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
1795 each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
1796 exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
1797 FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
1798 fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
1799 getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
1800 NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
1801 NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
1802 ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
1803 getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
1804 getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
1805 STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
1806 endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
1807 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
1808 goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
1809 import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1810 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1811 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1812 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1813 lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK
1814 LIST, map EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl
1815 ID,CMD,ARG, msgget KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd
1816 ID,MSG,FLAGS, my EXPR, my EXPR : ATTRIBUTES, next LABEL, next, no Module
1817 LIST, oct EXPR, oct, open FILEHANDLE,MODE,LIST, open FILEHANDLE,EXPR, open
1818 FILEHANDLE, opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack
1819 TEMPLATE,LIST, package, package NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop
1820 ARRAY, pop, pos SCALAR, pos, print FILEHANDLE LIST, print LIST, print,
1821 printf FILEHANDLE FORMAT, LIST, printf FORMAT, LIST, prototype FUNCTION,
1822 push ARRAY,LIST, q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/,
1823 quotemeta EXPR, quotemeta, rand EXPR, rand, read
1824 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
1825 DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR, recv
1826 SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename
1827 OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset,
1828 return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
1829 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1830 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1831 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1832 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1833 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1834 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1835 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1836 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1837 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
1838 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1839 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1840 splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
1841 /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR,
1842 sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR,
1843 study, sub BLOCK, sub NAME, sub NAME BLOCK, substr
1844 EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
1845 EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
1846 FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
1847 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
1848 FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
1849 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
1850 syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
1851 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
1852 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
1853 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
1854 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
1855 use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
1856 values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
1857 LIST, write FILEHANDLE, write EXPR, write, y///
1863 =head2 perlvar - Perl predefined variables
1871 =item Predefined Names
1873 $ARG, $_, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1874 $LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
1875 input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $,
1876 input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/,
1877 autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE
1878 EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE
1879 EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
1880 $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1881 EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1882 $FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
1883 $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, C<$`> is the same as
1884 C<substr($var, 0, $-[0])>, C<$&> is the same as C<substr($var, $-[0], $+[0]
1885 - $-[0])>, C<$'> is the same as C<substr($var, $+[0])>, C<$1> is the same
1886 as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2> is the same as
1887 C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as C<substr $var,
1888 $-[3], $+[3] - $-[3])>, format_name HANDLE EXPR, $FORMAT_NAME, $~,
1889 format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1890 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1891 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1892 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1893 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1894 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1895 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C,
1896 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M,
1897 $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
1898 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S,
1899 $BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
1900 ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC,
1901 %ENV, $ENV{expr}, %SIG, $SIG{expr}
1903 =item Error Indicators
1905 =item Technical Note on the Syntax of Variable Names
1913 =head2 perlsub - Perl subroutines
1923 =item Private Variables via my()
1925 =item Persistent Private Variables
1927 =item Temporary Values via local()
1929 =item Lvalue subroutines
1931 =item Passing Symbol Table Entries (typeglobs)
1933 =item When to Still Use local()
1935 1. You need to give a global variable a temporary value, especially $_, 2.
1936 You need to create a local file or directory handle or a local function, 3.
1937 You want to temporarily change just one element of an array or hash
1939 =item Pass by Reference
1943 =item Constant Functions
1945 =item Overriding Built-in Functions
1949 =item Subroutine Attributes
1957 =head2 perlmod - Perl modules (packages and symbol tables)
1969 =item Package Constructors and Destructors
1981 =head2 perlmodlib - constructing new Perl modules and finding existing ones
1987 =item THE PERL MODULE LIBRARY
1991 =item Pragmatic Modules
1993 attributes, attrs, autouse, base, blib, bytes, charnames, constant,
1994 diagnostics, fields, filetest, integer, less, locale, open, ops, overload,
1995 re, sigtrap, strict, subs, utf8, vars, warnings
1997 =item Standard Modules
1999 AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
2000 B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
2001 B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI,
2002 CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
2003 CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy,
2004 Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, DirHandle, Dumpvalue,
2005 English, Env, Exporter, Exporter::Heavy, ExtUtils::Command,
2006 ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
2007 ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS,
2008 ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest,
2009 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
2010 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
2011 File::Compare, File::Copy, File::DosGlob, File::Find, File::Path,
2012 File::Spec, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
2013 File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
2014 File::stat, FileCache, FileHandle, FindBin, Getopt::Long, Getopt::Std,
2015 I18N::Collate, IO, IPC::Open2, IPC::Open3, Math::BigFloat, Math::BigInt,
2016 Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent,
2017 Net::protoent, Net::servent, O, ODBM_File, Opcode, Pod::Checker, Pod::Find,
2018 Pod::Html, Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseUtils,
2019 Pod::Parser, Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color,
2020 Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Search::Dict, SelectSaver,
2021 SelfLoader, Shell, Socket, Symbol, Term::ANSIColor, Term::Cap,
2022 Term::Complete, Term::ReadLine, Test, Test::Harness, Text::Abbrev,
2023 Text::ParseWords, Text::Soundex, Text::Wrap, Tie::Array, Tie::Handle,
2024 Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local,
2025 Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, User::grent,
2028 =item Extension Modules
2034 Language Extensions and Documentation Tools, Development Support, Operating
2035 System Interfaces, Networking, Device Control (modems) and InterProcess
2036 Communication, Data Types and Data Type Utilities, Database Interfaces,
2037 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
2038 File Names, File Systems and File Locking (see also File Handles), String
2039 Processing, Language Text Processing, Parsing, and Searching, Option,
2040 Argument, Parameter, and Configuration File Processing,
2041 Internationalization and Locale, Authentication, Security, and Encryption,
2042 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
2043 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
2044 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
2045 exceptions etc), File Handle and Input/Output Stream Utilities,
2046 Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
2047 North America, South America
2049 =item Modules: Creation, Use, and Abuse
2053 =item Guidelines for Module Creation
2055 Do similar modules already exist in some form?, Try to design the new
2056 module to be easy to extend and reuse, Some simple style guidelines, Select
2057 what to export, Select a name for the module, Have you got it right?,
2058 README and other Additional Files, A description of the
2059 module/package/extension etc, A copyright notice - see below, Prerequisites
2060 - what else you may need to have, How to build it - possible changes to
2061 Makefile.PL etc, How to install it, Recent changes in this release,
2062 especially incompatibilities, Changes / enhancements you plan to make in
2063 the future, Adding a Copyright Notice, Give the module a
2064 version/issue/release number, How to release and distribute a module, Take
2065 care when changing a released module
2067 =item Guidelines for Converting Perl 4 Library Scripts into Modules
2069 There is no requirement to convert anything, Consider the implications,
2070 Make the most of the opportunity, The pl2pm utility will get you started,
2071 Adds the standard Module prologue lines, Converts package specifiers from '
2072 to ::, Converts die(...) to croak(...), Several other minor changes
2074 =item Guidelines for Reusing Application Code
2076 Complete applications rarely belong in the Perl Module Library, Many
2077 applications contain some Perl code that could be reused, Break-out the
2078 reusable code into one or more separate module files, Take the opportunity
2079 to reconsider and redesign the interfaces, In some cases the 'application'
2080 can then be reduced to a small
2088 =head2 perlmodinstall - Installing CPAN Modules
2098 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2099 module (sometimes unnecessary), B<INSTALL> the module
2111 =head2 perlfork - Perl's fork() emulation
2121 =item Behavior of other Perl features in forked pseudo-processes
2123 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2124 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2125 files, directories and network sockets
2127 =item Resource limits
2129 =item Killing the parent process
2131 =item Lifetime of the parent process and pseudo-processes
2133 =item CAVEATS AND LIMITATIONS
2135 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
2136 Global state maintained by XSUBs, Interpreter embedded in larger
2137 application, Thread-safety of extensions
2149 =head2 perlform - Perl formats
2157 =item Format Variables
2167 =item Accessing Formatting Internals
2175 =head2 perllocale - Perl locale handling (internationalization and
2182 =item PREPARING TO USE LOCALES
2188 =item The use locale pragma
2190 =item The setlocale function
2192 =item Finding locales
2194 =item LOCALE PROBLEMS
2196 =item Temporarily fixing locale problems
2198 =item Permanently fixing locale problems
2200 =item Permanently fixing your system's locale configuration
2202 =item Fixing system locale configuration
2204 =item The localeconv function
2208 =item LOCALE CATEGORIES
2212 =item Category LC_COLLATE: Collation
2214 =item Category LC_CTYPE: Character Types
2216 =item Category LC_NUMERIC: Numeric Formatting
2218 =item Category LC_MONETARY: Formatting of monetary amounts
2222 =item Other categories
2228 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
2229 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
2230 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
2231 B<Output formatting functions> (printf() and write()):, B<Case-mapping
2232 functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
2233 functions> (localeconv(), strcoll(), strftime(), strxfrm()):, B<POSIX
2234 character class tests> (isalnum(), isalpha(), isdigit(), isgraph(),
2235 islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()):
2239 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2240 LC_NUMERIC, LC_TIME, LANG
2246 =item Backward compatibility
2248 =item I18N:Collate obsolete
2250 =item Sort speed and memory use impacts
2252 =item write() and LC_NUMERIC
2254 =item Freely available locale definitions
2258 =item An imperfect standard
2266 =item Broken systems
2276 =head2 perlref - Perl references and nested data structures
2286 =item Making References
2288 =item Using References
2290 =item Symbolic references
2292 =item Not-so-symbolic references
2294 =item Pseudo-hashes: Using an array as a hash
2296 =item Function Templates
2306 =head2 perlreftut - Mark's very short tutorial about references
2312 =item Who Needs Complicated Data Structures?
2320 =item Making References
2322 =item Using References
2340 =item Distribution Conditions
2346 =head2 perldsc - Perl Data Structures Cookbook
2352 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
2353 more elaborate constructs
2357 =item COMMON MISTAKES
2359 =item CAVEAT ON PRECEDENCE
2361 =item WHY YOU SHOULD ALWAYS C<use strict>
2367 =item ARRAYS OF ARRAYS
2371 =item Declaration of a ARRAY OF ARRAYS
2373 =item Generation of a ARRAY OF ARRAYS
2375 =item Access and Printing of a ARRAY OF ARRAYS
2379 =item HASHES OF ARRAYS
2383 =item Declaration of a HASH OF ARRAYS
2385 =item Generation of a HASH OF ARRAYS
2387 =item Access and Printing of a HASH OF ARRAYS
2391 =item ARRAYS OF HASHES
2395 =item Declaration of a ARRAY OF HASHES
2397 =item Generation of a ARRAY OF HASHES
2399 =item Access and Printing of a ARRAY OF HASHES
2403 =item HASHES OF HASHES
2407 =item Declaration of a HASH OF HASHES
2409 =item Generation of a HASH OF HASHES
2411 =item Access and Printing of a HASH OF HASHES
2415 =item MORE ELABORATE RECORDS
2419 =item Declaration of MORE ELABORATE RECORDS
2421 =item Declaration of a HASH OF COMPLEX RECORDS
2423 =item Generation of a HASH OF COMPLEX RECORDS
2435 =head2 perllol - Manipulating Arrays of Arrays in Perl
2441 =item Declaration and Access of Arrays of Arrays
2443 =item Growing Your Own
2445 =item Access and Printing
2455 =head2 perlboot - Beginner's Object-Oriented Tutorial
2463 =item If we could talk to the animals...
2465 =item Introducing the method invocation arrow
2467 =item Invoking a barnyard
2469 =item The extra parameter of method invocation
2471 =item Calling a second method to simplify things
2473 =item Inheriting the windpipes
2475 =item A few notes about @ISA
2477 =item Overriding the methods
2479 =item Starting the search from a different place
2481 =item The SUPER way of doing things
2483 =item Where we're at so far...
2485 =item A horse is a horse, of course of course -- or is it?
2487 =item Invoking an instance method
2489 =item Accessing the instance data
2491 =item How to build a horse
2493 =item Inheriting the constructor
2495 =item Making a method work with either classes or instances
2497 =item Adding parameters to a method
2499 =item More interesting instances
2501 =item A horse of a different color
2513 =head2 perltoot - Tom's object-oriented tutorial for perl
2519 =item Creating a Class
2523 =item Object Representation
2525 =item Class Interface
2527 =item Constructors and Instance Methods
2529 =item Planning for the Future: Better Constructors
2533 =item Other Object Methods
2541 =item Accessing Class Data
2543 =item Debugging Methods
2545 =item Class Destructors
2547 =item Documenting the Interface
2557 =item Overridden Methods
2559 =item Multiple Inheritance
2561 =item UNIVERSAL: The Root of All Objects
2565 =item Alternate Object Representations
2569 =item Arrays as Objects
2571 =item Closures as Objects
2575 =item AUTOLOAD: Proxy Methods
2579 =item Autoloaded Data Methods
2581 =item Inherited Autoloaded Data Methods
2585 =item Metaclassical Tools
2591 =item Data Members as Variables
2595 =item Object Terminology
2601 =item AUTHOR AND COPYRIGHT
2607 =item Acknowledgments
2613 =head2 perltootc - Tom's OO Tutorial for Class Data in Perl
2619 =item Class Data as Package Variables
2623 =item Putting All Your Eggs in One Basket
2625 =item Inheritance Concerns
2627 =item The Eponymous Meta-Object
2629 =item Indirect References to Class Data
2631 =item Monadic Classes
2633 =item Translucent Attributes
2637 =item Class Data as Lexical Variables
2641 =item Privacy and Responsibility
2643 =item File-Scoped Lexicals
2645 =item More Inheritance Concerns
2647 =item Locking the Door and Throwing Away the Key
2649 =item Translucency Revisited
2657 =item AUTHOR AND COPYRIGHT
2659 =item ACKNOWLEDGEMENTS
2665 =head2 perlobj - Perl objects
2673 =item An Object is Simply a Reference
2675 =item A Class is Simply a Package
2677 =item A Method is Simply a Subroutine
2679 =item Method Invocation
2683 =item Default UNIVERSAL methods
2685 isa(CLASS), can(METHOD), VERSION( [NEED] )
2691 =item Two-Phased Garbage Collection
2699 =head2 perltie - how to hide an object class in a simple variable
2711 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
2715 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2720 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2721 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2722 this, NEXTKEY this, lastkey, DESTROY this
2724 =item Tying FileHandles
2726 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2727 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this
2729 =item The C<untie> Gotcha
2741 =head2 perlbot - Bag'o Object Tricks (the BOT)
2747 =item OO SCALING TIPS
2749 =item INSTANCE VARIABLES
2751 =item INSTANCE VARIABLE INHERITANCE
2753 =item OBJECT RELATIONSHIPS
2755 =item OVERRIDING SUPERCLASS METHODS
2757 =item USING RELATIONSHIP WITH SDBM
2759 =item THINKING OF CODE REUSE
2761 =item CLASS CONTEXT AND THE OBJECT
2763 =item INHERITING A CONSTRUCTOR
2769 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2770 safe subprocesses, sockets, and semaphores)
2786 =item Using open() for IPC
2792 =item Background Processes
2794 =item Complete Dissociation of Child from Parent
2796 =item Safe Pipe Opens
2798 =item Bidirectional Communication with Another Process
2800 =item Bidirectional Communication with Yourself
2804 =item Sockets: Client/Server Communication
2808 =item Internet Line Terminators
2810 =item Internet TCP Clients and Servers
2812 =item Unix-Domain TCP Clients and Servers
2816 =item TCP Clients with IO::Socket
2820 =item A Simple Client
2822 C<Proto>, C<PeerAddr>, C<PeerPort>
2824 =item A Webget Client
2826 =item Interactive Client with IO::Socket
2830 =item TCP Servers with IO::Socket
2832 Proto, LocalPort, Listen, Reuse
2834 =item UDP: Message Passing
2848 =head2 perldbmfilter - Perl DBM Filters
2856 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
2857 B<filter_fetch_value>
2863 =item An Example -- the NULL termination problem.
2865 =item Another Example -- Key is a C int.
2875 =head2 perldebug - Perl debugging
2881 =item The Perl Debugger
2885 =item Debugger Commands
2887 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
2888 [expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
2889 -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
2890 b [line] [condition], b subname [condition], b postpone subname
2891 [condition], b load filename, b compile subname, d [line], D, a [line]
2892 command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
2893 option=value .., < ?, < [ command ], << command, > ?, > command, >>
2894 command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
2895 cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage]
2897 =item Configurable Options
2899 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
2900 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
2901 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
2902 C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
2903 C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
2904 C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>
2906 =item Debugger input/output
2908 Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
2911 =item Debugging compile-time statements
2913 =item Debugger Customization
2915 =item Readline Support
2917 =item Editor Support for Debugging
2919 =item The Perl Profiler
2923 =item Debugging regular expressions
2925 =item Debugging memory usage
2933 =head2 perlnumber - semantics of numbers and numeric operations in Perl
2941 =item Storing numbers
2943 =item Numeric operators and numeric conversions
2945 =item Flavors of Perl numeric operations
2947 Arithmetic operators except, C<no integer>, Arithmetic operators except,
2948 C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
2949 integer>, Operators which expect an integer, Operators which expect a
2958 =head2 perldebguts - Guts of Perl debugging
2964 =item Debugger Internals
2968 =item Writing Your Own Debugger
2972 =item Frame Listing Output Examples
2974 =item Debugging regular expressions
2978 =item Compile-time output
2980 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
2981 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
2982 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
2985 =item Types of nodes
2987 =item Run-time output
2991 =item Debugging Perl memory usage
2995 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
2997 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
2998 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
3001 =item Example of using B<-DL> switch
3003 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
3005 =item B<-DL> details
3009 =item Limitations of B<-DL> statistics
3017 =head2 perldiag - various Perl diagnostics
3025 =head2 perlsec - Perl security
3033 =item Laundering and Detecting Tainted Data
3035 =item Switches On the "#!" Line
3037 =item Cleaning Up Your Path
3041 =item Protecting Your Programs
3049 =head2 perltrap - Perl traps for the unwary
3067 =item Perl4 to Perl5 Traps
3069 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
3070 Traps, General data type traps, Context Traps - scalar, list contexts,
3071 Precedence Traps, General Regular Expression Traps using s///, etc,
3072 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
3074 =item Discontinuance, Deprecation, and BugFix traps
3076 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
3077 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
3078 Discontinuance, Deprecation, Discontinuance, Discontinuance
3082 Parsing, Parsing, Parsing, Parsing
3084 =item Numerical Traps
3086 Numerical, Numerical, Numerical, Bitwise string ops
3088 =item General data type traps
3090 (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
3091 (Constants), (Scalars), (Variable Suicide)
3093 =item Context Traps - scalar, list contexts
3095 (list context), (scalar context), (scalar context), (list, builtin)
3097 =item Precedence Traps
3099 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
3102 =item General Regular Expression Traps using s///, etc.
3104 Regular Expression, Regular Expression, Regular Expression, Regular
3105 Expression, Regular Expression, Regular Expression, Regular Expression,
3108 =item Subroutine, Signal, Sorting Traps
3110 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
3116 =item Interpolation Traps
3118 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
3119 Interpolation, Interpolation, Interpolation, Interpolation
3125 =item Unclassified Traps
3127 C<require>/C<do> trap using returned value, C<split> on empty string with
3134 =head2 perlport - Writing portable Perl
3140 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
3149 =item Numbers endianness and Width
3151 =item Files and Filesystems
3153 =item System Interaction
3155 =item Interprocess Communication (IPC)
3157 =item External Subroutines (XS)
3159 =item Standard Modules
3163 =item Character sets and character encoding
3165 =item Internationalisation
3167 =item System Resources
3177 Mailing list: cpan-testers@perl.org, Testing results:
3178 http://testers.cpan.org/
3186 =item DOS and Derivatives
3188 Build instructions for OS/2, L<perlos2>
3196 =item EBCDIC Platforms
3204 =item FUNCTION IMPLEMENTATIONS
3208 =item Alphabetical Listing of Perl Functions
3210 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
3211 FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
3212 PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
3213 LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork,
3214 getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME,
3215 getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr
3216 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
3217 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
3218 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
3219 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
3220 endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob,
3221 ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE,
3222 lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
3223 msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR,
3224 open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink,
3225 select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
3226 KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
3227 setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
3228 SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
3229 shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair
3230 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat,
3231 symlink OLDFILE,NEWFILE, syscall LIST, sysopen
3232 FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
3233 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
3234 wait, waitpid PID,FLAGS
3240 v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999,
3241 v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May
3242 1999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December
3243 1998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August
3244 1998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998,
3247 =item Supported Platforms
3251 =item AUTHORS / CONTRIBUTORS
3257 =head2 perlstyle - Perl style guide
3265 =head2 perlpod - plain old documentation
3273 =item Verbatim Paragraph
3275 =item Command Paragraph
3277 =item Ordinary Block of Text
3281 =item Embedding Pods in Perl Modules
3283 =item Common Pod Pitfalls
3293 =head2 perlbook - Perl book information
3301 =head2 perlembed - how to embed perl in your C program
3311 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3312 Perl?>, B<Use C from C?>, B<Use Perl from C?>
3316 =item Compiling your C program
3318 =item Adding a Perl interpreter to your C program
3320 =item Calling a Perl subroutine from your C program
3322 =item Evaluating a Perl statement from your C program
3324 =item Performing Perl pattern matches and substitutions from your C program
3326 =item Fiddling with the Perl stack from your C program
3328 =item Maintaining a persistent interpreter
3330 =item Maintaining multiple interpreter instances
3332 =item Using Perl modules, which themselves use C libraries, from your C
3337 =item Embedding Perl under Windows
3347 =head2 perlapio - perl's IO abstraction interface.
3355 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
3356 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
3357 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
3358 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
3359 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
3360 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
3361 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
3362 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
3363 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
3364 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
3368 =item Co-existence with stdio
3370 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
3371 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
3372 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
3373 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
3374 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
3375 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
3381 =head2 perlxs - XS language reference manual
3393 =item The Anatomy of an XSUB
3395 =item The Argument Stack
3397 =item The RETVAL Variable
3399 =item The MODULE Keyword
3401 =item The PACKAGE Keyword
3403 =item The PREFIX Keyword
3405 =item The OUTPUT: Keyword
3407 =item The CODE: Keyword
3409 =item The INIT: Keyword
3411 =item The NO_INIT Keyword
3413 =item Initializing Function Parameters
3415 =item Default Parameter Values
3417 =item The PREINIT: Keyword
3419 =item The SCOPE: Keyword
3421 =item The INPUT: Keyword
3423 =item Variable-length Parameter Lists
3425 =item The C_ARGS: Keyword
3427 =item The PPCODE: Keyword
3429 =item Returning Undef And Empty Lists
3431 =item The REQUIRE: Keyword
3433 =item The CLEANUP: Keyword
3435 =item The BOOT: Keyword
3437 =item The VERSIONCHECK: Keyword
3439 =item The PROTOTYPES: Keyword
3441 =item The PROTOTYPE: Keyword
3443 =item The ALIAS: Keyword
3445 =item The INTERFACE: Keyword
3447 =item The INTERFACE_MACRO: Keyword
3449 =item The INCLUDE: Keyword
3451 =item The CASE: Keyword
3453 =item The & Unary Operator
3455 =item Inserting Comments and C Preprocessor Directives
3457 =item Using XS With C++
3459 =item Interface Strategy
3461 =item Perl Objects And C Structures
3475 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
3487 =item Version caveat
3489 =item Dynamic Loading versus Static Loading
3501 =item What has gone on?
3503 =item Writing good test scripts
3507 =item What's new here?
3509 =item Input and Output Parameters
3511 =item The XSUBPP Program
3513 =item The TYPEMAP file
3515 =item Warning about Output Arguments
3519 =item What has happened here?
3521 =item Anatomy of .xs file
3523 =item Getting the fat out of XSUBs
3525 =item More about XSUB arguments
3527 =item The Argument Stack
3529 =item Extending your Extension
3531 =item Documenting your Extension
3533 =item Installing your Extension
3537 =item New Things in this Example
3541 =item New Things in this Example
3543 =item EXAMPLE 7 (Coming Soon)
3545 =item EXAMPLE 8 (Coming Soon)
3547 =item EXAMPLE 9 (Coming Soon)
3549 =item Troubleshooting these Examples
3565 =head2 perlguts - Introduction to the Perl API
3577 =item What is an "IV"?
3579 =item Working with SVs
3581 =item What's Really Stored in an SV?
3583 =item Working with AVs
3585 =item Working with HVs
3587 =item Hash API Extensions
3591 =item Blessed References and Class Objects
3593 =item Creating New Variables
3595 =item Reference Counts and Mortality
3597 =item Stashes and Globs
3599 =item Double-Typed SVs
3601 =item Magic Variables
3603 =item Assigning Magic
3605 =item Magic Virtual Tables
3609 =item Understanding the Magic of Tied Hashes and Arrays
3611 =item Localizing changes
3613 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
3614 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEFREEOP(OP
3615 *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>, C<SAVEDELETE(HV *hv, char
3616 *key, I32 length)>, C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void
3617 *p)>, C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>,
3618 C<SV* save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV
3619 *gv)>, C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32
3620 maxsarg)>, C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>,
3621 C<void save_hptr(HV **hptr)>
3629 =item XSUBs and the Argument Stack
3631 =item Calling Perl Routines from within C Programs
3633 =item Memory Allocation
3637 =item Putting a C value on Perl stack
3641 =item Scratchpads and recursion
3651 =item Examining the tree
3653 =item Compile pass 1: check routines
3655 =item Compile pass 1a: constant folding
3657 =item Compile pass 2: context propagation
3659 =item Compile pass 3: peephole optimization
3663 =item How multiple interpreters and concurrency are supported
3667 =item Background and PERL_IMPLICIT_CONTEXT
3669 =item How do I use all this in extensions?
3671 =item Future Plans and PERL_IMPLICIT_SYS
3681 =head2 perlcall - Perl calling conventions from C
3687 An Error Handler, An Event Driven Program
3689 =item THE CALL_ FUNCTIONS
3691 call_sv, call_pv, call_method, call_argv
3711 =item Determining the Context
3715 =item KNOWN PROBLEMS
3721 =item No Parameters, Nothing returned
3723 =item Passing Parameters
3725 =item Returning a Scalar
3727 =item Returning a list of values
3729 =item Returning a list in a scalar context
3731 =item Returning Data from Perl via the parameter list
3735 =item Using G_KEEPERR
3739 =item Using call_argv
3741 =item Using call_method
3745 =item Using Perl to dispose of temporaries
3747 =item Strategies for storing Callback Context Information
3749 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
3750 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
3753 =item Alternate Stack Manipulation
3755 =item Creating and calling an anonymous subroutine in C
3767 =head2 perlcompile - Introduction to the Perl Compiler-Translator
3777 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3781 =item Using The Back Ends
3785 =item The Cross Referencing Back End
3789 =item The Decompiling Back End
3791 =item The Lint Back End
3793 =item The Simple C Back End
3795 =item The Bytecode Back End
3797 =item The Optimized C Back End
3799 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3800 B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj,
3801 B::Stash, B::Terse, B::Xref
3805 =item KNOWN PROBLEMS
3811 =head2 perlapi - autogenerated documentation for the perl public API
3817 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
3818 av_shift, av_store, av_undef, av_unshift, bytes_to_utf8, call_argv,
3819 call_method, call_pv, call_sv, CLASS, Copy, croak, CvSTASH, dMARK,
3820 dORIGMARK, dSP, dXSARGS, dXSI32, ENTER, eval_pv, eval_sv, EXTEND,
3821 fbm_compile, fbm_instr, FREETMPS, get_av, get_cv, get_hv, get_sv, GIMME,
3822 GIMME_V, GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload,
3823 gv_stashpv, gv_stashsv, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR,
3824 G_VOID, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force,
3825 HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists,
3826 hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey,
3827 hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, hv_store,
3828 hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
3829 isUPPER, items, ix, LEAVE, looks_like_number, MARK, mg_clear, mg_copy,
3830 mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set, Move, New, newAV,
3831 Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc, NEWSV, newSViv, newSVnv,
3832 newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newSVuv, newXS, newXSproto,
3833 Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc,
3834 perl_construct, perl_destruct, perl_free, perl_parse, perl_run,
3835 PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_modglobal, PL_na,
3836 PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn, POPp, POPs, PUSHi,
3837 PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, require_pv,
3838 RETVAL, Safefree, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
3839 strGT, strLE, strLT, strNE, strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set,
3840 SvEND, SvGETMAGIC, SvGROW, SvIOK, SvIOKp, SvIOK_off, SvIOK_on, SvIOK_only,
3841 SvIV, SvIVX, SvLEN, SvLOCK, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp,
3842 SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp,
3843 SvPOK_off, SvPOK_on, SvPOK_only, SvPV, SvPVX, SvPV_force, SvPV_nolen,
3844 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
3845 SvSETMAGIC, SvSetSV, SvSetSV_nosteal, SvSTASH, SvTAINT, SvTAINTED,
3846 SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, svtype, SVt_IV, SVt_NV,
3847 SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUNLOCK, SvUPGRADE, SvUV,
3848 SvUVX, sv_2mortal, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn,
3849 sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, sv_dec,
3850 sv_derived_from, sv_eq, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject,
3851 sv_len, sv_magic, sv_mortalcopy, sv_newmortal, sv_setiv, sv_setiv_mg,
3852 sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv,
3853 sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv,
3854 sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv,
3855 sv_setuv_mg, sv_unref, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn,
3856 sv_vsetpvfn, THIS, toLOWER, toUPPER, U8 *s, utf8_to_bytes, warn, XPUSHi,
3857 XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV,
3858 XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES,
3859 XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION,
3860 XS_VERSION_BOOTCHECK, Zero
3868 =head2 perlintern - autogenerated documentation of purely B<internal>
3883 =head2 perlhist - the Perl history records
3891 =item THE KEEPERS OF THE PUMPKIN
3903 =item SELECTED RELEASE SIZES
3905 =item SELECTED PATCH SIZES
3909 =item THE KEEPERS OF THE RECORDS
3913 =head1 PRAGMA DOCUMENTATION
3915 =head2 attrs - set/get attributes of a subroutine (deprecated)
3927 =head2 re - Perl pragma to alter regular expression behaviour
3937 =head2 attributes - get/set subroutine or variable attributes
3947 =item Built-in Attributes
3949 locked, method, lvalue
3951 =item Available Subroutines
3955 =item Package-specific Attribute Handling
3957 FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
3959 =item Syntax of Attribute Lists
3967 =item Default exports
3969 =item Available exports
3971 =item Export tags defined
3981 =head2 attrs - set/get attributes of a subroutine (deprecated)
3993 =head2 autouse - postpone load of modules until a function is used
4009 =head2 base - Establish IS-A relationship with base class at compile time
4023 =head2 blib - Use MakeMaker's uninstalled version of a package
4037 =head2 bytes - Perl pragma to force byte semantics rather than character
4050 =head2 charnames - define character names for C<\N{named}> string literal
4059 =item CUSTOM TRANSLATORS
4065 =head2 constant - Perl pragma to declare constants
4075 =item TECHNICAL NOTE
4085 =head2 diagnostics - Perl compiler pragma to force verbose warning
4096 =item The C<diagnostics> Pragma
4098 =item The I<splain> Program
4112 =head2 fields - compile-time class fields
4126 =head2 filetest - Perl pragma to control the filetest permission operators
4136 =item subpragma access
4142 =head2 integer - Perl pragma to compute arithmetic in integer instead of
4153 =head2 less - perl pragma to request less of something from the compiler
4163 =head2 lib - manipulate @INC at compile time
4173 =item Adding directories to @INC
4175 =item Deleting directories from @INC
4177 =item Restoring original @INC
4187 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
4198 =head2 open - perl pragma to set default disciplines for input and output
4206 =item UNIMPLEMENTED FUNCTIONALITY
4212 =head2 ops - Perl pragma to restrict unsafe operations when compiling
4224 =head2 overload - Package for overloading perl operations
4234 =item Declaration of overloaded functions
4236 =item Calling Conventions for Binary Operations
4238 FALSE, TRUE, C<undef>
4240 =item Calling Conventions for Unary Operations
4242 =item Calling Conventions for Mutators
4244 C<++> and C<-->, C<x=> and other assignment versions
4246 =item Overloadable Operations
4248 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
4249 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
4250 and numeric conversion>, I<Iteration>, I<Dereferencing>, I<Special>
4252 =item Inheritance and overloading
4254 Strings as values of C<use overload> directive, Overloading of an operation
4255 is inherited by derived classes
4259 =item SPECIAL SYMBOLS FOR C<use overload>
4267 C<undef>, TRUE, defined, but FALSE
4269 =item Copy Constructor
4275 =item MAGIC AUTOGENERATION
4277 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
4278 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
4279 I<Concatenation>, I<Comparison operations>, I<Iterator>, I<Dereferencing>,
4282 =item Losing overloading
4284 =item Run-time Overloading
4286 =item Public functions
4288 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
4290 =item Overloading constants
4292 integer, float, binary, q, qr
4294 =item IMPLEMENTATION
4296 =item Metaphor clash
4302 =item Two-face scalars
4304 =item Two-face references
4306 =item Symbolic calculator
4308 =item I<Really> symbolic calculator
4320 =head2 re - Perl pragma to alter regular expression behaviour
4330 =head2 sigtrap - Perl pragma to enable simple signal handling
4342 =item SIGNAL HANDLERS
4344 B<stack-trace>, B<die>, B<handler> I<your-handler>
4348 B<normal-signals>, B<error-signals>, B<old-interface-signals>
4352 B<untrapped>, B<any>, I<signal>, I<number>
4360 =head2 strict - Perl pragma to restrict unsafe constructs
4368 C<strict refs>, C<strict vars>, C<strict subs>
4372 =head2 subs - Perl pragma to predeclare sub names
4382 =head2 utf8 - Perl pragma to enable/disable UTF-8 in source code
4394 =head2 vars - Perl pragma to predeclare global variable names (obsolete)
4404 =head2 warnings - Perl pragma to control optional warnings
4412 use warnings::register, warnings::enabled([$category]),
4413 warnings::warn([$category,] $message)
4417 =head2 warnings::register - warnings import function
4419 =head1 MODULE DOCUMENTATION
4421 =head2 AnyDBM_File - provide framework for multiple DBMs
4431 =item DBM Comparisons
4441 =head2 AutoLoader - load subroutines only on demand
4451 =item Subroutine Stubs
4453 =item Using B<AutoLoader>'s AUTOLOAD Subroutine
4455 =item Overriding B<AutoLoader>'s AUTOLOAD Subroutine
4457 =item Package Lexicals
4459 =item B<AutoLoader> vs. B<SelfLoader>
4469 =head2 AutoSplit - split a package for autoloading
4477 $keep, $check, $modtime
4481 =item Multiple packages
4489 =head2 B - The Perl Compiler
4497 =item OVERVIEW OF CLASSES
4501 =item SV-RELATED CLASSES
4509 IV, IVX, needs64bits, packiv
4523 =item B::PVMG METHODS
4527 =item B::MAGIC METHODS
4529 MOREMAGIC, PRIVATE, TYPE, FLAGS, OBJ, PTR
4531 =item B::PVLV METHODS
4533 TARGOFF, TARGLEN, TYPE, TARG
4537 USEFUL, PREVIOUS, RARE, TABLE
4541 is_empty, NAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE,
4542 FILEGV, GvREFCNT, FLAGS
4546 LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV,
4547 BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS
4551 FILL, MAX, OFF, ARRAY, AvFLAGS
4555 STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, XSUB, XSUBANY,
4560 FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY
4562 =item OP-RELATED CLASSES
4566 next, sibling, name, ppaddr, desc, targ, type, seq, flags, private
4568 =item B::UNOP METHOD
4572 =item B::BINOP METHOD
4576 =item B::LOGOP METHOD
4580 =item B::LISTOP METHOD
4584 =item B::PMOP METHODS
4586 pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp
4588 =item B::SVOP METHOD
4592 =item B::PADOP METHOD
4596 =item B::PVOP METHOD
4600 =item B::LOOP METHODS
4602 redoop, nextop, lastop
4604 =item B::COP METHODS
4606 label, stash, file, cop_seq, arybase, line
4610 =item FUNCTIONS EXPORTED BY C<B>
4612 main_cv, init_av, main_root, main_start, comppadlist, sv_undef, sv_yes,
4613 sv_no, amagic_generation, walkoptree(OP, METHOD), walkoptree_debug(DEBUG),
4614 walksymtable(SYMREF, METHOD, RECURSE), svref_2object(SV), ppname(OPNUM),
4615 hash(STR), cast_I32(I), minus_c, cstring(STR), class(OBJ), threadsv_names
4621 =head2 B::Asmdata - Autogenerated data about Perl ops, used to generate
4634 =head2 B::Assembler - Assemble Perl bytecode
4646 =head2 B::Bblock - Walk basic blocks
4658 =head2 B::Bytecode - Perl compiler's bytecode backend
4668 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
4669 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-On>, B<-D>, B<-Do>,
4670 B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-Ppackage> Stores package in the
4681 =head2 B::C - Perl compiler's C backend
4691 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-D>, B<-Do>, B<-Dc>, B<-DA>,
4692 B<-DC>, B<-DM>, B<-f>, B<-fcog>, B<-fno-cog>, B<-On>, B<-llimit>
4702 =head2 B::CC - Perl compiler's optimized C translation backend
4712 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-mModulename>, B<-D>, B<-Dr>,
4713 B<-DO>, B<-Ds>, B<-Dp>, B<-Dq>, B<-Dl>, B<-Dt>, B<-f>,
4714 B<-ffreetmps-each-bblock>, B<-ffreetmps-each-loop>, B<-fomit-taint>, B<-On>
4726 =item Context of ".."
4730 =item Deprecated features
4738 =head2 B::Debug - Walk Perl syntax tree, printing debug info about ops
4750 =head2 B::Deparse - Perl compiler backend to produce perl code
4760 B<-l>, B<-p>, B<-q>, B<-u>I<PACKAGE>, B<-s>I<LETTERS>, B<C>, B<i>I<NUMBER>,
4761 B<T>, B<v>I<STRING>B<.>
4763 =item USING B::Deparse AS A MODULE
4783 =head2 B::Disassembler - Disassemble Perl bytecode
4795 =head2 B::Lint - Perl lint
4803 =item OPTIONS AND LINT CHECKS
4805 B<context>, B<implicit-read> and B<implicit-write>, B<dollar-underscore>,
4806 B<private-names>, B<undefined-subs>, B<regexp-variables>, B<all>, B<none>
4808 =item NON LINT-CHECK OPTIONS
4818 =head2 B::O, O - Generic interface to Perl Compiler backends
4828 =item IMPLEMENTATION
4834 =head2 B::Showlex - Show lexical variables used in functions or files
4846 =head2 B::Stackobj - Helper module for CC backend
4858 =head2 B::Stash - show what stashes are loaded
4860 =head2 B::Terse - Walk Perl syntax tree, printing terse info about ops
4872 =head2 B::Xref - Generates cross reference reports for Perl programs
4882 C<-oFILENAME>, C<-r>, C<-D[tO]>
4890 =head2 Bblock, B::Bblock - Walk basic blocks
4902 =head2 Benchmark - benchmark running times of Perl code
4916 =item Standard Exports
4918 timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ),
4919 timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr (
4920 TIMEDIFF, [ STYLE, [ FORMAT ] ] )
4922 =item Optional Exports
4924 clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUT, CODEHASHREF, [
4925 STYLE ] ), cmpthese ( RESULTSHASHREF ), countit(TIME, CODE), disablecache (
4926 ), enablecache ( ), timesum ( T1, T2 )
4942 =item MODIFICATION HISTORY
4946 =head2 ByteLoader - load byte compiled perl code
4960 =head2 Bytecode, B::Bytecode - Perl compiler's bytecode backend
4970 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
4971 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-On>, B<-D>, B<-Do>,
4972 B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-Ppackage> Stores package in the
4983 =head2 CGI - Simple Common Gateway Interface Class
4995 =item PROGRAMMING STYLE
4997 =item CALLING CGI.PM ROUTINES
4999 1. Use another name for the argument, if one is available. For example,
5000 -value is an alias for -values, 2. Change the capitalization, e.g. -Values,
5001 3. Put quotes around the argument name, e.g. '-values'
5003 =item CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE):
5005 =item CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
5007 =item FETCHING A LIST OF KEYWORDS FROM THE QUERY:
5009 =item FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:
5011 =item FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:
5013 =item SETTING THE VALUE(S) OF A NAMED PARAMETER:
5015 =item APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER:
5017 =item IMPORTING ALL PARAMETERS INTO A NAMESPACE:
5019 =item DELETING A PARAMETER COMPLETELY:
5021 =item DELETING ALL PARAMETERS:
5023 =item DIRECT ACCESS TO THE PARAMETER LIST:
5025 =item FETCHING THE PARAMETER LIST AS A HASH:
5027 =item SAVING THE STATE OF THE SCRIPT TO A FILE:
5029 =item RETRIEVING CGI ERRORS
5031 =item USING THE FUNCTION-ORIENTED INTERFACE
5033 B<:cgi>, B<:form>, B<:html2>, B<:html3>, B<:netscape>, B<:html>,
5034 B<:standard>, B<:all>
5038 -any, -compile, -nosticky, -nph, -newstyle_urls, -oldstyle_urls, -autoload,
5039 -no_debug, -debug, -private_tempfiles
5041 =item SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS
5043 1. start_table() (generates a <TABLE> tag), 2. end_table() (generates a
5044 </TABLE> tag), 3. start_ul() (generates a <UL> tag), 4. end_ul() (generates
5049 =item GENERATING DYNAMIC DOCUMENTS
5053 =item CREATING A STANDARD HTTP HEADER:
5055 =item GENERATING A REDIRECTION HEADER
5057 =item CREATING THE HTML DOCUMENT HEADER
5059 B<Parameters:>, 4, 5, 6..
5061 =item ENDING THE HTML DOCUMENT:
5063 =item CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
5065 =item OBTAINING THE SCRIPT'S URL
5067 B<-absolute>, B<-relative>, B<-full>, B<-path> (B<-path_info>), B<-query>
5070 =item MIXING POST AND URL PARAMETERS
5074 =item CREATING STANDARD HTML ELEMENTS:
5078 =item PROVIDING ARGUMENTS TO HTML SHORTCUTS
5080 =item THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS
5082 =item HTML SHORTCUTS AND LIST INTERPOLATION
5084 =item NON-STANDARD HTML SHORTCUTS
5086 =item AUTOESCAPING HTML
5088 $escaped_string = escapeHTML("unescaped string");, $charset =
5089 charset([$charset]);, $flag = autoEscape([$flag]);
5091 =item PRETTY-PRINTING HTML
5095 =item CREATING FILL-OUT FORMS:
5099 =item CREATING AN ISINDEX TAG
5101 =item STARTING AND ENDING A FORM
5103 B<application/x-www-form-urlencoded>, B<multipart/form-data>
5105 =item CREATING A TEXT FIELD
5109 =item CREATING A BIG TEXT FIELD
5111 =item CREATING A PASSWORD FIELD
5113 =item CREATING A FILE UPLOAD FIELD
5117 =item CREATING A POPUP MENU
5119 =item CREATING A SCROLLING LIST
5123 =item CREATING A GROUP OF RELATED CHECKBOXES
5127 =item CREATING A STANDALONE CHECKBOX
5131 =item CREATING A RADIO BUTTON GROUP
5135 =item CREATING A SUBMIT BUTTON
5139 =item CREATING A RESET BUTTON
5141 =item CREATING A DEFAULT BUTTON
5143 =item CREATING A HIDDEN FIELD
5147 =item CREATING A CLICKABLE IMAGE BUTTON
5149 B<Parameters:>, 3. The third option (-align, optional) is an alignment
5150 type, and may be TOP, BOTTOM or MIDDLE
5152 =item CREATING A JAVASCRIPT ACTION BUTTON
5158 1. an expiration time, 2. a domain, 3. a path, 4. a "secure" flag,
5159 B<-name>, B<-value>, B<-path>, B<-domain>, B<-expires>, B<-secure>
5161 =item WORKING WITH FRAMES
5163 1. Create a <Frameset> document, 2. Specify the destination for the
5164 document in the HTTP header, 3. Specify the destination for the document in
5167 =item LIMITED SUPPORT FOR CASCADING STYLE SHEETS
5173 =item DUMPING OUT ALL THE NAME/VALUE PAIRS
5177 =item FETCHING ENVIRONMENT VARIABLES
5179 B<Accept()>, B<raw_cookie()>, B<user_agent()>, B<path_info()>,
5180 B<path_translated()>, B<remote_host()>, B<script_name()> Return the script
5181 name as a partial URL, for self-refering scripts, B<referer()>, B<auth_type
5182 ()>, B<server_name ()>, B<virtual_host ()>, B<server_software ()>,
5183 B<remote_user ()>, B<user_name ()>, B<request_method()>, B<content_type()>,
5184 B<http()>, B<https()>
5186 =item USING NPH SCRIPTS
5188 In the B<use> statement, By calling the B<nph()> method:, By using B<-nph>
5189 parameters in the B<header()> and B<redirect()> statements:
5193 multipart_init(), multipart_start(), multipart_end()
5195 =item Avoiding Denial of Service Attacks
5197 B<$CGI::POST_MAX>, B<$CGI::DISABLE_UPLOADS>, B<1. On a script-by-script
5198 basis>, B<2. Globally for all scripts>
5200 =item COMPATIBILITY WITH CGI-LIB.PL
5202 =item AUTHOR INFORMATION
5206 Matt Heffron (heffron@falstaff.css.beckman.com), James Taylor
5207 (james.taylor@srs.gov), Scott Anguish <sanguish@digifix.com>, Mike Jewell
5208 (mlj3u@virginia.edu), Timothy Shimmin (tes@kbs.citri.edu.au), Joergen Haegg
5209 (jh@axis.se), Laurent Delfosse (delfosse@delfosse.com), Richard Resnick
5210 (applepi1@aol.com), Craig Bishop (csb@barwonwater.vic.gov.au), Tony Curtis
5211 (tc@vcpc.univie.ac.at), Tim Bunce (Tim.Bunce@ig.co.uk), Tom Christiansen
5212 (tchrist@convex.com), Andreas Koenig (k@franz.ww.TU-Berlin.DE), Tim
5213 MacKenzie (Tim.MacKenzie@fulcrum.com.au), Kevin B. Hendricks
5214 (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen (joyfire@inxpress.net), Ed
5215 Jordan (ed@fidalgo.net), David Alan Pisoni (david@cnation.com), Doug
5216 MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org),
5217 ...and many many more..
5219 =item A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT
5227 =head2 CGI::Apache - Backward compatibility module for CGI.pm
5237 =item AUTHOR INFORMATION
5245 =head2 CGI::Carp, B<CGI::Carp> - CGI routines for writing to the HTTPD (or
5254 =item REDIRECTING ERROR MESSAGES
5256 =item MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW
5260 =item Changing the default message
5272 =head2 CGI::Cookie - Interface to Netscape Cookies
5280 =item USING CGI::Cookie
5282 B<1. expiration date>, B<2. domain>, B<3. path>, B<4. secure flag>
5286 =item Creating New Cookies
5288 =item Sending the Cookie to the Browser
5290 =item Recovering Previous Cookies
5292 =item Manipulating Cookies
5294 B<name()>, B<value()>, B<domain()>, B<path()>, B<expires()>
5298 =item AUTHOR INFORMATION
5306 =head2 CGI::Fast - CGI Interface for Fast CGI
5314 =item OTHER PIECES OF THE PUZZLE
5316 =item WRITING FASTCGI PERL SCRIPTS
5318 =item INSTALLING FASTCGI SCRIPTS
5320 =item USING FASTCGI SCRIPTS AS CGI SCRIPTS
5324 =item AUTHOR INFORMATION
5332 =head2 CGI::Pretty - module to produce nicely formatted HTML code
5342 =item Tags that won't be formatted
5344 =item Customizing the Indenting
5356 =head2 CGI::Push - Simple Interface to Server Push
5364 =item USING CGI::Push
5366 -next_page, -last_page, -type, -delay, -cookie, -target, -expires
5370 =item Heterogeneous Pages
5372 =item Changing the Page Delay on the Fly
5376 =item INSTALLING CGI::Push SCRIPTS
5378 =item AUTHOR INFORMATION
5386 =head2 CGI::Switch - Backward compatibility module for defunct CGI::Switch
5396 =item AUTHOR INFORMATION
5404 =head2 CGI::Util - various utilities
5406 =head2 CPAN - query, download and build perl modules from CPAN sites
5416 =item Interactive Mode
5418 Searching for authors, bundles, distribution files and modules, make, test,
5419 install, clean modules or distributions, get, readme, look module or
5420 distribution, Signals
5428 =item The four C<CPAN::*> Classes: Author, Bundle, Module, Distribution
5430 =item ProgrammerE<39>s interface
5432 expand($type,@things), Programming Examples
5434 =item Methods in the four Classes
5442 =item Finding packages and VERSION
5446 =item Floppy, Zip, Offline Mode
5452 C<o conf E<lt>scalar optionE<gt>>, C<o conf E<lt>scalar optionE<gt>
5453 E<lt>valueE<gt>>, C<o conf E<lt>list optionE<gt>>, C<o conf E<lt>list
5454 optionE<gt> [shift|pop]>, C<o conf E<lt>list optionE<gt>
5455 [unshift|push|splice] E<lt>listE<gt>>
5459 =item Note on urllist parameter's format
5461 =item urllist parameter has CD-ROM support
5469 =item POPULATE AN INSTALLATION WITH LOTS OF MODULES
5471 =item WORKING WITH CPAN.pm BEHIND FIREWALLS
5473 http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade
5483 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
5493 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
5506 =head2 Carp, carp - warn of errors (from perspective of caller)
5516 =item Forcing a Stack Trace
5524 =head2 Carp::Heavy - Carp guts
5534 =head2 Class::Struct - declare struct-like datatypes as Perl classes
5544 =item The C<struct()> function
5546 =item Element Types and Accessor Methods
5548 Scalar (C<'$'> or C<'*$'>), Array (C<'@'> or C<'*@'>), Hash (C<'%'> or
5549 C<'*%'>), Class (C<'Class_Name'> or C<'*Class_Name'>)
5551 =item Initializing with C<new>
5557 Example 1, Example 2, Example 3
5559 =item Author and Modification History
5563 =head2 Config - access Perl configuration information
5571 myconfig(), config_sh(), config_vars(@names)
5583 C<_a>, C<_exe>, C<_o>
5587 C<afs>, C<alignbytes>, C<ansi2knr>, C<aphostname>, C<api_revision>,
5588 C<api_subversion>, C<api_version>, C<api_versionstring>, C<ar>, C<archlib>,
5589 C<archlibexp>, C<archname64>, C<archname>, C<archobjs>, C<awk>
5593 C<baserev>, C<bash>, C<bin>, C<bincompat5005>, C<binexp>, C<bison>,
5594 C<byacc>, C<byteorder>
5598 C<c>, C<castflags>, C<cat>, C<cc>, C<cccdlflags>, C<ccdlflags>, C<ccflags>,
5599 C<ccsymbols>, C<cf_by>, C<cf_email>, C<cf_time>, C<charsize>, C<chgrp>,
5600 C<chmod>, C<chown>, C<clocktype>, C<comm>, C<compress>
5604 C<CONFIGDOTSH>, C<contains>, C<cp>, C<cpio>, C<cpp>, C<cpp_stuff>,
5605 C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>, C<cpprun>,
5606 C<cppstdin>, C<cppsymbols>, C<crosscompile>, C<cryptlib>, C<csh>
5610 C<d_access>, C<d_accessx>, C<d_alarm>, C<d_archlib>, C<d_atolf>,
5611 C<d_atoll>, C<d_attribut>, C<d_bcmp>, C<d_bcopy>, C<d_bincompat5005>,
5612 C<d_bsd>, C<d_bsdgetpgrp>, C<d_bsdsetpgrp>, C<d_bzero>, C<d_casti32>,
5613 C<d_castneg>, C<d_charvspr>, C<d_chown>, C<d_chroot>, C<d_chsize>,
5614 C<d_closedir>, C<d_const>, C<d_crypt>, C<d_csh>, C<d_cuserid>,
5615 C<d_dbl_dig>, C<d_difftime>, C<d_dirnamlen>, C<d_dlerror>, C<d_dlopen>,
5616 C<d_dlsymun>, C<d_dosuid>, C<d_drand48proto>, C<d_dup2>, C<d_eaccess>,
5617 C<d_endgrent>, C<d_endhent>, C<d_endnent>, C<d_endpent>, C<d_endpwent>,
5618 C<d_endsent>, C<d_eofnblk>, C<d_eunice>, C<d_fchmod>, C<d_fchown>,
5619 C<d_fcntl>, C<d_fd_macros>, C<d_fd_set>, C<d_fds_bits>, C<d_fgetpos>,
5620 C<d_flexfnam>, C<d_flock>, C<d_fork>, C<d_fpathconf>, C<d_fpos64_t>,
5621 C<d_frexpl>, C<d_fs_data_s>, C<d_fseeko>, C<d_fsetpos>, C<d_fstatfs>,
5622 C<d_fstatvfs>, C<d_ftello>, C<d_ftime>, C<d_Gconvert>, C<d_getcwd>,
5623 C<d_getespwnam>, C<d_getfsstat>, C<d_getgrent>, C<d_getgrps>,
5624 C<d_gethbyaddr>, C<d_gethbyname>, C<d_gethent>, C<d_gethname>,
5625 C<d_gethostprotos>, C<d_getlogin>, C<d_getmnt>, C<d_getmntent>,
5626 C<d_getnbyaddr>, C<d_getnbyname>, C<d_getnent>, C<d_getnetprotos>,
5627 C<d_getpbyname>, C<d_getpbynumber>, C<d_getpent>, C<d_getpgid>,
5628 C<d_getpgrp2>, C<d_getpgrp>, C<d_getppid>, C<d_getprior>,
5629 C<d_getprotoprotos>, C<d_getprpwnam>, C<d_getpwent>, C<d_getsbyname>,
5630 C<d_getsbyport>, C<d_getsent>, C<d_getservprotos>, C<d_getspnam>,
5631 C<d_gettimeod>, C<d_gnulibc>, C<d_grpasswd>, C<d_hasmntopt>, C<d_htonl>,
5632 C<d_iconv>, C<d_index>, C<d_inetaton>, C<d_int64_t>, C<d_isascii>,
5633 C<d_isnan>, C<d_isnanl>, C<d_killpg>, C<d_lchown>, C<d_ldbl_dig>,
5634 C<d_link>, C<d_locconv>, C<d_lockf>, C<d_longdbl>, C<d_longlong>,
5635 C<d_lseekproto>, C<d_lstat>, C<d_madvise>, C<d_mblen>, C<d_mbstowcs>,
5636 C<d_mbtowc>, C<d_memchr>, C<d_memcmp>, C<d_memcpy>, C<d_memmove>,
5637 C<d_memset>, C<d_mkdir>, C<d_mkdtemp>, C<d_mkfifo>, C<d_mkstemp>,
5638 C<d_mkstemps>, C<d_mktime>, C<d_mmap>, C<d_modfl>, C<d_mprotect>, C<d_msg>,
5639 C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>, C<d_msg_peek>,
5640 C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msgrcv>, C<d_msgsnd>,
5641 C<d_msync>, C<d_munmap>, C<d_mymalloc>, C<d_nice>, C<d_nv_preserves_uv>,
5642 C<d_nv_preserves_uv_bits>, C<d_off64_t>, C<d_old_pthread_create_joinable>,
5643 C<d_oldpthreads>, C<d_oldsock>, C<d_open3>, C<d_pathconf>, C<d_pause>,
5644 C<d_perl_otherlibdirs>, C<d_phostname>, C<d_pipe>, C<d_poll>,
5645 C<d_portable>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIEldbl>, C<d_PRIfldbl>,
5646 C<d_PRIFldbl>, C<d_PRIgldbl>, C<d_PRIGldbl>, C<d_PRIi64>, C<d_PRIo64>,
5647 C<d_PRIu64>, C<d_PRIx64>, C<d_PRIX64>, C<d_pthread_yield>, C<d_pwage>,
5648 C<d_pwchange>, C<d_pwclass>, C<d_pwcomment>, C<d_pwexpire>, C<d_pwgecos>,
5649 C<d_pwpasswd>, C<d_pwquota>, C<d_qgcvt>, C<d_quad>, C<d_readdir>,
5650 C<d_readlink>, C<d_rename>, C<d_rewinddir>, C<d_rmdir>, C<d_safebcpy>,
5651 C<d_safemcpy>, C<d_sanemcmp>, C<d_sched_yield>, C<d_scm_rights>,
5652 C<d_seekdir>, C<d_select>, C<d_sem>, C<d_semctl>, C<d_semctl_semid_ds>,
5653 C<d_semctl_semun>, C<d_semget>, C<d_semop>, C<d_setegid>, C<d_seteuid>,
5654 C<d_setgrent>, C<d_setgrps>, C<d_sethent>, C<d_setlinebuf>, C<d_setlocale>,
5655 C<d_setnent>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp2>, C<d_setpgrp>,
5656 C<d_setprior>, C<d_setpwent>, C<d_setregid>, C<d_setresgid>,
5657 C<d_setresuid>, C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>,
5658 C<d_setsid>, C<d_setvbuf>, C<d_sfio>, C<d_shm>, C<d_shmat>,
5659 C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>, C<d_sigaction>,
5660 C<d_sigsetjmp>, C<d_socket>, C<d_socklen_t>, C<d_sockpair>, C<d_sqrtl>,
5661 C<d_statblks>, C<d_statfs_f_flags>, C<d_statfs_s>, C<d_statvfs>,
5662 C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>, C<d_stdio_stream_array>,
5663 C<d_stdiobase>, C<d_stdstdio>, C<d_strchr>, C<d_strcoll>, C<d_strctcpy>,
5664 C<d_strerrm>, C<d_strerror>, C<d_strtod>, C<d_strtol>, C<d_strtold>,
5665 C<d_strtoll>, C<d_strtoul>, C<d_strtoull>, C<d_strtouq>, C<d_strxfrm>,
5666 C<d_suidsafe>, C<d_symlink>, C<d_syscall>, C<d_sysconf>, C<d_sysernlst>,
5667 C<d_syserrlst>, C<d_system>, C<d_tcgetpgrp>, C<d_tcsetpgrp>, C<d_telldir>,
5668 C<d_telldirproto>, C<d_time>, C<d_times>, C<d_truncate>, C<d_tzname>,
5669 C<d_umask>, C<d_uname>, C<d_union_semun>, C<d_ustat>, C<d_vendorarch>,
5670 C<d_vendorbin>, C<d_vendorlib>, C<d_vfork>, C<d_void_closedir>,
5671 C<d_voidsig>, C<d_voidtty>, C<d_volatile>, C<d_vprintf>, C<d_wait4>,
5672 C<d_waitpid>, C<d_wcstombs>, C<d_wctomb>, C<d_xenix>, C<date>,
5673 C<db_hashtype>, C<db_prefixtype>, C<defvoidused>, C<direntrytype>,
5674 C<dlext>, C<dlsrc>, C<doublesize>, C<drand01>, C<dynamic_ext>
5678 C<eagain>, C<ebcdic>, C<echo>, C<egrep>, C<emacs>, C<eunicefix>,
5679 C<exe_ext>, C<expr>, C<extensions>
5683 C<fflushall>, C<fflushNULL>, C<find>, C<firstmakefile>, C<flex>,
5684 C<fpossize>, C<fpostype>, C<freetype>, C<full_ar>, C<full_csh>, C<full_sed>
5688 C<gccversion>, C<gidformat>, C<gidsign>, C<gidsize>, C<gidtype>,
5689 C<glibpth>, C<grep>, C<groupcat>, C<groupstype>, C<gzip>
5693 C<h_fcntl>, C<h_sysfile>, C<hint>, C<hostcat>, C<huge>
5697 C<i16size>, C<i16type>, C<i32size>, C<i32type>, C<i64size>, C<i64type>,
5698 C<i8size>, C<i8type>, C<i_arpainet>, C<i_bsdioctl>, C<i_db>, C<i_dbm>,
5699 C<i_dirent>, C<i_dld>, C<i_dlfcn>, C<i_fcntl>, C<i_float>, C<i_gdbm>,
5700 C<i_grp>, C<i_iconv>, C<i_ieeefp>, C<i_inttypes>, C<i_limits>, C<i_locale>,
5701 C<i_machcthr>, C<i_malloc>, C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>,
5702 C<i_netdb>, C<i_neterrno>, C<i_netinettcp>, C<i_niin>, C<i_poll>,
5703 C<i_prot>, C<i_pthread>, C<i_pwd>, C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>,
5704 C<i_shadow>, C<i_socks>, C<i_stdarg>, C<i_stddef>, C<i_stdlib>,
5705 C<i_string>, C<i_sunmath>, C<i_sysaccess>, C<i_sysdir>, C<i_sysfile>,
5706 C<i_sysfilio>, C<i_sysin>, C<i_sysioctl>, C<i_syslog>, C<i_sysmman>,
5707 C<i_sysmode>, C<i_sysmount>, C<i_sysndir>, C<i_sysparam>, C<i_sysresrc>,
5708 C<i_syssecrt>, C<i_sysselct>, C<i_syssockio>, C<i_sysstat>, C<i_sysstatfs>,
5709 C<i_sysstatvfs>, C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>,
5710 C<i_sysuio>, C<i_sysun>, C<i_sysutsname>, C<i_sysvfs>, C<i_syswait>,
5711 C<i_termio>, C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>,
5712 C<i_values>, C<i_varargs>, C<i_varhdr>, C<i_vfork>,
5713 C<ignore_versioned_solibs>, C<inc_version_list>, C<inc_version_list_init>,
5714 C<incpath>, C<inews>, C<installarchlib>, C<installbin>, C<installman1dir>,
5715 C<installman3dir>, C<installprefix>, C<installprefixexp>,
5716 C<installprivlib>, C<installscript>, C<installsitearch>, C<installsitebin>,
5717 C<installsitelib>, C<installstyle>, C<installusrbinperl>,
5718 C<installvendorarch>, C<installvendorbin>, C<installvendorlib>, C<intsize>,
5719 C<ivdformat>, C<ivsize>, C<ivtype>
5723 C<known_extensions>, C<ksh>
5727 C<large>, C<ld>, C<lddlflags>, C<ldflags>, C<ldlibpthname>, C<less>,
5728 C<lib_ext>, C<libc>, C<libperl>, C<libpth>, C<libs>, C<libsdirs>,
5729 C<libsfiles>, C<libsfound>, C<libspath>, C<libswanted>, C<line>, C<lint>,
5730 C<lkflags>, C<ln>, C<lns>, C<locincpth>, C<loclibpth>, C<longdblsize>,
5731 C<longlongsize>, C<longsize>, C<lp>, C<lpr>, C<ls>, C<lseeksize>,
5736 C<mail>, C<mailx>, C<make>, C<make_set_make>, C<mallocobj>, C<mallocsrc>,
5737 C<malloctype>, C<man1dir>, C<man1direxp>, C<man1ext>, C<man3dir>,
5738 C<man3direxp>, C<man3ext>
5742 C<Mcc>, C<medium>, C<mips_type>, C<mkdir>, C<mmaptype>, C<models>,
5743 C<modetype>, C<more>, C<multiarch>, C<mv>, C<myarchname>, C<mydomain>,
5744 C<myhostname>, C<myuname>
5748 C<n>, C<netdb_hlen_type>, C<netdb_host_type>, C<netdb_name_type>,
5749 C<netdb_net_type>, C<nm>, C<nm_opt>, C<nm_so_opt>, C<nonxs_ext>, C<nroff>,
5750 C<nvsize>, C<nvtype>
5754 C<o_nonblock>, C<obj_ext>, C<old_pthread_create_joinable>, C<optimize>,
5755 C<orderlib>, C<osname>, C<osvers>, C<otherlibdirs>
5759 C<package>, C<pager>, C<passcat>, C<patchlevel>, C<path_sep>, C<perl5>,
5764 C<PERL_REVISION>, C<PERL_SUBVERSION>, C<PERL_VERSION>, C<perladmin>,
5765 C<perlpath>, C<pg>, C<phostname>, C<pidtype>, C<plibpth>, C<pm_apiversion>,
5766 C<pmake>, C<pr>, C<prefix>, C<prefixexp>, C<privlib>, C<privlibexp>,
5767 C<prototype>, C<ptrsize>
5771 C<quadkind>, C<quadtype>
5775 C<randbits>, C<randfunc>, C<randseedtype>, C<ranlib>, C<rd_nodata>,
5776 C<revision>, C<rm>, C<rmail>, C<runnm>
5780 C<sched_yield>, C<scriptdir>, C<scriptdirexp>, C<sed>, C<seedfunc>,
5781 C<selectminbits>, C<selecttype>, C<sendmail>, C<sh>, C<shar>, C<sharpbang>,
5782 C<shmattype>, C<shortsize>, C<shrpenv>, C<shsharp>, C<sig_count>,
5783 C<sig_name>, C<sig_name_init>, C<sig_num>, C<sig_num_init>, C<signal_t>,
5784 C<sitearch>, C<sitearchexp>, C<sitebin>, C<sitebinexp>, C<sitelib>,
5785 C<sitelib_stem>, C<sitelibexp>, C<siteprefix>, C<siteprefixexp>,
5786 C<sizesize>, C<sizetype>, C<sleep>, C<smail>, C<small>, C<so>,
5787 C<sockethdr>, C<socketlib>, C<socksizetype>, C<sort>, C<spackage>,
5788 C<spitshell>, C<split>, C<sPRId64>, C<sPRIeldbl>, C<sPRIEldbl>,
5789 C<sPRIfldbl>, C<sPRIFldbl>, C<sPRIgldbl>, C<sPRIGldbl>, C<sPRIi64>,
5790 C<sPRIo64>, C<sPRIu64>, C<sPRIx64>, C<sPRIX64>, C<src>, C<ssizetype>,
5791 C<startperl>, C<startsh>, C<static_ext>, C<stdchar>, C<stdio_base>,
5792 C<stdio_bufsiz>, C<stdio_cnt>, C<stdio_filbuf>, C<stdio_ptr>,
5793 C<stdio_stream_array>, C<strings>, C<submit>, C<subversion>, C<sysman>
5797 C<tail>, C<tar>, C<tbl>, C<tee>, C<test>, C<timeincl>, C<timetype>,
5798 C<touch>, C<tr>, C<trnl>, C<troff>
5802 C<u16size>, C<u16type>, C<u32size>, C<u32type>, C<u64size>, C<u64type>,
5803 C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
5804 C<uname>, C<uniq>, C<uquadtype>, C<use5005threads>, C<use64bitall>,
5805 C<use64bitint>, C<usedl>, C<useithreads>, C<uselargefiles>,
5806 C<uselongdouble>, C<usemorebits>, C<usemultiplicity>, C<usemymalloc>,
5807 C<usenm>, C<useopcode>, C<useperlio>, C<useposix>, C<usesfio>,
5808 C<useshrplib>, C<usesocks>, C<usethreads>, C<usevendorprefix>, C<usevfork>,
5809 C<usrinc>, C<uuname>, C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>,
5814 C<vendorarch>, C<vendorarchexp>, C<vendorbin>, C<vendorbinexp>,
5815 C<vendorlib>, C<vendorlib_stem>, C<vendorlibexp>, C<vendorprefix>,
5816 C<vendorprefixexp>, C<version>, C<vi>, C<voidflags>
5820 C<xlibpth>, C<xs_apiversion>
5832 =head2 Cwd, getcwd - get pathname of current working directory
5842 =head2 DB - programmatic interface to the Perl debugging API (draft,
5854 =item Global Variables
5856 $DB::sub, %DB::sub, $DB::single, $DB::signal, $DB::trace, @DB::args,
5857 @DB::dbline, %DB::dbline, $DB::package, $DB::filename, $DB::subname,
5862 CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'),
5863 CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()
5865 =item Client Callback Methods
5867 CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(),
5868 CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(),
5869 CLIENT->output(LIST)
5879 =head2 DB_File - Perl5 access to Berkeley DB version 1.x
5887 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
5891 =item Using DB_File with Berkeley DB version 2 or 3
5893 =item Interface to Berkeley DB
5895 =item Opening a Berkeley DB Database File
5897 =item Default Parameters
5899 =item In Memory Databases
5907 =item A Simple Example
5915 =item Changing the BTREE sort order
5917 =item Handling Duplicate Keys
5919 =item The get_dup() Method
5921 =item The find_dup() Method
5923 =item The del_dup() Method
5925 =item Matching Partial Keys
5933 =item The 'bval' Option
5935 =item A Simple Example
5937 =item Extra RECNO Methods
5939 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
5940 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
5942 =item Another Example
5946 =item THE API INTERFACE
5948 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
5949 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
5950 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
5951 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
5955 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
5956 B<filter_fetch_value>
5962 =item An Example -- the NULL termination problem.
5964 =item Another Example -- Key is a C int.
5968 =item HINTS AND TIPS
5972 =item Locking: The Trouble with fd
5974 =item Safe ways to lock a database
5976 B<Tie::DB_Lock>, B<Tie::DB_LockFile>, B<DB_File::Lock>
5978 =item Sharing Databases With C Applications
5980 =item The untie() Gotcha
5984 =item COMMON QUESTIONS
5988 =item Why is there Perl source in my database?
5990 =item How do I store complex data structures with DB_File?
5992 =item What does "Invalid Argument" mean?
5994 =item What does "Bareword 'DB_File' not allowed" mean?
6014 =head2 Data::Dumper - stringified perl data structures, suitable for both
6015 printing and C<eval>
6027 I<PACKAGE>->new(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Dump I<or>
6028 I<PACKAGE>->Dump(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Seen(I<[HASHREF]>),
6029 I<$OBJ>->Values(I<[ARRAYREF]>), I<$OBJ>->Names(I<[ARRAYREF]>),
6036 =item Configuration Variables or Methods
6038 $Data::Dumper::Indent I<or> I<$OBJ>->Indent(I<[NEWVAL]>),
6039 $Data::Dumper::Purity I<or> I<$OBJ>->Purity(I<[NEWVAL]>),
6040 $Data::Dumper::Pad I<or> I<$OBJ>->Pad(I<[NEWVAL]>),
6041 $Data::Dumper::Varname I<or> I<$OBJ>->Varname(I<[NEWVAL]>),
6042 $Data::Dumper::Useqq I<or> I<$OBJ>->Useqq(I<[NEWVAL]>),
6043 $Data::Dumper::Terse I<or> I<$OBJ>->Terse(I<[NEWVAL]>),
6044 $Data::Dumper::Freezer I<or> $I<OBJ>->Freezer(I<[NEWVAL]>),
6045 $Data::Dumper::Toaster I<or> $I<OBJ>->Toaster(I<[NEWVAL]>),
6046 $Data::Dumper::Deepcopy I<or> $I<OBJ>->Deepcopy(I<[NEWVAL]>),
6047 $Data::Dumper::Quotekeys I<or> $I<OBJ>->Quotekeys(I<[NEWVAL]>),
6048 $Data::Dumper::Bless I<or> $I<OBJ>->Bless(I<[NEWVAL]>),
6049 $Data::Dumper::Maxdepth I<or> $I<OBJ>->Maxdepth(I<[NEWVAL]>)
6069 =head2 Devel::DProf - a Perl code profiler
6077 =item PROFILE FORMAT
6089 =head2 Devel::Peek - A data debugging tool for the XS programmer
6101 =item A simple scalar string
6103 =item A simple scalar number
6105 =item A simple scalar with an extra reference
6107 =item A reference to a simple scalar
6109 =item A reference to an array
6111 =item A reference to a hash
6113 =item Dumping a large array or hash
6115 =item A reference to an SV which holds a C pointer
6117 =item A reference to a subroutine
6131 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
6141 =head2 DirHandle - supply object methods for directory handles
6151 =head2 Dumpvalue - provides screen dump of Perl data.
6163 C<arrayDepth>, C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>,
6164 C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<tick>, C<HighBit>,
6165 C<printUndef>, C<UsageOnly>, unctrl, subdump, bareStringify, quoteHighBit,
6170 dumpValue, dumpValues, dumpvars, set_quote, set_unctrl, compactDump,
6171 veryCompact, set, get
6177 =head2 DynaLoader - Dynamically load C libraries into Perl code
6185 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
6186 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
6187 dl_load_file(), dl_unload_file(), dl_loadflags(), dl_find_symbol(),
6188 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
6195 =head2 DynaLoader::XSLoader, XSLoader - Dynamically load C libraries into
6208 =head2 English - use nice English (or awk) names for ugly punctuation
6221 =head2 Env - perl module that imports environment variables as scalars or
6236 =head2 Errno - System errno constants
6252 =head2 Exporter - Implements default import method for modules
6264 =item Selecting What To Export
6266 =item Specialised Import Lists
6268 =item Constants can be inlined
6270 =item Exporting without using Export's import method
6272 =item Module Version Checking
6274 =item Managing Unknown Symbols
6276 =item Tag Handling Utility Functions
6282 =head2 Exporter::Heavy - Exporter guts
6292 =head2 ExtUtils::Command - utilities to replace common UNIX commands in
6313 mv source... destination
6315 cp source... destination
6333 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
6345 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
6346 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
6356 =head2 ExtUtils::Install - install files from here to there
6366 =head2 ExtUtils::Installed - Inventory management of installed modules
6378 new(), modules(), files(), directories(), directory_tree(), validate(),
6379 packlist(), version()
6387 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
6395 For static extensions, For dynamic extensions, For dynamic extensions
6401 =item LDLOADLIBS and LD_RUN_PATH
6411 =item VMS implementation
6413 =item Win32 implementation
6421 =head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
6430 canonpath, cflags, manifypods, perl_archive
6434 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
6445 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
6457 =item Preloaded methods
6477 =item SelfLoaded methods
6523 file_name_is_absolute
6529 =item Methods to actually produce chunks of text for the Makefile
6569 maybe_command_in_dirs
6607 replace_manpage_separator
6621 test_via_harness (o)
6651 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
6662 =item Methods always loaded
6674 =item SelfLoaded methods
6676 guess_name (override)
6680 find_perl (override)
6684 maybe_command (override)
6686 maybe_command_in_dirs (override)
6688 perl_script (override)
6690 file_name_is_absolute (override)
6692 replace_manpage_separator
6694 init_others (override)
6696 constants (override)
6700 const_cccmd (override)
6702 pm_to_blib (override)
6704 tool_autosplit (override)
6706 tool_sxubpp (override)
6708 xsubpp_version (override)
6710 tools_other (override)
6720 top_targets (override)
6724 dynamic_lib (override)
6726 dynamic_bs (override)
6728 static_lib (override)
6730 manifypods (override)
6732 processPL (override)
6734 installbin (override)
6740 realclean (override)
6742 dist_basics (override)
6744 dist_core (override)
6748 dist_test (override)
6752 perldepend (override)
6758 test_via_harness (override)
6760 test_via_script (override)
6762 makeaperl (override)
6766 =head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
6793 test_via_harness (o)
6795 tool_autosplit (override)
6813 =head2 ExtUtils::MakeMaker - create an extension Makefile
6823 =item How To Write A Makefile.PL
6825 =item Default Makefile Behaviour
6833 =item PREFIX and LIB attribute
6837 =item Static Linking of a new Perl Binary
6839 =item Determination of Perl Library and Installation Locations
6841 =item Which architecture dependent directory?
6843 =item Using Attributes and Parameters
6845 AUTHOR, ABSTRACT, ABSTRACT_FROM, BINARY_LOCATION, C, CAPI, CCFLAGS, CONFIG,
6846 CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS, EXCLUDE_EXT,
6847 EXE_FILES, FIRST_MAKEFILE, FULLPERL, FUNCLIST, H, HTMLLIBPODS,
6848 HTMLSCRIPTPODS, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN,
6849 INSTALLDIRS, INSTALLHTMLPRIVLIBDIR, INSTALLHTMLSCRIPTDIR,
6850 INSTALLHTMLSITELIBDIR, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB,
6851 INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITELIB, INST_ARCHLIB, INST_BIN,
6852 INST_EXE, INST_LIB, INST_HTMLLIBDIR, INST_HTMLSCRIPTDIR, INST_MAN1DIR,
6853 INST_MAN3DIR, INST_SCRIPT, PERL_MALLOC_OK, LDFROM, LIB, LIBPERL_A, LIBS,
6854 LINKTYPE, MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB,
6855 NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_VC, OBJECT, OPTIMIZE, PERL,
6856 PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_SRC, PERM_RW, PERM_RWX, PL_FILES,
6857 PM, PMLIBDIRS, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PREFIX,
6858 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
6861 =item Additional lowercase attributes
6863 clean, depend, dist, dynamic_lib, linkext, macro, realclean, test,
6866 =item Overriding MakeMaker Methods
6868 =item Hintsfile support
6870 =item Distribution Support
6872 make distcheck, make skipcheck, make distclean, make manifest,
6873 make distdir, make tardist, make dist, make uutardist, make
6874 shdist, make zipdist, make ci
6876 =item Disabling an extension
6890 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
6902 =item GLOBAL VARIABLES
6906 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
6907 C<Added to MANIFEST:> I<file>
6915 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
6927 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
6937 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
6946 DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME
6954 =head2 ExtUtils::Packlist - manage .packlist files
6966 new(), read(), write(), validate(), packlist_file()
6974 =head2 ExtUtils::testlib - add blib/* directories to @INC
6984 =head2 Fatal - replace functions with equivalents which succeed or die
6996 =head2 Fcntl - load the C Fcntl.h defines
7006 =item EXPORTED SYMBOLS
7010 =head2 File::Basename, fileparse - split a pathname into pieces
7018 fileparse_set_fstype, fileparse
7022 C<basename>, C<dirname>
7026 =head2 File::CheckTree, validate - run many filetest checks on a tree
7036 =head2 File::Compare - Compare files or filehandles
7050 =head2 File::Copy - Copy files or filehandles
7060 =item Special behaviour if C<syscopy> is defined (OS/2, VMS and Win32)
7062 rmscopy($from,$to[,$date_flag])
7072 =head2 File::DosGlob - DOS like globbing and then some
7080 =item EXPORTS (by request only)
7092 =head2 File::Find, find - traverse a file tree
7100 C<wanted>, C<bydepth>, C<follow>, C<follow_fast>, C<follow_skip>,
7101 C<no_chdir>, C<untaint>, C<untaint_pattern>, C<untaint_skip>
7107 =head2 File::Glob - Perl extension for BSD glob routine
7115 C<GLOB_ERR>, C<GLOB_MARK>, C<GLOB_NOCASE>, C<GLOB_NOCHECK>, C<GLOB_NOSORT>,
7116 C<GLOB_BRACE>, C<GLOB_NOMAGIC>, C<GLOB_QUOTE>, C<GLOB_TILDE>, C<GLOB_CSH>
7120 C<GLOB_NOSPACE>, C<GLOB_ABEND>
7128 =head2 File::Path - create or remove directory trees
7140 =head2 File::Spec - portably perform operations on file names
7154 =head2 File::Spec::Functions - portably perform operations on file names
7172 =head2 File::Spec::Mac - File::Spec for MacOS
7200 file_name_is_absolute
7220 =head2 File::Spec::OS2 - methods for OS/2 file specs
7230 =head2 File::Spec::Unix - methods used by File::Spec
7262 file_name_is_absolute
7284 =head2 File::Spec::VMS - methods for VMS file specs
7300 =item Methods always loaded
7302 canonpath (override)
7320 case_tolerant (override)
7324 file_name_is_absolute (override)
7326 splitpath (override)
7342 =head2 File::Spec::Win32 - methods for Win32 file specs
7372 =head2 File::Temp - return name and handle of a temporary file safely
7394 =item MKTEMP FUNCTIONS
7408 =item POSIX FUNCTIONS
7418 =item ADDITIONAL FUNCTIONS
7426 =item UTILITY FUNCTIONS
7434 =item PACKAGE VARIABLES
7436 B<safe_level>, STANDARD, MEDIUM, HIGH
7454 =head2 File::stat - by-name interface to Perl's built-in stat() functions
7468 =head2 FileCache - keep more files open than the system permits
7480 =head2 FileHandle - supply object methods for filehandles
7488 $fh->print, $fh->printf, $fh->getline, $fh->getlines
7494 =head2 FindBin - Locate directory of original perl script
7502 =item EXPORTABLE VARIABLES
7512 =head2 GDBM_File - Perl5 access to the gdbm library.
7528 =head2 Getopt::Long - Extended processing of command line options
7536 =item Command Line Options, an Introduction
7538 =item Getting Started with Getopt::Long
7542 =item Simple options
7544 =item A little bit less simple options
7546 =item Mixing command line option with other arguments
7548 =item Options with values
7550 =item Options with multiple values
7552 =item Options with hash values
7554 =item User-defined subroutines to handle options
7556 =item Options with multiple names
7558 =item Case and abbreviations
7560 =item Summary of Option Specifications
7562 !, +, s, i, f, : I<type> [ I<desttype> ]
7566 =item Advanced Possibilities
7570 =item Documentation and help texts
7572 =item Storing options in a hash
7576 =item The lonesome dash
7578 =item Argument call-back
7582 =item Configuring Getopt::Long
7584 default, auto_abbrev, getopt_compat, require_order, permute, bundling
7585 (default: reset), bundling_override (default: reset), ignore_case
7586 (default: set), ignore_case_always (default: reset), pass_through (default:
7587 reset), prefix, prefix_pattern, debug (default: reset)
7589 =item Return values and Errors
7595 =item Default destinations
7597 =item Alternative option starters
7599 =item Configuration variables
7605 =item COPYRIGHT AND DISCLAIMER
7609 =head2 Getopt::Std, getopt - Process single-character switches with switch
7620 =head2 I18N::Collate - compare 8-bit scalar data according to the current
7631 =head2 IO - load various IO modules
7641 =head2 IO::Dir - supply object methods for directory handles
7649 new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (),
7650 rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ]
7660 =head2 IO::File - supply object methods for filehandles
7670 new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile
7674 open( FILENAME [,MODE [,PERMS]] )
7682 =head2 IO::Handle - supply object methods for I/O handles
7692 new (), new_from_fd ( FD, MODE )
7696 $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines,
7697 $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error,
7698 $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ),
7699 $io->blocking ( [ BOOL ] ), $io->untaint
7711 =head2 IO::Pipe - supply object methods for pipes
7721 new ( [READER, WRITER] )
7725 reader ([ARGS]), writer ([ARGS]), handles ()
7735 =head2 IO::Poll - Object interface to system poll call
7745 mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove (
7746 IO ), handles( [ EVENT_MASK ] )
7756 =head2 IO::Seekable - supply seek based methods for I/O objects
7770 =head2 IO::Select - OO interface to the select system call
7784 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
7785 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ),
7786 count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
7796 =head2 IO::Socket - Object interface to socket communications
7810 accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), timeout([VAL]),
7811 sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected
7821 =head2 IO::Socket::INET - Object interface for AF_INET domain sockets
7837 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
7850 =head2 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
7864 hostpath(), peerpath()
7874 =head2 IO::lib::IO::Dir, IO::Dir - supply object methods for directory
7883 new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (),
7884 rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ]
7894 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
7904 new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile
7908 open( FILENAME [,MODE [,PERMS]] )
7916 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
7927 new (), new_from_fd ( FD, MODE )
7931 $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines,
7932 $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error,
7933 $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ),
7934 $io->blocking ( [ BOOL ] ), $io->untaint
7946 =head2 IO::lib::IO::Pipe, IO::Pipe - supply object methods for pipes
7956 new ( [READER, WRITER] )
7960 reader ([ARGS]), writer ([ARGS]), handles ()
7970 =head2 IO::lib::IO::Poll, IO::Poll - Object interface to system poll call
7980 mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove (
7981 IO ), handles( [ EVENT_MASK ] )
7991 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
8006 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
8021 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
8022 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ),
8023 count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
8033 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
8048 accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), timeout([VAL]),
8049 sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected
8059 =head2 IO::lib::IO::Socket::INET, IO::Socket::INET - Object interface for
8060 AF_INET domain sockets
8076 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
8089 =head2 IO::lib::IO::Socket::UNIX, IO::Socket::UNIX - Object interface for
8090 AF_UNIX domain sockets
8104 hostpath(), peerpath()
8114 =head2 IPC::Msg - SysV Msg IPC object class
8124 new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set
8125 ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [,
8136 =head2 IPC::Open2, open2 - open a process for both reading and writing
8150 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
8163 =head2 IPC::Semaphore - SysV Semaphore IPC object class
8173 new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ),
8174 getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ),
8175 set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N
8186 =head2 IPC::SysV - SysV IPC constants
8204 =head2 IPC::SysV::Msg, IPC::Msg - SysV Msg IPC object class
8214 new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set
8215 ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [,
8226 =head2 IPC::SysV::Semaphore, IPC::Semaphore - SysV Semaphore IPC object
8237 new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ),
8238 getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ),
8239 set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N
8250 =head2 Math::BigFloat - Arbitrary length float math package
8258 number format, Error returns 'NaN', Division is computed to, Rounding is
8267 =head2 Math::BigInt - Arbitrary size integer math package
8275 Canonical notation, Input, Output
8279 =item Autocreating constants
8287 =head2 Math::Complex - complex numbers and associated mathematical
8300 =item STRINGIFICATION
8304 =item CHANGED IN PERL 5.6
8310 =item ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO
8312 =item ERRORS DUE TO INDIGESTIBLE ARGUMENTS
8320 =head2 Math::Trig - trigonometric functions
8328 =item TRIGONOMETRIC FUNCTIONS
8334 =item ERRORS DUE TO DIVISION BY ZERO
8336 =item SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS
8340 =item PLANE ANGLE CONVERSIONS
8342 =item RADIAL COORDINATE CONVERSIONS
8346 =item COORDINATE SYSTEMS
8348 =item 3-D ANGLE CONVERSIONS
8350 cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian,
8351 cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical
8355 =item GREAT CIRCLE DISTANCES
8365 =head2 NDBM_File - Tied access to ndbm files
8375 =head2 Net::Ping - check a remote host for reachability
8387 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
8388 $timeout]);, $p->close();, pingecho($host [, $timeout]);
8398 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
8415 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
8432 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
8447 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
8464 =head2 O - Generic interface to Perl Compiler backends
8474 =item IMPLEMENTATION
8480 =head2 ODBM_File - Tied access to odbm files
8490 =head2 Opcode - Disable named opcodes when compiling perl code
8502 =item Operator Names and Operator Lists
8504 an operator name (opname), an operator tag name (optag), a negated opname
8505 or optag, an operator set (opset)
8507 =item Opcode Functions
8509 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
8510 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
8511 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
8514 =item Manipulating Opsets
8522 =item Predefined Opcode Tags
8524 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
8525 :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open,
8526 :filesys_write, :subprocess, :ownprocess, :others, :still_to_be_decided,
8535 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
8544 a new namespace, an operator mask
8550 =item RECENT CHANGES
8552 =item Methods in class Safe
8554 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
8555 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
8556 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
8557 root (NAMESPACE), mask (MASK)
8559 =item Some Safety Issues
8561 Memory, CPU, Snooping, Signals, State Changes
8569 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
8582 =head2 POSIX - Perl interface to IEEE Std 1003.1
8596 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
8597 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
8598 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
8599 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
8600 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
8601 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
8602 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
8603 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
8604 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
8605 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
8606 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
8607 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
8608 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
8609 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
8610 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
8611 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
8612 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
8613 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
8614 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
8615 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
8616 strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, strtod,
8617 strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh, tcdrain,
8618 tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times, tmpfile,
8619 tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname, ungetc,
8620 unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid, wcstombs,
8627 =item POSIX::SigAction
8633 new, addset, delset, emptyset, fillset, ismember
8635 =item POSIX::Termios
8637 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
8638 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
8639 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
8640 field values, c_cflag field values, c_iflag field values, c_lflag field
8641 values, c_oflag field values
8645 =item PATHNAME CONSTANTS
8649 =item POSIX CONSTANTS
8653 =item SYSTEM CONFIGURATION
8711 =head2 Pod::Checker, podchecker() - check pod documents for syntax errors
8717 =item OPTIONS/ARGUMENTS
8723 B<-warnings> =E<gt> I<val>
8735 empty =headn, =over on line I<N> without closing =back, =item without
8736 previous =over, =back without previous =over, No argument for =begin, =end
8737 without =begin, Nested =begin's, =for without formatter specification,
8738 unresolved internal link I<NAME>, Unknown command "I<CMD>", Unknown
8739 interior-sequence "I<SEQ>", nested commands
8740 I<CMD>E<lt>...I<CMD>E<lt>...E<gt>...E<gt>, garbled entity I<STRING>, Entity
8741 number out of range, malformed link LE<lt>E<gt>, nonempty ZE<lt>E<gt>,
8742 empty XE<lt>E<gt>, Spurious text after =pod / =cut, Spurious character(s)
8747 multiple occurence of link target I<name>, line containing nothing but
8748 whitespace in paragraph, file does not start with =head, No numeric
8749 argument for =over, previous =item has no contents, preceding non-item
8750 paragraph(s), =item type mismatch (I<one> vs. I<two>), I<N> unescaped
8751 C<E<lt>E<gt>> in paragraph, Unknown entity, No items in =over, No argument
8752 for =item, empty section in previous paragraph, Verbatim paragraph in NAME
8765 C<$checker-E<gt>poderror( @args )>, C<$checker-E<gt>poderror( {%opts},
8768 C<$checker-E<gt>num_errors()>
8770 C<$checker-E<gt>name()>
8772 C<$checker-E<gt>node()>
8774 C<$checker-E<gt>idx()>
8776 C<$checker-E<gt>hyperlink()>
8784 =head2 Pod::Find - find POD documents in directory trees
8794 B<-verbose>, B<-perl>, B<-script>, B<-inc>
8802 =head2 Pod::Html - module to convert pod files to HTML
8812 backlink, css, flush, header, help, htmldir, htmlroot, index, infile,
8813 libpods, netscape, outfile, podpath, podroot, quiet, recurse, title,
8828 =head2 Pod::InputObjects - objects representing POD input paragraphs,
8841 B<Pod::InputSource>, B<Pod::Paragraph>, B<Pod::InteriorSequence>,
8848 =item B<Pod::InputSource>
8872 =item B<was_cutting()>
8878 =item B<Pod::Paragraph>
8908 =item B<cmd_prefix()>
8914 =item B<cmd_separator()>
8920 =item B<parse_tree()>
8926 =item B<file_line()>
8932 =item B<Pod::InteriorSequence>
8974 =item B<left_delimiter()>
8980 =item B<right_delimiter()>
8986 =item B<parse_tree()>
8992 =item B<file_line()>
9004 =item B<Pod::ParseTree>
9058 =head2 Pod::LaTeX - Convert Pod data to formatted Latex
9070 =item OBJECT METHODS
9078 =item Data Accessors
9094 B<ReplaceNAMEwithSection>
9110 =item Subclassed methods
9124 B<interior_sequence>
9140 =item Methods for headings
9148 =item Internal methods
9154 B<_replace_special_chars>
9160 B<_clean_latex_commands>
9176 =head2 Pod::Man - Convert POD data to formatted *roff input
9184 center, date, fixed, fixedbold, fixeditalic, fixedbolditalic, release,
9189 roff font should be 1 or 2 chars, not `%s', Invalid link %s, Unknown escape
9190 EE<lt>%sE<gt>, Unknown sequence %s, Unmatched =back
9200 =head2 Pod::ParseUtils - helpers for POD parsing and conversion
9236 =item Pod::Hyperlink
9276 =item Pod::Cache::Item
9304 =head2 Pod::Parser - base class for creating POD filters and translators
9316 =item QUICK OVERVIEW
9318 =item PARSING OPTIONS
9320 B<-want_nonPODs> (default: unset), B<-process_cut_cmd> (default: unset),
9321 B<-warnings> (default: unset)
9327 =item RECOMMENDED SUBROUTINE/METHOD OVERRIDES
9335 C<$cmd>, C<$text>, C<$line_num>, C<$pod_para>
9343 C<$text>, C<$line_num>, C<$pod_para>
9349 =item B<textblock()>
9351 C<$text>, C<$line_num>, C<$pod_para>
9357 =item B<interior_sequence()>
9363 =item OPTIONAL SUBROUTINE/METHOD OVERRIDES
9375 =item B<initialize()>
9381 =item B<begin_pod()>
9387 =item B<begin_input()>
9393 =item B<end_input()>
9405 =item B<preprocess_line()>
9411 =item B<preprocess_paragraph()>
9417 =item METHODS FOR PARSING AND PROCESSING
9423 =item B<parse_text()>
9425 B<-expand_seq> =E<gt> I<code-ref>|I<method-name>, B<-expand_text> =E<gt>
9426 I<code-ref>|I<method-name>, B<-expand_ptree> =E<gt>
9427 I<code-ref>|I<method-name>
9433 =item B<interpolate()>
9439 =item B<parse_paragraph()>
9445 =item B<parse_from_filehandle()>
9451 =item B<parse_from_file()>
9457 =item ACCESSOR METHODS
9475 =item B<parseopts()>
9481 =item B<output_file()>
9487 =item B<output_handle()>
9493 =item B<input_file()>
9499 =item B<input_handle()>
9505 =item B<input_streams()>
9511 =item B<top_stream()>
9517 =item PRIVATE METHODS AND DATA
9523 =item B<_push_input_stream()>
9529 =item B<_pop_input_stream()>
9535 =item TREE-BASED PARSING
9543 =head2 Pod::Plainer - Perl extension for converting Pod to old style Pod.
9563 =head2 Pod::Select, podselect() - extract selected sections of POD from
9576 =item SECTION SPECIFICATIONS
9578 =item RANGE SPECIFICATIONS
9584 =item OBJECT METHODS
9590 =item B<curr_headings()>
9602 =item B<add_selection()>
9608 =item B<clear_selections()>
9614 =item B<match_section()>
9620 =item B<is_selected()>
9626 =item EXPORTED FUNCTIONS
9632 =item B<podselect()>
9634 B<-output>, B<-sections>, B<-ranges>
9640 =item PRIVATE METHODS AND DATA
9646 =item B<_compile_section_spec()>
9652 =item $self->{_SECTION_HEADINGS}
9658 =item $self->{_SELECTED_SECTIONS}
9670 =head2 Pod::Text - Convert POD data to formatted ASCII text
9678 alt, indent, loose, sentence, width
9682 Bizarre space in item, Can't open %s for reading: %s, Unknown escape: %s,
9683 Unknown sequence: %s, Unmatched =back
9695 =head2 Pod::Text::Color - Convert POD data to formatted color ASCII text
9711 =head2 Pod::Text::Termcap, Pod::Text::Color - Convert POD data to ASCII
9712 text with format escapes
9726 =head2 Pod::Usage, pod2usage() - print a usage message from embedded pod
9735 C<-message>, C<-msg>, C<-exitval>, C<-verbose>, C<-output>, C<-input>,
9744 =item Recommended Use
9752 =item ACKNOWLEDGEMENTS
9756 =head2 SDBM_File - Tied access to sdbm files
9766 =head2 Safe - Compile and execute code in restricted compartments
9774 a new namespace, an operator mask
9780 =item RECENT CHANGES
9782 =item Methods in class Safe
9784 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
9785 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
9786 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
9787 root (NAMESPACE), mask (MASK)
9789 =item Some Safety Issues
9791 Memory, CPU, Snooping, Signals, State Changes
9799 =head2 Search::Dict, look - search for key in dictionary file
9809 =head2 SelectSaver - save and restore selected file handle
9819 =head2 SelfLoader - load functions only on demand
9829 =item The __DATA__ token
9831 =item SelfLoader autoloading
9833 =item Autoloading and package lexicals
9835 =item SelfLoader and AutoLoader
9837 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
9839 =item Classes and inherited methods.
9843 =item Multiple packages and fully qualified subroutine names
9847 =head2 Shell - run shell commands transparently within perl
9859 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
9860 socket.h defines and structure manipulators
9868 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
9869 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
9870 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
9871 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
9872 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
9876 =head2 Symbol - manipulate Perl symbols and their names
9886 =head2 Sys::Hostname - Try every conceivable way to get hostname
9898 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
9899 interface to the UNIX syslog(3) calls
9907 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
9908 setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02),
9919 =head2 Syslog::Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog -
9920 Perl interface to the UNIX syslog(3) calls
9928 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
9929 setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02),
9940 =head2 Term::ANSIColor - Color screen output using ANSI escape sequences
9950 Invalid attribute name %s, Identifier %s used only once: possible typo, No
9951 comma allowed after filehandle, Bareword %s not allowed while "strict subs"
9960 =head2 Term::Cap - Perl termcap interface
9972 =head2 Term::Complete - Perl word completion module
9980 E<lt>tabE<gt>, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
9990 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
9991 no real package is found, substitutes stubs instead of basic functions.
9999 =item Minimal set of supported functions
10001 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
10002 C<MinLine>, C<findConsole>, Attribs, C<Features>
10004 =item Additional supported functions
10006 C<tkRunning>, C<ornaments>, C<newTTY>
10014 =head2 Test - provides a simple framework for writing test scripts
10024 NORMAL TESTS, SKIPPED TESTS, TODO TESTS
10036 =head2 Test::Harness - run perl standard test scripts with statistics
10046 =item The test script output
10054 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
10055 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
10056 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
10069 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
10081 =head2 Text::ParseWords - parse text into an array of tokens or array of
10092 0 a simple word, 1 multiple spaces are skipped because of our $delim, 2 use
10093 of quotes to include a space in a word, 3 use of a backslash to include a
10094 space in a word, 4 use of a backslash to remove the special meaning of a
10095 double-quote, 5 another simple word (note the lack of effect of the
10096 backslashed double-quote)
10102 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
10119 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
10134 =head2 Text::Wrap - line wrapping to form simple paragraphs
10148 =head2 Thread - manipulate threads in Perl (EXPERIMENTAL, subject to
10159 new \&start_sub, new \&start_sub, LIST, lock VARIABLE, async BLOCK;,
10160 Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE,
10161 cond_broadcast VARIABLE, yield
10165 join, eval, detach, equal, tid
10173 =head2 Thread::Queue - thread-safe queues
10181 =item FUNCTIONS AND METHODS
10183 new, enqueue LIST, dequeue, dequeue_nb, pending
10189 =head2 Thread::Semaphore - thread-safe semaphores
10197 =item FUNCTIONS AND METHODS
10199 new, new NUMBER, down, down NUMBER, up, up NUMBER
10203 =head2 Thread::Signal - Start a thread which runs signal handlers reliably
10215 =head2 Thread::Specific - thread-specific keys
10225 =head2 Tie::Array - base class for tied arrays
10233 TIEARRAY classname, LIST, STORE this, index, value, FETCH this, index,
10234 FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
10235 key, DELETE this, key, CLEAR this, DESTROY this, PUSH this, LIST, POP this,
10236 SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST
10244 =head2 Tie::Handle, Tie::StdHandle - base class definitions for tied
10253 TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this,
10254 LIST, PRINTF this, format, LIST, READ this, scalar, length, offset,
10255 READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this,
10256 EOF this, TELL this, SEEK this, offset, whence, DESTROY this
10258 =item MORE INFORMATION
10262 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
10270 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
10271 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
10275 =item MORE INFORMATION
10279 =head2 Tie::RefHash - use references as hash keys
10297 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
10306 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
10308 =item MORE INFORMATION
10312 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
10324 =head2 Time::Local - efficiently compute time from local and GMT time
10332 =item IMPLEMENTATION
10338 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
10353 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
10368 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
10380 =head2 UNIVERSAL - base class for ALL classes (blessed references)
10388 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), UNIVERSAL::isa (
10389 VAL, TYPE ), UNIVERSAL::can ( VAL, METHOD )
10393 =head2 User::grent - by-name interface to Perl's built-in getgr*()
10408 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
10419 =item System Specifics
10433 =head2 XSLoader - Dynamically load C libraries into Perl code
10445 =head1 AUXILIARY DOCUMENTATION
10447 Here should be listed all the extra programs' documentation, but they
10448 don't all have manual pages yet:
10474 Larry Wall <F<larry@wall.org>>, with the help of oodles