This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
various pod nits identified by installhtml (all fixed except
[perl5.git] / pod / perltoc.pod
1
2 =head1 NAME
3
4 perltoc - perl documentation table of contents
5
6 =head1 DESCRIPTION
7
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.
11
12 =head1 BASIC DOCUMENTATION
13
14 =head2 perl - Practical Extraction and Report Language
15
16 =over
17
18 =item SYNOPSIS
19
20 =item DESCRIPTION
21
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
31
32 =item AVAILABILITY
33
34 =item ENVIRONMENT
35
36 =item AUTHOR
37
38 =item FILES
39
40 =item SEE ALSO
41
42 =item DIAGNOSTICS
43
44 =item BUGS
45
46 =item NOTES
47
48 =back
49
50 =head2 perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
51 20:38:02 $)
52
53 =over
54
55 =item DESCRIPTION
56
57 perlfaq: Structural overview of the FAQ, L<perlfaq1>: General Questions
58 About Perl, What is Perl?, Who supports Perl?  Who develops it?  Why is it
59 free?, Which version of Perl should I use?, What are perl4 and perl5?, What
60 is perl6?, How stable is Perl?, Is Perl difficult to learn?, How does Perl
61 compare with other languages like Java, Python, REXX, Scheme, or Tcl?, Can
62 I do [task] in Perl?, When shouldn't I program in Perl?, What's the
63 difference between "perl" and "Perl"?, Is it a Perl program or a Perl
64 script?, What is a JAPH?, Where can I get a list of Larry Wall witticisms?,
65 How can I convince my sysadmin/supervisor/employees to use version
66 (5/5.005/Perl instead of some other language)?, L<perlfaq2>: Obtaining and
67 Learning about Perl, What machines support Perl?  Where do I get it?, How
68 can I get a binary version of Perl?, I don't have a C compiler on my
69 system.  How can I compile perl?, I copied the Perl binary from one machine
70 to another, but scripts don't work, I grabbed the sources and tried to
71 compile but gdbm/dynamic loading/malloc/linking/... failed.  How do I make
72 it work?, What modules and extensions are available for Perl?  What is
73 CPAN?  What does CPAN/src/... mean?, Is there an ISO or ANSI certified
74 version of Perl?, Where can I get information on Perl?, What are the Perl
75 newsgroups on USENET?  Where do I post questions?, Where should I post
76 source code?, Perl Books, Perl in Magazines, Perl on the Net: FTP and WWW
77 Access, What mailing lists are there for perl?, Archives of
78 comp.lang.perl.misc, Where can I buy a commercial version of Perl?, Where
79 do I send bug reports?, What is perl.com?, L<perlfaq3>: Programming Tools,
80 How do I do (anything)?, How can I use Perl interactively?, Is there a Perl
81 shell?, How do I debug my Perl programs?, How do I profile my Perl
82 programs?, How do I cross-reference my Perl programs?, Is there a
83 pretty-printer (formatter) for Perl?, Is there a ctags for Perl?, Is there
84 an IDE or Windows Perl Editor?, Where can I get Perl macros for vi?, Where
85 can I get perl-mode for emacs?, How can I use curses with Perl?, How can I
86 use X or Tk with Perl?, How can I generate simple menus without using CGI
87 or Tk?, What is undump?, How can I make my Perl program run faster?, How
88 can I make my Perl program take less memory?, Is it unsafe to return a
89 pointer to local data?, How can I free an array or hash so my program
90 shrinks?, How can I make my CGI script more efficient?, How can I hide the
91 source for my Perl program?, How can I compile my Perl program into byte
92 code or C?, How can I compile Perl into Java?, How can I get C<#!perl> to
93 work on [MS-DOS,NT,...]?, Can I write useful perl programs on the command
94 line?, Why don't perl one-liners work on my DOS/Mac/VMS system?, Where can
95 I learn about CGI or Web programming in Perl?, Where can I learn about
96 object-oriented Perl programming?, Where can I learn about linking C with
97 Perl? [h2xs, xsubpp], I've read perlembed, perlguts, etc., but I can't
98 embed perl inmy C program, what am I doing wrong?, When I tried to run my
99 script, I got this message. What does itmean?, What's MakeMaker?,
100 L<perlfaq4>: Data Manipulation, Why am I getting long decimals (eg,
101 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?,
102 Why isn't my octal data interpreted correctly?, Does Perl have a round()
103 function?  What about ceil() and floor()?  Trig functions?, How do I
104 convert bits into ints?, Why doesn't & work the way I want it to?, How do I
105 multiply matrices?, How do I perform an operation on a series of integers?,
106 How can I output Roman numerals?, Why aren't my random numbers random?, How
107 do I find the week-of-the-year/day-of-the-year?, How do I find the current
108 century or millennium?, How can I compare two dates and find the
109 difference?, How can I take a string and turn it into epoch seconds?, How
110 can I find the Julian Day?, How do I find yesterday's date?, Does Perl have
111 a year 2000 problem?  Is Perl Y2K compliant?, How do I validate input?, How
112 do I unescape a string?, How do I remove consecutive pairs of characters?,
113 How do I expand function calls in a string?, How do I find matching/nesting
114 anything?, How do I reverse a string?, How do I expand tabs in a string?,
115 How do I reformat a paragraph?, How can I access/change the first N letters
116 of a string?, How do I change the Nth occurrence of something?, How can I
117 count the number of occurrences of a substring within a string?, How do I
118 capitalize all the words on one line?, How can I split a [character]
119 delimited string except when inside[character]? (Comma-separated files),
120 How do I strip blank space from the beginning/end of a string?, How do I
121 pad a string with blanks or pad a number with zeroes?, How do I extract
122 selected columns from a string?, How do I find the soundex value of a
123 string?, How can I expand variables in text strings?, What's wrong with
124 always quoting "$vars"?, Why don't my E<lt>E<lt>HERE documents work?, What
125 is the difference between a list and an array?, What is the difference
126 between $array[1] and @array[1]?, How can I remove duplicate elements from
127 a list or array?, How can I tell whether a list or array contains a certain
128 element?, How do I compute the difference of two arrays?  How do I compute
129 the intersection of two arrays?, How do I test whether two arrays or hashes
130 are equal?, How do I find the first array element for which a condition is
131 true?, How do I handle linked lists?, How do I handle circular lists?, How
132 do I shuffle an array randomly?, How do I process/modify each element of an
133 array?, How do I select a random element from an array?, How do I permute N
134 elements of a list?, How do I sort an array by (anything)?, How do I
135 manipulate arrays of bits?, Why does defined() return true on empty arrays
136 and hashes?, How do I process an entire hash?, What happens if I add or
137 remove keys from a hash while iterating over it?, How do I look up a hash
138 element by value?, How can I know how many entries are in a hash?, How do I
139 sort a hash (optionally by value instead of key)?, How can I always keep my
140 hash sorted?, What's the difference between "delete" and "undef" with
141 hashes?, Why don't my tied hashes make the defined/exists distinction?, How
142 do I reset an each() operation part-way through?, How can I get the unique
143 keys from two hashes?, How can I store a multidimensional array in a DBM
144 file?, How can I make my hash remember the order I put elements into it?,
145 Why does passing a subroutine an undefined element in a hash create it?,
146 How can I make the Perl equivalent of a C structure/C++ class/hash or array
147 of hashes or arrays?, How can I use a reference as a hash key?, How do I
148 handle binary data correctly?, How do I determine whether a scalar is a
149 number/whole/integer/float?, How do I keep persistent data across program
150 calls?, How do I print out or copy a recursive data structure?, How do I
151 define methods for every class/object?, How do I verify a credit card
152 checksum?, How do I pack arrays of doubles or floats for XS code?,
153 L<perlfaq5>: Files and Formats, How do I flush/unbuffer an output
154 filehandle?  Why must I do this?, How do I change one line in a file/delete
155 a line in a file/insert a line in the middle of a file/append to the
156 beginning of a file?, How do I count the number of lines in a file?, How do
157 I make a temporary file name?, How can I manipulate fixed-record-length
158 files?, How can I make a filehandle local to a subroutine?  How do I pass
159 filehandles between subroutines?  How do I make an array of filehandles?,
160 How can I use a filehandle indirectly?, How can I set up a footer format to
161 be used with write()?, How can I write() into a string?, How can I output
162 my numbers with commas added?, How can I translate tildes (~) in a
163 filename?, How come when I open a file read-write it wipes it out?, Why do
164 I sometimes get an "Argument list too long" when I use E<lt>*E<gt>?, Is
165 there a leak/bug in glob()?, How can I open a file with a leading "E<gt>"
166 or trailing blanks?, How can I reliably rename a file?, How can I lock a
167 file?, Why can't I just open(FH, ">file.lock")?, I still don't get locking.
168  I just want to increment the number in the file.  How can I do this?, How
169 do I randomly update a binary file?, How do I get a file's timestamp in
170 perl?, How do I set a file's timestamp in perl?, How do I print to more
171 than one file at once?, How can I read in an entire file all at once?, How
172 can I read in a file by paragraphs?, How can I read a single character from
173 a file?  From the keyboard?, How can I tell whether there's a character
174 waiting on a filehandle?, How do I do a C<tail -f> in perl?, How do I dup()
175 a filehandle in Perl?, How do I close a file descriptor by number?, Why
176 can't I use "C:\temp\foo" in DOS paths?  What doesn't `C:\temp\foo.exe`
177 work?, Why doesn't glob("*.*") get all the files?, Why does Perl let me
178 delete read-only files?  Why does C<-i> clobber protected files?  Isn't
179 this a bug in Perl?, How do I select a random line from a file?, Why do I
180 get weird spaces when I print an array of lines?, L<perlfaq6>: Regexps, How
181 can I hope to use regular expressions without creating illegible and
182 unmaintainable code?, I'm having trouble matching over more than one line. 
183 What's wrong?, How can I pull out lines between two patterns that are
184 themselves on different lines?, I put a regular expression into $/ but it
185 didn't work. What's wrong?, How do I substitute case insensitively on the
186 LHS, but preserving case on the RHS?, How can I make C<\w> match national
187 character sets?, How can I match a locale-smart version of C</[a-zA-Z]/>?,
188 How can I quote a variable to use in a regex?, What is C</o> really for?,
189 How do I use a regular expression to strip C style comments from a file?,
190 Can I use Perl regular expressions to match balanced text?, What does it
191 mean that regexes are greedy?  How can I get around it?, How do I process
192 each word on each line?, How can I print out a word-frequency or
193 line-frequency summary?, How can I do approximate matching?, How do I
194 efficiently match many regular expressions at once?, Why don't
195 word-boundary searches with C<\b> work for me?, Why does using $&, $`, or
196 $' slow my program down?, What good is C<\G> in a regular expression?, Are
197 Perl regexes DFAs or NFAs?  Are they POSIX compliant?, What's wrong with
198 using grep or map in a void context?, How can I match strings with
199 multibyte characters?, How do I match a pattern that is supplied by the
200 user?, L<perlfaq7>: General Perl Language Issues, Can I get a BNF/yacc/RE
201 for the Perl language?, What are all these $@%&* punctuation signs, and how
202 do I know when to use them?, Do I always/never have to quote my strings or
203 use semicolons and commas?, How do I skip some return values?, How do I
204 temporarily block warnings?, What's an extension?, Why do Perl operators
205 have different precedence than C operators?, How do I declare/create a
206 structure?, How do I create a module?, How do I create a class?, How can I
207 tell if a variable is tainted?, What's a closure?, What is variable suicide
208 and how can I prevent it?, How can I pass/return a {Function, FileHandle,
209 Array, Hash, Method, Regex}?, How do I create a static variable?, What's
210 the difference between dynamic and lexical (static) scoping?  Between
211 local() and my()?, How can I access a dynamic variable while a similarly
212 named lexical is in scope?, What's the difference between deep and shallow
213 binding?, Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?, How do I
214 redefine a builtin function, operator, or method?, What's the difference
215 between calling a function as &foo and foo()?, How do I create a switch or
216 case statement?, How can I catch accesses to undefined
217 variables/functions/methods?, Why can't a method included in this same file
218 be found?, How can I find out my current package?, How can I comment out a
219 large block of perl code?, How do I clear a package?, How can I use a
220 variable as a variable name?, L<perlfaq8>: System Interaction, How do I
221 find out which operating system I'm running under?, How come exec() doesn't
222 return?, How do I do fancy stuff with the keyboard/screen/mouse?, How do I
223 print something out in color?, How do I read just one key without waiting
224 for a return key?, How do I check whether input is ready on the keyboard?,
225 How do I clear the screen?, How do I get the screen size?, How do I ask the
226 user for a password?, How do I read and write the serial port?, How do I
227 decode encrypted password files?, How do I start a process in the
228 background?, How do I trap control characters/signals?, How do I modify the
229 shadow password file on a Unix system?, How do I set the time and date?,
230 How can I sleep() or alarm() for under a second?, How can I measure time
231 under a second?, How can I do an atexit() or setjmp()/longjmp()? (Exception
232 handling), Why doesn't my sockets program work under System V (Solaris)?
233 What does the error message "Protocol not supported" mean?, How can I call
234 my system's unique C functions from Perl?, Where do I get the include files
235 to do ioctl() or syscall()?, Why do setuid perl scripts complain about
236 kernel problems?, How can I open a pipe both to and from a command?, Why
237 can't I get the output of a command with system()?, How can I capture
238 STDERR from an external command?, Why doesn't open() return an error when a
239 pipe open fails?, What's wrong with using backticks in a void context?, How
240 can I call backticks without shell processing?, Why can't my script read
241 from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?, How can I
242 convert my shell script to perl?, Can I use perl to run a telnet or ftp
243 session?, How can I write expect in Perl?, Is there a way to hide perl's
244 command line from programs such as "ps"?, I {changed directory, modified my
245 environment} in a perl script.  How come the change disappeared when I
246 exited the script?  How do I get my changes to be visible?, How do I close
247 a process's filehandle without waiting for it to complete?, How do I fork a
248 daemon process?, How do I make my program run with sh and csh?, How do I
249 find out if I'm running interactively or not?, How do I timeout a slow
250 event?, How do I set CPU limits?, How do I avoid zombies on a Unix system?,
251 How do I use an SQL database?, How do I make a system() exit on control-C?,
252 How do I open a file without blocking?, How do I install a module from
253 CPAN?, What's the difference between require and use?, How do I keep my own
254 module/library directory?, How do I add the directory my program lives in
255 to the module/library search path?, How do I add a directory to my include
256 path at runtime?, What is socket.ph and where do I get it?, L<perlfaq9>:
257 Networking, My CGI script runs from the command line but not the browser.  
258 (500 Server Error), How can I get better error messages from a CGI
259 program?, How do I remove HTML from a string?, How do I extract URLs?, How
260 do I download a file from the user's machine?  How do I open a file on
261 another machine?, How do I make a pop-up menu in HTML?, How do I fetch an
262 HTML file?, How do I automate an HTML form submission?, How do I decode or
263 create those %-encodings on the web?, How do I redirect to another page?,
264 How do I put a password on my web pages?, How do I edit my .htpasswd and
265 .htgroup files with Perl?, How do I make sure users can't enter values into
266 a form that cause my CGI script to do bad things?, How do I parse a mail
267 header?, How do I decode a CGI form?, How do I check a valid mail address?,
268 How do I decode a MIME/BASE64 string?, How do I return the user's mail
269 address?, How do I send mail?, How do I read mail?, How do I find out my
270 hostname/domainname/IP address?, How do I fetch a news article or the
271 active newsgroups?, How do I fetch/put an FTP file?, How can I do RPC in
272 Perl?
273
274 =over
275
276 =item Where to get this document
277
278 =item How to contribute to this document
279
280 =item What will happen if you mail your Perl programming problems to the
281 authors
282
283 =back
284
285 =item Credits
286
287 =item Author and Copyright Information
288
289 =over
290
291 =item Bundled Distributions
292
293 =item Disclaimer
294
295 =back
296
297 =item Changes
298
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
301
302 =back
303
304 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date:
305 1999/05/23 16:08:30 $)
306
307 =over
308
309 =item DESCRIPTION
310
311 =over
312
313 =item What is Perl?
314
315 =item Who supports Perl?  Who develops it?  Why is it free?
316
317 =item Which version of Perl should I use?
318
319 =item What are perl4 and perl5?
320
321 =item What is perl6?
322
323 =item How stable is Perl?
324
325 =item Is Perl difficult to learn?
326
327 =item How does Perl compare with other languages like Java, Python, REXX,
328 Scheme, or Tcl?
329
330 =item Can I do [task] in Perl?
331
332 =item When shouldn't I program in Perl?
333
334 =item What's the difference between "perl" and "Perl"?
335
336 =item Is it a Perl program or a Perl script?
337
338 =item What is a JAPH?
339
340 =item Where can I get a list of Larry Wall witticisms?
341
342 =item How can I convince my sysadmin/supervisor/employees to use version
343 (5/5.005/Perl instead of some other language)?
344
345 =back
346
347 =item AUTHOR AND COPYRIGHT
348
349 =back
350
351 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $,
352 $Date: 1999/10/14 18:46:09 $)
353
354 =over
355
356 =item DESCRIPTION
357
358 =over
359
360 =item What machines support Perl?  Where do I get it?
361
362 =item How can I get a binary version of Perl?
363
364 =item I don't have a C compiler on my system.  How can I compile perl?
365
366 =item I copied the Perl binary from one machine to another, but scripts
367 don't work.
368
369 =item I grabbed the sources and tried to compile but gdbm/dynamic
370 loading/malloc/linking/... failed.  How do I make it work?
371
372 =item What modules and extensions are available for Perl?  What is CPAN? 
373 What does CPAN/src/... mean?
374
375 =item Is there an ISO or ANSI certified version of Perl?
376
377 =item Where can I get information on Perl?
378
379 =item What are the Perl newsgroups on Usenet?  Where do I post questions?
380
381 =item Where should I post source code?
382
383 =item Perl Books
384
385 References, Tutorials           
386     *Learning Perl [2nd edition]
387         by Randal L. Schwartz and Tom Christiansen
388             with foreword by Larry Wall, Task-Oriented, Special Topics
389
390 =item Perl in Magazines
391
392 =item Perl on the Net: FTP and WWW Access
393
394 =item What mailing lists are there for Perl?
395
396 =item Archives of comp.lang.perl.misc
397
398 =item Where can I buy a commercial version of Perl?
399
400 =item Where do I send bug reports?
401
402 =item What is perl.com? Perl Mongers? pm.org? perl.org?
403
404 =back
405
406 =item AUTHOR AND COPYRIGHT
407
408 =back
409
410 =head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23
411 16:08:30 $)
412
413 =over
414
415 =item DESCRIPTION
416
417 =over
418
419 =item How do I do (anything)?
420
421 =item How can I use Perl interactively?
422
423 =item Is there a Perl shell?
424
425 =item How do I debug my Perl programs?
426
427 =item How do I profile my Perl programs?
428
429 =item How do I cross-reference my Perl programs?
430
431 =item Is there a pretty-printer (formatter) for Perl?
432
433 =item Is there a ctags for Perl?
434
435 =item Is there an IDE or Windows Perl Editor?
436
437 =item Where can I get Perl macros for vi?
438
439 =item Where can I get perl-mode for emacs?
440
441 =item How can I use curses with Perl?
442
443 =item How can I use X or Tk with Perl?
444
445 =item How can I generate simple menus without using CGI or Tk?
446
447 =item What is undump?
448
449 =item How can I make my Perl program run faster?
450
451 =item How can I make my Perl program take less memory?
452
453 =item Is it unsafe to return a pointer to local data?
454
455 =item How can I free an array or hash so my program shrinks?
456
457 =item How can I make my CGI script more efficient?
458
459 =item How can I hide the source for my Perl program?
460
461 =item How can I compile my Perl program into byte code or C?
462
463 =item How can I compile Perl into Java?
464
465 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
466
467 =item Can I write useful Perl programs on the command line?
468
469 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
470
471 =item Where can I learn about CGI or Web programming in Perl?
472
473 =item Where can I learn about object-oriented Perl programming?
474
475 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
476
477 =item I've read perlembed, perlguts, etc., but I can't embed perl in
478 my C program, what am I doing wrong?
479
480 =item When I tried to run my script, I got this message. What does it
481 mean?
482
483 =item What's MakeMaker?
484
485 =back
486
487 =item AUTHOR AND COPYRIGHT
488
489 =back
490
491 =head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23
492 20:37:49 $)
493
494 =over
495
496 =item DESCRIPTION
497
498 =item Data: Numbers
499
500 =over
501
502 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
503 numbers I should be getting (eg, 19.95)?
504
505 =item Why isn't my octal data interpreted correctly?
506
507 =item Does Perl have a round() function?  What about ceil() and floor()? 
508 Trig functions?
509
510 =item How do I convert bits into ints?
511
512 =item Why doesn't & work the way I want it to?
513
514 =item How do I multiply matrices?
515
516 =item How do I perform an operation on a series of integers?
517
518 =item How can I output Roman numerals?
519
520 =item Why aren't my random numbers random?
521
522 =back
523
524 =item Data: Dates
525
526 =over
527
528 =item How do I find the week-of-the-year/day-of-the-year?
529
530 =item How do I find the current century or millennium?
531
532 =item How can I compare two dates and find the difference?
533
534 =item How can I take a string and turn it into epoch seconds?
535
536 =item How can I find the Julian Day?
537
538 =item How do I find yesterday's date?
539
540 =item Does Perl have a Year 2000 problem?  Is Perl Y2K compliant?
541
542 =back
543
544 =item Data: Strings
545
546 =over
547
548 =item How do I validate input?
549
550 =item How do I unescape a string?
551
552 =item How do I remove consecutive pairs of characters?
553
554 =item How do I expand function calls in a string?
555
556 =item How do I find matching/nesting anything?
557
558 =item How do I reverse a string?
559
560 =item How do I expand tabs in a string?
561
562 =item How do I reformat a paragraph?
563
564 =item How can I access/change the first N letters of a string?
565
566 =item How do I change the Nth occurrence of something?
567
568 =item How can I count the number of occurrences of a substring within a
569 string?
570
571 =item How do I capitalize all the words on one line?
572
573 =item How can I split a [character] delimited string except when inside
574 [character]? (Comma-separated files)
575
576 =item How do I strip blank space from the beginning/end of a string?
577
578 =item How do I pad a string with blanks or pad a number with zeroes?
579
580 =item How do I extract selected columns from a string?
581
582 =item How do I find the soundex value of a string?
583
584 =item How can I expand variables in text strings?
585
586 =item What's wrong with always quoting "$vars"?
587
588 =item Why don't my E<lt>E<lt>HERE documents work?
589
590 1. There must be no space after the << part, 2. There (probably) should be
591 a semicolon at the end, 3. You can't (easily) have any space in front of
592 the tag
593
594 =back
595
596 =item Data: Arrays
597
598 =over
599
600 =item What is the difference between a list and an array?
601
602 =item What is the difference between $array[1] and @array[1]?
603
604 =item How can I remove duplicate elements from a list or array?
605
606 a) If @in is sorted, and you want @out to be sorted:(this assumes all true
607 values in the array), b) If you don't know whether @in is sorted:, c) Like
608 (b), but @in contains only small integers:, d) A way to do (b) without any
609 loops or greps:, e) Like (d), but @in contains only small positive
610 integers:
611
612 =item How can I tell whether a list or array contains a certain element?
613
614 =item How do I compute the difference of two arrays?  How do I compute the
615 intersection of two arrays?
616
617 =item How do I test whether two arrays or hashes are equal?
618
619 =item How do I find the first array element for which a condition is true?
620
621 =item How do I handle linked lists?
622
623 =item How do I handle circular lists?
624
625 =item How do I shuffle an array randomly?
626
627 =item How do I process/modify each element of an array?
628
629 =item How do I select a random element from an array?
630
631 =item How do I permute N elements of a list?
632
633 =item How do I sort an array by (anything)?
634
635 =item How do I manipulate arrays of bits?
636
637 =item Why does defined() return true on empty arrays and hashes?
638
639 =back
640
641 =item Data: Hashes (Associative Arrays)
642
643 =over
644
645 =item How do I process an entire hash?
646
647 =item What happens if I add or remove keys from a hash while iterating over
648 it?
649
650 =item How do I look up a hash element by value?
651
652 =item How can I know how many entries are in a hash?
653
654 =item How do I sort a hash (optionally by value instead of key)?
655
656 =item How can I always keep my hash sorted?
657
658 =item What's the difference between "delete" and "undef" with hashes?
659
660 =item Why don't my tied hashes make the defined/exists distinction?
661
662 =item How do I reset an each() operation part-way through?
663
664 =item How can I get the unique keys from two hashes?
665
666 =item How can I store a multidimensional array in a DBM file?
667
668 =item How can I make my hash remember the order I put elements into it?
669
670 =item Why does passing a subroutine an undefined element in a hash create
671 it?
672
673 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
674 array of hashes or arrays?
675
676 =item How can I use a reference as a hash key?
677
678 =back
679
680 =item Data: Misc
681
682 =over
683
684 =item How do I handle binary data correctly?
685
686 =item How do I determine whether a scalar is a number/whole/integer/float?
687
688 =item How do I keep persistent data across program calls?
689
690 =item How do I print out or copy a recursive data structure?
691
692 =item How do I define methods for every class/object?
693
694 =item How do I verify a credit card checksum?
695
696 =item How do I pack arrays of doubles or floats for XS code?
697
698 =back
699
700 =item AUTHOR AND COPYRIGHT
701
702 =back
703
704 =head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23
705 16:08:30 $)
706
707 =over
708
709 =item DESCRIPTION
710
711 =over
712
713 =item How do I flush/unbuffer an output filehandle?  Why must I do this?
714
715 =item How do I change one line in a file/delete a line in a file/insert a
716 line in the middle of a file/append to the beginning of a file?
717
718 =item How do I count the number of lines in a file?
719
720 =item How do I make a temporary file name?
721
722 =item How can I manipulate fixed-record-length files?
723
724 =item How can I make a filehandle local to a subroutine?  How do I pass
725 filehandles between subroutines?  How do I make an array of filehandles?
726
727 =item How can I use a filehandle indirectly?
728
729 =item How can I set up a footer format to be used with write()?
730
731 =item How can I write() into a string?
732
733 =item How can I output my numbers with commas added?
734
735 =item How can I translate tildes (~) in a filename?
736
737 =item How come when I open a file read-write it wipes it out?
738
739 =item Why do I sometimes get an "Argument list too long" when I use
740 E<lt>*E<gt>?
741
742 =item Is there a leak/bug in glob()?
743
744 =item How can I open a file with a leading "E<gt>" or trailing blanks?
745
746 =item How can I reliably rename a file?
747
748 =item How can I lock a file?
749
750 =item Why can't I just open(FH, ">file.lock")?
751
752 =item I still don't get locking.  I just want to increment the number in
753 the file.  How can I do this?
754
755 =item How do I randomly update a binary file?
756
757 =item How do I get a file's timestamp in perl?
758
759 =item How do I set a file's timestamp in perl?
760
761 =item How do I print to more than one file at once?
762
763 =item How can I read in an entire file all at once?
764
765 =item How can I read in a file by paragraphs?
766
767 =item How can I read a single character from a file?  From the keyboard?
768
769 =item How can I tell whether there's a character waiting on a filehandle?
770
771 =item How do I do a C<tail -f> in perl?
772
773 =item How do I dup() a filehandle in Perl?
774
775 =item How do I close a file descriptor by number?
776
777 =item Why can't I use "C:\temp\foo" in DOS paths?  What doesn't
778 `C:\temp\foo.exe` work?
779
780 =item Why doesn't glob("*.*") get all the files?
781
782 =item Why does Perl let me delete read-only files?  Why does C<-i> clobber
783 protected files?  Isn't this a bug in Perl?
784
785 =item How do I select a random line from a file?
786
787 =item Why do I get weird spaces when I print an array of lines?
788
789 =back
790
791 =item AUTHOR AND COPYRIGHT
792
793 =back
794
795 =head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
796
797 =over
798
799 =item DESCRIPTION
800
801 =over
802
803 =item How can I hope to use regular expressions without creating illegible
804 and unmaintainable code?
805
806 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
807
808 =item I'm having trouble matching over more than one line.  What's wrong?
809
810 =item How can I pull out lines between two patterns that are themselves on
811 different lines?
812
813 =item I put a regular expression into $/ but it didn't work. What's wrong?
814
815 =item How do I substitute case insensitively on the LHS, but preserving
816 case on the RHS?
817
818 =item How can I make C<\w> match national character sets?
819
820 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
821
822 =item How can I quote a variable to use in a regex?
823
824 =item What is C</o> really for?
825
826 =item How do I use a regular expression to strip C style comments from a
827 file?
828
829 =item Can I use Perl regular expressions to match balanced text?
830
831 =item What does it mean that regexes are greedy?  How can I get around it?
832
833 =item  How do I process each word on each line?
834
835 =item How can I print out a word-frequency or line-frequency summary?
836
837 =item How can I do approximate matching?
838
839 =item How do I efficiently match many regular expressions at once?
840
841 =item Why don't word-boundary searches with C<\b> work for me?
842
843 =item Why does using $&, $`, or $' slow my program down?
844
845 =item What good is C<\G> in a regular expression?
846
847 =item Are Perl regexes DFAs or NFAs?  Are they POSIX compliant?
848
849 =item What's wrong with using grep or map in a void context?
850
851 =item How can I match strings with multibyte characters?
852
853 =item How do I match a pattern that is supplied by the user?
854
855 =back
856
857 =item AUTHOR AND COPYRIGHT
858
859 =back
860
861 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date:
862 1999/05/23 20:36:18 $)
863
864 =over
865
866 =item DESCRIPTION
867
868 =over
869
870 =item Can I get a BNF/yacc/RE for the Perl language?
871
872 =item What are all these $@%&* punctuation signs, and how do I know when to
873 use them?
874
875 =item Do I always/never have to quote my strings or use semicolons and
876 commas?
877
878 =item How do I skip some return values?
879
880 =item How do I temporarily block warnings?
881
882 =item What's an extension?
883
884 =item Why do Perl operators have different precedence than C operators?
885
886 =item How do I declare/create a structure?
887
888 =item How do I create a module?
889
890 =item How do I create a class?
891
892 =item How can I tell if a variable is tainted?
893
894 =item What's a closure?
895
896 =item What is variable suicide and how can I prevent it?
897
898 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
899 Regex}?
900
901 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
902 Passing Methods
903
904 =item How do I create a static variable?
905
906 =item What's the difference between dynamic and lexical (static) scoping? 
907 Between local() and my()?
908
909 =item How can I access a dynamic variable while a similarly named lexical
910 is in scope?
911
912 =item What's the difference between deep and shallow binding?
913
914 =item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
915
916 =item How do I redefine a builtin function, operator, or method?
917
918 =item What's the difference between calling a function as &foo and foo()?
919
920 =item How do I create a switch or case statement?
921
922 =item How can I catch accesses to undefined variables/functions/methods?
923
924 =item Why can't a method included in this same file be found?
925
926 =item How can I find out my current package?
927
928 =item How can I comment out a large block of perl code?
929
930 =item How do I clear a package?
931
932 =item How can I use a variable as a variable name?
933
934 =back
935
936 =item AUTHOR AND COPYRIGHT
937
938 =back
939
940 =head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23
941 18:37:57 $)
942
943 =over
944
945 =item DESCRIPTION
946
947 =over
948
949 =item How do I find out which operating system I'm running under?
950
951 =item How come exec() doesn't return?
952
953 =item How do I do fancy stuff with the keyboard/screen/mouse?
954
955 Keyboard, Screen, Mouse
956
957 =item How do I print something out in color?
958
959 =item How do I read just one key without waiting for a return key?
960
961 =item How do I check whether input is ready on the keyboard?
962
963 =item How do I clear the screen?
964
965 =item How do I get the screen size?
966
967 =item How do I ask the user for a password?
968
969 =item How do I read and write the serial port?
970
971 lockfiles, open mode, end of line, flushing output, non-blocking input
972
973 =item How do I decode encrypted password files?
974
975 =item How do I start a process in the background?
976
977 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
978
979 =item How do I trap control characters/signals?
980
981 =item How do I modify the shadow password file on a Unix system?
982
983 =item How do I set the time and date?
984
985 =item How can I sleep() or alarm() for under a second?
986
987 =item How can I measure time under a second?
988
989 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
990
991 =item Why doesn't my sockets program work under System V (Solaris)? What
992 does the error message "Protocol not supported" mean?
993
994 =item How can I call my system's unique C functions from Perl?
995
996 =item Where do I get the include files to do ioctl() or syscall()?
997
998 =item Why do setuid perl scripts complain about kernel problems?
999
1000 =item How can I open a pipe both to and from a command?
1001
1002 =item Why can't I get the output of a command with system()?
1003
1004 =item How can I capture STDERR from an external command?
1005
1006 =item Why doesn't open() return an error when a pipe open fails?
1007
1008 =item What's wrong with using backticks in a void context?
1009
1010 =item How can I call backticks without shell processing?
1011
1012 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1013 ^Z on MS-DOS)?
1014
1015 =item How can I convert my shell script to perl?
1016
1017 =item Can I use perl to run a telnet or ftp session?
1018
1019 =item How can I write expect in Perl?
1020
1021 =item Is there a way to hide perl's command line from programs such as
1022 "ps"?
1023
1024 =item I {changed directory, modified my environment} in a perl script.  How
1025 come the change disappeared when I exited the script?  How do I get my
1026 changes to be visible?
1027
1028 Unix
1029
1030 =item How do I close a process's filehandle without waiting for it to
1031 complete?
1032
1033 =item How do I fork a daemon process?
1034
1035 =item How do I make my program run with sh and csh?
1036
1037 =item How do I find out if I'm running interactively or not?
1038
1039 =item How do I timeout a slow event?
1040
1041 =item How do I set CPU limits?
1042
1043 =item How do I avoid zombies on a Unix system?
1044
1045 =item How do I use an SQL database?
1046
1047 =item How do I make a system() exit on control-C?
1048
1049 =item How do I open a file without blocking?
1050
1051 =item How do I install a module from CPAN?
1052
1053 =item What's the difference between require and use?
1054
1055 =item How do I keep my own module/library directory?
1056
1057 =item How do I add the directory my program lives in to the module/library
1058 search path?
1059
1060 =item How do I add a directory to my include path at runtime?
1061
1062 =item What is socket.ph and where do I get it?
1063
1064 =back
1065
1066 =item AUTHOR AND COPYRIGHT
1067
1068 =back
1069
1070 =head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30
1071 $)
1072
1073 =over
1074
1075 =item DESCRIPTION
1076
1077 =over
1078
1079 =item My CGI script runs from the command line but not the browser.   (500
1080 Server Error)
1081
1082 =item How can I get better error messages from a CGI program?
1083
1084 =item How do I remove HTML from a string?
1085
1086 =item How do I extract URLs?
1087
1088 =item How do I download a file from the user's machine?  How do I open a
1089 file on another machine?
1090
1091 =item How do I make a pop-up menu in HTML?
1092
1093 =item How do I fetch an HTML file?
1094
1095 =item How do I automate an HTML form submission?
1096
1097 =item How do I decode or create those %-encodings on the web?
1098
1099 =item How do I redirect to another page?
1100
1101 =item How do I put a password on my web pages?
1102
1103 =item How do I edit my .htpasswd and .htgroup files with Perl?
1104
1105 =item How do I make sure users can't enter values into a form that cause my
1106 CGI script to do bad things?
1107
1108 =item How do I parse a mail header?
1109
1110 =item How do I decode a CGI form?
1111
1112 =item How do I check a valid mail address?
1113
1114 =item How do I decode a MIME/BASE64 string?
1115
1116 =item How do I return the user's mail address?
1117
1118 =item How do I send mail?
1119
1120 =item How do I read mail?
1121
1122 =item How do I find out my hostname/domainname/IP address?
1123
1124 =item How do I fetch a news article or the active newsgroups?
1125
1126 =item How do I fetch/put an FTP file?
1127
1128 =item How can I do RPC in Perl?
1129
1130 =back
1131
1132 =item AUTHOR AND COPYRIGHT
1133
1134 =back
1135
1136 =head2 perldelta - what's new for perl v5.6 (as of v5.005_64)
1137
1138 =over
1139
1140 =item DESCRIPTION
1141
1142 =item Incompatible Changes
1143
1144 =over
1145
1146 =item Perl Source Incompatibilities
1147
1148 CHECK is a new keyword, Treatment of list slices of undef has changed,
1149 Possibly changed pseudo-random number generator, Hashing function for hash
1150 keys has changed, C<undef> fails on read only values, Close-on-exec bit may
1151 be set on pipe() handles, Writing C<"$$1"> to mean C<"${$}1"> is
1152 unsupported, delete(), values() and C<\(%h)> operate on aliases to values,
1153 not copies, vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some
1154 diagnostic output has changed, C<%@> has been removed, Parenthesized not()
1155 behaves like a list operator, Semantics of bareword prototype C<(*)> have
1156 changed
1157
1158 =item C Source Incompatibilities
1159
1160 C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
1161
1162 =item Compatible C Source API Changes
1163
1164 C<PATCHLEVEL> is now C<PERL_VERSION>, Support for C++ exceptions
1165
1166 =item Binary Incompatibilities
1167
1168 =back
1169
1170 =item Installation and Configuration Improvements
1171
1172 =over
1173
1174 =item New Configure flags
1175
1176 =item -Dusethreads and -Duse64bits now more daring
1177
1178 =item Long Doubles
1179
1180 =item -Dusemorebits
1181
1182 =item -Duselargefiles
1183
1184 =item installusrbinperl
1185
1186 =item SOCKS support
1187
1188 =item C<-A> flag
1189
1190 =item Enhanced Installation Directories
1191
1192 =back
1193
1194 =item Core Changes
1195
1196 =over
1197
1198 =item Unicode and UTF-8 support
1199
1200 =item Interpreter threads
1201
1202 =item Lexically scoped warning categories
1203
1204 =item Lvalue subroutines
1205
1206 =item "our" declarations
1207
1208 =item Weak references
1209
1210 =item File globbing implemented internally
1211
1212 =item Binary numbers supported
1213
1214 =item Some arrows may be omitted in calls through references
1215
1216 =item exists() is supported on subroutine names
1217
1218 =item exists() and delete() are supported on array elements
1219
1220 =item syswrite() ease-of-use
1221
1222 =item File and directory handles can be autovivified
1223
1224 =item 64-bit support
1225
1226 =item Large file support
1227
1228 =item Long doubles
1229
1230 =item "more bits"
1231
1232 =item Enhanced support for sort() subroutines
1233
1234 =item Better syntax checks on parenthesized unary operators
1235
1236 =item POSIX character class syntax [: :] supported
1237
1238 =item Improved C<qw//> operator
1239
1240 =item pack() format 'Z' supported
1241
1242 =item pack() format modifier '!' supported
1243
1244 =item pack() and unpack() support counted strings
1245
1246 =item Comments in pack() templates
1247
1248 =item $^X variables may now have names longer than one character
1249
1250 =item C<use attrs> implicit in subroutine attributes
1251
1252 =item Regular expression improvements
1253
1254 =item Overloading improvements
1255
1256 =item open() with more than two arguments
1257
1258 =item Support for interpolating named characters
1259
1260 =item Experimental support for user-hooks in @INC
1261
1262 =item C<require> and C<do> may be overridden
1263
1264 =item New variable $^C reflects C<-c> switch
1265
1266 =item Optional Y2K warnings
1267
1268 =back
1269
1270 =item Significant bug fixes
1271
1272 =over
1273
1274 =item E<lt>HANDLEE<gt> on empty files
1275
1276 =item C<eval '...'> improvements
1277
1278 =item All compilation errors are true errors
1279
1280 =item Automatic flushing of output buffers
1281
1282 =item Better diagnostics on meaningless filehandle operations
1283
1284 =item Where possible, buffered data discarded from duped input filehandle
1285
1286 =item eof() has the same old magic as <>
1287
1288 =item system(), backticks and pipe open now reflect exec() failure
1289
1290 =item Implicitly closed filehandles are safer
1291
1292 =item C<(\$)> prototype and C<$foo{a}>
1293
1294 =item Pseudo-hashes work better
1295
1296 =item C<goto &sub> and AUTOLOAD
1297
1298 =item C<-bareword> allowed under C<use integer>
1299
1300 =item Boolean assignment operators are legal lvalues
1301
1302 =item C<sort $coderef @foo> allowed
1303
1304 =item Failures in DESTROY()
1305
1306 =item Locale bugs fixed
1307
1308 =item Memory leaks
1309
1310 =item Spurious subroutine stubs after failed subroutine calls
1311
1312 =item Consistent numeric conversions
1313
1314 =item Taint failures under C<-U>
1315
1316 =item END blocks and the C<-c> switch
1317
1318 =item Potential to leak DATA filehandles
1319
1320 =item Diagnostics follow STDERR
1321
1322 =item Other fixes for better diagnostics
1323
1324 =back
1325
1326 =item Performance enhancements
1327
1328 =over
1329
1330 =item Simple sort() using { $a <=> $b } and the like are optimized
1331
1332 =item Optimized assignments to lexical variables
1333
1334 =item Method lookups optimized
1335
1336 =item Faster mechanism to invoke XSUBs
1337
1338 =item Perl_malloc() improvements
1339
1340 =item Faster subroutine calls
1341
1342 =back
1343
1344 =item Platform specific changes
1345
1346 =over
1347
1348 =item Additional supported platforms
1349
1350 =item DOS
1351
1352 =item OS/2
1353
1354 =item VMS
1355
1356 =item Win32
1357
1358 =back
1359
1360 =item New tests
1361
1362 =item Modules and Pragmata
1363
1364 =over
1365
1366 =item Modules
1367
1368 attributes, B, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File,
1369 Devel::DProf, Dumpvalue, Benchmark, Devel::Peek, ExtUtils::MakeMaker,
1370 Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
1371 File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
1372 Math::Complex, Math::Trig, Pod::Parser, Pod::Text and Pod::Man, SDBM_File,
1373 Time::Local, Win32, DBM Filters
1374
1375 =item Pragmata
1376
1377 =back
1378
1379 =item Utility Changes
1380
1381 =over
1382
1383 =item h2ph
1384
1385 =item perlcc
1386
1387 =item h2xs
1388
1389 =back
1390
1391 =item Documentation Changes
1392
1393 perlcompile.pod, perlfilter.pod, perlhack.pod, perlopentut.pod,
1394 perlreftut.pod, perltootc.pod
1395
1396 =item New or Changed Diagnostics
1397
1398 "%s" variable %s masks earlier declaration in same %s, "my sub" not yet
1399 implemented, "our" variable %s redeclared, '!' allowed only after types %s,
1400 / cannot take a count, / must be followed by a, A or Z, / must be followed
1401 by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
1402 \\%c passed through, /%s/: Unrecognized escape \\%c in character class
1403 passed through, /%s/ should probably be written as "%s", %s() called too
1404 early to check prototype, %s argument is not a HASH or ARRAY element, %s
1405 argument is not a HASH or ARRAY element or slice, %s argument is not a
1406 subroutine name, %s package attribute may clash with future reserved word:
1407 %s,         (in cleanup) %s, <> should be quotes, Attempt to join self, Bad
1408 evalled substitution pattern, Bad realloc() ignored, Binary number >
1409 0b11111111111111111111111111111111 non-portable, Bit vector size > 32
1410 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem
1411 of script "%s", Can't declare class for non-scalar %s in "%s", Can't
1412 declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't
1413 modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove
1414 %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken
1415 a nonreference, Character class [:%s:] unknown, Character class syntax [%s]
1416 belongs inside character classes, Constant is not %s reference,
1417 constant(%s): %%^H is not localized, constant(%s): %s, defined(@array) is
1418 deprecated, defined(%hash) is deprecated, Did not produce a valid header,
1419 Did you mean "local" instead of "our"?, Document contains no data, entering
1420 effective %s failed, false [] range "%s" in regexp, Filehandle %s opened
1421 only for output, flock() on closed filehandle %s, Global symbol "%s"
1422 requires explicit package name, Hexadecimal number > 0xffffffff
1423 non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in
1424 prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s
1425 ignored, Illegal number of bits in vec, Integer overflow in %s number,
1426 Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s"
1427 in regexp, Invalid separator character %s in attribute list, Invalid
1428 separator character %s in subroutine attribute list, leaving effective %s
1429 failed, Lvalue subs returning %s not implemented yet, Method %s not
1430 permitted, Missing %sbrace%s on \N{}, Missing command in piped open,
1431 Missing name in "my sub", No %s specified for -%c, No package name allowed
1432 for variable %s in "our", No space allowed after -%c, no UTC offset
1433 information; assuming local time is UTC, Octal number > 037777777777
1434 non-portable, panic: del_backref, panic: kid popen errno read, panic:
1435 magic_killbackrefs, Parentheses missing around "%s" list, Possible Y2K bug:
1436 %s, Premature end of script headers, Repeat count in pack overflows, Repeat
1437 count in unpack overflows, realloc() of freed memory ignored, Reference is
1438 already weak, setpgrp can't take arguments, Strange *+?{} on zero-length
1439 expression, switching effective %s is not implemented, This Perl can't
1440 reset CRTL environ elements (%s), This Perl can't set CRTL environ elements
1441 (%s=%s), Unknown open() mode '%s', Unknown process %x sent message to
1442 prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated
1443 attribute parameter in attribute list, Unterminated attribute list,
1444 Unterminated attribute parameter in subroutine attribute list, Unterminated
1445 subroutine attribute list, Value of CLI symbol "%s" too long, Version
1446 number must be a constant number
1447
1448 =item Obsolete Diagnostics
1449
1450 Character class syntax [: :] is reserved for future extensions, Ill-formed
1451 logical name |%s| in prime_env_iter, regexp too big, Use of "$$<digit>" to
1452 mean "${$}<digit>" is deprecated
1453
1454 =item BUGS
1455
1456 =item SEE ALSO
1457
1458 =item HISTORY
1459
1460 =back
1461
1462 =head2 perldata - Perl data types
1463
1464 =over
1465
1466 =item DESCRIPTION
1467
1468 =over
1469
1470 =item Variable names
1471
1472 =item Context
1473
1474 =item Scalar values
1475
1476 =item Scalar value constructors
1477
1478 =item List value constructors
1479
1480 =item Slices
1481
1482 =item Typeglobs and Filehandles
1483
1484 =back
1485
1486 =item SEE ALSO
1487
1488 =back
1489
1490 =head2 perlsyn - Perl syntax
1491
1492 =over
1493
1494 =item DESCRIPTION
1495
1496 =over
1497
1498 =item Declarations
1499
1500 =item Simple statements
1501
1502 =item Compound statements
1503
1504 =item Loop Control
1505
1506 =item For Loops
1507
1508 =item Foreach Loops
1509
1510 =item Basic BLOCKs and Switch Statements
1511
1512 =item Goto
1513
1514 =item PODs: Embedded Documentation
1515
1516 =item Plain Old Comments (Not!)
1517
1518 =back
1519
1520 =back
1521
1522 =head2 perlop - Perl operators and precedence
1523
1524 =over
1525
1526 =item SYNOPSIS
1527
1528 =item DESCRIPTION
1529
1530 =over
1531
1532 =item Terms and List Operators (Leftward)
1533
1534 =item The Arrow Operator
1535
1536 =item Auto-increment and Auto-decrement
1537
1538 =item Exponentiation
1539
1540 =item Symbolic Unary Operators
1541
1542 =item Binding Operators
1543
1544 =item Multiplicative Operators
1545
1546 =item Additive Operators
1547
1548 =item Shift Operators
1549
1550 =item Named Unary Operators
1551
1552 =item Relational Operators
1553
1554 =item Equality Operators
1555
1556 =item Bitwise And
1557
1558 =item Bitwise Or and Exclusive Or
1559
1560 =item C-style Logical And
1561
1562 =item C-style Logical Or
1563
1564 =item Range Operators
1565
1566 =item Conditional Operator
1567
1568 =item Assignment Operators
1569
1570 =item Comma Operator
1571
1572 =item List Operators (Rightward)
1573
1574 =item Logical Not
1575
1576 =item Logical And
1577
1578 =item Logical or and Exclusive Or
1579
1580 =item C Operators Missing From Perl
1581
1582 unary &, unary *, (TYPE)
1583
1584 =item Quote and Quote-like Operators
1585
1586 =item Regexp Quote-Like Operators
1587
1588 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
1589 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
1590 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cdsUC,
1591 y/SEARCHLIST/REPLACEMENTLIST/cdsUC
1592
1593 =item Gory details of parsing quoted constructs
1594
1595 Finding the end, Removal of backslashes before delimiters, Interpolation,
1596 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
1597 C<``>, C<qq//>, C<qx//>, C<<file*globE<gt>>, C<?RE?>, C</RE/>, C<m/RE/>,
1598 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
1599 regular expressions
1600
1601 =item I/O Operators
1602
1603 =item Constant Folding
1604
1605 =item Bitwise String Operators
1606
1607 =item Integer Arithmetic
1608
1609 =item Floating-point Arithmetic
1610
1611 =item Bigger Numbers
1612
1613 =back
1614
1615 =back
1616
1617 =head2 perlre - Perl regular expressions
1618
1619 =over
1620
1621 =item DESCRIPTION
1622
1623 i, m, s, x
1624
1625 =over
1626
1627 =item Regular Expressions
1628
1629 cntrl, graph, print, punct, xdigit
1630
1631 =item Extended Patterns
1632
1633 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1634 C<(?=pattern)>, C<(?!pattern)>, C<(?E<lt>=pattern)>, C<(?<!pattern)>, C<(?{
1635 code })>, C<(?p{ code })>, C<(?E<gt>pattern)>,
1636 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
1637
1638 =item Backtracking
1639
1640 =item Version 8 Regular Expressions
1641
1642 =item Warning on \1 vs $1
1643
1644 =item Repeated patterns matching zero-length substring
1645
1646 =item Combining pieces together
1647
1648 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1649 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<(?E<gt>S)>, C<(?=S)>, C<(?<=S)>,
1650 C<(?!S)>, C<(?<!S)>, C<(?p{ EXPR })>,
1651 C<(?(condition)yes-pattern|no-pattern)>
1652
1653 =item Creating custom RE engines
1654
1655 =back
1656
1657 =item BUGS
1658
1659 =item SEE ALSO
1660
1661 =back
1662
1663 =head2 perlrun - how to execute the Perl interpreter
1664
1665 =over
1666
1667 =item SYNOPSIS
1668
1669 =item DESCRIPTION
1670
1671 =over
1672
1673 =item #! and quoting on non-Unix systems
1674
1675 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
1676
1677 =item Location of Perl
1678
1679 =item Command Switches
1680
1681 B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<letters>,
1682 B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
1683 B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
1684 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
1685 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
1686 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
1687 B<-x> I<directory>
1688
1689 =back
1690
1691 =item ENVIRONMENT
1692
1693 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
1694 (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL
1695
1696 =back
1697
1698 =head2 perlfunc - Perl builtin functions
1699
1700 =over
1701
1702 =item DESCRIPTION
1703
1704 =over
1705
1706 =item Perl Functions by Category
1707
1708 Functions for SCALARs or strings, Regular expressions and pattern matching,
1709 Numeric functions, Functions for real @ARRAYs, Functions for list data,
1710 Functions for real %HASHes, Input and output functions, Functions for fixed
1711 length data or records, Functions for filehandles, files, or directories,
1712 Keywords related to the control flow of your perl program, Keywords related
1713 to scoping, Miscellaneous functions, Functions for processes and process
1714 groups, Keywords related to perl modules, Keywords related to classes and
1715 object-orientedness, Low-level socket functions, System V interprocess
1716 communication functions, Fetching user and group info, Fetching network
1717 info, Time-related functions, Functions new in perl5, Functions obsoleted
1718 in perl5
1719
1720 =item Portability
1721
1722 =item Alphabetical Listing of Perl Functions
1723
1724 I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
1725 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1726 binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
1727 chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
1728 chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
1729 close FILEHANDLE, close, closedir DIRHANDLE, connect SOCKET,NAME, continue
1730 BLOCK, cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen
1731 HASH,DBNAME,MASK, defined EXPR, defined, delete EXPR, die LIST, do BLOCK,
1732 do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, each HASH, eof FILEHANDLE,
1733 eof (), eof, eval EXPR, eval BLOCK, exec LIST, exec PROGRAM LIST, exists
1734 EXPR, exit EXPR, exp EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno
1735 FILEHANDLE, flock FILEHANDLE,OPERATION, fork, format, formline
1736 PICTURE,LIST, getc FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp
1737 PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME,
1738 gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID,
1739 getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE,
1740 getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport
1741 PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent,
1742 getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN,
1743 setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent,
1744 endnetent, endprotoent, endservent, getsockname SOCKET, getsockopt
1745 SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
1746 goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
1747 STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1748 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1749 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1750 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1751 lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK
1752 LIST, map EXPR,LIST, mkdir FILENAME,MASK, msgctl ID,CMD,ARG, msgget
1753 KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, my
1754 EXPR : ATTRIBUTES, next LABEL, next, no Module LIST, oct EXPR, oct, open
1755 FILEHANDLE,MODE,EXPR, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
1756 DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack TEMPLATE,LIST, package,
1757 package NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR,
1758 pos, print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT,
1759 LIST, printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
1760 qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta,
1761 rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read
1762 FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR,
1763 readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo,
1764 ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require, reset EXPR,
1765 reset, return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
1766 STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1767 EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1768 FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1769 ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1770 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1771 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1772 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1773 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1774 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
1775 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1776 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1777 splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
1778 split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
1779 srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
1780 sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr
1781 EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall
1782 LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
1783 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
1784 sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE,
1785 system LIST, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET,
1786 syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell
1787 FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied
1788 VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate
1789 EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef
1790 EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE,
1791 unshift ARRAY,LIST, use Module LIST, use Module, use Module VERSION LIST,
1792 use VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid
1793 PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y///
1794
1795 =back
1796
1797 =back
1798
1799 =head2 perlvar - Perl predefined variables
1800
1801 =over
1802
1803 =item DESCRIPTION
1804
1805 =over
1806
1807 =item Predefined Names
1808
1809 $ARG, $_, $E<lt>I<digits>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1810 $LAST_PAREN_MATCH, $+, @+, $MULTILINE_MATCHING, $*, input_line_number
1811 HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE
1812 EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR,
1813 $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE EXPR,
1814 $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE EXPR,
1815 $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
1816 $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1817 EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1818 $FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
1819 $FORMAT_LINES_LEFT, $-, @-, format_name HANDLE EXPR, $FORMAT_NAME, $~,
1820 format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1821 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1822 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1823 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1824 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1825 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1826 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
1827 $COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H,
1828 $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04,
1829 0x08, 0x10, 0x20, $^R, $^S, $BASETIME, $^T, $WARNING, $^W, ${^Warnings},
1830 $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC, %ENV, $ENV{expr},
1831 %SIG, $SIG{expr}
1832
1833 =item Error Indicators
1834
1835 =item Technical Note on the Syntax of Variable Names
1836
1837 =back
1838
1839 =item BUGS
1840
1841 =back
1842
1843 =head2 perlsub - Perl subroutines
1844
1845 =over
1846
1847 =item SYNOPSIS
1848
1849 =item DESCRIPTION
1850
1851 =over
1852
1853 =item Private Variables via my()
1854
1855 =item Persistent Private Variables
1856
1857 =item Temporary Values via local()
1858
1859 =item Lvalue subroutines
1860
1861 =item Passing Symbol Table Entries (typeglobs)
1862
1863 =item When to Still Use local()
1864
1865 1. You need to give a global variable a temporary value, especially $_, 2.
1866 You need to create a local file or directory handle or a local function, 3.
1867 You want to temporarily change just one element of an array or hash
1868
1869 =item Pass by Reference
1870
1871 =item Prototypes
1872
1873 =item Constant Functions
1874
1875 =item Overriding Built-in Functions
1876
1877 =item Autoloading
1878
1879 =item Subroutine Attributes
1880
1881 =back
1882
1883 =item SEE ALSO
1884
1885 =back
1886
1887 =head2 perlmod - Perl modules (packages and symbol tables)
1888
1889 =over
1890
1891 =item DESCRIPTION
1892
1893 =over
1894
1895 =item Packages
1896
1897 =item Symbol Tables
1898
1899 =item Package Constructors and Destructors
1900
1901 =item Perl Classes
1902
1903 =item Perl Modules
1904
1905 =back
1906
1907 =item SEE ALSO
1908
1909 =back
1910
1911 =head2 perlmodlib - constructing new Perl modules and finding existing ones
1912
1913 =over
1914
1915 =item DESCRIPTION
1916
1917 =item THE PERL MODULE LIBRARY
1918
1919 =over
1920
1921 =item Pragmatic Modules
1922
1923 attributes, attrs, autouse, base, blib, caller, charnames, constant,
1924 diagnostics, fields, filetest, integer, less, lib, locale, ops, overload,
1925 re, sigtrap, strict, subs, utf8, vars, warnings
1926
1927 =item Standard Modules
1928
1929 AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
1930 B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
1931 B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI,
1932 CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
1933 CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy,
1934 Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf,
1935 Devel::Peek, Devel::SelfStubber, DirHandle, Dumpvalue, DynaLoader, English,
1936 Env, Errno, Exporter, Exporter::Heavy, ExtUtils::Command, ExtUtils::Embed,
1937 ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
1938 ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS,
1939 ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest,
1940 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
1941 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
1942 File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
1943 File::Path, File::Spec, File::Spec::Functions, File::Spec::Mac,
1944 File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32,
1945 File::stat, FileCache, FileHandle, FindBin, GDBM_File, Getopt::Long,
1946 Getopt::Std, I18N::Collate, IO, IO::Dir, IO::File, IO::Handle, IO::Pipe,
1947 IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
1948 IO::Socket::UNIX, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore,
1949 IPC::SysV, Math::BigFloat, Math::BigInt, Math::Complex, Math::Trig,
1950 Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, O,
1951 Opcode, POSIX, Pod::Checker, Pod::Html, Pod::InputObjects, Pod::Man,
1952 Pod::Parser, Pod::Select, Pod::Text, Pod::Text::Color, Pod::Usage,
1953 SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell, Socket,
1954 Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
1955 Term::ReadLine, Test, Test::Harness, Text::Abbrev, Text::ParseWords,
1956 Text::Soundex, Text::Wrap, Tie::Array, Tie::Handle, Tie::Hash,
1957 Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime,
1958 Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent
1959
1960 =item Extension Modules
1961
1962 =back
1963
1964 =item CPAN
1965
1966 Language Extensions and Documentation Tools, Development Support, Operating
1967 System Interfaces, Networking, Device Control (modems) and InterProcess
1968 Communication, Data Types and Data Type Utilities, Database Interfaces,
1969 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
1970 File Names, File Systems and File Locking (see also File Handles), String
1971 Processing, Language Text Processing, Parsing, and Searching, Option,
1972 Argument, Parameter, and Configuration File Processing,
1973 Internationalization and Locale, Authentication, Security, and Encryption,
1974 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
1975 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
1976 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
1977 exceptions etc), File Handle and Input/Output Stream Utilities,
1978 Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
1979 North America, South America
1980
1981 =item Modules: Creation, Use, and Abuse
1982
1983 =over
1984
1985 =item Guidelines for Module Creation
1986
1987 Do similar modules already exist in some form?, Try to design the new
1988 module to be easy to extend and reuse, Some simple style guidelines, Select
1989 what to export, Select a name for the module, Have you got it right?,
1990 README and other Additional Files, A description of the
1991 module/package/extension etc, A copyright notice - see below, Prerequisites
1992 - what else you may need to have, How to build it - possible changes to
1993 Makefile.PL etc, How to install it, Recent changes in this release,
1994 especially incompatibilities, Changes / enhancements you plan to make in
1995 the future, Adding a Copyright Notice, Give the module a
1996 version/issue/release number, How to release and distribute a module, Take
1997 care when changing a released module
1998
1999 =item Guidelines for Converting Perl 4 Library Scripts into Modules
2000
2001 There is no requirement to convert anything, Consider the implications,
2002 Make the most of the opportunity, The pl2pm utility will get you started,
2003 Adds the standard Module prologue lines, Converts package specifiers from '
2004 to ::, Converts die(...) to croak(...), Several other minor changes
2005
2006 =item Guidelines for Reusing Application Code
2007
2008 Complete applications rarely belong in the Perl Module Library, Many
2009 applications contain some Perl code that could be reused, Break-out the
2010 reusable code into one or more separate module files, Take the opportunity
2011 to reconsider and redesign the interfaces, In some cases the 'application'
2012 can then be reduced to a small
2013
2014 =back
2015
2016 =item NOTE
2017
2018 =back
2019
2020 =head2 perlmodinstall - Installing CPAN Modules
2021
2022 =over
2023
2024 =item DESCRIPTION
2025
2026 =over
2027
2028 =item PREAMBLE
2029
2030 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2031 module (sometimes unnecessary), B<INSTALL> the module
2032
2033 =back
2034
2035 =item HEY
2036
2037 =item AUTHOR
2038
2039 =item COPYRIGHT
2040
2041 =back
2042
2043 =head2 perlfork - Perl's fork() emulation
2044
2045 =over
2046
2047 =item SYNOPSIS
2048
2049 =item DESCRIPTION
2050
2051 =over
2052
2053 =item Behavior of other Perl features in forked pseudo-processes
2054
2055 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2056 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2057 files, directories and network sockets
2058
2059 =item Resource limits
2060
2061 =item Killing the parent process
2062
2063 =item Lifetime of the parent process and pseudo-processes
2064
2065 =item CAVEATS AND LIMITATIONS
2066
2067 BEGIN blocks, Open filehandles, Global state maintained by XSUBs,
2068 Interpreter embedded in larger application, Thread-safety of extensions
2069
2070 =back
2071
2072 =item BUGS
2073
2074 =item AUTHOR
2075
2076 =item SEE ALSO
2077
2078 =back
2079
2080 =head2 perlform - Perl formats
2081
2082 =over
2083
2084 =item DESCRIPTION
2085
2086 =over
2087
2088 =item Format Variables
2089
2090 =back
2091
2092 =item NOTES
2093
2094 =over
2095
2096 =item Footers
2097
2098 =item Accessing Formatting Internals
2099
2100 =back
2101
2102 =item WARNINGS
2103
2104 =back
2105
2106 =head2 perllocale - Perl locale handling (internationalization and
2107 localization)
2108
2109 =over
2110
2111 =item DESCRIPTION
2112
2113 =item PREPARING TO USE LOCALES
2114
2115 =item USING LOCALES
2116
2117 =over
2118
2119 =item The use locale pragma
2120
2121 =item The setlocale function
2122
2123 =item Finding locales
2124
2125 =item LOCALE PROBLEMS
2126
2127 =item Temporarily fixing locale problems
2128
2129 =item Permanently fixing locale problems
2130
2131 =item Permanently fixing your locale configuration
2132
2133 =item Fixing system locale configuration
2134
2135 =item The localeconv function
2136
2137 =back
2138
2139 =item LOCALE CATEGORIES
2140
2141 =over
2142
2143 =item Category LC_COLLATE: Collation
2144
2145 =item Category LC_CTYPE: Character Types
2146
2147 =item Category LC_NUMERIC: Numeric Formatting
2148
2149 =item Category LC_MONETARY: Formatting of monetary amounts
2150
2151 =item LC_TIME
2152
2153 =item Other categories
2154
2155 =back
2156
2157 =item SECURITY
2158
2159 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
2160 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
2161 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
2162 B<Output formatting functions> (printf() and write()):, B<Case-mapping
2163 functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
2164 functions> (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX
2165 character class tests> (isalnum(), isalpha(), isdigit(),isgraph(),
2166 islower(), isprint(), ispunct(), isspace(), isupper(),
2167 isxdigit()):
2168
2169 =item ENVIRONMENT
2170
2171 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2172 LC_NUMERIC, LC_TIME, LANG
2173
2174 =item NOTES
2175
2176 =over
2177
2178 =item Backward compatibility
2179
2180 =item I18N:Collate obsolete
2181
2182 =item Sort speed and memory use impacts
2183
2184 =item write() and LC_NUMERIC
2185
2186 =item Freely available locale definitions
2187
2188 =item I18n and l10n
2189
2190 =item An imperfect standard
2191
2192 =back
2193
2194 =item BUGS
2195
2196 =over
2197
2198 =item Broken systems
2199
2200 =back
2201
2202 =item SEE ALSO
2203
2204 =item HISTORY
2205
2206 =back
2207
2208 =head2 perlref - Perl references and nested data structures
2209
2210 =over
2211
2212 =item NOTE
2213
2214 =item DESCRIPTION
2215
2216 =over
2217
2218 =item Making References
2219
2220 =item Using References
2221
2222 =item Symbolic references
2223
2224 =item Not-so-symbolic references
2225
2226 =item Pseudo-hashes: Using an array as a hash
2227
2228 =item Function Templates
2229
2230 =back
2231
2232 =item WARNING
2233
2234 =item SEE ALSO
2235
2236 =back
2237
2238 =head2 perlreftut - Mark's very short tutorial about references
2239
2240 =over
2241
2242 =item DESCRIPTION
2243
2244 =item Who Needs Complicated Data Structures?
2245
2246 =item The Solution
2247
2248 =item Syntax
2249
2250 =over
2251
2252 =item Making References
2253
2254 =item Using References
2255
2256 =back
2257
2258 =item An Example
2259
2260 =item Arrow Rule
2261
2262 =item Solution
2263
2264 =item The Rest
2265
2266 =item Summary
2267
2268 =item Credits
2269
2270 =over
2271
2272 =item Distribution Conditions
2273
2274 =back
2275
2276 =back
2277
2278 =head2 perldsc - Perl Data Structures Cookbook
2279
2280 =over
2281
2282 =item DESCRIPTION
2283
2284 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
2285 more elaborate constructs
2286
2287 =item REFERENCES
2288
2289 =item COMMON MISTAKES
2290
2291 =item CAVEAT ON PRECEDENCE
2292
2293 =item WHY YOU SHOULD ALWAYS C<use strict>
2294
2295 =item DEBUGGING
2296
2297 =item CODE EXAMPLES
2298
2299 =item ARRAYS OF ARRAYS
2300
2301 =over
2302
2303 =item Declaration of a ARRAY OF ARRAYS
2304
2305 =item Generation of a ARRAY OF ARRAYS
2306
2307 =item Access and Printing of a ARRAY OF ARRAYS
2308
2309 =back
2310
2311 =item HASHES OF ARRAYS
2312
2313 =over
2314
2315 =item Declaration of a HASH OF ARRAYS
2316
2317 =item Generation of a HASH OF ARRAYS
2318
2319 =item Access and Printing of a HASH OF ARRAYS
2320
2321 =back
2322
2323 =item ARRAYS OF HASHES
2324
2325 =over
2326
2327 =item Declaration of a ARRAY OF HASHES
2328
2329 =item Generation of a ARRAY OF HASHES
2330
2331 =item Access and Printing of a ARRAY OF HASHES
2332
2333 =back
2334
2335 =item HASHES OF HASHES
2336
2337 =over
2338
2339 =item Declaration of a HASH OF HASHES
2340
2341 =item Generation of a HASH OF HASHES
2342
2343 =item Access and Printing of a HASH OF HASHES
2344
2345 =back
2346
2347 =item MORE ELABORATE RECORDS
2348
2349 =over
2350
2351 =item Declaration of MORE ELABORATE RECORDS
2352
2353 =item Declaration of a HASH OF COMPLEX RECORDS
2354
2355 =item Generation of a HASH OF COMPLEX RECORDS
2356
2357 =back
2358
2359 =item Database Ties
2360
2361 =item SEE ALSO
2362
2363 =item AUTHOR
2364
2365 =back
2366
2367 =head2 perllol - Manipulating Arrays of Arrays in Perl
2368
2369 =over
2370
2371 =item DESCRIPTION
2372
2373 =item Declaration and Access of Arrays of Arrays
2374
2375 =item Growing Your Own
2376
2377 =item Access and Printing
2378
2379 =item Slices
2380
2381 =item SEE ALSO
2382
2383 =item AUTHOR
2384
2385 =back
2386
2387 =head2 perltoot - Tom's object-oriented tutorial for perl
2388
2389 =over
2390
2391 =item DESCRIPTION
2392
2393 =item Creating a Class
2394
2395 =over
2396
2397 =item Object Representation
2398
2399 =item Class Interface
2400
2401 =item Constructors and Instance Methods
2402
2403 =item Planning for the Future: Better Constructors
2404
2405 =item Destructors
2406
2407 =item Other Object Methods
2408
2409 =back
2410
2411 =item Class Data
2412
2413 =over
2414
2415 =item Accessing Class Data
2416
2417 =item Debugging Methods
2418
2419 =item Class Destructors
2420
2421 =item Documenting the Interface
2422
2423 =back
2424
2425 =item Aggregation
2426
2427 =item Inheritance
2428
2429 =over
2430
2431 =item Overridden Methods
2432
2433 =item Multiple Inheritance
2434
2435 =item UNIVERSAL: The Root of All Objects
2436
2437 =back
2438
2439 =item Alternate Object Representations
2440
2441 =over
2442
2443 =item Arrays as Objects
2444
2445 =item Closures as Objects
2446
2447 =back
2448
2449 =item AUTOLOAD: Proxy Methods
2450
2451 =over
2452
2453 =item Autoloaded Data Methods
2454
2455 =item Inherited Autoloaded Data Methods
2456
2457 =back
2458
2459 =item Metaclassical Tools
2460
2461 =over
2462
2463 =item Class::Struct
2464
2465 =item Data Members as Variables
2466
2467 =item NOTES
2468
2469 =item Object Terminology
2470
2471 =back
2472
2473 =item SEE ALSO
2474
2475 =item AUTHOR AND COPYRIGHT
2476
2477 =item COPYRIGHT
2478
2479 =over
2480
2481 =item Acknowledgments
2482
2483 =back
2484
2485 =back
2486
2487 =head2 perltootc - Tom's OO Tutorial for Class Data in Perl
2488
2489 =over
2490
2491 =item DESCRIPTION
2492
2493 =item Class Data as Package Variables
2494
2495 =over
2496
2497 =item Putting All Your Eggs in One Basket
2498
2499 =item Inheritance Concerns
2500
2501 =item The Eponymous Meta-Object
2502
2503 =item Indirect References to Class Data
2504
2505 =item Monadic Classes
2506
2507 =item Translucent Attributes
2508
2509 =back
2510
2511 =item Class Data as Lexical Variables
2512
2513 =over
2514
2515 =item Privacy and Responsibility 
2516
2517 =item File-Scoped Lexicals
2518
2519 =item More Inheritance Concerns
2520
2521 =item Locking the Door and Throwing Away the Key
2522
2523 =item Translucency Revisited
2524
2525 =back
2526
2527 =item NOTES
2528
2529 =item SEE ALSO
2530
2531 =item AUTHOR AND COPYRIGHT
2532
2533 =item ACKNOWLEDGEMENTS
2534
2535 =item HISTORY
2536
2537 =back
2538
2539 =head2 perlobj - Perl objects
2540
2541 =over
2542
2543 =item DESCRIPTION
2544
2545 =over
2546
2547 =item An Object is Simply a Reference
2548
2549 =item A Class is Simply a Package
2550
2551 =item A Method is Simply a Subroutine
2552
2553 =item Method Invocation
2554
2555 =item WARNING
2556
2557 =item Default UNIVERSAL methods
2558
2559 isa(CLASS), can(METHOD), VERSION( [NEED] )
2560
2561 =item Destructors
2562
2563 =item Summary
2564
2565 =item Two-Phased Garbage Collection
2566
2567 =back
2568
2569 =item SEE ALSO
2570
2571 =back
2572
2573 =head2 perltie - how to hide an object class in a simple variable
2574
2575 =over
2576
2577 =item SYNOPSIS
2578
2579 =item DESCRIPTION
2580
2581 =over
2582
2583 =item Tying Scalars
2584
2585 TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
2586
2587 =item Tying Arrays
2588
2589 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2590 DESTROY this
2591
2592 =item Tying Hashes
2593
2594 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2595 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2596 this, NEXTKEY this, lastkey, DESTROY this
2597
2598 =item Tying FileHandles
2599
2600 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2601 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this
2602
2603 =item The C<untie> Gotcha
2604
2605 =back
2606
2607 =item SEE ALSO
2608
2609 =item BUGS
2610
2611 =item AUTHOR
2612
2613 =back
2614
2615 =head2 perlbot - Bag'o Object Tricks (the BOT)
2616
2617 =over
2618
2619 =item DESCRIPTION
2620
2621 =item OO SCALING TIPS
2622
2623 =item INSTANCE VARIABLES
2624
2625 =item SCALAR INSTANCE VARIABLES
2626
2627 =item INSTANCE VARIABLE INHERITANCE
2628
2629 =item OBJECT RELATIONSHIPS
2630
2631 =item OVERRIDING SUPERCLASS METHODS
2632
2633 =item USING RELATIONSHIP WITH SDBM
2634
2635 =item THINKING OF CODE REUSE
2636
2637 =item CLASS CONTEXT AND THE OBJECT
2638
2639 =item INHERITING A CONSTRUCTOR
2640
2641 =item DELEGATION
2642
2643 =back
2644
2645 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2646 safe subprocesses, sockets, and semaphores)
2647
2648 =over
2649
2650 =item DESCRIPTION
2651
2652 =item Signals
2653
2654 =item Named Pipes
2655
2656 =over
2657
2658 =item WARNING
2659
2660 =back
2661
2662 =item Using open() for IPC
2663
2664 =over
2665
2666 =item Filehandles
2667
2668 =item Background Processes
2669
2670 =item Complete Dissociation of Child from Parent
2671
2672 =item Safe Pipe Opens
2673
2674 =item Bidirectional Communication with Another Process
2675
2676 =item Bidirectional Communication with Yourself
2677
2678 =back
2679
2680 =item Sockets: Client/Server Communication
2681
2682 =over
2683
2684 =item Internet Line Terminators
2685
2686 =item Internet TCP Clients and Servers
2687
2688 =item Unix-Domain TCP Clients and Servers
2689
2690 =back
2691
2692 =item TCP Clients with IO::Socket
2693
2694 =over
2695
2696 =item A Simple Client
2697
2698 C<Proto>, C<PeerAddr>, C<PeerPort>
2699
2700 =item A Webget Client
2701
2702 =item Interactive Client with IO::Socket
2703
2704 =back
2705
2706 =item TCP Servers with IO::Socket
2707
2708 Proto, LocalPort, Listen, Reuse
2709
2710 =item UDP: Message Passing
2711
2712 =item SysV IPC
2713
2714 =item NOTES
2715
2716 =item BUGS
2717
2718 =item AUTHOR
2719
2720 =item SEE ALSO
2721
2722 =back
2723
2724 =head2 perldbmfilter - Perl DBM Filters
2725
2726 =over
2727
2728 =item SYNOPSIS
2729
2730 =item DESCRIPTION
2731
2732 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
2733 B<filter_fetch_value>
2734
2735 =over
2736
2737 =item The Filter
2738
2739 =item An Example -- the NULL termination problem.
2740
2741 =item Another Example -- Key is a C int.
2742
2743 =back
2744
2745 =item SEE ALSO
2746
2747 =item AUTHOR
2748
2749 =back
2750
2751 =head2 perldebug - Perl debugging
2752
2753 =over
2754
2755 =item DESCRIPTION
2756
2757 =item The Perl Debugger
2758
2759 =over
2760
2761 =item Debugger Commands
2762
2763 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
2764 [expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
2765 subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
2766 t, t expr, b [line] [condition], b subname [condition], b postpone subname
2767 [condition], b load filename, b compile subname, d [line], D, a [line]
2768 command, A, W [expr], W, O [opt[=val]] [opt"val"] [opt?]..,
2769 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
2770 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
2771 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
2772 C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
2773 C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
2774 C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>, E<lt> [ command ],
2775 E<lt>E<lt> command, E<gt> command, E<gt>E<gt> command, { [ command ], {{
2776 command, ! number, ! -number, ! pattern, !! cmd, H -number, q or ^D, R,
2777 |dbcmd, ||dbcmd, command, m expr, m package
2778
2779 =item Debugger input/output
2780
2781 Prompt, Multiline commands, Stack backtrace, Listing, Frame listing
2782
2783 =item Debugging compile-time statements
2784
2785 =item Debugger Customization
2786
2787 =item Readline Support
2788
2789 =item Editor Support for Debugging
2790
2791 =item The Perl Profiler
2792
2793 =item Debugger support in perl
2794
2795 =item Debugger Internals
2796
2797 =item Other resources
2798
2799 =item BUGS
2800
2801 =back
2802
2803 =item Debugging Perl memory usage
2804
2805 =over
2806
2807 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
2808
2809 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
2810 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
2811 6144>
2812
2813 =item Example of using B<-DL> switch
2814
2815 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
2816
2817 =item B<-DL> details
2818
2819 C<!!!>, C<!!>, C<!>
2820
2821 =item Limitations of B<-DL> statistic
2822
2823 =back
2824
2825 =item Debugging regular expressions
2826
2827 =over
2828
2829 =item Compile-time output
2830
2831 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
2832 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
2833 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
2834 C<anchored(TYPE)>
2835
2836 =item Types of nodes
2837
2838 =item Run-time output
2839
2840 =back
2841
2842 =back
2843
2844 =head2 perldiag - various Perl diagnostics
2845
2846 =over
2847
2848 =item DESCRIPTION
2849
2850 =back
2851
2852 =head2 perlsec - Perl security
2853
2854 =over
2855
2856 =item DESCRIPTION
2857
2858 =over
2859
2860 =item Laundering and Detecting Tainted Data
2861
2862 =item Switches On the "#!" Line
2863
2864 =item Cleaning Up Your Path
2865
2866 =item Security Bugs
2867
2868 =item Protecting Your Programs
2869
2870 =back
2871
2872 =item SEE ALSO
2873
2874 =back
2875
2876 =head2 perltrap - Perl traps for the unwary
2877
2878 =over
2879
2880 =item DESCRIPTION
2881
2882 =over
2883
2884 =item Awk Traps
2885
2886 =item C Traps
2887
2888 =item Sed Traps
2889
2890 =item Shell Traps
2891
2892 =item Perl Traps
2893
2894 =item Perl4 to Perl5 Traps
2895
2896 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
2897 Traps, General data type traps, Context Traps - scalar, list contexts,
2898 Precedence Traps, General Regular Expression Traps using s///, etc,
2899 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
2900
2901 =item Discontinuance, Deprecation, and BugFix traps
2902
2903 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
2904 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
2905 Discontinuance, Deprecation, Discontinuance
2906
2907 =item Parsing Traps
2908
2909 Parsing, Parsing, Parsing, Parsing
2910
2911 =item Numerical Traps
2912
2913 Numerical, Numerical, Numerical, Bitwise string ops
2914
2915 =item General data type traps
2916
2917 (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
2918 (Constants), (Scalars), (Variable Suicide)
2919
2920 =item Context Traps - scalar, list contexts
2921
2922 (list context), (scalar context), (scalar context), (list, builtin)
2923
2924 =item Precedence Traps
2925
2926 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
2927 Precedence
2928
2929 =item General Regular Expression Traps using s///, etc.
2930
2931 Regular Expression, Regular Expression, Regular Expression, Regular
2932 Expression, Regular Expression, Regular Expression, Regular Expression,
2933 Regular Expression
2934
2935 =item Subroutine, Signal, Sorting Traps
2936
2937 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
2938
2939 =item OS Traps
2940
2941 (SysV), (SysV)
2942
2943 =item Interpolation Traps
2944
2945 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
2946 Interpolation, Interpolation, Interpolation, Interpolation
2947
2948 =item DBM Traps
2949
2950 DBM, DBM
2951
2952 =item Unclassified Traps
2953
2954 C<require>/C<do> trap using returned value, C<split> on empty string with
2955 LIMIT specified
2956
2957 =back
2958
2959 =back
2960
2961 =head2 perlport - Writing portable Perl
2962
2963 =over
2964
2965 =item DESCRIPTION
2966
2967 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
2968 portable
2969
2970 =item ISSUES
2971
2972 =over
2973
2974 =item Newlines
2975
2976 =item Numbers endianness and Width
2977
2978 =item Files and Filesystems
2979
2980 =item System Interaction
2981
2982 =item Interprocess Communication (IPC)
2983
2984 =item External Subroutines (XS)
2985
2986 =item Standard Modules
2987
2988 =item Time and Date
2989
2990 =item Character sets and character encoding
2991
2992 =item Internationalisation
2993
2994 =item System Resources
2995
2996 =item Security
2997
2998 =item Style
2999
3000 =back
3001
3002 =item CPAN Testers
3003
3004 Mailing list: cpan-testers@perl.org, Testing results:
3005 C<http://www.perl.org/cpan-testers/>
3006
3007 =item PLATFORMS
3008
3009 =over
3010
3011 =item Unix
3012
3013 =item DOS and Derivatives
3014
3015 The djgpp environment for DOS, C<http://www.delorie.com/djgpp/>, The EMX
3016 environment for DOS, OS/2, etc.
3017 C<emx@iaehv.nl>,C<http://www.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/index.
3018 html> or
3019 C<ftp://hobbes.nmsu.edu/pub/os2/dev/emx>, Build instructions for Win32,
3020 L<perlwin32>, The ActiveState Pages, C<http://www.activestate.com/>, The
3021 Cygwin environment for Win32;
3022 L<README.cygwin>,C<http://sourceware.cygnus.com/cygwin/>, The U/WIN
3023 environment for Win32,C<http://www.research.att.com/sw/tools/uwin/>
3024
3025 =item S<Mac OS>
3026
3027 The MacPerl Pages, C<http://www.macperl.com/>, The MacPerl mailing lists,
3028 C<http://www.macperl.org/>, MacPerl Module Porters,
3029 C<http://pudge.net/mmp/>
3030
3031 =item VMS
3032
3033 L<README.vms>, L<perlvms.pod>, vmsperl list, C<majordomo@perl.org>, vmsperl
3034 on the web, C<http://www.sidhe.org/vmsperl/index.html>
3035
3036 =item VOS
3037
3038 L<README.vos>, VOS mailing list, VOS Perl on the web at
3039 C<http://ftp.stratus.com/pub/vos/vos.html>
3040
3041 =item EBCDIC Platforms
3042
3043 L<README.os390>, L<README.posix-bc>, L<README.vmesa>, perl-mvs list, AS/400
3044 Perl information at C<http://as400.rochester.ibm.com/>as well as on CPAN in
3045 the F<ports/> directory
3046
3047 =item Acorn RISC OS
3048
3049 =item Other perls
3050
3051 Amiga, L<README.amiga>, Atari, L<README.mint> and Guido Flohr's web
3052 pageC<http://stud.uni-sb.de/~gufl0000/>, Be OS, L<README.beos>, HP 300
3053 MPE/iX, L<README.mpeix> and Mark Bixby's web
3054 pageC<http://www.cccd.edu/~markb/perlix.html>, Novell Netware, Plan 9,
3055 L<README.plan9>
3056
3057 =back
3058
3059 =item FUNCTION IMPLEMENTATIONS
3060
3061 =over
3062
3063 =item Alphabetical Listing of Perl Functions
3064
3065 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, binmode FILEHANDLE, chmod LIST, chown
3066 LIST, chroot FILENAME, chroot, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen
3067 HASH,DBNAME,MODE, dump LABEL, exec LIST, fcntl FILEHANDLE,FUNCTION,SCALAR,
3068 flock FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid,
3069 getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME,
3070 getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber
3071 NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent,
3072 getnetent, getprotoent, getservent, setpwent, setgrent, sethostent
3073 STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN,
3074 endpwent, endgrent, endhostent, endnetent, endprotoent, endservent,
3075 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl
3076 FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat
3077 FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
3078 ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open
3079 FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select
3080 RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
3081 KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setpgrp PID,PGRP, setpriority
3082 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl
3083 ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite
3084 ID,STRING,POS,SIZE, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat
3085 FILEHANDLE, stat EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
3086 FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
3087 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
3088 wait, waitpid PID,FLAGS
3089
3090 =back
3091
3092 =item CHANGES
3093
3094 v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22
3095 May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February
3096 1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September
3097 1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998,
3098 v1.30, 03 August 1998, v1.23, 10 July 1998
3099
3100 =item AUTHORS / CONTRIBUTORS
3101
3102 =item VERSION
3103
3104 =back
3105
3106 =head2 perlstyle - Perl style guide
3107
3108 =over
3109
3110 =item DESCRIPTION
3111
3112 =back
3113
3114 =head2 perlpod - plain old documentation
3115
3116 =over
3117
3118 =item DESCRIPTION
3119
3120 =over
3121
3122 =item Verbatim Paragraph
3123
3124 =item Command Paragraph
3125
3126 =item Ordinary Block of Text
3127
3128 =item The Intent
3129
3130 =item Embedding Pods in Perl Modules
3131
3132 =item Common Pod Pitfalls
3133
3134 =back
3135
3136 =item SEE ALSO
3137
3138 =item AUTHOR
3139
3140 =back
3141
3142 =head2 perlbook - Perl book information
3143
3144 =over
3145
3146 =item DESCRIPTION
3147
3148 =back
3149
3150 =head2 perlembed - how to embed perl in your C program
3151
3152 =over
3153
3154 =item DESCRIPTION
3155
3156 =over
3157
3158 =item PREAMBLE
3159
3160 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3161 Perl?>, B<Use C from C?>, B<Use Perl from C?>
3162
3163 =item ROADMAP
3164
3165 =item Compiling your C program
3166
3167 =item Adding a Perl interpreter to your C program
3168
3169 =item Calling a Perl subroutine from your C program
3170
3171 =item Evaluating a Perl statement from your C program
3172
3173 =item Performing Perl pattern matches and substitutions from your C program
3174
3175 =item Fiddling with the Perl stack from your C program
3176
3177 =item Maintaining a persistent interpreter
3178
3179 =item Maintaining multiple interpreter instances
3180
3181 =item Using Perl modules, which themselves use C libraries, from your C
3182 program
3183
3184 =back
3185
3186 =item Embedding Perl under Win32
3187
3188 =item MORAL
3189
3190 =item AUTHOR
3191
3192 =item COPYRIGHT
3193
3194 =back
3195
3196 =head2 perlapio - perl's IO abstraction interface.
3197
3198 =over
3199
3200 =item SYNOPSIS
3201
3202 =item DESCRIPTION
3203
3204 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
3205 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
3206 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
3207 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
3208 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
3209 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
3210 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
3211 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
3212 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
3213 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
3214
3215 =over
3216
3217 =item Co-existence with stdio
3218
3219 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
3220 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
3221 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
3222 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
3223 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
3224 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
3225
3226 =back
3227
3228 =back
3229
3230 =head2 perlxs - XS language reference manual
3231
3232 =over
3233
3234 =item DESCRIPTION
3235
3236 =over
3237
3238 =item Introduction
3239
3240 =item On The Road
3241
3242 =item The Anatomy of an XSUB
3243
3244 =item The Argument Stack
3245
3246 =item The RETVAL Variable
3247
3248 =item The MODULE Keyword
3249
3250 =item The PACKAGE Keyword
3251
3252 =item The PREFIX Keyword
3253
3254 =item The OUTPUT: Keyword
3255
3256 =item The CODE: Keyword
3257
3258 =item The INIT: Keyword
3259
3260 =item The NO_INIT Keyword
3261
3262 =item Initializing Function Parameters
3263
3264 =item Default Parameter Values
3265
3266 =item The PREINIT: Keyword
3267
3268 =item The SCOPE: Keyword
3269
3270 =item The INPUT: Keyword
3271
3272 =item Variable-length Parameter Lists
3273
3274 =item The C_ARGS: Keyword
3275
3276 =item The PPCODE: Keyword
3277
3278 =item Returning Undef And Empty Lists
3279
3280 =item The REQUIRE: Keyword
3281
3282 =item The CLEANUP: Keyword
3283
3284 =item The BOOT: Keyword
3285
3286 =item The VERSIONCHECK: Keyword
3287
3288 =item The PROTOTYPES: Keyword
3289
3290 =item The PROTOTYPE: Keyword
3291
3292 =item The ALIAS: Keyword
3293
3294 =item The INTERFACE: Keyword
3295
3296 =item The INTERFACE_MACRO: Keyword
3297
3298 =item The INCLUDE: Keyword
3299
3300 =item The CASE: Keyword
3301
3302 =item The & Unary Operator
3303
3304 =item Inserting Comments and C Preprocessor Directives
3305
3306 =item Using XS With C++
3307
3308 =item Interface Strategy
3309
3310 =item Perl Objects And C Structures
3311
3312 =item The Typemap
3313
3314 =back
3315
3316 =item EXAMPLES
3317
3318 =item XS VERSION
3319
3320 =item AUTHOR
3321
3322 =back
3323
3324 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
3325
3326 =over
3327
3328 =item DESCRIPTION
3329
3330 =item SPECIAL NOTES
3331
3332 =over
3333
3334 =item make
3335
3336 =item Version caveat
3337
3338 =item Dynamic Loading versus Static Loading
3339
3340 =back
3341
3342 =item TUTORIAL
3343
3344 =over
3345
3346 =item EXAMPLE 1
3347
3348 =item EXAMPLE 2
3349
3350 =item What has gone on?
3351
3352 =item Writing good test scripts
3353
3354 =item EXAMPLE 3
3355
3356 =item What's new here?
3357
3358 =item Input and Output Parameters
3359
3360 =item The XSUBPP Program
3361
3362 =item The TYPEMAP file
3363
3364 =item Warning about Output Arguments
3365
3366 =item EXAMPLE 4
3367
3368 =item What has happened here?
3369
3370 =item Anatomy of .xs file
3371
3372 =item Getting the fat out of XSUBs
3373
3374 =item More about XSUB arguments
3375
3376 =item The Argument Stack
3377
3378 =item Extending your Extension
3379
3380 =item Documenting your Extension
3381
3382 =item Installing your Extension
3383
3384 =item EXAMPLE 5
3385
3386 =item New Things in this Example
3387
3388 =item EXAMPLE 6 (Coming Soon)
3389
3390 =item EXAMPLE 7 (Coming Soon)
3391
3392 =item EXAMPLE 8 (Coming Soon)
3393
3394 =item EXAMPLE 9 (Coming Soon)
3395
3396 =item Troubleshooting these Examples
3397
3398 =back
3399
3400 =item See also
3401
3402 =item Author
3403
3404 =over
3405
3406 =item Last Changed
3407
3408 =back
3409
3410 =back
3411
3412 =head2 perlguts - Perl's Internal Functions
3413
3414 =over
3415
3416 =item DESCRIPTION
3417
3418 =item Variables
3419
3420 =over
3421
3422 =item Datatypes
3423
3424 =item What is an "IV"?
3425
3426 =item Working with SVs
3427
3428 =item What's Really Stored in an SV?
3429
3430 =item Working with AVs
3431
3432 =item Working with HVs
3433
3434 =item Hash API Extensions
3435
3436 =item References
3437
3438 =item Blessed References and Class Objects
3439
3440 =item Creating New Variables
3441
3442 =item Reference Counts and Mortality
3443
3444 =item Stashes and Globs
3445
3446 =item Double-Typed SVs
3447
3448 =item Magic Variables
3449
3450 =item Assigning Magic
3451
3452 =item Magic Virtual Tables
3453
3454 =item Finding Magic
3455
3456 =item Understanding the Magic of Tied Hashes and Arrays
3457
3458 =item Localizing changes
3459
3460 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
3461 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEFREEOP(OP
3462 *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>, C<SAVEDELETE(HV *hv, char
3463 *key, I32 length)>, C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void
3464 *p)>, C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>,
3465 C<SV* save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV
3466 *gv)>, C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32
3467 maxsarg)>, C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>,
3468 C<void save_hptr(HV **hptr)>
3469
3470 =back
3471
3472 =item Subroutines
3473
3474 =over
3475
3476 =item XSUBs and the Argument Stack
3477
3478 =item Calling Perl Routines from within C Programs
3479
3480 =item Memory Allocation
3481
3482 =item PerlIO
3483
3484 =item Putting a C value on Perl stack
3485
3486 =item Scratchpads
3487
3488 =item Scratchpads and recursion
3489
3490 =back
3491
3492 =item Compiled code
3493
3494 =over
3495
3496 =item Code tree
3497
3498 =item Examining the tree
3499
3500 =item Compile pass 1: check routines
3501
3502 =item Compile pass 1a: constant folding
3503
3504 =item Compile pass 2: context propagation
3505
3506 =item Compile pass 3: peephole optimization
3507
3508 =back
3509
3510 =item The Perl Internal API
3511
3512 =over
3513
3514 =item Background and PERL_IMPLICIT_CONTEXT
3515
3516 =item How do I use all this in extensions?
3517
3518 =item Future Plans and PERL_IMPLICIT_SYS
3519
3520 =back
3521
3522 =item API LISTING
3523
3524 av_clear, av_extend, av_fetch, AvFILL, av_len, av_make, av_pop, av_push,
3525 av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
3526 PL_DBsingle, PL_DBsub, PL_DBtrace, dMARK, dORIGMARK, PL_dowarn, dSP,
3527 dXSARGS, dXSI32, do_binmode, ENTER, EXTEND, fbm_compile, fbm_instr,
3528 FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME, GIMME_V, G_NOARGS, G_SCALAR,
3529 gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, G_VOID, gv_stashpv,
3530 gv_stashsv, GvSV, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY,
3531 HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, hv_delete, hv_delete_ent,
3532 hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey,
3533 hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, HvNAME,
3534 hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER,
3535 isSPACE, isUPPER, items, ix, LEAVE, looks_like_number, MARK, mg_clear,
3536 mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, modglobal,
3537 Move, PL_na, New, newAV, Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc,
3538 NEWSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv,
3539 newXS, newXSproto, Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK,
3540 perl_alloc, perl_call_argv, perl_call_method, perl_call_pv, perl_call_sv,
3541 perl_construct, perl_destruct, perl_eval_sv, perl_eval_pv, perl_free,
3542 perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
3543 perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
3544 PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, RETVAL, safefree,
3545 safemalloc, saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ,
3546 strGE, strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless,
3547 sv_catpv, sv_catpv_mg, sv_catpvn, sv_catpvn_mg, sv_catpvf, sv_catpvf_mg,
3548 sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, SvCUR, SvCUR_set, sv_dec,
3549 sv_derived_from, SvEND, sv_eq, SvGETMAGIC, SvGROW, sv_grow, sv_inc,
3550 sv_insert, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOKp, sv_isa,
3551 sv_isobject, SvIV, SvIVX, SvLEN, sv_len, sv_magic, sv_mortalcopy,
3552 sv_newmortal, SvNIOK, SvNIOK_off, SvNIOKp, PL_sv_no, SvNOK, SvNOK_off,
3553 SvNOK_on, SvNOK_only, SvNOKp, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOK_off,
3554 SvPOK_on, SvPOK_only, SvPOKp, SvPV, SvPV_force, SvPV_nolen, SvPVX,
3555 SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
3556 SvSETMAGIC, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv,
3557 sv_setpv_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpvf,
3558 sv_setpvf_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn,
3559 SvSetSV, SvSetSV_nosteal, sv_setsv, sv_setsv_mg, sv_setuv, sv_setuv_mg,
3560 SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SVt_IV, SVt_PV,
3561 SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype,
3562 PL_sv_undef, sv_unref, SvUPGRADE, sv_upgrade, sv_usepvn, sv_usepvn_mg,
3563 sv_vcatpvfn, sv_vsetpvfn, SvUV, SvUVX, PL_sv_yes, THIS, toLOWER, toUPPER,
3564 warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS, XSRETURN, XSRETURN_EMPTY,
3565 XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF,
3566 XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES,
3567 XS_VERSION, XS_VERSION_BOOTCHECK, Zero
3568
3569 =item AUTHORS
3570
3571 =back
3572
3573 =head2 perlcall - Perl calling conventions from C
3574
3575 =over
3576
3577 =item DESCRIPTION
3578
3579 An Error Handler, An Event Driven Program
3580
3581 =item THE PERL_CALL FUNCTIONS
3582
3583 perl_call_sv, perl_call_pv, perl_call_method, perl_call_argv
3584
3585 =item FLAG VALUES
3586
3587 =over
3588
3589 =item  G_VOID
3590
3591 =item  G_SCALAR
3592
3593 =item G_ARRAY
3594
3595 =item G_DISCARD
3596
3597 =item G_NOARGS
3598
3599 =item G_EVAL
3600
3601 =item G_KEEPERR
3602
3603 =item Determining the Context
3604
3605 =back
3606
3607 =item KNOWN PROBLEMS
3608
3609 =item EXAMPLES
3610
3611 =over
3612
3613 =item No Parameters, Nothing returned
3614
3615 =item Passing Parameters
3616
3617 =item Returning a Scalar
3618
3619 =item Returning a list of values
3620
3621 =item Returning a list in a scalar context
3622
3623 =item Returning Data from Perl via the parameter list
3624
3625 =item Using G_EVAL
3626
3627 =item Using G_KEEPERR
3628
3629 =item Using perl_call_sv
3630
3631 =item Using perl_call_argv
3632
3633 =item Using perl_call_method
3634
3635 =item Using GIMME_V
3636
3637 =item Using Perl to dispose of temporaries
3638
3639 =item Strategies for storing Callback Context Information
3640
3641 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
3642 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
3643 callback
3644
3645 =item Alternate Stack Manipulation
3646
3647 =item Creating and calling an anonymous subroutine in C
3648
3649 =back
3650
3651 =item SEE ALSO
3652
3653 =item AUTHOR
3654
3655 =item DATE
3656
3657 =back
3658
3659 =head2 perlcompile - Introduction to the Perl Compiler-Translator 
3660
3661 =over
3662
3663 =item DESCRIPTION
3664
3665 =over
3666
3667 =item Layout
3668
3669 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3670
3671 =back
3672
3673 =item Using The Back Ends
3674
3675 =over
3676
3677 =item The Cross Referencing Back End (B::Xref)
3678
3679 i, &, s, r
3680
3681 =item The Decompiling Back End
3682
3683 =item The Lint Back End (B::Lint)
3684
3685 =item The Simple C Back End
3686
3687 =item The Bytecode Back End
3688
3689 =item The Optimized C Back End
3690
3691 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3692 B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj,
3693 B::Stash, B::Terse, B::Xref
3694
3695 =back
3696
3697 =back
3698
3699 =over
3700
3701 =item KNOWN PROBLEMS
3702
3703 =item AUTHOR
3704
3705 =back
3706
3707 =head2 perlhist - the Perl history records
3708
3709 =over
3710
3711 =item DESCRIPTION
3712
3713 =item INTRODUCTION
3714
3715 =item THE KEEPERS OF THE PUMPKIN
3716
3717 =over
3718
3719 =item PUMPKIN?
3720
3721 =back
3722
3723 =item THE RECORDS
3724
3725 =over
3726
3727 =item SELECTED RELEASE SIZES
3728
3729 =item SELECTED PATCH SIZES
3730
3731 =back
3732
3733 =item THE KEEPERS OF THE RECORDS
3734
3735 =back
3736
3737 =head1 PRAGMA DOCUMENTATION
3738
3739 =head2 attrs - set/get attributes of a subroutine (deprecated)
3740
3741 =over
3742
3743 =item SYNOPSIS
3744
3745 =item DESCRIPTION
3746
3747 method, locked
3748
3749 =back
3750
3751 =head2 re - Perl pragma to alter regular expression behaviour
3752
3753 =over
3754
3755 =item SYNOPSIS
3756
3757 =item DESCRIPTION
3758
3759 =back
3760
3761 =head2 attributes - get/set subroutine or variable attributes
3762
3763 =over
3764
3765 =item SYNOPSIS
3766
3767 =item DESCRIPTION
3768
3769 =over
3770
3771 =item Built-in Attributes
3772
3773 locked, method
3774
3775 =item Available Subroutines
3776
3777 get, reftype
3778
3779 =item Package-specific Attribute Handling
3780
3781 FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
3782
3783 =item Syntax of Attribute Lists
3784
3785 =back
3786
3787 =item EXPORTS
3788
3789 =over
3790
3791 =item Default exports
3792
3793 =item Available exports
3794
3795 =item Export tags defined
3796
3797 =back
3798
3799 =item EXAMPLES
3800
3801 =item SEE ALSO
3802
3803 =back
3804
3805 =head2 attrs - set/get attributes of a subroutine (deprecated)
3806
3807 =over
3808
3809 =item SYNOPSIS
3810
3811 =item DESCRIPTION
3812
3813 method, locked
3814
3815 =back
3816
3817 =head2 autouse - postpone load of modules until a function is used
3818
3819 =over
3820
3821 =item SYNOPSIS
3822
3823 =item DESCRIPTION
3824
3825 =item WARNING
3826
3827 =item AUTHOR
3828
3829 =item SEE ALSO
3830
3831 =back
3832
3833 =head2 base - Establish IS-A relationship with base class at compile time
3834
3835 =over
3836
3837 =item SYNOPSIS
3838
3839 =item DESCRIPTION
3840
3841 =item HISTORY
3842
3843 =item SEE ALSO
3844
3845 =back
3846
3847 =head2 blib - Use MakeMaker's uninstalled version of a package
3848
3849 =over
3850
3851 =item SYNOPSIS
3852
3853 =item DESCRIPTION
3854
3855 =item BUGS
3856
3857 =item AUTHOR
3858
3859 =back
3860
3861 =head2 byte - Perl pragma to turn force treating strings as bytes not
3862 UNICODE
3863
3864 =over
3865
3866 =item SYNOPSIS
3867
3868 =item DESCRIPTION
3869
3870 =back
3871
3872 =head2 caller - inherit pragmatic attributes from the context of the caller
3873
3874 =over
3875
3876 =item SYNOPSIS
3877
3878 =item DESCRIPTION
3879
3880 encoding
3881
3882 =back
3883
3884 =head2 charnames - define character names for C<\N{named}> string literal
3885 escape.
3886
3887 =over
3888
3889 =item SYNOPSIS
3890
3891 =item DESCRIPTION
3892
3893 =item CUSTOM TRANSLATORS
3894
3895 =item BUGS
3896
3897 =back
3898
3899 =head2 constant - Perl pragma to declare constants
3900
3901 =over
3902
3903 =item SYNOPSIS
3904
3905 =item DESCRIPTION
3906
3907 =item NOTES
3908
3909 =item TECHNICAL NOTE
3910
3911 =item BUGS
3912
3913 =item AUTHOR
3914
3915 =item COPYRIGHT
3916
3917 =back
3918
3919 =head2 diagnostics - Perl compiler pragma to force verbose warning
3920 diagnostics
3921
3922 =over
3923
3924 =item SYNOPSIS
3925
3926 =item DESCRIPTION
3927
3928 =over
3929
3930 =item The C<diagnostics> Pragma
3931
3932 =item The I<splain> Program
3933
3934 =back
3935
3936 =item EXAMPLES
3937
3938 =item INTERNALS
3939
3940 =item BUGS
3941
3942 =item AUTHOR
3943
3944 =back
3945
3946 =head2 fields - compile-time class fields
3947
3948 =over
3949
3950 =item SYNOPSIS
3951
3952 =item DESCRIPTION
3953
3954 =item SEE ALSO
3955
3956 =back
3957
3958 =head2 filetest - Perl pragma to control the filetest permission operators
3959
3960 =over
3961
3962 =item SYNOPSIS
3963
3964     $can_perhaps_read = -r "file";      # use the mode bits
3965     {
3966         use filetest 'access';          # intuit harder
3967         $can_really_read = -r "file";
3968     }
3969     $can_perhaps_read = -r "file";      # use the mode bits again
3970
3971 =item DESCRIPTION
3972
3973 =over
3974
3975 =item subpragma access
3976
3977 =back
3978
3979 =back
3980
3981 =head2 integer - Perl pragma to compute arithmetic in integer instead of
3982 double
3983
3984 =over
3985
3986 =item SYNOPSIS
3987
3988 =item DESCRIPTION
3989
3990 =back
3991
3992 =head2 less - perl pragma to request less of something from the compiler
3993
3994 =over
3995
3996 =item SYNOPSIS
3997
3998 =item DESCRIPTION
3999
4000 =back
4001
4002 =head2 lib - manipulate @INC at compile time
4003
4004 =over
4005
4006 =item SYNOPSIS
4007
4008 =item DESCRIPTION
4009
4010 =over
4011
4012 =item Adding directories to @INC
4013
4014 =item Deleting directories from @INC
4015
4016 =item Restoring original @INC
4017
4018 =back
4019
4020 =item SEE ALSO
4021
4022 =item AUTHOR
4023
4024 =back
4025
4026 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
4027 operations
4028
4029 =over
4030
4031 =item SYNOPSIS
4032
4033 =item DESCRIPTION
4034
4035 =back
4036
4037 =head2 ops - Perl pragma to restrict unsafe operations when compiling
4038
4039 =over
4040
4041 =item SYNOPSIS  
4042
4043 =item DESCRIPTION
4044
4045 =item SEE ALSO
4046
4047 =back
4048
4049 =head2 overload - Package for overloading perl operations
4050
4051 =over
4052
4053 =item SYNOPSIS
4054
4055 =item DESCRIPTION
4056
4057 =over
4058
4059 =item Declaration of overloaded functions
4060
4061 =item Calling Conventions for Binary Operations
4062
4063 FALSE, TRUE, C<undef>
4064
4065 =item Calling Conventions for Unary Operations
4066
4067 =item Calling Conventions for Mutators
4068
4069 C<++> and C<-->, C<x=> and other assignment versions
4070
4071 =item Overloadable Operations
4072
4073 I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
4074 I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string
4075 and numeric conversion>, I<Iteration>, I<Dereferencing>, I<Special>
4076
4077 =item Inheritance and overloading
4078
4079 Strings as values of C<use overload> directive, Overloading of an operation
4080 is inherited by derived classes
4081
4082 =back
4083
4084 =item SPECIAL SYMBOLS FOR C<use overload>
4085
4086 =over
4087
4088 =item Last Resort
4089
4090 =item Fallback 
4091
4092 C<undef>, TRUE, defined, but FALSE
4093
4094 =item Copy Constructor
4095
4096 B<Example>
4097
4098 =back
4099
4100 =item MAGIC AUTOGENERATION
4101
4102 I<Assignment forms of arithmetic operations>, I<Conversion operations>,
4103 I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
4104 I<Concatenation>, I<Comparison operations>, I<Iterator>, I<Dereferencing>,
4105 I<Copy operator>
4106
4107 =item Losing overloading
4108
4109 =item Run-time Overloading
4110
4111 =item Public functions
4112
4113 overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
4114
4115 =item Overloading constants
4116
4117 integer, float, binary, q, qr
4118
4119 =item IMPLEMENTATION
4120
4121 =item Metaphor clash
4122
4123 =item Cookbook
4124
4125 =over
4126
4127 =item Two-face scalars
4128
4129 =item Two-face references
4130
4131 =item Symbolic calculator
4132
4133 =item I<Really> symbolic calculator
4134
4135 =back
4136
4137 =item AUTHOR
4138
4139 =item DIAGNOSTICS
4140
4141 =item BUGS
4142
4143 =back
4144
4145 =head2 re - Perl pragma to alter regular expression behaviour
4146
4147 =over
4148
4149 =item SYNOPSIS
4150
4151 =item DESCRIPTION
4152
4153 =back
4154
4155 =head2 sigtrap - Perl pragma to enable simple signal handling
4156
4157 =over
4158
4159 =item SYNOPSIS
4160
4161 =item DESCRIPTION
4162
4163 =item OPTIONS
4164
4165 =over
4166
4167 =item SIGNAL HANDLERS
4168
4169 B<stack-trace>, B<die>, B<handler> I<your-handler>
4170
4171 =item SIGNAL LISTS
4172
4173 B<normal-signals>, B<error-signals>, B<old-interface-signals>
4174
4175 =item OTHER
4176
4177 B<untrapped>, B<any>, I<signal>, I<number>
4178
4179 =back
4180
4181 =item EXAMPLES
4182
4183 =back
4184
4185 =head2 strict - Perl pragma to restrict unsafe constructs
4186
4187 =over
4188
4189 =item SYNOPSIS
4190
4191 =item DESCRIPTION
4192
4193 C<strict refs>, C<strict vars>, C<strict subs>
4194
4195 =back
4196
4197 =head2 subs - Perl pragma to predeclare sub names
4198
4199 =over
4200
4201 =item SYNOPSIS
4202
4203 =item DESCRIPTION
4204
4205 =back
4206
4207 =head2 utf8 - Perl pragma to turn on UTF-8 and Unicode support
4208
4209 =over
4210
4211 =item SYNOPSIS
4212
4213 =item DESCRIPTION
4214
4215 =item CAVEATS
4216
4217 =back
4218
4219 =head2 vars - Perl pragma to predeclare global variable names (obsolete)
4220
4221 =over
4222
4223 =item SYNOPSIS
4224
4225 =item DESCRIPTION
4226
4227 =back
4228
4229 =head2 warnings - Perl pragma to control optional warnings
4230
4231 =over
4232
4233 =item SYNOPSIS
4234
4235 =item DESCRIPTION
4236
4237 =back
4238
4239 =head1 MODULE DOCUMENTATION
4240
4241 =head2 AnyDBM_File - provide framework for multiple DBMs
4242
4243 =over
4244
4245 =item SYNOPSIS
4246
4247 =item DESCRIPTION
4248
4249 =over
4250
4251 =item DBM Comparisons
4252
4253 [0], [1], [2], [3]
4254
4255 =back
4256
4257 =item SEE ALSO
4258
4259 =back
4260
4261 =head2 AutoLoader - load subroutines only on demand
4262
4263 =over
4264
4265 =item SYNOPSIS
4266
4267 =item DESCRIPTION
4268
4269 =over
4270
4271 =item Subroutine Stubs
4272
4273 =item Using B<AutoLoader>'s AUTOLOAD Subroutine
4274
4275 =item Overriding B<AutoLoader>'s AUTOLOAD Subroutine
4276
4277 =item Package Lexicals
4278
4279 =item B<AutoLoader> vs. B<SelfLoader>
4280
4281 =back
4282
4283 =item CAVEATS
4284
4285 =item SEE ALSO
4286
4287 =back
4288
4289 =head2 AutoSplit - split a package for autoloading
4290
4291 =over
4292
4293 =item SYNOPSIS
4294
4295 =item DESCRIPTION
4296
4297 $keep, $check, $modtime
4298
4299 =over
4300
4301 =item Multiple packages
4302
4303 =back
4304
4305 =item DIAGNOSTICS
4306
4307 =back
4308
4309 =head2 B - The Perl Compiler
4310
4311 =over
4312
4313 =item SYNOPSIS
4314
4315 =item DESCRIPTION
4316
4317 =item OVERVIEW OF CLASSES
4318
4319 =over
4320
4321 =item SV-RELATED CLASSES
4322
4323 =item B::SV METHODS
4324
4325 REFCNT, FLAGS
4326
4327 =item B::IV METHODS
4328
4329 IV, IVX, needs64bits, packiv
4330
4331 =item B::NV METHODS
4332
4333 NV, NVX
4334
4335 =item B::RV METHODS
4336
4337 RV
4338
4339 =item B::PV METHODS
4340
4341 PV
4342
4343 =item B::PVMG METHODS
4344
4345 MAGIC, SvSTASH
4346
4347 =item B::MAGIC METHODS
4348
4349 MOREMAGIC, PRIVATE, TYPE, FLAGS, OBJ, PTR
4350
4351 =item B::PVLV METHODS
4352
4353 TARGOFF, TARGLEN, TYPE, TARG
4354
4355 =item B::BM METHODS
4356
4357 USEFUL, PREVIOUS, RARE, TABLE
4358
4359 =item B::GV METHODS
4360
4361 NAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE, FILEGV,
4362 GvREFCNT, FLAGS
4363
4364 =item B::IO METHODS
4365
4366 LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV,
4367 BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS
4368
4369 =item B::AV METHODS
4370
4371 FILL, MAX, OFF, ARRAY, AvFLAGS
4372
4373 =item B::CV METHODS
4374
4375 STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, XSUB, XSUBANY,
4376 CvFLAGS
4377
4378 =item B::HV METHODS
4379
4380 FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY
4381
4382 =item OP-RELATED CLASSES
4383
4384 =item B::OP METHODS
4385
4386 next, sibling, name, ppaddr, desc, targ, type, seq, flags, private
4387
4388 =item B::UNOP METHOD
4389
4390 first
4391
4392 =item B::BINOP METHOD
4393
4394 last
4395
4396 =item B::LOGOP METHOD
4397
4398 other
4399
4400 =item B::LISTOP METHOD
4401
4402 children
4403
4404 =item B::PMOP METHODS
4405
4406 pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp
4407
4408 =item B::SVOP METHOD
4409
4410 sv, gv
4411
4412 =item B::PADOP METHOD
4413
4414 padix
4415
4416 =item B::PVOP METHOD
4417
4418 pv
4419
4420 =item B::LOOP METHODS
4421
4422 redoop, nextop, lastop
4423
4424 =item B::COP METHODS
4425
4426 label, stash, file, cop_seq, arybase, line
4427
4428 =back
4429
4430 =item FUNCTIONS EXPORTED BY C<B>
4431
4432 main_cv, init_av, main_root, main_start, comppadlist, sv_undef, sv_yes,
4433 sv_no, amagic_generation, walkoptree(OP, METHOD), walkoptree_debug(DEBUG),
4434 walksymtable(SYMREF, METHOD, RECURSE), svref_2object(SV), ppname(OPNUM),
4435 hash(STR), cast_I32(I), minus_c, cstring(STR), class(OBJ), threadsv_names
4436
4437 =item AUTHOR
4438
4439 =back
4440
4441 =head2 B::Asmdata - Autogenerated data about Perl ops, used to generate
4442 bytecode
4443
4444 =over
4445
4446 =item SYNOPSIS
4447
4448 =item DESCRIPTION
4449
4450 =item AUTHOR
4451
4452 =back
4453
4454 =head2 B::Assembler - Assemble Perl bytecode
4455
4456 =over
4457
4458 =item SYNOPSIS
4459
4460 =item DESCRIPTION
4461
4462 =item AUTHOR
4463
4464 =back
4465
4466 =head2 B::Bblock - Walk basic blocks
4467
4468 =over
4469
4470 =item SYNOPSIS
4471
4472 =item DESCRIPTION
4473
4474 =item AUTHOR
4475
4476 =back
4477
4478 =head2 B::Bytecode - Perl compiler's bytecode backend
4479
4480 =over
4481
4482 =item SYNOPSIS
4483
4484 =item DESCRIPTION
4485
4486 =item OPTIONS
4487
4488 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
4489 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-fstrip-syntax-tree>,
4490 B<-On>, B<-D>, B<-Do>, B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-m>
4491
4492 =item EXAMPLES
4493
4494 =item BUGS
4495
4496 =item AUTHOR
4497
4498 =back
4499
4500 =head2 B::C - Perl compiler's C backend
4501
4502 =over
4503
4504 =item SYNOPSIS
4505
4506 =item DESCRIPTION
4507
4508 =item OPTIONS
4509
4510 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-D>, B<-Do>, B<-Dc>, B<-DA>,
4511 B<-DC>, B<-DM>, B<-f>, B<-fcog>, B<-fno-cog>, B<-On>
4512
4513 =item EXAMPLES
4514
4515 =item BUGS
4516
4517 =item AUTHOR
4518
4519 =back
4520
4521 =head2 B::CC - Perl compiler's optimized C translation backend
4522
4523 =over
4524
4525 =item SYNOPSIS
4526
4527 =item DESCRIPTION
4528
4529 =item OPTIONS
4530
4531 B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-mModulename>, B<-D>, B<-Dr>,
4532 B<-DO>, B<-Ds>, B<-Dp>, B<-Dq>, B<-Dl>, B<-Dt>, B<-f>,
4533 B<-ffreetmps-each-bblock>, B<-ffreetmps-each-loop>, B<-fomit-taint>, B<-On>
4534
4535 =item EXAMPLES
4536
4537 =item BUGS
4538
4539 =item DIFFERENCES
4540
4541 =over
4542
4543 =item Loops
4544
4545 =item Context of ".."
4546
4547 =item Arithmetic
4548
4549 =item Deprecated features
4550
4551 =back
4552
4553 =item AUTHOR
4554
4555 =back
4556
4557 =head2 B::Debug - Walk Perl syntax tree, printing debug info about ops
4558
4559 =over
4560
4561 =item SYNOPSIS
4562
4563 =item DESCRIPTION
4564
4565 =item AUTHOR
4566
4567 =back
4568
4569 =head2 B::Deparse - Perl compiler backend to produce perl code
4570
4571 =over
4572
4573 =item SYNOPSIS
4574
4575 =item DESCRIPTION
4576
4577 =item OPTIONS
4578
4579 B<-l>, B<-p>, B<-q>, B<-u>I<PACKAGE>, B<-s>I<LETTERS>, B<C>, B<i>I<NUMBER>,
4580 B<T>, B<v>I<STRING>B<.>
4581
4582 =item USING B::Deparse AS A MODULE
4583
4584 =over
4585
4586 =item Synopsis
4587
4588 =item Description
4589
4590 =item new
4591
4592 =item coderef2text
4593
4594 =back
4595
4596 =item BUGS
4597
4598 =item AUTHOR
4599
4600 =back
4601
4602 =head2 B::Disassembler - Disassemble Perl bytecode
4603
4604 =over
4605
4606 =item SYNOPSIS
4607
4608 =item DESCRIPTION
4609
4610 =item AUTHOR
4611
4612 =back
4613
4614 =head2 B::Lint - Perl lint
4615
4616 =over
4617
4618 =item SYNOPSIS
4619
4620 =item DESCRIPTION
4621
4622 =item OPTIONS AND LINT CHECKS
4623
4624 B<context>, B<implicit-read> and B<implicit-write>, B<dollar-underscore>,
4625 B<private-names>, B<undefined-subs>, B<regexp-variables>, B<all>, B<none>
4626
4627 =item NON LINT-CHECK OPTIONS
4628
4629 B<-u Package>
4630
4631 =item BUGS
4632
4633 =item AUTHOR
4634
4635 =back
4636
4637 =head2 B::O, O - Generic interface to Perl Compiler backends
4638
4639 =over
4640
4641 =item SYNOPSIS
4642
4643 =item DESCRIPTION
4644
4645 =item CONVENTIONS
4646
4647 =item IMPLEMENTATION
4648
4649 =item AUTHOR
4650
4651 =back
4652
4653 =head2 B::Showlex - Show lexical variables used in functions or files
4654
4655 =over
4656
4657 =item SYNOPSIS
4658
4659 =item DESCRIPTION
4660
4661 =item AUTHOR
4662
4663 =back
4664
4665 =head2 B::Stackobj - Helper module for CC backend
4666
4667 =over
4668
4669 =item SYNOPSIS
4670
4671 =item DESCRIPTION
4672
4673 =item AUTHOR
4674
4675 =back
4676
4677 =head2 B::Terse - Walk Perl syntax tree, printing terse info about ops
4678
4679 =over
4680
4681 =item SYNOPSIS
4682
4683 =item DESCRIPTION
4684
4685 =item AUTHOR
4686
4687 =back
4688
4689 =head2 B::Xref - Generates cross reference reports for Perl programs
4690
4691 =over
4692
4693 =item SYNOPSIS
4694
4695 =item DESCRIPTION
4696
4697 =item OPTIONS
4698
4699 C<-oFILENAME>, C<-r>, C<-D[tO]>
4700
4701 =item BUGS
4702
4703 =item AUTHOR
4704
4705 =back
4706
4707 =head2 Bblock, B::Bblock - Walk basic blocks
4708
4709 =over
4710
4711 =item SYNOPSIS
4712
4713 =item DESCRIPTION
4714
4715 =item AUTHOR
4716
4717 =back
4718
4719 =head2 Benchmark - benchmark running times of Perl code
4720
4721 =over
4722
4723 =item SYNOPSIS
4724
4725 =item DESCRIPTION
4726
4727 =over
4728
4729 =item Methods
4730
4731 new, debug, iters
4732
4733 =item Standard Exports
4734
4735 timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ),
4736 timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr (
4737 TIMEDIFF, [ STYLE, [ FORMAT ] ] )
4738
4739 =item Optional Exports
4740
4741 clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUT, CODEHASHREF, [
4742 STYLE ] ), cmpthese ( RESULTSHASHREF ), countit(TIME, CODE), disablecache (
4743 ), enablecache ( ), timesum ( T1, T2 )
4744
4745 =back
4746
4747 =item NOTES
4748
4749 =item EXAMPLES
4750
4751 =item INHERITANCE
4752
4753 =item CAVEATS
4754
4755 =item SEE ALSO
4756
4757 =item AUTHORS
4758
4759 =item MODIFICATION HISTORY
4760
4761 =back
4762
4763 =head2 ByteLoader - load byte compiled perl code
4764
4765 =over
4766
4767 =item SYNOPSIS
4768
4769 =item DESCRIPTION
4770
4771 =item AUTHOR
4772
4773 =item SEE ALSO
4774
4775 =back
4776
4777 =head2 Bytecode, B::Bytecode - Perl compiler's bytecode backend
4778
4779 =over
4780
4781 =item SYNOPSIS
4782
4783 =item DESCRIPTION
4784
4785 =item OPTIONS
4786
4787 B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
4788 B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-fstrip-syntax-tree>,
4789 B<-On>, B<-D>, B<-Do>, B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-m>
4790
4791 =item EXAMPLES
4792
4793 =item BUGS
4794
4795 =item AUTHOR
4796
4797 =back
4798
4799 =head2 CGI - Simple Common Gateway Interface Class
4800
4801 =over
4802
4803 =item SYNOPSIS
4804
4805 =item ABSTRACT
4806
4807 =item DESCRIPTION
4808
4809 =over
4810
4811 =item PROGRAMMING STYLE
4812
4813 =item CALLING CGI.PM ROUTINES
4814
4815 1. Use another name for the argument, if one is available.  Forexample,
4816 -value is an alias for -values, 2. Change the capitalization, e.g. -Values,
4817 3. Put quotes around the argument name, e.g. '-values'
4818
4819 =item CREATING A NEW QUERY OBJECT (OBJECT-ORIENTED STYLE):
4820
4821 =item CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
4822
4823 =item FETCHING A LIST OF KEYWORDS FROM THE QUERY:
4824
4825 =item FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:
4826
4827 =item FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:
4828
4829 =item SETTING THE VALUE(S) OF A NAMED PARAMETER:
4830
4831 =item APPENDING ADDITIONAL VALUES TO A NAMED PARAMETER:
4832
4833 =item IMPORTING ALL PARAMETERS INTO A NAMESPACE:
4834
4835 =item DELETING A PARAMETER COMPLETELY:
4836
4837 =item DELETING ALL PARAMETERS:
4838
4839 =item DIRECT ACCESS TO THE PARAMETER LIST:
4840
4841 =item FETCHING THE PARAMETER LIST AS A HASH:
4842
4843 =item SAVING THE STATE OF THE SCRIPT TO A FILE:
4844
4845 =item RETRIEVING CGI ERRORS
4846
4847 =item USING THE FUNCTION-ORIENTED INTERFACE
4848
4849 B<:cgi>, B<:form>, B<:html2>, B<:html3>, B<:netscape>, B<:html>,
4850 B<:standard>, B<:all>
4851
4852 =item PRAGMAS
4853
4854 -any, -compile, -nph, -newstyle_urls, -autoload, -no_debug,
4855 -private_tempfiles
4856
4857 =item SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS
4858
4859 1. start_table() (generates a <TABLE> tag), 2. end_table() (generates a
4860 </TABLE> tag), 3. start_ul() (generates a <UL> tag), 4. end_ul() (generates
4861 a </UL> tag)
4862
4863 =back
4864
4865 =item GENERATING DYNAMIC DOCUMENTS
4866
4867 =over
4868
4869 =item CREATING A STANDARD HTTP HEADER:
4870
4871 =item GENERATING A REDIRECTION HEADER
4872
4873 =item CREATING THE HTML DOCUMENT HEADER
4874
4875 B<Parameters:>, 4, 5, 6..
4876
4877 =item ENDING THE HTML DOCUMENT:
4878
4879 =item CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
4880
4881 =item OBTAINING THE SCRIPT'S URL
4882
4883 B<-absolute>, B<-relative>, B<-full>, B<-path> (B<-path_info>), B<-query>
4884 (B<-query_string>)
4885
4886 =item MIXING POST AND URL PARAMETERS
4887
4888 =back
4889
4890 =item CREATING STANDARD HTML ELEMENTS:
4891
4892 =over
4893
4894 =item PROVIDING ARGUMENTS TO HTML SHORTCUTS
4895
4896 =item THE DISTRIBUTIVE PROPERTY OF HTML SHORTCUTS
4897
4898 =item HTML SHORTCUTS AND LIST INTERPOLATION
4899
4900 =item NON-STANDARD HTML SHORTCUTS
4901
4902 =item PRETTY-PRINTING HTML
4903
4904 =back
4905
4906 =item CREATING FILL-OUT FORMS:
4907
4908 =over
4909
4910 =item CREATING AN ISINDEX TAG
4911
4912 =item STARTING AND ENDING A FORM
4913
4914 B<application/x-www-form-urlencoded>, B<multipart/form-data>
4915
4916 =item CREATING A TEXT FIELD
4917
4918 B<Parameters>
4919
4920 =item CREATING A BIG TEXT FIELD
4921
4922 =item CREATING A PASSWORD FIELD
4923
4924 =item CREATING A FILE UPLOAD FIELD
4925
4926 B<Parameters>
4927
4928 =item CREATING A POPUP MENU
4929
4930 =item CREATING A SCROLLING LIST
4931
4932 B<Parameters:>
4933
4934 =item CREATING A GROUP OF RELATED CHECKBOXES
4935
4936 B<Parameters:>
4937
4938 =item CREATING A STANDALONE CHECKBOX
4939
4940 B<Parameters:>
4941
4942 =item CREATING A RADIO BUTTON GROUP
4943
4944 B<Parameters:>
4945
4946 =item CREATING A SUBMIT BUTTON 
4947
4948 B<Parameters:>
4949
4950 =item CREATING A RESET BUTTON
4951
4952 =item CREATING A DEFAULT BUTTON
4953
4954 =item CREATING A HIDDEN FIELD
4955
4956 B<Parameters:>
4957
4958 =item CREATING A CLICKABLE IMAGE BUTTON
4959
4960 B<Parameters:>, 3.The third option (-align, optional) is an alignment type,
4961 and may be
4962 TOP, BOTTOM or MIDDLE
4963
4964 =item CREATING A JAVASCRIPT ACTION BUTTON
4965
4966 =back
4967
4968 =item HTTP COOKIES
4969
4970 1. an expiration time, 2. a domain, 3. a path, 4. a "secure" flag,
4971 B<-name>, B<-value>, B<-path>, B<-domain>, B<-expires>, B<-secure>
4972
4973 =item WORKING WITH FRAMES
4974
4975 1. Create a <Frameset> document, 2. Specify the destination for the
4976 document in the HTTP header, 3. Specify the destination for the document in
4977 the <FORM> tag
4978
4979 =item LIMITED SUPPORT FOR CASCADING STYLE SHEETS
4980
4981 =item DEBUGGING
4982
4983 =over
4984
4985 =item DUMPING OUT ALL THE NAME/VALUE PAIRS
4986
4987 =back
4988
4989 =item FETCHING ENVIRONMENT VARIABLES
4990
4991 B<Accept()>, B<raw_cookie()>, B<user_agent()>, B<path_info()>,
4992 B<path_translated()>, B<remote_host()>, B<script_name()>Return the script
4993 name as a partial URL, for self-refering
4994 scripts, B<referer()>, B<auth_type ()>, B<server_name ()>, B<virtual_host
4995 ()>, B<server_software ()>, B<remote_user ()>, B<user_name ()>,
4996 B<request_method()>, B<content_type()>, B<http()>, B<https()>
4997
4998 =item USING NPH SCRIPTS
4999
5000 In the B<use> statement, By calling the B<nph()> method:, By using B<-nph>
5001 parameters in the B<header()> and B<redirect()>  statements:
5002
5003 =item Server Push
5004
5005 multipart_init()     
5006   multipart_init(-boundary=>$boundary);, multipart_start(), multipart_end()
5007
5008 =item Avoiding Denial of Service Attacks
5009
5010 B<$CGI::POST_MAX>, B<$CGI::DISABLE_UPLOADS>, B<1. On a script-by-script
5011 basis>, B<2. Globally for all scripts>
5012
5013 =item COMPATIBILITY WITH CGI-LIB.PL
5014
5015 =item AUTHOR INFORMATION
5016
5017 =item CREDITS
5018
5019 Matt Heffron (heffron@falstaff.css.beckman.com), James Taylor
5020 (james.taylor@srs.gov), Scott Anguish <sanguish@digifix.com>, Mike Jewell
5021 (mlj3u@virginia.edu), Timothy Shimmin (tes@kbs.citri.edu.au), Joergen Haegg
5022 (jh@axis.se), Laurent Delfosse (delfosse@delfosse.com), Richard Resnick
5023 (applepi1@aol.com), Craig Bishop (csb@barwonwater.vic.gov.au), Tony Curtis
5024 (tc@vcpc.univie.ac.at), Tim Bunce (Tim.Bunce@ig.co.uk), Tom Christiansen
5025 (tchrist@convex.com), Andreas Koenig (k@franz.ww.TU-Berlin.DE), Tim
5026 MacKenzie (Tim.MacKenzie@fulcrum.com.au), Kevin B. Hendricks
5027 (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen (joyfire@inxpress.net), Ed
5028 Jordan (ed@fidalgo.net), David Alan Pisoni (david@cnation.com), Doug
5029 MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org),
5030 ...and many many more..
5031
5032 =item A COMPLETE EXAMPLE OF A SIMPLE FORM-BASED SCRIPT
5033
5034 =item BUGS
5035
5036 =item SEE ALSO
5037
5038 =back
5039
5040 =head2 CGI::Apache - Backward compatibility module for CGI.pm
5041
5042 =over
5043
5044 =item SYNOPSIS
5045
5046 =item ABSTRACT
5047
5048 =item DESCRIPTION
5049
5050 =item AUTHOR INFORMATION
5051
5052 =item BUGS
5053
5054 =item SEE ALSO
5055
5056 =back
5057
5058 =head2 CGI::Carp, B<CGI::Carp> - CGI routines for writing to the HTTPD (or
5059 other) error log
5060
5061 =over
5062
5063 =item SYNOPSIS
5064
5065 =item DESCRIPTION
5066
5067 =item REDIRECTING ERROR MESSAGES
5068
5069 =item MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW
5070
5071 =over
5072
5073 =item Changing the default message
5074
5075 =back
5076
5077 =item CHANGE LOG
5078
5079 =item AUTHORS
5080
5081 =item SEE ALSO
5082
5083 =back
5084
5085 =head2 CGI::Cookie - Interface to Netscape Cookies
5086
5087 =over
5088
5089 =item SYNOPSIS
5090
5091 =item DESCRIPTION
5092
5093 =item USING CGI::Cookie
5094
5095 B<1. expiration date>, B<2. domain>, B<3. path>, B<4. secure flag>
5096
5097 =over
5098
5099 =item Creating New Cookies
5100
5101 =item Sending the Cookie to the Browser
5102
5103 =item Recovering Previous Cookies
5104
5105 =item Manipulating Cookies
5106
5107 B<name()>, B<value()>, B<domain()>, B<path()>, B<expires()>
5108
5109 =back
5110
5111 =item AUTHOR INFORMATION
5112
5113 =item BUGS
5114
5115 =item SEE ALSO
5116
5117 =back
5118
5119 =head2 CGI::Fast - CGI Interface for Fast CGI
5120
5121 =over
5122
5123 =item SYNOPSIS
5124
5125 =item DESCRIPTION
5126
5127 =item OTHER PIECES OF THE PUZZLE
5128
5129 =item WRITING FASTCGI PERL SCRIPTS
5130
5131 =item INSTALLING FASTCGI SCRIPTS
5132
5133 =item USING FASTCGI SCRIPTS AS CGI SCRIPTS
5134
5135 =item CAVEATS
5136
5137 =item AUTHOR INFORMATION
5138
5139 =item BUGS
5140
5141 =item SEE ALSO
5142
5143 =back
5144
5145 =head2 CGI::Pretty - module to produce nicely formatted HTML code
5146
5147 =over
5148
5149 =item SYNOPSIS
5150
5151 =item DESCRIPTION
5152
5153 =over
5154
5155 =item Tags that won't be formatted
5156
5157 =item Customizing the Indenting
5158
5159 =back
5160
5161 =item BUGS
5162
5163 =item AUTHOR
5164
5165 =item SEE ALSO
5166
5167 =back
5168
5169 =head2 CGI::Push - Simple Interface to Server Push
5170
5171 =over
5172
5173 =item SYNOPSIS
5174
5175 =item DESCRIPTION
5176
5177 =item USING CGI::Push
5178
5179 -next_page, -last_page, -type, -delay, -cookie, -target, -expires
5180
5181 =over
5182
5183 =item Heterogeneous Pages
5184
5185 =item Changing the Page Delay on the Fly
5186
5187 =back
5188
5189 =item INSTALLING CGI::Push SCRIPTS
5190
5191 =item AUTHOR INFORMATION
5192
5193 =item BUGS
5194
5195 =item SEE ALSO
5196
5197 =back
5198
5199 =head2 CGI::Switch - Backward compatibility module for defunct CGI::Switch
5200
5201 =over
5202
5203 =item SYNOPSIS
5204
5205 =item ABSTRACT
5206
5207 =item DESCRIPTION
5208
5209 =item AUTHOR INFORMATION
5210
5211 =item BUGS
5212
5213 =item SEE ALSO
5214
5215 =back
5216
5217 =head2 CPAN - query, download and build perl modules from CPAN sites
5218
5219 =over
5220
5221 =item SYNOPSIS
5222
5223 =item DESCRIPTION
5224
5225 =over
5226
5227 =item Interactive Mode
5228
5229 Searching for authors, bundles, distribution files and modules, make, test,
5230 install, clean  modules or distributions, readme, look module or
5231 distribution, Signals
5232
5233 =item CPAN::Shell
5234
5235 =item autobundle
5236
5237 =item recompile
5238
5239 =item The four C<CPAN::*> Classes: Author, Bundle, Module, Distribution
5240
5241 =item ProgrammerE<39>s interface
5242
5243 expand($type,@things), Programming Examples
5244
5245 =item Methods in the four Classes
5246
5247 =item Cache Manager
5248
5249 =item Bundles
5250
5251 =item Prerequisites
5252
5253 =item Finding packages and VERSION
5254
5255 =item Debugging
5256
5257 =item Floppy, Zip, Offline Mode
5258
5259 =back
5260
5261 =item CONFIGURATION
5262
5263 o conf E<lt>scalar optionE<gt>, o conf E<lt>scalar optionE<gt>
5264 E<lt>valueE<gt>, o conf E<lt>list optionE<gt>, o conf E<lt>list optionE<gt>
5265 [shift|pop], o conf E<lt>list optionE<gt> [unshift|push|splice]
5266 E<lt>listE<gt>
5267
5268 =over
5269
5270 =item Note on urllist parameter's format
5271
5272 =item urllist parameter has CD-ROM support
5273
5274 =back
5275
5276 =item SECURITY
5277
5278 =item EXPORT
5279
5280 =item POPULATE AN INSTALLATION WITH LOTS OF MODULES
5281
5282 =item WORKING WITH CPAN.pm BEHIND FIREWALLS
5283
5284 http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade
5285
5286 =item BUGS
5287
5288 =item AUTHOR
5289
5290 =item SEE ALSO
5291
5292 =back
5293
5294 =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
5295
5296 =over
5297
5298 =item SYNOPSIS
5299
5300 =item DESCRIPTION
5301
5302 =back
5303
5304 =head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
5305 module
5306
5307 =over
5308
5309 =item SYNOPSIS
5310
5311 =item DESCRIPTION
5312
5313 =item  SEE ALSO
5314
5315 =back
5316
5317 =head2 Carp, carp    - warn of errors (from perspective of caller)
5318
5319 =over
5320
5321 =item SYNOPSIS
5322
5323 =item DESCRIPTION
5324
5325 =over
5326
5327 =item Forcing a Stack Trace
5328
5329 =back
5330
5331 =item BUGS
5332
5333 =back
5334
5335 =head2 Carp::Heavy - Carp guts
5336
5337 =over
5338
5339 =item SYNOPIS
5340
5341 =item DESCRIPTION
5342
5343 =back
5344
5345 =head2 Class::Struct - declare struct-like datatypes as Perl classes
5346
5347 =over
5348
5349 =item SYNOPSIS
5350
5351 =item DESCRIPTION
5352
5353 =over
5354
5355 =item The C<struct()> function
5356
5357 =item Element Types and Accessor Methods
5358
5359 Scalar (C<'$'> or C<'*$'>), Array (C<'@'> or C<'*@'>), Hash (C<'%'> or
5360 C<'*%'>), Class (C<'Class_Name'> or C<'*Class_Name'>)
5361
5362 =item Initializing with C<new>
5363
5364 =back
5365
5366 =item EXAMPLES
5367
5368 Example 1, Example 2, Example 3
5369
5370 =item Author and Modification History
5371
5372 =back
5373
5374 =head2 Config - access Perl configuration information
5375
5376 =over
5377
5378 =item SYNOPSIS
5379
5380 =item DESCRIPTION
5381
5382 myconfig(), config_sh(), config_vars(@names)
5383
5384 =item EXAMPLE
5385
5386 =item WARNING
5387
5388 =item GLOSSARY
5389
5390 =over
5391
5392 =item _
5393
5394 C<_a>, C<_exe>, C<_o>
5395
5396 =item a
5397
5398 C<afs>, C<alignbytes>, C<ansi2knr>, C<aphostname>, C<api_revision>,
5399 C<api_subversion>, C<api_version>, C<api_versionstring>, C<ar>, C<archlib>,
5400 C<archlibexp>, C<archname64>, C<archname>, C<archobjs>, C<awk>
5401
5402 =item b
5403
5404 C<baserev>, C<bash>, C<bin>, C<bincompat5005>, C<binexp>, C<bison>,
5405 C<byacc>, C<byteorder>
5406
5407 =item c
5408
5409 C<c>, C<castflags>, C<cat>, C<cc>, C<cccdlflags>, C<ccdlflags>, C<ccflags>,
5410 C<ccsymbols>, C<cf_by>, C<cf_email>, C<cf_time>, C<charsize>, C<chgrp>,
5411 C<chmod>, C<chown>, C<clocktype>, C<comm>, C<compress>
5412
5413 =item C
5414
5415 C<CONFIGDOTSH>, C<contains>, C<cp>, C<cpio>, C<cpp>, C<cpp_stuff>,
5416 C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>, C<cpprun>,
5417 C<cppstdin>, C<cppsymbols>, C<crosscompile>, C<cryptlib>, C<csh>
5418
5419 =item d
5420
5421 C<d_access>, C<d_accessx>, C<d_alarm>, C<d_archlib>, C<d_atolf>,
5422 C<d_atoll>, C<d_attribut>, C<d_bcmp>, C<d_bcopy>, C<d_bincompat5005>,
5423 C<d_bsd>, C<d_bsdgetpgrp>, C<d_bsdsetpgrp>, C<d_bzero>, C<d_casti32>,
5424 C<d_castneg>, C<d_charvspr>, C<d_chown>, C<d_chroot>, C<d_chsize>,
5425 C<d_closedir>, C<d_const>, C<d_crypt>, C<d_csh>, C<d_cuserid>,
5426 C<d_dbl_dig>, C<d_difftime>, C<d_dirnamlen>, C<d_dlerror>, C<d_dlopen>,
5427 C<d_dlsymun>, C<d_dosuid>, C<d_drand48proto>, C<d_dup2>, C<d_eaccess>,
5428 C<d_endgrent>, C<d_endhent>, C<d_endnent>, C<d_endpent>, C<d_endpwent>,
5429 C<d_endsent>, C<d_endspent>, C<d_eofnblk>, C<d_eunice>, C<d_fchmod>,
5430 C<d_fchown>, C<d_fcntl>, C<d_fd_macros>, C<d_fd_set>, C<d_fds_bits>,
5431 C<d_fgetpos>, C<d_flexfnam>, C<d_flock>, C<d_fork>, C<d_fpathconf>,
5432 C<d_fpos64_t>, C<d_fs_data_s>, C<d_fseeko>, C<d_fsetpos>, C<d_fstatfs>,
5433 C<d_fstatvfs>, C<d_ftello>, C<d_ftime>, C<d_Gconvert>, C<d_getgrent>,
5434 C<d_getgrps>, C<d_gethbyaddr>, C<d_gethbyname>, C<d_gethent>,
5435 C<d_gethname>, C<d_gethostprotos>, C<d_getlogin>, C<d_getmnt>,
5436 C<d_getmntent>, C<d_getnbyaddr>, C<d_getnbyname>, C<d_getnent>,
5437 C<d_getnetprotos>, C<d_getpbyname>, C<d_getpbynumber>, C<d_getpent>,
5438 C<d_getpgid>, C<d_getpgrp2>, C<d_getpgrp>, C<d_getppid>, C<d_getprior>,
5439 C<d_getprotoprotos>, C<d_getpwent>, C<d_getsbyname>, C<d_getsbyport>,
5440 C<d_getsent>, C<d_getservprotos>, C<d_getspent>, C<d_getspnam>,
5441 C<d_gettimeod>, C<d_gnulibc>, C<d_grpasswd>, C<d_hasmntopt>, C<d_htonl>,
5442 C<d_index>, C<d_inetaton>, C<d_int64t>, C<d_isascii>, C<d_killpg>,
5443 C<d_lchown>, C<d_ldbl_dig>, C<d_link>, C<d_locconv>, C<d_lockf>,
5444 C<d_longdbl>, C<d_longlong>, C<d_lstat>, C<d_mblen>, C<d_mbstowcs>,
5445 C<d_mbtowc>, C<d_memchr>, C<d_memcmp>, C<d_memcpy>, C<d_memmove>,
5446 C<d_memset>, C<d_mkdir>, C<d_mkfifo>, C<d_mktime>, C<d_msg>,
5447 C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>, C<d_msg_peek>,
5448 C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msgrcv>, C<d_msgsnd>,
5449 C<d_mymalloc>, C<d_nice>, C<d_nvpresuv>, C<d_off64_t>,
5450 C<d_old_pthread_create_joinable>, C<d_oldpthreads>, C<d_oldsock>,
5451 C<d_open3>, C<d_pathconf>, C<d_pause>, C<d_phostname>, C<d_pipe>,
5452 C<d_poll>, C<d_portable>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIEldbl>,
5453 C<d_PRIfldbl>, C<d_PRIFldbl>, C<d_PRIgldbl>, C<d_PRIGldbl>, C<d_PRIi64>,
5454 C<d_PRIo64>, C<d_PRIu64>, C<d_PRIx64>, C<d_PRIX64>, C<d_pthread_yield>,
5455 C<d_pwage>, C<d_pwchange>, C<d_pwclass>, C<d_pwcomment>, C<d_pwexpire>,
5456 C<d_pwgecos>, C<d_pwpasswd>, C<d_pwquota>, C<d_quad>, C<d_readdir>,
5457 C<d_readlink>, C<d_rename>, C<d_rewinddir>, C<d_rmdir>, C<d_safebcpy>,
5458 C<d_safemcpy>, C<d_sanemcmp>, C<d_sched_yield>, C<d_scm_rights>,
5459 C<d_seekdir>, C<d_select>, C<d_sem>, C<d_semctl>, C<d_semctl_semid_ds>,
5460 C<d_semctl_semun>, C<d_semget>, C<d_semop>, C<d_setegid>, C<d_seteuid>,
5461 C<d_setgrent>, C<d_setgrps>, C<d_sethent>, C<d_setlinebuf>, C<d_setlocale>,
5462 C<d_setnent>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp2>, C<d_setpgrp>,
5463 C<d_setprior>, C<d_setpwent>, C<d_setregid>, C<d_setresgid>,
5464 C<d_setresuid>, C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>,
5465 C<d_setsid>, C<d_setspent>, C<d_setvbuf>, C<d_sfio>, C<d_shm>, C<d_shmat>,
5466 C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>, C<d_sigaction>,
5467 C<d_sigsetjmp>, C<d_socket>, C<d_sockpair>, C<d_sqrtl>, C<d_statblks>,
5468 C<d_statfs_f_flags>, C<d_statfs_s>, C<d_statvfs>, C<d_stdio_cnt_lval>,
5469 C<d_stdio_ptr_lval>, C<d_stdio_stream_array>, C<d_stdiobase>,
5470 C<d_stdstdio>, C<d_strchr>, C<d_strcoll>, C<d_strctcpy>, C<d_strerrm>,
5471 C<d_strerror>, C<d_strtod>, C<d_strtol>, C<d_strtold>, C<d_strtoll>,
5472 C<d_strtoul>, C<d_strtoull>, C<d_strtouq>, C<d_strxfrm>, C<d_suidsafe>,
5473 C<d_symlink>, C<d_syscall>, C<d_sysconf>, C<d_sysernlst>, C<d_syserrlst>,
5474 C<d_system>, C<d_tcgetpgrp>, C<d_tcsetpgrp>, C<d_telldir>,
5475 C<d_telldirproto>, C<d_time>, C<d_times>, C<d_truncate>, C<d_tzname>,
5476 C<d_umask>, C<d_uname>, C<d_union_semun>, C<d_ustat>, C<d_vendorbin>,
5477 C<d_vendorlib>, C<d_vfork>, C<d_void_closedir>, C<d_voidsig>, C<d_voidtty>,
5478 C<d_volatile>, C<d_vprintf>, C<d_wait4>, C<d_waitpid>, C<d_wcstombs>,
5479 C<d_wctomb>, C<d_xenix>, C<date>, C<db_hashtype>, C<db_prefixtype>,
5480 C<defvoidused>, C<direntrytype>, C<dlext>, C<dlsrc>, C<doublesize>,
5481 C<drand01>, C<dynamic_ext>
5482
5483 =item e
5484
5485 C<eagain>, C<ebcdic>, C<echo>, C<egrep>, C<emacs>, C<eunicefix>,
5486 C<exe_ext>, C<expr>, C<extensions>
5487
5488 =item f
5489
5490 C<fflushall>, C<fflushNULL>, C<find>, C<firstmakefile>, C<flex>,
5491 C<fpossize>, C<fpostype>, C<freetype>, C<full_ar>, C<full_csh>, C<full_sed>
5492
5493 =item g
5494
5495 C<gccversion>, C<gidformat>, C<gidsign>, C<gidsize>, C<gidtype>,
5496 C<glibpth>, C<grep>, C<groupcat>, C<groupstype>, C<gzip>
5497
5498 =item h
5499
5500 C<h_fcntl>, C<h_sysfile>, C<hint>, C<hostcat>, C<huge>
5501
5502 =item i
5503
5504 C<i16size>, C<i16type>, C<i32size>, C<i32type>, C<i64size>, C<i64type>,
5505 C<i8size>, C<i8type>, C<i_arpainet>, C<i_bsdioctl>, C<i_db>, C<i_dbm>,
5506 C<i_dirent>, C<i_dld>, C<i_dlfcn>, C<i_fcntl>, C<i_float>, C<i_gdbm>,
5507 C<i_grp>, C<i_inttypes>, C<i_limits>, C<i_locale>, C<i_machcthr>,
5508 C<i_malloc>, C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>, C<i_netdb>,
5509 C<i_neterrno>, C<i_netinettcp>, C<i_niin>, C<i_poll>, C<i_pthread>,
5510 C<i_pwd>, C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>, C<i_shadow>, C<i_socks>,
5511 C<i_stdarg>, C<i_stddef>, C<i_stdlib>, C<i_string>, C<i_sysaccess>,
5512 C<i_sysdir>, C<i_sysfile>, C<i_sysfilio>, C<i_sysin>, C<i_sysioctl>,
5513 C<i_sysmount>, C<i_sysndir>, C<i_sysparam>, C<i_sysresrc>, C<i_syssecrt>,
5514 C<i_sysselct>, C<i_syssockio>, C<i_sysstat>, C<i_sysstatfs>,
5515 C<i_sysstatvfs>, C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>,
5516 C<i_sysuio>, C<i_sysun>, C<i_sysvfs>, C<i_syswait>, C<i_termio>,
5517 C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>, C<i_values>,
5518 C<i_varargs>, C<i_varhdr>, C<i_vfork>, C<ignore_versioned_solibs>,
5519 C<inc_version_list>, C<inc_version_list_init>, C<incpath>, C<inews>,
5520 C<installarchlib>, C<installbin>, C<installman1dir>, C<installman3dir>,
5521 C<installprefix>, C<installprefixexp>, C<installprivlib>, C<installscript>,
5522 C<installsitearch>, C<installsitebin>, C<installsitelib>, C<installstyle>,
5523 C<installusrbinperl>, C<installvendorbin>, C<installvendorlib>, C<intsize>,
5524 C<ivdformat>, C<ivsize>, C<ivtype>
5525
5526 =item k
5527
5528 C<known_extensions>, C<ksh>
5529
5530 =item l
5531
5532 C<large>, C<ld>, C<lddlflags>, C<ldflags>, C<ldlibpthname>, C<less>,
5533 C<lib_ext>, C<libc>, C<libperl>, C<libpth>, C<libs>, C<libswanted>,
5534 C<line>, C<lint>, C<lkflags>, C<ln>, C<lns>, C<locincpth>, C<loclibpth>,
5535 C<longdblsize>, C<longlongsize>, C<longsize>, C<lp>, C<lpr>, C<ls>,
5536 C<lseeksize>, C<lseektype>
5537
5538 =item m
5539
5540 C<mail>, C<mailx>, C<make>, C<make_set_make>, C<mallocobj>, C<mallocsrc>,
5541 C<malloctype>, C<man1dir>, C<man1direxp>, C<man1ext>, C<man3dir>,
5542 C<man3direxp>, C<man3ext>
5543
5544 =item M
5545
5546 C<Mcc>, C<medium>, C<mips_type>, C<mkdir>, C<models>, C<modetype>, C<more>,
5547 C<multiarch>, C<mv>, C<myarchname>, C<mydomain>, C<myhostname>, C<myuname>
5548
5549 =item n
5550
5551 C<n>, C<netdb_hlen_type>, C<netdb_host_type>, C<netdb_name_type>,
5552 C<netdb_net_type>, C<nm>, C<nm_opt>, C<nm_so_opt>, C<nonxs_ext>, C<nroff>,
5553 C<nvsize>, C<nvtype>
5554
5555 =item o
5556
5557 C<o_nonblock>, C<obj_ext>, C<old_pthread_create_joinable>, C<optimize>,
5558 C<orderlib>, C<osname>, C<osvers>
5559
5560 =item p
5561
5562 C<package>, C<pager>, C<passcat>, C<patchlevel>, C<path_sep>, C<perl>
5563
5564 =item P
5565
5566 C<PERL_REVISION>, C<PERL_SUBVERSION>, C<PERL_VERSION>, C<perladmin>,
5567 C<perlpath>, C<pg>, C<phostname>, C<pidtype>, C<plibpth>, C<pmake>, C<pr>,
5568 C<prefix>, C<prefixexp>, C<privlib>, C<privlibexp>, C<prototype>,
5569 C<ptrsize>
5570
5571 =item q
5572
5573 C<quadkind>, C<quadtype>
5574
5575 =item r
5576
5577 C<randbits>, C<randfunc>, C<randseedtype>, C<ranlib>, C<rd_nodata>, C<rm>,
5578 C<rmail>, C<runnm>
5579
5580 =item s
5581
5582 C<sched_yield>, C<scriptdir>, C<scriptdirexp>, C<sed>, C<seedfunc>,
5583 C<selectminbits>, C<selecttype>, C<sendmail>, C<sh>, C<shar>, C<sharpbang>,
5584 C<shmattype>, C<shortsize>, C<shrpenv>, C<shsharp>, C<sig_count>,
5585 C<sig_name>, C<sig_name_init>, C<sig_num>, C<sig_num_init>, C<signal_t>,
5586 C<sitearch>, C<sitearchexp>, C<sitebin>, C<sitebinexp>, C<sitelib>,
5587 C<sitelibexp>, C<siteprefix>, C<siteprefixexp>, C<sizetype>, C<sleep>,
5588 C<smail>, C<small>, C<so>, C<sockethdr>, C<socketlib>, C<sort>,
5589 C<spackage>, C<spitshell>, C<split>, C<sPRId64>, C<sPRIeldbl>,
5590 C<sPRIEldbl>, C<sPRIfldbl>, C<sPRIFldbl>, C<sPRIgldbl>, C<sPRIGldbl>,
5591 C<sPRIi64>, C<sPRIo64>, C<sPRIu64>, C<sPRIx64>, C<sPRIX64>, C<src>,
5592 C<ssizetype>, C<startperl>, C<startsh>, C<static_ext>, C<stdchar>,
5593 C<stdio_base>, C<stdio_bufsiz>, C<stdio_cnt>, C<stdio_filbuf>,
5594 C<stdio_ptr>, C<stdio_stream_array>, C<strings>, C<submit>, C<subversion>,
5595 C<sysman>
5596
5597 =item t
5598
5599 C<tail>, C<tar>, C<tbl>, C<tee>, C<test>, C<timeincl>, C<timetype>,
5600 C<touch>, C<tr>, C<trnl>, C<troff>
5601
5602 =item u
5603
5604 C<u16size>, C<u16type>, C<u32size>, C<u32type>, C<u64size>, C<u64type>,
5605 C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
5606 C<uname>, C<uniq>, C<uquadtype>, C<use5005threads>, C<use64bits>, C<usedl>,
5607 C<useithreads>, C<uselargefiles>, C<uselongdouble>, C<uselonglong>,
5608 C<usemorebits>, C<usemultiplicity>, C<usemymalloc>, C<usenm>, C<useopcode>,
5609 C<useperlio>, C<useposix>, C<usesfio>, C<useshrplib>, C<usesocks>,
5610 C<usethreads>, C<usevendorprefix>, C<usevfork>, C<usrinc>, C<uuname>,
5611 C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>, C<uvxformat>
5612
5613 =item v
5614
5615 C<vendorbin>, C<vendorbinexp>, C<vendorlib>, C<vendorlibexp>,
5616 C<vendorprefix>, C<vendorprefixexp>, C<version>, C<vi>, C<voidflags>
5617
5618 =item x
5619
5620 C<xlibpth>
5621
5622 =item z
5623
5624 C<zcat>, C<zip>
5625
5626 =back
5627
5628 =item NOTE
5629
5630 =back
5631
5632 =head2 Cwd, getcwd - get pathname of current working directory
5633
5634 =over
5635
5636 =item SYNOPSIS
5637
5638 =item DESCRIPTION
5639
5640 =back
5641
5642 =head2 DB - programmatic interface to the Perl debugging API (draft,
5643 subject to
5644 change)
5645
5646 =over
5647
5648 =item SYNOPSIS
5649
5650 =item DESCRIPTION
5651
5652 =over
5653
5654 =item Global Variables
5655
5656  $DB::sub,  %DB::sub,  $DB::single,  $DB::signal,  $DB::trace,  @DB::args, 
5657 @DB::dbline,  %DB::dbline,  $DB::package,  $DB::filename,  $DB::subname, 
5658 $DB::lineno