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 inmy C program, what am I doing wrong?, When I tried to run my
99 script, I got this message. What does itmean?, 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 E<lt>E<lt>HERE documents work?, What
125 is the difference between a list and an array?, What is the difference
126 between $array[1] and @array[1]?, How can I remove duplicate elements from
127 a list 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 E<lt>*E<gt>?, Is
165 there a leak/bug in glob()?, How can I open a file with a leading "E<gt>"
166 or trailing blanks?, How can I reliably rename a file?, How can I lock a
167 file?, Why can't I just open(FH, ">file.lock")?, I still don't get locking.
168 I just want to increment the number in the file. How can I do this?, How
169 do I randomly update a binary file?, How do I get a file's timestamp in
170 perl?, How do I set a file's timestamp in perl?, How do I print to more
171 than one file at once?, How can I read in an entire file all at once?, How
172 can I read in a file by paragraphs?, How can I read a single character from
173 a 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) = E<lt>FILEE<gt>;" work right?, How do I
214 redefine a builtin function, operator, or method?, What's the difference
215 between calling a function as &foo and foo()?, How do I create a switch or
216 case 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
386 *Learning Perl [2nd edition]
387 by Randal L. Schwartz and Tom Christiansen
388 with foreword by Larry Wall, Task-Oriented, Special Topics
390 =item Perl in Magazines
392 =item Perl on the Net: FTP and WWW Access
394 =item What mailing lists are there for Perl?
396 =item Archives of comp.lang.perl.misc
398 =item Where can I buy a commercial version of Perl?
400 =item Where do I send bug reports?
402 =item What is perl.com? Perl Mongers? pm.org? perl.org?
406 =item AUTHOR AND COPYRIGHT
410 =head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23
419 =item How do I do (anything)?
421 =item How can I use Perl interactively?
423 =item Is there a Perl shell?
425 =item How do I debug my Perl programs?
427 =item How do I profile my Perl programs?
429 =item How do I cross-reference my Perl programs?
431 =item Is there a pretty-printer (formatter) for Perl?
433 =item Is there a ctags for Perl?
435 =item Is there an IDE or Windows Perl Editor?
437 =item Where can I get Perl macros for vi?
439 =item Where can I get perl-mode for emacs?
441 =item How can I use curses with Perl?
443 =item How can I use X or Tk with Perl?
445 =item How can I generate simple menus without using CGI or Tk?
447 =item What is undump?
449 =item How can I make my Perl program run faster?
451 =item How can I make my Perl program take less memory?
453 =item Is it unsafe to return a pointer to local data?
455 =item How can I free an array or hash so my program shrinks?
457 =item How can I make my CGI script more efficient?
459 =item How can I hide the source for my Perl program?
461 =item How can I compile my Perl program into byte code or C?
463 =item How can I compile Perl into Java?
465 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
467 =item Can I write useful Perl programs on the command line?
469 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
471 =item Where can I learn about CGI or Web programming in Perl?
473 =item Where can I learn about object-oriented Perl programming?
475 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
477 =item I've read perlembed, perlguts, etc., but I can't embed perl in
478 my C program, what am I doing wrong?
480 =item When I tried to run my script, I got this message. What does it
483 =item What's MakeMaker?
487 =item AUTHOR AND COPYRIGHT
491 =head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23
502 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
503 numbers I should be getting (eg, 19.95)?
505 =item Why isn't my octal data interpreted correctly?
507 =item Does Perl have a round() function? What about ceil() and floor()?
510 =item How do I convert bits into ints?
512 =item Why doesn't & work the way I want it to?
514 =item How do I multiply matrices?
516 =item How do I perform an operation on a series of integers?
518 =item How can I output Roman numerals?
520 =item Why aren't my random numbers random?
528 =item How do I find the week-of-the-year/day-of-the-year?
530 =item How do I find the current century or millennium?
532 =item How can I compare two dates and find the difference?
534 =item How can I take a string and turn it into epoch seconds?
536 =item How can I find the Julian Day?
538 =item How do I find yesterday's date?
540 =item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
548 =item How do I validate input?
550 =item How do I unescape a string?
552 =item How do I remove consecutive pairs of characters?
554 =item How do I expand function calls in a string?
556 =item How do I find matching/nesting anything?
558 =item How do I reverse a string?
560 =item How do I expand tabs in a string?
562 =item How do I reformat a paragraph?
564 =item How can I access/change the first N letters of a string?
566 =item How do I change the Nth occurrence of something?
568 =item How can I count the number of occurrences of a substring within a
571 =item How do I capitalize all the words on one line?
573 =item How can I split a [character] delimited string except when inside
574 [character]? (Comma-separated files)
576 =item How do I strip blank space from the beginning/end of a string?
578 =item How do I pad a string with blanks or pad a number with zeroes?
580 =item How do I extract selected columns from a string?
582 =item How do I find the soundex value of a string?
584 =item How can I expand variables in text strings?
586 =item What's wrong with always quoting "$vars"?
588 =item Why don't my E<lt>E<lt>HERE documents work?
590 1. There must be no space after the << part, 2. There (probably) should be
591 a semicolon at the end, 3. You can't (easily) have any space in front of
600 =item What is the difference between a list and an array?
602 =item What is the difference between $array[1] and @array[1]?
604 =item How can I remove duplicate elements from a list or array?
606 a) If @in is sorted, and you want @out to be sorted:(this assumes all true
607 values in the array), b) If you don't know whether @in is sorted:, c) Like
608 (b), but @in contains only small integers:, d) A way to do (b) without any
609 loops or greps:, e) Like (d), but @in contains only small positive
612 =item How can I tell whether a list or array contains a certain element?
614 =item How do I compute the difference of two arrays? How do I compute the
615 intersection of two arrays?
617 =item How do I test whether two arrays or hashes are equal?
619 =item How do I find the first array element for which a condition is true?
621 =item How do I handle linked lists?
623 =item How do I handle circular lists?
625 =item How do I shuffle an array randomly?
627 =item How do I process/modify each element of an array?
629 =item How do I select a random element from an array?
631 =item How do I permute N elements of a list?
633 =item How do I sort an array by (anything)?
635 =item How do I manipulate arrays of bits?
637 =item Why does defined() return true on empty arrays and hashes?
641 =item Data: Hashes (Associative Arrays)
645 =item How do I process an entire hash?
647 =item What happens if I add or remove keys from a hash while iterating over
650 =item How do I look up a hash element by value?
652 =item How can I know how many entries are in a hash?
654 =item How do I sort a hash (optionally by value instead of key)?
656 =item How can I always keep my hash sorted?
658 =item What's the difference between "delete" and "undef" with hashes?
660 =item Why don't my tied hashes make the defined/exists distinction?
662 =item How do I reset an each() operation part-way through?
664 =item How can I get the unique keys from two hashes?
666 =item How can I store a multidimensional array in a DBM file?
668 =item How can I make my hash remember the order I put elements into it?
670 =item Why does passing a subroutine an undefined element in a hash create
673 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
674 array of hashes or arrays?
676 =item How can I use a reference as a hash key?
684 =item How do I handle binary data correctly?
686 =item How do I determine whether a scalar is a number/whole/integer/float?
688 =item How do I keep persistent data across program calls?
690 =item How do I print out or copy a recursive data structure?
692 =item How do I define methods for every class/object?
694 =item How do I verify a credit card checksum?
696 =item How do I pack arrays of doubles or floats for XS code?
700 =item AUTHOR AND COPYRIGHT
704 =head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23
713 =item How do I flush/unbuffer an output filehandle? Why must I do this?
715 =item How do I change one line in a file/delete a line in a file/insert a
716 line in the middle of a file/append to the beginning of a file?
718 =item How do I count the number of lines in a file?
720 =item How do I make a temporary file name?
722 =item How can I manipulate fixed-record-length files?
724 =item How can I make a filehandle local to a subroutine? How do I pass
725 filehandles between subroutines? How do I make an array of filehandles?
727 =item How can I use a filehandle indirectly?
729 =item How can I set up a footer format to be used with write()?
731 =item How can I write() into a string?
733 =item How can I output my numbers with commas added?
735 =item How can I translate tildes (~) in a filename?
737 =item How come when I open a file read-write it wipes it out?
739 =item Why do I sometimes get an "Argument list too long" when I use
742 =item Is there a leak/bug in glob()?
744 =item How can I open a file with a leading "E<gt>" or trailing blanks?
746 =item How can I reliably rename a file?
748 =item How can I lock a file?
750 =item Why can't I just open(FH, ">file.lock")?
752 =item I still don't get locking. I just want to increment the number in
753 the file. How can I do this?
755 =item How do I randomly update a binary file?
757 =item How do I get a file's timestamp in perl?
759 =item How do I set a file's timestamp in perl?
761 =item How do I print to more than one file at once?
763 =item How can I read in an entire file all at once?
765 =item How can I read in a file by paragraphs?
767 =item How can I read a single character from a file? From the keyboard?
769 =item How can I tell whether there's a character waiting on a filehandle?
771 =item How do I do a C<tail -f> in perl?
773 =item How do I dup() a filehandle in Perl?
775 =item How do I close a file descriptor by number?
777 =item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
778 `C:\temp\foo.exe` work?
780 =item Why doesn't glob("*.*") get all the files?
782 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
783 protected files? Isn't this a bug in Perl?
785 =item How do I select a random line from a file?
787 =item Why do I get weird spaces when I print an array of lines?
791 =item AUTHOR AND COPYRIGHT
795 =head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
803 =item How can I hope to use regular expressions without creating illegible
804 and unmaintainable code?
806 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
808 =item I'm having trouble matching over more than one line. What's wrong?
810 =item How can I pull out lines between two patterns that are themselves on
813 =item I put a regular expression into $/ but it didn't work. What's wrong?
815 =item How do I substitute case insensitively on the LHS, but preserving
818 =item How can I make C<\w> match national character sets?
820 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
822 =item How can I quote a variable to use in a regex?
824 =item What is C</o> really for?
826 =item How do I use a regular expression to strip C style comments from a
829 =item Can I use Perl regular expressions to match balanced text?
831 =item What does it mean that regexes are greedy? How can I get around it?
833 =item How do I process each word on each line?
835 =item How can I print out a word-frequency or line-frequency summary?
837 =item How can I do approximate matching?
839 =item How do I efficiently match many regular expressions at once?
841 =item Why don't word-boundary searches with C<\b> work for me?
843 =item Why does using $&, $`, or $' slow my program down?
845 =item What good is C<\G> in a regular expression?
847 =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
849 =item What's wrong with using grep or map in a void context?
851 =item How can I match strings with multibyte characters?
853 =item How do I match a pattern that is supplied by the user?
857 =item AUTHOR AND COPYRIGHT
861 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date:
862 1999/05/23 20:36:18 $)
870 =item Can I get a BNF/yacc/RE for the Perl language?
872 =item What are all these $@%&* punctuation signs, and how do I know when to
875 =item Do I always/never have to quote my strings or use semicolons and
878 =item How do I skip some return values?
880 =item How do I temporarily block warnings?
882 =item What's an extension?
884 =item Why do Perl operators have different precedence than C operators?
886 =item How do I declare/create a structure?
888 =item How do I create a module?
890 =item How do I create a class?
892 =item How can I tell if a variable is tainted?
894 =item What's a closure?
896 =item What is variable suicide and how can I prevent it?
898 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
901 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
904 =item How do I create a static variable?
906 =item What's the difference between dynamic and lexical (static) scoping?
907 Between local() and my()?
909 =item How can I access a dynamic variable while a similarly named lexical
912 =item What's the difference between deep and shallow binding?
914 =item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
916 =item How do I redefine a builtin function, operator, or method?
918 =item What's the difference between calling a function as &foo and foo()?
920 =item How do I create a switch or case statement?
922 =item How can I catch accesses to undefined variables/functions/methods?
924 =item Why can't a method included in this same file be found?
926 =item How can I find out my current package?
928 =item How can I comment out a large block of perl code?
930 =item How do I clear a package?
932 =item How can I use a variable as a variable name?
936 =item AUTHOR AND COPYRIGHT
940 =head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23
949 =item How do I find out which operating system I'm running under?
951 =item How come exec() doesn't return?
953 =item How do I do fancy stuff with the keyboard/screen/mouse?
955 Keyboard, Screen, Mouse
957 =item How do I print something out in color?
959 =item How do I read just one key without waiting for a return key?
961 =item How do I check whether input is ready on the keyboard?
963 =item How do I clear the screen?
965 =item How do I get the screen size?
967 =item How do I ask the user for a password?
969 =item How do I read and write the serial port?
971 lockfiles, open mode, end of line, flushing output, non-blocking input
973 =item How do I decode encrypted password files?
975 =item How do I start a process in the background?
977 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
979 =item How do I trap control characters/signals?
981 =item How do I modify the shadow password file on a Unix system?
983 =item How do I set the time and date?
985 =item How can I sleep() or alarm() for under a second?
987 =item How can I measure time under a second?
989 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
991 =item Why doesn't my sockets program work under System V (Solaris)? What
992 does the error message "Protocol not supported" mean?
994 =item How can I call my system's unique C functions from Perl?
996 =item Where do I get the include files to do ioctl() or syscall()?
998 =item Why do setuid perl scripts complain about kernel problems?
1000 =item How can I open a pipe both to and from a command?
1002 =item Why can't I get the output of a command with system()?
1004 =item How can I capture STDERR from an external command?
1006 =item Why doesn't open() return an error when a pipe open fails?
1008 =item What's wrong with using backticks in a void context?
1010 =item How can I call backticks without shell processing?
1012 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1015 =item How can I convert my shell script to perl?
1017 =item Can I use perl to run a telnet or ftp session?
1019 =item How can I write expect in Perl?
1021 =item Is there a way to hide perl's command line from programs such as
1024 =item I {changed directory, modified my environment} in a perl script. How
1025 come the change disappeared when I exited the script? How do I get my
1026 changes to be visible?
1030 =item How do I close a process's filehandle without waiting for it to
1033 =item How do I fork a daemon process?
1035 =item How do I make my program run with sh and csh?
1037 =item How do I find out if I'm running interactively or not?
1039 =item How do I timeout a slow event?
1041 =item How do I set CPU limits?
1043 =item How do I avoid zombies on a Unix system?
1045 =item How do I use an SQL database?
1047 =item How do I make a system() exit on control-C?
1049 =item How do I open a file without blocking?
1051 =item How do I install a module from CPAN?
1053 =item What's the difference between require and use?
1055 =item How do I keep my own module/library directory?
1057 =item How do I add the directory my program lives in to the module/library
1060 =item How do I add a directory to my include path at runtime?
1062 =item What is socket.ph and where do I get it?
1066 =item AUTHOR AND COPYRIGHT
1070 =head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30
1079 =item My CGI script runs from the command line but not the browser. (500
1082 =item How can I get better error messages from a CGI program?
1084 =item How do I remove HTML from a string?
1086 =item How do I extract URLs?
1088 =item How do I download a file from the user's machine? How do I open a
1089 file on another machine?
1091 =item How do I make a pop-up menu in HTML?
1093 =item How do I fetch an HTML file?
1095 =item How do I automate an HTML form submission?
1097 =item How do I decode or create those %-encodings on the web?
1099 =item How do I redirect to another page?
1101 =item How do I put a password on my web pages?
1103 =item How do I edit my .htpasswd and .htgroup files with Perl?
1105 =item How do I make sure users can't enter values into a form that cause my
1106 CGI script to do bad things?
1108 =item How do I parse a mail header?
1110 =item How do I decode a CGI form?
1112 =item How do I check a valid mail address?
1114 =item How do I decode a MIME/BASE64 string?
1116 =item How do I return the user's mail address?
1118 =item How do I send mail?
1120 =item How do I read mail?
1122 =item How do I find out my hostname/domainname/IP address?
1124 =item How do I fetch a news article or the active newsgroups?
1126 =item How do I fetch/put an FTP file?
1128 =item How can I do RPC in Perl?
1132 =item AUTHOR AND COPYRIGHT
1136 =head2 perldelta - what's new for perl v5.6 (as of v5.005_64)
1142 =item Incompatible Changes
1146 =item Perl Source Incompatibilities
1148 CHECK is a new keyword, Treatment of list slices of undef has changed
1150 =item Perl's version numbering has changed
1152 Literals of the form C<1.2.3> parse differently, Possibly changed
1153 pseudo-random number generator, Hashing function for hash keys has changed,
1154 C<undef> fails on read only values, Close-on-exec bit may be set on pipe
1155 and socket handles, Writing C<"$$1"> to mean C<"${$}1"> is unsupported,
1156 delete(), values() and C<\(%h)> operate on aliases to values, not copies,
1157 vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic
1158 output has changed, C<%@> has been removed, Parenthesized not() behaves
1159 like a list operator, Semantics of bareword prototype C<(*)> have changed
1161 =item On 64-bit platforms the semantics of bit operators have changed
1163 =item C Source Incompatibilities
1165 C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
1167 =item Compatible C Source API Changes
1169 C<PATCHLEVEL> is now C<PERL_VERSION>, Support for C++ exceptions
1171 =item Binary Incompatibilities
1175 =item Installation and Configuration Improvements
1179 =item -Dusethreads means something different
1181 =item New Configure flags
1183 =item Threadedness and 64-bitness now more daring
1189 =item -Duselargefiles
1191 =item installusrbinperl
1197 =item Enhanced Installation Directories
1205 =item Unicode and UTF-8 support
1207 =item Interpreter cloning, threads, and concurrency
1209 =item Lexically scoped warning categories
1211 =item Lvalue subroutines
1213 =item "our" declarations
1215 =item Support for strings represented as a vector of ordinals
1217 =item Weak references
1219 =item File globbing implemented internally
1221 =item Binary numbers supported
1223 =item Some arrows may be omitted in calls through references
1225 =item exists() is supported on subroutine names
1227 =item exists() and delete() are supported on array elements
1229 =item syswrite() ease-of-use
1231 =item File and directory handles can be autovivified
1233 =item 64-bit support
1235 =item Large file support
1241 =item Enhanced support for sort() subroutines
1243 =item Better syntax checks on parenthesized unary operators
1245 =item POSIX character class syntax [: :] supported
1247 =item Improved C<qw//> operator
1249 =item pack() format 'Z' supported
1251 =item pack() format modifier '!' supported
1253 =item pack() and unpack() support counted strings
1255 =item Comments in pack() templates
1257 =item $^X variables may now have names longer than one character
1259 =item C<use attrs> implicit in subroutine attributes
1261 =item Regular expression improvements
1263 =item Overloading improvements
1265 =item open() with more than two arguments
1267 =item Support for interpolating named characters
1269 =item Experimental support for user-hooks in @INC
1271 =item C<require> and C<do> may be overridden
1273 =item New variable $^C reflects C<-c> switch
1275 =item New variable $^V contains Perl version in v5.6.0 format
1277 =item Optional Y2K warnings
1281 =item Significant bug fixes
1285 =item E<lt>HANDLEE<gt> on empty files
1287 =item C<eval '...'> improvements
1289 =item All compilation errors are true errors
1291 =item Automatic flushing of output buffers
1293 =item Better diagnostics on meaningless filehandle operations
1295 =item Where possible, buffered data discarded from duped input filehandle
1297 =item eof() has the same old magic as <>
1299 =item system(), backticks and pipe open now reflect exec() failure
1301 =item Implicitly closed filehandles are safer
1303 =item C<(\$)> prototype and C<$foo{a}>
1305 =item Pseudo-hashes work better
1307 =item C<goto &sub> and AUTOLOAD
1309 =item C<-bareword> allowed under C<use integer>
1311 =item Boolean assignment operators are legal lvalues
1313 =item C<sort $coderef @foo> allowed
1315 =item Failures in DESTROY()
1317 =item Locale bugs fixed
1321 =item Spurious subroutine stubs after failed subroutine calls
1323 =item Consistent numeric conversions
1325 =item Taint failures under C<-U>
1327 =item END blocks and the C<-c> switch
1329 =item Potential to leak DATA filehandles
1331 =item Diagnostics follow STDERR
1333 =item Other fixes for better diagnostics
1337 =item Performance enhancements
1341 =item Simple sort() using { $a <=> $b } and the like are optimized
1343 =item Optimized assignments to lexical variables
1345 =item Method lookups optimized
1347 =item Faster mechanism to invoke XSUBs
1349 =item Perl_malloc() improvements
1351 =item Faster subroutine calls
1355 =item Platform specific changes
1359 =item Additional supported platforms
1373 =item Modules and Pragmata
1379 attributes, B, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File,
1380 Devel::DProf, Dumpvalue, Benchmark, Devel::Peek, English,
1381 ExtUtils::MakeMaker, Fcntl, File::Compare, File::Find, File::Glob,
1382 File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib,
1383 Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects,
1384 Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select,
1385 podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File,
1386 Sys::Syslog, Sys::Hostname, Time::Local, Win32, DBM Filters
1392 =item Utility Changes
1404 =item Documentation Changes
1406 perlapi.pod, perlcompile.pod, perlfilter.pod, perlhack.pod, perlintern.pod,
1407 perlopentut.pod, perlreftut.pod, perlboot.pod, perltootc.pod,
1410 =item New or Changed Diagnostics
1412 "%s" variable %s masks earlier declaration in same %s, "my sub" not yet
1413 implemented, "our" variable %s redeclared, '!' allowed only after types %s,
1414 / cannot take a count, / must be followed by a, A or Z, / must be followed
1415 by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
1416 \\%c passed through, /%s/: Unrecognized escape \\%c in character class
1417 passed through, /%s/ should probably be written as "%s", %s() called too
1418 early to check prototype, %s argument is not a HASH or ARRAY element, %s
1419 argument is not a HASH or ARRAY element or slice, %s argument is not a
1420 subroutine name, %s package attribute may clash with future reserved word:
1421 %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad
1422 evalled substitution pattern, Bad realloc() ignored, Bareword found in
1423 conditional, Binary number > 0b11111111111111111111111111111111
1424 non-portable, Bit vector size > 32 non-portable, Buffer overflow in
1425 prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare
1426 class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore
1427 signal CHLD, forcing to default, Can't modify non-lvalue subroutine call,
1428 Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return
1429 %s from lvalue subroutine, Can't weaken a nonreference, Character class
1430 [:%s:] unknown, Character class syntax [%s] belongs inside character
1431 classes, Constant is not %s reference, constant(%s): %%^H is not localized,
1432 constant(%s): %s, defined(@array) is deprecated, defined(%hash) is
1433 deprecated, Did not produce a valid header, Did you mean "local" instead of
1434 "our"?, Document contains no data, entering effective %s failed, false []
1435 range "%s" in regexp, Filehandle %s opened only for output, flock() on
1436 closed filehandle %s, Global symbol "%s" requires explicit package name,
1437 Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value
1438 "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s,
1439 Illegal binary digit %s ignored, Illegal number of bits in vec, Integer
1440 overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s,
1441 invalid [] range "%s" in regexp, Invalid separator character %s in
1442 attribute list, Invalid separator character %s in subroutine attribute
1443 list, leaving effective %s failed, Lvalue subs returning %s not implemented
1444 yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in
1445 piped open, Missing name in "my sub", No %s specified for -%c, No package
1446 name allowed for variable %s in "our", No space allowed after -%c, no UTC
1447 offset information; assuming local time is UTC, Octal number > 037777777777
1448 non-portable, panic: del_backref, panic: kid popen errno read, panic:
1449 magic_killbackrefs, Parentheses missing around "%s" list, Possible Y2K bug:
1450 %s, Premature end of script headers, Repeat count in pack overflows, Repeat
1451 count in unpack overflows, realloc() of freed memory ignored, Reference is
1452 already weak, setpgrp can't take arguments, Strange *+?{} on zero-length
1453 expression, switching effective %s is not implemented, This Perl can't
1454 reset CRTL environ elements (%s), This Perl can't set CRTL environ elements
1455 (%s=%s), Unknown open() mode '%s', Unknown process %x sent message to
1456 prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated
1457 attribute parameter in attribute list, Unterminated attribute list,
1458 Unterminated attribute parameter in subroutine attribute list, Unterminated
1459 subroutine attribute list, Value of CLI symbol "%s" too long, Version
1460 number must be a constant number
1462 =item Obsolete Diagnostics
1464 Character class syntax [: :] is reserved for future extensions, Ill-formed
1465 logical name |%s| in prime_env_iter, Probable precedence problem on %s,
1466 regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated
1476 =head2 perldata - Perl data types
1484 =item Variable names
1490 =item Scalar value constructors
1492 =item List value constructors
1496 =item Typeglobs and Filehandles
1504 =head2 perlsyn - Perl syntax
1514 =item Simple statements
1516 =item Compound statements
1524 =item Basic BLOCKs and Switch Statements
1528 =item PODs: Embedded Documentation
1530 =item Plain Old Comments (Not!)
1536 =head2 perlop - Perl operators and precedence
1546 =item Terms and List Operators (Leftward)
1548 =item The Arrow Operator
1550 =item Auto-increment and Auto-decrement
1552 =item Exponentiation
1554 =item Symbolic Unary Operators
1556 =item Binding Operators
1558 =item Multiplicative Operators
1560 =item Additive Operators
1562 =item Shift Operators
1564 =item Named Unary Operators
1566 =item Relational Operators
1568 =item Equality Operators
1572 =item Bitwise Or and Exclusive Or
1574 =item C-style Logical And
1576 =item C-style Logical Or
1578 =item Range Operators
1580 =item Conditional Operator
1582 =item Assignment Operators
1584 =item Comma Operator
1586 =item List Operators (Rightward)
1592 =item Logical or and Exclusive Or
1594 =item C Operators Missing From Perl
1596 unary &, unary *, (TYPE)
1598 =item Quote and Quote-like Operators
1600 =item Regexp Quote-Like Operators
1602 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
1603 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
1604 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cdsUC,
1605 y/SEARCHLIST/REPLACEMENTLIST/cdsUC
1607 =item Gory details of parsing quoted constructs
1609 Finding the end, Removal of backslashes before delimiters, Interpolation,
1610 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
1611 C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
1612 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
1617 =item Constant Folding
1619 =item Bitwise String Operators
1621 =item Strings of Character
1623 =item Integer Arithmetic
1625 =item Floating-point Arithmetic
1627 =item Bigger Numbers
1633 =head2 perlre - Perl regular expressions
1643 =item Regular Expressions
1645 cntrl, graph, print, punct, xdigit
1647 =item Extended Patterns
1649 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1650 C<(?=pattern)>, C<(?!pattern)>, C<(?E<lt>=pattern)>, C<(?<!pattern)>, C<(?{
1651 code })>, C<(??{ code })>, C<(?E<gt>pattern)>,
1652 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
1656 =item Version 8 Regular Expressions
1658 =item Warning on \1 vs $1
1660 =item Repeated patterns matching zero-length substring
1662 =item Combining pieces together
1664 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1665 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<(?E<gt>S)>, C<(?=S)>, C<(?<=S)>,
1666 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1667 C<(?(condition)yes-pattern|no-pattern)>
1669 =item Creating custom RE engines
1679 =head2 perlrun - how to execute the Perl interpreter
1689 =item #! and quoting on non-Unix systems
1691 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
1693 =item Location of Perl
1695 =item Command Switches
1697 B<-0>[I<digits>], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I<foo>,
1698 B<-D>I<letters>, B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>,
1699 B<-h>, B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
1700 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
1701 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
1702 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
1709 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
1710 (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL
1714 =head2 perlfunc - Perl builtin functions
1722 =item Perl Functions by Category
1724 Functions for SCALARs or strings, Regular expressions and pattern matching,
1725 Numeric functions, Functions for real @ARRAYs, Functions for list data,
1726 Functions for real %HASHes, Input and output functions, Functions for fixed
1727 length data or records, Functions for filehandles, files, or directories,
1728 Keywords related to the control flow of your perl program, Keywords related
1729 to scoping, Miscellaneous functions, Functions for processes and process
1730 groups, Keywords related to perl modules, Keywords related to classes and
1731 object-orientedness, Low-level socket functions, System V interprocess
1732 communication functions, Fetching user and group info, Fetching network
1733 info, Time-related functions, Functions new in perl5, Functions obsoleted
1738 =item Alphabetical Listing of Perl Functions
1740 I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
1741 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1742 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
1743 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
1744 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
1745 close FILEHANDLE, close, closedir DIRHANDLE, connect SOCKET,NAME, continue
1746 BLOCK, cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen
1747 HASH,DBNAME,MASK, defined EXPR, defined, delete EXPR, die LIST, do BLOCK,
1748 do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, each HASH, eof FILEHANDLE,
1749 eof (), eof, eval EXPR, eval BLOCK, exec LIST, exec PROGRAM LIST, exists
1750 EXPR, exit EXPR, exp EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno
1751 FILEHANDLE, flock FILEHANDLE,OPERATION, fork, format, formline
1752 PICTURE,LIST, getc FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp
1753 PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME,
1754 gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID,
1755 getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE,
1756 getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport
1757 PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent,
1758 getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN,
1759 setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent,
1760 endnetent, endprotoent, endservent, getsockname SOCKET, getsockopt
1761 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
1762 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
1763 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1764 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1765 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1766 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1767 lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK
1768 LIST, map EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl
1769 ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv
1770 ID,VAR,SIZE,TYPE,FLAGS, my EXPR, my EXPR : ATTRIBUTES, next LABEL, next, no
1771 Module LIST, oct EXPR, oct, open FILEHANDLE,MODE,EXPR, open
1772 FILEHANDLE,EXPR, open FILEHANDLE, opendir DIRHANDLE,EXPR, ord EXPR, ord,
1773 our EXPR, pack TEMPLATE,LIST, package, package NAMESPACE, pipe
1774 READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
1775 LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
1776 LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
1777 qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
1778 rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
1779 readdir DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR,
1780 recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename
1781 OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset,
1782 return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
1783 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1784 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1785 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1786 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1787 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1788 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1789 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1790 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1791 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
1792 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1793 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1794 splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
1795 /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR,
1796 sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR,
1797 study, sub BLOCK, sub NAME, sub NAME BLOCK, substr
1798 EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
1799 EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
1800 FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
1801 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
1802 FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
1803 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
1804 syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
1805 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
1806 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
1807 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
1808 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
1809 use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
1810 values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
1811 LIST, write FILEHANDLE, write EXPR, write, y///
1817 =head2 perlvar - Perl predefined variables
1825 =item Predefined Names
1827 $ARG, $_, $E<lt>I<digits>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1828 $LAST_PAREN_MATCH, $+, @+, $MULTILINE_MATCHING, $*, input_line_number
1829 HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE
1830 EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR,
1831 $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE EXPR,
1832 $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE EXPR,
1833 $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
1834 $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1835 EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1836 $FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
1837 $FORMAT_LINES_LEFT, $-, @-, C<$`> is the same as C<substr($var, 0, $-[0]>),
1838 C<$&> is the same as C<substr($var, $-[0], $+[0] - $-[0]>), C<$'> is the
1839 same as C<substr($var, $+[0]>), C<$1> is the same as C<substr($var, $-[1],
1840 $+[1] - $-[1])>, C<$2> is the same as C<substr($var, $-[2], $+[2] -
1841 $-[2])>, C<$3> is the same as C<substr $var, $-[3], $+[3] - $-[3]>),
1842 format_name HANDLE EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR,
1843 $FORMAT_TOP_NAME, $^, format_line_break_characters HANDLE EXPR,
1844 $FORMAT_LINE_BREAK_CHARACTERS, $:, format_formfeed HANDLE EXPR,
1845 $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, $OS_ERROR,
1846 $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, $PROCESS_ID, $PID,
1847 $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID,
1848 $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $],
1849 $COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H,
1850 $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04,
1851 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R,
1852 $EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, $PERL_VERSION, $^V,
1853 $WARNING, $^W, ${^WARNING_BITS}, ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME,
1854 $^X, $ARGV, @ARGV, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr}
1856 =item Error Indicators
1858 =item Technical Note on the Syntax of Variable Names
1866 =head2 perlsub - Perl subroutines
1876 =item Private Variables via my()
1878 =item Persistent Private Variables
1880 =item Temporary Values via local()
1882 =item Lvalue subroutines
1884 =item Passing Symbol Table Entries (typeglobs)
1886 =item When to Still Use local()
1888 1. You need to give a global variable a temporary value, especially $_, 2.
1889 You need to create a local file or directory handle or a local function, 3.
1890 You want to temporarily change just one element of an array or hash
1892 =item Pass by Reference
1896 =item Constant Functions
1898 =item Overriding Built-in Functions
1902 =item Subroutine Attributes
1910 =head2 perlmod - Perl modules (packages and symbol tables)
1922 =item Package Constructors and Destructors
1934 =head2 perlmodlib - constructing new Perl modules and finding existing ones
1940 =item THE PERL MODULE LIBRARY
1944 =item Pragmatic Modules
1946 attributes, attrs, autouse, base, blib, caller, charnames, constant,
1947 diagnostics, fields, filetest, integer, less, lib, locale, ops, overload,
1948 re, sigtrap, strict, subs, utf8, vars, warnings
1950 =item Standard Modules
1952 AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
1953 B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
1954 B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI,
1955 CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
1956 CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy,
1957 Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf,
1958 Devel::Peek, Devel::SelfStubber, DirHandle, Dumpvalue, DynaLoader, English,
1959 Env, Errno, Exporter, Exporter::Heavy, ExtUtils::Command, ExtUtils::Embed,
1960 ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
1961 ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS,
1962 ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest,
1963 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
1964 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
1965 File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
1966 File::Path, File::Spec, File::Spec::Functions, File::Spec::Mac,
1967 File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32,
1968 File::stat, FileCache, FileHandle, FindBin, GDBM_File, Getopt::Long,
1969 Getopt::Std, I18N::Collate, IO, IO::Dir, IO::File, IO::Handle, IO::Pipe,
1970 IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
1971 IO::Socket::UNIX, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore,
1972 IPC::SysV, Math::BigFloat, Math::BigInt, Math::Complex, Math::Trig,
1973 Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, O,
1974 Opcode, POSIX, Pod::Checker, Pod::Html, Pod::InputObjects, Pod::Man,
1975 Pod::Parser, Pod::Select, Pod::Text, Pod::Text::Color, Pod::Usage,
1976 SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell, Socket,
1977 Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
1978 Term::ReadLine, Test, Test::Harness, Text::Abbrev, Text::ParseWords,
1979 Text::Soundex, Text::Wrap, Tie::Array, Tie::Handle, Tie::Hash,
1980 Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime,
1981 Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent
1983 =item Extension Modules
1989 Language Extensions and Documentation Tools, Development Support, Operating
1990 System Interfaces, Networking, Device Control (modems) and InterProcess
1991 Communication, Data Types and Data Type Utilities, Database Interfaces,
1992 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
1993 File Names, File Systems and File Locking (see also File Handles), String
1994 Processing, Language Text Processing, Parsing, and Searching, Option,
1995 Argument, Parameter, and Configuration File Processing,
1996 Internationalization and Locale, Authentication, Security, and Encryption,
1997 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
1998 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
1999 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
2000 exceptions etc), File Handle and Input/Output Stream Utilities,
2001 Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
2002 North America, South America
2004 =item Modules: Creation, Use, and Abuse
2008 =item Guidelines for Module Creation
2010 Do similar modules already exist in some form?, Try to design the new
2011 module to be easy to extend and reuse, Some simple style guidelines, Select
2012 what to export, Select a name for the module, Have you got it right?,
2013 README and other Additional Files, A description of the
2014 module/package/extension etc, A copyright notice - see below, Prerequisites
2015 - what else you may need to have, How to build it - possible changes to
2016 Makefile.PL etc, How to install it, Recent changes in this release,
2017 especially incompatibilities, Changes / enhancements you plan to make in
2018 the future, Adding a Copyright Notice, Give the module a
2019 version/issue/release number, How to release and distribute a module, Take
2020 care when changing a released module
2022 =item Guidelines for Converting Perl 4 Library Scripts into Modules
2024 There is no requirement to convert anything, Consider the implications,
2025 Make the most of the opportunity, The pl2pm utility will get you started,
2026 Adds the standard Module prologue lines, Converts package specifiers from '
2027 to ::, Converts die(...) to croak(...), Several other minor changes
2029 =item Guidelines for Reusing Application Code
2031 Complete applications rarely belong in the Perl Module Library, Many
2032 applications contain some Perl code that could be reused, Break-out the
2033 reusable code into one or more separate module files, Take the opportunity
2034 to reconsider and redesign the interfaces, In some cases the 'application'
2035 can then be reduced to a small
2043 =head2 perlmodinstall - Installing CPAN Modules
2053 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2054 module (sometimes unnecessary), B<INSTALL> the module
2066 =head2 perlfork - Perl's fork() emulation
2076 =item Behavior of other Perl features in forked pseudo-processes
2078 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2079 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2080 files, directories and network sockets
2082 =item Resource limits
2084 =item Killing the parent process
2086 =item Lifetime of the parent process and pseudo-processes
2088 =item CAVEATS AND LIMITATIONS
2090 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
2091 Global state maintained by XSUBs, Interpreter embedded in larger
2092 application, Thread-safety of extensions
2104 =head2 perlform - Perl formats
2112 =item Format Variables
2122 =item Accessing Formatting Internals
2130 =head2 perllocale - Perl locale handling (internationalization and
2137 =item PREPARING TO USE LOCALES
2143 =item The use locale pragma
2145 =item The setlocale function
2147 =item Finding locales
2149 =item LOCALE PROBLEMS
2151 =item Temporarily fixing locale problems
2153 =item Permanently fixing locale problems
2155 =item Permanently fixing your locale configuration
2157 =item Fixing system locale configuration
2159 =item The localeconv function
2163 =item LOCALE CATEGORIES
2167 =item Category LC_COLLATE: Collation
2169 =item Category LC_CTYPE: Character Types
2171 =item Category LC_NUMERIC: Numeric Formatting
2173 =item Category LC_MONETARY: Formatting of monetary amounts
2177 =item Other categories
2183 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
2184 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
2185 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
2186 B<Output formatting functions> (printf() and write()):, B<Case-mapping
2187 functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
2188 functions> (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX
2189 character class tests> (isalnum(), isalpha(), isdigit(),isgraph(),
2190 islower(), isprint(), ispunct(), isspace(), isupper(),
2195 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2196 LC_NUMERIC, LC_TIME, LANG
2202 =item Backward compatibility
2204 =item I18N:Collate obsolete
2206 =item Sort speed and memory use impacts
2208 =item write() and LC_NUMERIC
2210 =item Freely available locale definitions
2214 =item An imperfect standard
2222 =item Broken systems
2232 =head2 perlref - Perl references and nested data structures
2242 =item Making References
2244 =item Using References
2246 =item Symbolic references
2248 =item Not-so-symbolic references
2250 =item Pseudo-hashes: Using an array as a hash
2252 =item Function Templates
2262 =head2 perlreftut - Mark's very short tutorial about references
2268 =item Who Needs Complicated Data Structures?
2276 =item Making References
2278 =item Using References
2296 =item Distribution Conditions
2302 =head2 perldsc - Perl Data Structures Cookbook
2308 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
2309 more elaborate constructs
2313 =item COMMON MISTAKES
2315 =item CAVEAT ON PRECEDENCE
2317 =item WHY YOU SHOULD ALWAYS C<use strict>
2323 =item ARRAYS OF ARRAYS
2327 =item Declaration of a ARRAY OF ARRAYS
2329 =item Generation of a ARRAY OF ARRAYS
2331 =item Access and Printing of a ARRAY OF ARRAYS
2335 =item HASHES OF ARRAYS
2339 =item Declaration of a HASH OF ARRAYS
2341 =item Generation of a HASH OF ARRAYS
2343 =item Access and Printing of a HASH OF ARRAYS
2347 =item ARRAYS OF HASHES
2351 =item Declaration of a ARRAY OF HASHES
2353 =item Generation of a ARRAY OF HASHES
2355 =item Access and Printing of a ARRAY OF HASHES
2359 =item HASHES OF HASHES
2363 =item Declaration of a HASH OF HASHES
2365 =item Generation of a HASH OF HASHES
2367 =item Access and Printing of a HASH OF HASHES
2371 =item MORE ELABORATE RECORDS
2375 =item Declaration of MORE ELABORATE RECORDS
2377 =item Declaration of a HASH OF COMPLEX RECORDS
2379 =item Generation of a HASH OF COMPLEX RECORDS
2391 =head2 perllol - Manipulating Arrays of Arrays in Perl
2397 =item Declaration and Access of Arrays of Arrays
2399 =item Growing Your Own
2401 =item Access and Printing
2411 =head2 perlboot - Beginner's Object-Oriented Tutorial
2419 =item If we could talk to the animals...
2421 =item Introducing the method invocation arrow
2423 =item Invoking a barnyard
2425 =item The extra parameter of method invocation
2427 =item Calling a second method to simplify things
2429 =item Inheriting the windpipes
2431 =item A few notes about @ISA
2433 =item Overriding the methods
2435 =item Starting the search from a different place
2437 =item The SUPER way of doing things
2439 =item Where we're at so far...
2441 =item A horse is a horse, of course of course -- or is it?
2443 =item Invoking an instance method
2445 =item Accessing the instance data
2447 =item How to build a horse
2449 =item Inheriting the constructor
2451 =item Making a method work with either classes or instances
2453 =item Adding parameters to a method
2455 =item More interesting instances
2457 =item A horse of a different color
2469 =head2 perltoot - Tom's object-oriented tutorial for perl
2475 =item Creating a Class
2479 =item Object Representation
2481 =item Class Interface
2483 =item Constructors and Instance Methods
2485 =item Planning for the Future: Better Constructors
2489 =item Other Object Methods
2497 =item Accessing Class Data
2499 =item Debugging Methods
2501 =item Class Destructors
2503 =item Documenting the Interface
2513 =item Overridden Methods
2515 =item Multiple Inheritance
2517 =item UNIVERSAL: The Root of All Objects
2521 =item Alternate Object Representations
2525 =item Arrays as Objects
2527 =item Closures as Objects
2531 =item AUTOLOAD: Proxy Methods
2535 =item Autoloaded Data Methods
2537 =item Inherited Autoloaded Data Methods
2541 =item Metaclassical Tools
2547 =item Data Members as Variables
2551 =item Object Terminology
2557 =item AUTHOR AND COPYRIGHT
2563 =item Acknowledgments
2569 =head2 perltootc - Tom's OO Tutorial for Class Data in Perl
2575 =item Class Data as Package Variables
2579 =item Putting All Your Eggs in One Basket
2581 =item Inheritance Concerns
2583 =item The Eponymous Meta-Object
2585 =item Indirect References to Class Data
2587 =item Monadic Classes
2589 =item Translucent Attributes
2593 =item Class Data as Lexical Variables
2597 =item Privacy and Responsibility
2599 =item File-Scoped Lexicals
2601 =item More Inheritance Concerns
2603 =item Locking the Door and Throwing Away the Key
2605 =item Translucency Revisited
2613 =item AUTHOR AND COPYRIGHT
2615 =item ACKNOWLEDGEMENTS
2621 =head2 perlobj - Perl objects
2629 =item An Object is Simply a Reference
2631 =item A Class is Simply a Package
2633 =item A Method is Simply a Subroutine
2635 =item Method Invocation
2639 =item Default UNIVERSAL methods
2641 isa(CLASS), can(METHOD), VERSION( [NEED] )
2647 =item Two-Phased Garbage Collection
2655 =head2 perltie - how to hide an object class in a simple variable
2667 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
2671 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2676 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2677 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2678 this, NEXTKEY this, lastkey, DESTROY this
2680 =item Tying FileHandles
2682 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2683 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this
2685 =item The C<untie> Gotcha
2697 =head2 perlbot - Bag'o Object Tricks (the BOT)
2703 =item OO SCALING TIPS
2705 =item INSTANCE VARIABLES
2707 =item SCALAR INSTANCE VARIABLES
2709 =item INSTANCE VARIABLE INHERITANCE
2711 =item OBJECT RELATIONSHIPS
2713 =item OVERRIDING SUPERCLASS METHODS
2715 =item USING RELATIONSHIP WITH SDBM
2717 =item THINKING OF CODE REUSE
2719 =item CLASS CONTEXT AND THE OBJECT
2721 =item INHERITING A CONSTRUCTOR
2727 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2728 safe subprocesses, sockets, and semaphores)
2744 =item Using open() for IPC
2750 =item Background Processes
2752 =item Complete Dissociation of Child from Parent
2754 =item Safe Pipe Opens
2756 =item Bidirectional Communication with Another Process
2758 =item Bidirectional Communication with Yourself
2762 =item Sockets: Client/Server Communication
2766 =item Internet Line Terminators
2768 =item Internet TCP Clients and Servers
2770 =item Unix-Domain TCP Clients and Servers
2774 =item TCP Clients with IO::Socket
2778 =item A Simple Client
2780 C<Proto>, C<PeerAddr>, C<PeerPort>
2782 =item A Webget Client
2784 =item Interactive Client with IO::Socket
2788 =item TCP Servers with IO::Socket
2790 Proto, LocalPort, Listen, Reuse
2792 =item UDP: Message Passing
2806 =head2 perldbmfilter - Perl DBM Filters
2814 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
2815 B<filter_fetch_value>
2821 =item An Example -- the NULL termination problem.
2823 =item Another Example -- Key is a C int.
2833 =head2 perldebug - Perl debugging
2839 =item The Perl Debugger
2843 =item Debugger Commands
2845 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
2846 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
2847 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
2848 t, t expr, b [line] [condition], b subname [condition], b postpone subname
2849 [condition], b load filename, b compile subname, d [line], D, a [line]
2850 command, A, W [expr], W, O [opt[=val]] [opt"val"] [opt?]..,
2851 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
2852 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
2853 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
2854 C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
2855 C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
2856 C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>, E<lt> [ command ],
2857 E<lt>E<lt> command, E<gt> command, E<gt>E<gt> command, { [ command ], {{
2858 command, ! number, ! -number, ! pattern, !! cmd, H -number, q or ^D, R,
2859 |dbcmd, ||dbcmd, command, m expr, m package
2861 =item Debugger input/output
2863 Prompt, Multiline commands, Stack backtrace, Listing, Frame listing
2865 =item Debugging compile-time statements
2867 =item Debugger Customization
2869 =item Readline Support
2871 =item Editor Support for Debugging
2873 =item The Perl Profiler
2875 =item Debugger support in perl
2877 =item Debugger Internals
2879 =item Other resources
2885 =item Debugging Perl memory usage
2889 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
2891 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
2892 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
2895 =item Example of using B<-DL> switch
2897 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
2899 =item B<-DL> details
2903 =item Limitations of B<-DL> statistic
2907 =item Debugging regular expressions
2911 =item Compile-time output
2913 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
2914 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
2915 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
2918 =item Types of nodes
2920 =item Run-time output
2926 =head2 perlnumber - semantics of numbers and numeric operations in Perl
2934 =item Storing numbers
2936 =item Numeric operators and numeric conversions
2938 =item Flavors of Perl numeric operations
2940 Arithmetic operators except, C<no integer>, Arithmetic operators except,
2941 C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
2942 integer>, Operators which expect an integer, Operators which expect a
2951 =head2 perldiag - various Perl diagnostics
2959 =head2 perlsec - Perl security
2967 =item Laundering and Detecting Tainted Data
2969 =item Switches On the "#!" Line
2971 =item Cleaning Up Your Path
2975 =item Protecting Your Programs
2983 =head2 perltrap - Perl traps for the unwary
3001 =item Perl4 to Perl5 Traps
3003 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
3004 Traps, General data type traps, Context Traps - scalar, list contexts,
3005 Precedence Traps, General Regular Expression Traps using s///, etc,
3006 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
3008 =item Discontinuance, Deprecation, and BugFix traps
3010 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
3011 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
3012 Discontinuance, Deprecation, Discontinuance
3016 Parsing, Parsing, Parsing, Parsing
3018 =item Numerical Traps
3020 Numerical, Numerical, Numerical, Bitwise string ops
3022 =item General data type traps
3024 (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
3025 (Constants), (Scalars), (Variable Suicide)
3027 =item Context Traps - scalar, list contexts
3029 (list context), (scalar context), (scalar context), (list, builtin)
3031 =item Precedence Traps
3033 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
3036 =item General Regular Expression Traps using s///, etc.
3038 Regular Expression, Regular Expression, Regular Expression, Regular
3039 Expression, Regular Expression, Regular Expression, Regular Expression,
3042 =item Subroutine, Signal, Sorting Traps
3044 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
3050 =item Interpolation Traps
3052 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
3053 Interpolation, Interpolation, Interpolation, Interpolation
3059 =item Unclassified Traps
3061 C<require>/C<do> trap using returned value, C<split> on empty string with
3068 =head2 perlport - Writing portable Perl
3074 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
3083 =item Numbers endianness and Width
3085 =item Files and Filesystems
3087 =item System Interaction
3089 =item Interprocess Communication (IPC)
3091 =item External Subroutines (XS)
3093 =item Standard Modules
3097 =item Character sets and character encoding
3099 =item Internationalisation
3101 =item System Resources
3111 Mailing list: cpan-testers@perl.org, Testing results:
3112 C<http://testers.cpan.org/>
3120 =item DOS and Derivatives
3122 The djgpp environment for DOS, C<http://www.delorie.com/djgpp/>, The EMX
3123 environment for DOS, OS/2, etc.
3124 C<emx@iaehv.nl>,C<http://www.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/index.
3126 C<ftp://hobbes.nmsu.edu/pub/os2/dev/emx>, Build instructions for Win32,
3127 L<perlwin32>, The ActiveState Pages, C<http://www.activestate.com/>, The
3128 Cygwin environment for Win32; F<README.cygwin> (installed as
3129 L<perlcygwin>), C<http://sourceware.cygnus.com/cygwin/>, The U/WIN
3130 environment for Win32,C<http://www.research.att.com/sw/tools/uwin/>
3134 The MacPerl Pages, C<http://www.macperl.com/>, The MacPerl mailing lists,
3135 C<http://www.macperl.org/>, MacPerl Module Porters,
3136 C<http://pudge.net/mmp/>
3140 F<README.vms> (installed as L<README_vms>), L<perlvms>, vmsperl list,
3141 C<majordomo@perl.org>, vmsperl on the web,
3142 C<http://www.sidhe.org/vmsperl/index.html>
3146 F<README.vos>, VOS mailing list, VOS Perl on the web at
3147 C<http://ftp.stratus.com/pub/vos/vos.html>
3149 =item EBCDIC Platforms
3151 F<README.os390>, F<README.posix-bc>, F<README.vmesa>, perl-mvs list, AS/400
3152 Perl information at C<http://as400.rochester.ibm.com/>as well as on CPAN in
3153 the F<ports/> directory
3159 Amiga, F<README.amiga> (installed as L<perlamiga>), Atari, F<README.mint>
3160 and Guido Flohr's web pageC<http://stud.uni-sb.de/~gufl0000/>, Be OS,
3161 F<README.beos>, HP 300 MPE/iX, F<README.mpeix> and Mark Bixby's web
3162 pageC<http://www.cccd.edu/~markb/perlix.html>, Novell Netware, Plan 9,
3167 =item FUNCTION IMPLEMENTATIONS
3171 =item Alphabetical Listing of Perl Functions
3173 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, binmode FILEHANDLE, chmod LIST, chown
3174 LIST, chroot FILENAME, chroot, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen
3175 HASH,DBNAME,MODE, dump LABEL, exec LIST, fcntl FILEHANDLE,FUNCTION,SCALAR,
3176 flock FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid,
3177 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME,
3178 getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber
3179 NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent,
3180 getnetent, getprotoent, getservent, setpwent, setgrent, sethostent
3181 STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN,
3182 endpwent, endgrent, endhostent, endnetent, endprotoent, endservent,
3183 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl
3184 FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat
3185 FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
3186 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open
3187 FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select
3188 RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
3189 KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
3190 setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
3191 SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
3192 shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair
3193 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat,
3194 symlink OLDFILE,NEWFILE, syscall LIST, sysopen
3195 FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
3196 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
3197 wait, waitpid PID,FLAGS
3203 v1.46, 12 February 2000, v1.45, 20 December 1999, v1.44, 19 July 1999,
3204 v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May 1999, v1.40, 11 April
3205 1999, v1.39, 11 February 1999, v1.38, 31 December 1998, v1.37, 19 December
3206 1998, v1.36, 9 September 1998, v1.35, 13 August 1998, v1.33, 06 August
3207 1998, v1.32, 05 August 1998, v1.30, 03 August 1998, v1.23, 10 July 1998
3209 =item AUTHORS / CONTRIBUTORS
3215 =head2 perlstyle - Perl style guide
3223 =head2 perlpod - plain old documentation
3231 =item Verbatim Paragraph
3233 =item Command Paragraph
3235 =item Ordinary Block of Text
3239 =item Embedding Pods in Perl Modules
3241 =item Common Pod Pitfalls
3251 =head2 perlbook - Perl book information
3259 =head2 perlembed - how to embed perl in your C program
3269 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3270 Perl?>, B<Use C from C?>, B<Use Perl from C?>
3274 =item Compiling your C program
3276 =item Adding a Perl interpreter to your C program
3278 =item Calling a Perl subroutine from your C program
3280 =item Evaluating a Perl statement from your C program
3282 =item Performing Perl pattern matches and substitutions from your C program
3284 =item Fiddling with the Perl stack from your C program
3286 =item Maintaining a persistent interpreter
3288 =item Maintaining multiple interpreter instances
3290 =item Using Perl modules, which themselves use C libraries, from your C
3295 =item Embedding Perl under Win32
3305 =head2 perlapio - perl's IO abstraction interface.
3313 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
3314 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
3315 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
3316 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
3317 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
3318 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
3319 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
3320 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
3321 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
3322 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
3326 =item Co-existence with stdio
3328 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
3329 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
3330 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
3331 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
3332 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
3333 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
3339 =head2 perlxs - XS language reference manual
3351 =item The Anatomy of an XSUB
3353 =item The Argument Stack
3355 =item The RETVAL Variable
3357 =item The MODULE Keyword
3359 =item The PACKAGE Keyword
3361 =item The PREFIX Keyword
3363 =item The OUTPUT: Keyword
3365 =item The CODE: Keyword
3367 =item The INIT: Keyword
3369 =item The NO_INIT Keyword
3371 =item Initializing Function Parameters
3373 =item Default Parameter Values
3375 =item The PREINIT: Keyword
3377 =item The SCOPE: Keyword
3379 =item The INPUT: Keyword
3381 =item Variable-length Parameter Lists
3383 =item The C_ARGS: Keyword
3385 =item The PPCODE: Keyword
3387 =item Returning Undef And Empty Lists
3389 =item The REQUIRE: Keyword
3391 =item The CLEANUP: Keyword
3393 =item The BOOT: Keyword
3395 =item The VERSIONCHECK: Keyword
3397 =item The PROTOTYPES: Keyword
3399 =item The PROTOTYPE: Keyword
3401 =item The ALIAS: Keyword
3403 =item The INTERFACE: Keyword
3405 =item The INTERFACE_MACRO: Keyword
3407 =item The INCLUDE: Keyword
3409 =item The CASE: Keyword
3411 =item The & Unary Operator
3413 =item Inserting Comments and C Preprocessor Directives
3415 =item Using XS With C++
3417 =item Interface Strategy
3419 =item Perl Objects And C Structures
3433 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
3445 =item Version caveat
3447 =item Dynamic Loading versus Static Loading
3459 =item What has gone on?
3461 =item Writing good test scripts
3465 =item What's new here?
3467 =item Input and Output Parameters
3469 =item The XSUBPP Program
3471 =item The TYPEMAP file
3473 =item Warning about Output Arguments
3477 =item What has happened here?
3479 =item Anatomy of .xs file
3481 =item Getting the fat out of XSUBs
3483 =item More about XSUB arguments
3485 =item The Argument Stack
3487 =item Extending your Extension
3489 =item Documenting your Extension
3491 =item Installing your Extension
3495 =item New Things in this Example
3497 =item EXAMPLE 6 (Coming Soon)
3499 =item EXAMPLE 7 (Coming Soon)
3501 =item EXAMPLE 8 (Coming Soon)
3503 =item EXAMPLE 9 (Coming Soon)
3505 =item Troubleshooting these Examples
3521 =head2 perlguts - Introduction to the Perl API
3533 =item What is an "IV"?
3535 =item Working with SVs
3537 =item What's Really Stored in an SV?
3539 =item Working with AVs
3541 =item Working with HVs
3543 =item Hash API Extensions
3547 =item Blessed References and Class Objects
3549 =item Creating New Variables
3551 =item Reference Counts and Mortality
3553 =item Stashes and Globs
3555 =item Double-Typed SVs
3557 =item Magic Variables
3559 =item Assigning Magic
3561 =item Magic Virtual Tables
3565 =item Understanding the Magic of Tied Hashes and Arrays
3567 =item Localizing changes
3569 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
3570 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEFREEOP(OP
3571 *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>, C<SAVEDELETE(HV *hv, char
3572 *key, I32 length)>, C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void
3573 *p)>, C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>,
3574 C<SV* save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV
3575 *gv)>, C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32
3576 maxsarg)>, C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>,
3577 C<void save_hptr(HV **hptr)>
3585 =item XSUBs and the Argument Stack
3587 =item Calling Perl Routines from within C Programs
3589 =item Memory Allocation
3593 =item Putting a C value on Perl stack
3597 =item Scratchpads and recursion
3607 =item Examining the tree
3609 =item Compile pass 1: check routines
3611 =item Compile pass 1a: constant folding
3613 =item Compile pass 2: context propagation
3615 =item Compile pass 3: peephole optimization
3619 =item How multiple interpreters and concurrency are supported
3623 =item Background and PERL_IMPLICIT_CONTEXT
3625 =item How do I use all this in extensions?
3627 =item Future Plans and PERL_IMPLICIT_SYS
3637 =head2 perlcall - Perl calling conventions from C
3643 An Error Handler, An Event Driven Program
3645 =item THE CALL_ FUNCTIONS
3647 call_sv, call_pv, call_method, call_argv
3667 =item Determining the Context
3671 =item KNOWN PROBLEMS
3677 =item No Parameters, Nothing returned
3679 =item Passing Parameters
3681 =item Returning a Scalar
3683 =item Returning a list of values
3685 =item Returning a list in a scalar context
3687 =item Returning Data from Perl via the parameter list
3691 =item Using G_KEEPERR
3695 =item Using call_argv
3697 =item Using call_method
3701 =item Using Perl to dispose of temporaries
3703 =item Strategies for storing Callback Context Information
3705 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
3706 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
3709 =item Alternate Stack Manipulation
3711 =item Creating and calling an anonymous subroutine in C
3723 =head2 perlcompile - Introduction to the Perl Compiler-Translator
3733 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3737 =item Using The Back Ends
3741 =item The Cross Referencing Back End (B::Xref)
3745 =item The Decompiling Back End
3747 =item The Lint Back End (B::Lint)
3749 =item The Simple C Back End
3751 =item The Bytecode Back End
3753 =item The Optimized C Back End
3755 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3756 B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj,
3757 B::Stash, B::Terse, B::Xref
3761 =item KNOWN PROBLEMS
3767 =head2 perlapi - autogenerated documentation for the perl public API
3773 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
3774 av_shift, av_store, av_undef, av_unshift, call_argv, call_method, call_pv,
3775 call_sv, CLASS, Copy, croak, CvSTASH, dMARK, dORIGMARK, dSP, dXSARGS,
3776 dXSI32, ENTER, eval_pv, eval_sv, EXTEND, fbm_compile, fbm_instr, FREETMPS,
3777 get_av, get_cv, get_hv, get_sv, GIMME, GIMME_V, GvSV, gv_fetchmeth,
3778 gv_fetchmethod, gv_fetchmethod_autoload, gv_stashpv, gv_stashsv, G_ARRAY,
3779 G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID, HEf_SVKEY, HeHASH, HeKEY,
3780 HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, HvNAME, hv_clear,
3781 hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
3782 hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv,
3783 hv_iterval, hv_magic, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA,
3784 isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, looks_like_number,
3785 MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical,
3786 mg_set, Move, New, newAV, Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc,
3787 NEWSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv,
3788 newXS, newXSproto, Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK,
3789 perl_alloc, perl_construct, perl_destruct, perl_free, perl_parse, perl_run,
3790 PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_modglobal, PL_na,
3791 PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn, POPp, POPs, PUSHi,
3792 PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, require_pv,
3793 RETVAL, Safefree, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
3794 strGT, strLE, strLT, strNE, strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set,
3795 SvEND, SvGETMAGIC, SvGROW, SvIOK, SvIOKp, SvIOK_off, SvIOK_on, SvIOK_only,
3796 SvIV, SvIVX, SvLEN, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, SvNOK_off,
3797 SvNOK_on, SvNOK_only, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp, SvPOK_off,
3798 SvPOK_on, SvPOK_only, SvPV, SvPVX, SvPV_force, SvPV_nolen, SvREFCNT,
3799 SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSETMAGIC,
3800 SvSetSV, SvSetSV_nosteal, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off,
3801 SvTAINTED_on, SvTRUE, SvTYPE, svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV,
3802 SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUPGRADE, SvUV, SvUVX, sv_2mortal, sv_bless,
3803 sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_mg, sv_catpv_mg,
3804 sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, sv_dec, sv_derived_from, sv_eq,
3805 sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject, sv_len, sv_magic,
3806 sv_mortalcopy, sv_newmortal, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg,
3807 sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn,
3808 sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv,
3809 sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv, sv_setuv_mg, sv_unref,
3810 sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn, sv_vsetpvfn, THIS,
3811 toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS,
3812 XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
3813 XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV,
3814 XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
3822 =head2 perlintern - autogenerated documentation of purely B<internal>
3835 =head2 perlhist - the Perl history records
3843 =item THE KEEPERS OF THE PUMPKIN
3855 =item SELECTED RELEASE SIZES
3857 =item SELECTED PATCH SIZES
3861 =item THE KEEPERS OF THE RECORDS
3865 =head1 PRAGMA DOCUMENTATION
3867 =head2 attrs - set/get attributes of a subroutine (deprecated)
3879 =head2 re - Perl pragma to alter regular expression behaviour
3889 =head2 attributes - get/set subroutine or variable attributes
3899 =item Built-in Attributes
3901 locked, method, lvalue
3903 =item Available Subroutines
3907 =item Package-specific Attribute Handling
3909 FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
3911 =item Syntax of Attribute Lists
3919 =item Default exports
3921 =item Available exports
3923 =item Export tags defined
3933 =head2 attrs - set/get attributes of a subroutine (deprecated)
3945 =head2 autouse - postpone load of modules until a function is used
3961 =head2 base - Establish IS-A relationship with base class at compile time
3975 =head2 blib - Use MakeMaker's uninstalled version of a package
3989 =head2 bytes - Perl pragma to force byte semantics rather than character
4002 =head2 charnames - define character names for C<\N{named}> string literal
4011 =item CUSTOM TRANSLATORS
4017 =head2 constant - Perl pragma to declare constants
4027 =item TECHNICAL NOTE
4037 =head2 diagnostics - Perl compiler pragma to force verbose warning
4048 =item The C<diagnostics> Pragma
4050 =item The I<splain> Program
4064 =head2 fields - compile-time class fields
4078 =head2 filetest - Perl pragma to control the filetest permission operators
4084 $can_perhaps_read = -r "file"; # use the mode bits
4086 use filetest 'access'; # intuit harder
4087 $can_really_read = -r "file";
4089 $can_perhaps_read = -r "file"; # use the mode bits again
4095 =item subpragma access
4101 =head2 integer - Perl pragma to compute arithmetic in integer instead of
4112 =head2 less - perl pragma to request less of something from the compiler
4122 =head2 lib - manipulate @INC at compile time
4132 =item Adding directories to @INC
4134 =item Deleting directories from @INC
4136 =item Restoring original @INC
4146 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
4157 =head2 ops - Perl pragma to restrict unsafe operations when compiling
4169 =head2 overload - Package for overloading perl operations
4179 =item Declaration of overloaded functions
4181 =item Calling Conventions for Binary Operations
4183 FALSE, TRUE, C<undef>
4185 =item Calling Conventions for Unary Operations
4187 =item Calling Conventions for Mutators
4189 C<++> and C<-->, C<x=> and other assignment versions
4191 =item Overloadable Operations
4193 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
4194 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
4195 and numeric conversion>, I<Iteration>, I<Dereferencing>, I<Special>
4197 =item Inheritance and overloading
4199 Strings as values of C<use overload> directive, Overloading of an operation
4200 is inherited by derived classes
4204 =item SPECIAL SYMBOLS FOR C<use overload>
4212 C<undef>, TRUE, defined, but FALSE
4214 =item Copy Constructor
4220 =item MAGIC AUTOGENERATION
4222 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
4223 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
4224 I<Concatenation>, I<Comparison operations>, I<Iterator>, I<Dereferencing>,
4227 =item Losing overloading
4229 =item Run-time Overloading
4231 =item Public functions
4233 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
4235 =item Overloading constants
4237 integer, float, binary, q, qr
4239 =item IMPLEMENTATION
4241 =item Metaphor clash
4247 =item Two-face scalars
4249 =item Two-face references
4251 =item Symbolic calculator
4253 =item I<Really> symbolic calculator
4265 =head2 re - Perl pragma to alter regular expression behaviour
4275 =head2 sigtrap - Perl pragma to enable simple signal handling
4287 =item SIGNAL HANDLERS
4289 B<stack-trace>, B<die>, B<handler> I<your-handler>
4293 B<normal-signals>, B<error-signals>, B<old-interface-signals>
4297 B<untrapped>, B<any>, I<signal>, I<number>
4305 =head2 strict - Perl pragma to restrict unsafe constructs
4313 C<strict refs>, C<strict vars>, C<strict subs>
4317 =head2 subs - Perl pragma to predeclare sub names
4327 =head2 utf8 - Perl pragma to enable/disable UTF-8 in source code
4339 =head2 vars - Perl pragma to predeclare global variable names (obsolete)
4349 =head2 warnings - Perl pragma to control optional warnings
4357 warnings::enabled($category), warnings::warn($category, $message)
4361 =head1 MODULE DOCUMENTATION
4363 =head2 AnyDBM_File - provide framework for multiple DBMs
4373 =item DBM Comparisons
4383 =head2 AutoLoader - load subroutines only on demand
4393 =item Subroutine Stubs
4395 =item Using B<AutoLoader>'s AUTOLOAD Subroutine
4397 =item Overriding B<AutoLoader>'s AUTOLOAD Subroutine
4399 =item Package Lexicals
4401 =item B<AutoLoader> vs. B<SelfLoader>
4411 =head2 AutoSplit - split a package for autoloading
4419 $keep, $check, $modtime
4423 =item Multiple packages
4431 =head2 B - The Perl Compiler
4439 =item OVERVIEW OF CLASSES
4443 =item SV-RELATED CLASSES
4451 IV, IVX, needs64bits, packiv
4465 =item B::PVMG METHODS
4469 =item B::MAGIC METHODS
4471 MOREMAGIC, PRIVATE, TYPE, FLAGS, OBJ, PTR
4473 =item B::PVLV METHODS
4475 TARGOFF, TARGLEN, TYPE, TARG
4479 USEFUL, PREVIOUS, RARE, TABLE
4483 is_empty, NAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE,
4484 FILEGV, GvREFCNT, FLAGS
4488 LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV,
4489 BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS
4493 FILL, MAX, OFF, ARRAY, AvFLAGS
4497 STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, XSUB, XSUBANY,
4502 FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY
4504 =item OP-RELATED CLASSES
4508 next, sibling, name, ppaddr, desc, targ, type, seq, flags, private
4510 =item B::UNOP METHOD
4514 =item B::BINOP METHOD
4518 =item B::LOGOP METHOD
4522 =item B::LISTOP METHOD
4526 =item B::PMOP METHODS
4528 pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp
4530 =item B::SVOP METHOD
4534 =item B::PADOP METHOD
4538 =item B::PVOP METHOD
4542 =item B::LOOP METHODS
4544 redoop, nextop, lastop
4546 =item B::COP METHODS
4548 label, stash, file, cop_seq, arybase, line
4552 =item FUNCTIONS EXPORTED BY C<B>
4554 main_cv, init_av, main_root, main_start, comppadlist, sv_undef, sv_yes,
4555 sv_no, amagic_generation, walkoptree(OP, METHOD), walkoptree_debug(DEBUG),
4556 walksymtable(SYMREF, METHOD, RECURSE), svref_2object(SV), ppname(OPNUM),
4557 hash(STR), cast_I32(I), minus_c, cstring(STR), class(OBJ), threadsv_names
4563 =head2 B::Asmdata - Autogenerated data about Perl ops, used to generate
4576 =head2 B::Assembler - Assemble Perl bytecode
4588 =head2 B::Bblock - Walk basic blocks
4600 =head2 B::Bytecode - Perl compiler's bytecode backend
4610 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
4611 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-fstrip-syntax-tree>,
4612 B<-On>, B<-D>, B<-Do>, B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-m>
4622 =head2 B::C - Perl compiler's C backend
4632 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-D>, B<-Do>, B<-Dc>, B<-DA>,
4633 B<-DC>, B<-DM>, B<-f>, B<-fcog>, B<-fno-cog>, B<-On>, B<-llimit>
4643 =head2 B::CC - Perl compiler's optimized C translation backend
4653 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-mModulename>, B<-D>, B<-Dr>,
4654 B<-DO>, B<-Ds>, B<-Dp>, B<-Dq>, B<-Dl>, B<-Dt>, B<-f>,
4655 B<-ffreetmps-each-bblock>, B<-ffreetmps-each-loop>, B<-fomit-taint>, B<-On>
4667 =item Context of ".."
4671 =item Deprecated features
4679 =head2 B::Debug - Walk Perl syntax tree, printing debug info about ops
4691 =head2 B::Deparse - Perl compiler backend to produce perl code
4701 B<-l>, B<-p>, B<-q>, B<-u>I<PACKAGE>, B<-s>I<LETTERS>, B<C>, B<i>I<NUMBER>,
4702 B<T>, B<v>I<STRING>B<.>
4704 =item USING B::Deparse AS A MODULE
4724 =head2 B::Disassembler - Disassemble Perl bytecode
4736 =head2 B::Lint - Perl lint
4744 =item OPTIONS AND LINT CHECKS
4746 B<context>, B<implicit-read> and B<implicit-write>, B<dollar-underscore>,
4747 B<private-names>, B<undefined-subs>, B<regexp-variables>, B<all>, B<none>
4749 =item NON LINT-CHECK OPTIONS
4759 =head2 B::O, O - Generic interface to Perl Compiler backends
4769 =item IMPLEMENTATION
4775 =head2 B::Showlex - Show lexical variables used in functions or files
4787 =head2 B::Stackobj - Helper module for CC backend
4799 =head2 B::Terse - Walk Perl syntax tree, printing terse info about ops
4811 =head2 B::Xref - Generates cross reference reports for Perl programs
4821 C<-oFILENAME>, C<-r>, C<-D[tO]>
4829 =head2 Bblock, B::Bblock - Walk basic blocks
4841 =head2 Benchmark - benchmark running times of Perl code
4855 =item Standard Exports
4857 timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ),
4858 timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr (
4859 TIMEDIFF, [ STYLE, [ FORMAT ] ] )
4861 =item Optional Exports
4863 clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUT, CODEHASHREF, [
4864 STYLE ] ), cmpthese ( RESULTSHASHREF ), countit(TIME, CODE), disablecache (
4865 ), enablecache ( ), timesum ( T1, T2 )
4881 =item MODIFICATION HISTORY
4885 =head2 ByteLoader - load byte compiled perl code
4899 =head2 Bytecode, B::Bytecode - Perl compiler's bytecode backend
4909 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
4910 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-fstrip-syntax-tree>,
4911 B<-On>, B<-D>, B<-Do>, B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-m>
4921 =head2 CGI - Simple Common Gateway Interface Class
4933 =item PROGRAMMING STYLE
4935 =item CALLING CGI.PM ROUTINES
4937 1. Use another name for the argument, if one is available. Forexample,
4938 -value is an alias for -values, 2. Change the capitalization, e.g. -Values,
4939 3. Put quotes around the argument name, e.g. '-values'
4941 =item CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE):
4943 =item CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
4945 =item FETCHING A LIST OF KEYWORDS FROM THE QUERY:
4947 =item FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:
4949 =item FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:
4951 =item SETTING THE VALUE(S) OF A NAMED PARAMETER:
4953 =item APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER:
4955 =item IMPORTING ALL PARAMETERS INTO A NAMESPACE:
4957 =item DELETING A PARAMETER COMPLETELY:
4959 =item DELETING ALL PARAMETERS:
4961 =item DIRECT ACCESS TO THE PARAMETER LIST:
4963 =item FETCHING THE PARAMETER LIST AS A HASH:
4965 =item SAVING THE STATE OF THE SCRIPT TO A FILE:
4967 =item RETRIEVING CGI ERRORS
4969 =item USING THE FUNCTION-ORIENTED INTERFACE
4971 B<:cgi>, B<:form>, B<:html2>, B<:html3>, B<:netscape>, B<:html>,
4972 B<:standard>, B<:all>
4976 -any, -compile, -nph, -newstyle_urls, -autoload, -no_debug,
4979 =item SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS
4981 1. start_table() (generates a <TABLE> tag), 2. end_table() (generates a
4982 </TABLE> tag), 3. start_ul() (generates a <UL> tag), 4. end_ul() (generates
4987 =item GENERATING DYNAMIC DOCUMENTS
4991 =item CREATING A STANDARD HTTP HEADER:
4993 =item GENERATING A REDIRECTION HEADER
4995 =item CREATING THE HTML DOCUMENT HEADER
4997 B<Parameters:>, 4, 5, 6..
4999 =item ENDING THE HTML DOCUMENT:
5001 =item CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
5003 =item OBTAINING THE SCRIPT'S URL
5005 B<-absolute>, B<-relative>, B<-full>, B<-path> (B<-path_info>), B<-query>
5008 =item MIXING POST AND URL PARAMETERS
5012 =item CREATING STANDARD HTML ELEMENTS:
5016 =item PROVIDING ARGUMENTS TO HTML SHORTCUTS
5018 =item THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS
5020 =item HTML SHORTCUTS AND LIST INTERPOLATION
5022 =item NON-STANDARD HTML SHORTCUTS
5024 =item PRETTY-PRINTING HTML
5028 =item CREATING FILL-OUT FORMS:
5032 =item CREATING AN ISINDEX TAG
5034 =item STARTING AND ENDING A FORM
5036 B<application/x-www-form-urlencoded>, B<multipart/form-data>
5038 =item CREATING A TEXT FIELD
5042 =item CREATING A BIG TEXT FIELD
5044 =item CREATING A PASSWORD FIELD
5046 =item CREATING A FILE UPLOAD FIELD
5050 =item CREATING A POPUP MENU
5052 =item CREATING A SCROLLING LIST
5056 =item CREATING A GROUP OF RELATED CHECKBOXES
5060 =item CREATING A STANDALONE CHECKBOX
5064 =item CREATING A RADIO BUTTON GROUP
5068 =item CREATING A SUBMIT BUTTON
5072 =item CREATING A RESET BUTTON
5074 =item CREATING A DEFAULT BUTTON
5076 =item CREATING A HIDDEN FIELD
5080 =item CREATING A CLICKABLE IMAGE BUTTON
5082 B<Parameters:>, 3.The third option (-align, optional) is an alignment type,
5084 TOP, BOTTOM or MIDDLE
5086 =item CREATING A JAVASCRIPT ACTION BUTTON
5092 1. an expiration time, 2. a domain, 3. a path, 4. a "secure" flag,
5093 B<-name>, B<-value>, B<-path>, B<-domain>, B<-expires>, B<-secure>
5095 =item WORKING WITH FRAMES
5097 1. Create a <Frameset> document, 2. Specify the destination for the
5098 document in the HTTP header, 3. Specify the destination for the document in
5101 =item LIMITED SUPPORT FOR CASCADING STYLE SHEETS
5107 =item DUMPING OUT ALL THE NAME/VALUE PAIRS
5111 =item FETCHING ENVIRONMENT VARIABLES
5113 B<Accept()>, B<raw_cookie()>, B<user_agent()>, B<path_info()>,
5114 B<path_translated()>, B<remote_host()>, B<script_name()>Return the script
5115 name as a partial URL, for self-refering
5116 scripts, B<referer()>, B<auth_type ()>, B<server_name ()>, B<virtual_host
5117 ()>, B<server_software ()>, B<remote_user ()>, B<user_name ()>,
5118 B<request_method()>, B<content_type()>, B<http()>, B<https()>
5120 =item USING NPH SCRIPTS
5122 In the B<use> statement, By calling the B<nph()> method:, By using B<-nph>
5123 parameters in the B<header()> and B<redirect()> statements:
5128 multipart_init(-boundary=>$boundary);, multipart_start(), multipart_end()
5130 =item Avoiding Denial of Service Attacks
5132 B<$CGI::POST_MAX>, B<$CGI::DISABLE_UPLOADS>, B<1. On a script-by-script
5133 basis>, B<2. Globally for all scripts>
5135 =item COMPATIBILITY WITH CGI-LIB.PL
5137 =item AUTHOR INFORMATION
5141 Matt Heffron (heffron@falstaff.css.beckman.com), James Taylor
5142 (james.taylor@srs.gov), Scott Anguish <sanguish@digifix.com>, Mike Jewell
5143 (mlj3u@virginia.edu), Timothy Shimmin (tes@kbs.citri.edu.au), Joergen Haegg
5144 (jh@axis.se), Laurent Delfosse (delfosse@delfosse.com), Richard Resnick
5145 (applepi1@aol.com), Craig Bishop (csb@barwonwater.vic.gov.au), Tony Curtis
5146 (tc@vcpc.univie.ac.at), Tim Bunce (Tim.Bunce@ig.co.uk), Tom Christiansen
5147 (tchrist@convex.com), Andreas Koenig (k@franz.ww.TU-Berlin.DE), Tim
5148 MacKenzie (Tim.MacKenzie@fulcrum.com.au), Kevin B. Hendricks
5149 (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen (joyfire@inxpress.net), Ed
5150 Jordan (ed@fidalgo.net), David Alan Pisoni (david@cnation.com), Doug
5151 MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org),
5152 ...and many many more..
5154 =item A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT
5162 =head2 CGI::Apache - Backward compatibility module for CGI.pm
5172 =item AUTHOR INFORMATION
5180 =head2 CGI::Carp, B<CGI::Carp> - CGI routines for writing to the HTTPD (or
5189 =item REDIRECTING ERROR MESSAGES
5191 =item MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW
5195 =item Changing the default message
5207 =head2 CGI::Cookie - Interface to Netscape Cookies
5215 =item USING CGI::Cookie
5217 B<1. expiration date>, B<2. domain>, B<3. path>, B<4. secure flag>
5221 =item Creating New Cookies
5223 =item Sending the Cookie to the Browser
5225 =item Recovering Previous Cookies
5227 =item Manipulating Cookies
5229 B<name()>, B<value()>, B<domain()>, B<path()>, B<expires()>
5233 =item AUTHOR INFORMATION
5241 =head2 CGI::Fast - CGI Interface for Fast CGI
5249 =item OTHER PIECES OF THE PUZZLE
5251 =item WRITING FASTCGI PERL SCRIPTS
5253 =item INSTALLING FASTCGI SCRIPTS
5255 =item USING FASTCGI SCRIPTS AS CGI SCRIPTS
5259 =item AUTHOR INFORMATION
5267 =head2 CGI::Pretty - module to produce nicely formatted HTML code
5277 =item Tags that won't be formatted
5279 =item Customizing the Indenting
5291 =head2 CGI::Push - Simple Interface to Server Push
5299 =item USING CGI::Push
5301 -next_page, -last_page, -type, -delay, -cookie, -target, -expires
5305 =item Heterogeneous Pages
5307 =item Changing the Page Delay on the Fly
5311 =item INSTALLING CGI::Push SCRIPTS
5313 =item AUTHOR INFORMATION
5321 =head2 CGI::Switch - Backward compatibility module for defunct CGI::Switch
5331 =item AUTHOR INFORMATION
5339 =head2 CPAN - query, download and build perl modules from CPAN sites
5349 =item Interactive Mode
5351 Searching for authors, bundles, distribution files and modules, make, test,
5352 install, clean modules or distributions, get, readme, look module or
5353 distribution, Signals
5361 =item The four C<CPAN::*> Classes: Author, Bundle, Module, Distribution
5363 =item ProgrammerE<39>s interface
5365 expand($type,@things), Programming Examples
5367 =item Methods in the four Classes
5375 =item Finding packages and VERSION
5379 =item Floppy, Zip, Offline Mode
5385 C<o conf E<lt>scalar optionE<gt>>, C<o conf E<lt>scalar optionE<gt>
5386 E<lt>valueE<gt>>, C<o conf E<lt>list optionE<gt>>, C<o conf E<lt>list
5387 optionE<gt> [shift|pop]>, C<o conf E<lt>list optionE<gt>
5388 [unshift|push|splice] E<lt>listE<gt>>
5392 =item Note on urllist parameter's format
5394 =item urllist parameter has CD-ROM support
5402 =item POPULATE AN INSTALLATION WITH LOTS OF MODULES
5404 =item WORKING WITH CPAN.pm BEHIND FIREWALLS
5406 http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade
5416 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
5426 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
5439 =head2 Carp, carp - warn of errors (from perspective of caller)
5449 =item Forcing a Stack Trace
5457 =head2 Carp::Heavy - Carp guts
5467 =head2 Class::Struct - declare struct-like datatypes as Perl classes
5477 =item The C<struct()> function
5479 =item Element Types and Accessor Methods
5481 Scalar (C<'$'> or C<'*$'>), Array (C<'@'> or C<'*@'>), Hash (C<'%'> or
5482 C<'*%'>), Class (C<'Class_Name'> or C<'*Class_Name'>)
5484 =item Initializing with C<new>
5490 Example 1, Example 2, Example 3
5492 =item Author and Modification History
5496 =head2 Config - access Perl configuration information
5504 myconfig(), config_sh(), config_vars(@names)
5516 C<_a>, C<_exe>, C<_o>
5520 C<afs>, C<alignbytes>, C<ansi2knr>, C<aphostname>, C<api_revision>,
5521 C<api_subversion>, C<api_version>, C<api_versionstring>, C<ar>, C<archlib>,
5522 C<archlibexp>, C<archname64>, C<archname>, C<archobjs>, C<awk>
5526 C<baserev>, C<bash>, C<bin>, C<bincompat5005>, C<binexp>, C<bison>,
5527 C<byacc>, C<byteorder>
5531 C<c>, C<castflags>, C<cat>, C<cc>, C<cccdlflags>, C<ccdlflags>, C<ccflags>,
5532 C<ccsymbols>, C<cf_by>, C<cf_email>, C<cf_time>, C<charsize>, C<chgrp>,
5533 C<chmod>, C<chown>, C<clocktype>, C<comm>, C<compress>
5537 C<CONFIGDOTSH>, C<contains>, C<cp>, C<cpio>, C<cpp>, C<cpp_stuff>,
5538 C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>, C<cpprun>,
5539 C<cppstdin>, C<cppsymbols>, C<crosscompile>, C<cryptlib>, C<csh>
5543 C<d_access>, C<d_accessx>, C<d_alarm>, C<d_archlib>, C<d_atolf>,
5544 C<d_atoll>, C<d_attribut>, C<d_bcmp>, C<d_bcopy>, C<d_bincompat5005>,
5545 C<d_bsd>, C<d_bsdgetpgrp>, C<d_bsdsetpgrp>, C<d_bzero>, C<d_casti32>,
5546 C<d_castneg>, C<d_charvspr>, C<d_chown>, C<d_chroot>, C<d_chsize>,
5547 C<d_closedir>, C<d_const>, C<d_crypt>, C<d_csh>, C<d_cuserid>,
5548 C<d_dbl_dig>, C<d_difftime>, C<d_dirnamlen>, C<d_dlerror>, C<d_dlopen>,
5549 C<d_dlsymun>, C<d_dosuid>, C<d_drand48proto>, C<d_dup2>, C<d_eaccess>,
5550 C<d_endgrent>, C<d_endhent>, C<d_endnent>, C<d_endpent>, C<d_endpwent>,
5551 C<d_endsent>, C<d_endspent>, C<d_eofnblk>, C<d_eunice>, C<d_fchmod>,
5552 C<d_fchown>, C<d_fcntl>, C<d_fd_macros>, C<d_fd_set>, C<d_fds_bits>,
5553 C<d_fgetpos>, C<d_flexfnam>, C<d_flock>, C<d_fork>, C<d_fpathconf>,
5554 C<d_fpos64_t>, C<d_fs_data_s>, C<d_fseeko>, C<d_fsetpos>, C<d_fstatfs>,
5555 C<d_fstatvfs>, C<d_ftello>, C<d_ftime>, C<d_Gconvert>, C<d_getcwd>,
5556 C<d_getfsstat>, C<d_getgrent>, C<d_getgrps>, C<d_gethbyaddr>,
5557 C<d_gethbyname>, C<d_gethent>, C<d_gethname>, C<d_gethostprotos>,
5558 C<d_getlogin>, C<d_getmnt>, C<d_getmntent>, C<d_getnbyaddr>,
5559 C<d_getnbyname>, C<d_getnent>, C<d_getnetprotos>, C<d_getpbyname>,
5560 C<d_getpbynumber>, C<d_getpent>, C<d_getpgid>, C<d_getpgrp2>, C<d_getpgrp>,
5561 C<d_getppid>, C<d_getprior>, C<d_getprotoprotos>, C<d_getpwent>,
5562 C<d_getsbyname>, C<d_getsbyport>, C<d_getsent>, C<d_getservprotos>,
5563 C<d_getspent>, C<d_getspnam>, C<d_gettimeod>, C<d_gnulibc>, C<d_grpasswd>,
5564 C<d_hasmntopt>, C<d_htonl>, C<d_iconv>, C<d_index>, C<d_inetaton>,
5565 C<d_int64_t>, C<d_isascii>, C<d_killpg>, C<d_lchown>, C<d_ldbl_dig>,
5566 C<d_link>, C<d_locconv>, C<d_lockf>, C<d_longdbl>, C<d_longlong>,
5567 C<d_lseekproto>, C<d_lstat>, C<d_mblen>, C<d_mbstowcs>, C<d_mbtowc>,
5568 C<d_memchr>, C<d_memcmp>, C<d_memcpy>, C<d_memmove>, C<d_memset>,
5569 C<d_mkdir>, C<d_mkdtemp>, C<d_mkfifo>, C<d_mkstemp>, C<d_mkstemps>,
5570 C<d_mktime>, C<d_mmap>, C<d_mprotect>, C<d_msg>, C<d_msg_ctrunc>,
5571 C<d_msg_dontroute>, C<d_msg_oob>, C<d_msg_peek>, C<d_msg_proxy>,
5572 C<d_msgctl>, C<d_msgget>, C<d_msgrcv>, C<d_msgsnd>, C<d_msync>,
5573 C<d_munmap>, C<d_mymalloc>, C<d_nice>, C<d_nv_preserves_uv>, C<d_off64_t>,
5574 C<d_old_pthread_create_joinable>, C<d_oldpthreads>, C<d_oldsock>,
5575 C<d_open3>, C<d_pathconf>, C<d_pause>, C<d_phostname>, C<d_pipe>,
5576 C<d_poll>, C<d_portable>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIEldbl>,
5577 C<d_PRIfldbl>, C<d_PRIFldbl>, C<d_PRIgldbl>, C<d_PRIGldbl>, C<d_PRIi64>,
5578 C<d_PRIo64>, C<d_PRIu64>, C<d_PRIx64>, C<d_PRIX64>, C<d_pthread_yield>,
5579 C<d_pwage>, C<d_pwchange>, C<d_pwclass>, C<d_pwcomment>, C<d_pwexpire>,
5580 C<d_pwgecos>, C<d_pwpasswd>, C<d_pwquota>, C<d_quad>, C<d_readdir>,
5581 C<d_readlink>, C<d_rename>, C<d_rewinddir>, C<d_rmdir>, C<d_safebcpy>,
5582 C<d_safemcpy>, C<d_sanemcmp>, C<d_sched_yield>, C<d_scm_rights>,
5583 C<d_seekdir>, C<d_select>, C<d_sem>, C<d_semctl>, C<d_semctl_semid_ds>,
5584 C<d_semctl_semun>, C<d_semget>, C<d_semop>, C<d_setegid>, C<d_seteuid>,
5585 C<d_setgrent>, C<d_setgrps>, C<d_sethent>, C<d_setlinebuf>, C<d_setlocale>,
5586 C<d_setnent>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp2>, C<d_setpgrp>,
5587 C<d_setprior>, C<d_setpwent>, C<d_setregid>, C<d_setresgid>,
5588 C<d_setresuid>, C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>,
5589 C<d_setsid>, C<d_setspent>, C<d_setvbuf>, C<d_sfio>, C<d_shm>, C<d_shmat>,
5590 C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>, C<d_sigaction>,
5591 C<d_sigsetjmp>, C<d_socket>, C<d_socklen_t>, C<d_sockpair>, C<d_sqrtl>,
5592 C<d_statblks>, C<d_statfs_f_flags>, C<d_statfs_s>, C<d_statvfs>,
5593 C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>, C<d_stdio_stream_array>,
5594 C<d_stdiobase>, C<d_stdstdio>, C<d_strchr>, C<d_strcoll>, C<d_strctcpy>,
5595 C<d_strerrm>, C<d_strerror>, C<d_strtod>, C<d_strtol>, C<d_strtold>,
5596 C<d_strtoll>, C<d_strtoul>, C<d_strtoull>, C<d_strtouq>, C<d_strxfrm>,
5597 C<d_suidsafe>, C<d_symlink>, C<d_syscall>, C<d_sysconf>, C<d_sysernlst>,
5598 C<d_syserrlst>, C<d_system>, C<d_tcgetpgrp>, C<d_tcsetpgrp>, C<d_telldir>,
5599 C<d_telldirproto>, C<d_time>, C<d_times>, C<d_truncate>, C<d_tzname>,
5600 C<d_umask>, C<d_uname>, C<d_union_semun>, C<d_ustat>, C<d_vendorbin>,
5601 C<d_vendorlib>, C<d_vfork>, C<d_void_closedir>, C<d_voidsig>, C<d_voidtty>,
5602 C<d_volatile>, C<d_vprintf>, C<d_wait4>, C<d_waitpid>, C<d_wcstombs>,
5603 C<d_wctomb>, C<d_xenix>, C<date>, C<db_hashtype>, C<db_prefixtype>,
5604 C<defvoidused>, C<direntrytype>, C<dlext>, C<dlsrc>, C<doublesize>,
5605 C<drand01>, C<dynamic_ext>
5609 C<eagain>, C<ebcdic>, C<echo>, C<egrep>, C<emacs>, C<eunicefix>,
5610 C<exe_ext>, C<expr>, C<extensions>
5614 C<fflushall>, C<fflushNULL>, C<find>, C<firstmakefile>, C<flex>,
5615 C<fpossize>, C<fpostype>, C<freetype>, C<full_ar>, C<full_csh>, C<full_sed>
5619 C<gccversion>, C<gidformat>, C<gidsign>, C<gidsize>, C<gidtype>,
5620 C<glibpth>, C<grep>, C<groupcat>, C<groupstype>, C<gzip>
5624 C<h_fcntl>, C<h_sysfile>, C<hint>, C<hostcat>, C<huge>
5628 C<i16size>, C<i16type>, C<i32size>, C<i32type>, C<i64size>, C<i64type>,
5629 C<i8size>, C<i8type>, C<i_arpainet>, C<i_bsdioctl>, C<i_db>, C<i_dbm>,
5630 C<i_dirent>, C<i_dld>, C<i_dlfcn>, C<i_fcntl>, C<i_float>, C<i_gdbm>,
5631 C<i_grp>, C<i_iconv>, C<i_inttypes>, C<i_limits>, C<i_locale>,
5632 C<i_machcthr>, C<i_malloc>, C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>,
5633 C<i_netdb>, C<i_neterrno>, C<i_netinettcp>, C<i_niin>, C<i_poll>,
5634 C<i_pthread>, C<i_pwd>, C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>, C<i_shadow>,
5635 C<i_socks>, C<i_stdarg>, C<i_stddef>, C<i_stdlib>, C<i_string>,
5636 C<i_sysaccess>, C<i_sysdir>, C<i_sysfile>, C<i_sysfilio>, C<i_sysin>,
5637 C<i_sysioctl>, C<i_syslog>, C<i_sysmman>, C<i_sysmode>, C<i_sysmount>,
5638 C<i_sysndir>, C<i_sysparam>, C<i_sysresrc>, C<i_syssecrt>, C<i_sysselct>,
5639 C<i_syssockio>, C<i_sysstat>, C<i_sysstatfs>, C<i_sysstatvfs>,
5640 C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>, C<i_sysuio>,
5641 C<i_sysun>, C<i_sysutsname>, C<i_sysvfs>, C<i_syswait>, C<i_termio>,
5642 C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>, C<i_values>,
5643 C<i_varargs>, C<i_varhdr>, C<i_vfork>, C<ignore_versioned_solibs>,
5644 C<inc_version_list>, C<inc_version_list_init>, C<incpath>, C<inews>,
5645 C<installarchlib>, C<installbin>, C<installman1dir>, C<installman3dir>,
5646 C<installprefix>, C<installprefixexp>, C<installprivlib>, C<installscript>,
5647 C<installsitearch>, C<installsitebin>, C<installsitelib>, C<installstyle>,
5648 C<installusrbinperl>, C<installvendorbin>, C<installvendorlib>, C<intsize>,
5649 C<ivdformat>, C<ivsize>, C<ivtype>
5653 C<known_extensions>, C<ksh>
5657 C<large>, C<ld>, C<lddlflags>, C<ldflags>, C<ldlibpthname>, C<less>,
5658 C<lib_ext>, C<libc>, C<libperl>, C<libpth>, C<libs>, C<libsdirs>,
5659 C<libsfiles>, C<libsfound>, C<libspath>, C<libswanted>, C<line>, C<lint>,
5660 C<lkflags>, C<ln>, C<lns>, C<locincpth>, C<loclibpth>, C<longdblsize>,
5661 C<longlongsize>, C<longsize>, C<lp>, C<lpr>, C<ls>, C<lseeksize>,
5666 C<mail>, C<mailx>, C<make>, C<make_set_make>, C<mallocobj>, C<mallocsrc>,
5667 C<malloctype>, C<man1dir>, C<man1direxp>, C<man1ext>, C<man3dir>,
5668 C<man3direxp>, C<man3ext>
5672 C<Mcc>, C<medium>, C<mips_type>, C<mkdir>, C<mmaptype>, C<models>,
5673 C<modetype>, C<more>, C<multiarch>, C<mv>, C<myarchname>, C<mydomain>,
5674 C<myhostname>, C<myuname>
5678 C<n>, C<netdb_hlen_type>, C<netdb_host_type>, C<netdb_name_type>,
5679 C<netdb_net_type>, C<nm>, C<nm_opt>, C<nm_so_opt>, C<nonxs_ext>, C<nroff>,
5680 C<nvsize>, C<nvtype>
5684 C<o_nonblock>, C<obj_ext>, C<old_pthread_create_joinable>, C<optimize>,
5685 C<orderlib>, C<osname>, C<osvers>
5689 C<package>, C<pager>, C<passcat>, C<patchlevel>, C<path_sep>, C<perl5>,
5694 C<PERL_REVISION>, C<PERL_SUBVERSION>, C<PERL_VERSION>, C<perladmin>,
5695 C<perlpath>, C<pg>, C<phostname>, C<pidtype>, C<plibpth>, C<pm_apiversion>,
5696 C<pmake>, C<pr>, C<prefix>, C<prefixexp>, C<privlib>, C<privlibexp>,
5697 C<prototype>, C<ptrsize>
5701 C<quadkind>, C<quadtype>
5705 C<randbits>, C<randfunc>, C<randseedtype>, C<ranlib>, C<rd_nodata>,
5706 C<revision>, C<rm>, C<rmail>, C<runnm>
5710 C<sched_yield>, C<scriptdir>, C<scriptdirexp>, C<sed>, C<seedfunc>,
5711 C<selectminbits>, C<selecttype>, C<sendmail>, C<sh>, C<shar>, C<sharpbang>,
5712 C<shmattype>, C<shortsize>, C<shrpenv>, C<shsharp>, C<sig_count>,
5713 C<sig_name>, C<sig_name_init>, C<sig_num>, C<sig_num_init>, C<signal_t>,
5714 C<sitearch>, C<sitearchexp>, C<sitebin>, C<sitebinexp>, C<sitelib>,
5715 C<sitelibexp>, C<siteprefix>, C<siteprefixexp>, C<sizetype>, C<sleep>,
5716 C<smail>, C<small>, C<so>, C<sockethdr>, C<socketlib>, C<socksizetype>,
5717 C<sort>, C<spackage>, C<spitshell>, C<split>, C<sPRId64>, C<sPRIeldbl>,
5718 C<sPRIEldbl>, C<sPRIfldbl>, C<sPRIFldbl>, C<sPRIgldbl>, C<sPRIGldbl>,
5719 C<sPRIi64>, C<sPRIo64>, C<sPRIu64>, C<sPRIx64>, C<sPRIX64>, C<src>,
5720 C<ssizetype>, C<startperl>, C<startsh>, C<static_ext>, C<stdchar>,
5721 C<stdio_base>, C<stdio_bufsiz>, C<stdio_cnt>, C<stdio_filbuf>,
5722 C<stdio_ptr>, C<stdio_stream_array>, C<strings>, C<submit>, C<subversion>,
5727 C<tail>, C<tar>, C<tbl>, C<tee>, C<test>, C<timeincl>, C<timetype>,
5728 C<touch>, C<tr>, C<trnl>, C<troff>
5732 C<u16size>, C<u16type>, C<u32size>, C<u32type>, C<u64size>, C<u64type>,
5733 C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
5734 C<uname>, C<uniq>, C<uquadtype>, C<use5005threads>, C<use64bitall>,
5735 C<use64bitint>, C<usedl>, C<useithreads>, C<uselargefiles>,
5736 C<uselongdouble>, C<usemorebits>, C<usemultiplicity>, C<usemymalloc>,
5737 C<usenm>, C<useopcode>, C<useperlio>, C<useposix>, C<usesfio>,
5738 C<useshrplib>, C<usesocks>, C<usethreads>, C<usevendorprefix>, C<usevfork>,
5739 C<usrinc>, C<uuname>, C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>,
5744 C<vendorbin>, C<vendorbinexp>, C<vendorlib>, C<vendorlibexp>,
5745 C<vendorprefix>, C<vendorprefixexp>, C<version>, C<vi>, C<voidflags>
5749 C<xlibpth>, C<xs_apiversion>
5761 =head2 Cwd, getcwd - get pathname of current working directory
5771 =head2 DB - programmatic interface to the Perl debugging API (draft,
5783 =item Global Variables
5785 $DB::sub, %DB::sub, $DB::single, $DB::signal, $DB::trace, @DB::args,
5786 @DB::dbline, %DB::dbline, $DB::package, $DB::filename, $DB::subname,
5791 CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'),
5792 CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()
5794 =item Client Callback Methods
5796 CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(),
5797 CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(),
5798 CLIENT->output(LIST)
5808 =head2 DB_File - Perl5 access to Berkeley DB version 1.x
5816 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
5820 =item Using DB_File with Berkeley DB version 2 or 3
5822 =item Interface to Berkeley DB
5824 =item Opening a Berkeley DB Database File
5826 =item Default Parameters
5828 =item In Memory Databases
5836 =item A Simple Example
5844 =item Changing the BTREE sort order
5846 =item Handling Duplicate Keys
5848 =item The get_dup() Method
5850 =item The find_dup() Method
5852 =item The del_dup() Method
5854 =item Matching Partial Keys
5862 =item The 'bval' Option
5864 =item A Simple Example
5866 =item Extra RECNO Methods
5868 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
5869 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
5871 =item Another Example
5875 =item THE API INTERFACE
5877 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
5878 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
5879 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
5880 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
5884 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
5885 B<filter_fetch_value>
5891 =item An Example -- the NULL termination problem.
5893 =item Another Example -- Key is a C int.
5897 =item HINTS AND TIPS
5901 =item Locking: The Trouble with fd
5903 =item Safe ways to lock a database
5905 B<Tie::DB_Lock>, B<Tie::DB_LockFile>, B<DB_File::Lock>
5907 =item Sharing Databases With C Applications
5909 =item The untie() Gotcha
5913 =item COMMON QUESTIONS
5917 =item Why is there Perl source in my database?
5919 =item How do I store complex data structures with DB_File?
5921 =item What does "Invalid Argument" mean?
5923 =item What does "Bareword 'DB_File' not allowed" mean?
5943 =head2 Data::Dumper - stringified perl data structures, suitable for both
5944 printing and C<eval>
5956 I<PACKAGE>->new(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Dump I<or>
5957 I<PACKAGE>->Dump(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Dumpxs I<or>
5958 I<PACKAGE>->Dumpxs(I<ARRAYREF [>, I<ARRAYREF]>),
5959 I<$OBJ>->Seen(I<[HASHREF]>), I<$OBJ>->Values(I<[ARRAYREF]>),
5960 I<$OBJ>->Names(I<[ARRAYREF]>), I<$OBJ>->Reset
5964 Dumper(I<LIST>), DumperX(I<LIST>)
5966 =item Configuration Variables or Methods
5968 $Data::Dumper::Indent I<or> I<$OBJ>->Indent(I<[NEWVAL]>),
5969 $Data::Dumper::Purity I<or> I<$OBJ>->Purity(I<[NEWVAL]>),
5970 $Data::Dumper::Pad I<or> I<$OBJ>->Pad(I<[NEWVAL]>),
5971 $Data::Dumper::Varname I<or> I<$OBJ>->Varname(I<[NEWVAL]>),
5972 $Data::Dumper::Useqq I<or> I<$OBJ>->Useqq(I<[NEWVAL]>),
5973 $Data::Dumper::Terse I<or> I<$OBJ>->Terse(I<[NEWVAL]>),
5974 $Data::Dumper::Freezer I<or> $I<OBJ>->Freezer(I<[NEWVAL]>),
5975 $Data::Dumper::Toaster I<or> $I<OBJ>->Toaster(I<[NEWVAL]>),
5976 $Data::Dumper::Deepcopy I<or> $I<OBJ>->Deepcopy(I<[NEWVAL]>),
5977 $Data::Dumper::Quotekeys I<or> $I<OBJ>->Quotekeys(I<[NEWVAL]>),
5978 $Data::Dumper::Bless I<or> $I<OBJ>->Bless(I<[NEWVAL]>),
5979 $Data::Dumper::Maxdepth I<or> $I<OBJ>->Maxdepth(I<[NEWVAL]>)
5999 =head2 Devel::DProf - a Perl code profiler
6007 =item PROFILE FORMAT
6019 =head2 Devel::Peek - A data debugging tool for the XS programmer
6031 =item A simple scalar string
6033 =item A simple scalar number
6035 =item A simple scalar with an extra reference
6037 =item A reference to a simple scalar
6039 =item A reference to an array
6041 =item A reference to a hash
6043 =item Dumping a large array or hash
6045 =item A reference to an SV which holds a C pointer
6047 =item A reference to a subroutine
6061 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
6071 =head2 DirHandle - supply object methods for directory handles
6081 =head2 Dumpvalue - provides screen dump of Perl data.
6093 C<arrayDepth>, C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>,
6094 C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<tick>, C<HighBit>,
6095 C<printUndef>, C<UsageOnly>, unctrl, subdump, bareStringify, quoteHighBit,
6100 dumpValue, dumpValues, dumpvars, set_quote, set_unctrl, compactDump,
6101 veryCompact, set, get
6107 =head2 DynaLoader - Dynamically load C libraries into Perl code
6115 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
6116 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
6117 dl_load_file(), dl_loadflags(), dl_find_symbol(),
6118 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
6125 =head2 DynaLoader::XSLoader, XSLoader - Dynamically load C libraries into
6138 =head2 English - use nice English (or awk) names for ugly punctuation
6151 =head2 Env - perl module that imports environment variables
6163 =head2 Errno - System errno constants
6179 =head2 Exporter - Implements default import method for modules
6191 =item Selecting What To Export
6193 =item Specialised Import Lists
6195 =item Exporting without using Export's import method
6197 =item Module Version Checking
6199 =item Managing Unknown Symbols
6201 =item Tag Handling Utility Functions
6207 =head2 Exporter::Heavy - Exporter guts
6217 =head2 ExtUtils::Command - utilities to replace common UNIX commands in
6238 mv source... destination
6240 cp source... destination
6258 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
6270 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
6271 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
6281 =head2 ExtUtils::Install - install files from here to there
6291 =head2 ExtUtils::Installed - Inventory management of installed modules
6303 new(), modules(), files(), directories(), directory_tree(), validate(),
6304 packlist(), version()
6312 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
6320 For static extensions, For dynamic extensions, For dynamic extensions
6326 =item LDLOADLIBS and LD_RUN_PATH
6336 =item VMS implementation
6338 =item Win32 implementation
6346 =head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
6355 canonpath, cflags, manifypods, perl_archive
6359 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
6370 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
6382 =item Preloaded methods
6402 =item SelfLoaded methods
6448 file_name_is_absolute
6454 =item Methods to actually produce chunks of text for the Makefile
6494 maybe_command_in_dirs
6532 replace_manpage_separator
6546 test_via_harness (o)
6576 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
6587 =item Methods always loaded
6599 =item SelfLoaded methods
6601 guess_name (override)
6605 find_perl (override)
6609 maybe_command (override)
6611 maybe_command_in_dirs (override)
6613 perl_script (override)
6615 file_name_is_absolute (override)
6617 replace_manpage_separator
6619 init_others (override)
6621 constants (override)
6625 const_cccmd (override)
6627 pm_to_blib (override)
6629 tool_autosplit (override)
6631 tool_sxubpp (override)
6633 xsubpp_version (override)
6635 tools_other (override)
6645 top_targets (override)
6649 dynamic_lib (override)
6651 dynamic_bs (override)
6653 static_lib (override)
6655 manifypods (override)
6657 processPL (override)
6659 installbin (override)
6665 realclean (override)
6667 dist_basics (override)
6669 dist_core (override)
6673 dist_test (override)
6677 perldepend (override)
6683 test_via_harness (override)
6685 test_via_script (override)
6687 makeaperl (override)
6691 =head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
6718 test_via_harness (o)
6720 tool_autosplit (override)
6738 =head2 ExtUtils::MakeMaker - create an extension Makefile
6748 =item How To Write A Makefile.PL
6750 =item Default Makefile Behaviour
6758 =item PREFIX and LIB attribute
6762 =item Static Linking of a new Perl Binary
6764 =item Determination of Perl Library and Installation Locations
6766 =item Which architecture dependent directory?
6768 =item Using Attributes and Parameters
6770 AUTHOR, ABSTRACT, ABSTRACT_FROM, BINARY_LOCATION, C, CAPI, CCFLAGS, CONFIG,
6771 CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS, EXCLUDE_EXT,
6772 EXE_FILES, FIRST_MAKEFILE, FULLPERL, FUNCLIST, H, HTMLLIBPODS,
6773 HTMLSCRIPTPODS, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN,
6774 INSTALLDIRS, INSTALLHTMLPRIVLIBDIR, INSTALLHTMLSCRIPTDIR,
6775 INSTALLHTMLSITELIBDIR, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB,
6776 INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITELIB, INST_ARCHLIB, INST_BIN,
6777 INST_EXE, INST_LIB, INST_HTMLLIBDIR, INST_HTMLSCRIPTDIR, INST_MAN1DIR,
6778 INST_MAN3DIR, INST_SCRIPT, PERL_MALLOC_OK, LDFROM, LIB, LIBPERL_A, LIBS,
6779 LINKTYPE, MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB,
6780 NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_VC, OBJECT, OPTIMIZE, PERL,
6781 PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_SRC, PERM_RW, PERM_RWX, PL_FILES,
6782 PM, PMLIBDIRS, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PREFIX,
6783 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
6786 =item Additional lowercase attributes
6788 clean, depend, dist, dynamic_lib, linkext, macro, realclean, test,
6791 =item Overriding MakeMaker Methods
6793 =item Hintsfile support
6795 =item Distribution Support
6797 make distcheck, make skipcheck, make distclean, make manifest,
6798 make distdir, make tardist, make dist, make uutardist, make
6799 shdist, make zipdist, make ci
6801 =item Disabling an extension
6815 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
6827 =item GLOBAL VARIABLES
6831 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
6832 C<Added to MANIFEST:> I<file>
6840 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
6852 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
6862 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
6871 DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME
6879 =head2 ExtUtils::Packlist - manage .packlist files
6891 new(), read(), write(), validate(), packlist_file()
6899 =head2 ExtUtils::testlib - add blib/* directories to @INC
6909 =head2 Fatal - replace functions with equivalents which succeed or die
6921 =head2 Fcntl - load the C Fcntl.h defines
6931 =item EXPORTED SYMBOLS
6935 =head2 File::Basename, fileparse - split a pathname into pieces
6943 fileparse_set_fstype, fileparse
6947 C<basename>, C<dirname>
6951 =head2 File::CheckTree, validate - run many filetest checks on a tree
6961 =head2 File::Compare - Compare files or filehandles
6975 =head2 File::Copy - Copy files or filehandles
6985 =item Special behaviour if C<syscopy> is defined (OS/2, VMS and Win32)
6987 rmscopy($from,$to[,$date_flag])
6997 =head2 File::DosGlob - DOS like globbing and then some
7005 =item EXPORTS (by request only)
7017 =head2 File::Find, find - traverse a file tree
7025 C<wanted>, C<bydepth>, C<follow>, C<follow_fast>, C<follow_skip>,
7026 C<no_chdir>, C<untaint>, C<untaint_pattern>, C<untaint_skip>
7032 =head2 File::Glob - Perl extension for BSD glob routine
7040 C<GLOB_ERR>, C<GLOB_MARK>, C<GLOB_NOCASE>, C<GLOB_NOCHECK>, C<GLOB_NOSORT>,
7041 C<GLOB_BRACE>, C<GLOB_NOMAGIC>, C<GLOB_QUOTE>, C<GLOB_TILDE>, C<GLOB_CSH>
7045 C<GLOB_NOSPACE>, C<GLOB_ABEND>
7053 =head2 File::Path - create or remove directory trees
7065 =head2 File::Spec - portably perform operations on file names
7079 =head2 File::Spec::Functions - portably perform operations on file names
7097 =head2 File::Spec::Mac - File::Spec for MacOS
7125 file_name_is_absolute
7145 =head2 File::Spec::OS2 - methods for OS/2 file specs
7155 =head2 File::Spec::Unix - methods used by File::Spec
7187 file_name_is_absolute
7209 =head2 File::Spec::VMS - methods for VMS file specs
7225 =item Methods always loaded
7227 canonpath (override)
7245 case_tolerant (override)
7249 file_name_is_absolute (override)
7251 splitpath (override)
7267 =head2 File::Spec::Win32 - methods for Win32 file specs
7301 =head2 File::stat - by-name interface to Perl's built-in stat() functions
7315 =head2 FileCache - keep more files open than the system permits
7327 =head2 FileHandle - supply object methods for filehandles
7335 $fh->print, $fh->printf, $fh->getline, $fh->getlines
7341 =head2 FindBin - Locate directory of original perl script
7349 =item EXPORTABLE VARIABLES
7359 =head2 GDBM_File - Perl5 access to the gdbm library.
7375 =head2 Getopt::Long, GetOptions - extended processing of command line
7388 =item Linkage specification
7390 =item Aliases and abbreviations
7392 =item Non-option call-back routine
7394 =item Option starters
7396 =item Return values and Errors
7404 =item CONFIGURATION OPTIONS
7406 default, auto_abbrev, getopt_compat, require_order, permute, bundling
7407 (default: reset), bundling_override (default: reset), ignore_case
7408 (default: set), ignore_case_always (default: reset), pass_through (default:
7409 reset), prefix, prefix_pattern, debug (default: reset)
7411 =item OTHER USEFUL VARIABLES
7413 $Getopt::Long::VERSION, $Getopt::Long::error
7417 =item COPYRIGHT AND DISCLAIMER
7421 =head2 Getopt::Std, getopt - Process single-character switches with switch
7432 =head2 I18N::Collate - compare 8-bit scalar data according to the current
7443 =head2 IO - load various IO modules
7453 =head2 IO::Dir - supply object methods for directory handles
7461 new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (),
7462 rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ]
7472 =head2 IO::File - supply object methods for filehandles
7482 new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile
7486 open( FILENAME [,MODE [,PERMS]] )
7494 =head2 IO::Handle - supply object methods for I/O handles
7504 new (), new_from_fd ( FD, MODE )
7508 $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines,
7509 $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error,
7510 $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ),
7511 $io->blocking ( [ BOOL ] ), $io->untaint
7523 =head2 IO::Pipe - supply object methods for pipes
7533 new ( [READER, WRITER] )
7537 reader ([ARGS]), writer ([ARGS]), handles ()
7547 =head2 IO::Poll - Object interface to system poll call
7557 mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove (
7558 IO ), handles( [ EVENT_MASK ] )
7568 =head2 IO::Seekable - supply seek based methods for I/O objects
7582 =head2 IO::Select - OO interface to the select system call
7596 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
7597 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ),
7598 count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
7608 =head2 IO::Socket - Object interface to socket communications
7622 accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), timeout([VAL]),
7623 sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected
7633 =head2 IO::Socket::INET - Object interface for AF_INET domain sockets
7649 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
7662 =head2 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
7676 hostpath(), peerpath()
7686 =head2 IO::lib::IO::Dir, IO::Dir - supply object methods for directory
7695 new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (),
7696 rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ]
7706 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
7716 new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile
7720 open( FILENAME [,MODE [,PERMS]] )
7728 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
7739 new (), new_from_fd ( FD, MODE )
7743 $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines,
7744 $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error,
7745 $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ),
7746 $io->blocking ( [ BOOL ] ), $io->untaint
7758 =head2 IO::lib::IO::Pipe, IO::Pipe - supply object methods for pipes
7768 new ( [READER, WRITER] )
7772 reader ([ARGS]), writer ([ARGS]), handles ()
7782 =head2 IO::lib::IO::Poll, IO::Poll - Object interface to system poll call
7792 mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove (
7793 IO ), handles( [ EVENT_MASK ] )
7803 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
7818 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
7833 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
7834 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ),
7835 count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
7845 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
7860 accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), timeout([VAL]),
7861 sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected
7871 =head2 IO::lib::IO::Socket::INET, IO::Socket::INET - Object interface for
7872 AF_INET domain sockets
7888 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
7901 =head2 IO::lib::IO::Socket::UNIX, IO::Socket::UNIX - Object interface for
7902 AF_UNIX domain sockets
7916 hostpath(), peerpath()
7926 =head2 IPC::Msg - SysV Msg IPC object class
7936 new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set
7937 ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [,
7948 =head2 IPC::Open2, open2 - open a process for both reading and writing
7962 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
7975 =head2 IPC::Semaphore - SysV Semaphore IPC object class
7985 new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ),
7986 getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ),
7987 set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N
7998 =head2 IPC::SysV - SysV IPC constants
8016 =head2 IPC::SysV::Msg, IPC::Msg - SysV Msg IPC object class
8026 new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set
8027 ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [,
8038 =head2 IPC::SysV::Semaphore, IPC::Semaphore - SysV Semaphore IPC object
8049 new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ),
8050 getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ),
8051 set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N
8062 =head2 Math::BigFloat - Arbitrary length float math package
8070 number format, Error returns 'NaN', Division is computed to, Rounding is
8079 =head2 Math::BigInt - Arbitrary size integer math package
8087 Canonical notation, Input, Output
8091 =item Autocreating constants
8099 =head2 Math::Complex - complex numbers and associated mathematical
8112 =item STRINGIFICATION
8116 =item ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO
8118 =item ERRORS DUE TO INDIGESTIBLE ARGUMENTS
8126 =head2 Math::Trig - trigonometric functions
8134 =item TRIGONOMETRIC FUNCTIONS
8140 =item ERRORS DUE TO DIVISION BY ZERO
8142 =item SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS
8146 =item PLANE ANGLE CONVERSIONS
8148 =item RADIAL COORDINATE CONVERSIONS
8152 =item COORDINATE SYSTEMS
8154 =item 3-D ANGLE CONVERSIONS
8156 cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian,
8157 cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical
8161 =item GREAT CIRCLE DISTANCES
8171 =head2 NDBM_File - Tied access to ndbm files
8181 =head2 Net::Ping - check a remote host for reachability
8193 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
8194 $timeout]);, $p->close();, pingecho($host [, $timeout]);
8204 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
8221 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
8238 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
8253 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
8270 =head2 O - Generic interface to Perl Compiler backends
8280 =item IMPLEMENTATION
8286 =head2 ODBM_File - Tied access to odbm files
8296 =head2 Opcode - Disable named opcodes when compiling perl code
8308 =item Operator Names and Operator Lists
8310 an operator name (opname), an operator tag name (optag), a negated opname
8311 or optag, an operator set (opset)
8313 =item Opcode Functions
8315 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
8316 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
8317 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
8320 =item Manipulating Opsets
8328 =item Predefined Opcode Tags
8330 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
8331 :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open,
8332 :filesys_write, :subprocess, :ownprocess, :others, :still_to_be_decided,
8341 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
8350 a new namespace, an operator mask
8356 =item RECENT CHANGES
8358 =item Methods in class Safe
8360 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
8361 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
8362 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
8363 root (NAMESPACE), mask (MASK)
8365 =item Some Safety Issues
8367 Memory, CPU, Snooping, Signals, State Changes
8375 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
8388 =head2 POSIX - Perl interface to IEEE Std 1003.1
8402 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
8403 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
8404 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
8405 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
8406 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
8407 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
8408 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
8409 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
8410 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
8411 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
8412 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
8413 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
8414 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
8415 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
8416 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
8417 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
8418 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
8419 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
8420 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
8421 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
8422 strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
8423 strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
8424 tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
8425 tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
8426 ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
8427 wcstombs, wctomb, write
8433 =item POSIX::SigAction
8439 new, addset, delset, emptyset, fillset, ismember
8441 =item POSIX::Termios
8443 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
8444 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
8445 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
8446 field values, c_cflag field values, c_iflag field values, c_lflag field
8447 values, c_oflag field values
8451 =item PATHNAME CONSTANTS
8455 =item POSIX CONSTANTS
8459 =item SYSTEM CONFIGURATION
8519 =head2 Pod::Checker, podchecker() - check pod documents for syntax errors
8525 =item OPTIONS/ARGUMENTS
8531 B<-warnings> =E<gt> I<val>
8543 empty =headn, =over on line I<N> without closing =back, =item without
8544 previous =over, =back without previous =over, No argument for =begin, =end
8545 without =begin, Nested =begin's, =for without formatter specification,
8546 unresolved internal link I<NAME>, Unknown command "I<CMD>", Unknown
8547 interior-sequence "I<SEQ>", nested commands
8548 I<CMD>E<lt>...I<CMD>E<lt>...E<gt>...E<gt>, garbled entity I<STRING>, Entity
8549 number out of range, malformed link LE<lt>E<gt>, nonempty ZE<lt>E<gt>,
8550 empty XE<lt>E<gt>, Spurious text after =pod / =cut, Spurious character(s)
8555 multiple occurence of link target I<name>, line containing nothing but
8556 whitespace in paragraph, file does not start with =head, No numeric
8557 argument for =over, previous =item has no contents, preceding non-item
8558 paragraph(s), =item type mismatch (I<one> vs. I<two>), I<N> unescaped
8559 C<E<lt>E<gt>> in paragraph, Unknown entity, No items in =over, No argument
8560 for =item, empty section in previous paragraph, Verbatim paragraph in NAME
8573 C<$checker-E<gt>poderror( @args )>, C<$checker-E<gt>poderror( {%opts},
8576 C<$checker-E<gt>num_errors()>
8578 C<$checker-E<gt>name()>
8580 C<$checker-E<gt>node()>
8582 C<$checker-E<gt>idx()>
8584 C<$checker-E<gt>hyperlink()>
8592 =head2 Pod::Find - find POD documents in directory trees
8602 B<-verbose>, B<-perl>, B<-script>, B<-inc>
8610 =head2 Pod::Html - module to convert pod files to HTML
8620 help, htmldir, htmlroot, infile, outfile, podroot, podpath, libpods,
8621 netscape, nonetscape, index, noindex, recurse, norecurse, title, css,
8636 =head2 Pod::InputObjects - objects representing POD input paragraphs,
8649 B<Pod::InputSource>, B<Pod::Paragraph>, B<Pod::InteriorSequence>,
8656 =item B<Pod::InputSource>
8680 =item B<was_cutting()>
8686 =item B<Pod::Paragraph>
8716 =item B<cmd_prefix()>
8722 =item B<cmd_separator()>
8728 =item B<parse_tree()>
8734 =item B<file_line()>
8740 =item B<Pod::InteriorSequence>
8782 =item B<left_delimiter()>
8788 =item B<right_delimiter()>
8794 =item B<parse_tree()>
8800 =item B<file_line()>
8812 =item B<Pod::ParseTree>
8866 =head2 Pod::Man - Convert POD data to formatted *roff input
8874 center, date, fixed, fixedbold, fixeditalic, fixedbolditalic, release,
8879 roff font should be 1 or 2 chars, not `%s', Invalid link %s, Unknown escape
8880 EE<lt>%sE<gt>, Unknown sequence %s, Unmatched =back
8892 =head2 Pod::ParseUtils - helpers for POD parsing and conversion
8928 =item Pod::Hyperlink
8968 =item Pod::Cache::Item
8996 =head2 Pod::Parser - base class for creating POD filters and translators
9008 =item QUICK OVERVIEW
9010 =item PARSING OPTIONS
9012 B<-want_nonPODs> (default: unset), B<-process_cut_cmd> (default: unset)
9018 =item RECOMMENDED SUBROUTINE/METHOD OVERRIDES
9026 C<$cmd>, C<$text>, C<$line_num>, C<$pod_para>
9034 C<$text>, C<$line_num>, C<$pod_para>
9040 =item B<textblock()>
9042 C<$text>, C<$line_num>, C<$pod_para>
9048 =item B<interior_sequence()>
9054 =item OPTIONAL SUBROUTINE/METHOD OVERRIDES
9066 =item B<initialize()>
9072 =item B<begin_pod()>
9078 =item B<begin_input()>
9084 =item B<end_input()>
9096 =item B<preprocess_line()>
9102 =item B<preprocess_paragraph()>
9108 =item METHODS FOR PARSING AND PROCESSING
9114 =item B<parse_text()>
9116 B<-expand_seq> =E<gt> I<code-ref>|I<method-name>, B<-expand_text> =E<gt>
9117 I<code-ref>|I<method-name>, B<-expand_ptree> =E<gt>
9118 I<code-ref>|I<method-name>
9124 =item B<interpolate()>
9130 =item B<parse_paragraph()>
9136 =item B<parse_from_filehandle()>
9142 =item B<parse_from_file()>
9148 =item ACCESSOR METHODS
9166 =item B<parseopts()>
9172 =item B<output_file()>
9178 =item B<output_handle()>
9184 =item B<input_file()>
9190 =item B<input_handle()>
9196 =item B<input_streams()>
9202 =item B<top_stream()>
9208 =item PRIVATE METHODS AND DATA
9214 =item B<_push_input_stream()>
9220 =item B<_pop_input_stream()>
9226 =item TREE-BASED PARSING
9234 =head2 Pod::Select, podselect() - extract selected sections of POD from
9247 =item SECTION SPECIFICATIONS
9249 =item RANGE SPECIFICATIONS
9255 =item OBJECT METHODS
9261 =item B<curr_headings()>
9273 =item B<add_selection()>
9279 =item B<clear_selections()>
9285 =item B<match_section()>
9291 =item B<is_selected()>
9297 =item EXPORTED FUNCTIONS
9303 =item B<podselect()>
9305 B<-output>, B<-sections>, B<-ranges>
9311 =item PRIVATE METHODS AND DATA
9317 =item B<_compile_section_spec()>
9323 =item $self->{_SECTION_HEADINGS}
9329 =item $self->{_SELECTED_SECTIONS}
9341 =head2 Pod::Text - Convert POD data to formatted ASCII text
9349 alt, indent, loose, sentence, width
9353 Bizarre space in item, Can't open %s for reading: %s, Unknown escape: %s,
9354 Unknown sequence: %s, Unmatched =back
9366 =head2 Pod::Text::Color - Convert POD data to formatted color ASCII text
9382 =head2 Pod::Text::Termcap, Pod::Text::Color - Convert POD data to ASCII
9383 text with format escapes
9397 =head2 Pod::Usage, pod2usage() - print a usage message from embedded pod
9406 C<-message>, C<-msg>, C<-exitval>, C<-verbose>, C<-output>, C<-input>,
9415 =item Recommended Use
9423 =item ACKNOWLEDGEMENTS
9427 =head2 SDBM_File - Tied access to sdbm files
9437 =head2 Safe - Compile and execute code in restricted compartments
9445 a new namespace, an operator mask
9451 =item RECENT CHANGES
9453 =item Methods in class Safe
9455 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
9456 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
9457 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
9458 root (NAMESPACE), mask (MASK)
9460 =item Some Safety Issues
9462 Memory, CPU, Snooping, Signals, State Changes
9470 =head2 Search::Dict, look - search for key in dictionary file
9480 =head2 SelectSaver - save and restore selected file handle
9490 =head2 SelfLoader - load functions only on demand
9500 =item The __DATA__ token
9502 =item SelfLoader autoloading
9504 =item Autoloading and package lexicals
9506 =item SelfLoader and AutoLoader
9508 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
9510 =item Classes and inherited methods.
9514 =item Multiple packages and fully qualified subroutine names
9518 =head2 Shell - run shell commands transparently within perl
9530 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
9531 socket.h defines and structure manipulators
9539 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
9540 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
9541 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
9542 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
9543 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
9547 =head2 Symbol - manipulate Perl symbols and their names
9557 =head2 Sys::Hostname - Try every conceivable way to get hostname
9569 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
9570 interface to the UNIX syslog(3) calls
9578 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
9579 setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02),
9590 =head2 Syslog::Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog -
9591 Perl interface to the UNIX syslog(3) calls
9599 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
9600 setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02),
9611 =head2 Term::Cap - Perl termcap interface
9623 =head2 Term::Complete - Perl word completion module
9631 E<lt>tabE<gt>, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
9641 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
9642 no real package is found, substitutes stubs instead of basic functions.
9650 =item Minimal set of supported functions
9652 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
9653 C<MinLine>, C<findConsole>, Attribs, C<Features>
9655 =item Additional supported functions
9657 C<tkRunning>, C<ornaments>, C<newTTY>
9665 =head2 Test - provides a simple framework for writing test scripts
9675 NORMAL TESTS, SKIPPED TESTS, TODO TESTS
9687 =head2 Test::Harness - run perl standard test scripts with statistics
9697 =item The test script output
9705 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
9706 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
9707 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
9720 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
9732 =head2 Text::ParseWords - parse text into an array of tokens or array of
9743 0a simple word, 1multiple spaces are skipped because of our $delim, 2use of
9744 quotes to include a space in a word, 3use of a backslash to include a space
9745 in a word, 4use of a backslash to remove the special meaning of a
9746 double-quote, 5another simple word (note the lack of effect of the
9747 backslashed double-quote)
9753 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
9770 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
9785 =head2 Text::Wrap - line wrapping to form simple paragraphs
9799 =head2 Thread - manipulate threads in Perl (EXPERIMENTAL, subject to
9810 new \&start_sub, new \&start_sub, LIST, lock VARIABLE, async BLOCK;,
9811 Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE,
9812 cond_broadcast VARIABLE, yield
9816 join, eval, detach, equal, tid
9824 =head2 Thread::Queue - thread-safe queues
9832 =item FUNCTIONS AND METHODS
9834 new, enqueue LIST, dequeue, dequeue_nb, pending
9840 =head2 Thread::Semaphore - thread-safe semaphores
9848 =item FUNCTIONS AND METHODS
9850 new, new NUMBER, down, down NUMBER, up, up NUMBER
9854 =head2 Thread::Signal - Start a thread which runs signal handlers reliably
9866 =head2 Thread::Specific - thread-specific keys
9876 =head2 Tie::Array - base class for tied arrays
9884 TIEARRAY classname, LIST, STORE this, index, value, FETCH this, index,
9885 FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
9886 key, DELETE this, key, CLEAR this, DESTROY this, PUSH this, LIST, POP this,
9887 SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST
9895 =head2 Tie::Handle, Tie::StdHandle - base class definitions for tied
9904 TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this,
9905 LIST, PRINTF this, format, LIST, READ this, scalar, length, offset,
9906 READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this,
9907 EOF this, TELL this, SEEK this, offset, whence, DESTROY this
9909 =item MORE INFORMATION
9913 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
9921 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
9922 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
9926 =item MORE INFORMATION
9930 =head2 Tie::RefHash - use references as hash keys
9948 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
9957 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
9959 =item MORE INFORMATION
9963 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
9975 =head2 Time::Local - efficiently compute time from local and GMT time
9983 =item IMPLEMENTATION
9989 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
10004 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
10019 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
10031 =head2 UNIVERSAL - base class for ALL classes (blessed references)
10039 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), UNIVERSAL::isa (
10040 VAL, TYPE ), UNIVERSAL::can ( VAL, METHOD )
10044 =head2 User::grent - by-name interface to Perl's built-in getgr*()
10059 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
10074 =head2 XSLoader - Dynamically load C libraries into Perl code
10086 =head1 AUXILIARY DOCUMENTATION
10088 Here should be listed all the extra programs' documentation, but they
10089 don't all have manual pages yet:
10115 Larry Wall <F<larry@wall.org>>, with the help of oodles