4 perltoc - perl documentation table of contents
8 This page provides a brief table of contents for the rest of the Perl
9 documentation set. It is meant to be scanned quickly or grepped
10 through to locate the proper section you're looking for.
12 =head1 BASIC DOCUMENTATION
14 =head2 perl - Practical Extraction and Report Language
22 modularity and reusability using innumerable modules, embeddable and
23 extensible, roll-your-own magic variables (including multiple simultaneous
24 DBM implementations), subroutines can now be overridden, autoloaded, and
25 prototyped, arbitrarily nested data structures and anonymous functions,
26 object-oriented programming, compilability into C code or Perl bytecode,
27 support for light-weight processes (threads), support for
28 internationalization, localization, and Unicode, lexical scoping, regular
29 expression enhancements, enhanced debugger and interactive Perl
30 environment, with integrated editor support, POSIX 1003.1 compliant library
50 =head2 perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
57 perlfaq: Structural overview of the FAQ, L<perlfaq1>: General Questions
58 About Perl, What is Perl?, Who supports Perl? Who develops it? Why is it
59 free?, Which version of Perl should I use?, What are perl4 and perl5?, What
60 is perl6?, How stable is Perl?, Is Perl difficult to learn?, How does Perl
61 compare with other languages like Java, Python, REXX, Scheme, or Tcl?, Can
62 I do [task] in Perl?, When shouldn't I program in Perl?, What's the
63 difference between "perl" and "Perl"?, Is it a Perl program or a Perl
64 script?, What is a JAPH?, Where can I get a list of Larry Wall witticisms?,
65 How can I convince my sysadmin/supervisor/employees to use version
66 (5/5.005/Perl instead of some other language)?, L<perlfaq2>: Obtaining and
67 Learning about Perl, What machines support Perl? Where do I get it?, How
68 can I get a binary version of Perl?, I don't have a C compiler on my
69 system. How can I compile perl?, I copied the Perl binary from one machine
70 to another, but scripts don't work, I grabbed the sources and tried to
71 compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make
72 it work?, What modules and extensions are available for Perl? What is
73 CPAN? What does CPAN/src/... mean?, Is there an ISO or ANSI certified
74 version of Perl?, Where can I get information on Perl?, What are the Perl
75 newsgroups on USENET? Where do I post questions?, Where should I post
76 source code?, Perl Books, Perl in Magazines, Perl on the Net: FTP and WWW
77 Access, What mailing lists are there for perl?, Archives of
78 comp.lang.perl.misc, Where can I buy a commercial version of Perl?, Where
79 do I send bug reports?, What is perl.com?, L<perlfaq3>: Programming Tools,
80 How do I do (anything)?, How can I use Perl interactively?, Is there a Perl
81 shell?, How do I debug my Perl programs?, How do I profile my Perl
82 programs?, How do I cross-reference my Perl programs?, Is there a
83 pretty-printer (formatter) for Perl?, Is there a ctags for Perl?, Is there
84 an IDE or Windows Perl Editor?, Where can I get Perl macros for vi?, Where
85 can I get perl-mode for emacs?, How can I use curses with Perl?, How can I
86 use X or Tk with Perl?, How can I generate simple menus without using CGI
87 or Tk?, What is undump?, How can I make my Perl program run faster?, How
88 can I make my Perl program take less memory?, Is it unsafe to return a
89 pointer to local data?, How can I free an array or hash so my program
90 shrinks?, How can I make my CGI script more efficient?, How can I hide the
91 source for my Perl program?, How can I compile my Perl program into byte
92 code or C?, How can I compile Perl into Java?, How can I get C<#!perl> to
93 work on [MS-DOS,NT,...]?, Can I write useful perl programs on the command
94 line?, Why don't perl one-liners work on my DOS/Mac/VMS system?, Where can
95 I learn about CGI or Web programming in Perl?, Where can I learn about
96 object-oriented Perl programming?, Where can I learn about linking C with
97 Perl? [h2xs, xsubpp], I've read perlembed, perlguts, etc., but I can't
98 embed perl in my C program, what am I doing wrong?, When I tried to run my
99 script, I got this message. What does it mean?, What's MakeMaker?,
100 L<perlfaq4>: Data Manipulation, Why am I getting long decimals (eg,
101 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?,
102 Why isn't my octal data interpreted correctly?, Does Perl have a round()
103 function? What about ceil() and floor()? Trig functions?, How do I
104 convert bits into ints?, Why doesn't & work the way I want it to?, How do I
105 multiply matrices?, How do I perform an operation on a series of integers?,
106 How can I output Roman numerals?, Why aren't my random numbers random?, How
107 do I find the week-of-the-year/day-of-the-year?, How do I find the current
108 century or millennium?, How can I compare two dates and find the
109 difference?, How can I take a string and turn it into epoch seconds?, How
110 can I find the Julian Day?, How do I find yesterday's date?, Does Perl have
111 a year 2000 problem? Is Perl Y2K compliant?, How do I validate input?, How
112 do I unescape a string?, How do I remove consecutive pairs of characters?,
113 How do I expand function calls in a string?, How do I find matching/nesting
114 anything?, How do I reverse a string?, How do I expand tabs in a string?,
115 How do I reformat a paragraph?, How can I access/change the first N letters
116 of a string?, How do I change the Nth occurrence of something?, How can I
117 count the number of occurrences of a substring within a string?, How do I
118 capitalize all the words on one line?, How can I split a [character]
119 delimited string except when inside [character]? (Comma-separated files),
120 How do I strip blank space from the beginning/end of a string?, How do I
121 pad a string with blanks or pad a number with zeroes?, How do I extract
122 selected columns from a string?, How do I find the soundex value of a
123 string?, How can I expand variables in text strings?, What's wrong with
124 always quoting "$vars"?, Why don't my <<HERE documents work?, What is the
125 difference between a list and an array?, What is the difference between
126 $array[1] and @array[1]?, How can I remove duplicate elements from a list
127 or array?, How can I tell whether a list or array contains a certain
128 element?, How do I compute the difference of two arrays? How do I compute
129 the intersection of two arrays?, How do I test whether two arrays or hashes
130 are equal?, How do I find the first array element for which a condition is
131 true?, How do I handle linked lists?, How do I handle circular lists?, How
132 do I shuffle an array randomly?, How do I process/modify each element of an
133 array?, How do I select a random element from an array?, How do I permute N
134 elements of a list?, How do I sort an array by (anything)?, How do I
135 manipulate arrays of bits?, Why does defined() return true on empty arrays
136 and hashes?, How do I process an entire hash?, What happens if I add or
137 remove keys from a hash while iterating over it?, How do I look up a hash
138 element by value?, How can I know how many entries are in a hash?, How do I
139 sort a hash (optionally by value instead of key)?, How can I always keep my
140 hash sorted?, What's the difference between "delete" and "undef" with
141 hashes?, Why don't my tied hashes make the defined/exists distinction?, How
142 do I reset an each() operation part-way through?, How can I get the unique
143 keys from two hashes?, How can I store a multidimensional array in a DBM
144 file?, How can I make my hash remember the order I put elements into it?,
145 Why does passing a subroutine an undefined element in a hash create it?,
146 How can I make the Perl equivalent of a C structure/C++ class/hash or array
147 of hashes or arrays?, How can I use a reference as a hash key?, How do I
148 handle binary data correctly?, How do I determine whether a scalar is a
149 number/whole/integer/float?, How do I keep persistent data across program
150 calls?, How do I print out or copy a recursive data structure?, How do I
151 define methods for every class/object?, How do I verify a credit card
152 checksum?, How do I pack arrays of doubles or floats for XS code?,
153 L<perlfaq5>: Files and Formats, How do I flush/unbuffer an output
154 filehandle? Why must I do this?, How do I change one line in a file/delete
155 a line in a file/insert a line in the middle of a file/append to the
156 beginning of a file?, How do I count the number of lines in a file?, How do
157 I make a temporary file name?, How can I manipulate fixed-record-length
158 files?, How can I make a filehandle local to a subroutine? How do I pass
159 filehandles between subroutines? How do I make an array of filehandles?,
160 How can I use a filehandle indirectly?, How can I set up a footer format to
161 be used with write()?, How can I write() into a string?, How can I output
162 my numbers with commas added?, How can I translate tildes (~) in a
163 filename?, How come when I open a file read-write it wipes it out?, Why do
164 I sometimes get an "Argument list too long" when I use <*>?, Is there a
165 leak/bug in glob()?, How can I open a file with a leading ">" or trailing
166 blanks?, How can I reliably rename a file?, How can I lock a file?, Why
167 can't I just open(FH, ">file.lock")?, I still don't get locking. I just
168 want to increment the number in the file. How can I do this?, How do I
169 randomly update a binary file?, How do I get a file's timestamp in perl?,
170 How do I set a file's timestamp in perl?, How do I print to more than one
171 file at once?, How can I read in an entire file all at once?, How can I
172 read in a file by paragraphs?, How can I read a single character from a
173 file? From the keyboard?, How can I tell whether there's a character
174 waiting on a filehandle?, How do I do a C<tail -f> in perl?, How do I dup()
175 a filehandle in Perl?, How do I close a file descriptor by number?, Why
176 can't I use "C:\temp\foo" in DOS paths? What doesn't `C:\temp\foo.exe`
177 work?, Why doesn't glob("*.*") get all the files?, Why does Perl let me
178 delete read-only files? Why does C<-i> clobber protected files? Isn't
179 this a bug in Perl?, How do I select a random line from a file?, Why do I
180 get weird spaces when I print an array of lines?, L<perlfaq6>: Regexps, How
181 can I hope to use regular expressions without creating illegible and
182 unmaintainable code?, I'm having trouble matching over more than one line.
183 What's wrong?, How can I pull out lines between two patterns that are
184 themselves on different lines?, I put a regular expression into $/ but it
185 didn't work. What's wrong?, How do I substitute case insensitively on the
186 LHS, but preserving case on the RHS?, How can I make C<\w> match national
187 character sets?, How can I match a locale-smart version of C</[a-zA-Z]/>?,
188 How can I quote a variable to use in a regex?, What is C</o> really for?,
189 How do I use a regular expression to strip C style comments from a file?,
190 Can I use Perl regular expressions to match balanced text?, What does it
191 mean that regexes are greedy? How can I get around it?, How do I process
192 each word on each line?, How can I print out a word-frequency or
193 line-frequency summary?, How can I do approximate matching?, How do I
194 efficiently match many regular expressions at once?, Why don't
195 word-boundary searches with C<\b> work for me?, Why does using $&, $`, or
196 $' slow my program down?, What good is C<\G> in a regular expression?, Are
197 Perl regexes DFAs or NFAs? Are they POSIX compliant?, What's wrong with
198 using grep or map in a void context?, How can I match strings with
199 multibyte characters?, How do I match a pattern that is supplied by the
200 user?, L<perlfaq7>: General Perl Language Issues, Can I get a BNF/yacc/RE
201 for the Perl language?, What are all these $@%&* punctuation signs, and how
202 do I know when to use them?, Do I always/never have to quote my strings or
203 use semicolons and commas?, How do I skip some return values?, How do I
204 temporarily block warnings?, What's an extension?, Why do Perl operators
205 have different precedence than C operators?, How do I declare/create a
206 structure?, How do I create a module?, How do I create a class?, How can I
207 tell if a variable is tainted?, What's a closure?, What is variable suicide
208 and how can I prevent it?, How can I pass/return a {Function, FileHandle,
209 Array, Hash, Method, Regex}?, How do I create a static variable?, What's
210 the difference between dynamic and lexical (static) scoping? Between
211 local() and my()?, How can I access a dynamic variable while a similarly
212 named lexical is in scope?, What's the difference between deep and shallow
213 binding?, Why doesn't "my($foo) = <FILE>;" work right?, How do I redefine a
214 builtin function, operator, or method?, What's the difference between
215 calling a function as &foo and foo()?, How do I create a switch or case
216 statement?, How can I catch accesses to undefined
217 variables/functions/methods?, Why can't a method included in this same file
218 be found?, How can I find out my current package?, How can I comment out a
219 large block of perl code?, How do I clear a package?, How can I use a
220 variable as a variable name?, L<perlfaq8>: System Interaction, How do I
221 find out which operating system I'm running under?, How come exec() doesn't
222 return?, How do I do fancy stuff with the keyboard/screen/mouse?, How do I
223 print something out in color?, How do I read just one key without waiting
224 for a return key?, How do I check whether input is ready on the keyboard?,
225 How do I clear the screen?, How do I get the screen size?, How do I ask the
226 user for a password?, How do I read and write the serial port?, How do I
227 decode encrypted password files?, How do I start a process in the
228 background?, How do I trap control characters/signals?, How do I modify the
229 shadow password file on a Unix system?, How do I set the time and date?,
230 How can I sleep() or alarm() for under a second?, How can I measure time
231 under a second?, How can I do an atexit() or setjmp()/longjmp()? (Exception
232 handling), Why doesn't my sockets program work under System V (Solaris)?
233 What does the error message "Protocol not supported" mean?, How can I call
234 my system's unique C functions from Perl?, Where do I get the include files
235 to do ioctl() or syscall()?, Why do setuid perl scripts complain about
236 kernel problems?, How can I open a pipe both to and from a command?, Why
237 can't I get the output of a command with system()?, How can I capture
238 STDERR from an external command?, Why doesn't open() return an error when a
239 pipe open fails?, What's wrong with using backticks in a void context?, How
240 can I call backticks without shell processing?, Why can't my script read
241 from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?, How can I
242 convert my shell script to perl?, Can I use perl to run a telnet or ftp
243 session?, How can I write expect in Perl?, Is there a way to hide perl's
244 command line from programs such as "ps"?, I {changed directory, modified my
245 environment} in a perl script. How come the change disappeared when I
246 exited the script? How do I get my changes to be visible?, How do I close
247 a process's filehandle without waiting for it to complete?, How do I fork a
248 daemon process?, How do I make my program run with sh and csh?, How do I
249 find out if I'm running interactively or not?, How do I timeout a slow
250 event?, How do I set CPU limits?, How do I avoid zombies on a Unix system?,
251 How do I use an SQL database?, How do I make a system() exit on control-C?,
252 How do I open a file without blocking?, How do I install a module from
253 CPAN?, What's the difference between require and use?, How do I keep my own
254 module/library directory?, How do I add the directory my program lives in
255 to the module/library search path?, How do I add a directory to my include
256 path at runtime?, What is socket.ph and where do I get it?, L<perlfaq9>:
257 Networking, My CGI script runs from the command line but not the browser.
258 (500 Server Error), How can I get better error messages from a CGI
259 program?, How do I remove HTML from a string?, How do I extract URLs?, How
260 do I download a file from the user's machine? How do I open a file on
261 another machine?, How do I make a pop-up menu in HTML?, How do I fetch an
262 HTML file?, How do I automate an HTML form submission?, How do I decode or
263 create those %-encodings on the web?, How do I redirect to another page?,
264 How do I put a password on my web pages?, How do I edit my .htpasswd and
265 .htgroup files with Perl?, How do I make sure users can't enter values into
266 a form that cause my CGI script to do bad things?, How do I parse a mail
267 header?, How do I decode a CGI form?, How do I check a valid mail address?,
268 How do I decode a MIME/BASE64 string?, How do I return the user's mail
269 address?, How do I send mail?, How do I read mail?, How do I find out my
270 hostname/domainname/IP address?, How do I fetch a news article or the
271 active newsgroups?, How do I fetch/put an FTP file?, How can I do RPC in
276 =item Where to get this document
278 =item How to contribute to this document
280 =item What will happen if you mail your Perl programming problems to the
287 =item Author and Copyright Information
291 =item Bundled Distributions
299 23/May/99, 13/April/99, 7/January/99, 22/June/98, 24/April/97, 23/April/97,
300 25/March/97, 18/March/97, 17/March/97 Version, Initial Release: 11/March/97
304 =head2 perltoc - perl documentation table of contents
310 =item BASIC DOCUMENTATION
314 =item perl - Practical Extraction and Report Language
316 SYNOPSIS, DESCRIPTION, AVAILABILITY, ENVIRONMENT, AUTHOR, FILES, SEE ALSO,
317 DIAGNOSTICS, BUGS, NOTES
319 =item perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
328 =head2 perlbook - Perl book information
336 =head2 perlsyn - Perl syntax
346 =item Simple statements
348 =item Compound statements
356 =item Basic BLOCKs and Switch Statements
360 =item PODs: Embedded Documentation
362 =item Plain Old Comments (Not!)
368 =head2 perldata - Perl data types
382 =item Scalar value constructors
384 =item List value constructors
388 =item Typeglobs and Filehandles
396 =head2 perlop - Perl operators and precedence
406 =item Terms and List Operators (Leftward)
408 =item The Arrow Operator
410 =item Auto-increment and Auto-decrement
414 =item Symbolic Unary Operators
416 =item Binding Operators
418 =item Multiplicative Operators
420 =item Additive Operators
422 =item Shift Operators
424 =item Named Unary Operators
426 =item Relational Operators
428 =item Equality Operators
432 =item Bitwise Or and Exclusive Or
434 =item C-style Logical And
436 =item C-style Logical Or
438 =item Range Operators
440 =item Conditional Operator
442 =item Assignment Operators
446 =item List Operators (Rightward)
452 =item Logical or and Exclusive Or
454 =item C Operators Missing From Perl
456 unary &, unary *, (TYPE)
458 =item Quote and Quote-like Operators
460 =item Regexp Quote-Like Operators
462 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
463 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
464 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
465 y/SEARCHLIST/REPLACEMENTLIST/cds
467 =item Gory details of parsing quoted constructs
469 Finding the end, Removal of backslashes before delimiters, Interpolation,
470 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
471 C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
472 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
477 =item Constant Folding
479 =item Bitwise String Operators
481 =item Integer Arithmetic
483 =item Floating-point Arithmetic
491 =head2 perlreftut - Mark's very short tutorial about references
497 =item Who Needs Complicated Data Structures?
505 =item Making References
507 =item Using References
525 =item Distribution Conditions
531 =head2 perldsc - Perl Data Structures Cookbook
537 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
538 more elaborate constructs
542 =item COMMON MISTAKES
544 =item CAVEAT ON PRECEDENCE
546 =item WHY YOU SHOULD ALWAYS C<use strict>
552 =item ARRAYS OF ARRAYS
556 =item Declaration of a ARRAY OF ARRAYS
558 =item Generation of a ARRAY OF ARRAYS
560 =item Access and Printing of a ARRAY OF ARRAYS
564 =item HASHES OF ARRAYS
568 =item Declaration of a HASH OF ARRAYS
570 =item Generation of a HASH OF ARRAYS
572 =item Access and Printing of a HASH OF ARRAYS
576 =item ARRAYS OF HASHES
580 =item Declaration of a ARRAY OF HASHES
582 =item Generation of a ARRAY OF HASHES
584 =item Access and Printing of a ARRAY OF HASHES
588 =item HASHES OF HASHES
592 =item Declaration of a HASH OF HASHES
594 =item Generation of a HASH OF HASHES
596 =item Access and Printing of a HASH OF HASHES
600 =item MORE ELABORATE RECORDS
604 =item Declaration of MORE ELABORATE RECORDS
606 =item Declaration of a HASH OF COMPLEX RECORDS
608 =item Generation of a HASH OF COMPLEX RECORDS
620 =head2 perllol - Manipulating Arrays of Arrays in Perl
626 =item Declaration and Access of Arrays of Arrays
628 =item Growing Your Own
630 =item Access and Printing
640 =head2 perlrequick - Perl regular expressions quick start
650 =item Simple word matching
652 =item Using character classes
654 \d is a digit and represents [0-9], \s is a whitespace character and
655 represents [\ \t\r\n\f], \w is a word character (alphanumeric or _) and
656 represents [0-9a-zA-Z_], \D is a negated \d; it represents any character
657 but a digit [^0-9], \S is a negated \s; it represents any non-whitespace
658 character [^\s], \W is a negated \w; it represents any non-word character
659 [^\w], The period '.' matches any character but "\n"
661 =item Matching this or that
663 =item Grouping things and hierarchical matching
665 =item Extracting matches
667 =item Matching repetitions
669 C<a?> = match 'a' 1 or 0 times, C<a*> = match 'a' 0 or more times, i.e.,
670 any number of times, C<a+> = match 'a' 1 or more times, i.e., at least
671 once, C<a{n,m}> = match at least C<n> times, but not more than C<m> times,
672 C<a{n,}> = match at least C<n> or more times, C<a{n}> = match exactly C<n>
677 =item Search and replace
679 =item The split operator
687 =item AUTHOR AND COPYRIGHT
691 =item Acknowledgments
697 =head2 perlretut - Perl regular expressions tutorial
703 =item Part 1: The basics
707 =item Simple word matching
709 =item Using character classes
711 \d is a digit and represents [0-9], \s is a whitespace character and
712 represents [\ \t\r\n\f], \w is a word character (alphanumeric or _) and
713 represents [0-9a-zA-Z_], \D is a negated \d; it represents any character
714 but a digit [^0-9], \S is a negated \s; it represents any non-whitespace
715 character [^\s], \W is a negated \w; it represents any non-word character
716 [^\w], The period '.' matches any character but "\n", no modifiers (//):
717 Default behavior. C<'.'> matches any character except C<"\n">. C<^>
718 matches only at the beginning of the string and C<$> matches only at the
719 end or before a newline at the end, s modifier (//s): Treat string as a
720 single long line. C<'.'> matches any character, even C<"\n">. C<^>
721 matches only at the beginning of the string and C<$> matches only at the
722 end or before a newline at the end, m modifier (//m): Treat string as a set
723 of multiple lines. C<'.'> matches any character except C<"\n">. C<^> and
724 C<$> are able to match at the start or end of I<any> line within the
725 string, both s and m modifiers (//sm): Treat string as a single long line,
726 but detect multiple lines. C<'.'> matches any character, even C<"\n">.
727 C<^> and C<$>, however, are able to match at the start or end of I<any>
728 line within the string
730 =item Matching this or that
732 =item Grouping things and hierarchical matching
734 0 Start with the first letter in the string 'a', 1 Try the first
735 alternative in the first group 'abd', 2 Match 'a' followed by 'b'. So far
736 so good, 3 'd' in the regexp doesn't match 'c' in the string - a dead end.
737 So backtrack two characters and pick the second alternative in the first
738 group 'abc', 4 Match 'a' followed by 'b' followed by 'c'. We are on a roll
739 and have satisfied the first group. Set $1 to 'abc', 5 Move on to the
740 second group and pick the first alternative 'df', 6 Match the 'd', 7 'f' in
741 the regexp doesn't match 'e' in the string, so a dead end. Backtrack one
742 character and pick the second alternative in the second group 'd', 8 'd'
743 matches. The second grouping is satisfied, so set $2 to 'd', 9 We are at
744 the end of the regexp, so we are done! We have matched 'abcd' out of the
747 =item Extracting matches
749 =item Matching repetitions
751 C<a?> = match 'a' 1 or 0 times, C<a*> = match 'a' 0 or more times, i.e.,
752 any number of times, C<a+> = match 'a' 1 or more times, i.e., at least
753 once, C<a{n,m}> = match at least C<n> times, but not more than C<m> times,
754 C<a{n,}> = match at least C<n> or more times, C<a{n}> = match exactly C<n>
755 times, Principle 0: Taken as a whole, any regexp will be matched at the
756 earliest possible position in the string, Principle 1: In an alternation
757 C<a|b|c...>, the leftmost alternative that allows a match for the whole
758 regexp will be the one used, Principle 2: The maximal matching quantifiers
759 C<?>, C<*>, C<+> and C<{n,m}> will in general match as much of the string
760 as possible while still allowing the whole regexp to match, Principle 3: If
761 there are two or more elements in a regexp, the leftmost greedy quantifier,
762 if any, will match as much of the string as possible while still allowing
763 the whole regexp to match. The next leftmost greedy quantifier, if any,
764 will try to match as much of the string remaining available to it as
765 possible, while still allowing the whole regexp to match. And so on, until
766 all the regexp elements are satisfied, C<a??> = match 'a' 0 or 1 times. Try
767 0 first, then 1, C<a*?> = match 'a' 0 or more times, i.e., any number of
768 times, but as few times as possible, C<a+?> = match 'a' 1 or more times,
769 i.e., at least once, but as few times as possible, C<a{n,m}?> = match at
770 least C<n> times, not more than C<m> times, as few times as possible,
771 C<a{n,}?> = match at least C<n> times, but as few times as possible,
772 C<a{n}?> = match exactly C<n> times. Because we match exactly C<n> times,
773 C<a{n}?> is equivalent to C<a{n}> and is just there for notational
774 consistency, Principle 3: If there are two or more elements in a regexp,
775 the leftmost greedy (non-greedy) quantifier, if any, will match as much
776 (little) of the string as possible while still allowing the whole regexp to
777 match. The next leftmost greedy (non-greedy) quantifier, if any, will try
778 to match as much (little) of the string remaining available to it as
779 possible, while still allowing the whole regexp to match. And so on, until
780 all the regexp elements are satisfied, 0 Start with the first letter in the
781 string 't', 1 The first quantifier '.*' starts out by matching the whole
782 string 'the cat in the hat', 2 'a' in the regexp element 'at' doesn't match
783 the end of the string. Backtrack one character, 3 'a' in the regexp
784 element 'at' still doesn't match the last letter of the string 't', so
785 backtrack one more character, 4 Now we can match the 'a' and the 't', 5
786 Move on to the third element '.*'. Since we are at the end of the string
787 and '.*' can match 0 times, assign it the empty string, 6 We are done!
789 =item Building a regexp
791 specifying the task in detail,, breaking down the problem into smaller
792 parts,, translating the small parts into regexps,, combining the regexps,,
793 and optimizing the final combined regexp
795 =item Using regular expressions in Perl
799 =item Part 2: Power tools
803 =item More on characters, strings, and character classes
805 =item Compiling and saving regular expressions
807 =item Embedding comments and modifiers in a regular expression
809 =item Non-capturing groupings
811 =item Looking ahead and looking behind
813 =item Using independent subexpressions to prevent backtracking
815 =item Conditional expressions
817 =item A bit of magic: executing Perl code in a regular expression
819 =item Pragmas and debugging
827 =item AUTHOR AND COPYRIGHT
831 =item Acknowledgments
837 =head2 perllexwarn - Perl Lexical Warnings
845 =item Default Warnings and Optional Warnings
847 =item What's wrong with B<-w> and C<$^W>
849 =item Controlling Warnings from the Command Line
853 =item Backward Compatibility
855 =item Category Hierarchy
859 =item Reporting Warnings from a Module
871 =head2 perldebug - Perl debugging
877 =item The Perl Debugger
881 =item Debugger Commands
883 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
884 [expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
885 -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
886 b [line] [condition], b subname [condition], b postpone subname
887 [condition], b load filename, b compile subname, d [line], D, a [line]
888 command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
889 option=value .., < ?, < [ command ], << command, > ?, > command, >>
890 command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
891 cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage]
893 =item Configurable Options
895 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
896 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
897 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
898 C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
899 C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
900 C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>
902 =item Debugger input/output
904 Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
907 =item Debugging compile-time statements
909 =item Debugger Customization
911 =item Readline Support
913 =item Editor Support for Debugging
915 =item The Perl Profiler
919 =item Debugging regular expressions
921 =item Debugging memory usage
929 =head2 perlrun - how to execute the Perl interpreter
939 =item #! and quoting on non-Unix systems
941 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
943 =item Location of Perl
945 =item Command Switches
947 B<-0>[I<digits>], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I<foo>,
948 B<-D>I<letters>, B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>,
949 B<-h>, B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
950 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
951 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
952 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
959 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
960 (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL,
961 PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port)
965 =head2 perlfunc - Perl builtin functions
973 =item Perl Functions by Category
975 Functions for SCALARs or strings, Regular expressions and pattern matching,
976 Numeric functions, Functions for real @ARRAYs, Functions for list data,
977 Functions for real %HASHes, Input and output functions, Functions for fixed
978 length data or records, Functions for filehandles, files, or directories,
979 Keywords related to the control flow of your perl program, Keywords related
980 to scoping, Miscellaneous functions, Functions for processes and process
981 groups, Keywords related to perl modules, Keywords related to classes and
982 object-orientedness, Low-level socket functions, System V interprocess
983 communication functions, Fetching user and group info, Fetching network
984 info, Time-related functions, Functions new in perl5, Functions obsoleted
989 =item Alphabetical Listing of Perl Functions
991 I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
992 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
993 binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME,
994 bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE,
995 chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER,
996 chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
997 connect SOCKET,NAME, continue BLOCK, cos EXPR, crypt PLAINTEXT,SALT,
998 dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
999 EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
1000 each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
1001 exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
1002 FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
1003 fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
1004 getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
1005 NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
1006 NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
1007 ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
1008 getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
1009 getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
1010 STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
1011 endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
1012 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
1013 goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
1014 import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1015 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1016 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1017 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1018 lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK
1019 LIST, map EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl
1020 ID,CMD,ARG, msgget KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd
1021 ID,MSG,FLAGS, my EXPR, my EXPR : ATTRIBUTES, next LABEL, next, no Module
1022 LIST, oct EXPR, oct, open FILEHANDLE,MODE,LIST, open FILEHANDLE,EXPR, open
1023 FILEHANDLE, opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack
1024 TEMPLATE,LIST, package, package NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop
1025 ARRAY, pop, pos SCALAR, pos, print FILEHANDLE LIST, print LIST, print,
1026 printf FILEHANDLE FORMAT, LIST, printf FORMAT, LIST, prototype FUNCTION,
1027 push ARRAY,LIST, q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/,
1028 quotemeta EXPR, quotemeta, rand EXPR, rand, read
1029 FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
1030 DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR, recv
1031 SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename
1032 OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset,
1033 return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
1034 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1035 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1036 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1037 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1038 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1039 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1040 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1041 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1042 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
1043 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1044 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1045 splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
1046 /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR,
1047 sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR,
1048 study, sub BLOCK, sub NAME, sub NAME BLOCK, substr
1049 EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
1050 EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
1051 FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
1052 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
1053 FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
1054 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
1055 syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
1056 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
1057 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
1058 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
1059 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
1060 use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
1061 values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
1062 LIST, write FILEHANDLE, write EXPR, write, y///
1068 =head2 perlopentut - tutorial on opening things in Perl
1074 =item Open E<agrave> la shell
1082 =item The Minus File
1084 =item Mixing Reads and Writes
1090 =item Open E<agrave> la C
1094 =item Permissions E<agrave> la mode
1098 =item Obscure Open Tricks
1102 =item Re-Opening Files (dups)
1104 =item Dispelling the Dweomer
1106 =item Paths as Opens
1108 =item Single Argument Open
1110 =item Playing with STDIN and STDOUT
1114 =item Other I/O Issues
1118 =item Opening Non-File Files
1128 =item AUTHOR and COPYRIGHT
1134 =head2 perlvar - Perl predefined variables
1142 =item Predefined Names
1144 $ARG, $_, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1145 $LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
1146 input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $,
1147 input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/,
1148 autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE
1149 EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE
1150 EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
1151 $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1152 EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1153 $FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
1154 $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, C<$`> is the same as
1155 C<substr($var, 0, $-[0])>, C<$&> is the same as C<substr($var, $-[0], $+[0]
1156 - $-[0])>, C<$'> is the same as C<substr($var, $+[0])>, C<$1> is the same
1157 as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2> is the same as
1158 C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as C<substr $var,
1159 $-[3], $+[3] - $-[3])>, format_name HANDLE EXPR, $FORMAT_NAME, $~,
1160 format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1161 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1162 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1163 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1164 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1165 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1166 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C,
1167 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M,
1168 $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
1169 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S,
1170 $BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
1171 ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC,
1172 %ENV, $ENV{expr}, %SIG, $SIG{expr}
1174 =item Error Indicators
1176 =item Technical Note on the Syntax of Variable Names
1184 =head2 perlsub - Perl subroutines
1194 =item Private Variables via my()
1196 =item Persistent Private Variables
1198 =item Temporary Values via local()
1200 =item Lvalue subroutines
1202 =item Passing Symbol Table Entries (typeglobs)
1204 =item When to Still Use local()
1206 1. You need to give a global variable a temporary value, especially $_, 2.
1207 You need to create a local file or directory handle or a local function, 3.
1208 You want to temporarily change just one element of an array or hash
1210 =item Pass by Reference
1214 =item Constant Functions
1216 =item Overriding Built-in Functions
1220 =item Subroutine Attributes
1228 =head2 perlmod - Perl modules (packages and symbol tables)
1240 =item Package Constructors and Destructors
1252 =head2 perlpod - plain old documentation
1260 =item Verbatim Paragraph
1262 =item Command Paragraph
1264 =item Ordinary Block of Text
1268 =item Embedding Pods in Perl Modules
1270 =item Common Pod Pitfalls
1280 =head2 perlstyle - Perl style guide
1288 =head2 perlmodlib - constructing new Perl modules and finding existing ones
1294 =item THE PERL MODULE LIBRARY
1298 =item Pragmatic Modules
1300 attributes, attrs, autouse, base, blib, bytes, charnames, constant,
1301 diagnostics, fields, filetest, integer, less, locale, open, ops, overload,
1302 re, sigtrap, strict, subs, utf8, vars, warnings
1304 =item Standard Modules
1306 AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
1307 B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
1308 B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI,
1309 CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
1310 CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy,
1311 Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, DirHandle, Dumpvalue,
1312 English, Env, Exporter, Exporter::Heavy, ExtUtils::Command,
1313 ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
1314 ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS,
1315 ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest,
1316 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
1317 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
1318 File::Compare, File::Copy, File::DosGlob, File::Find, File::Path,
1319 File::Spec, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
1320 File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
1321 File::stat, FileCache, FileHandle, FindBin, Getopt::Long, Getopt::Std,
1322 I18N::Collate, IO, IPC::Open2, IPC::Open3, Math::BigFloat, Math::BigInt,
1323 Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent,
1324 Net::protoent, Net::servent, O, ODBM_File, Opcode, Pod::Checker, Pod::Find,
1325 Pod::Html, Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseUtils,
1326 Pod::Parser, Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color,
1327 Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Search::Dict, SelectSaver,
1328 SelfLoader, Shell, Socket, Symbol, Term::ANSIColor, Term::Cap,
1329 Term::Complete, Term::ReadLine, Test, Test::Harness, Text::Abbrev,
1330 Text::ParseWords, Text::Soundex, Text::Wrap, Tie::Array, Tie::Handle,
1331 Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local,
1332 Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, User::grent,
1335 =item Extension Modules
1341 Language Extensions and Documentation Tools, Development Support, Operating
1342 System Interfaces, Networking, Device Control (modems) and InterProcess
1343 Communication, Data Types and Data Type Utilities, Database Interfaces,
1344 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
1345 File Names, File Systems and File Locking (see also File Handles), String
1346 Processing, Language Text Processing, Parsing, and Searching, Option,
1347 Argument, Parameter, and Configuration File Processing,
1348 Internationalization and Locale, Authentication, Security, and Encryption,
1349 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
1350 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
1351 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
1352 exceptions etc), File Handle and Input/Output Stream Utilities,
1353 Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
1354 North America, South America
1356 =item Modules: Creation, Use, and Abuse
1360 =item Guidelines for Module Creation
1362 Do similar modules already exist in some form?, Try to design the new
1363 module to be easy to extend and reuse, Some simple style guidelines, Select
1364 what to export, Select a name for the module, Have you got it right?,
1365 README and other Additional Files, A description of the
1366 module/package/extension etc, A copyright notice - see below, Prerequisites
1367 - what else you may need to have, How to build it - possible changes to
1368 Makefile.PL etc, How to install it, Recent changes in this release,
1369 especially incompatibilities, Changes / enhancements you plan to make in
1370 the future, Adding a Copyright Notice, Give the module a
1371 version/issue/release number, How to release and distribute a module, Take
1372 care when changing a released module
1374 =item Guidelines for Converting Perl 4 Library Scripts into Modules
1376 There is no requirement to convert anything, Consider the implications,
1377 Make the most of the opportunity, The pl2pm utility will get you started,
1378 Adds the standard Module prologue lines, Converts package specifiers from '
1379 to ::, Converts die(...) to croak(...), Several other minor changes
1381 =item Guidelines for Reusing Application Code
1383 Complete applications rarely belong in the Perl Module Library, Many
1384 applications contain some Perl code that could be reused, Break-out the
1385 reusable code into one or more separate module files, Take the opportunity
1386 to reconsider and redesign the interfaces, In some cases the 'application'
1387 can then be reduced to a small
1395 =head2 perlmodinstall - Installing CPAN Modules
1405 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
1406 module (sometimes unnecessary), B<INSTALL> the module
1418 =head2 perlnewmod - preparing a new module for distribution
1428 =item What should I make into a module?
1430 =item Step-by-step: Preparing the ground
1432 Look around, Check it's new, Discuss the need, Choose a name, Check again
1434 =item Step-by-step: Making the module
1436 Start with F<h2xs>, Use L<strict|strict> and L<warnings|warnings>, Use
1437 L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!, Use L<plain old
1438 documentation|perlpod>, Write tests, Write the README
1440 =item Step-by-step: Distributing your module
1442 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
1443 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
1453 =head2 perltrap - Perl traps for the unwary
1471 =item Perl4 to Perl5 Traps
1473 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
1474 Traps, General data type traps, Context Traps - scalar, list contexts,
1475 Precedence Traps, General Regular Expression Traps using s///, etc,
1476 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
1478 =item Discontinuance, Deprecation, and BugFix traps
1480 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
1481 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
1482 Discontinuance, Deprecation, Discontinuance, Discontinuance
1486 Parsing, Parsing, Parsing, Parsing
1488 =item Numerical Traps
1490 Numerical, Numerical, Numerical, Bitwise string ops
1492 =item General data type traps
1494 (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
1495 (Constants), (Scalars), (Variable Suicide)
1497 =item Context Traps - scalar, list contexts
1499 (list context), (scalar context), (scalar context), (list, builtin)
1501 =item Precedence Traps
1503 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
1506 =item General Regular Expression Traps using s///, etc.
1508 Regular Expression, Regular Expression, Regular Expression, Regular
1509 Expression, Regular Expression, Regular Expression, Regular Expression,
1512 =item Subroutine, Signal, Sorting Traps
1514 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
1520 =item Interpolation Traps
1522 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
1523 Interpolation, Interpolation, Interpolation, Interpolation
1529 =item Unclassified Traps
1531 C<require>/C<do> trap using returned value, C<split> on empty string with
1538 =head2 perlport - Writing portable Perl
1544 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
1553 =item Numbers endianness and Width
1555 =item Files and Filesystems
1557 =item System Interaction
1559 =item Interprocess Communication (IPC)
1561 =item External Subroutines (XS)
1563 =item Standard Modules
1567 =item Character sets and character encoding
1569 =item Internationalisation
1571 =item System Resources
1581 Mailing list: cpan-testers@perl.org, Testing results:
1582 http://testers.cpan.org/
1590 =item DOS and Derivatives
1592 Build instructions for OS/2, L<perlos2>
1600 =item EBCDIC Platforms
1608 =item FUNCTION IMPLEMENTATIONS
1612 =item Alphabetical Listing of Perl Functions
1614 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
1615 FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
1616 PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
1617 LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork,
1618 getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME,
1619 getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr
1620 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
1621 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
1622 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
1623 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
1624 endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob,
1625 ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE,
1626 lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
1627 msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR,
1628 open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink,
1629 select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
1630 KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
1631 setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
1632 SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
1633 shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair
1634 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat,
1635 symlink OLDFILE,NEWFILE, syscall LIST, sysopen
1636 FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
1637 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
1638 wait, waitpid PID,FLAGS
1644 v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999,
1645 v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May
1646 1999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December
1647 1998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August
1648 1998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998,
1651 =item Supported Platforms
1655 =item AUTHORS / CONTRIBUTORS
1661 =head2 perlsec - Perl security
1669 =item Laundering and Detecting Tainted Data
1671 =item Switches On the "#!" Line
1673 =item Cleaning Up Your Path
1677 =item Protecting Your Programs
1685 =head2 perlref - Perl references and nested data structures
1695 =item Making References
1697 =item Using References
1699 =item Symbolic references
1701 =item Not-so-symbolic references
1703 =item Pseudo-hashes: Using an array as a hash
1705 =item Function Templates
1715 =head2 perlre - Perl regular expressions
1725 =item Regular Expressions
1727 cntrl, graph, print, punct, xdigit
1729 =item Extended Patterns
1731 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1732 C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
1733 code })>, C<(??{ code })>, C<< (?>pattern) >>,
1734 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
1738 =item Version 8 Regular Expressions
1740 =item Warning on \1 vs $1
1742 =item Repeated patterns matching zero-length substring
1744 =item Combining pieces together
1746 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1747 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
1748 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1749 C<(?(condition)yes-pattern|no-pattern)>
1751 =item Creating custom RE engines
1761 =head2 perlform - Perl formats
1769 =item Format Variables
1779 =item Accessing Formatting Internals
1787 =head2 perllocale - Perl locale handling (internationalization and
1794 =item PREPARING TO USE LOCALES
1800 =item The use locale pragma
1802 =item The setlocale function
1804 =item Finding locales
1806 =item LOCALE PROBLEMS
1808 =item Temporarily fixing locale problems
1810 =item Permanently fixing locale problems
1812 =item Permanently fixing your system's locale configuration
1814 =item Fixing system locale configuration
1816 =item The localeconv function
1820 =item LOCALE CATEGORIES
1824 =item Category LC_COLLATE: Collation
1826 =item Category LC_CTYPE: Character Types
1828 =item Category LC_NUMERIC: Numeric Formatting
1830 =item Category LC_MONETARY: Formatting of monetary amounts
1834 =item Other categories
1840 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
1841 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
1842 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
1843 B<Output formatting functions> (printf() and write()):, B<Case-mapping
1844 functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
1845 functions> (localeconv(), strcoll(), strftime(), strxfrm()):, B<POSIX
1846 character class tests> (isalnum(), isalpha(), isdigit(), isgraph(),
1847 islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()):
1851 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
1852 LC_NUMERIC, LC_TIME, LANG
1858 =item Backward compatibility
1860 =item I18N:Collate obsolete
1862 =item Sort speed and memory use impacts
1864 =item write() and LC_NUMERIC
1866 =item Freely available locale definitions
1870 =item An imperfect standard
1878 =item Broken systems
1888 =head2 perlunicode - Unicode support in Perl
1896 =item Important Caveat
1898 Input and Output Disciplines, Regular Expressions, C<use utf8> still needed
1899 to enable a few features
1901 =item Byte and Character semantics
1903 =item Effects of character semantics
1905 =item Character encodings for input and output
1915 =head2 perlboot - Beginner's Object-Oriented Tutorial
1923 =item If we could talk to the animals...
1925 =item Introducing the method invocation arrow
1927 =item Invoking a barnyard
1929 =item The extra parameter of method invocation
1931 =item Calling a second method to simplify things
1933 =item Inheriting the windpipes
1935 =item A few notes about @ISA
1937 =item Overriding the methods
1939 =item Starting the search from a different place
1941 =item The SUPER way of doing things
1943 =item Where we're at so far...
1945 =item A horse is a horse, of course of course -- or is it?
1947 =item Invoking an instance method
1949 =item Accessing the instance data
1951 =item How to build a horse
1953 =item Inheriting the constructor
1955 =item Making a method work with either classes or instances
1957 =item Adding parameters to a method
1959 =item More interesting instances
1961 =item A horse of a different color
1973 =head2 perltoot - Tom's object-oriented tutorial for perl
1979 =item Creating a Class
1983 =item Object Representation
1985 =item Class Interface
1987 =item Constructors and Instance Methods
1989 =item Planning for the Future: Better Constructors
1993 =item Other Object Methods
2001 =item Accessing Class Data
2003 =item Debugging Methods
2005 =item Class Destructors
2007 =item Documenting the Interface
2017 =item Overridden Methods
2019 =item Multiple Inheritance
2021 =item UNIVERSAL: The Root of All Objects
2025 =item Alternate Object Representations
2029 =item Arrays as Objects
2031 =item Closures as Objects
2035 =item AUTOLOAD: Proxy Methods
2039 =item Autoloaded Data Methods
2041 =item Inherited Autoloaded Data Methods
2045 =item Metaclassical Tools
2051 =item Data Members as Variables
2055 =item Object Terminology
2061 =item AUTHOR AND COPYRIGHT
2067 =item Acknowledgments
2073 =head2 perltootc - Tom's OO Tutorial for Class Data in Perl
2079 =item Class Data as Package Variables
2083 =item Putting All Your Eggs in One Basket
2085 =item Inheritance Concerns
2087 =item The Eponymous Meta-Object
2089 =item Indirect References to Class Data
2091 =item Monadic Classes
2093 =item Translucent Attributes
2097 =item Class Data as Lexical Variables
2101 =item Privacy and Responsibility
2103 =item File-Scoped Lexicals
2105 =item More Inheritance Concerns
2107 =item Locking the Door and Throwing Away the Key
2109 =item Translucency Revisited
2117 =item AUTHOR AND COPYRIGHT
2119 =item ACKNOWLEDGEMENTS
2125 =head2 perlobj - Perl objects
2133 =item An Object is Simply a Reference
2135 =item A Class is Simply a Package
2137 =item A Method is Simply a Subroutine
2139 =item Method Invocation
2143 =item Default UNIVERSAL methods
2145 isa(CLASS), can(METHOD), VERSION( [NEED] )
2151 =item Two-Phased Garbage Collection
2159 =head2 perlbot - Bag'o Object Tricks (the BOT)
2165 =item OO SCALING TIPS
2167 =item INSTANCE VARIABLES
2169 =item INSTANCE VARIABLE INHERITANCE
2171 =item OBJECT RELATIONSHIPS
2173 =item OVERRIDING SUPERCLASS METHODS
2175 =item USING RELATIONSHIP WITH SDBM
2177 =item THINKING OF CODE REUSE
2179 =item CLASS CONTEXT AND THE OBJECT
2181 =item INHERITING A CONSTRUCTOR
2187 =head2 perltie - how to hide an object class in a simple variable
2199 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
2203 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2208 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2209 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2210 this, NEXTKEY this, lastkey, DESTROY this
2212 =item Tying FileHandles
2214 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2215 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this
2217 =item The C<untie> Gotcha
2229 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2230 safe subprocesses, sockets, and semaphores)
2246 =item Using open() for IPC
2252 =item Background Processes
2254 =item Complete Dissociation of Child from Parent
2256 =item Safe Pipe Opens
2258 =item Bidirectional Communication with Another Process
2260 =item Bidirectional Communication with Yourself
2264 =item Sockets: Client/Server Communication
2268 =item Internet Line Terminators
2270 =item Internet TCP Clients and Servers
2272 =item Unix-Domain TCP Clients and Servers
2276 =item TCP Clients with IO::Socket
2280 =item A Simple Client
2282 C<Proto>, C<PeerAddr>, C<PeerPort>
2284 =item A Webget Client
2286 =item Interactive Client with IO::Socket
2290 =item TCP Servers with IO::Socket
2292 Proto, LocalPort, Listen, Reuse
2294 =item UDP: Message Passing
2308 =head2 perlnumber - semantics of numbers and numeric operations in Perl
2316 =item Storing numbers
2318 =item Numeric operators and numeric conversions
2320 =item Flavors of Perl numeric operations
2322 Arithmetic operators except, C<no integer>, Arithmetic operators except,
2323 C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
2324 integer>, Operators which expect an integer, Operators which expect a
2333 =head2 perlfork - Perl's fork() emulation
2343 =item Behavior of other Perl features in forked pseudo-processes
2345 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2346 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2347 files, directories and network sockets
2349 =item Resource limits
2351 =item Killing the parent process
2353 =item Lifetime of the parent process and pseudo-processes
2355 =item CAVEATS AND LIMITATIONS
2357 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
2358 Global state maintained by XSUBs, Interpreter embedded in larger
2359 application, Thread-safety of extensions
2371 =head2 perlthrtut - tutorial on threads in Perl
2377 =item What Is A Thread Anyway?
2379 =item Threaded Program Models
2391 =item Native threads
2393 =item What kind of threads are perl threads?
2395 =item Threadsafe Modules
2401 =item Basic Thread Support
2403 =item Creating Threads
2405 =item Giving up control
2407 =item Waiting For A Thread To Exit
2409 =item Errors In Threads
2411 =item Ignoring A Thread
2415 =item Threads And Data
2419 =item Shared And Unshared Data
2421 =item Thread Pitfall: Races
2423 =item Controlling access: lock()
2425 =item Thread Pitfall: Deadlocks
2427 =item Queues: Passing Data Around
2431 =item Threads And Code
2435 =item Semaphores: Synchronizing Data Access
2437 Basic semaphores, Advanced Semaphores
2439 =item Attributes: Restricting Access To Subroutines
2441 =item Subroutine Locks
2445 =item Locking A Subroutine
2449 =item General Thread Utility Routines
2453 =item What Thread Am I In?
2457 =item Are These Threads The Same?
2459 =item What Threads Are Running?
2463 =item A Complete Example
2471 =item Introductory Texts
2473 =item OS-Related References
2475 =item Other References
2479 =item Acknowledgements
2487 =head2 perldiag - various Perl diagnostics
2495 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date:
2496 1999/05/23 16:08:30 $)
2506 =item Who supports Perl? Who develops it? Why is it free?
2508 =item Which version of Perl should I use?
2510 =item What are perl4 and perl5?
2512 =item What is perl6?
2514 =item How stable is Perl?
2516 =item Is Perl difficult to learn?
2518 =item How does Perl compare with other languages like Java, Python, REXX,
2521 =item Can I do [task] in Perl?
2523 =item When shouldn't I program in Perl?
2525 =item What's the difference between "perl" and "Perl"?
2527 =item Is it a Perl program or a Perl script?
2529 =item What is a JAPH?
2531 =item Where can I get a list of Larry Wall witticisms?
2533 =item How can I convince my sysadmin/supervisor/employees to use version
2534 (5/5.005/Perl instead of some other language)?
2538 =item AUTHOR AND COPYRIGHT
2542 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $,
2543 $Date: 1999/10/14 18:46:09 $)
2551 =item What machines support Perl? Where do I get it?
2553 =item How can I get a binary version of Perl?
2555 =item I don't have a C compiler on my system. How can I compile perl?
2557 =item I copied the Perl binary from one machine to another, but scripts
2560 =item I grabbed the sources and tried to compile but gdbm/dynamic
2561 loading/malloc/linking/... failed. How do I make it work?
2563 =item What modules and extensions are available for Perl? What is CPAN?
2564 What does CPAN/src/... mean?
2566 =item Is there an ISO or ANSI certified version of Perl?
2568 =item Where can I get information on Perl?
2570 =item What are the Perl newsgroups on Usenet? Where do I post questions?
2572 =item Where should I post source code?
2576 References, Tutorials, Task-Oriented, Special Topics
2578 =item Perl in Magazines
2580 =item Perl on the Net: FTP and WWW Access
2582 =item What mailing lists are there for Perl?
2584 =item Archives of comp.lang.perl.misc
2586 =item Where can I buy a commercial version of Perl?
2588 =item Where do I send bug reports?
2590 =item What is perl.com? Perl Mongers? pm.org? perl.org?
2594 =item AUTHOR AND COPYRIGHT
2598 =head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23
2607 =item How do I do (anything)?
2609 =item How can I use Perl interactively?
2611 =item Is there a Perl shell?
2613 =item How do I debug my Perl programs?
2615 =item How do I profile my Perl programs?
2617 =item How do I cross-reference my Perl programs?
2619 =item Is there a pretty-printer (formatter) for Perl?
2621 =item Is there a ctags for Perl?
2623 =item Is there an IDE or Windows Perl Editor?
2625 =item Where can I get Perl macros for vi?
2627 =item Where can I get perl-mode for emacs?
2629 =item How can I use curses with Perl?
2631 =item How can I use X or Tk with Perl?
2633 =item How can I generate simple menus without using CGI or Tk?
2635 =item What is undump?
2637 =item How can I make my Perl program run faster?
2639 =item How can I make my Perl program take less memory?
2641 =item Is it unsafe to return a pointer to local data?
2643 =item How can I free an array or hash so my program shrinks?
2645 =item How can I make my CGI script more efficient?
2647 =item How can I hide the source for my Perl program?
2649 =item How can I compile my Perl program into byte code or C?
2651 =item How can I compile Perl into Java?
2653 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
2655 =item Can I write useful Perl programs on the command line?
2657 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
2659 =item Where can I learn about CGI or Web programming in Perl?
2661 =item Where can I learn about object-oriented Perl programming?
2663 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
2665 =item I've read perlembed, perlguts, etc., but I can't embed perl in
2666 my C program, what am I doing wrong?
2668 =item When I tried to run my script, I got this message. What does it
2671 =item What's MakeMaker?
2675 =item AUTHOR AND COPYRIGHT
2679 =head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23
2690 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
2691 numbers I should be getting (eg, 19.95)?
2693 =item Why isn't my octal data interpreted correctly?
2695 =item Does Perl have a round() function? What about ceil() and floor()?
2698 =item How do I convert bits into ints?
2700 =item Why doesn't & work the way I want it to?
2702 =item How do I multiply matrices?
2704 =item How do I perform an operation on a series of integers?
2706 =item How can I output Roman numerals?
2708 =item Why aren't my random numbers random?
2716 =item How do I find the week-of-the-year/day-of-the-year?
2718 =item How do I find the current century or millennium?
2720 =item How can I compare two dates and find the difference?
2722 =item How can I take a string and turn it into epoch seconds?
2724 =item How can I find the Julian Day?
2726 =item How do I find yesterday's date?
2728 =item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
2736 =item How do I validate input?
2738 =item How do I unescape a string?
2740 =item How do I remove consecutive pairs of characters?
2742 =item How do I expand function calls in a string?
2744 =item How do I find matching/nesting anything?
2746 =item How do I reverse a string?
2748 =item How do I expand tabs in a string?
2750 =item How do I reformat a paragraph?
2752 =item How can I access/change the first N letters of a string?
2754 =item How do I change the Nth occurrence of something?
2756 =item How can I count the number of occurrences of a substring within a
2759 =item How do I capitalize all the words on one line?
2761 =item How can I split a [character] delimited string except when inside
2762 [character]? (Comma-separated files)
2764 =item How do I strip blank space from the beginning/end of a string?
2766 =item How do I pad a string with blanks or pad a number with zeroes?
2768 =item How do I extract selected columns from a string?
2770 =item How do I find the soundex value of a string?
2772 =item How can I expand variables in text strings?
2774 =item What's wrong with always quoting "$vars"?
2776 =item Why don't my <<HERE documents work?
2778 1. There must be no space after the << part, 2. There (probably) should be
2779 a semicolon at the end, 3. You can't (easily) have any space in front of
2788 =item What is the difference between a list and an array?
2790 =item What is the difference between $array[1] and @array[1]?
2792 =item How can I remove duplicate elements from a list or array?
2794 a) If @in is sorted, and you want @out to be sorted: (this assumes all true
2795 values in the array), b) If you don't know whether @in is sorted:, c) Like
2796 (b), but @in contains only small integers:, d) A way to do (b) without any
2797 loops or greps:, e) Like (d), but @in contains only small positive
2800 =item How can I tell whether a list or array contains a certain element?
2802 =item How do I compute the difference of two arrays? How do I compute the
2803 intersection of two arrays?
2805 =item How do I test whether two arrays or hashes are equal?
2807 =item How do I find the first array element for which a condition is true?
2809 =item How do I handle linked lists?
2811 =item How do I handle circular lists?
2813 =item How do I shuffle an array randomly?
2815 =item How do I process/modify each element of an array?
2817 =item How do I select a random element from an array?
2819 =item How do I permute N elements of a list?
2821 =item How do I sort an array by (anything)?
2823 =item How do I manipulate arrays of bits?
2825 =item Why does defined() return true on empty arrays and hashes?
2829 =item Data: Hashes (Associative Arrays)
2833 =item How do I process an entire hash?
2835 =item What happens if I add or remove keys from a hash while iterating over
2838 =item How do I look up a hash element by value?
2840 =item How can I know how many entries are in a hash?
2842 =item How do I sort a hash (optionally by value instead of key)?
2844 =item How can I always keep my hash sorted?
2846 =item What's the difference between "delete" and "undef" with hashes?
2848 =item Why don't my tied hashes make the defined/exists distinction?
2850 =item How do I reset an each() operation part-way through?
2852 =item How can I get the unique keys from two hashes?
2854 =item How can I store a multidimensional array in a DBM file?
2856 =item How can I make my hash remember the order I put elements into it?
2858 =item Why does passing a subroutine an undefined element in a hash create
2861 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
2862 array of hashes or arrays?
2864 =item How can I use a reference as a hash key?
2872 =item How do I handle binary data correctly?
2874 =item How do I determine whether a scalar is a number/whole/integer/float?
2876 =item How do I keep persistent data across program calls?
2878 =item How do I print out or copy a recursive data structure?
2880 =item How do I define methods for every class/object?
2882 =item How do I verify a credit card checksum?
2884 =item How do I pack arrays of doubles or floats for XS code?
2888 =item AUTHOR AND COPYRIGHT
2892 =head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23
2901 =item How do I flush/unbuffer an output filehandle? Why must I do this?
2903 =item How do I change one line in a file/delete a line in a file/insert a
2904 line in the middle of a file/append to the beginning of a file?
2906 =item How do I count the number of lines in a file?
2908 =item How do I make a temporary file name?
2910 =item How can I manipulate fixed-record-length files?
2912 =item How can I make a filehandle local to a subroutine? How do I pass
2913 filehandles between subroutines? How do I make an array of filehandles?
2915 =item How can I use a filehandle indirectly?
2917 =item How can I set up a footer format to be used with write()?
2919 =item How can I write() into a string?
2921 =item How can I output my numbers with commas added?
2923 =item How can I translate tildes (~) in a filename?
2925 =item How come when I open a file read-write it wipes it out?
2927 =item Why do I sometimes get an "Argument list too long" when I use <*>?
2929 =item Is there a leak/bug in glob()?
2931 =item How can I open a file with a leading ">" or trailing blanks?
2933 =item How can I reliably rename a file?
2935 =item How can I lock a file?
2937 =item Why can't I just open(FH, ">file.lock")?
2939 =item I still don't get locking. I just want to increment the number in
2940 the file. How can I do this?
2942 =item How do I randomly update a binary file?
2944 =item How do I get a file's timestamp in perl?
2946 =item How do I set a file's timestamp in perl?
2948 =item How do I print to more than one file at once?
2950 =item How can I read in an entire file all at once?
2952 =item How can I read in a file by paragraphs?
2954 =item How can I read a single character from a file? From the keyboard?
2956 =item How can I tell whether there's a character waiting on a filehandle?
2958 =item How do I do a C<tail -f> in perl?
2960 =item How do I dup() a filehandle in Perl?
2962 =item How do I close a file descriptor by number?
2964 =item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
2965 `C:\temp\foo.exe` work?
2967 =item Why doesn't glob("*.*") get all the files?
2969 =item Why does Perl let me delete read-only files? Why does C<-i> clobber
2970 protected files? Isn't this a bug in Perl?
2972 =item How do I select a random line from a file?
2974 =item Why do I get weird spaces when I print an array of lines?
2978 =item AUTHOR AND COPYRIGHT
2982 =head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
2990 =item How can I hope to use regular expressions without creating illegible
2991 and unmaintainable code?
2993 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
2995 =item I'm having trouble matching over more than one line. What's wrong?
2997 =item How can I pull out lines between two patterns that are themselves on
3000 =item I put a regular expression into $/ but it didn't work. What's wrong?
3002 =item How do I substitute case insensitively on the LHS, but preserving
3005 =item How can I make C<\w> match national character sets?
3007 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
3009 =item How can I quote a variable to use in a regex?
3011 =item What is C</o> really for?
3013 =item How do I use a regular expression to strip C style comments from a
3016 =item Can I use Perl regular expressions to match balanced text?
3018 =item What does it mean that regexes are greedy? How can I get around it?
3020 =item How do I process each word on each line?
3022 =item How can I print out a word-frequency or line-frequency summary?
3024 =item How can I do approximate matching?
3026 =item How do I efficiently match many regular expressions at once?
3028 =item Why don't word-boundary searches with C<\b> work for me?
3030 =item Why does using $&, $`, or $' slow my program down?
3032 =item What good is C<\G> in a regular expression?
3034 =item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
3036 =item What's wrong with using grep or map in a void context?
3038 =item How can I match strings with multibyte characters?
3040 =item How do I match a pattern that is supplied by the user?
3044 =item AUTHOR AND COPYRIGHT
3048 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date:
3049 1999/05/23 20:36:18 $)
3057 =item Can I get a BNF/yacc/RE for the Perl language?
3059 =item What are all these $@%&* punctuation signs, and how do I know when to
3062 =item Do I always/never have to quote my strings or use semicolons and
3065 =item How do I skip some return values?
3067 =item How do I temporarily block warnings?
3069 =item What's an extension?
3071 =item Why do Perl operators have different precedence than C operators?
3073 =item How do I declare/create a structure?
3075 =item How do I create a module?
3077 =item How do I create a class?
3079 =item How can I tell if a variable is tainted?
3081 =item What's a closure?
3083 =item What is variable suicide and how can I prevent it?
3085 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
3088 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
3091 =item How do I create a static variable?
3093 =item What's the difference between dynamic and lexical (static) scoping?
3094 Between local() and my()?
3096 =item How can I access a dynamic variable while a similarly named lexical
3099 =item What's the difference between deep and shallow binding?
3101 =item Why doesn't "my($foo) = <FILE>;" work right?
3103 =item How do I redefine a builtin function, operator, or method?
3105 =item What's the difference between calling a function as &foo and foo()?
3107 =item How do I create a switch or case statement?
3109 =item How can I catch accesses to undefined variables/functions/methods?
3111 =item Why can't a method included in this same file be found?
3113 =item How can I find out my current package?
3115 =item How can I comment out a large block of perl code?
3117 =item How do I clear a package?
3119 =item How can I use a variable as a variable name?
3123 =item AUTHOR AND COPYRIGHT
3127 =head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23
3136 =item How do I find out which operating system I'm running under?
3138 =item How come exec() doesn't return?
3140 =item How do I do fancy stuff with the keyboard/screen/mouse?
3142 Keyboard, Screen, Mouse
3144 =item How do I print something out in color?
3146 =item How do I read just one key without waiting for a return key?
3148 =item How do I check whether input is ready on the keyboard?
3150 =item How do I clear the screen?
3152 =item How do I get the screen size?
3154 =item How do I ask the user for a password?
3156 =item How do I read and write the serial port?
3158 lockfiles, open mode, end of line, flushing output, non-blocking input
3160 =item How do I decode encrypted password files?
3162 =item How do I start a process in the background?
3164 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
3166 =item How do I trap control characters/signals?
3168 =item How do I modify the shadow password file on a Unix system?
3170 =item How do I set the time and date?
3172 =item How can I sleep() or alarm() for under a second?
3174 =item How can I measure time under a second?
3176 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
3178 =item Why doesn't my sockets program work under System V (Solaris)? What
3179 does the error message "Protocol not supported" mean?
3181 =item How can I call my system's unique C functions from Perl?
3183 =item Where do I get the include files to do ioctl() or syscall()?
3185 =item Why do setuid perl scripts complain about kernel problems?
3187 =item How can I open a pipe both to and from a command?
3189 =item Why can't I get the output of a command with system()?
3191 =item How can I capture STDERR from an external command?
3193 =item Why doesn't open() return an error when a pipe open fails?
3195 =item What's wrong with using backticks in a void context?
3197 =item How can I call backticks without shell processing?
3199 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
3202 =item How can I convert my shell script to perl?
3204 =item Can I use perl to run a telnet or ftp session?
3206 =item How can I write expect in Perl?
3208 =item Is there a way to hide perl's command line from programs such as
3211 =item I {changed directory, modified my environment} in a perl script. How
3212 come the change disappeared when I exited the script? How do I get my
3213 changes to be visible?
3217 =item How do I close a process's filehandle without waiting for it to
3220 =item How do I fork a daemon process?
3222 =item How do I make my program run with sh and csh?
3224 =item How do I find out if I'm running interactively or not?
3226 =item How do I timeout a slow event?
3228 =item How do I set CPU limits?
3230 =item How do I avoid zombies on a Unix system?
3232 =item How do I use an SQL database?
3234 =item How do I make a system() exit on control-C?
3236 =item How do I open a file without blocking?
3238 =item How do I install a module from CPAN?
3240 =item What's the difference between require and use?
3242 =item How do I keep my own module/library directory?
3244 =item How do I add the directory my program lives in to the module/library
3247 =item How do I add a directory to my include path at runtime?
3249 =item What is socket.ph and where do I get it?
3253 =item AUTHOR AND COPYRIGHT
3257 =head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30
3266 =item My CGI script runs from the command line but not the browser. (500
3269 =item How can I get better error messages from a CGI program?
3271 =item How do I remove HTML from a string?
3273 =item How do I extract URLs?
3275 =item How do I download a file from the user's machine? How do I open a
3276 file on another machine?
3278 =item How do I make a pop-up menu in HTML?
3280 =item How do I fetch an HTML file?
3282 =item How do I automate an HTML form submission?
3284 =item How do I decode or create those %-encodings on the web?
3286 =item How do I redirect to another page?
3288 =item How do I put a password on my web pages?
3290 =item How do I edit my .htpasswd and .htgroup files with Perl?
3292 =item How do I make sure users can't enter values into a form that cause my
3293 CGI script to do bad things?
3295 =item How do I parse a mail header?
3297 =item How do I decode a CGI form?
3299 =item How do I check a valid mail address?
3301 =item How do I decode a MIME/BASE64 string?
3303 =item How do I return the user's mail address?
3305 =item How do I send mail?
3307 =item How do I read mail?
3309 =item How do I find out my hostname/domainname/IP address?
3311 =item How do I fetch a news article or the active newsgroups?
3313 =item How do I fetch/put an FTP file?
3315 =item How can I do RPC in Perl?
3319 =item AUTHOR AND COPYRIGHT
3323 =head2 perlcompile - Introduction to the Perl Compiler-Translator
3333 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3337 =item Using The Back Ends
3341 =item The Cross Referencing Back End
3345 =item The Decompiling Back End
3347 =item The Lint Back End
3349 =item The Simple C Back End
3351 =item The Bytecode Back End
3353 =item The Optimized C Back End
3355 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3356 B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj,
3357 B::Stash, B::Terse, B::Xref
3361 =item KNOWN PROBLEMS
3367 =head2 perlembed - how to embed perl in your C program
3377 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3378 Perl?>, B<Use C from C?>, B<Use Perl from C?>
3382 =item Compiling your C program
3384 =item Adding a Perl interpreter to your C program
3386 =item Calling a Perl subroutine from your C program
3388 =item Evaluating a Perl statement from your C program
3390 =item Performing Perl pattern matches and substitutions from your C program
3392 =item Fiddling with the Perl stack from your C program
3394 =item Maintaining a persistent interpreter
3396 =item Maintaining multiple interpreter instances
3398 =item Using Perl modules, which themselves use C libraries, from your C
3403 =item Embedding Perl under Windows
3413 =head2 perldebguts - Guts of Perl debugging
3419 =item Debugger Internals
3423 =item Writing Your Own Debugger
3427 =item Frame Listing Output Examples
3429 =item Debugging regular expressions
3433 =item Compile-time output
3435 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
3436 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
3437 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
3440 =item Types of nodes
3442 =item Run-time output
3446 =item Debugging Perl memory usage
3450 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
3452 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
3453 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
3456 =item Example of using B<-DL> switch
3458 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
3460 =item B<-DL> details
3464 =item Limitations of B<-DL> statistics
3472 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
3484 =item Version caveat
3486 =item Dynamic Loading versus Static Loading
3498 =item What has gone on?
3500 =item Writing good test scripts
3504 =item What's new here?
3506 =item Input and Output Parameters
3508 =item The XSUBPP Program
3510 =item The TYPEMAP file
3512 =item Warning about Output Arguments
3516 =item What has happened here?
3518 =item Anatomy of .xs file
3520 =item Getting the fat out of XSUBs
3522 =item More about XSUB arguments
3524 =item The Argument Stack
3526 =item Extending your Extension
3528 =item Documenting your Extension
3530 =item Installing your Extension
3534 =item New Things in this Example
3538 =item New Things in this Example
3540 =item EXAMPLE 7 (Coming Soon)
3542 =item EXAMPLE 8 (Coming Soon)
3544 =item EXAMPLE 9 (Coming Soon)
3546 =item Troubleshooting these Examples
3562 =head2 perlxs - XS language reference manual
3574 =item The Anatomy of an XSUB
3576 =item The Argument Stack
3578 =item The RETVAL Variable
3580 =item The MODULE Keyword
3582 =item The PACKAGE Keyword
3584 =item The PREFIX Keyword
3586 =item The OUTPUT: Keyword
3588 =item The CODE: Keyword
3590 =item The INIT: Keyword
3592 =item The NO_INIT Keyword
3594 =item Initializing Function Parameters
3596 =item Default Parameter Values
3598 =item The PREINIT: Keyword
3600 =item The SCOPE: Keyword
3602 =item The INPUT: Keyword
3604 =item Variable-length Parameter Lists
3606 =item The C_ARGS: Keyword
3608 =item The PPCODE: Keyword
3610 =item Returning Undef And Empty Lists
3612 =item The REQUIRE: Keyword
3614 =item The CLEANUP: Keyword
3616 =item The BOOT: Keyword
3618 =item The VERSIONCHECK: Keyword
3620 =item The PROTOTYPES: Keyword
3622 =item The PROTOTYPE: Keyword
3624 =item The ALIAS: Keyword
3626 =item The INTERFACE: Keyword
3628 =item The INTERFACE_MACRO: Keyword
3630 =item The INCLUDE: Keyword
3632 =item The CASE: Keyword
3634 =item The & Unary Operator
3636 =item Inserting Comments and C Preprocessor Directives
3638 =item Using XS With C++
3640 =item Interface Strategy
3642 =item Perl Objects And C Structures
3656 =head2 perlguts - Introduction to the Perl API
3668 =item What is an "IV"?
3670 =item Working with SVs
3672 =item What's Really Stored in an SV?
3674 =item Working with AVs
3676 =item Working with HVs
3678 =item Hash API Extensions
3682 =item Blessed References and Class Objects
3684 =item Creating New Variables
3686 =item Reference Counts and Mortality
3688 =item Stashes and Globs
3690 =item Double-Typed SVs
3692 =item Magic Variables
3694 =item Assigning Magic
3696 =item Magic Virtual Tables
3700 =item Understanding the Magic of Tied Hashes and Arrays
3702 =item Localizing changes
3704 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
3705 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEFREEOP(OP
3706 *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>, C<SAVEDELETE(HV *hv, char
3707 *key, I32 length)>, C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void
3708 *p)>, C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>,
3709 C<SV* save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV
3710 *gv)>, C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32
3711 maxsarg)>, C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>,
3712 C<void save_hptr(HV **hptr)>
3720 =item XSUBs and the Argument Stack
3722 =item Calling Perl Routines from within C Programs
3724 =item Memory Allocation
3728 =item Putting a C value on Perl stack
3732 =item Scratchpads and recursion
3742 =item Examining the tree
3744 =item Compile pass 1: check routines
3746 =item Compile pass 1a: constant folding
3748 =item Compile pass 2: context propagation
3750 =item Compile pass 3: peephole optimization
3754 =item How multiple interpreters and concurrency are supported
3758 =item Background and PERL_IMPLICIT_CONTEXT
3760 =item How do I use all this in extensions?
3762 =item Future Plans and PERL_IMPLICIT_SYS
3772 =head2 perlcall - Perl calling conventions from C
3778 An Error Handler, An Event Driven Program
3780 =item THE CALL_ FUNCTIONS
3782 call_sv, call_pv, call_method, call_argv
3802 =item Determining the Context
3806 =item KNOWN PROBLEMS
3812 =item No Parameters, Nothing returned
3814 =item Passing Parameters
3816 =item Returning a Scalar
3818 =item Returning a list of values
3820 =item Returning a list in a scalar context
3822 =item Returning Data from Perl via the parameter list
3826 =item Using G_KEEPERR
3830 =item Using call_argv
3832 =item Using call_method
3836 =item Using Perl to dispose of temporaries
3838 =item Strategies for storing Callback Context Information
3840 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
3841 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
3844 =item Alternate Stack Manipulation
3846 =item Creating and calling an anonymous subroutine in C
3858 =head2 perlutil - utilities packaged with the Perl distribution
3868 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
3869 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
3870 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
3871 L<roffitall|roffitall>
3875 L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>
3879 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
3880 L<h2xs|h2xs>, L<dprofpp|dprofpp>, L<perlcc|perlcc>
3888 =head2 perlfilter - Source Filters
3898 =item WRITING A SOURCE FILTER
3900 =item WRITING A SOURCE FILTER IN C
3902 B<Decryption Filters>
3904 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
3906 =item WRITING A SOURCE FILTER IN PERL
3908 =item USING CONTEXT: THE DEBUG FILTER
3920 =head2 perldbmfilter - Perl DBM Filters
3928 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
3929 B<filter_fetch_value>
3935 =item An Example -- the NULL termination problem.
3937 =item Another Example -- Key is a C int.
3947 =head2 perlapi - autogenerated documentation for the perl public API
3953 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
3954 av_shift, av_store, av_undef, av_unshift, bytes_to_utf8, call_argv,
3955 call_method, call_pv, call_sv, CLASS, Copy, croak, CvSTASH, dMARK,
3956 dORIGMARK, dSP, dXSARGS, dXSI32, ENTER, eval_pv, eval_sv, EXTEND,
3957 fbm_compile, fbm_instr, FREETMPS, get_av, get_cv, get_hv, get_sv, GIMME,
3958 GIMME_V, GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload,
3959 gv_stashpv, gv_stashsv, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR,
3960 G_VOID, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force,
3961 HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists,
3962 hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey,
3963 hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, hv_store,
3964 hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
3965 isUPPER, items, ix, LEAVE, looks_like_number, MARK, mg_clear, mg_copy,
3966 mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set, Move, New, newAV,
3967 Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc, NEWSV, newSViv, newSVnv,
3968 newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newSVuv, newXS, newXSproto,
3969 Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc,
3970 perl_construct, perl_destruct, perl_free, perl_parse, perl_run,
3971 PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_modglobal, PL_na,
3972 PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn, POPp, POPs, PUSHi,
3973 PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, require_pv,
3974 RETVAL, Safefree, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
3975 strGT, strLE, strLT, strNE, strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set,
3976 SvEND, SvGETMAGIC, SvGROW, SvIOK, SvIOKp, SvIOK_off, SvIOK_on, SvIOK_only,
3977 SvIV, SvIVX, SvLEN, SvLOCK, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp,
3978 SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp,
3979 SvPOK_off, SvPOK_on, SvPOK_only, SvPV, SvPVX, SvPV_force, SvPV_nolen,
3980 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
3981 SvSETMAGIC, SvSetSV, SvSetSV_nosteal, SvSTASH, SvTAINT, SvTAINTED,
3982 SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, svtype, SVt_IV, SVt_NV,
3983 SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUNLOCK, SvUPGRADE, SvUV,
3984 SvUVX, sv_2mortal, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn,
3985 sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, sv_dec,
3986 sv_derived_from, sv_eq, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject,
3987 sv_len, sv_magic, sv_mortalcopy, sv_newmortal, sv_setiv, sv_setiv_mg,
3988 sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv,
3989 sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv,
3990 sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv,
3991 sv_setuv_mg, sv_unref, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn,
3992 sv_vsetpvfn, THIS, toLOWER, toUPPER, U8 *s, utf8_to_bytes, warn, XPUSHi,
3993 XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV,
3994 XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES,
3995 XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION,
3996 XS_VERSION_BOOTCHECK, Zero
4004 =head2 perlintern - autogenerated documentation of purely B<internal>
4019 =head2 perlapio - perl's IO abstraction interface.
4027 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
4028 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
4029 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
4030 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
4031 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
4032 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
4033 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
4034 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
4035 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
4036 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
4040 =item Co-existence with stdio
4042 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
4043 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
4044 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
4045 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
4046 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
4047 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
4053 =head2 perltodo - Perl TO-DO List
4059 =item Infrastructure
4063 =item Mailing list archives
4065 =item Bug tracking system
4067 =item Regression Tests
4069 Coverage, Regression, __DIE__, suidperl, The 25% slowdown from perl4 to
4092 Named prototypes, Indirect objects, Method calls, Context, Scoped subs
4096 =item Perl Internals
4102 =item Garbage Collection
4104 =item Reliable signals
4106 Alternate runops() for signal despatch, Figure out how to die() in delayed
4107 sighandler, Add tests for Thread::Signal, Automatic tests against CPAN
4109 =item Interpolated regex performance bugs
4111 =item Memory leaks from failed eval/regcomp
4113 =item Make XS easier to use
4115 =item Make embedded Perl easier to use
4117 =item Namespace cleanup
4129 =item A clear division into tutorial and reference
4131 =item Remove the artificial distinction between operators and functions
4133 =item More tutorials
4135 Regular expressions, I/O, pack/unpack, Debugging
4137 =item Include a search tool
4139 =item Include a locate tool
4141 =item Separate function manpages by default
4143 =item Users can't find the manpages
4145 =item Install ALL Documentation
4147 =item Outstanding issues to be documented
4149 =item Adapt www.linuxhq.com for Perl
4151 =item Replace man with a perl program
4153 =item Unicode tutorial
4161 =item Update the POSIX extension to conform with the POSIX 1003.1 Edition 2
4163 =item Module versions
4171 VecArray, SubstrArray, VirtualArray, ShiftSplice
4173 =item Procedural options
4177 =item y2k localtime/gmtime
4179 =item Export File::Find variables
4183 =item Debugger attach/detach
4185 =item Regular Expression debugger
4187 =item Alternative RE Syntax
4189 =item Bundled modules
4195 =item Update semibroken auxiliary tools; h2ph, a2p, etc.
4197 =item POD Converters
4213 =item POSIX on non-POSIX
4215 =item Portable installations
4223 =item Rename new headers to be consistent with the rest
4225 =item Sort out the spawnvp() mess
4227 =item Work out DLL versioning
4233 =item Would be nice to have
4235 C<pack "(stuff)*">, Contiguous bitfields in pack/unpack, lexperl, Bundled
4236 perl preprocessor, Use posix calls internally where possible, format
4237 BOTTOM, -i rename file only when successfully changed, All ARGV input
4238 should act like <>, report HANDLE [formats], support in perlmain to rerun
4239 debugger, lvalue functions
4241 =item Possible pragmas
4253 =item constant function cache
4255 =item foreach(reverse...)
4257 =item Cache eval tree
4261 =item Shrink opcode tables
4263 =item Cache hash value
4265 =item Optimize away @_ where possible
4267 =item Optimize sort by { $a <=> $b }
4269 =item Rewrite regexp parser for better integrated optimization
4273 =item Vague possibilities
4275 ref function in list context, make tr/// return histogram in list context?,
4276 Loop control on do{} et al, Explicit switch statements, compile to real
4277 threaded code, structured types, Modifiable $1 et al
4279 =item To Do Or Not To Do
4283 =item Making my() work on "package" variables
4285 =item "or" testing defined not truth
4287 =item "dynamic" lexicals
4289 =item "class"-based, rather than package-based "lexicals"
4305 =item External threads
4311 =item Per-thread GVs
4323 =item Precompiled modules
4327 =item Typed lexicals
4337 =item Cached compilation
4341 =item Recently Finished Tasks
4345 =item Figure a way out of $^(capital letter)
4351 =item Namespace cleanup
4363 =head2 perlhack - How to hack at the Perl internals
4369 Does concept match the general goals of Perl?, Where is the
4370 implementation?, Backwards compatibility, Could it be a module instead?, Is
4371 the feature generic enough?, Does it potentially introduce new bugs?, Does
4372 it preclude other desirable features?, Is the implementation robust?, Is
4373 the implementation generic enough to be portable?, Is there enough
4374 documentation?, Is there another way to do it?, Does it create too much
4375 work?, Patches speak louder than words
4381 =head2 perlhist - the Perl history records
4389 =item THE KEEPERS OF THE PUMPKIN
4401 =item SELECTED RELEASE SIZES
4403 =item SELECTED PATCH SIZES
4407 =item THE KEEPERS OF THE RECORDS
4411 =head2 perldelta - what's new for perl v5.6.0
4417 =item Core Enhancements
4421 =item Interpreter cloning, threads, and concurrency
4423 =item Lexically scoped warning categories
4425 =item Unicode and UTF-8 support
4427 =item Support for interpolating named characters
4429 =item "our" declarations
4431 =item Support for strings represented as a vector of ordinals
4433 =item Improved Perl version numbering system
4435 =item New syntax for declaring subroutine attributes
4437 =item File and directory handles can be autovivified
4439 =item open() with more than two arguments
4441 =item 64-bit support
4443 =item Large file support
4449 =item Enhanced support for sort() subroutines
4451 =item C<sort $coderef @foo> allowed
4453 =item File globbing implemented internally
4455 Support for CHECK blocks
4457 =item POSIX character class syntax [: :] supported
4459 Better pseudo-random number generator
4461 =item Improved C<qw//> operator
4463 Better worst-case behavior of hashes
4465 =item pack() format 'Z' supported
4467 =item pack() format modifier '!' supported
4469 =item pack() and unpack() support counted strings
4471 =item Comments in pack() templates
4473 =item Weak references
4475 =item Binary numbers supported
4477 =item Lvalue subroutines
4479 =item Some arrows may be omitted in calls through references
4481 =item Boolean assignment operators are legal lvalues
4483 =item exists() is supported on subroutine names
4485 =item exists() and delete() are supported on array elements
4487 =item Pseudo-hashes work better
4489 =item Automatic flushing of output buffers
4491 =item Better diagnostics on meaningless filehandle operations
4493 =item Where possible, buffered data discarded from duped input filehandle
4495 =item eof() has the same old magic as <>
4497 =item binmode() can be used to set :crlf and :raw modes
4499 =item C<-T> filetest recognizes UTF-8 encoded files as "text"
4501 =item system(), backticks and pipe open now reflect exec() failure
4503 =item Improved diagnostics
4505 =item Diagnostics follow STDERR
4507 More consistent close-on-exec behavior
4509 =item syswrite() ease-of-use
4511 =item Better syntax checks on parenthesized unary operators
4513 =item Bit operators support full native integer width
4515 =item Improved security features
4517 More functional bareword prototype (*)
4519 =item C<require> and C<do> may be overridden
4521 =item $^X variables may now have names longer than one character
4523 =item New variable $^C reflects C<-c> switch
4525 =item New variable $^V contains Perl version as a string
4527 =item Optional Y2K warnings
4531 =item Modules and Pragmata
4537 attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper,
4538 DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English,
4539 Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
4540 File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
4541 Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker,
4542 podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage,
4543 pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname,
4544 Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
4550 =item Utility Changes
4564 =item The Perl Debugger
4568 =item Improved Documentation
4570 perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod,
4571 perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod,
4572 perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod,
4573 perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
4575 =item Performance enhancements
4579 =item Simple sort() using { $a <=> $b } and the like are optimized
4581 =item Optimized assignments to lexical variables
4583 =item Faster subroutine calls
4585 delete(), each(), values() and hash iteration are faster
4589 =item Installation and Configuration Improvements
4593 =item -Dusethreads means something different
4595 =item New Configure flags
4597 =item Threadedness and 64-bitness now more daring
4603 =item -Duselargefiles
4605 =item installusrbinperl
4611 =item Enhanced Installation Directories
4615 =item Platform specific changes
4619 =item Supported platforms
4623 =item OS390 (OpenEdition MVS)
4631 =item Significant bug fixes
4635 =item <HANDLE> on empty files
4637 =item C<eval '...'> improvements
4639 =item All compilation errors are true errors
4641 =item Implicitly closed filehandles are safer
4643 =item Behavior of list slices is more consistent
4645 =item C<(\$)> prototype and C<$foo{a}>
4647 =item C<goto &sub> and AUTOLOAD
4649 =item C<-bareword> allowed under C<use integer>
4651 =item Failures in DESTROY()
4653 =item Locale bugs fixed
4657 =item Spurious subroutine stubs after failed subroutine calls
4659 =item Taint failures under C<-U>
4661 =item END blocks and the C<-c> switch
4663 =item Potential to leak DATA filehandles
4667 =item New or Changed Diagnostics
4669 (perhaps you forgot to load "%s"?), "%s" variable %s masks earlier
4670 declaration in same %s, "my sub" not yet implemented, "our" variable %s
4671 redeclared, '!' allowed only after types %s, / cannot take a count, / must
4672 be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow
4673 a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/:
4674 Unrecognized escape \\%c in character class passed through, /%s/ should
4675 probably be written as "%s", %s() called too early to check prototype, %s
4676 argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY
4677 element or slice, %s argument is not a subroutine name, %s package
4678 attribute may clash with future reserved word: %s, (in cleanup) %s, <>
4679 should be quotes, Attempt to join self, Bad evalled substitution pattern,
4680 Bad realloc() ignored, Bareword found in conditional, Binary number >
4681 0b11111111111111111111111111111111 non-portable, Bit vector size > 32
4682 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem
4683 of script "%s", Can't declare class for non-scalar %s in "%s", Can't
4684 declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't
4685 modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove
4686 %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken
4687 a nonreference, Character class [:%s:] unknown, Character class syntax [%s]
4688 belongs inside character classes, Constant is not %s reference,
4689 constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
4690 defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
4691 "local" instead of "our"?), Document contains no data, entering effective
4692 %s failed, false [] range "%s" in regexp, Filehandle %s opened only for
4693 output, flock() on closed filehandle %s, Global symbol "%s" requires
4694 explicit package name, Hexadecimal number > 0xffffffff non-portable,
4695 Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter:
4696 |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
4697 number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
4698 %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid
4699 separator character %s in attribute list, Invalid separator character %s in
4700 subroutine attribute list, leaving effective %s failed, Lvalue subs
4701 returning %s not implemented yet, Method %s not permitted, Missing
4702 %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub",
4703 No %s specified for -%c, No package name allowed for variable %s in "our",
4704 No space allowed after -%c, no UTC offset information; assuming local time
4705 is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
4706 panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
4707 around "%s" list, Possible Y2K bug: %s, pragma "attrs" is deprecated, use
4708 "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count
4709 in pack overflows, Repeat count in unpack overflows, realloc() of freed
4710 memory ignored, Reference is already weak, setpgrp can't take arguments,
4711 Strange *+?{} on zero-length expression, switching effective %s is not
4712 implemented, This Perl can't reset CRTL environ elements (%s), This Perl
4713 can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown
4714 open() mode '%s', Unknown process %x sent message to prime_env_iter: %s,
4715 Unrecognized escape \\%c passed through, Unterminated attribute parameter
4716 in attribute list, Unterminated attribute list, Unterminated attribute
4717 parameter in subroutine attribute list, Unterminated subroutine attribute
4718 list, Value of CLI symbol "%s" too long, Version number must be a constant
4723 =item Incompatible Changes
4727 =item Perl Source Incompatibilities
4729 CHECK is a new keyword, Treatment of list slices of undef has changed
4731 =item Format of $English::PERL_VERSION is different
4733 Literals of the form C<1.2.3> parse differently, Possibly changed
4734 pseudo-random number generator, Hashing function for hash keys has changed,
4735 C<undef> fails on read only values, Close-on-exec bit may be set on pipe
4736 and socket handles, Writing C<"$$1"> to mean C<"${$}1"> is unsupported,
4737 delete(), values() and C<\(%h)> operate on aliases to values, not copies,
4738 vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic
4739 output has changed, C<%@> has been removed, Parenthesized not() behaves
4740 like a list operator, Semantics of bareword prototype C<(*)> have changed
4742 =item Semantics of bit operators may have changed on 64-bit platforms
4744 =item More builtins taint their results
4746 =item C Source Incompatibilities
4748 C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
4750 =item Compatible C Source API Changes
4752 C<PATCHLEVEL> is now C<PERL_VERSION>
4754 =item Binary Incompatibilities
4758 =item Known Problems
4762 =item Thread test failures
4764 =item EBCDIC platforms not supported
4766 =item In 64-bit HP-UX the lib/io_multihomed test may hang
4768 =item NEXTSTEP 3.3 POSIX test failure
4770 =item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with
4773 =item UNICOS/mk CC failures during Configure run
4775 =item Arrow operator and arrays
4779 =item Experimental features
4781 Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
4782 pseudo-hash data type, The Compiler suite, Internal implementation of file
4783 globbing, The DB module, The regular expression constructs C<(?{ code })>
4788 =item Obsolete Diagnostics
4790 Character class syntax [: :] is reserved for future extensions, Ill-formed
4791 logical name |%s| in prime_env_iter, Probable precedence problem on %s,
4792 regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated
4794 =item Reporting Bugs
4802 =head2 perl56delta, perldelta - what's new for perl v5.6.0
4808 =item Core Enhancements
4812 =item Interpreter cloning, threads, and concurrency
4814 =item Lexically scoped warning categories
4816 =item Unicode and UTF-8 support
4818 =item Support for interpolating named characters
4820 =item "our" declarations
4822 =item Support for strings represented as a vector of ordinals
4824 =item Improved Perl version numbering system
4826 =item New syntax for declaring subroutine attributes
4828 =item File and directory handles can be autovivified
4830 =item open() with more than two arguments
4832 =item 64-bit support
4834 =item Large file support
4840 =item Enhanced support for sort() subroutines
4842 =item C<sort $coderef @foo> allowed
4844 =item File globbing implemented internally
4846 =item Support for CHECK blocks
4848 =item POSIX character class syntax [: :] supported
4850 =item Better pseudo-random number generator
4852 =item Improved C<qw//> operator
4854 =item Better worst-case behavior of hashes
4856 =item pack() format 'Z' supported
4858 =item pack() format modifier '!' supported
4860 =item pack() and unpack() support counted strings
4862 =item Comments in pack() templates
4864 =item Weak references
4866 =item Binary numbers supported
4868 =item Lvalue subroutines
4870 =item Some arrows may be omitted in calls through references
4872 =item Boolean assignment operators are legal lvalues
4874 =item exists() is supported on subroutine names
4876 =item exists() and delete() are supported on array elements
4878 =item Pseudo-hashes work better
4880 =item Automatic flushing of output buffers
4882 =item Better diagnostics on meaningless filehandle operations
4884 =item Where possible, buffered data discarded from duped input filehandle
4886 =item eof() has the same old magic as <>
4888 =item binmode() can be used to set :crlf and :raw modes
4890 =item C<-T> filetest recognizes UTF-8 encoded files as "text"
4892 =item system(), backticks and pipe open now reflect exec() failure
4894 =item Improved diagnostics
4896 =item Diagnostics follow STDERR
4898 =item More consistent close-on-exec behavior
4900 =item syswrite() ease-of-use
4902 =item Better syntax checks on parenthesized unary operators
4904 =item Bit operators support full native integer width
4906 =item Improved security features
4908 =item More functional bareword prototype (*)
4910 =item C<require> and C<do> may be overridden
4912 =item $^X variables may now have names longer than one character
4914 =item New variable $^C reflects C<-c> switch
4916 =item New variable $^V contains Perl version as a string
4918 =item Optional Y2K warnings
4920 =item Arrays now always interpolate into double-quoted strings
4924 =item Modules and Pragmata
4930 attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper,
4931 DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English,
4932 Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
4933 File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
4934 Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker,
4935 podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage,
4936 pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname,
4937 Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
4943 =item Utility Changes
4957 =item The Perl Debugger
4961 =item Improved Documentation
4963 perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod,
4964 perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod,
4965 perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod,
4966 perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
4968 =item Performance enhancements
4972 =item Simple sort() using { $a <=> $b } and the like are optimized
4974 =item Optimized assignments to lexical variables
4976 =item Faster subroutine calls
4978 =item delete(), each(), values() and hash iteration are faster
4982 =item Installation and Configuration Improvements
4986 =item -Dusethreads means something different
4988 =item New Configure flags
4990 =item Threadedness and 64-bitness now more daring
4996 =item -Duselargefiles
4998 =item installusrbinperl
5004 =item Enhanced Installation Directories
5008 =item Platform specific changes
5012 =item Supported platforms
5016 =item OS390 (OpenEdition MVS)
5024 =item Significant bug fixes
5028 =item <HANDLE> on empty files
5030 =item C<eval '...'> improvements
5032 =item All compilation errors are true errors
5034 =item Implicitly closed filehandles are safer
5036 =item Behavior of list slices is more consistent
5038 =item C<(\$)> prototype and C<$foo{a}>
5040 =item C<goto &sub> and AUTOLOAD
5042 =item C<-bareword> allowed under C<use integer>
5044 =item Failures in DESTROY()
5046 =item Locale bugs fixed
5050 =item Spurious subroutine stubs after failed subroutine calls
5052 =item Taint failures under C<-U>
5054 =item END blocks and the C<-c> switch
5056 =item Potential to leak DATA filehandles
5060 =item New or Changed Diagnostics
5062 "%s" variable %s masks earlier declaration in same %s, "my sub" not yet
5063 implemented, "our" variable %s redeclared, '!' allowed only after types %s,
5064 / cannot take a count, / must be followed by a, A or Z, / must be followed
5065 by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
5066 \\%c passed through, /%s/: Unrecognized escape \\%c in character class
5067 passed through, /%s/ should probably be written as "%s", %s() called too
5068 early to check prototype, %s argument is not a HASH or ARRAY element, %s
5069 argument is not a HASH or ARRAY element or slice, %s argument is not a
5070 subroutine name, %s package attribute may clash with future reserved word:
5071 %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled
5072 substitution pattern, Bad realloc() ignored, Bareword found in conditional,
5073 Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector
5074 size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check
5075 filesystem of script "%s", Can't declare class for non-scalar %s in "%s",
5076 Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default,
5077 Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't
5078 remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't
5079 weaken a nonreference, Character class [:%s:] unknown, Character class
5080 syntax [%s] belongs inside character classes, Constant is not %s reference,
5081 constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
5082 defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
5083 "local" instead of "our"?), Document contains no data, entering effective
5084 %s failed, false [] range "%s" in regexp, Filehandle %s opened only for
5085 output, flock() on closed filehandle %s, Global symbol "%s" requires
5086 explicit package name, Hexadecimal number > 0xffffffff non-portable,
5087 Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter:
5088 |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
5089 number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
5090 %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid
5091 separator character %s in attribute list, Invalid separator character %s in
5092 subroutine attribute list, leaving effective %s failed, Lvalue subs
5093 returning %s not implemented yet, Method %s not permitted, Missing
5094 %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub",
5095 No %s specified for -%c, No package name allowed for variable %s in "our",
5096 No space allowed after -%c, no UTC offset information; assuming local time
5097 is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
5098 panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
5099 around "%s" list, Possible unintended interpolation of %s in string,
5100 Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS"
5101 instead, Premature end of script headers, Repeat count in pack overflows,
5102 Repeat count in unpack overflows, realloc() of freed memory ignored,
5103 Reference is already weak, setpgrp can't take arguments, Strange *+?{} on
5104 zero-length expression, switching effective %s is not implemented, This
5105 Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL
5106 environ elements (%s=%s), Too late to run %s block, Unknown open() mode
5107 '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized
5108 escape \\%c passed through, Unterminated attribute parameter in attribute
5109 list, Unterminated attribute list, Unterminated attribute parameter in
5110 subroutine attribute list, Unterminated subroutine attribute list, Value of
5111 CLI symbol "%s" too long, Version number must be a constant number
5115 =item Incompatible Changes
5119 =item Perl Source Incompatibilities
5121 CHECK is a new keyword, Treatment of list slices of undef has changed,
5122 Format of $English::PERL_VERSION is different, Literals of the form
5123 C<1.2.3> parse differently, Possibly changed pseudo-random number
5124 generator, Hashing function for hash keys has changed, C<undef> fails on
5125 read only values, Close-on-exec bit may be set on pipe and socket handles,
5126 Writing C<"$$1"> to mean C<"${$}1"> is unsupported, delete(), values() and
5127 C<\(%h)> operate on aliases to values, not copies, vec(EXPR,OFFSET,BITS)
5128 enforces powers-of-two BITS, Text of some diagnostic output has changed,
5129 C<%@> has been removed, Parenthesized not() behaves like a list operator,
5130 Semantics of bareword prototype C<(*)> have changed, Semantics of bit
5131 operators may have changed on 64-bit platforms, More builtins taint their
5134 =item C Source Incompatibilities
5136 C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
5138 =item Compatible C Source API Changes
5140 C<PATCHLEVEL> is now C<PERL_VERSION>
5142 =item Binary Incompatibilities
5146 =item Known Problems
5150 =item Thread test failures
5152 =item EBCDIC platforms not supported
5154 =item In 64-bit HP-UX the lib/io_multihomed test may hang
5156 =item NEXTSTEP 3.3 POSIX test failure
5158 =item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with
5161 =item UNICOS/mk CC failures during Configure run
5163 =item Arrow operator and arrays
5165 =item Experimental features
5167 Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
5168 pseudo-hash data type, The Compiler suite, Internal implementation of file
5169 globbing, The DB module, The regular expression constructs C<(?{ code })>
5174 =item Obsolete Diagnostics
5176 Character class syntax [: :] is reserved for future extensions, Ill-formed
5177 logical name |%s| in prime_env_iter, In string, @%s now must be written as
5178 \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>"
5179 to mean "${$}<digit>" is deprecated
5181 =item Reporting Bugs
5189 =head2 perl5005delta, perldelta - what's new for perl5.005
5195 =item About the new versioning system
5197 =item Incompatible Changes
5201 =item WARNING: This version is not binary compatible with Perl 5.004.
5203 =item Default installation structure has changed
5205 =item Perl Source Compatibility
5207 =item C Source Compatibility
5209 Core sources now require ANSI C compiler, All Perl global variables must
5210 now be referenced with an explicit prefix, Enabling threads has source
5211 compatibility issues
5213 =item Binary Compatibility
5215 =item Security fixes may affect compatibility
5217 =item Relaxed new mandatory warnings introduced in 5.004
5231 =item Regular Expressions
5233 Many new and improved optimizations, Many bug fixes, New regular expression
5234 constructs, New operator for precompiled regular expressions, Other
5235 improvements, Incompatible changes
5237 =item Improved malloc()
5239 =item Quicksort is internally implemented
5241 =item Reliable signals
5243 =item Reliable stack pointers
5245 =item More generous treatment of carriage returns
5249 =item Better support for multiple interpreters
5251 =item Behavior of local() on array and hash elements is now well-defined
5253 =item C<%!> is transparently tied to the L<Errno> module
5255 =item Pseudo-hashes are supported
5257 =item C<EXPR foreach EXPR> is supported
5259 =item Keywords can be globally overridden
5261 =item C<$^E> is meaningful on Win32
5263 =item C<foreach (1..1000000)> optimized
5265 =item C<Foo::> can be used as implicitly quoted package name
5267 =item C<exists $Foo::{Bar::}> tests existence of a package
5269 =item Better locale support
5271 =item Experimental support for 64-bit platforms
5273 =item prototype() returns useful results on builtins
5275 =item Extended support for exception handling
5277 =item Re-blessing in DESTROY() supported for chaining DESTROY() methods
5279 =item All C<printf> format conversions are handled internally
5281 =item New C<INIT> keyword
5283 =item New C<lock> keyword
5285 =item New C<qr//> operator
5287 =item C<our> is now a reserved word
5289 =item Tied arrays are now fully supported
5291 =item Tied handles support is better
5293 =item 4th argument to substr
5295 =item Negative LENGTH argument to splice
5297 =item Magic lvalues are now more magical
5299 =item <> now reads in records
5303 =item Supported Platforms
5309 =item Changes in existing support
5313 =item Modules and Pragmata
5319 B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed,
5320 ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle,
5321 Thread, attrs, fields, re
5323 =item Changes in existing modules
5325 Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File,
5326 MakeMaker, CPAN, Cwd, Benchmark
5330 =item Utility Changes
5332 =item Documentation Changes
5334 =item New Diagnostics
5336 Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index
5337 while coercing array into hash, Bareword "%s" refers to nonexistent
5338 package, Can't call method "%s" on an undefined value, Can't check
5339 filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't
5340 goto subroutine from an eval-string, Can't localize pseudo-hash element,
5341 Can't use %%! because Errno.pm is not available, Cannot find an opnumber
5342 for "%s", Character class syntax [. .] is reserved for future extensions,
5343 Character class syntax [: :] is reserved for future extensions, Character
5344 class syntax [= =] is reserved for future extensions, %s: Eval-group in
5345 insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s:
5346 Eval-group not allowed at run time, Explicit blessing to '' (assuming
5347 package main), Illegal hex digit ignored, No such array field, No such
5348 field "%s" in variable %s of type %s, Out of memory during ridiculously
5349 large request, Range iterator outside integer range, Recursive inheritance
5350 detected while looking for method '%s' in package '%s', Reference found
5351 where even-sized list expected, Undefined value assigned to typeglob, Use
5352 of reserved word "%s" is deprecated, perl: warning: Setting locale failed
5354 =item Obsolete Diagnostics
5356 Can't mktemp(), Can't write to temp file for B<-e>: %s, Cannot open
5357 temporary file, regexp too big
5359 =item Configuration Changes
5369 =head2 perl5004delta, perldelta - what's new for perl5.004
5375 =item Supported Environments
5381 =item List assignment to %ENV works
5383 =item "Can't locate Foo.pm in @INC" error now lists @INC
5385 =item Compilation option: Binary compatibility with 5.003
5387 =item $PERL5OPT environment variable
5389 =item Limitations on B<-M>, B<-m>, and B<-T> options
5391 =item More precise warnings
5393 =item Deprecated: Inherited C<AUTOLOAD> for non-methods
5395 =item Previously deprecated %OVERLOAD is no longer usable
5397 =item Subroutine arguments created only when they're modified
5399 =item Group vector changeable with C<$)>
5401 =item Fixed parsing of $$<digit>, &$<digit>, etc.
5403 =item Fixed localization of $<digit>, $&, etc.
5405 =item No resetting of $. on implicit close
5407 =item C<wantarray> may return undef
5409 =item C<eval EXPR> determines value of EXPR in scalar context
5411 =item Changes to tainting checks
5413 No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No
5414 spawning if tainted $TERM doesn't look like a terminal name
5416 =item New Opcode module and revised Safe module
5418 =item Embedding improvements
5420 =item Internal change: FileHandle class based on IO::* classes
5422 =item Internal change: PerlIO abstraction interface
5424 =item New and changed syntax
5428 =item New and changed builtin constants
5432 =item New and changed builtin variables
5436 =item New and changed builtin functions
5438 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
5439 Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module
5440 VERSION LIST, prototype(FUNCTION), srand, $_ as Default, C<m//gc> does not
5441 reset search position on failure, C<m//x> ignores whitespace before ?*+{},
5442 nested C<sub{}> closures work now, formats work right on changing lexicals
5444 =item New builtin methods
5446 isa(CLASS), can(METHOD), VERSION( [NEED] )
5448 =item TIEHANDLE now supported
5450 TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this
5451 LIST, READLINE this, GETC this, DESTROY this
5453 =item Malloc enhancements
5455 -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
5457 =item Miscellaneous efficiency enhancements
5461 =item Support for More Operating Systems
5477 use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use
5478 constant NAME => VALUE, use locale, use ops, use vmsish
5484 =item Required Updates
5486 =item Installation directories
5488 =item Module information summary
5502 =item Object-oriented overrides for builtin operators
5506 =item Utility Changes
5512 Sends converted HTML to standard output
5516 C<void> XSUBs now default to returning nothing
5520 =item C Language API Changes
5522 C<gv_fetchmethod> and C<perl_call_sv>, C<perl_eval_pv>, Extended API for
5525 =item Documentation Changes
5527 L<perldelta>, L<perlfaq>, L<perllocale>, L<perltoot>, L<perlapio>,
5528 L<perlmodlib>, L<perldebug>, L<perlsec>
5530 =item New Diagnostics
5532 "my" variable %s masks earlier declaration in same scope, %s argument is
5533 not a HASH element or slice, Allocation too large: %lx, Allocation too
5534 large, Applying %s to %s will act on scalar(%s), Attempt to free
5535 nonexistent shared string, Attempt to use reference as lvalue in substr,
5536 Bareword "%s" refers to nonexistent package, Can't redefine active sort
5537 subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in
5538 use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant
5539 subroutine %s redefined, Constant subroutine %s undefined, Copy method did
5540 not return a reference, Died, Exiting pseudo-block via %s, Identifier too
5541 long, Illegal character %s (carriage return), Illegal switch in PERL5OPT:
5542 %s, Integer overflow in hex number, Integer overflow in octal number,
5543 internal error: glob failed, Invalid conversion in %s: "%s", Invalid type
5544 in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once:
5545 possible typo, Null picture in formline, Offset outside string, Out of
5546 memory!, Out of memory during request for %s, panic: frexp, Possible
5547 attempt to put comments in qw() list, Possible attempt to separate words
5548 with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found
5549 while resolving method `%s' overloading `%s' in package `%s', Too late for
5550 "B<-T>" option, untie attempted while %d inner references still exist,
5551 Unrecognized character %s, Unsupported function fork, Use of "$$<digit>" to
5552 mean "${$}<digit>" is deprecated, Value of %s can be "0"; test with
5553 defined(), Variable "%s" may be unavailable, Variable "%s" will not stay
5554 shared, Warning: something's wrong, Ill-formed logical name |%s| in
5555 prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
5556 PERL_SH_DIR too long, Process terminated by SIG%s
5566 =head2 perlamiga - Perl under Amiga OS (possibly very outdated information)
5582 B<Unix emulation for AmigaOS: ixemul.library>, B<Version of Amiga OS>
5584 =item Starting Perl programs under AmigaOS
5586 =item Shortcomings of Perl under AmigaOS
5588 fork(), some features of the UNIX filesystem regarding link count and file
5589 dates, inplace operation (the -i switch) without backup file, umask()
5590 works, but the correct permissions are only set when the file is
5597 =item Accessing documentation
5605 =item B<GNU> C<info> files
5617 =item Getting the perl source
5623 =item Installing the built perl
5633 =head2 perlcygwin, README.cygwin - Perl for Cygwin
5643 =item Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it)
5645 =item Cygwin Configuration
5647 C<PATH>, I<nroff>, Permissions
5655 =item Strip Binaries
5657 =item Optional Libraries
5659 C<-lcrypt>, C<-lgdbm> (C<use GDBM_File>), C<-ldb> (C<use DB_File>),
5660 C<-lcygipc> (C<use IPC::SysV>)
5662 =item Configure-time Options
5664 C<-Uusedl>, C<-Uusemymalloc>, C<-Dusemultiplicity>, C<-Duseperlio>,
5665 C<-Duse64bitint>, C<-Duselongdouble>, C<-Dusethreads>, C<-Duselargefiles>
5667 =item Suspicious Warnings
5669 Whoa There, I<dlsym()>, Win9x and C<d_eofnblk>, Checking how std your stdio
5670 is.., Compiler/Preprocessor defines
5688 =item File Permissions
5692 =item Filetime Granularity
5694 =item Tainting Checks
5698 =item Script Portability
5700 Pathnames, Text/Binary, F<.exe>, chown(), Miscellaneous
5708 Documentation, Build, Configure, Make, Install, Tests, Compiled Perl
5709 Source, Compiled Module Source, Perl Modules/Scripts
5719 =head2 perldos - Perl under DOS, W31, W95.
5733 =item Shortcomings of Perl under DOS
5749 =head2 perlhpux, README.hpux - Perl version 5 on Hewlett-Packard Unix
5758 =item Compiling Perl 5 on HP-UX
5768 =item Portability Between PA-RISC Versions
5770 =item Building Dynamic Extensions on HP-UX
5772 =item The HP ANSI C Compiler
5774 =item Using Large Files with Perl
5780 =item GDBM and Threads
5782 =item NFS filesystems and utime(2)
5792 =head2 perlmachten, README.machten - Perl version 5 on Power MachTen
5801 =item Compiling Perl 5 on MachTen
5803 =item Failures during C<make test>
5805 op/lexassign.t, pragma/warnings.t
5807 =item Building external modules
5817 =head2 perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT.
5833 EMX, RSX, HPFS, pdksh
5835 =item Starting Perl programs under OS/2 (and DOS and...)
5837 =item Starting OS/2 (and DOS) programs under Perl
5843 =item Frequently asked questions
5847 =item I cannot run external programs
5849 =item I cannot embed perl into my program, or use F<perl.dll> from my
5852 Is your program EMX-compiled with C<-Zmt -Zcrtdll>?, Did you use
5855 =item C<``> and pipe-C<open> do not work under DOS.
5857 =item Cannot start C<find.exe "pattern" file>
5865 =item Automatic binary installation
5867 C<PERL_BADLANG>, C<PERL_BADFREE>, F<Config.pm>
5869 =item Manual binary installation
5871 Perl VIO and PM executables (dynamically linked), Perl_ VIO executable
5872 (statically linked), Executables for Perl utilities, Main Perl library,
5873 Additional Perl modules, Tools to compile Perl modules, Manpages for Perl
5874 and utilities, Manpages for Perl modules, Source for Perl documentation,
5875 Perl manual in F<.INF> format, Pdksh
5881 =item Accessing documentation
5885 =item OS/2 F<.INF> file
5893 =item GNU C<info> files
5907 =item Getting perl source
5909 =item Application of the patches
5917 A lot of C<bad free>, Process terminated by SIGTERM/SIGINT, F<op/fs.t>,
5918 F<lib/io_pipe.t>, F<lib/io_sock.t>, F<op/stat.t>, F<lib/io_udp.t>
5920 =item Installing the built perl
5922 =item C<a.out>-style build
5930 =item Some C</> became C<\> in pdksh.
5932 =item C<'errno'> - unresolved external
5934 =item Problems with tr or sed
5936 =item Some problem (forget which ;-)
5938 =item Library ... not found
5940 =item Segfault in make
5944 =item Specific (mis)features of OS/2 port
5948 =item C<setpriority>, C<getpriority>
5952 =item C<extproc> on the first line
5954 =item Additional modules:
5956 =item Prebuilt methods:
5958 C<File::Copy::syscopy>, C<DynaLoader::mod2fname>, C<Cwd::current_drive()>,
5959 C<Cwd::sys_chdir(name)>, C<Cwd::change_drive(name)>,
5960 C<Cwd::sys_is_absolute(name)>, C<Cwd::sys_is_rooted(name)>,
5961 C<Cwd::sys_is_relative(name)>, C<Cwd::sys_cwd(name)>,
5962 C<Cwd::sys_abspath(name, dir)>, C<Cwd::extLibpath([type])>,
5963 C<Cwd::extLibpath_set( path [, type ] )>
5969 C<popen>, C<tmpnam>, C<tmpfile>, C<ctermid>, C<stat>, C<flock>
5983 =item F<perl___.exe>
5985 =item Why strange names?
5987 =item Why dynamic linking?
5989 =item Why chimera build?
5991 explicit fork(), open FH, "|-", open FH, "-|"
5999 =item C<PERLLIB_PREFIX>
6001 =item C<PERL_BADLANG>
6003 =item C<PERL_BADFREE>
6005 =item C<PERL_SH_DIR>
6007 =item C<USE_PERL_FLOCK>
6009 =item C<TMP> or C<TEMP>
6019 =item DLL name mangling
6023 =item Calls to external programs
6025 =item Memory allocation
6029 C<COND_WAIT>, F<os2.c>
6043 =head2 perlos390, README.os390 - building and installing Perl for OS/390.
6055 =item Setup and utilities
6059 =item Build, test, install
6081 =head2 perlvms - VMS-specific documentation for Perl
6089 =item Organization of Perl Images
6095 =item Perl Extensions
6097 =item Installing static extensions
6099 =item Installing dynamic extensions
6103 =item File specifications
6109 =item Wildcard expansion
6115 =item PERL5LIB and PERLLIB
6121 =item I/O redirection and backgrounding
6123 =item Command line switches
6129 =item Perl functions
6131 File tests, backticks, binmode FILEHANDLE, crypt PLAINTEXT, USER, dump,
6132 exec LIST, fork, getpwent, getpwnam, getpwuid, gmtime, kill, qx//, select
6133 (system call), stat EXPR, system LIST, time, times, unlink LIST, utime
6134 LIST, waitpid PID,FLAGS
6136 =item Perl variables
6138 %ENV, CRTL_ENV, CLISYM_[LOCAL], Any other string, $!, $^E, $?, $^S, $|
6140 =item Standard modules with VMS-specific differences
6154 =head2 perlwin32 - Perl under Win32
6166 Make, Command Shell, Borland C++, Microsoft Visual C++, Mingw32 with GCC
6176 Environment Variables, File Globbing, Using perl from the command line,
6177 Building Extensions, Command-line Wildcard Expansion, Win32 Specific
6178 Extensions, Running Perl Scripts, Miscellaneous Things
6182 =item BUGS AND CAVEATS
6192 =head1 PRAGMA DOCUMENTATION
6194 =head2 attrs - set/get attributes of a subroutine (deprecated)
6206 =head2 re - Perl pragma to alter regular expression behaviour
6216 =head2 attributes - get/set subroutine or variable attributes
6226 =item Built-in Attributes
6228 locked, method, lvalue
6230 =item Available Subroutines
6234 =item Package-specific Attribute Handling
6236 FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
6238 =item Syntax of Attribute Lists
6246 =item Default exports
6248 =item Available exports
6250 =item Export tags defined
6260 =head2 attrs - set/get attributes of a subroutine (deprecated)
6272 =head2 autouse - postpone load of modules until a function is used
6288 =head2 base - Establish IS-A relationship with base class at compile time
6302 =head2 blib - Use MakeMaker's uninstalled version of a package
6316 =head2 bytes - Perl pragma to force byte semantics rather than character
6329 =head2 charnames - define character names for C<\N{named}> string literal
6338 =item CUSTOM TRANSLATORS
6344 =head2 constant - Perl pragma to declare constants
6354 =item TECHNICAL NOTE
6364 =head2 diagnostics - Perl compiler pragma to force verbose warning
6375 =item The C<diagnostics> Pragma
6377 =item The I<splain> Program
6391 =head2 fields - compile-time class fields
6405 =head2 filetest - Perl pragma to control the filetest permission operators
6415 =item subpragma access
6421 =head2 integer - Perl pragma to compute arithmetic in integer instead of
6432 =head2 less - perl pragma to request less of something from the compiler
6442 =head2 lib - manipulate @INC at compile time
6452 =item Adding directories to @INC
6454 =item Deleting directories from @INC
6456 =item Restoring original @INC
6466 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
6477 =head2 open - perl pragma to set default disciplines for input and output
6485 =item UNIMPLEMENTED FUNCTIONALITY
6491 =head2 ops - Perl pragma to restrict unsafe operations when compiling
6503 =head2 overload - Package for overloading perl operations
6513 =item Declaration of overloaded functions
6515 =item Calling Conventions for Binary Operations
6517 FALSE, TRUE, C<undef>
6519 =item Calling Conventions for Unary Operations
6521 =item Calling Conventions for Mutators
6523 C<++> and C<-->, C<x=> and other assignment versions
6525 =item Overloadable Operations
6527 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
6528 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
6529 and numeric conversion>, I<Iteration>, I<Dereferencing>, I<Special>
6531 =item Inheritance and overloading
6533 Strings as values of C<use overload> directive, Overloading of an operation
6534 is inherited by derived classes
6538 =item SPECIAL SYMBOLS FOR C<use overload>
6546 C<undef>, TRUE, defined, but FALSE
6548 =item Copy Constructor
6554 =item MAGIC AUTOGENERATION
6556 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
6557 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
6558 I<Concatenation>, I<Comparison operations>, I<Iterator>, I<Dereferencing>,
6561 =item Losing overloading
6563 =item Run-time Overloading
6565 =item Public functions
6567 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
6569 =item Overloading constants
6571 integer, float, binary, q, qr
6573 =item IMPLEMENTATION
6575 =item Metaphor clash
6581 =item Two-face scalars
6583 =item Two-face references
6585 =item Symbolic calculator
6587 =item I<Really> symbolic calculator
6599 =head2 re - Perl pragma to alter regular expression behaviour
6609 =head2 sigtrap - Perl pragma to enable simple signal handling
6621 =item SIGNAL HANDLERS
6623 B<stack-trace>, B<die>, B<handler> I<your-handler>
6627 B<normal-signals>, B<error-signals>, B<old-interface-signals>
6631 B<untrapped>, B<any>, I<signal>, I<number>
6639 =head2 strict - Perl pragma to restrict unsafe constructs
6647 C<strict refs>, C<strict vars>, C<strict subs>
6651 =head2 subs - Perl pragma to predeclare sub names
6661 =head2 utf8 - Perl pragma to enable/disable UTF-8 in source code
6673 =head2 vars - Perl pragma to predeclare global variable names (obsolete)
6683 =head2 warnings - Perl pragma to control optional warnings
6691 use warnings::register, warnings::enabled([$category]),
6692 warnings::warn([$category,] $message)
6696 =head2 warnings::register - warnings import function
6698 =head1 MODULE DOCUMENTATION
6700 =head2 AnyDBM_File - provide framework for multiple DBMs
6710 =item DBM Comparisons
6720 =head2 AutoLoader - load subroutines only on demand
6730 =item Subroutine Stubs
6732 =item Using B<AutoLoader>'s AUTOLOAD Subroutine
6734 =item Overriding B<AutoLoader>'s AUTOLOAD Subroutine
6736 =item Package Lexicals
6738 =item B<AutoLoader> vs. B<SelfLoader>
6748 =head2 AutoSplit - split a package for autoloading
6756 $keep, $check, $modtime
6760 =item Multiple packages
6768 =head2 B - The Perl Compiler
6776 =item OVERVIEW OF CLASSES
6780 =item SV-RELATED CLASSES
6788 IV, IVX, needs64bits, packiv
6802 =item B::PVMG METHODS
6806 =item B::MAGIC METHODS
6808 MOREMAGIC, PRIVATE, TYPE, FLAGS, OBJ, PTR
6810 =item B::PVLV METHODS
6812 TARGOFF, TARGLEN, TYPE, TARG
6816 USEFUL, PREVIOUS, RARE, TABLE
6820 is_empty, NAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE,
6821 FILEGV, GvREFCNT, FLAGS
6825 LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV,
6826 BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS
6830 FILL, MAX, OFF, ARRAY, AvFLAGS
6834 STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, XSUB, XSUBANY,
6839 FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY
6841 =item OP-RELATED CLASSES
6845 next, sibling, name, ppaddr, desc, targ, type, seq, flags, private
6847 =item B::UNOP METHOD
6851 =item B::BINOP METHOD
6855 =item B::LOGOP METHOD
6859 =item B::LISTOP METHOD
6863 =item B::PMOP METHODS
6865 pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp
6867 =item B::SVOP METHOD
6871 =item B::PADOP METHOD
6875 =item B::PVOP METHOD
6879 =item B::LOOP METHODS
6881 redoop, nextop, lastop
6883 =item B::COP METHODS
6885 label, stash, file, cop_seq, arybase, line
6889 =item FUNCTIONS EXPORTED BY C<B>
6891 main_cv, init_av, main_root, main_start, comppadlist, sv_undef, sv_yes,
6892 sv_no, amagic_generation, walkoptree(OP, METHOD), walkoptree_debug(DEBUG),
6893 walksymtable(SYMREF, METHOD, RECURSE), svref_2object(SV), ppname(OPNUM),
6894 hash(STR), cast_I32(I), minus_c, cstring(STR), class(OBJ), threadsv_names
6900 =head2 B::Asmdata - Autogenerated data about Perl ops, used to generate
6913 =head2 B::Assembler - Assemble Perl bytecode
6925 =head2 B::Bblock - Walk basic blocks
6937 =head2 B::Bytecode - Perl compiler's bytecode backend
6947 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
6948 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-On>, B<-D>, B<-Do>,
6949 B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-Ppackage> Stores package in the
6960 =head2 B::C - Perl compiler's C backend
6970 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-D>, B<-Do>, B<-Dc>, B<-DA>,
6971 B<-DC>, B<-DM>, B<-f>, B<-fcog>, B<-fno-cog>, B<-On>, B<-llimit>
6981 =head2 B::CC - Perl compiler's optimized C translation backend
6991 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-mModulename>, B<-D>, B<-Dr>,
6992 B<-DO>, B<-Ds>, B<-Dp>, B<-Dq>, B<-Dl>, B<-Dt>, B<-f>,
6993 B<-ffreetmps-each-bblock>, B<-ffreetmps-each-loop>, B<-fomit-taint>, B<-On>
7005 =item Context of ".."
7009 =item Deprecated features
7017 =head2 B::Debug - Walk Perl syntax tree, printing debug info about ops
7029 =head2 B::Deparse - Perl compiler backend to produce perl code
7039 B<-l>, B<-p>, B<-q>, B<-u>I<PACKAGE>, B<-s>I<LETTERS>, B<C>, B<i>I<NUMBER>,
7040 B<T>, B<v>I<STRING>B<.>
7042 =item USING B::Deparse AS A MODULE
7062 =head2 B::Disassembler - Disassemble Perl bytecode
7074 =head2 B::Lint - Perl lint
7082 =item OPTIONS AND LINT CHECKS
7084 B<context>, B<implicit-read> and B<implicit-write>, B<dollar-underscore>,
7085 B<private-names>, B<undefined-subs>, B<regexp-variables>, B<all>, B<none>
7087 =item NON LINT-CHECK OPTIONS
7097 =head2 B::O, O - Generic interface to Perl Compiler backends
7107 =item IMPLEMENTATION
7113 =head2 B::Showlex - Show lexical variables used in functions or files
7125 =head2 B::Stackobj - Helper module for CC backend
7137 =head2 B::Stash - show what stashes are loaded
7139 =head2 B::Terse - Walk Perl syntax tree, printing terse info about ops
7151 =head2 B::Xref - Generates cross reference reports for Perl programs
7161 C<-oFILENAME>, C<-r>, C<-D[tO]>
7169 =head2 Bblock, B::Bblock - Walk basic blocks
7181 =head2 Benchmark - benchmark running times of Perl code
7195 =item Standard Exports
7197 timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ),
7198 timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr (
7199 TIMEDIFF, [ STYLE, [ FORMAT ] ] )
7201 =item Optional Exports
7203 clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUT, CODEHASHREF, [
7204 STYLE ] ), cmpthese ( RESULTSHASHREF ), countit(TIME, CODE), disablecache (
7205 ), enablecache ( ), timesum ( T1, T2 )
7221 =item MODIFICATION HISTORY
7225 =head2 ByteLoader - load byte compiled perl code
7239 =head2 Bytecode, B::Bytecode - Perl compiler's bytecode backend
7249 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
7250 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-On>, B<-D>, B<-Do>,
7251 B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-Ppackage> Stores package in the
7262 =head2 CGI - Simple Common Gateway Interface Class
7274 =item PROGRAMMING STYLE
7276 =item CALLING CGI.PM ROUTINES
7278 1. Use another name for the argument, if one is available. For example,
7279 -value is an alias for -values, 2. Change the capitalization, e.g. -Values,
7280 3. Put quotes around the argument name, e.g. '-values'
7282 =item CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE):
7284 =item CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
7286 =item FETCHING A LIST OF KEYWORDS FROM THE QUERY:
7288 =item FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:
7290 =item FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:
7292 =item SETTING THE VALUE(S) OF A NAMED PARAMETER:
7294 =item APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER:
7296 =item IMPORTING ALL PARAMETERS INTO A NAMESPACE:
7298 =item DELETING A PARAMETER COMPLETELY:
7300 =item DELETING ALL PARAMETERS:
7302 =item DIRECT ACCESS TO THE PARAMETER LIST:
7304 =item FETCHING THE PARAMETER LIST AS A HASH:
7306 =item SAVING THE STATE OF THE SCRIPT TO A FILE:
7308 =item RETRIEVING CGI ERRORS
7310 =item USING THE FUNCTION-ORIENTED INTERFACE
7312 B<:cgi>, B<:form>, B<:html2>, B<:html3>, B<:netscape>, B<:html>,
7313 B<:standard>, B<:all>
7317 -any, -compile, -nosticky, -nph, -newstyle_urls, -oldstyle_urls, -autoload,
7318 -no_debug, -debug, -private_tempfiles
7320 =item SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS
7322 1. start_table() (generates a <TABLE> tag), 2. end_table() (generates a
7323 </TABLE> tag), 3. start_ul() (generates a <UL> tag), 4. end_ul() (generates
7328 =item GENERATING DYNAMIC DOCUMENTS
7332 =item CREATING A STANDARD HTTP HEADER:
7334 =item GENERATING A REDIRECTION HEADER
7336 =item CREATING THE HTML DOCUMENT HEADER
7338 B<Parameters:>, 4, 5, 6..
7340 =item ENDING THE HTML DOCUMENT:
7342 =item CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
7344 =item OBTAINING THE SCRIPT'S URL
7346 B<-absolute>, B<-relative>, B<-full>, B<-path> (B<-path_info>), B<-query>
7349 =item MIXING POST AND URL PARAMETERS
7353 =item CREATING STANDARD HTML ELEMENTS:
7357 =item PROVIDING ARGUMENTS TO HTML SHORTCUTS
7359 =item THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS
7361 =item HTML SHORTCUTS AND LIST INTERPOLATION
7363 =item NON-STANDARD HTML SHORTCUTS
7365 =item AUTOESCAPING HTML
7367 $escaped_string = escapeHTML("unescaped string");, $charset =
7368 charset([$charset]);, $flag = autoEscape([$flag]);
7370 =item PRETTY-PRINTING HTML
7374 =item CREATING FILL-OUT FORMS:
7378 =item CREATING AN ISINDEX TAG
7380 =item STARTING AND ENDING A FORM
7382 B<application/x-www-form-urlencoded>, B<multipart/form-data>
7384 =item CREATING A TEXT FIELD
7388 =item CREATING A BIG TEXT FIELD
7390 =item CREATING A PASSWORD FIELD
7392 =item CREATING A FILE UPLOAD FIELD
7396 =item CREATING A POPUP MENU
7398 =item CREATING A SCROLLING LIST
7402 =item CREATING A GROUP OF RELATED CHECKBOXES
7406 =item CREATING A STANDALONE CHECKBOX
7410 =item CREATING A RADIO BUTTON GROUP
7414 =item CREATING A SUBMIT BUTTON
7418 =item CREATING A RESET BUTTON
7420 =item CREATING A DEFAULT BUTTON
7422 =item CREATING A HIDDEN FIELD
7426 =item CREATING A CLICKABLE IMAGE BUTTON
7428 B<Parameters:>, 3. The third option (-align, optional) is an alignment
7429 type, and may be TOP, BOTTOM or MIDDLE
7431 =item CREATING A JAVASCRIPT ACTION BUTTON
7437 1. an expiration time, 2. a domain, 3. a path, 4. a "secure" flag,
7438 B<-name>, B<-value>, B<-path>, B<-domain>, B<-expires>, B<-secure>
7440 =item WORKING WITH FRAMES
7442 1. Create a <Frameset> document, 2. Specify the destination for the
7443 document in the HTTP header, 3. Specify the destination for the document in
7446 =item LIMITED SUPPORT FOR CASCADING STYLE SHEETS
7452 =item DUMPING OUT ALL THE NAME/VALUE PAIRS
7456 =item FETCHING ENVIRONMENT VARIABLES
7458 B<Accept()>, B<raw_cookie()>, B<user_agent()>, B<path_info()>,
7459 B<path_translated()>, B<remote_host()>, B<script_name()> Return the script
7460 name as a partial URL, for self-refering scripts, B<referer()>, B<auth_type
7461 ()>, B<server_name ()>, B<virtual_host ()>, B<server_software ()>,
7462 B<remote_user ()>, B<user_name ()>, B<request_method()>, B<content_type()>,
7463 B<http()>, B<https()>
7465 =item USING NPH SCRIPTS
7467 In the B<use> statement, By calling the B<nph()> method:, By using B<-nph>
7468 parameters in the B<header()> and B<redirect()> statements:
7472 multipart_init(), multipart_start(), multipart_end()
7474 =item Avoiding Denial of Service Attacks
7476 B<$CGI::POST_MAX>, B<$CGI::DISABLE_UPLOADS>, B<1. On a script-by-script
7477 basis>, B<2. Globally for all scripts>
7479 =item COMPATIBILITY WITH CGI-LIB.PL
7481 =item AUTHOR INFORMATION
7485 Matt Heffron (heffron@falstaff.css.beckman.com), James Taylor
7486 (james.taylor@srs.gov), Scott Anguish <sanguish@digifix.com>, Mike Jewell
7487 (mlj3u@virginia.edu), Timothy Shimmin (tes@kbs.citri.edu.au), Joergen Haegg
7488 (jh@axis.se), Laurent Delfosse (delfosse@delfosse.com), Richard Resnick
7489 (applepi1@aol.com), Craig Bishop (csb@barwonwater.vic.gov.au), Tony Curtis
7490 (tc@vcpc.univie.ac.at), Tim Bunce (Tim.Bunce@ig.co.uk), Tom Christiansen
7491 (tchrist@convex.com), Andreas Koenig (k@franz.ww.TU-Berlin.DE), Tim
7492 MacKenzie (Tim.MacKenzie@fulcrum.com.au), Kevin B. Hendricks
7493 (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen (joyfire@inxpress.net), Ed
7494 Jordan (ed@fidalgo.net), David Alan Pisoni (david@cnation.com), Doug
7495 MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org),
7496 ...and many many more..
7498 =item A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT
7506 =head2 CGI::Apache - Backward compatibility module for CGI.pm
7516 =item AUTHOR INFORMATION
7524 =head2 CGI::Carp, B<CGI::Carp> - CGI routines for writing to the HTTPD (or
7533 =item REDIRECTING ERROR MESSAGES
7535 =item MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW
7539 =item Changing the default message
7551 =head2 CGI::Cookie - Interface to Netscape Cookies
7559 =item USING CGI::Cookie
7561 B<1. expiration date>, B<2. domain>, B<3. path>, B<4. secure flag>
7565 =item Creating New Cookies
7567 =item Sending the Cookie to the Browser
7569 =item Recovering Previous Cookies
7571 =item Manipulating Cookies
7573 B<name()>, B<value()>, B<domain()>, B<path()>, B<expires()>
7577 =item AUTHOR INFORMATION
7585 =head2 CGI::Fast - CGI Interface for Fast CGI
7593 =item OTHER PIECES OF THE PUZZLE
7595 =item WRITING FASTCGI PERL SCRIPTS
7597 =item INSTALLING FASTCGI SCRIPTS
7599 =item USING FASTCGI SCRIPTS AS CGI SCRIPTS
7603 =item AUTHOR INFORMATION
7611 =head2 CGI::Pretty - module to produce nicely formatted HTML code
7621 =item Tags that won't be formatted
7623 =item Customizing the Indenting
7635 =head2 CGI::Push - Simple Interface to Server Push
7643 =item USING CGI::Push
7645 -next_page, -last_page, -type, -delay, -cookie, -target, -expires
7649 =item Heterogeneous Pages
7651 =item Changing the Page Delay on the Fly
7655 =item INSTALLING CGI::Push SCRIPTS
7657 =item AUTHOR INFORMATION
7665 =head2 CGI::Switch - Backward compatibility module for defunct CGI::Switch
7675 =item AUTHOR INFORMATION
7683 =head2 CGI::Util - various utilities
7685 =head2 CPAN - query, download and build perl modules from CPAN sites
7695 =item Interactive Mode
7697 Searching for authors, bundles, distribution files and modules, make, test,
7698 install, clean modules or distributions, get, readme, look module or
7699 distribution, Signals
7707 =item The four C<CPAN::*> Classes: Author, Bundle, Module, Distribution
7709 =item ProgrammerE<39>s interface
7711 expand($type,@things), Programming Examples
7713 =item Methods in the four Classes
7721 =item Finding packages and VERSION
7725 =item Floppy, Zip, Offline Mode
7731 C<o conf E<lt>scalar optionE<gt>>, C<o conf E<lt>scalar optionE<gt>
7732 E<lt>valueE<gt>>, C<o conf E<lt>list optionE<gt>>, C<o conf E<lt>list
7733 optionE<gt> [shift|pop]>, C<o conf E<lt>list optionE<gt>
7734 [unshift|push|splice] E<lt>listE<gt>>
7738 =item Note on urllist parameter's format
7740 =item urllist parameter has CD-ROM support
7748 =item POPULATE AN INSTALLATION WITH LOTS OF MODULES
7750 =item WORKING WITH CPAN.pm BEHIND FIREWALLS
7752 http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade
7762 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
7772 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
7785 =head2 Carp, carp - warn of errors (from perspective of caller)
7795 =item Forcing a Stack Trace
7803 =head2 Carp::Heavy - Carp guts
7813 =head2 Class::Struct - declare struct-like datatypes as Perl classes
7823 =item The C<struct()> function
7825 =item Element Types and Accessor Methods
7827 Scalar (C<'$'> or C<'*$'>), Array (C<'@'> or C<'*@'>), Hash (C<'%'> or
7828 C<'*%'>), Class (C<'Class_Name'> or C<'*Class_Name'>)
7830 =item Initializing with C<new>
7836 Example 1, Example 2, Example 3
7838 =item Author and Modification History
7842 =head2 Config - access Perl configuration information
7850 myconfig(), config_sh(), config_vars(@names)
7862 C<_a>, C<_exe>, C<_o>
7866 C<afs>, C<alignbytes>, C<ansi2knr>, C<aphostname>, C<api_revision>,
7867 C<api_subversion>, C<api_version>, C<api_versionstring>, C<ar>, C<archlib>,
7868 C<archlibexp>, C<archname64>, C<archname>, C<archobjs>, C<awk>
7872 C<baserev>, C<bash>, C<bin>, C<bincompat5005>, C<binexp>, C<bison>,
7873 C<byacc>, C<byteorder>
7877 C<c>, C<castflags>, C<cat>, C<cc>, C<cccdlflags>, C<ccdlflags>, C<ccflags>,
7878 C<ccsymbols>, C<cf_by>, C<cf_email>, C<cf_time>, C<charsize>, C<chgrp>,
7879 C<chmod>, C<chown>, C<clocktype>, C<comm>, C<compress>
7883 C<CONFIGDOTSH>, C<contains>, C<cp>, C<cpio>, C<cpp>, C<cpp_stuff>,
7884 C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>, C<cpprun>,
7885 C<cppstdin>, C<cppsymbols>, C<crosscompile>, C<cryptlib>, C<csh>
7889 C<d_access>, C<d_accessx>, C<d_alarm>, C<d_archlib>, C<d_atolf>,
7890 C<d_atoll>, C<d_attribut>, C<d_bcmp>, C<d_bcopy>, C<d_bincompat5005>,
7891 C<d_bsd>, C<d_bsdgetpgrp>, C<d_bsdsetpgrp>, C<d_bzero>, C<d_casti32>,
7892 C<d_castneg>, C<d_charvspr>, C<d_chown>, C<d_chroot>, C<d_chsize>,
7893 C<d_closedir>, C<d_const>, C<d_crypt>, C<d_csh>, C<d_cuserid>,
7894 C<d_dbl_dig>, C<d_difftime>, C<d_dirnamlen>, C<d_dlerror>, C<d_dlopen>,
7895 C<d_dlsymun>, C<d_dosuid>, C<d_drand48proto>, C<d_dup2>, C<d_eaccess>,
7896 C<d_endgrent>, C<d_endhent>, C<d_endnent>, C<d_endpent>, C<d_endpwent>,
7897 C<d_endsent>, C<d_eofnblk>, C<d_eunice>, C<d_fchmod>, C<d_fchown>,
7898 C<d_fcntl>, C<d_fd_macros>, C<d_fd_set>, C<d_fds_bits>, C<d_fgetpos>,
7899 C<d_flexfnam>, C<d_flock>, C<d_fork>, C<d_fpathconf>, C<d_fpos64_t>,
7900 C<d_frexpl>, C<d_fs_data_s>, C<d_fseeko>, C<d_fsetpos>, C<d_fstatfs>,
7901 C<d_fstatvfs>, C<d_ftello>, C<d_ftime>, C<d_Gconvert>, C<d_getcwd>,
7902 C<d_getespwnam>, C<d_getfsstat>, C<d_getgrent>, C<d_getgrps>,
7903 C<d_gethbyaddr>, C<d_gethbyname>, C<d_gethent>, C<d_gethname>,
7904 C<d_gethostprotos>, C<d_getlogin>, C<d_getmnt>, C<d_getmntent>,
7905 C<d_getnbyaddr>, C<d_getnbyname>, C<d_getnent>, C<d_getnetprotos>,
7906 C<d_getpbyname>, C<d_getpbynumber>, C<d_getpent>, C<d_getpgid>,
7907 C<d_getpgrp2>, C<d_getpgrp>, C<d_getppid>, C<d_getprior>,
7908 C<d_getprotoprotos>, C<d_getprpwnam>, C<d_getpwent>, C<d_getsbyname>,
7909 C<d_getsbyport>, C<d_getsent>, C<d_getservprotos>, C<d_getspnam>,
7910 C<d_gettimeod>, C<d_gnulibc>, C<d_grpasswd>, C<d_hasmntopt>, C<d_htonl>,
7911 C<d_iconv>, C<d_index>, C<d_inetaton>, C<d_int64_t>, C<d_isascii>,
7912 C<d_isnan>, C<d_isnanl>, C<d_killpg>, C<d_lchown>, C<d_ldbl_dig>,
7913 C<d_link>, C<d_locconv>, C<d_lockf>, C<d_longdbl>, C<d_longlong>,
7914 C<d_lseekproto>, C<d_lstat>, C<d_madvise>, C<d_mblen>, C<d_mbstowcs>,
7915 C<d_mbtowc>, C<d_memchr>, C<d_memcmp>, C<d_memcpy>, C<d_memmove>,
7916 C<d_memset>, C<d_mkdir>, C<d_mkdtemp>, C<d_mkfifo>, C<d_mkstemp>,
7917 C<d_mkstemps>, C<d_mktime>, C<d_mmap>, C<d_modfl>, C<d_mprotect>, C<d_msg>,
7918 C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>, C<d_msg_peek>,
7919 C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msgrcv>, C<d_msgsnd>,
7920 C<d_msync>, C<d_munmap>, C<d_mymalloc>, C<d_nice>, C<d_nv_preserves_uv>,
7921 C<d_nv_preserves_uv_bits>, C<d_off64_t>, C<d_old_pthread_create_joinable>,
7922 C<d_oldpthreads>, C<d_oldsock>, C<d_open3>, C<d_pathconf>, C<d_pause>,
7923 C<d_perl_otherlibdirs>, C<d_phostname>, C<d_pipe>, C<d_poll>,
7924 C<d_portable>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIEldbl>, C<d_PRIfldbl>,
7925 C<d_PRIFldbl>, C<d_PRIgldbl>, C<d_PRIGldbl>, C<d_PRIi64>, C<d_PRIo64>,
7926 C<d_PRIu64>, C<d_PRIx64>, C<d_PRIX64>, C<d_pthread_yield>, C<d_pwage>,
7927 C<d_pwchange>, C<d_pwclass>, C<d_pwcomment>, C<d_pwexpire>, C<d_pwgecos>,
7928 C<d_pwpasswd>, C<d_pwquota>, C<d_qgcvt>, C<d_quad>, C<d_readdir>,
7929 C<d_readlink>, C<d_rename>, C<d_rewinddir>, C<d_rmdir>, C<d_safebcpy>,
7930 C<d_safemcpy>, C<d_sanemcmp>, C<d_sched_yield>, C<d_scm_rights>,
7931 C<d_seekdir>, C<d_select>, C<d_sem>, C<d_semctl>, C<d_semctl_semid_ds>,
7932 C<d_semctl_semun>, C<d_semget>, C<d_semop>, C<d_setegid>, C<d_seteuid>,
7933 C<d_setgrent>, C<d_setgrps>, C<d_sethent>, C<d_setlinebuf>, C<d_setlocale>,
7934 C<d_setnent>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp2>, C<d_setpgrp>,
7935 C<d_setprior>, C<d_setpwent>, C<d_setregid>, C<d_setresgid>,
7936 C<d_setresuid>, C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>,
7937 C<d_setsid>, C<d_setvbuf>, C<d_sfio>, C<d_shm>, C<d_shmat>,
7938 C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>, C<d_sigaction>,
7939 C<d_sigsetjmp>, C<d_socket>, C<d_socklen_t>, C<d_sockpair>, C<d_sqrtl>,
7940 C<d_statblks>, C<d_statfs_f_flags>, C<d_statfs_s>, C<d_statvfs>,
7941 C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>, C<d_stdio_stream_array>,
7942 C<d_stdiobase>, C<d_stdstdio>, C<d_strchr>, C<d_strcoll>, C<d_strctcpy>,
7943 C<d_strerrm>, C<d_strerror>, C<d_strtod>, C<d_strtol>, C<d_strtold>,
7944 C<d_strtoll>, C<d_strtoul>, C<d_strtoull>, C<d_strtouq>, C<d_strxfrm>,
7945 C<d_suidsafe>, C<d_symlink>, C<d_syscall>, C<d_sysconf>, C<d_sysernlst>,
7946 C<d_syserrlst>, C<d_system>, C<d_tcgetpgrp>, C<d_tcsetpgrp>, C<d_telldir>,
7947 C<d_telldirproto>, C<d_time>, C<d_times>, C<d_truncate>, C<d_tzname>,
7948 C<d_umask>, C<d_uname>, C<d_union_semun>, C<d_ustat>, C<d_vendorarch>,
7949 C<d_vendorbin>, C<d_vendorlib>, C<d_vfork>, C<d_void_closedir>,
7950 C<d_voidsig>, C<d_voidtty>, C<d_volatile>, C<d_vprintf>, C<d_wait4>,
7951 C<d_waitpid>, C<d_wcstombs>, C<d_wctomb>, C<d_xenix>, C<date>,
7952 C<db_hashtype>, C<db_prefixtype>, C<defvoidused>, C<direntrytype>,
7953 C<dlext>, C<dlsrc>, C<doublesize>, C<drand01>, C<dynamic_ext>
7957 C<eagain>, C<ebcdic>, C<echo>, C<egrep>, C<emacs>, C<eunicefix>,
7958 C<exe_ext>, C<expr>, C<extensions>
7962 C<fflushall>, C<fflushNULL>, C<find>, C<firstmakefile>, C<flex>,
7963 C<fpossize>, C<fpostype>, C<freetype>, C<full_ar>, C<full_csh>, C<full_sed>
7967 C<gccversion>, C<gidformat>, C<gidsign>, C<gidsize>, C<gidtype>,
7968 C<glibpth>, C<grep>, C<groupcat>, C<groupstype>, C<gzip>
7972 C<h_fcntl>, C<h_sysfile>, C<hint>, C<hostcat>, C<huge>
7976 C<i16size>, C<i16type>, C<i32size>, C<i32type>, C<i64size>, C<i64type>,
7977 C<i8size>, C<i8type>, C<i_arpainet>, C<i_bsdioctl>, C<i_db>, C<i_dbm>,
7978 C<i_dirent>, C<i_dld>, C<i_dlfcn>, C<i_fcntl>, C<i_float>, C<i_gdbm>,
7979 C<i_grp>, C<i_iconv>, C<i_ieeefp>, C<i_inttypes>, C<i_limits>, C<i_locale>,
7980 C<i_machcthr>, C<i_malloc>, C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>,
7981 C<i_netdb>, C<i_neterrno>, C<i_netinettcp>, C<i_niin>, C<i_poll>,
7982 C<i_prot>, C<i_pthread>, C<i_pwd>, C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>,
7983 C<i_shadow>, C<i_socks>, C<i_stdarg>, C<i_stddef>, C<i_stdlib>,
7984 C<i_string>, C<i_sunmath>, C<i_sysaccess>, C<i_sysdir>, C<i_sysfile>,
7985 C<i_sysfilio>, C<i_sysin>, C<i_sysioctl>, C<i_syslog>, C<i_sysmman>,
7986 C<i_sysmode>, C<i_sysmount>, C<i_sysndir>, C<i_sysparam>, C<i_sysresrc>,
7987 C<i_syssecrt>, C<i_sysselct>, C<i_syssockio>, C<i_sysstat>, C<i_sysstatfs>,
7988 C<i_sysstatvfs>, C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>,
7989 C<i_sysuio>, C<i_sysun>, C<i_sysutsname>, C<i_sysvfs>, C<i_syswait>,
7990 C<i_termio>, C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>,
7991 C<i_values>, C<i_varargs>, C<i_varhdr>, C<i_vfork>,
7992 C<ignore_versioned_solibs>, C<inc_version_list>, C<inc_version_list_init>,
7993 C<incpath>, C<inews>, C<installarchlib>, C<installbin>, C<installman1dir>,
7994 C<installman3dir>, C<installprefix>, C<installprefixexp>,
7995 C<installprivlib>, C<installscript>, C<installsitearch>, C<installsitebin>,
7996 C<installsitelib>, C<installstyle>, C<installusrbinperl>,
7997 C<installvendorarch>, C<installvendorbin>, C<installvendorlib>, C<intsize>,
7998 C<ivdformat>, C<ivsize>, C<ivtype>
8002 C<known_extensions>, C<ksh>
8006 C<large>, C<ld>, C<lddlflags>, C<ldflags>, C<ldlibpthname>, C<less>,
8007 C<lib_ext>, C<libc>, C<libperl>, C<libpth>, C<libs>, C<libsdirs>,
8008 C<libsfiles>, C<libsfound>, C<libspath>, C<libswanted>, C<line>, C<lint>,
8009 C<lkflags>, C<ln>, C<lns>, C<locincpth>, C<loclibpth>, C<longdblsize>,
8010 C<longlongsize>, C<longsize>, C<lp>, C<lpr>, C<ls>, C<lseeksize>,
8015 C<mail>, C<mailx>, C<make>, C<make_set_make>, C<mallocobj>, C<mallocsrc>,
8016 C<malloctype>, C<man1dir>, C<man1direxp>, C<man1ext>, C<man3dir>,
8017 C<man3direxp>, C<man3ext>
8021 C<Mcc>, C<medium>, C<mips_type>, C<mkdir>, C<mmaptype>, C<models>,
8022 C<modetype>, C<more>, C<multiarch>, C<mv>, C<myarchname>, C<mydomain>,
8023 C<myhostname>, C<myuname>
8027 C<n>, C<netdb_hlen_type>, C<netdb_host_type>, C<netdb_name_type>,
8028 C<netdb_net_type>, C<nm>, C<nm_opt>, C<nm_so_opt>, C<nonxs_ext>, C<nroff>,
8029 C<nvsize>, C<nvtype>
8033 C<o_nonblock>, C<obj_ext>, C<old_pthread_create_joinable>, C<optimize>,
8034 C<orderlib>, C<osname>, C<osvers>, C<otherlibdirs>
8038 C<package>, C<pager>, C<passcat>, C<patchlevel>, C<path_sep>, C<perl5>,
8043 C<PERL_REVISION>, C<PERL_SUBVERSION>, C<PERL_VERSION>, C<perladmin>,
8044 C<perlpath>, C<pg>, C<phostname>, C<pidtype>, C<plibpth>, C<pm_apiversion>,
8045 C<pmake>, C<pr>, C<prefix>, C<prefixexp>, C<privlib>, C<privlibexp>,
8046 C<prototype>, C<ptrsize>
8050 C<quadkind>, C<quadtype>
8054 C<randbits>, C<randfunc>, C<randseedtype>, C<ranlib>, C<rd_nodata>,
8055 C<revision>, C<rm>, C<rmail>, C<runnm>
8059 C<sched_yield>, C<scriptdir>, C<scriptdirexp>, C<sed>, C<seedfunc>,
8060 C<selectminbits>, C<selecttype>, C<sendmail>, C<sh>, C<shar>, C<sharpbang>,
8061 C<shmattype>, C<shortsize>, C<shrpenv>, C<shsharp>, C<sig_count>,
8062 C<sig_name>, C<sig_name_init>, C<sig_num>, C<sig_num_init>, C<signal_t>,
8063 C<sitearch>, C<sitearchexp>, C<sitebin>, C<sitebinexp>, C<sitelib>,
8064 C<sitelib_stem>, C<sitelibexp>, C<siteprefix>, C<siteprefixexp>,
8065 C<sizesize>, C<sizetype>, C<sleep>, C<smail>, C<small>, C<so>,
8066 C<sockethdr>, C<socketlib>, C<socksizetype>, C<sort>, C<spackage>,
8067 C<spitshell>, C<split>, C<sPRId64>, C<sPRIeldbl>, C<sPRIEldbl>,
8068 C<sPRIfldbl>, C<sPRIFldbl>, C<sPRIgldbl>, C<sPRIGldbl>, C<sPRIi64>,
8069 C<sPRIo64>, C<sPRIu64>, C<sPRIx64>, C<sPRIX64>, C<src>, C<ssizetype>,
8070 C<startperl>, C<startsh>, C<static_ext>, C<stdchar>, C<stdio_base>,
8071 C<stdio_bufsiz>, C<stdio_cnt>, C<stdio_filbuf>, C<stdio_ptr>,
8072 C<stdio_stream_array>, C<strings>, C<submit>, C<subversion>, C<sysman>
8076 C<tail>, C<tar>, C<tbl>, C<tee>, C<test>, C<timeincl>, C<timetype>,
8077 C<touch>, C<tr>, C<trnl>, C<troff>
8081 C<u16size>, C<u16type>, C<u32size>, C<u32type>, C<u64size>, C<u64type>,
8082 C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
8083 C<uname>, C<uniq>, C<uquadtype>, C<use5005threads>, C<use64bitall>,
8084 C<use64bitint>, C<usedl>, C<useithreads>, C<uselargefiles>,
8085 C<uselongdouble>, C<usemorebits>, C<usemultiplicity>, C<usemymalloc>,
8086 C<usenm>, C<useopcode>, C<useperlio>, C<useposix>, C<usesfio>,
8087 C<useshrplib>, C<usesocks>, C<usethreads>, C<usevendorprefix>, C<usevfork>,
8088 C<usrinc>, C<uuname>, C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>,
8093 C<vendorarch>, C<vendorarchexp>, C<vendorbin>, C<vendorbinexp>,
8094 C<vendorlib>, C<vendorlib_stem>, C<vendorlibexp>, C<vendorprefix>,
8095 C<vendorprefixexp>, C<version>, C<vi>, C<voidflags>
8099 C<xlibpth>, C<xs_apiversion>
8111 =head2 Cwd, getcwd - get pathname of current working directory
8121 =head2 DB - programmatic interface to the Perl debugging API (draft,
8133 =item Global Variables
8135 $DB::sub, %DB::sub, $DB::single, $DB::signal, $DB::trace, @DB::args,
8136 @DB::dbline, %DB::dbline, $DB::package, $DB::filename, $DB::subname,
8141 CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'),
8142 CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()
8144 =item Client Callback Methods
8146 CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(),
8147 CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(),
8148 CLIENT->output(LIST)
8158 =head2 DB_File - Perl5 access to Berkeley DB version 1.x
8166 B<DB_HASH>, B<DB_BTREE>, B<DB_RECNO>
8170 =item Using DB_File with Berkeley DB version 2 or 3
8172 =item Interface to Berkeley DB
8174 =item Opening a Berkeley DB Database File
8176 =item Default Parameters
8178 =item In Memory Databases
8186 =item A Simple Example
8194 =item Changing the BTREE sort order
8196 =item Handling Duplicate Keys
8198 =item The get_dup() Method
8200 =item The find_dup() Method
8202 =item The del_dup() Method
8204 =item Matching Partial Keys
8212 =item The 'bval' Option
8214 =item A Simple Example
8216 =item Extra RECNO Methods
8218 B<$X-E<gt>push(list) ;>, B<$value = $X-E<gt>pop ;>, B<$X-E<gt>shift>,
8219 B<$X-E<gt>unshift(list) ;>, B<$X-E<gt>length>
8221 =item Another Example
8225 =item THE API INTERFACE
8227 B<$status = $X-E<gt>get($key, $value [, $flags]) ;>, B<$status =
8228 $X-E<gt>put($key, $value [, $flags]) ;>, B<$status = $X-E<gt>del($key [,
8229 $flags]) ;>, B<$status = $X-E<gt>fd ;>, B<$status = $X-E<gt>seq($key,
8230 $value, $flags) ;>, B<$status = $X-E<gt>sync([$flags]) ;>
8234 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
8235 B<filter_fetch_value>
8241 =item An Example -- the NULL termination problem.
8243 =item Another Example -- Key is a C int.
8247 =item HINTS AND TIPS
8251 =item Locking: The Trouble with fd
8253 =item Safe ways to lock a database
8255 B<Tie::DB_Lock>, B<Tie::DB_LockFile>, B<DB_File::Lock>
8257 =item Sharing Databases With C Applications
8259 =item The untie() Gotcha
8263 =item COMMON QUESTIONS
8267 =item Why is there Perl source in my database?
8269 =item How do I store complex data structures with DB_File?
8271 =item What does "Invalid Argument" mean?
8273 =item What does "Bareword 'DB_File' not allowed" mean?
8293 =head2 Data::Dumper - stringified perl data structures, suitable for both
8294 printing and C<eval>
8306 I<PACKAGE>->new(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Dump I<or>
8307 I<PACKAGE>->Dump(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Seen(I<[HASHREF]>),
8308 I<$OBJ>->Values(I<[ARRAYREF]>), I<$OBJ>->Names(I<[ARRAYREF]>),
8315 =item Configuration Variables or Methods
8317 $Data::Dumper::Indent I<or> I<$OBJ>->Indent(I<[NEWVAL]>),
8318 $Data::Dumper::Purity I<or> I<$OBJ>->Purity(I<[NEWVAL]>),
8319 $Data::Dumper::Pad I<or> I<$OBJ>->Pad(I<[NEWVAL]>),
8320 $Data::Dumper::Varname I<or> I<$OBJ>->Varname(I<[NEWVAL]>),
8321 $Data::Dumper::Useqq I<or> I<$OBJ>->Useqq(I<[NEWVAL]>),
8322 $Data::Dumper::Terse I<or> I<$OBJ>->Terse(I<[NEWVAL]>),
8323 $Data::Dumper::Freezer I<or> $I<OBJ>->Freezer(I<[NEWVAL]>),
8324 $Data::Dumper::Toaster I<or> $I<OBJ>->Toaster(I<[NEWVAL]>),
8325 $Data::Dumper::Deepcopy I<or> $I<OBJ>->Deepcopy(I<[NEWVAL]>),
8326 $Data::Dumper::Quotekeys I<or> $I<OBJ>->Quotekeys(I<[NEWVAL]>),
8327 $Data::Dumper::Bless I<or> $I<OBJ>->Bless(I<[NEWVAL]>),
8328 $Data::Dumper::Maxdepth I<or> $I<OBJ>->Maxdepth(I<[NEWVAL]>)
8348 =head2 Devel::DProf - a Perl code profiler
8356 =item PROFILE FORMAT
8368 =head2 Devel::Peek - A data debugging tool for the XS programmer
8380 =item A simple scalar string
8382 =item A simple scalar number
8384 =item A simple scalar with an extra reference
8386 =item A reference to a simple scalar
8388 =item A reference to an array
8390 =item A reference to a hash
8392 =item Dumping a large array or hash
8394 =item A reference to an SV which holds a C pointer
8396 =item A reference to a subroutine
8410 =head2 Devel::SelfStubber - generate stubs for a SelfLoading module
8420 =head2 DirHandle - supply object methods for directory handles
8430 =head2 Dumpvalue - provides screen dump of Perl data.
8442 C<arrayDepth>, C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>,
8443 C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<tick>, C<HighBit>,
8444 C<printUndef>, C<UsageOnly>, unctrl, subdump, bareStringify, quoteHighBit,
8449 dumpValue, dumpValues, dumpvars, set_quote, set_unctrl, compactDump,
8450 veryCompact, set, get
8456 =head2 DynaLoader - Dynamically load C libraries into Perl code
8464 @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
8465 @dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
8466 dl_load_file(), dl_unload_file(), dl_loadflags(), dl_find_symbol(),
8467 dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
8474 =head2 DynaLoader::XSLoader, XSLoader - Dynamically load C libraries into
8487 =head2 English - use nice English (or awk) names for ugly punctuation
8500 =head2 Env - perl module that imports environment variables as scalars or
8515 =head2 Errno - System errno constants
8531 =head2 Exporter - Implements default import method for modules
8543 =item Selecting What To Export
8545 =item Specialised Import Lists
8547 =item Constants can be inlined
8549 =item Exporting without using Export's import method
8551 =item Module Version Checking
8553 =item Managing Unknown Symbols
8555 =item Tag Handling Utility Functions
8561 =head2 Exporter::Heavy - Exporter guts
8571 =head2 ExtUtils::Command - utilities to replace common UNIX commands in
8592 mv source... destination
8594 cp source... destination
8612 =head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
8624 xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
8625 ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
8635 =head2 ExtUtils::Install - install files from here to there
8645 =head2 ExtUtils::Installed - Inventory management of installed modules
8657 new(), modules(), files(), directories(), directory_tree(), validate(),
8658 packlist(), version()
8666 =head2 ExtUtils::Liblist - determine libraries to use and how to use them
8674 For static extensions, For dynamic extensions, For dynamic extensions
8680 =item LDLOADLIBS and LD_RUN_PATH
8690 =item VMS implementation
8692 =item Win32 implementation
8700 =head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
8709 canonpath, cflags, manifypods, perl_archive
8713 =head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
8724 =head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
8736 =item Preloaded methods
8756 =item SelfLoaded methods
8802 file_name_is_absolute
8808 =item Methods to actually produce chunks of text for the Makefile
8848 maybe_command_in_dirs
8886 replace_manpage_separator
8900 test_via_harness (o)
8930 =head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
8941 =item Methods always loaded
8953 =item SelfLoaded methods
8955 guess_name (override)
8959 find_perl (override)
8963 maybe_command (override)
8965 maybe_command_in_dirs (override)
8967 perl_script (override)
8969 file_name_is_absolute (override)
8971 replace_manpage_separator
8973 init_others (override)
8975 constants (override)
8979 const_cccmd (override)
8981 pm_to_blib (override)
8983 tool_autosplit (override)
8985 tool_sxubpp (override)
8987 xsubpp_version (override)
8989 tools_other (override)
8999 top_targets (override)
9003 dynamic_lib (override)
9005 dynamic_bs (override)
9007 static_lib (override)
9009 manifypods (override)
9011 processPL (override)
9013 installbin (override)
9019 realclean (override)
9021 dist_basics (override)
9023 dist_core (override)
9027 dist_test (override)
9031 perldepend (override)
9037 test_via_harness (override)
9039 test_via_script (override)
9041 makeaperl (override)
9045 =head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
9072 test_via_harness (o)
9074 tool_autosplit (override)
9092 =head2 ExtUtils::MakeMaker - create an extension Makefile
9102 =item How To Write A Makefile.PL
9104 =item Default Makefile Behaviour
9112 =item PREFIX and LIB attribute
9116 =item Static Linking of a new Perl Binary
9118 =item Determination of Perl Library and Installation Locations
9120 =item Which architecture dependent directory?
9122 =item Using Attributes and Parameters
9124 AUTHOR, ABSTRACT, ABSTRACT_FROM, BINARY_LOCATION, C, CAPI, CCFLAGS, CONFIG,
9125 CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS, EXCLUDE_EXT,
9126 EXE_FILES, FIRST_MAKEFILE, FULLPERL, FUNCLIST, H, HTMLLIBPODS,
9127 HTMLSCRIPTPODS, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN,
9128 INSTALLDIRS, INSTALLHTMLPRIVLIBDIR, INSTALLHTMLSCRIPTDIR,
9129 INSTALLHTMLSITELIBDIR, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB,
9130 INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITELIB, INST_ARCHLIB, INST_BIN,
9131 INST_EXE, INST_LIB, INST_HTMLLIBDIR, INST_HTMLSCRIPTDIR, INST_MAN1DIR,
9132 INST_MAN3DIR, INST_SCRIPT, PERL_MALLOC_OK, LDFROM, LIB, LIBPERL_A, LIBS,
9133 LINKTYPE, MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB,
9134 NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_VC, OBJECT, OPTIMIZE, PERL,
9135 PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_SRC, PERM_RW, PERM_RWX, PL_FILES,
9136 PM, PMLIBDIRS, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PREFIX,
9137 PREREQ_PM, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG,
9140 =item Additional lowercase attributes
9142 clean, depend, dist, dynamic_lib, linkext, macro, realclean, test,
9145 =item Overriding MakeMaker Methods
9147 =item Hintsfile support
9149 =item Distribution Support
9151 make distcheck, make skipcheck, make distclean, make manifest,
9152 make distdir, make tardist, make dist, make uutardist, make
9153 shdist, make zipdist, make ci
9155 =item Disabling an extension
9169 =head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
9181 =item GLOBAL VARIABLES
9185 C<Not in MANIFEST:> I<file>, C<No such file:> I<file>, C<MANIFEST:> I<$!>,
9186 C<Added to MANIFEST:> I<file>
9194 =head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
9206 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
9216 =head2 ExtUtils::Mksymlists - write linker options files for dynamic
9225 DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME
9233 =head2 ExtUtils::Packlist - manage .packlist files
9245 new(), read(), write(), validate(), packlist_file()
9253 =head2 ExtUtils::testlib - add blib/* directories to @INC
9263 =head2 Fatal - replace functions with equivalents which succeed or die
9275 =head2 Fcntl - load the C Fcntl.h defines
9285 =item EXPORTED SYMBOLS
9289 =head2 File::Basename, fileparse - split a pathname into pieces
9297 fileparse_set_fstype, fileparse
9301 C<basename>, C<dirname>
9305 =head2 File::CheckTree, validate - run many filetest checks on a tree
9315 =head2 File::Compare - Compare files or filehandles
9329 =head2 File::Copy - Copy files or filehandles
9339 =item Special behaviour if C<syscopy> is defined (OS/2, VMS and Win32)
9341 rmscopy($from,$to[,$date_flag])
9351 =head2 File::DosGlob - DOS like globbing and then some
9359 =item EXPORTS (by request only)
9371 =head2 File::Find, find - traverse a file tree
9379 C<wanted>, C<bydepth>, C<follow>, C<follow_fast>, C<follow_skip>,
9380 C<no_chdir>, C<untaint>, C<untaint_pattern>, C<untaint_skip>
9386 =head2 File::Glob - Perl extension for BSD glob routine
9394 C<GLOB_ERR>, C<GLOB_MARK>, C<GLOB_NOCASE>, C<GLOB_NOCHECK>, C<GLOB_NOSORT>,
9395 C<GLOB_BRACE>, C<GLOB_NOMAGIC>, C<GLOB_QUOTE>, C<GLOB_TILDE>, C<GLOB_CSH>
9399 C<GLOB_NOSPACE>, C<GLOB_ABEND>
9407 =head2 File::Path - create or remove directory trees
9419 =head2 File::Spec - portably perform operations on file names
9433 =head2 File::Spec::Functions - portably perform operations on file names
9451 =head2 File::Spec::Mac - File::Spec for MacOS
9479 file_name_is_absolute
9499 =head2 File::Spec::OS2 - methods for OS/2 file specs
9509 =head2 File::Spec::Unix - methods used by File::Spec
9541 file_name_is_absolute
9563 =head2 File::Spec::VMS - methods for VMS file specs
9579 =item Methods always loaded
9581 canonpath (override)
9599 case_tolerant (override)
9603 file_name_is_absolute (override)
9605 splitpath (override)
9621 =head2 File::Spec::Win32 - methods for Win32 file specs
9651 =head2 File::Temp - return name and handle of a temporary file safely
9673 =item MKTEMP FUNCTIONS
9687 =item POSIX FUNCTIONS
9697 =item ADDITIONAL FUNCTIONS
9705 =item UTILITY FUNCTIONS
9713 =item PACKAGE VARIABLES
9715 B<safe_level>, STANDARD, MEDIUM, HIGH
9733 =head2 File::stat - by-name interface to Perl's built-in stat() functions
9747 =head2 FileCache - keep more files open than the system permits
9759 =head2 FileHandle - supply object methods for filehandles
9767 $fh->print, $fh->printf, $fh->getline, $fh->getlines
9773 =head2 FindBin - Locate directory of original perl script
9781 =item EXPORTABLE VARIABLES
9791 =head2 GDBM_File - Perl5 access to the gdbm library.
9807 =head2 Getopt::Long - Extended processing of command line options
9815 =item Command Line Options, an Introduction
9817 =item Getting Started with Getopt::Long
9821 =item Simple options
9823 =item A little bit less simple options
9825 =item Mixing command line option with other arguments
9827 =item Options with values
9829 =item Options with multiple values
9831 =item Options with hash values
9833 =item User-defined subroutines to handle options
9835 =item Options with multiple names
9837 =item Case and abbreviations
9839 =item Summary of Option Specifications
9841 !, +, s, i, f, : I<type> [ I<desttype> ]
9845 =item Advanced Possibilities
9849 =item Documentation and help texts
9851 =item Storing options in a hash
9855 =item The lonesome dash
9857 =item Argument call-back
9861 =item Configuring Getopt::Long
9863 default, auto_abbrev, getopt_compat, require_order, permute, bundling
9864 (default: reset), bundling_override (default: reset), ignore_case
9865 (default: set), ignore_case_always (default: reset), pass_through (default:
9866 reset), prefix, prefix_pattern, debug (default: reset)
9868 =item Return values and Errors
9874 =item Default destinations
9876 =item Alternative option starters
9878 =item Configuration variables
9884 =item COPYRIGHT AND DISCLAIMER
9888 =head2 Getopt::Std, getopt - Process single-character switches with switch
9899 =head2 I18N::Collate - compare 8-bit scalar data according to the current
9910 =head2 IO - load various IO modules
9920 =head2 IO::Dir - supply object methods for directory handles
9928 new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (),
9929 rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ]
9939 =head2 IO::File - supply object methods for filehandles
9949 new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile
9953 open( FILENAME [,MODE [,PERMS]] )
9961 =head2 IO::Handle - supply object methods for I/O handles
9971 new (), new_from_fd ( FD, MODE )
9975 $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines,
9976 $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error,
9977 $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ),
9978 $io->blocking ( [ BOOL ] ), $io->untaint
9990 =head2 IO::Pipe - supply object methods for pipes
10000 new ( [READER, WRITER] )
10004 reader ([ARGS]), writer ([ARGS]), handles ()
10014 =head2 IO::Poll - Object interface to system poll call
10024 mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove (
10025 IO ), handles( [ EVENT_MASK ] )
10035 =head2 IO::Seekable - supply seek based methods for I/O objects
10049 =head2 IO::Select - OO interface to the select system call
10059 new ( [ HANDLES ] )
10063 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
10064 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ),
10065 count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
10075 =head2 IO::Socket - Object interface to socket communications
10089 accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), timeout([VAL]),
10090 sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected
10100 =head2 IO::Socket::INET - Object interface for AF_INET domain sockets
10116 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
10129 =head2 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
10143 hostpath(), peerpath()
10153 =head2 IO::lib::IO::Dir, IO::Dir - supply object methods for directory
10162 new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (),
10163 rewind (), close (), tie %hash, IO::Dir, DIRNAME [, OPTIONS ]
10173 =head2 IO::lib::IO::File, IO::File - supply object methods for filehandles
10183 new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile
10187 open( FILENAME [,MODE [,PERMS]] )
10195 =head2 IO::lib::IO::Handle, IO::Handle - supply object methods for I/O
10206 new (), new_from_fd ( FD, MODE )
10210 $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines,
10211 $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error,
10212 $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ),
10213 $io->blocking ( [ BOOL ] ), $io->untaint
10225 =head2 IO::lib::IO::Pipe, IO::Pipe - supply object methods for pipes
10235 new ( [READER, WRITER] )
10239 reader ([ARGS]), writer ([ARGS]), handles ()
10249 =head2 IO::lib::IO::Poll, IO::Poll - Object interface to system poll call
10259 mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove (
10260 IO ), handles( [ EVENT_MASK ] )
10270 =head2 IO::lib::IO::Seekable, IO::Seekable - supply seek based methods for
10285 =head2 IO::lib::IO::Select, IO::Select - OO interface to the select system
10296 new ( [ HANDLES ] )
10300 add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
10301 [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ),
10302 count (), bits(), select ( READ, WRITE, ERROR [, TIMEOUT ] )
10312 =head2 IO::lib::IO::Socket, IO::Socket - Object interface to socket
10327 accept([PKG]), socketpair(DOMAIN, TYPE, PROTOCOL), timeout([VAL]),
10328 sockopt(OPT [, VAL]), sockdomain, socktype, protocol, connected
10338 =head2 IO::lib::IO::Socket::INET, IO::Socket::INET - Object interface for
10339 AF_INET domain sockets
10355 sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
10368 =head2 IO::lib::IO::Socket::UNIX, IO::Socket::UNIX - Object interface for
10369 AF_UNIX domain sockets
10383 hostpath(), peerpath()
10393 =head2 IPC::Msg - SysV Msg IPC object class
10403 new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set
10404 ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [,
10415 =head2 IPC::Open2, open2 - open a process for both reading and writing
10429 =head2 IPC::Open3, open3 - open a process for reading, writing, and error
10442 =head2 IPC::Semaphore - SysV Semaphore IPC object class
10452 new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ),
10453 getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ),
10454 set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N
10465 =head2 IPC::SysV - SysV IPC constants
10483 =head2 IPC::SysV::Msg, IPC::Msg - SysV Msg IPC object class
10493 new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set
10494 ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [,
10505 =head2 IPC::SysV::Semaphore, IPC::Semaphore - SysV Semaphore IPC object
10516 new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ),
10517 getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ),
10518 set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N
10529 =head2 Math::BigFloat - Arbitrary length float math package
10537 number format, Error returns 'NaN', Division is computed to, Rounding is
10546 =head2 Math::BigInt - Arbitrary size integer math package
10554 Canonical notation, Input, Output
10558 =item Autocreating constants
10566 =head2 Math::Complex - complex numbers and associated mathematical
10579 =item STRINGIFICATION
10583 =item CHANGED IN PERL 5.6
10589 =item ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO
10591 =item ERRORS DUE TO INDIGESTIBLE ARGUMENTS
10599 =head2 Math::Trig - trigonometric functions
10607 =item TRIGONOMETRIC FUNCTIONS
10613 =item ERRORS DUE TO DIVISION BY ZERO
10615 =item SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS
10619 =item PLANE ANGLE CONVERSIONS
10621 =item RADIAL COORDINATE CONVERSIONS
10625 =item COORDINATE SYSTEMS
10627 =item 3-D ANGLE CONVERSIONS
10629 cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian,
10630 cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical
10634 =item GREAT CIRCLE DISTANCES
10644 =head2 NDBM_File - Tied access to ndbm files
10654 =head2 Net::Ping - check a remote host for reachability
10666 Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
10667 $timeout]);, $p->close();, pingecho($host [, $timeout]);
10677 =head2 Net::hostent - by-name interface to Perl's built-in gethost*()
10694 =head2 Net::netent - by-name interface to Perl's built-in getnet*()
10711 =head2 Net::protoent - by-name interface to Perl's built-in getproto*()
10726 =head2 Net::servent - by-name interface to Perl's built-in getserv*()
10743 =head2 O - Generic interface to Perl Compiler backends
10753 =item IMPLEMENTATION
10759 =head2 ODBM_File - Tied access to odbm files
10769 =head2 Opcode - Disable named opcodes when compiling perl code
10781 =item Operator Names and Operator Lists
10783 an operator name (opname), an operator tag name (optag), a negated opname
10784 or optag, an operator set (opset)
10786 =item Opcode Functions
10788 opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
10789 full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...),
10790 define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...),
10793 =item Manipulating Opsets
10795 =item TO DO (maybe)
10801 =item Predefined Opcode Tags
10803 :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
10804 :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open,
10805 :filesys_write, :subprocess, :ownprocess, :others, :still_to_be_decided,
10814 =head2 Opcode::Safe, Safe - Compile and execute code in restricted
10823 a new namespace, an operator mask
10829 =item RECENT CHANGES
10831 =item Methods in class Safe
10833 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
10834 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
10835 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
10836 root (NAMESPACE), mask (MASK)
10838 =item Some Safety Issues
10840 Memory, CPU, Snooping, Signals, State Changes
10848 =head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
10861 =head2 POSIX - Perl interface to IEEE Std 1003.1
10875 _exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2,
10876 atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown,
10877 clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime,
10878 cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv,
10879 execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror,
10880 fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf,
10881 fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos,
10882 fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid,
10883 getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid,
10884 getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty,
10885 iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
10886 isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10,
10887 longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy,
10888 memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open,
10889 opendir, pathconf, pause, perror, pipe, pow, printf, putc, putchar, puts,
10890 qsort, raise, rand, read, readdir, realloc, remove, rename, rewind,
10891 rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
10892 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
10893 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
10894 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
10895 strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, strtod,
10896 strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh, tcdrain,
10897 tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times, tmpfile,
10898 tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname, ungetc,
10899 unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid, wcstombs,
10906 =item POSIX::SigAction
10910 =item POSIX::SigSet
10912 new, addset, delset, emptyset, fillset, ismember
10914 =item POSIX::Termios
10916 new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag,
10917 getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag,
10918 setoflag, setospeed, Baud rate values, Terminal interface values, c_cc
10919 field values, c_cflag field values, c_iflag field values, c_lflag field
10920 values, c_oflag field values
10924 =item PATHNAME CONSTANTS
10928 =item POSIX CONSTANTS
10932 =item SYSTEM CONFIGURATION
10990 =head2 Pod::Checker, podchecker() - check pod documents for syntax errors
10996 =item OPTIONS/ARGUMENTS
11002 B<-warnings> =E<gt> I<val>
11014 empty =headn, =over on line I<N> without closing =back, =item without
11015 previous =over, =back without previous =over, No argument for =begin, =end
11016 without =begin, Nested =begin's, =for without formatter specification,
11017 unresolved internal link I<NAME>, Unknown command "I<CMD>", Unknown
11018 interior-sequence "I<SEQ>", nested commands
11019 I<CMD>E<lt>...I<CMD>E<lt>...E<gt>...E<gt>, garbled entity I<STRING>, Entity
11020 number out of range, malformed link LE<lt>E<gt>, nonempty ZE<lt>E<gt>,
11021 empty XE<lt>E<gt>, Spurious text after =pod / =cut, Spurious character(s)
11026 multiple occurence of link target I<name>, line containing nothing but
11027 whitespace in paragraph, file does not start with =head, No numeric
11028 argument for =over, previous =item has no contents, preceding non-item
11029 paragraph(s), =item type mismatch (I<one> vs. I<two>), I<N> unescaped
11030 C<E<lt>E<gt>> in paragraph, Unknown entity, No items in =over, No argument
11031 for =item, empty section in previous paragraph, Verbatim paragraph in NAME
11032 section, Hyperlinks
11044 C<$checker-E<gt>poderror( @args )>, C<$checker-E<gt>poderror( {%opts},
11047 C<$checker-E<gt>num_errors()>
11049 C<$checker-E<gt>name()>
11051 C<$checker-E<gt>node()>
11053 C<$checker-E<gt>idx()>
11055 C<$checker-E<gt>hyperlink()>
11063 =head2 Pod::Find - find POD documents in directory trees
11073 B<-verbose>, B<-perl>, B<-script>, B<-inc>
11081 =head2 Pod::Html - module to convert pod files to HTML
11091 backlink, css, flush, header, help, htmldir, htmlroot, index, infile,
11092 libpods, netscape, outfile, podpath, podroot, quiet, recurse, title,
11107 =head2 Pod::InputObjects - objects representing POD input paragraphs,
11120 B<Pod::InputSource>, B<Pod::Paragraph>, B<Pod::InteriorSequence>,
11127 =item B<Pod::InputSource>
11151 =item B<was_cutting()>
11157 =item B<Pod::Paragraph>
11169 =item B<cmd_name()>
11181 =item B<raw_text()>
11187 =item B<cmd_prefix()>
11193 =item B<cmd_separator()>
11199 =item B<parse_tree()>
11205 =item B<file_line()>
11211 =item B<Pod::InteriorSequence>
11223 =item B<cmd_name()>
11247 =item B<raw_text()>
11253 =item B<left_delimiter()>
11259 =item B<right_delimiter()>
11265 =item B<parse_tree()>
11271 =item B<file_line()>
11283 =item B<Pod::ParseTree>
11301 =item B<children()>
11319 =item B<raw_text()>
11337 =head2 Pod::LaTeX - Convert Pod data to formatted Latex
11349 =item OBJECT METHODS
11357 =item Data Accessors
11373 B<ReplaceNAMEwithSection>
11375 B<StartWithNewPage>
11389 =item Subclassed methods
11403 B<interior_sequence>
11419 =item Methods for headings
11427 =item Internal methods
11433 B<_replace_special_chars>
11439 B<_clean_latex_commands>
11455 =head2 Pod::Man - Convert POD data to formatted *roff input
11463 center, date, fixed, fixedbold, fixeditalic, fixedbolditalic, release,
11468 roff font should be 1 or 2 chars, not `%s', Invalid link %s, Unknown escape
11469 EE<lt>%sE<gt>, Unknown sequence %s, Unmatched =back
11479 =head2 Pod::ParseUtils - helpers for POD parsing and conversion
11515 =item Pod::Hyperlink
11555 =item Pod::Cache::Item
11583 =head2 Pod::Parser - base class for creating POD filters and translators
11595 =item QUICK OVERVIEW
11597 =item PARSING OPTIONS
11599 B<-want_nonPODs> (default: unset), B<-process_cut_cmd> (default: unset),
11600 B<-warnings> (default: unset)
11606 =item RECOMMENDED SUBROUTINE/METHOD OVERRIDES
11614 C<$cmd>, C<$text>, C<$line_num>, C<$pod_para>
11620 =item B<verbatim()>
11622 C<$text>, C<$line_num>, C<$pod_para>
11628 =item B<textblock()>
11630 C<$text>, C<$line_num>, C<$pod_para>
11636 =item B<interior_sequence()>
11642 =item OPTIONAL SUBROUTINE/METHOD OVERRIDES
11654 =item B<initialize()>
11660 =item B<begin_pod()>
11666 =item B<begin_input()>
11672 =item B<end_input()>
11684 =item B<preprocess_line()>
11690 =item B<preprocess_paragraph()>
11696 =item METHODS FOR PARSING AND PROCESSING
11702 =item B<parse_text()>
11704 B<-expand_seq> =E<gt> I<code-ref>|I<method-name>, B<-expand_text> =E<gt>
11705 I<code-ref>|I<method-name>, B<-expand_ptree> =E<gt>
11706 I<code-ref>|I<method-name>
11712 =item B<interpolate()>
11718 =item B<parse_paragraph()>
11724 =item B<parse_from_filehandle()>
11730 =item B<parse_from_file()>
11736 =item ACCESSOR METHODS
11742 =item B<errorsub()>
11754 =item B<parseopts()>
11760 =item B<output_file()>
11766 =item B<output_handle()>
11772 =item B<input_file()>
11778 =item B<input_handle()>
11784 =item B<input_streams()>
11790 =item B<top_stream()>
11796 =item PRIVATE METHODS AND DATA
11802 =item B<_push_input_stream()>
11808 =item B<_pop_input_stream()>
11814 =item TREE-BASED PARSING
11822 =head2 Pod::Plainer - Perl extension for converting Pod to old style Pod.
11842 =head2 Pod::Select, podselect() - extract selected sections of POD from
11855 =item SECTION SPECIFICATIONS
11857 =item RANGE SPECIFICATIONS
11863 =item OBJECT METHODS
11869 =item B<curr_headings()>
11881 =item B<add_selection()>
11887 =item B<clear_selections()>
11893 =item B<match_section()>
11899 =item B<is_selected()>
11905 =item EXPORTED FUNCTIONS
11911 =item B<podselect()>
11913 B<-output>, B<-sections>, B<-ranges>
11919 =item PRIVATE METHODS AND DATA
11925 =item B<_compile_section_spec()>
11931 =item $self->{_SECTION_HEADINGS}
11937 =item $self->{_SELECTED_SECTIONS}
11949 =head2 Pod::Text - Convert POD data to formatted ASCII text
11957 alt, indent, loose, sentence, width
11961 Bizarre space in item, Can't open %s for reading: %s, Unknown escape: %s,
11962 Unknown sequence: %s, Unmatched =back
11974 =head2 Pod::Text::Color - Convert POD data to formatted color ASCII text
11990 =head2 Pod::Text::Termcap, Pod::Text::Color - Convert POD data to ASCII
11991 text with format escapes
12005 =head2 Pod::Usage, pod2usage() - print a usage message from embedded pod
12014 C<-message>, C<-msg>, C<-exitval>, C<-verbose>, C<-output>, C<-input>,
12023 =item Recommended Use
12031 =item ACKNOWLEDGEMENTS
12035 =head2 SDBM_File - Tied access to sdbm files
12045 =head2 Safe - Compile and execute code in restricted compartments
12053 a new namespace, an operator mask
12059 =item RECENT CHANGES
12061 =item Methods in class Safe
12063 permit (OP, ...), permit_only (OP, ...), deny (OP, ...), deny_only (OP,
12064 ...), trap (OP, ...), untrap (OP, ...), share (NAME, ...), share_from
12065 (PACKAGE, ARRAYREF), varglob (VARNAME), reval (STRING), rdo (FILENAME),
12066 root (NAMESPACE), mask (MASK)
12068 =item Some Safety Issues
12070 Memory, CPU, Snooping, Signals, State Changes
12078 =head2 Search::Dict, look - search for key in dictionary file
12088 =head2 SelectSaver - save and restore selected file handle
12098 =head2 SelfLoader - load functions only on demand
12108 =item The __DATA__ token
12110 =item SelfLoader autoloading
12112 =item Autoloading and package lexicals
12114 =item SelfLoader and AutoLoader
12116 =item __DATA__, __END__, and the FOOBAR::DATA filehandle.
12118 =item Classes and inherited methods.
12122 =item Multiple packages and fully qualified subroutine names
12126 =head2 Shell - run shell commands transparently within perl
12138 =head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C
12139 socket.h defines and structure manipulators
12147 inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
12148 INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
12149 SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
12150 SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
12151 pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
12155 =head2 Symbol - manipulate Perl symbols and their names
12165 =head2 Sys::Hostname - Try every conceivable way to get hostname
12177 =head2 Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
12178 interface to the UNIX syslog(3) calls
12186 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
12187 setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02),
12198 =head2 Syslog::Syslog, Sys::Syslog, openlog, closelog, setlogmask, syslog -
12199 Perl interface to the UNIX syslog(3) calls
12207 openlog $ident, $logopt, $facility, syslog $priority, $format, @args,
12208 setlogmask $mask_priority, setlogsock $sock_type (added in 5.004_02),
12219 =head2 Term::ANSIColor - Color screen output using ANSI escape sequences
12229 Invalid attribute name %s, Identifier %s used only once: possible typo, No
12230 comma allowed after filehandle, Bareword %s not allowed while "strict subs"
12239 =head2 Term::Cap - Perl termcap interface
12251 =head2 Term::Complete - Perl word completion module
12259 E<lt>tabE<gt>, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
12269 =head2 Term::ReadLine - Perl interface to various C<readline> packages. If
12270 no real package is found, substitutes stubs instead of basic functions.
12278 =item Minimal set of supported functions
12280 C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, $C<OUT>,
12281 C<MinLine>, C<findConsole>, Attribs, C<Features>
12283 =item Additional supported functions
12285 C<tkRunning>, C<ornaments>, C<newTTY>
12293 =head2 Test - provides a simple framework for writing test scripts
12303 NORMAL TESTS, SKIPPED TESTS, TODO TESTS
12315 =head2 Test::Harness - run perl standard test scripts with statistics
12325 =item The test script output
12333 C<All tests successful.\nFiles=%d, Tests=%d, %s>, C<FAILED tests
12334 %s\n\tFailed %d/%d tests, %.2f%% okay.>, C<Test returned status %d (wstat
12335 %d)>, C<Failed 1 test, %.2f%% okay. %s>, C<Failed %d/%d tests, %.2f%% okay.
12348 =head2 Text::Abbrev, abbrev - create an abbreviation table from a list
12360 =head2 Text::ParseWords - parse text into an array of tokens or array of
12371 0 a simple word, 1 multiple spaces are skipped because of our $delim, 2 use
12372 of quotes to include a space in a word, 3 use of a backslash to include a
12373 space in a word, 4 use of a backslash to remove the special meaning of a
12374 double-quote, 5 another simple word (note the lack of effect of the
12375 backslashed double-quote)
12381 =head2 Text::Soundex - Implementation of the Soundex Algorithm as Described
12398 =head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
12413 =head2 Text::Wrap - line wrapping to form simple paragraphs
12427 =head2 Thread - manipulate threads in Perl (EXPERIMENTAL, subject to
12438 new \&start_sub, new \&start_sub, LIST, lock VARIABLE, async BLOCK;,
12439 Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE,
12440 cond_broadcast VARIABLE, yield
12444 join, eval, detach, equal, tid
12452 =head2 Thread::Queue - thread-safe queues
12460 =item FUNCTIONS AND METHODS
12462 new, enqueue LIST, dequeue, dequeue_nb, pending
12468 =head2 Thread::Semaphore - thread-safe semaphores
12476 =item FUNCTIONS AND METHODS
12478 new, new NUMBER, down, down NUMBER, up, up NUMBER
12482 =head2 Thread::Signal - Start a thread which runs signal handlers reliably
12494 =head2 Thread::Specific - thread-specific keys
12504 =head2 Tie::Array - base class for tied arrays
12512 TIEARRAY classname, LIST, STORE this, index, value, FETCH this, index,
12513 FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
12514 key, DELETE this, key, CLEAR this, DESTROY this, PUSH this, LIST, POP this,
12515 SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST
12523 =head2 Tie::Handle, Tie::StdHandle - base class definitions for tied
12532 TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this,
12533 LIST, PRINTF this, format, LIST, READ this, scalar, length, offset,
12534 READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this,
12535 EOF this, TELL this, SEEK this, offset, whence, DESTROY this
12537 =item MORE INFORMATION
12541 =head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes
12549 TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY
12550 this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
12554 =item MORE INFORMATION
12558 =head2 Tie::RefHash - use references as hash keys
12576 =head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
12585 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
12587 =item MORE INFORMATION
12591 =head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
12603 =head2 Time::Local - efficiently compute time from local and GMT time
12611 =item IMPLEMENTATION
12617 =head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
12632 =head2 Time::localtime - by-name interface to Perl's built-in localtime()
12647 =head2 Time::tm - internal object used by Time::gmtime and Time::localtime
12659 =head2 UNIVERSAL - base class for ALL classes (blessed references)
12667 isa ( TYPE ), can ( METHOD ), VERSION ( [ REQUIRE ] ), UNIVERSAL::isa (
12668 VAL, TYPE ), UNIVERSAL::can ( VAL, METHOD )
12672 =head2 User::grent - by-name interface to Perl's built-in getgr*()
12687 =head2 User::pwent - by-name interface to Perl's built-in getpw*()
12698 =item System Specifics
12712 =head2 Win32 - Interfaces to some Win32 API Functions
12720 =item Alphabetical Listing of Win32 Functions
12722 Win32::AbortSystemShutdown(MACHINE), Win32::BuildNumber(),
12723 Win32::CopyFile(FROM, TO, OVERWRITE), Win32::DomainName(),
12724 Win32::ExpandEnvironmentStrings(STRING), Win32::FormatMessage(ERRORCODE),
12725 Win32::FsType(), Win32::FreeLibrary(HANDLE), Win32::GetArchName(),
12726 Win32::GetChipName(), Win32::GetCwd(), Win32::GetFullPathName(FILENAME),
12727 Win32::GetLastError(), Win32::GetLongPathName(PATHNAME),
12728 Win32::GetNextAvailDrive(), Win32::GetOSVersion(),
12729 Win32::GetShortPathName(PATHNAME), Win32::GetProcAddress(INSTANCE,
12730 PROCNAME), Win32::GetTickCount(), Win32::InitiateSystemShutdown(MACHINE,
12731 MESSAGE, TIMEOUT, FORCECLOSE, REBOOT), Win32::IsWinNT(), Win32::IsWin95(),
12732 Win32::LoadLibrary(LIBNAME), Win32::LoginName(),
12733 Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID, SIDTYPE),
12734 Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE),
12735 Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]]), Win32::NodeName(),
12736 Win32::RegisterServer(LIBRARYNAME), Win32::SetCwd(NEWDIRECTORY),
12737 Win32::SetLastError(ERROR), Win32::Sleep(TIME), Win32::Spawn(COMMAND, ARGS,
12738 PID), Win32::UnregisterServer(LIBRARYNAME)
12744 =head2 XSLoader - Dynamically load C libraries into Perl code
12756 =head1 AUXILIARY DOCUMENTATION
12758 Here should be listed all the extra programs' documentation, but they
12759 don't all have manual pages yet:
12785 Larry Wall <F<larry@wall.org>>, with the help of oodles