This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
8b0a972acfd8ad4b20b96ee6f9490312d3e7d2c7
[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 4
17
18 =item SYNOPSIS
19
20 =over 4
21
22 =item Overview
23
24 =item Tutorials
25
26 =item Reference Manual
27
28 =item Internals and C Language Interface
29
30 =item Miscellaneous
31
32 =item Language-Specific
33
34 =item Platform-Specific
35
36 =back
37
38 =item DESCRIPTION
39
40 =item AVAILABILITY
41
42 =item ENVIRONMENT
43
44 =item AUTHOR
45
46 =item FILES
47
48 =item SEE ALSO
49
50 =item DIAGNOSTICS
51
52 =item BUGS
53
54 =item NOTES
55
56 =back
57
58 =head2 perlintro -- a brief introduction and overview of Perl
59
60 =over 4
61
62 =item DESCRIPTION
63
64 =over 4
65
66 =item What is Perl?
67
68 =item Running Perl programs
69
70 =item Basic syntax overview
71
72 =item Perl variable types
73
74 Scalars, Arrays, Hashes
75
76 =item Variable scoping
77
78 =item Conditional and looping constructs
79
80 if, while, for, foreach
81
82 =item Builtin operators and functions
83
84 Arithmetic, Numeric comparison, String comparison, Boolean logic,
85 Miscellaneous
86
87 =item Files and I/O
88
89 =item Regular expressions
90
91 Simple matching, Simple substitution, More complex regular expressions,
92 Parentheses for capturing, Other regexp features
93
94 =item Writing subroutines
95
96 =item OO Perl
97
98 =item Using Perl modules
99
100 =back
101
102 =item AUTHOR
103
104 =back
105
106 =head2 perlfaq - frequently asked questions about Perl ($Date: 2002/03/11
107 21:32:23 $)
108
109 =over 4
110
111 =item DESCRIPTION
112
113 =over 4
114
115 =item perlfaq: Structural overview of the FAQ.
116
117 =item L<perlfaq1>: General Questions About Perl
118
119 =item L<perlfaq2>: Obtaining and Learning about Perl
120
121 =item L<perlfaq3>: Programming Tools
122
123 =item L<perlfaq4>: Data Manipulation
124
125 =item L<perlfaq5>: Files and Formats
126
127 =item L<perlfaq6>: Regular Expressions
128
129 =item L<perlfaq7>: General Perl Language Issues
130
131 =item L<perlfaq8>: System Interaction
132
133 =item L<perlfaq9>: Networking
134
135 =back
136
137 =item About the perlfaq documents
138
139 =over 4
140
141 =item Where to get the perlfaq
142
143 =item How to contribute to the perlfaq
144
145 =item What will happen if you mail your Perl programming problems to the
146 authors
147
148 =back
149
150 =item Credits
151
152 =item Author and Copyright Information
153
154 =over 4
155
156 =item Bundled Distributions
157
158 =item Disclaimer
159
160 =back
161
162 =item Changes
163
164 1/November/2000, 23/May/99, 13/April/99, 7/January/99, 22/June/98,
165 24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version,
166 Initial Release: 11/March/97
167
168 =back
169
170 =head2 perlbook - Perl book information
171
172 =over 4
173
174 =item DESCRIPTION
175
176 =back
177
178 =head2 perlsyn - Perl syntax
179
180 =over 4
181
182 =item DESCRIPTION
183
184 =over 4
185
186 =item Declarations
187
188 =item Simple statements
189
190 =item Compound statements
191
192 =item Loop Control
193
194 =item For Loops
195
196 =item Foreach Loops
197
198 =item Basic BLOCKs and Switch Statements
199
200 =item Goto
201
202 =item PODs: Embedded Documentation
203
204 =item Plain Old Comments (Not!)
205
206 =back
207
208 =back
209
210 =head2 perldata - Perl data types
211
212 =over 4
213
214 =item DESCRIPTION
215
216 =over 4
217
218 =item Variable names
219
220 =item Context
221
222 =item Scalar values
223
224 =item Scalar value constructors
225
226 =item List value constructors
227
228 =item Slices
229
230 =item Typeglobs and Filehandles
231
232 =back
233
234 =item SEE ALSO
235
236 =back
237
238 =head2 perlop - Perl operators and precedence
239
240 =over 4
241
242 =item SYNOPSIS
243
244 =item DESCRIPTION
245
246 =over 4
247
248 =item Terms and List Operators (Leftward)
249
250 =item The Arrow Operator
251
252 =item Auto-increment and Auto-decrement
253
254 =item Exponentiation
255
256 =item Symbolic Unary Operators
257
258 =item Binding Operators
259
260 =item Multiplicative Operators
261
262 =item Additive Operators
263
264 =item Shift Operators
265
266 =item Named Unary Operators
267
268 =item Relational Operators
269
270 =item Equality Operators
271
272 =item Bitwise And
273
274 =item Bitwise Or and Exclusive Or
275
276 =item C-style Logical And
277
278 =item C-style Logical Or
279
280 =item Range Operators
281
282 =item Conditional Operator
283
284 =item Assignment Operators
285
286 =item Comma Operator
287
288 =item List Operators (Rightward)
289
290 =item Logical Not
291
292 =item Logical And
293
294 =item Logical or and Exclusive Or
295
296 =item C Operators Missing From Perl
297
298 unary &, unary *, (TYPE)
299
300 =item Quote and Quote-like Operators
301
302 =item Regexp Quote-Like Operators
303
304 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
305 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
306 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
307 y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF
308
309 =item Gory details of parsing quoted constructs
310
311 Finding the end, Removal of backslashes before delimiters, Interpolation,
312 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
313 C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
314 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
315 regular expressions
316
317 =item I/O Operators
318
319 =item Constant Folding
320
321 =item Bitwise String Operators
322
323 =item Integer Arithmetic
324
325 =item Floating-point Arithmetic
326
327 =item Bigger Numbers
328
329 =back
330
331 =back
332
333 =head2 perlsub - Perl subroutines
334
335 =over 4
336
337 =item SYNOPSIS
338
339 =item DESCRIPTION
340
341 =over 4
342
343 =item Private Variables via my()
344
345 =item Persistent Private Variables
346
347 =item Temporary Values via local()
348
349 =item Lvalue subroutines
350
351 Lvalue subroutines are EXPERIMENTAL
352
353 =item Passing Symbol Table Entries (typeglobs)
354
355 =item When to Still Use local()
356
357 =item Pass by Reference
358
359 =item Prototypes
360
361 =item Constant Functions
362
363 =item Overriding Built-in Functions
364
365 =item Autoloading
366
367 =item Subroutine Attributes
368
369 =back
370
371 =item SEE ALSO
372
373 =back
374
375 =head2 perlfunc - Perl builtin functions
376
377 =over 4
378
379 =item DESCRIPTION
380
381 =over 4
382
383 =item Perl Functions by Category
384
385 Functions for SCALARs or strings, Regular expressions and pattern matching,
386 Numeric functions, Functions for real @ARRAYs, Functions for list data,
387 Functions for real %HASHes, Input and output functions, Functions for fixed
388 length data or records, Functions for filehandles, files, or directories,
389 Keywords related to the control flow of your perl program, Keywords related
390 to scoping, Miscellaneous functions, Functions for processes and process
391 groups, Keywords related to perl modules, Keywords related to classes and
392 object-orientedness, Low-level socket functions, System V interprocess
393 communication functions, Fetching user and group info, Fetching network
394 info, Time-related functions, Functions new in perl5, Functions obsoleted
395 in perl5
396
397 =item Portability
398
399 =item Alphabetical Listing of Perl Functions
400
401 I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
402 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
403 binmode FILEHANDLE, LAYER, binmode FILEHANDLE, bless REF,CLASSNAME, bless
404 REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp(
405 LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr NUMBER,
406 chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
407 connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT,
408 dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
409 EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
410 each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
411 exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
412 FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
413 fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
414 getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
415 NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
416 NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
417 ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
418 getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
419 getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
420 STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
421 endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
422 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
423 goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
424 import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
425 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
426 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
427 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
428 lock THING, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK LIST, map
429 EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl ID,CMD,ARG, msgget
430 KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my
431 TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL, next, no
432 Module VERSION LIST, no Module VERSION, no Module LIST, no Module, oct
433 EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,MODE,EXPR, open
434 FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,
435 opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, our EXPR TYPE, our EXPR :
436 ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST, package NAMESPACE,
437 package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos,
438 print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST,
439 printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
440 qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta,
441 rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read
442 FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR,
443 readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo,
444 ref EXPR, ref, rename OLDNAME,NEWNAME, require VERSION, require EXPR,
445 require, reset EXPR, reset, return EXPR, return, reverse LIST, rewinddir
446 DIRHANDLE, rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME,
447 rmdir, s///, scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir
448 DIRHANDLE,POS, select FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT,
449 semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
450 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
451 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
452 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
453 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
454 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
455 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
456 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
457 splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
458 /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR,
459 sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR,
460 study, sub NAME BLOCK, sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub
461 NAME (PROTO) : ATTRS BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr
462 EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall
463 LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
464 FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
465 sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE,
466 system LIST, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET,
467 syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell
468 FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied
469 VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate
470 EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef
471 EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE,
472 unshift ARRAY,LIST, use Module VERSION LIST, use Module VERSION, use Module
473 LIST, use Module, use VERSION, utime LIST, values HASH, vec
474 EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
475 FILEHANDLE, write EXPR, write, y///
476
477 =back
478
479 =back
480
481 =head2 perlreftut - Mark's very short tutorial about references
482
483 =over 4
484
485 =item DESCRIPTION
486
487 =item Who Needs Complicated Data Structures?
488
489 =item The Solution
490
491 =item Syntax
492
493 =over 4
494
495 =item Making References
496
497 =item Using References
498
499 =back
500
501 =item An Example
502
503 =item Arrow Rule
504
505 =item Solution
506
507 =item The Rest
508
509 =item Summary
510
511 =item Credits
512
513 =over 4
514
515 =item Distribution Conditions
516
517 =back
518
519 =back
520
521 =head2 perldsc - Perl Data Structures Cookbook
522
523 =over 4
524
525 =item DESCRIPTION
526
527 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
528 more elaborate constructs
529
530 =item REFERENCES
531
532 =item COMMON MISTAKES
533
534 =item CAVEAT ON PRECEDENCE
535
536 =item WHY YOU SHOULD ALWAYS C<use strict>
537
538 =item DEBUGGING
539
540 =item CODE EXAMPLES
541
542 =item ARRAYS OF ARRAYS
543
544 =over 4
545
546 =item Declaration of an ARRAY OF ARRAYS
547
548 =item Generation of an ARRAY OF ARRAYS
549
550 =item Access and Printing of an ARRAY OF ARRAYS
551
552 =back
553
554 =item HASHES OF ARRAYS
555
556 =over 4
557
558 =item Declaration of a HASH OF ARRAYS
559
560 =item Generation of a HASH OF ARRAYS
561
562 =item Access and Printing of a HASH OF ARRAYS
563
564 =back
565
566 =item ARRAYS OF HASHES
567
568 =over 4
569
570 =item Declaration of an ARRAY OF HASHES
571
572 =item Generation of an ARRAY OF HASHES
573
574 =item Access and Printing of an ARRAY OF HASHES
575
576 =back
577
578 =item HASHES OF HASHES
579
580 =over 4
581
582 =item Declaration of a HASH OF HASHES
583
584 =item Generation of a HASH OF HASHES
585
586 =item Access and Printing of a HASH OF HASHES
587
588 =back
589
590 =item MORE ELABORATE RECORDS
591
592 =over 4
593
594 =item Declaration of MORE ELABORATE RECORDS
595
596 =item Declaration of a HASH OF COMPLEX RECORDS
597
598 =item Generation of a HASH OF COMPLEX RECORDS
599
600 =back
601
602 =item Database Ties
603
604 =item SEE ALSO
605
606 =item AUTHOR
607
608 =back
609
610 =head2 perlrequick - Perl regular expressions quick start
611
612 =over 4
613
614 =item DESCRIPTION
615
616 =item The Guide
617
618 =over 4
619
620 =item Simple word matching
621
622 =item Using character classes
623
624 =item Matching this or that
625
626 =item Grouping things and hierarchical matching
627
628 =item Extracting matches
629
630 =item Matching repetitions
631
632 =item More matching
633
634 =item Search and replace
635
636 =item The split operator
637
638 =back
639
640 =item BUGS
641
642 =item SEE ALSO
643
644 =item AUTHOR AND COPYRIGHT
645
646 =over 4
647
648 =item Acknowledgments
649
650 =back
651
652 =back
653
654 =head2 perlpod - the Plain Old Documentation format
655
656 =over 4
657
658 =item DESCRIPTION
659
660 =over 4
661
662 =item Ordinary Paragraph
663
664 =item Verbatim Paragraph
665
666 =item Command Paragraph
667
668 C<=head1 I<Heading Text>>, C<=head2 I<Heading Text>>, C<=head3 I<Heading
669 Text>>, C<=head4 I<Heading Text>>, C<=over I<indentlevel>>, C<=item
670 I<stuff...>>, C<=back>, C<=cut>, C<=pod>, C<=begin I<formatname>>, C<=end
671 I<formatname>>, C<=for I<formatname> I<text...>>
672
673 =item Formatting Codes
674
675 C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
676 C<CE<lt>codeE<gt>> -- code text, C<LE<lt>nameE<gt>> -- a hyperlink,
677 C<EE<lt>escapeE<gt>> -- a character escape, C<FE<lt>filenameE<gt>> -- used
678 for filenames, C<SE<lt>textE<gt>> -- text contains non-breaking spaces,
679 C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a null
680 (zero-effect) formatting code
681
682 =item The Intent
683
684 =item Embedding Pods in Perl Modules
685
686 =item Hints for Writing Pod
687
688 =back
689
690 =item SEE ALSO
691
692 =item AUTHOR
693
694 =back
695
696 =head2 perlpodspec - Plain Old Documentation: format specification and
697 notes
698
699 =over 4
700
701 =item DESCRIPTION
702
703 =item Pod Definitions
704
705 =item Pod Commands
706
707 "=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item",
708 "=back", "=begin formatname", "=end formatname", "=for formatname text..."
709
710 =item Pod Formatting Codes
711
712 C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
713 C<CE<lt>codeE<gt>> -- code text, C<FE<lt>filenameE<gt>> -- style for
714 filenames, C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a
715 null (zero-effect) formatting code, C<LE<lt>nameE<gt>> -- a hyperlink,
716 C<EE<lt>escapeE<gt>> -- a character escape, C<SE<lt>textE<gt>> -- text
717 contains non-breaking spaces
718
719 =item Notes on Implementing Pod Processors
720
721 =item About LE<lt>...E<gt> Codes
722
723 First:, Second:, Third:, Fourth:, Fifth:, Sixth:
724
725 =item About =over...=back Regions
726
727 =item About Data Paragraphs and "=begin/=end" Regions
728
729 =item SEE ALSO
730
731 =item AUTHOR
732
733 =back
734
735 =head2 perlstyle - Perl style guide
736
737 =over 4
738
739 =item DESCRIPTION
740
741 =back
742
743 =head2 perltrap - Perl traps for the unwary
744
745 =over 4
746
747 =item DESCRIPTION
748
749 =over 4
750
751 =item Awk Traps
752
753 =item C Traps
754
755 =item Sed Traps
756
757 =item Shell Traps
758
759 =item Perl Traps
760
761 =item Perl4 to Perl5 Traps
762
763 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
764 Traps, General data type traps, Context Traps - scalar, list contexts,
765 Precedence Traps, General Regular Expression Traps using s///, etc,
766 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
767
768 =item Discontinuance, Deprecation, and BugFix traps
769
770 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
771 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
772 Discontinuance, Deprecation, Discontinuance, Discontinuance
773
774 =item Parsing Traps
775
776 Parsing, Parsing, Parsing, Parsing, Parsing
777
778 =item Numerical Traps
779
780 Numerical, Numerical, Numerical, Bitwise string ops
781
782 =item General data type traps
783
784 (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
785 (Constants), (Scalars), (Variable Suicide)
786
787 =item Context Traps - scalar, list contexts
788
789 (list context), (scalar context), (scalar context), (list, builtin)
790
791 =item Precedence Traps
792
793 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
794 Precedence
795
796 =item General Regular Expression Traps using s///, etc.
797
798 Regular Expression, Regular Expression, Regular Expression, Regular
799 Expression, Regular Expression, Regular Expression, Regular Expression,
800 Regular Expression
801
802 =item Subroutine, Signal, Sorting Traps
803
804 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
805
806 =item OS Traps
807
808 (SysV), (SysV)
809
810 =item Interpolation Traps
811
812 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
813 Interpolation, Interpolation, Interpolation, Interpolation
814
815 =item DBM Traps
816
817 DBM, DBM
818
819 =item Unclassified Traps
820
821 C<require>/C<do> trap using returned value, C<split> on empty string with
822 LIMIT specified
823
824 =back
825
826 =back
827
828 =head2 perlrun - how to execute the Perl interpreter
829
830 =over 4
831
832 =item SYNOPSIS
833
834 =item DESCRIPTION
835
836 =over 4
837
838 =item #! and quoting on non-Unix systems
839
840 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
841
842 =item Location of Perl
843
844 =item Command Switches
845
846 B<-0>[I<digits>], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I<foo[=bar,baz]>,
847 B<-D>I<letters>, B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>,
848 B<-h>, B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
849 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
850 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
851 B<-t>, B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>,
852 B<-X>, B<-x> I<directory>
853
854 =back
855
856 =item ENVIRONMENT
857
858 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap,
859 :perlio, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB,
860 PERL5DB, PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS,
861 PERL_DESTRUCT_LEVEL, PERL_ENCODING, PERL_ROOT (specific to the VMS port),
862 SYS$LOGIN (specific to the VMS port)
863
864 =back
865
866 =head2 perldiag - various Perl diagnostics
867
868 =over 4
869
870 =item DESCRIPTION
871
872 =back
873
874 =head2 perllexwarn - Perl Lexical Warnings
875
876 =over 4
877
878 =item DESCRIPTION
879
880 =over 4
881
882 =item Default Warnings and Optional Warnings
883
884 =item What's wrong with B<-w> and C<$^W>
885
886 =item Controlling Warnings from the Command Line
887
888 B<-w>, B<-W>, B<-X>
889
890 =item Backward Compatibility
891
892 =item Category Hierarchy
893
894 =item Fatal Warnings
895
896 =item Reporting Warnings from a Module
897
898 =back
899
900 =item TODO
901
902 =item SEE ALSO
903
904 =item AUTHOR
905
906 =back
907
908 =head2 perldebtut - Perl debugging tutorial
909
910 =over 4
911
912 =item DESCRIPTION
913
914 =item use strict
915
916 =item Looking at data and -w and v
917
918 =item help
919
920 =item Stepping through code
921
922 =item Placeholder for a, w, t, T
923
924 =item REGULAR EXPRESSIONS
925
926 =item OUTPUT TIPS
927
928 =item CGI
929
930 =item GUIs
931
932 =item SUMMARY
933
934 =item SEE ALSO
935
936 =item AUTHOR
937
938 =item CONTRIBUTORS
939
940 =back
941
942 =head2 perldebug - Perl debugging
943
944 =over 4
945
946 =item DESCRIPTION
947
948 =item The Perl Debugger
949
950 =over 4
951
952 =item Debugger Commands
953
954 h, h [command], h h, p expr, x [maxdepth] expr, V [pkg [vars]], X [vars], y
955 [level [vars]], T, s [expr], n [expr], r, <CR>, c [line|sub], l, l
956 min+incr, l min-max, l line, l subname, -, v [line], f filename, /pattern/,
957 ?pattern?, L [abw], S [[!]regex], t, t expr, b, b [line] [condition], b
958 subname [condition], b postpone subname [condition], b load filename, b
959 compile subname, B line, B *, a [line] command, A line, A *, w expr, W
960 expr, W *, o, o booloption .., o anyoption? .., o option=value .., < ?, < [
961 command ], << command, > ?, > command, >> command, { ?, { [ command ], {{
962 command, ! number, ! -number, ! pattern, !! cmd, source file, H -number, q
963 or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man [manpage]
964
965 =item Configurable Options
966
967 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
968 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
969 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<windowSize>,
970 C<arrayDepth>, C<hashDepth>, C<dumpDepth>, C<compactDump>, C<veryCompact>,
971 C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<quote>,
972 C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
973 C<NonStop>
974
975 =item Debugger input/output
976
977 Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
978 listing
979
980 =item Debugging compile-time statements
981
982 =item Debugger Customization
983
984 =item Readline Support
985
986 =item Editor Support for Debugging
987
988 =item The Perl Profiler
989
990 =back
991
992 =item Debugging regular expressions
993
994 =item Debugging memory usage
995
996 =item SEE ALSO
997
998 =item BUGS
999
1000 =back
1001
1002 =head2 perlvar - Perl predefined variables
1003
1004 =over 4
1005
1006 =item DESCRIPTION
1007
1008 =over 4
1009
1010 =item Predefined Names
1011
1012 $ARG, $_, $a, $b, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1013 $LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
1014 HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $,
1015 IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/,
1016 HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|,
1017 IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
1018 IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS,
1019 $\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
1020 HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%,
1021 HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $=,
1022 HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START,
1023 @-, C<$`> is the same as C<substr($var, 0, $-[0])>, C<$&> is the same as
1024 C<substr($var, $-[0], $+[0] - $-[0])>, C<$'> is the same as C<substr($var,
1025 $+[0])>, C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2>
1026 is the same as C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as
1027 C<substr $var, $-[3], $+[3] - $-[3])>, HANDLE->format_name(EXPR),
1028 $FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^,
1029 IO::Handle->format_line_break_characters EXPR,
1030 $FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR,
1031 $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, ${^ENCODING},
1032 $OS_ERROR, $ERRNO, $!, %!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@,
1033 $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID,
1034 $>, $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $),
1035 $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, $DEBUGGING, $^D,
1036 $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O,
1037 ${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
1038 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S,
1039 $BASETIME, $^T, ${^TAINT}, $PERL_VERSION, $^V, $WARNING, $^W,
1040 ${^WARNING_BITS}, ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, ARGV,
1041 $ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr}
1042
1043 =item Error Indicators
1044
1045 =item Technical Note on the Syntax of Variable Names
1046
1047 =back
1048
1049 =item BUGS
1050
1051 =back
1052
1053 =head2 perllol - Manipulating Arrays of Arrays in Perl
1054
1055 =over 4
1056
1057 =item DESCRIPTION
1058
1059 =over 4
1060
1061 =item Declaration and Access of Arrays of Arrays
1062
1063 =item Growing Your Own
1064
1065 =item Access and Printing
1066
1067 =item Slices
1068
1069 =back
1070
1071 =item SEE ALSO
1072
1073 =item AUTHOR
1074
1075 =back
1076
1077 =head2 perlopentut - tutorial on opening things in Perl
1078
1079 =over 4
1080
1081 =item DESCRIPTION
1082
1083 =item Open E<agrave> la shell
1084
1085 =over 4
1086
1087 =item Simple Opens
1088
1089 =item Pipe Opens
1090
1091 =item The Minus File
1092
1093 =item Mixing Reads and Writes
1094
1095 =item Filters 
1096
1097 =back
1098
1099 =item Open E<agrave> la C
1100
1101 =over 4
1102
1103 =item Permissions E<agrave> la mode
1104
1105 =back
1106
1107 =item Obscure Open Tricks
1108
1109 =over 4
1110
1111 =item Re-Opening Files (dups)
1112
1113 =item Dispelling the Dweomer
1114
1115 =item Paths as Opens
1116
1117 =item Single Argument Open
1118
1119 =item Playing with STDIN and STDOUT
1120
1121 =back
1122
1123 =item Other I/O Issues
1124
1125 =over 4
1126
1127 =item Opening Non-File Files
1128
1129 =item Binary Files
1130
1131 =item File Locking
1132
1133 =item IO Layers
1134
1135 =back
1136
1137 =item SEE ALSO 
1138
1139 =item AUTHOR and COPYRIGHT
1140
1141 =item HISTORY
1142
1143 =back
1144
1145 =head2 perlpacktut - tutorial on C<pack> and C<unpack>
1146
1147 =over 4
1148
1149 =item DESCRIPTION
1150
1151 =item The Basic Principle
1152
1153 =item Packing Text
1154
1155 =item Packing Numbers
1156
1157 =over 4
1158
1159 =item Integers
1160
1161 =item Unpacking a Stack Frame
1162
1163 =item How to Eat an Egg on a Net
1164
1165 =item Floating point Numbers
1166
1167 =back
1168
1169 =item Exotic Templates
1170
1171 =over 4
1172
1173 =item Bit Strings
1174
1175 =item Uuencoding
1176
1177 =item Doing Sums
1178
1179 =item  Unicode
1180
1181 =item Another Portable Binary Encoding
1182
1183 =back
1184
1185 =item Lengths and Widths
1186
1187 =over 4
1188
1189 =item String Lengths
1190
1191 =item Dynamic Templates
1192
1193 =back
1194
1195 =item Packing and Unpacking C Structures
1196
1197 =over 4
1198
1199 =item The Alignment Pit
1200
1201 =item Alignment, Take 2
1202
1203 =item Alignment, Take 3
1204
1205 =item Pointers for How to Use Them
1206
1207 =back
1208
1209 =item Pack Recipes
1210
1211 =item Funnies Section
1212
1213 =item Authors
1214
1215 =back
1216
1217 =head2 perlretut - Perl regular expressions tutorial
1218
1219 =over 4
1220
1221 =item DESCRIPTION
1222
1223 =item Part 1: The basics
1224
1225 =over 4
1226
1227 =item Simple word matching
1228
1229 =item Using character classes
1230
1231 =item Matching this or that
1232
1233 =item Grouping things and hierarchical matching
1234
1235 =item Extracting matches
1236
1237 =item Matching repetitions
1238
1239 =item Building a regexp
1240
1241 =item Using regular expressions in Perl
1242
1243 =back
1244
1245 =item Part 2: Power tools
1246
1247 =over 4
1248
1249 =item More on characters, strings, and character classes
1250
1251 =item Compiling and saving regular expressions
1252
1253 =item Embedding comments and modifiers in a regular expression
1254
1255 =item Non-capturing groupings
1256
1257 =item Looking ahead and looking behind
1258
1259 =item Using independent subexpressions to prevent backtracking
1260
1261 =item Conditional expressions
1262
1263 =item A bit of magic: executing Perl code in a regular expression
1264
1265 =item Pragmas and debugging
1266
1267 =back
1268
1269 =item BUGS
1270
1271 =item SEE ALSO
1272
1273 =item AUTHOR AND COPYRIGHT
1274
1275 =over 4
1276
1277 =item Acknowledgments
1278
1279 =back
1280
1281 =back
1282
1283 =head2 perlre - Perl regular expressions
1284
1285 =over 4
1286
1287 =item DESCRIPTION
1288
1289 i, m, s, x
1290
1291 =over 4
1292
1293 =item Regular Expressions
1294
1295 [1], [2], [3], cntrl, graph, print, punct, xdigit
1296
1297 =item Extended Patterns
1298
1299 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1300 C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
1301 code })>, C<(??{ code })>, C<< (?>pattern) >>,
1302 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
1303
1304 =item Backtracking
1305
1306 =item Version 8 Regular Expressions
1307
1308 =item Warning on \1 vs $1
1309
1310 =item Repeated patterns matching zero-length substring
1311
1312 =item Combining pieces together
1313
1314 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1315 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
1316 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1317 C<(?(condition)yes-pattern|no-pattern)>
1318
1319 =item Creating custom RE engines
1320
1321 =back
1322
1323 =item BUGS
1324
1325 =item SEE ALSO
1326
1327 =back
1328
1329 =head2 perlref - Perl references and nested data structures
1330
1331 =over 4
1332
1333 =item NOTE
1334
1335 =item DESCRIPTION
1336
1337 =over 4
1338
1339 =item Making References
1340
1341 =item Using References
1342
1343 =item Symbolic references
1344
1345 =item Not-so-symbolic references
1346
1347 =item Pseudo-hashes: Using an array as a hash
1348
1349 =item Function Templates
1350
1351 =back
1352
1353 =item WARNING
1354
1355 =item SEE ALSO
1356
1357 =back
1358
1359 =head2 perlform - Perl formats
1360
1361 =over 4
1362
1363 =item DESCRIPTION
1364
1365 =over 4
1366
1367 =item Format Variables
1368
1369 =back
1370
1371 =item NOTES
1372
1373 =over 4
1374
1375 =item Footers
1376
1377 =item Accessing Formatting Internals
1378
1379 =back
1380
1381 =item WARNINGS
1382
1383 =back
1384
1385 =head2 perlboot - Beginner's Object-Oriented Tutorial
1386
1387 =over 4
1388
1389 =item DESCRIPTION
1390
1391 =over 4
1392
1393 =item If we could talk to the animals...
1394
1395 =item Introducing the method invocation arrow
1396
1397 =item Invoking a barnyard
1398
1399 =item The extra parameter of method invocation
1400
1401 =item Calling a second method to simplify things
1402
1403 =item Inheriting the windpipes
1404
1405 =item A few notes about @ISA
1406
1407 =item Overriding the methods
1408
1409 =item Starting the search from a different place
1410
1411 =item The SUPER way of doing things
1412
1413 =item Where we're at so far...
1414
1415 =item A horse is a horse, of course of course -- or is it?
1416
1417 =item Invoking an instance method
1418
1419 =item Accessing the instance data
1420
1421 =item How to build a horse
1422
1423 =item Inheriting the constructor
1424
1425 =item Making a method work with either classes or instances
1426
1427 =item Adding parameters to a method
1428
1429 =item More interesting instances
1430
1431 =item A horse of a different color
1432
1433 =item Summary
1434
1435 =back
1436
1437 =item SEE ALSO
1438
1439 =item COPYRIGHT
1440
1441 =back
1442
1443 =head2 perltoot - Tom's object-oriented tutorial for perl
1444
1445 =over 4
1446
1447 =item DESCRIPTION
1448
1449 =item Creating a Class
1450
1451 =over 4
1452
1453 =item Object Representation
1454
1455 =item Class Interface
1456
1457 =item Constructors and Instance Methods
1458
1459 =item Planning for the Future: Better Constructors
1460
1461 =item Destructors
1462
1463 =item Other Object Methods
1464
1465 =back
1466
1467 =item Class Data
1468
1469 =over 4
1470
1471 =item Accessing Class Data
1472
1473 =item Debugging Methods
1474
1475 =item Class Destructors
1476
1477 =item Documenting the Interface
1478
1479 =back
1480
1481 =item Aggregation
1482
1483 =item Inheritance
1484
1485 =over 4
1486
1487 =item Overridden Methods
1488
1489 =item Multiple Inheritance
1490
1491 =item UNIVERSAL: The Root of All Objects
1492
1493 =back
1494
1495 =item Alternate Object Representations
1496
1497 =over 4
1498
1499 =item Arrays as Objects
1500
1501 =item Closures as Objects
1502
1503 =back
1504
1505 =item AUTOLOAD: Proxy Methods
1506
1507 =over 4
1508
1509 =item Autoloaded Data Methods
1510
1511 =item Inherited Autoloaded Data Methods
1512
1513 =back
1514
1515 =item Metaclassical Tools
1516
1517 =over 4
1518
1519 =item Class::Struct
1520
1521 =item Data Members as Variables
1522
1523 =back
1524
1525 =item NOTES
1526
1527 =over 4
1528
1529 =item Object Terminology
1530
1531 =back
1532
1533 =item SEE ALSO
1534
1535 =item AUTHOR AND COPYRIGHT
1536
1537 =item COPYRIGHT
1538
1539 =over 4
1540
1541 =item Acknowledgments
1542
1543 =back
1544
1545 =back
1546
1547 =head2 perltooc - Tom's OO Tutorial for Class Data in Perl
1548
1549 =over 4
1550
1551 =item DESCRIPTION
1552
1553 =item Class Data in a Can
1554
1555 =item Class Data as Package Variables
1556
1557 =over 4
1558
1559 =item Putting All Your Eggs in One Basket
1560
1561 =item Inheritance Concerns
1562
1563 =item The Eponymous Meta-Object
1564
1565 =item Indirect References to Class Data
1566
1567 =item Monadic Classes
1568
1569 =item Translucent Attributes
1570
1571 =back
1572
1573 =item Class Data as Lexical Variables
1574
1575 =over 4
1576
1577 =item Privacy and Responsibility 
1578
1579 =item File-Scoped Lexicals
1580
1581 =item More Inheritance Concerns
1582
1583 =item Locking the Door and Throwing Away the Key
1584
1585 =item Translucency Revisited
1586
1587 =back
1588
1589 =item NOTES
1590
1591 =item SEE ALSO
1592
1593 =item AUTHOR AND COPYRIGHT
1594
1595 =item ACKNOWLEDGEMENTS
1596
1597 =item HISTORY
1598
1599 =back
1600
1601 =head2 perlobj - Perl objects
1602
1603 =over 4
1604
1605 =item DESCRIPTION
1606
1607 =over 4
1608
1609 =item An Object is Simply a Reference
1610
1611 =item A Class is Simply a Package
1612
1613 =item A Method is Simply a Subroutine
1614
1615 =item Method Invocation
1616
1617 =item Indirect Object Syntax
1618
1619 =item Default UNIVERSAL methods
1620
1621 isa(CLASS), can(METHOD), VERSION( [NEED] )
1622
1623 =item Destructors
1624
1625 =item Summary
1626
1627 =item Two-Phased Garbage Collection
1628
1629 =back
1630
1631 =item SEE ALSO
1632
1633 =back
1634
1635 =head2 perlbot - Bag'o Object Tricks (the BOT)
1636
1637 =over 4
1638
1639 =item DESCRIPTION
1640
1641 =item OO SCALING TIPS
1642
1643 =item INSTANCE VARIABLES
1644
1645 =item SCALAR INSTANCE VARIABLES
1646
1647 =item INSTANCE VARIABLE INHERITANCE
1648
1649 =item OBJECT RELATIONSHIPS
1650
1651 =item OVERRIDING SUPERCLASS METHODS
1652
1653 =item USING RELATIONSHIP WITH SDBM
1654
1655 =item THINKING OF CODE REUSE
1656
1657 =item CLASS CONTEXT AND THE OBJECT
1658
1659 =item INHERITING A CONSTRUCTOR
1660
1661 =item DELEGATION
1662
1663 =back
1664
1665 =head2 perltie - how to hide an object class in a simple variable
1666
1667 =over 4
1668
1669 =item SYNOPSIS
1670
1671 =item DESCRIPTION
1672
1673 =over 4
1674
1675 =item Tying Scalars
1676
1677 TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this,
1678 DESTROY this
1679
1680 =item Tying Arrays
1681
1682 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
1683 FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
1684 key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this,
1685 UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY
1686 this
1687
1688 =item Tying Hashes
1689
1690 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
1691 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
1692 this, NEXTKEY this, lastkey, UNTIE this, DESTROY this
1693
1694 =item Tying FileHandles
1695
1696 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
1697 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this,
1698 DESTROY this
1699
1700 =item UNTIE this
1701
1702 =item The C<untie> Gotcha
1703
1704 =back
1705
1706 =item SEE ALSO
1707
1708 =item BUGS
1709
1710 =item AUTHOR
1711
1712 =back
1713
1714 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1715 safe subprocesses, sockets, and semaphores)
1716
1717 =over 4
1718
1719 =item DESCRIPTION
1720
1721 =item Signals
1722
1723 =over 4
1724
1725 =item Handling the SIGHUP Signal in Daemons
1726
1727 =back
1728
1729 =item Named Pipes
1730
1731 =over 4
1732
1733 =item Deferred Signals
1734
1735 Long running opcodes, Interrupting IO, Signals as "faults", Signals
1736 triggered by operating system state
1737
1738 =back
1739
1740 =item Using open() for IPC
1741
1742 =over 4
1743
1744 =item Filehandles
1745
1746 =item Background Processes
1747
1748 =item Complete Dissociation of Child from Parent
1749
1750 =item Safe Pipe Opens
1751
1752 =item Bidirectional Communication with Another Process
1753
1754 =item Bidirectional Communication with Yourself
1755
1756 =back
1757
1758 =item Sockets: Client/Server Communication
1759
1760 =over 4
1761
1762 =item Internet Line Terminators
1763
1764 =item Internet TCP Clients and Servers
1765
1766 =item Unix-Domain TCP Clients and Servers
1767
1768 =back
1769
1770 =item TCP Clients with IO::Socket
1771
1772 =over 4
1773
1774 =item A Simple Client
1775
1776 C<Proto>, C<PeerAddr>, C<PeerPort>
1777
1778 =item A Webget Client
1779
1780 =item Interactive Client with IO::Socket
1781
1782 =back
1783
1784 =item TCP Servers with IO::Socket
1785
1786 Proto, LocalPort, Listen, Reuse
1787
1788 =item UDP: Message Passing
1789
1790 =item SysV IPC
1791
1792 =item NOTES
1793
1794 =item BUGS
1795
1796 =item AUTHOR
1797
1798 =item SEE ALSO
1799
1800 =back
1801
1802 =head2 perlfork - Perl's fork() emulation
1803
1804 =over 4
1805
1806 =item SYNOPSIS
1807
1808 =item DESCRIPTION
1809
1810 =over 4
1811
1812 =item Behavior of other Perl features in forked pseudo-processes
1813
1814 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
1815 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
1816 files, directories and network sockets
1817
1818 =item Resource limits
1819
1820 =item Killing the parent process
1821
1822 =item Lifetime of the parent process and pseudo-processes
1823
1824 =item CAVEATS AND LIMITATIONS
1825
1826 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
1827 Global state maintained by XSUBs, Interpreter embedded in larger
1828 application, Thread-safety of extensions
1829
1830 =back
1831
1832 =item BUGS
1833
1834 =item AUTHOR
1835
1836 =item SEE ALSO
1837
1838 =back
1839
1840 =head2 perlnumber - semantics of numbers and numeric operations in Perl
1841
1842 =over 4
1843
1844 =item SYNOPSIS
1845
1846 =item DESCRIPTION
1847
1848 =item Storing numbers
1849
1850 =item Numeric operators and numeric conversions
1851
1852 =item Flavors of Perl numeric operations
1853
1854 Arithmetic operators except, C<no integer>, Arithmetic operators except,
1855 C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
1856 integer>, Operators which expect an integer, Operators which expect a
1857 string
1858
1859 =item AUTHOR
1860
1861 =item SEE ALSO
1862
1863 =back
1864
1865 =head2 perlthrtut - tutorial on threads in Perl
1866
1867 =over 4
1868
1869 =item DESCRIPTION
1870
1871 =item Status
1872
1873 =item What Is A Thread Anyway?
1874
1875 =item Threaded Program Models
1876
1877 =over 4
1878
1879 =item Boss/Worker
1880
1881 =item Work Crew
1882
1883 =item Pipeline
1884
1885 =back
1886
1887 =item Native threads
1888
1889 =item What kind of threads are Perl threads?
1890
1891 =item Threadsafe Modules
1892
1893 =item Thread Basics
1894
1895 =over 4
1896
1897 =item Basic Thread Support
1898
1899 =item A Note about the Examples
1900
1901 =item Creating Threads
1902
1903 =item Giving up control
1904
1905 =item Waiting For A Thread To Exit
1906
1907 =item Ignoring A Thread
1908
1909 =back
1910
1911 =item Threads And Data
1912
1913 =over 4
1914
1915 =item Shared And Unshared Data
1916
1917 =item Thread Pitfalls: Races
1918
1919 =back
1920
1921 =item Synchronization and control
1922
1923 =over 4
1924
1925 =item Controlling access: lock()
1926
1927 =item A Thread Pitfall: Deadlocks
1928
1929 =item Queues: Passing Data Around
1930
1931 =item Semaphores: Synchronizing Data Access
1932
1933 =item Basic semaphores
1934
1935 =item Advanced Semaphores
1936
1937 =item cond_wait() and cond_signal()
1938
1939 =back
1940
1941 =item General Thread Utility Routines
1942
1943 =over 4
1944
1945 =item What Thread Am I In?
1946
1947 =item Thread IDs
1948
1949 =item Are These Threads The Same?
1950
1951 =item What Threads Are Running?
1952
1953 =back
1954
1955 =item A Complete Example
1956
1957 =item Performance considerations
1958
1959 =item Threadsafety of System Libraries
1960
1961 =item Conclusion
1962
1963 =item Bibliography
1964
1965 =over 4
1966
1967 =item Introductory Texts
1968
1969 =item OS-Related References
1970
1971 =item Other References
1972
1973 =back
1974
1975 =item Acknowledgements
1976
1977 =item AUTHOR
1978
1979 =item Copyrights
1980
1981 =back
1982
1983 =head2 perlothrtut - old tutorial on threads in Perl
1984
1985 =over 4
1986
1987 =item DESCRIPTION
1988
1989 =item What Is A Thread Anyway?
1990
1991 =item Threaded Program Models
1992
1993 =over 4
1994
1995 =item Boss/Worker
1996
1997 =item Work Crew
1998
1999 =item Pipeline
2000
2001 =back
2002
2003 =item Native threads
2004
2005 =item What kind of threads are perl threads?
2006
2007 =item Threadsafe Modules
2008
2009 =item Thread Basics
2010
2011 =over 4
2012
2013 =item Basic Thread Support
2014
2015 =item Creating Threads
2016
2017 =item Giving up control
2018
2019 =item Waiting For A Thread To Exit
2020
2021 =item Errors In Threads
2022
2023 =item Ignoring A Thread
2024
2025 =back
2026
2027 =item Threads And Data
2028
2029 =over 4
2030
2031 =item Shared And Unshared Data
2032
2033 =item Thread Pitfall: Races
2034
2035 =item Controlling access: lock()
2036
2037 =item Thread Pitfall: Deadlocks
2038
2039 =item Queues: Passing Data Around
2040
2041 =back
2042
2043 =item Threads And Code
2044
2045 =over 4
2046
2047 =item Semaphores: Synchronizing Data Access
2048
2049 Basic semaphores, Advanced Semaphores
2050
2051 =item Attributes: Restricting Access To Subroutines
2052
2053 =item Subroutine Locks
2054
2055 =item Methods
2056
2057 =item Locking A Subroutine
2058
2059 =back
2060
2061 =item General Thread Utility Routines
2062
2063 =over 4
2064
2065 =item What Thread Am I In?
2066
2067 =item Thread IDs
2068
2069 =item Are These Threads The Same?
2070
2071 =item What Threads Are Running?
2072
2073 =back
2074
2075 =item A Complete Example
2076
2077 =item Conclusion
2078
2079 =item Bibliography
2080
2081 =over 4
2082
2083 =item Introductory Texts
2084
2085 =item OS-Related References
2086
2087 =item Other References
2088
2089 =back
2090
2091 =item Acknowledgements
2092
2093 =item AUTHOR
2094
2095 =item Copyrights
2096
2097 =back
2098
2099 =head2 perlport - Writing portable Perl
2100
2101 =over 4
2102
2103 =item DESCRIPTION
2104
2105 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
2106 portable
2107
2108 =item ISSUES
2109
2110 =over 4
2111
2112 =item Newlines
2113
2114 =item Numbers endianness and Width
2115
2116 =item Files and Filesystems
2117
2118 =item System Interaction
2119
2120 =item Command names versus file pathnames
2121
2122 =item Interprocess Communication (IPC)
2123
2124 =item External Subroutines (XS)
2125
2126 =item Standard Modules
2127
2128 =item Time and Date
2129
2130 =item Character sets and character encoding
2131
2132 =item Internationalisation
2133
2134 =item System Resources
2135
2136 =item Security
2137
2138 =item Style
2139
2140 =back
2141
2142 =item CPAN Testers
2143
2144 Mailing list: cpan-testers@perl.org, Testing results:
2145 http://testers.cpan.org/
2146
2147 =item PLATFORMS
2148
2149 =over 4
2150
2151 =item Unix
2152
2153 =item DOS and Derivatives
2154
2155 =item S<Mac OS>
2156
2157 =item VMS
2158
2159 =item VOS
2160
2161 =item EBCDIC Platforms
2162
2163 =item Acorn RISC OS
2164
2165 =item Other perls
2166
2167 =back
2168
2169 =item FUNCTION IMPLEMENTATIONS
2170
2171 =over 4
2172
2173 =item Alphabetical Listing of Perl Functions
2174
2175 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
2176 FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
2177 PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
2178 LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock
2179 FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority
2180 WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID,
2181 getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
2182 getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
2183 getprotoent, getservent, sethostent STAYOPEN, setnetent STAYOPEN,
2184 setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent,
2185 endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob
2186 EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link
2187 OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG,
2188 msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open
2189 FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink
2190 EXPR, readlink, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG,
2191 semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
2192 setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
2193 SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
2194 shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET,
2195 socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat
2196 EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
2197 FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
2198 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
2199 wait, waitpid PID,FLAGS
2200
2201 =back
2202
2203 =item CHANGES
2204
2205 v1.48, 02 February 2001, v1.47, 22 March 2000, v1.46, 12 February 2000,
2206 v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22
2207 May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February
2208 1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September
2209 1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998,
2210 v1.30, 03 August 1998, v1.23, 10 July 1998
2211
2212 =item Supported Platforms
2213
2214 =item SEE ALSO
2215
2216 =item AUTHORS / CONTRIBUTORS
2217
2218 =back
2219
2220 =head2 perllocale - Perl locale handling (internationalization and
2221 localization)
2222
2223 =over 4
2224
2225 =item DESCRIPTION
2226
2227 =item PREPARING TO USE LOCALES
2228
2229 =item USING LOCALES
2230
2231 =over 4
2232
2233 =item The use locale pragma
2234
2235 =item The setlocale function
2236
2237 =item Finding locales
2238
2239 =item LOCALE PROBLEMS
2240
2241 =item Temporarily fixing locale problems
2242
2243 =item Permanently fixing locale problems
2244
2245 =item Permanently fixing your system's locale configuration
2246
2247 =item Fixing system locale configuration
2248
2249 =item The localeconv function
2250
2251 =item I18N::Langinfo
2252
2253 =back
2254
2255 =item LOCALE CATEGORIES
2256
2257 =over 4
2258
2259 =item Category LC_COLLATE: Collation
2260
2261 =item Category LC_CTYPE: Character Types
2262
2263 =item Category LC_NUMERIC: Numeric Formatting
2264
2265 =item Category LC_MONETARY: Formatting of monetary amounts
2266
2267 =item LC_TIME
2268
2269 =item Other categories
2270
2271 =back
2272
2273 =item SECURITY
2274
2275 =item ENVIRONMENT
2276
2277 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2278 LC_NUMERIC, LC_TIME, LANG
2279
2280 =item NOTES
2281
2282 =over 4
2283
2284 =item Backward compatibility
2285
2286 =item I18N:Collate obsolete
2287
2288 =item Sort speed and memory use impacts
2289
2290 =item write() and LC_NUMERIC
2291
2292 =item Freely available locale definitions
2293
2294 =item I18n and l10n
2295
2296 =item An imperfect standard
2297
2298 =back
2299
2300 =item Unicode and UTF-8
2301
2302 =item BUGS
2303
2304 =over 4
2305
2306 =item Broken systems
2307
2308 =back
2309
2310 =item SEE ALSO
2311
2312 =item HISTORY
2313
2314 =back
2315
2316 =head2 perluniintro - Perl Unicode introduction
2317
2318 =over 4
2319
2320 =item DESCRIPTION
2321
2322 =over 4
2323
2324 =item Unicode
2325
2326 =item Perl's Unicode Support
2327
2328 =item Perl's Unicode Model
2329
2330 =item Unicode and EBCDIC
2331
2332 =item Creating Unicode
2333
2334 =item Handling Unicode
2335
2336 =item Legacy Encodings
2337
2338 =item Unicode I/O
2339
2340 =item Displaying Unicode As Text
2341
2342 =item Special Cases
2343
2344 =item Advanced Topics
2345
2346 =item Miscellaneous
2347
2348 =item Questions With Answers
2349
2350 =item Hexadecimal Notation
2351
2352 =item Further Resources
2353
2354 =back
2355
2356 =item UNICODE IN OLDER PERLS
2357
2358 =item SEE ALSO
2359
2360 =item ACKNOWLEDGMENTS
2361
2362 =item AUTHOR, COPYRIGHT, AND LICENSE
2363
2364 =back
2365
2366 =head2 perlunicode - Unicode support in Perl
2367
2368 =over 4
2369
2370 =item DESCRIPTION
2371
2372 =over 4
2373
2374 =item Important Caveats
2375
2376 Input and Output Layers, Regular Expressions, C<use utf8> still needed to
2377 enable UTF-8/UTF-EBCDIC in scripts
2378
2379 =item Byte and Character Semantics
2380
2381 =item Effects of Character Semantics
2382
2383 =item Scripts
2384
2385 =item Blocks
2386
2387 =item User-Defined Character Properties
2388
2389 =item Character Encodings for Input and Output
2390
2391 =item Unicode Regular Expression Support Level
2392
2393 =item Unicode Encodings
2394
2395 =item Security Implications of Unicode
2396
2397 =item Unicode in Perl on EBCDIC
2398
2399 =item Locales
2400
2401 =item Using Unicode in XS
2402
2403 =back
2404
2405 =item BUGS
2406
2407 =over 4
2408
2409 =item Interaction with Locales
2410
2411 =item Interaction with Extensions
2412
2413 =item Speed
2414
2415 =back
2416
2417 =item SEE ALSO
2418
2419 =back
2420
2421 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
2422
2423 =over 4
2424
2425 =item DESCRIPTION
2426
2427 =item COMMON CHARACTER CODE SETS
2428
2429 =over 4
2430
2431 =item ASCII
2432
2433 =item ISO 8859
2434
2435 =item Latin 1 (ISO 8859-1)
2436
2437 =item EBCDIC
2438
2439 =item 13 variant characters
2440
2441 =item 0037
2442
2443 =item 1047
2444
2445 =item POSIX-BC
2446
2447 =item Unicode code points versus EBCDIC code points
2448
2449 =item Remaining Perl Unicode problems in EBCDIC
2450
2451 =item Unicode and UTF
2452
2453 =item Using Encode
2454
2455 =back
2456
2457 =item SINGLE OCTET TABLES
2458
2459 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
2460
2461 =item IDENTIFYING CHARACTER CODE SETS
2462
2463 =item CONVERSIONS
2464
2465 =over 4
2466
2467 =item tr///
2468
2469 =item iconv
2470
2471 =item C RTL
2472
2473 =back
2474
2475 =item OPERATOR DIFFERENCES
2476
2477 =item FUNCTION DIFFERENCES
2478
2479 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
2480
2481 =item REGULAR EXPRESSION DIFFERENCES
2482
2483 =item SOCKETS
2484
2485 =item SORTING
2486
2487 =over 4
2488
2489 =item Ignore ASCII vs. EBCDIC sort differences.
2490
2491 =item MONO CASE then sort data.
2492
2493 =item Convert, sort data, then re convert.
2494
2495 =item Perform sorting on one type of machine only.
2496
2497 =back
2498
2499 =item TRANSFORMATION FORMATS
2500
2501 =over 4
2502
2503 =item URL decoding and encoding
2504
2505 =item uu encoding and decoding
2506
2507 =item Quoted-Printable encoding and decoding
2508
2509 =item Caesarian ciphers
2510
2511 =back
2512
2513 =item Hashing order and checksums
2514
2515 =item I18N AND L10N
2516
2517 =item MULTI OCTET CHARACTER SETS
2518
2519 =item OS ISSUES
2520
2521 =over 4
2522
2523 =item OS/400 
2524
2525 IFS access
2526
2527 =item OS/390, z/OS
2528
2529 chcp, dataset access, OS/390, z/OS iconv, locales
2530
2531 =item VM/ESA?
2532
2533 =item POSIX-BC?
2534
2535 =back
2536
2537 =item BUGS
2538
2539 =item SEE ALSO
2540
2541 =item REFERENCES
2542
2543 =item HISTORY
2544
2545 =item AUTHOR
2546
2547 =back
2548
2549 =head2 perlsec - Perl security
2550
2551 =over 4
2552
2553 =item DESCRIPTION
2554
2555 =over 4
2556
2557 =item Laundering and Detecting Tainted Data
2558
2559 =item Switches On the "#!" Line
2560
2561 =item Cleaning Up Your Path
2562
2563 =item Security Bugs
2564
2565 =item Protecting Your Programs
2566
2567 =item Unicode
2568
2569 =back
2570
2571 =item SEE ALSO
2572
2573 =back
2574
2575 =head2 perlmod - Perl modules (packages and symbol tables)
2576
2577 =over 4
2578
2579 =item DESCRIPTION
2580
2581 =over 4
2582
2583 =item Packages
2584
2585 =item Symbol Tables
2586
2587 =item Package Constructors and Destructors
2588
2589 =item Perl Classes
2590
2591 =item Perl Modules
2592
2593 =item Making your module threadsafe
2594
2595 =back
2596
2597 =item SEE ALSO
2598
2599 =back
2600
2601 =head2 perlmodinstall - Installing CPAN Modules
2602
2603 =over 4
2604
2605 =item DESCRIPTION
2606
2607 =over 4
2608
2609 =item PREAMBLE
2610
2611 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2612 module (sometimes unnecessary), B<INSTALL> the module
2613
2614 =back
2615
2616 =item PORTABILITY
2617
2618 =item HEY
2619
2620 =item AUTHOR
2621
2622 =item COPYRIGHT
2623
2624 =back
2625
2626 =head2 perlmodlib - constructing new Perl modules and finding existing ones
2627
2628 =over 4
2629
2630 =item DESCRIPTION
2631
2632 =item THE PERL MODULE LIBRARY
2633
2634 =over 4
2635
2636 =item Pragmatic Modules
2637
2638 attributes, attrs, autouse, base, bigint, bignum, bigrat, blib, bytes,
2639 charnames, constant, diagnostics, encoding, fields, filetest, if, integer,
2640 less, locale, open, ops, overload, re, sigtrap, sort, strict, subs,
2641 threads, utf8, vars, vmsish, warnings, warnings::register
2642
2643 =item Standard Modules
2644
2645 AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata,
2646 B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug,
2647 B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash,
2648 B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp,
2649 CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util,
2650 CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA,
2651 Class::Struct, Config, Cwd, DB, DB_File, Devel::SelfStubber, Digest,
2652 DirHandle, Dumpvalue, Encode, English, Env, Errno, Exporter,
2653 Exporter::Heavy, ExtUtils::Command, ExtUtils::Command::MM,
2654 ExtUtils::Constant, ExtUtils::Embed, ExtUtils::Install,
2655 ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_Any,
2656 ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
2657 ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_UWIN,
2658 ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32,
2659 ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::Manifest,
2660 ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
2661 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
2662 File::Compare, File::Copy, File::DosGlob, File::Find, File::Path,
2663 File::Spec, File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions,
2664 File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS,
2665 File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle,
2666 Filter::Simple, FindBin, Getopt::Long, Getopt::Std, Hash::Util,
2667 I18N::Collate, I18N::LangTags, I18N::LangTags::List, IO, IPC::Open2,
2668 IPC::Open3, Locale::Constants, Locale::Country, Locale::Currency,
2669 Locale::Language, Locale::Maketext, Locale::Maketext::TPJ13,
2670 Locale::Script, Math::BigFloat, Math::BigInt, Math::BigInt::Calc,
2671 Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File,
2672 Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest,
2673 Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, NDBM_File, NEXT,
2674 Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc,
2675 Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ,
2676 Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX,
2677 PerlIO, Pod::Checker, Pod::Find, Pod::Functions, Pod::Html,
2678 Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils,
2679 Pod::Parser, Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color,
2680 Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe,
2681 Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch,
2682 Symbol, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test,
2683 Test::Builder, Test::Harness, Test::Harness::Assert,
2684 Test::Harness::Iterator, Test::Harness::Straps, Test::More, Test::Simple,
2685 Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords,
2686 Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue,
2687 Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash,
2688 Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local,
2689 Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate,
2690 Unicode::UCD, User::grent, User::pwent, Win32
2691
2692 =item Extension Modules
2693
2694 =back
2695
2696 =item CPAN
2697
2698 =over 4
2699
2700 =item Africa
2701
2702 =item Asia
2703
2704 =item Central America
2705
2706 =item Europe
2707
2708 =item North America
2709
2710 =item Oceania
2711
2712 =item South America
2713
2714 =back
2715
2716 =item Modules: Creation, Use, and Abuse
2717
2718 =over 4
2719
2720 =item Guidelines for Module Creation
2721
2722 =item Guidelines for Converting Perl 4 Library Scripts into Modules
2723
2724 =item Guidelines for Reusing Application Code
2725
2726 =back
2727
2728 =item NOTE
2729
2730 =back
2731
2732 =head2 perlmodstyle - Perl module style guide
2733
2734 =over 4
2735
2736 =item INTRODUCTION
2737
2738 =item QUICK CHECKLIST
2739
2740 =over 4
2741
2742 =item Before you start
2743
2744 =item The API
2745
2746 =item Stability
2747
2748 =item Documentation
2749
2750 =item Release considerations
2751
2752 =back
2753
2754 =item BEFORE YOU START WRITING A MODULE
2755
2756 =over 4
2757
2758 =item Has it been done before?
2759
2760 =item Do one thing and do it well
2761
2762 =item What's in a name?
2763
2764 =back
2765
2766 =item DESIGNING AND WRITING YOUR MODULE
2767
2768 =over 4
2769
2770 =item To OO or not to OO?
2771
2772 =item Designing your API
2773
2774 Write simple routines to do simple things, Separate functionality from
2775 output, Provide sensible shortcuts and defaults, Naming conventions,
2776 Parameter passing
2777
2778 =item Strictness and warnings
2779
2780 =item Backwards compatibility
2781
2782 =item Error handling and messages
2783
2784 =back
2785
2786 =item DOCUMENTING YOUR MODULE
2787
2788 =over 4
2789
2790 =item POD
2791
2792 =item README, INSTALL, release notes, changelogs
2793
2794 =back
2795
2796 =item RELEASE CONSIDERATIONS
2797
2798 =over 4
2799
2800 =item Version numbering
2801
2802 =item Pre-requisites
2803
2804 =item Testing
2805
2806 =item Packaging
2807
2808 =item Licensing
2809
2810 =back
2811
2812 =item COMMON PITFALLS
2813
2814 =over 4
2815
2816 =item Reinventing the wheel
2817
2818 =item Trying to do too much
2819
2820 =item Inappropriate documentation
2821
2822 =back
2823
2824 =item SEE ALSO
2825
2826 L<perlstyle>, L<perlnewmod>, L<perlpod>, L<podchecker>, Testing tools,
2827 http://pause.perl.org/, Any good book on software engineering
2828
2829 =item AUTHOR
2830
2831 =back
2832
2833 =head2 perlnewmod - preparing a new module for distribution
2834
2835 =over 4
2836
2837 =item DESCRIPTION
2838
2839 =over 4
2840
2841 =item Warning
2842
2843 =item What should I make into a module?
2844
2845 =item Step-by-step: Preparing the ground
2846
2847 Look around, Check it's new, Discuss the need, Choose a name, Check again
2848
2849 =item Step-by-step: Making the module
2850
2851 Start with F<h2xs>, Use L<strict|strict> and L<warnings|warnings>, Use
2852 L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!, Use L<plain old
2853 documentation|perlpod>, Write tests, Write the README
2854
2855 =item Step-by-step: Distributing your module
2856
2857 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
2858 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
2859
2860 =back
2861
2862 =item AUTHOR
2863
2864 =item SEE ALSO
2865
2866 =back
2867
2868 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.8 $, $Date:
2869 2002/04/07 18:46:13 $)
2870
2871 =over 4
2872
2873 =item DESCRIPTION
2874
2875 =over 4
2876
2877 =item What is Perl?
2878
2879 =item Who supports Perl?  Who develops it?  Why is it free?
2880
2881 =item Which version of Perl should I use?
2882
2883 =item What are perl4 and perl5?
2884
2885 =item What is perl6?
2886
2887 =item How stable is Perl?
2888
2889 =item Is Perl difficult to learn?
2890
2891 =item How does Perl compare with other languages like Java, Python, REXX,
2892 Scheme, or Tcl?
2893
2894 =item Can I do [task] in Perl?
2895
2896 =item When shouldn't I program in Perl?
2897
2898 =item What's the difference between "perl" and "Perl"?
2899
2900 =item Is it a Perl program or a Perl script?
2901
2902 =item What is a JAPH?
2903
2904 =item Where can I get a list of Larry Wall witticisms?
2905
2906 =item How can I convince my sysadmin/supervisor/employees to use version
2907 5/5.6.1/Perl instead of some other language?
2908
2909 =back
2910
2911 =item AUTHOR AND COPYRIGHT
2912
2913 =back
2914
2915 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.13 $,
2916 $Date: 2002/04/26 16:56:35 $)
2917
2918 =over 4
2919
2920 =item DESCRIPTION
2921
2922 =over 4
2923
2924 =item What machines support Perl?  Where do I get it?
2925
2926 =item How can I get a binary version of Perl?
2927
2928 =item I don't have a C compiler on my system.  How can I compile perl?
2929
2930 =item I copied the Perl binary from one machine to another, but scripts
2931 don't work.
2932
2933 =item I grabbed the sources and tried to compile but gdbm/dynamic
2934 loading/malloc/linking/... failed.  How do I make it work?
2935
2936 =item What modules and extensions are available for Perl?  What is CPAN? 
2937 What does CPAN/src/... mean?
2938
2939 =item Is there an ISO or ANSI certified version of Perl?
2940
2941 =item Where can I get information on Perl?
2942
2943 =item What are the Perl newsgroups on Usenet?  Where do I post questions?
2944
2945 =item Where should I post source code?
2946
2947 =item Perl Books
2948
2949 References, Tutorials, Task-Oriented, Special Topics
2950
2951 =item Perl in Magazines
2952
2953 =item Perl on the Net: FTP and WWW Access
2954
2955 =item What mailing lists are there for Perl?
2956
2957 =item Archives of comp.lang.perl.misc
2958
2959 =item Where can I buy a commercial version of Perl?
2960
2961 =item Where do I send bug reports?
2962
2963 =item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
2964
2965 =back
2966
2967 =item AUTHOR AND COPYRIGHT
2968
2969 =back
2970
2971 =head2 perlfaq3 - Programming Tools ($Revision: 1.22 $, $Date: 2002/05/06
2972 13:11:13 $)
2973
2974 =over 4
2975
2976 =item DESCRIPTION
2977
2978 =over 4
2979
2980 =item How do I do (anything)?
2981
2982 =item How can I use Perl interactively?
2983
2984 =item Is there a Perl shell?
2985
2986 =item How do I debug my Perl programs?
2987
2988 =item How do I profile my Perl programs?
2989
2990 =item How do I cross-reference my Perl programs?
2991
2992 =item Is there a pretty-printer (formatter) for Perl?
2993
2994 =item Is there a ctags for Perl?
2995
2996 =item Is there an IDE or Windows Perl Editor?
2997
2998 Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, OptiPerl,
2999 CodeMagicCD, GNU Emacs, MicroEMACS, XEmacs, Elvis, Vile, Vim, Codewright,
3000 MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha
3001
3002 =item Where can I get Perl macros for vi?
3003
3004 =item Where can I get perl-mode for emacs?
3005
3006 =item How can I use curses with Perl?
3007
3008 =item How can I use X or Tk with Perl?
3009
3010 =item How can I generate simple menus without using CGI or Tk?
3011
3012 =item How can I make my Perl program run faster?
3013
3014 =item How can I make my Perl program take less memory?
3015
3016 Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
3017 stringification, Pass by reference, Tie large variables to disk
3018
3019 =item Is it unsafe to return a pointer to local data?
3020
3021 =item How can I free an array or hash so my program shrinks?
3022
3023 =item How can I make my CGI script more efficient?
3024
3025 =item How can I hide the source for my Perl program?
3026
3027 =item How can I compile my Perl program into byte code or C?
3028
3029 =item How can I compile Perl into Java?
3030
3031 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
3032
3033 =item Can I write useful Perl programs on the command line?
3034
3035 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
3036
3037 =item Where can I learn about CGI or Web programming in Perl?
3038
3039 =item Where can I learn about object-oriented Perl programming?
3040
3041 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
3042
3043 =item I've read perlembed, perlguts, etc., but I can't embed perl in
3044 my C program; what am I doing wrong?
3045
3046 =item When I tried to run my script, I got this message. What does it mean?
3047
3048 =item What's MakeMaker?
3049
3050 =back
3051
3052 =item AUTHOR AND COPYRIGHT
3053
3054 =back
3055
3056 =head2 perlfaq4 - Data Manipulation ($Revision: 1.25 $, $Date: 2002/05/30
3057 07:04:25 $)
3058
3059 =over 4
3060
3061 =item DESCRIPTION
3062
3063 =item Data: Numbers
3064
3065 =over 4
3066
3067 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
3068 numbers I should be getting (eg, 19.95)?
3069
3070 =item Why isn't my octal data interpreted correctly?
3071
3072 =item Does Perl have a round() function?  What about ceil() and floor()? 
3073 Trig functions?
3074
3075 =item How do I convert between numeric representations?
3076
3077 How do I convert hexadecimal into decimal, How do I convert from decimal to
3078 hexadecimal, How do I convert from octal to decimal, How do I convert from
3079 decimal to octal, How do I convert from binary to decimal, How do I convert
3080 from decimal to binary
3081
3082 =item Why doesn't & work the way I want it to?
3083
3084 =item How do I multiply matrices?
3085
3086 =item How do I perform an operation on a series of integers?
3087
3088 =item How can I output Roman numerals?
3089
3090 =item Why aren't my random numbers random?
3091
3092 =item How do I get a random number between X and Y?
3093
3094 =back
3095
3096 =item Data: Dates
3097
3098 =over 4
3099
3100 =item How do I find the week-of-the-year/day-of-the-year?
3101
3102 =item How do I find the current century or millennium?
3103
3104 =item How can I compare two dates and find the difference?
3105
3106 =item How can I take a string and turn it into epoch seconds?
3107
3108 =item How can I find the Julian Day?
3109
3110 =item How do I find yesterday's date?
3111
3112 =item Does Perl have a Year 2000 problem?  Is Perl Y2K compliant?
3113
3114 =back
3115
3116 =item Data: Strings
3117
3118 =over 4
3119
3120 =item How do I validate input?
3121
3122 =item How do I unescape a string?
3123
3124 =item How do I remove consecutive pairs of characters?
3125
3126 =item How do I expand function calls in a string?
3127
3128 =item How do I find matching/nesting anything?
3129
3130 =item How do I reverse a string?
3131
3132 =item How do I expand tabs in a string?
3133
3134 =item How do I reformat a paragraph?
3135
3136 =item How can I access/change the first N letters of a string?
3137
3138 =item How do I change the Nth occurrence of something?
3139
3140 =item How can I count the number of occurrences of a substring within a
3141 string?
3142
3143 =item How do I capitalize all the words on one line?
3144
3145 =item How can I split a [character] delimited string except when inside
3146 [character]? (Comma-separated files)
3147
3148 =item How do I strip blank space from the beginning/end of a string?
3149
3150 =item How do I pad a string with blanks or pad a number with zeroes?
3151
3152 =item How do I extract selected columns from a string?
3153
3154 =item How do I find the soundex value of a string?
3155
3156 =item How can I expand variables in text strings?
3157
3158 =item What's wrong with always quoting "$vars"?
3159
3160 =item Why don't my <<HERE documents work?
3161
3162 1. There must be no space after the << part, 2. There (probably) should be
3163 a semicolon at the end, 3. You can't (easily) have any space in front of
3164 the tag
3165
3166 =back
3167
3168 =item Data: Arrays
3169
3170 =over 4
3171
3172 =item What is the difference between a list and an array?
3173
3174 =item What is the difference between $array[1] and @array[1]?
3175
3176 =item How can I remove duplicate elements from a list or array?
3177
3178 a), b), c), d), e)
3179
3180 =item How can I tell whether a certain element is contained in a list or
3181 array?
3182
3183 =item How do I compute the difference of two arrays?  How do I compute the
3184 intersection of two arrays?
3185
3186 =item How do I test whether two arrays or hashes are equal?
3187
3188 =item How do I find the first array element for which a condition is true?
3189
3190 =item How do I handle linked lists?
3191
3192 =item How do I handle circular lists?
3193
3194 =item How do I shuffle an array randomly?
3195
3196 =item How do I process/modify each element of an array?
3197
3198 =item How do I select a random element from an array?
3199
3200 =item How do I permute N elements of a list?
3201
3202 =item How do I sort an array by (anything)?
3203
3204 =item How do I manipulate arrays of bits?
3205
3206 =item Why does defined() return true on empty arrays and hashes?
3207
3208 =back
3209
3210 =item Data: Hashes (Associative Arrays)
3211
3212 =over 4
3213
3214 =item How do I process an entire hash?
3215
3216 =item What happens if I add or remove keys from a hash while iterating over
3217 it?
3218
3219 =item How do I look up a hash element by value?
3220
3221 =item How can I know how many entries are in a hash?
3222
3223 =item How do I sort a hash (optionally by value instead of key)?
3224
3225 =item How can I always keep my hash sorted?
3226
3227 =item What's the difference between "delete" and "undef" with hashes?
3228
3229 =item Why don't my tied hashes make the defined/exists distinction?
3230
3231 =item How do I reset an each() operation part-way through?
3232
3233 =item How can I get the unique keys from two hashes?
3234
3235 =item How can I store a multidimensional array in a DBM file?
3236
3237 =item How can I make my hash remember the order I put elements into it?
3238
3239 =item Why does passing a subroutine an undefined element in a hash create
3240 it?
3241
3242 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
3243 array of hashes or arrays?
3244
3245 =item How can I use a reference as a hash key?
3246
3247 =back
3248
3249 =item Data: Misc
3250
3251 =over 4
3252
3253 =item How do I handle binary data correctly?
3254
3255 =item How do I determine whether a scalar is a number/whole/integer/float?
3256
3257 =item How do I keep persistent data across program calls?
3258
3259 =item How do I print out or copy a recursive data structure?
3260
3261 =item How do I define methods for every class/object?
3262
3263 =item How do I verify a credit card checksum?
3264
3265 =item How do I pack arrays of doubles or floats for XS code?
3266
3267 =back
3268
3269 =item AUTHOR AND COPYRIGHT
3270
3271 =back
3272
3273 =head2 perlfaq5 - Files and Formats ($Revision: 1.18 $, $Date: 2002/05/30
3274 07:04:25 $)
3275
3276 =over 4
3277
3278 =item DESCRIPTION
3279
3280 =over 4
3281
3282 =item How do I flush/unbuffer an output filehandle?  Why must I do this?
3283
3284 =item How do I change one line in a file/delete a line in a file/insert a
3285 line in the middle of a file/append to the beginning of a file?
3286
3287 =item How do I count the number of lines in a file?
3288
3289 =item How do I make a temporary file name?
3290
3291 =item How can I manipulate fixed-record-length files?
3292
3293 =item How can I make a filehandle local to a subroutine?  How do I pass
3294 filehandles between subroutines?  How do I make an array of filehandles?
3295
3296 =item How can I use a filehandle indirectly?
3297
3298 =item How can I set up a footer format to be used with write()?
3299
3300 =item How can I write() into a string?
3301
3302 =item How can I output my numbers with commas added?
3303
3304 =item How can I translate tildes (~) in a filename?
3305
3306 =item How come when I open a file read-write it wipes it out?
3307
3308 =item Why do I sometimes get an "Argument list too long" when I use <*>?
3309
3310 =item Is there a leak/bug in glob()?
3311
3312 =item How can I open a file with a leading ">" or trailing blanks?
3313
3314 =item How can I reliably rename a file?
3315
3316 =item How can I lock a file?
3317
3318 =item Why can't I just open(FH, ">file.lock")?
3319
3320 =item I still don't get locking.  I just want to increment the number in
3321 the file.  How can I do this?
3322
3323 =item All I want to do is append a small amount of text to the end of a
3324 file.  Do I still have to use locking?
3325
3326 =item How do I randomly update a binary file?
3327
3328 =item How do I get a file's timestamp in perl?
3329
3330 =item How do I set a file's timestamp in perl?
3331
3332 =item How do I print to more than one file at once?
3333
3334 =item How can I read in an entire file all at once?
3335
3336 =item How can I read in a file by paragraphs?
3337
3338 =item How can I read a single character from a file?  From the keyboard?
3339
3340 =item How can I tell whether there's a character waiting on a filehandle?
3341
3342 =item How do I do a C<tail -f> in perl?
3343
3344 =item How do I dup() a filehandle in Perl?
3345
3346 =item How do I close a file descriptor by number?
3347
3348 =item Why can't I use "C:\temp\foo" in DOS paths?  Why doesn't
3349 `C:\temp\foo.exe` work?
3350
3351 =item Why doesn't glob("*.*") get all the files?
3352
3353 =item Why does Perl let me delete read-only files?  Why does C<-i> clobber
3354 protected files?  Isn't this a bug in Perl?
3355
3356 =item How do I select a random line from a file?
3357
3358 =item Why do I get weird spaces when I print an array of lines?
3359
3360 =back
3361
3362 =item AUTHOR AND COPYRIGHT
3363
3364 =back
3365
3366 =head2 perlfaq6 - Regular Expressions ($Revision: 1.12 $, $Date: 2002/06/01
3367 22:31:09 $)
3368
3369 =over 4
3370
3371 =item DESCRIPTION
3372
3373 =over 4
3374
3375 =item How can I hope to use regular expressions without creating illegible
3376 and unmaintainable code?
3377
3378 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
3379
3380 =item I'm having trouble matching over more than one line.  What's wrong?
3381
3382 =item How can I pull out lines between two patterns that are themselves on
3383 different lines?
3384
3385 =item I put a regular expression into $/ but it didn't work. What's wrong?
3386
3387 =item How do I substitute case insensitively on the LHS while preserving
3388 case on the RHS?
3389
3390 =item How can I make C<\w> match national character sets?
3391
3392 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
3393
3394 =item How can I quote a variable to use in a regex?
3395
3396 =item What is C</o> really for?
3397
3398 =item How do I use a regular expression to strip C style comments from a
3399 file?
3400
3401 =item Can I use Perl regular expressions to match balanced text?
3402
3403 =item What does it mean that regexes are greedy?  How can I get around it?
3404
3405 =item How do I process each word on each line?
3406
3407 =item How can I print out a word-frequency or line-frequency summary?
3408
3409 =item How can I do approximate matching?
3410
3411 =item How do I efficiently match many regular expressions at once?
3412
3413 =item Why don't word-boundary searches with C<\b> work for me?
3414
3415 =item Why does using $&, $`, or $' slow my program down?
3416
3417 =item What good is C<\G> in a regular expression?
3418
3419 =item Are Perl regexes DFAs or NFAs?  Are they POSIX compliant?
3420
3421 =item What's wrong with using grep or map in a void context?
3422
3423 =item How can I match strings with multibyte characters?
3424
3425 =item How do I match a pattern that is supplied by the user?
3426
3427 =back
3428
3429 =item AUTHOR AND COPYRIGHT
3430
3431 =back
3432
3433 =head2 perlfaq7 - General Perl Language Issues ($Revision: 1.8 $, $Date:
3434 2002/03/26 15:48:32 $)
3435
3436 =over 4
3437
3438 =item DESCRIPTION
3439
3440 =over 4
3441
3442 =item Can I get a BNF/yacc/RE for the Perl language?
3443
3444 =item What are all these $@%&* punctuation signs, and how do I know when to
3445 use them?
3446
3447 =item Do I always/never have to quote my strings or use semicolons and
3448 commas?
3449
3450 =item How do I skip some return values?
3451
3452 =item How do I temporarily block warnings?
3453
3454 =item What's an extension?
3455
3456 =item Why do Perl operators have different precedence than C operators?
3457
3458 =item How do I declare/create a structure?
3459
3460 =item How do I create a module?
3461
3462 =item How do I create a class?
3463
3464 =item How can I tell if a variable is tainted?
3465
3466 =item What's a closure?
3467
3468 =item What is variable suicide and how can I prevent it?
3469
3470 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
3471 Regex}?
3472
3473 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
3474 Passing Methods
3475
3476 =item How do I create a static variable?
3477
3478 =item What's the difference between dynamic and lexical (static) scoping? 
3479 Between local() and my()?
3480
3481 =item How can I access a dynamic variable while a similarly named lexical
3482 is in scope?
3483
3484 =item What's the difference between deep and shallow binding?
3485
3486 =item Why doesn't "my($foo) = <FILE>;" work right?
3487
3488 =item How do I redefine a builtin function, operator, or method?
3489
3490 =item What's the difference between calling a function as &foo and foo()?
3491
3492 =item How do I create a switch or case statement?
3493
3494 =item How can I catch accesses to undefined variables/functions/methods?
3495
3496 =item Why can't a method included in this same file be found?
3497
3498 =item How can I find out my current package?
3499
3500 =item How can I comment out a large block of perl code?
3501
3502 =item How do I clear a package?
3503
3504 =item How can I use a variable as a variable name?
3505
3506 =back
3507
3508 =item AUTHOR AND COPYRIGHT
3509
3510 =back
3511
3512 =head2 perlfaq8 - System Interaction ($Revision: 1.8 $, $Date: 2002/05/16
3513 12:41:42 $)
3514
3515 =over 4
3516
3517 =item DESCRIPTION
3518
3519 =over 4
3520
3521 =item How do I find out which operating system I'm running under?
3522
3523 =item How come exec() doesn't return?
3524
3525 =item How do I do fancy stuff with the keyboard/screen/mouse?
3526
3527 Keyboard, Screen, Mouse
3528
3529 =item How do I print something out in color?
3530
3531 =item How do I read just one key without waiting for a return key?
3532
3533 =item How do I check whether input is ready on the keyboard?
3534
3535 =item How do I clear the screen?
3536
3537 =item How do I get the screen size?
3538
3539 =item How do I ask the user for a password?
3540
3541 =item How do I read and write the serial port?
3542
3543 lockfiles, open mode, end of line, flushing output, non-blocking input
3544
3545 =item How do I decode encrypted password files?
3546
3547 =item How do I start a process in the background?
3548
3549 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
3550
3551 =item How do I trap control characters/signals?
3552
3553 =item How do I modify the shadow password file on a Unix system?
3554
3555 =item How do I set the time and date?
3556
3557 =item How can I sleep() or alarm() for under a second?
3558
3559 =item How can I measure time under a second?
3560
3561 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
3562
3563 =item Why doesn't my sockets program work under System V (Solaris)?  What
3564 does the error message "Protocol not supported" mean?
3565
3566 =item How can I call my system's unique C functions from Perl?
3567
3568 =item Where do I get the include files to do ioctl() or syscall()?
3569
3570 =item Why do setuid perl scripts complain about kernel problems?
3571
3572 =item How can I open a pipe both to and from a command?
3573
3574 =item Why can't I get the output of a command with system()?
3575
3576 =item How can I capture STDERR from an external command?
3577
3578 =item Why doesn't open() return an error when a pipe open fails?
3579
3580 =item What's wrong with using backticks in a void context?
3581
3582 =item How can I call backticks without shell processing?
3583
3584 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
3585 ^Z on MS-DOS)?
3586
3587 =item How can I convert my shell script to perl?
3588
3589 =item Can I use perl to run a telnet or ftp session?
3590
3591 =item How can I write expect in Perl?
3592
3593 =item Is there a way to hide perl's command line from programs such as
3594 "ps"?
3595
3596 =item I {changed directory, modified my environment} in a perl script.  How
3597 come the change disappeared when I exited the script?  How do I get my
3598 changes to be visible?
3599
3600 Unix
3601
3602 =item How do I close a process's filehandle without waiting for it to
3603 complete?
3604
3605 =item How do I fork a daemon process?
3606
3607 =item How do I find out if I'm running interactively or not?
3608
3609 =item How do I timeout a slow event?
3610
3611 =item How do I set CPU limits?
3612
3613 =item How do I avoid zombies on a Unix system?
3614
3615 =item How do I use an SQL database?
3616
3617 =item How do I make a system() exit on control-C?
3618
3619 =item How do I open a file without blocking?
3620
3621 =item How do I install a module from CPAN?
3622
3623 =item What's the difference between require and use?
3624
3625 =item How do I keep my own module/library directory?
3626
3627 =item How do I add the directory my program lives in to the module/library
3628 search path?
3629
3630 =item How do I add a directory to my include path at runtime?
3631
3632 =item What is socket.ph and where do I get it?
3633
3634 =back
3635
3636 =item AUTHOR AND COPYRIGHT
3637
3638 =back
3639
3640 =head2 perlfaq9 - Networking ($Revision: 1.9 $, $Date: 2002/04/07 18:46:13
3641 $)
3642
3643 =over 4
3644
3645 =item DESCRIPTION
3646
3647 =over 4
3648
3649 =item What is the correct form of response from a CGI script?
3650
3651 =item My CGI script runs from the command line but not the browser.  (500
3652 Server Error)
3653
3654 =item How can I get better error messages from a CGI program?
3655
3656 =item How do I remove HTML from a string?
3657
3658 =item How do I extract URLs?
3659
3660 =item How do I download a file from the user's machine?  How do I open a
3661 file on another machine?
3662
3663 =item How do I make a pop-up menu in HTML?
3664
3665 =item How do I fetch an HTML file?
3666
3667 =item How do I automate an HTML form submission?
3668
3669 =item How do I decode or create those %-encodings on the web?
3670
3671 =item How do I redirect to another page?
3672
3673 =item How do I put a password on my web pages?
3674
3675 =item How do I edit my .htpasswd and .htgroup files with Perl?
3676
3677 =item How do I make sure users can't enter values into a form that cause my
3678 CGI script to do bad things?
3679
3680 =item How do I parse a mail header?
3681
3682 =item How do I decode a CGI form?
3683
3684 =item How do I check a valid mail address?
3685
3686 =item How do I decode a MIME/BASE64 string?
3687
3688 =item How do I return the user's mail address?
3689
3690 =item How do I send mail?
3691
3692 =item How do I use MIME to make an attachment to a mail message?
3693
3694 =item How do I read mail?
3695
3696 =item How do I find out my hostname/domainname/IP address?
3697
3698 =item How do I fetch a news article or the active newsgroups?
3699
3700 =item How do I fetch/put an FTP file?
3701
3702 =item How can I do RPC in Perl?
3703
3704 =back
3705
3706 =item AUTHOR AND COPYRIGHT
3707
3708 =back
3709
3710 =head2 perlcompile - Introduction to the Perl Compiler-Translator 
3711
3712 =over 4
3713
3714 =item DESCRIPTION
3715
3716 =over 4
3717
3718 =item Layout
3719
3720 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3721
3722 =back
3723
3724 =item Using The Back Ends
3725
3726 =over 4
3727
3728 =item The Cross Referencing Back End
3729
3730 i, &, s, r
3731
3732 =item The Decompiling Back End
3733
3734 =item The Lint Back End
3735
3736 =item The Simple C Back End
3737
3738 =item The Bytecode Back End
3739
3740 =item The Optimized C Back End
3741
3742 =back
3743
3744 =item Module List for the Compiler Suite
3745
3746 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3747 B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex,
3748 B::Stackobj, B::Stash, B::Terse, B::Xref
3749
3750 =item KNOWN PROBLEMS
3751
3752 =item AUTHOR
3753
3754 =back
3755
3756 =head2 perlembed - how to embed perl in your C program
3757
3758 =over 4
3759
3760 =item DESCRIPTION
3761
3762 =over 4
3763
3764 =item PREAMBLE
3765
3766 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3767 Perl?>, B<Use C from C?>, B<Use Perl from C?>
3768
3769 =item ROADMAP
3770
3771 =item Compiling your C program
3772
3773 =item Adding a Perl interpreter to your C program
3774
3775 =item Calling a Perl subroutine from your C program
3776
3777 =item Evaluating a Perl statement from your C program
3778
3779 =item Performing Perl pattern matches and substitutions from your C program
3780
3781 =item Fiddling with the Perl stack from your C program
3782
3783 =item Maintaining a persistent interpreter
3784
3785 =item Execution of END blocks
3786
3787 =item Maintaining multiple interpreter instances
3788
3789 =item Using Perl modules, which themselves use C libraries, from your C
3790 program
3791
3792 =back
3793
3794 =item Embedding Perl under Win32
3795
3796 =item MORAL
3797
3798 =item AUTHOR
3799
3800 =item COPYRIGHT
3801
3802 =back
3803
3804 =head2 perldebguts - Guts of Perl debugging 
3805
3806 =over 4
3807
3808 =item DESCRIPTION
3809
3810 =item Debugger Internals
3811
3812 =over 4
3813
3814 =item Writing Your Own Debugger
3815
3816 =back
3817
3818 =item Frame Listing Output Examples
3819
3820 =item Debugging regular expressions
3821
3822 =over 4
3823
3824 =item Compile-time output
3825
3826 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
3827 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
3828 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
3829 C<anchored(TYPE)>
3830
3831 =item Types of nodes
3832
3833 =item Run-time output
3834
3835 =back
3836
3837 =item Debugging Perl memory usage
3838
3839 =over 4
3840
3841 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
3842
3843 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
3844 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
3845 6144>
3846
3847 =item Example of using B<-DL> switch
3848
3849 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
3850
3851 =item B<-DL> details
3852
3853 C<!!!>, C<!!>, C<!>
3854
3855 =item Limitations of B<-DL> statistics
3856
3857 =back
3858
3859 =item SEE ALSO
3860
3861 =back
3862
3863 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
3864
3865 =over 4
3866
3867 =item DESCRIPTION
3868
3869 =item SPECIAL NOTES
3870
3871 =over 4
3872
3873 =item make
3874
3875 =item Version caveat
3876
3877 =item Dynamic Loading versus Static Loading
3878
3879 =back
3880
3881 =item TUTORIAL
3882
3883 =over 4
3884
3885 =item EXAMPLE 1
3886
3887 =item EXAMPLE 2
3888
3889 =item What has gone on?
3890
3891 =item Writing good test scripts
3892
3893 =item EXAMPLE 3
3894
3895 =item What's new here?
3896
3897 =item Input and Output Parameters
3898
3899 =item The XSUBPP Program
3900
3901 =item The TYPEMAP file
3902
3903 =item Warning about Output Arguments
3904
3905 =item EXAMPLE 4
3906
3907 =item What has happened here?
3908
3909 =item Anatomy of .xs file
3910
3911 =item Getting the fat out of XSUBs
3912
3913 =item More about XSUB arguments
3914
3915 =item The Argument Stack
3916
3917 =item Extending your Extension
3918
3919 =item Documenting your Extension
3920
3921 =item Installing your Extension
3922
3923 =item EXAMPLE 5
3924
3925 =item New Things in this Example
3926
3927 =item EXAMPLE 6
3928
3929 =item New Things in this Example
3930
3931 =item EXAMPLE 7 (Coming Soon)
3932
3933 =item EXAMPLE 8 (Coming Soon)
3934
3935 =item EXAMPLE 9 Passing open files to XSes
3936
3937 =item Troubleshooting these Examples
3938
3939 =back
3940
3941 =item See also
3942
3943 =item Author
3944
3945 =over 4
3946
3947 =item Last Changed
3948
3949 =back
3950
3951 =back
3952
3953 =head2 perlxs - XS language reference manual
3954
3955 =over 4
3956
3957 =item DESCRIPTION
3958
3959 =over 4
3960
3961 =item Introduction
3962
3963 =item On The Road
3964
3965 =item The Anatomy of an XSUB
3966
3967 =item The Argument Stack
3968
3969 =item The RETVAL Variable
3970
3971 =item The MODULE Keyword
3972
3973 =item The PACKAGE Keyword
3974
3975 =item The PREFIX Keyword
3976
3977 =item The OUTPUT: Keyword
3978
3979 =item The NO_OUTPUT Keyword
3980
3981 =item The CODE: Keyword
3982
3983 =item The INIT: Keyword
3984
3985 =item The NO_INIT Keyword
3986
3987 =item Initializing Function Parameters
3988
3989 =item Default Parameter Values
3990
3991 =item The PREINIT: Keyword
3992
3993 =item The SCOPE: Keyword
3994
3995 =item The INPUT: Keyword
3996
3997 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
3998
3999 =item The C<length(NAME)> Keyword
4000
4001 =item Variable-length Parameter Lists
4002
4003 =item The C_ARGS: Keyword
4004
4005 =item The PPCODE: Keyword
4006
4007 =item Returning Undef And Empty Lists
4008
4009 =item The REQUIRE: Keyword
4010
4011 =item The CLEANUP: Keyword
4012
4013 =item The POSTCALL: Keyword
4014
4015 =item The BOOT: Keyword
4016
4017 =item The VERSIONCHECK: Keyword
4018
4019 =item The PROTOTYPES: Keyword
4020
4021 =item The PROTOTYPE: Keyword
4022
4023 =item The ALIAS: Keyword
4024
4025 =item The OVERLOAD: Keyword
4026
4027 =item The INTERFACE: Keyword
4028
4029 =item The INTERFACE_MACRO: Keyword
4030
4031 =item The INCLUDE: Keyword
4032
4033 =item The CASE: Keyword
4034
4035 =item The & Unary Operator
4036
4037 =item Inserting POD, Comments and C Preprocessor Directives
4038
4039 =item Using XS With C++
4040
4041 =item Interface Strategy
4042
4043 =item Perl Objects And C Structures
4044
4045 =item The Typemap
4046
4047 =item Safely Storing Static Data in XS
4048
4049 MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT
4050
4051 =back
4052
4053 =item EXAMPLES
4054
4055 =item XS VERSION
4056
4057 =item AUTHOR
4058
4059 =back
4060
4061 =head2 perlclib - Internal replacements for standard C library functions
4062
4063 =over 4
4064
4065 =item DESCRIPTION
4066
4067 =over 4
4068
4069 =item Conventions
4070
4071 C<t>, C<p>, C<n>, C<s>
4072
4073 =item File Operations
4074
4075 =item File Input and Output
4076
4077 =item File Positioning
4078
4079 =item Memory Management and String Handling
4080
4081 =item Character Class Tests
4082
4083 =item F<stdlib.h> functions
4084
4085 =item Miscellaneous functions
4086
4087 =back
4088
4089 =item SEE ALSO
4090
4091 =back
4092
4093 =head2 perlguts - Introduction to the Perl API
4094
4095 =over 4
4096
4097 =item DESCRIPTION
4098
4099 =item Variables
4100
4101 =over 4
4102
4103 =item Datatypes
4104
4105 =item What is an "IV"?
4106
4107 =item Working with SVs
4108
4109 =item Offsets
4110
4111 =item What's Really Stored in an SV?
4112
4113 =item Working with AVs
4114
4115 =item Working with HVs
4116
4117 =item Hash API Extensions
4118
4119 =item References
4120
4121 =item Blessed References and Class Objects
4122
4123 =item Creating New Variables
4124
4125 GV_ADDMULTI, GV_ADDWARN
4126
4127 =item Reference Counts and Mortality
4128
4129 =item Stashes and Globs
4130
4131 =item Double-Typed SVs
4132
4133 =item Magic Variables
4134
4135 =item Assigning Magic
4136
4137 =item Magic Virtual Tables
4138
4139 =item Finding Magic
4140
4141 =item Understanding the Magic of Tied Hashes and Arrays
4142
4143 =item Localizing changes
4144
4145 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
4146 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV
4147 *sv)>, C<SAVEFREEOP(OP *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>,
4148 C<SAVEDELETE(HV *hv, char *key, I32 length)>,
4149 C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
4150 C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>, C<SV*
4151 save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV *gv)>,
4152 C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32 maxsarg)>,
4153 C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>, C<void
4154 save_hptr(HV **hptr)>
4155
4156 =back
4157
4158 =item Subroutines
4159
4160 =over 4
4161
4162 =item XSUBs and the Argument Stack
4163
4164 =item Calling Perl Routines from within C Programs
4165
4166 =item Memory Allocation
4167
4168 =item PerlIO
4169
4170 =item Putting a C value on Perl stack
4171
4172 =item Scratchpads
4173
4174 =item Scratchpads and recursion
4175
4176 =back
4177
4178 =item Compiled code
4179
4180 =over 4
4181
4182 =item Code tree
4183
4184 =item Examining the tree
4185
4186 =item Compile pass 1: check routines
4187
4188 =item Compile pass 1a: constant folding
4189
4190 =item Compile pass 2: context propagation
4191
4192 =item Compile pass 3: peephole optimization
4193
4194 =item Pluggable runops
4195
4196 =back
4197
4198 =item Examining internal data structures with the C<dump> functions
4199
4200 =item How multiple interpreters and concurrency are supported
4201
4202 =over 4
4203
4204 =item Background and PERL_IMPLICIT_CONTEXT
4205
4206 =item So what happened to dTHR?
4207
4208 =item How do I use all this in extensions?
4209
4210 =item Should I do anything special if I call perl from multiple threads?
4211
4212 =item Future Plans and PERL_IMPLICIT_SYS
4213
4214 =back
4215
4216 =item Internal Functions
4217
4218 A, p, d, s, n, r, f, M, o, j, x
4219
4220 =over 4
4221
4222 =item Formatted Printing of IVs, UVs, and NVs
4223
4224 =item Pointer-To-Integer and Integer-To-Pointer
4225
4226 =item Source Documentation
4227
4228 =back
4229
4230 =item Unicode Support
4231
4232 =over 4
4233
4234 =item What B<is> Unicode, anyway?
4235
4236 =item How can I recognise a UTF8 string?
4237
4238 =item How does UTF8 represent Unicode characters?
4239
4240 =item How does Perl store UTF8 strings?
4241
4242 =item How do I convert a string to UTF8?
4243
4244 =item Is there anything else I need to know?
4245
4246 =back
4247
4248 =item Custom Operators
4249
4250 =item AUTHORS
4251
4252 =item SEE ALSO
4253
4254 =back
4255
4256 =head2 perlcall - Perl calling conventions from C
4257
4258 =over 4
4259
4260 =item DESCRIPTION
4261
4262 An Error Handler, An Event Driven Program
4263
4264 =item THE CALL_ FUNCTIONS
4265
4266 call_sv, call_pv, call_method, call_argv
4267
4268 =item FLAG VALUES
4269
4270 =over 4
4271
4272 =item  G_VOID
4273
4274 =item  G_SCALAR
4275
4276 =item G_ARRAY
4277
4278 =item G_DISCARD
4279
4280 =item G_NOARGS
4281
4282 =item G_EVAL
4283
4284 =item G_KEEPERR
4285
4286 =item Determining the Context
4287
4288 =back
4289
4290 =item KNOWN PROBLEMS
4291
4292 =item EXAMPLES
4293
4294 =over 4
4295
4296 =item No Parameters, Nothing returned
4297
4298 =item Passing Parameters
4299
4300 =item Returning a Scalar
4301
4302 =item Returning a list of values
4303
4304 =item Returning a list in a scalar context
4305
4306 =item Returning Data from Perl via the parameter list
4307
4308 =item Using G_EVAL
4309
4310 =item Using G_KEEPERR
4311
4312 =item Using call_sv
4313
4314 =item Using call_argv
4315
4316 =item Using call_method
4317
4318 =item Using GIMME_V
4319
4320 =item Using Perl to dispose of temporaries
4321
4322 =item Strategies for storing Callback Context Information
4323
4324 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
4325 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
4326 callback
4327
4328 =item Alternate Stack Manipulation
4329
4330 =item Creating and calling an anonymous subroutine in C
4331
4332 =back
4333
4334 =item SEE ALSO
4335
4336 =item AUTHOR
4337
4338 =item DATE
4339
4340 =back
4341
4342 =head2 perlutil - utilities packaged with the Perl distribution
4343
4344 =over 4
4345
4346 =item DESCRIPTION
4347
4348 =over 4
4349
4350 =item DOCUMENTATION
4351
4352 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
4353 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
4354 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
4355 L<roffitall|roffitall>
4356
4357 =item CONVERTORS
4358
4359 L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>
4360
4361 =item Administration
4362
4363 L<libnetcfg|libnetcfg>
4364
4365 =item Development
4366
4367 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
4368 L<h2xs|h2xs>, L<dprofpp|dprofpp>, L<perlcc|perlcc>
4369
4370 =item SEE ALSO
4371
4372 =back
4373
4374 =back
4375
4376 =head2 perlfilter - Source Filters
4377
4378 =over 4
4379
4380 =item DESCRIPTION
4381
4382 =item CONCEPTS
4383
4384 =item USING FILTERS
4385
4386 =item WRITING A SOURCE FILTER
4387
4388 =item WRITING A SOURCE FILTER IN C
4389
4390 B<Decryption Filters>
4391
4392 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
4393
4394 =item WRITING A SOURCE FILTER IN PERL
4395
4396 =item USING CONTEXT: THE DEBUG FILTER
4397
4398 =item CONCLUSION
4399
4400 =item REQUIREMENTS
4401
4402 =item AUTHOR
4403
4404 =item Copyrights
4405
4406 =back
4407
4408 =head2 perldbmfilter - Perl DBM Filters
4409
4410 =over 4
4411
4412 =item SYNOPSIS
4413
4414 =item DESCRIPTION
4415
4416 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
4417 B<filter_fetch_value>
4418
4419 =over 4
4420
4421 =item The Filter
4422
4423 =item An Example -- the NULL termination problem.
4424
4425 =item Another Example -- Key is a C int.
4426
4427 =back
4428
4429 =item SEE ALSO
4430
4431 =item AUTHOR
4432
4433 =back
4434
4435 =head2 perlapi - autogenerated documentation for the perl public API
4436
4437 =over 4
4438
4439 =item DESCRIPTION
4440
4441 =item "Gimme" Values
4442
4443 GIMME, GIMME_V, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID
4444
4445 =item Array Manipulation Functions
4446
4447 AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill,
4448 av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift,
4449 get_av, newAV, Nullav, sortsv
4450
4451 =item Callback Functions
4452
4453 call_argv, call_method, call_pv, call_sv, ENTER, eval_pv, eval_sv,
4454 FREETMPS, LEAVE, SAVETMPS
4455
4456 =item Character classes
4457
4458 isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, toLOWER, toUPPER
4459
4460 =item Cloning an interpreter
4461
4462 perl_clone
4463
4464 =item CV Manipulation Functions
4465
4466 CvSTASH, get_cv, Nullcv
4467
4468 =item Embedding Functions
4469
4470 load_module, nothreadhook, perl_alloc, perl_construct, perl_destruct,
4471 perl_free, perl_parse, perl_run, require_pv
4472
4473 =item Functions in file pp_pack.c
4474
4475 pack_cat, unpack_str
4476
4477 =item Global Variables
4478
4479 PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes
4480
4481 =item GV Functions
4482
4483 GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload,
4484 gv_fetchmeth_autoload, gv_stashpv, gv_stashsv
4485
4486 =item Handy Values
4487
4488 HEf_SVKEY, Nullch, Nullsv
4489
4490 =item Hash Manipulation Functions
4491
4492 get_hv, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set,
4493 HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists,
4494 hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey,
4495 hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iternext_flags, hv_iterval,
4496 hv_magic, hv_store, hv_store_ent, hv_undef, newHV, Nullhv
4497
4498 =item Magical Functions
4499
4500 mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set,
4501 SvGETMAGIC, SvLOCK, SvSETMAGIC, SvSetMagicSV, SvSetMagicSV_nosteal,
4502 SvSetSV, SvSetSV_nosteal, SvSHARE
4503
4504 =item Memory Management
4505
4506 Copy, Move, New, Newc, NEWSV, Newz, Poison, Renew, Renewc, Safefree,
4507 savepv, savepvn, savesharedpv, StructCopy, Zero
4508
4509 =item Miscellaneous Functions
4510
4511 fbm_compile, fbm_instr, form, getcwd_sv, strEQ, strGE, strGT, strLE, strLT,
4512 strNE, strnEQ, strnNE
4513
4514 =item Numeric functions
4515
4516 grok_bin, grok_hex, grok_number, grok_numeric_radix, grok_oct, scan_bin,
4517 scan_hex, scan_oct
4518
4519 =item Optree Manipulation Functions
4520
4521 cv_const_sv, newCONSTSUB, newXS
4522
4523 =item Stack Manipulation Macros
4524
4525 dMARK, dORIGMARK, dSP, EXTEND, MARK, ORIGMARK, POPi, POPl, POPn, POPp,
4526 POPpbytex, POPpx, POPs, PUSHi, PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu,
4527 PUTBACK, SP, SPAGAIN, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XSRETURN,
4528 XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF,
4529 XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES
4530
4531 =item SV Flags
4532
4533 svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG
4534
4535 =item SV Manipulation Functions
4536
4537 get_sv, looks_like_number, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv,
4538 newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv,
4539 new_vstring, SvCUR, SvCUR_set, SvEND, SvGROW, SvIOK, SvIOKp, SvIOK_notUV,
4540 SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV, SvIOK_UV, SvIV, SvIVx,
4541 SvIVX, SvLEN, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, SvNOK_off,
4542 SvNOK_on, SvNOK_only, SvNV, SvNVX, SvNVx, SvOK, SvOOK, SvPOK, SvPOKp,
4543 SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV, SvPVbyte,
4544 SvPVbytex, SvPVbytex_force, SvPVbyte_force, SvPVbyte_nolen, SvPVutf8,
4545 SvPVutf8x, SvPVutf8x_force, SvPVutf8_force, SvPVutf8_nolen, SvPVx, SvPVX,
4546 SvPV_force, SvPV_force_nomg, SvPV_nolen, SvREFCNT, SvREFCNT_dec,
4547 SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSTASH, SvTAINT,
4548 SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, SvUNLOCK, SvUOK,
4549 SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, SvUV, SvUVX, SvUVx, sv_2bool,
4550 sv_2cv, sv_2io, sv_2iv, sv_2mortal, sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen,
4551 sv_2pvutf8, sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen, sv_2uv,
4552 sv_backoff, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn,
4553 sv_catpvn_flags, sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_flags,
4554 sv_catsv_mg, sv_chop, sv_clear, sv_cmp, sv_cmp_locale, sv_collxfrm,
4555 sv_copypv, sv_dec, sv_derived_from, sv_eq, sv_force_normal,
4556 sv_force_normal_flags, sv_free, sv_gets, sv_grow, sv_inc, sv_insert,
4557 sv_isa, sv_isobject, sv_iv, sv_len, sv_len_utf8, sv_magic, sv_magicext,
4558 sv_mortalcopy, sv_newmortal, sv_newref, sv_nolocking, sv_nosharing,
4559 sv_nounlocking, sv_nv, sv_pos_b2u, sv_pos_u2b, sv_pv, sv_pvbyte,
4560 sv_pvbyten, sv_pvbyten_force, sv_pvn, sv_pvn_force, sv_pvn_force_flags,
4561 sv_pvutf8, sv_pvutf8n, sv_pvutf8n_force, sv_reftype, sv_replace,
4562 sv_report_used, sv_reset, sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv,
4563 sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpvn, sv_setpvn_mg,
4564 sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn,
4565 sv_setref_uv, sv_setsv, sv_setsv_flags, sv_setsv_mg, sv_setuv, sv_setuv_mg,
4566 sv_taint, sv_tainted, sv_true, sv_unmagic, sv_unref, sv_unref_flags,
4567 sv_untaint, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_utf8_decode,
4568 sv_utf8_downgrade, sv_utf8_encode, sv_utf8_upgrade, sv_utf8_upgrade_flags,
4569 sv_uv, sv_vcatpvfn, sv_vsetpvfn
4570
4571 =item Unicode Support
4572
4573 bytes_from_utf8, bytes_to_utf8, ibcmp_utf8, is_utf8_char, is_utf8_string,
4574 pv_uni_display, sv_recode_to_utf8, sv_uni_display, to_utf8_case,
4575 to_utf8_fold, to_utf8_lower, to_utf8_title, to_utf8_upper, utf8n_to_uvchr,
4576 utf8n_to_uvuni, utf8_distance, utf8_hop, utf8_length, utf8_to_bytes,
4577 utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, uvuni_to_utf8_flags
4578
4579 =item Variables created by C<xsubpp> and C<xsubpp> internal functions
4580
4581 ax, CLASS, dAX, dITEMS, dXSARGS, dXSI32, items, ix, newXSproto, RETVAL, ST,
4582 THIS, XS, XSRETURN_EMPTY, XS_VERSION, XS_VERSION_BOOTCHECK
4583
4584 =item Warning and Dieing
4585
4586 croak, warn
4587
4588 =item AUTHORS
4589
4590 =item SEE ALSO
4591
4592 =back
4593
4594 =head2 perlintern - autogenerated documentation of purely B<internal>
4595                  Perl functions
4596
4597 =over 4
4598
4599 =item DESCRIPTION
4600
4601 =item Global Variables
4602
4603 PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_last_in_gv, PL_ofs_sv,
4604 PL_rs
4605
4606 =item GV Functions
4607
4608 is_gv_magical
4609
4610 =item IO Functions
4611
4612 start_glob
4613
4614 =item Pad Data Structures
4615
4616 CvPADLIST
4617
4618 =item Stack Manipulation Macros
4619
4620 djSP, LVRET
4621
4622 =item SV Manipulation Functions
4623
4624 report_uninit, sv_add_arena, sv_clean_all, sv_clean_objs, sv_free_arenas
4625
4626 =item AUTHORS
4627
4628 =item SEE ALSO
4629
4630 =back
4631
4632 =head2 perliol - C API for Perl's implementation of IO in Layers.
4633
4634 =over 4
4635
4636 =item SYNOPSIS
4637
4638 =item DESCRIPTION
4639
4640 =over 4
4641
4642 =item History and Background
4643
4644 =item Layers vs Disciplines
4645
4646 =item Data Structures
4647
4648 =item Functions and Attributes
4649
4650 =item Per-instance Data
4651
4652 =item Layers in action.
4653
4654 =item Per-instance flag bits
4655
4656 PERLIO_F_EOF, PERLIO_F_CANWRITE,  PERLIO_F_CANREAD, PERLIO_F_ERROR,
4657 PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8,
4658 PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF,
4659 PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS
4660
4661 =item Methods in Detail
4662
4663 fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF,
4664 PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode,
4665 Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof,
4666 Error,  Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt,
4667 Set_ptrcnt
4668
4669 =item Core Layers
4670
4671 "unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"
4672
4673 =item Extension Layers
4674
4675 ":encoding", ":scalar", ":via"
4676
4677 =back
4678
4679 =item TODO
4680
4681 =back
4682
4683 =head2 perlapio - perl's IO abstraction interface.
4684
4685 =over 4
4686
4687 =item SYNOPSIS
4688
4689 =item DESCRIPTION
4690
4691 1. USE_STDIO, 2. USE_SFIO, 3. USE_PERLIO, B<PerlIO_stdin()>,
4692 B<PerlIO_stdout()>, B<PerlIO_stderr()>, B<PerlIO_open(path, mode)>,
4693 B<PerlIO_fdopen(fd,mode)>, B<PerlIO_reopen(path,mode,f)>,
4694 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
4695 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
4696 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
4697 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
4698 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
4699 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_seek(f,offset,whence)>,
4700 B<PerlIO_tell(f)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
4701 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>, B<PerlIO_setlinebuf(f)>
4702
4703 =over 4
4704
4705 =item Co-existence with stdio
4706
4707 B<PerlIO_importFILE(f,mode)>, B<PerlIO_exportFILE(f,mode)>,
4708 B<PerlIO_releaseFILE(p,f)>, B<PerlIO_findFILE(f)>
4709
4710 =item "Fast gets" Functions
4711
4712 B<PerlIO_fast_gets(f)>, B<PerlIO_has_cntptr(f)>, B<PerlIO_get_cnt(f)>,
4713 B<PerlIO_get_ptr(f)>, B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_canset_cnt(f)>,
4714 B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>, B<PerlIO_get_base(f)>,
4715 B<PerlIO_get_bufsiz(f)>
4716
4717 =item Other Functions
4718
4719 PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers),
4720 'E<lt>' read, 'E<gt>' write, '+' read/write, PerlIO_debug(fmt,...)
4721
4722 =back
4723
4724 =back
4725
4726 =head2 perltodo - Perl TO-DO List
4727
4728 =over 4
4729
4730 =item DESCRIPTION
4731
4732 =item To do during 5.6.x
4733
4734 =over 4
4735
4736 =item Support for I/O disciplines
4737
4738 =item Autoload bytes.pm
4739
4740 =item Make "\u{XXXX}" et al work
4741
4742 =item Create a char *sv_pvprintify(sv, STRLEN *lenp, UV flags)
4743
4744 =item Overloadable regex assertions
4745
4746 =item Unicode
4747
4748 =item Work out exit/die semantics for threads
4749
4750 =item Better support for nonpreemptive threading systems like GNU pth
4751
4752 =item Typed lexicals for compiler
4753
4754 =item Compiler workarounds for Win32
4755
4756 =item AUTOLOADing in the compiler
4757
4758 =item Fixing comppadlist when compiling
4759
4760 =item Cleaning up exported namespace
4761
4762 =item Complete signal handling
4763
4764 =item Out-of-source builds
4765
4766 =item POSIX realtime support
4767
4768 =item UNIX98 support
4769
4770 =item IPv6 Support
4771
4772 =item Long double conversion
4773
4774 =item Locales
4775
4776 =item Arithmetic on non-Arabic numerals
4777
4778 =item POSIX Unicode character classes
4779
4780 =item Factoring out common suffices/prefices in regexps (trie optimization)
4781
4782 =item Security audit shipped utilities
4783
4784 =item Sort out the uid-setting mess
4785
4786 =item Custom opcodes
4787
4788 =item DLL Versioning
4789
4790 =item Introduce @( and @)
4791
4792 =item Floating point handling
4793
4794 =item IV/UV preservation
4795
4796 =item Replace pod2html with something using Pod::Parser
4797
4798 =item Automate module testing on CPAN
4799
4800 =item sendmsg and recvmsg
4801
4802 =item Rewrite perlre documentation
4803
4804 =item Convert example code to IO::Handle filehandles
4805
4806 =item Document Win32 choices
4807
4808 =item Check new modules
4809
4810 =item Make roffitall find pods and libs itself
4811
4812 =back
4813
4814 =item To do at some point
4815
4816 =over 4
4817
4818 =item Remove regular expression recursion
4819
4820 =item Memory leaks after failed eval
4821
4822 =item bitfields in pack
4823
4824 =item Cross compilation
4825
4826 =item Perl preprocessor / macros
4827
4828 =item Perl lexer in Perl
4829
4830 =item Using POSIX calls internally
4831
4832 =item -i rename file when changed
4833
4834 =item All ARGV input should act like E<lt>E<gt>
4835
4836 =item Support for rerunning debugger
4837
4838 =item Test Suite for the Debugger
4839
4840 =item my sub foo { }
4841
4842 =item One-pass global destruction
4843
4844 =item Rewrite regexp parser
4845
4846 =item Cache recently used regexps
4847
4848 =item Cross-compilation support
4849
4850 =item Bit-shifting bitvectors
4851
4852 =item debugger pragma
4853
4854 =item use less pragma
4855
4856 =item switch structures
4857
4858 =item Cache eval tree
4859
4860 =item rcatmaybe
4861
4862 =item Shrink opcode tables
4863
4864 =item Optimize away @_
4865
4866 =item Prototypes versus indirect objects
4867
4868 =item Install HTML
4869
4870 =item Prototype method calls
4871
4872 =item Return context prototype declarations
4873
4874 =item magic_setisa
4875
4876 =item Garbage collection
4877
4878 =item IO tutorial
4879
4880 =item Rewrite perldoc
4881
4882 =item Install .3p manpages
4883
4884 =item Unicode tutorial
4885
4886 =item Update POSIX.pm for 1003.1-2
4887
4888 =item Retargetable installation
4889
4890 =item POSIX emulation on non-POSIX systems
4891
4892 =item Rename Win32 headers
4893
4894 =item Finish off lvalue functions
4895
4896 =item Update sprintf documentation
4897
4898 =item Use fchown/fchmod internally
4899
4900 =item Make v-strings overloaded objects
4901
4902 =item Allow restricted hash assignment
4903
4904 =item Should overload be inheritable?
4905
4906 =item Taint rethink
4907
4908 =back
4909
4910 =item Vague ideas
4911
4912 =over 4
4913
4914 =item ref() in list context
4915
4916 =item Make tr/// return histogram of characters in list context
4917
4918 =item Compile to real threaded code
4919
4920 =item Structured types
4921
4922 =item Modifiable $1 et al.
4923
4924 =item Procedural interfaces for IO::*, etc.
4925
4926 =item RPC modules
4927
4928 =item Attach/detach debugger from running program
4929
4930 =item GUI::Native
4931
4932 =item foreach(reverse ...)
4933
4934 =item Constant function cache
4935
4936 =item Approximate regular expression matching
4937
4938 =back
4939
4940 =item Ongoing
4941
4942 =over 4
4943
4944 =item Update guts documentation
4945
4946 =item Add more tests
4947
4948 =item Update auxiliary tools
4949
4950 =item Create debugging macros
4951
4952 =item truncate to the people
4953
4954 =item Unicode in Filenames
4955
4956 =back
4957
4958 =item Recently done things
4959
4960 =over 4
4961
4962 =item Alternative RE syntax module
4963
4964 =item Safe signal handling
4965
4966 =item Tie Modules
4967
4968 =item gettimeofday
4969
4970 =item setitimer and getimiter
4971
4972 =item Testing __DIE__ hook
4973
4974 =item CPP equivalent in Perl
4975
4976 =item Explicit switch statements
4977
4978 =item autocroak
4979
4980 =item UTF/EBCDIC
4981
4982 =item UTF Regexes
4983
4984 =item perlcc to produce executable
4985
4986 =item END blocks saved in compiled output
4987
4988 =item Secure temporary file module
4989
4990 =item Integrate Time::HiRes
4991
4992 =item Turn Cwd into XS
4993
4994 =item Mmap for input
4995
4996 =item Byte to/from UTF8 and UTF8 to/from local conversion
4997
4998 =item Add sockatmark support
4999
5000 =item Mailing list archives
5001
5002 =item Bug tracking
5003
5004 =item Integrate MacPerl
5005
5006 =item Web "nerve center" for Perl
5007
5008 =item Regular expression tutorial
5009
5010 =item Debugging Tutorial
5011
5012 =item Integrate new modules
5013
5014 =item Integrate profiler
5015
5016 =item Y2K error detection
5017
5018 =item Regular expression debugger
5019
5020 =item POD checker
5021
5022 =item "Dynamic" lexicals
5023
5024 =item Cache precompiled modules
5025
5026 =back
5027
5028 =item Deprecated Wishes
5029
5030 =over 4
5031
5032 =item Loop control on do{}
5033
5034 =item Lexically scoped typeglobs
5035
5036 =item format BOTTOM
5037
5038 =item report HANDLE
5039
5040 =item Generalised want()/caller())
5041
5042 =item Named prototypes
5043
5044 =item Built-in globbing
5045
5046 =item Regression tests for suidperl
5047
5048 =item Cached hash values
5049
5050 =item Add compression modules
5051
5052 =item Reorganise documentation into tutorials/references
5053
5054 =item Remove distinction between functions and operators
5055
5056 =item Make XS easier to use
5057
5058 =item Make embedding easier to use
5059
5060 =item man for perl
5061
5062 =item my $Package::variable
5063
5064 =item "or" tests defined, not truth
5065
5066 =item "class"-based lexicals
5067
5068 =item byteperl
5069
5070 =item Lazy evaluation / tail recursion removal
5071
5072 =item Make "use utf8" the default
5073
5074 =item Unicode collation and normalization
5075
5076 =item pack/unpack tutorial
5077
5078 =back
5079
5080 =back
5081
5082 =head2 perlhack - How to hack at the Perl internals
5083
5084 =over 4
5085
5086 =item DESCRIPTION
5087
5088 Does concept match the general goals of Perl?, Where is the
5089 implementation?, Backwards compatibility, Could it be a module instead?, Is
5090 the feature generic enough?, Does it potentially introduce new bugs?, Does
5091 it preclude other desirable features?, Is the implementation robust?, Is
5092 the implementation generic enough to be portable?, Is the implementation
5093 tested?, Is there enough documentation?, Is there another way to do it?,
5094 Does it create too much work?, Patches speak louder than words
5095
5096 =over 4
5097
5098 =item Keeping in sync
5099
5100 rsync'ing the source tree, Using rsync over the LAN, Using pushing over the
5101 NFS, rsync'ing the patches
5102
5103 =item Why rsync the source tree
5104
5105 It's easier to rsync the source tree, It's more reliable
5106
5107 =item Why rsync the patches
5108
5109 It's easier to rsync the patches, It's a good reference, Finding a start
5110 point, Finding how to fix a bug, Finding the source of misbehaviour
5111
5112 =item Perlbug remote interface
5113
5114 1 http://bugs.perl.org, 2 bugdb@perl.org, 3
5115 commands_and_bugdids@bugs.perl.org, notes, patches, tests
5116
5117 =item Submitting patches
5118
5119 L<perlguts>, L<perlxstut> and L<perlxs>, L<perlapi>,
5120 F<Porting/pumpkin.pod>, The perl5-porters FAQ
5121
5122 =item Finding Your Way Around
5123
5124 Core modules, Tests, Documentation, Configure, Interpreter
5125
5126 =item Elements of the interpreter
5127
5128 Startup, Parsing, Optimization, Running
5129
5130 =item Internal Variable Types
5131
5132 =item Op Trees
5133
5134 =item Stacks
5135
5136 Argument stack, Mark stack, Save stack
5137
5138 =item Millions of Macros
5139
5140 =item Poking at Perl
5141
5142 =item Using a source-level debugger
5143
5144 run [args], break function_name, break source.c:xxx, step, next, continue,
5145 finish, 'enter', print
5146
5147 =item Dumping Perl Data Structures
5148
5149 =item Patching
5150
5151 =item Patching a core module
5152
5153 =item Adding a new function to the core
5154
5155 =item Writing a test
5156
5157 F<t/base/>, F<t/cmd/>, F<t/comp/>, F<t/io/>, F<t/lib/>, F<t/op/>,
5158 F<t/pod/>, F<t/run/>, t/base t/comp, t/cmd t/run t/io t/op, t/lib ext lib
5159
5160 =item Special Make Test Targets
5161
5162 coretest, test.deparse, minitest, test.third check.third utest.third
5163 ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8
5164
5165 =back
5166
5167 =item EXTERNAL TOOLS FOR DEBUGGING PERL
5168
5169 =over 4
5170
5171 =item Rational Software's Purify
5172
5173 =item Purify on Unix
5174
5175 -Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity
5176
5177 =item Purify on NT
5178
5179 DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
5180
5181 =item Compaq's/Digital's/HP's Third Degree
5182
5183 =item PERL_DESTRUCT_LEVEL
5184
5185 =item Profiling
5186
5187 =item Gprof Profiling
5188
5189 -a, -b, -e routine, -f routine, -s, -z
5190
5191 =item GCC gcov Profiling
5192
5193 =item Pixie Profiling
5194
5195 -h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage,
5196 -z[ero]
5197
5198 =item Miscellaneous tricks
5199
5200 =item CONCLUSION
5201
5202 I<The Road goes ever on and on, down from the door where it began.>
5203
5204 =back
5205
5206 =item AUTHOR
5207
5208 =back
5209
5210 =head2 perlhist - the Perl history records
5211
5212 =over 4
5213
5214 =item DESCRIPTION
5215
5216 =item INTRODUCTION
5217
5218 =item THE KEEPERS OF THE PUMPKIN
5219
5220 =over 4
5221
5222 =item PUMPKIN?
5223
5224 =back
5225
5226 =item THE RECORDS
5227
5228 =over 4
5229
5230 =item SELECTED RELEASE SIZES
5231
5232 =item SELECTED PATCH SIZES
5233
5234 =back
5235
5236 =item THE KEEPERS OF THE RECORDS
5237
5238 =back
5239
5240 =head2 perldelta - what is new for perl v5.8.0
5241
5242 =over 4
5243
5244 =item DESCRIPTION
5245
5246 =item Highlights In 5.8.0
5247
5248 =item Incompatible Changes
5249
5250 =over 4
5251
5252 =item Binary Incompatibility
5253
5254 =item 64-bit platforms and malloc
5255
5256 =item AIX Dynaloading
5257
5258 =item Attributes for C<my> variables now handled at run-time.
5259
5260 =item Socket Extension Dynamic in VMS
5261
5262 =item IEEE-format Floating Point Default on OpenVMS Alpha
5263
5264 =item New Unicode Properties
5265
5266 =item REF(...) Instead Of SCALAR(...)
5267
5268 =item pack/unpack D/F recycled
5269
5270 =item Deprecations
5271
5272 =back
5273
5274 =item Core Enhancements
5275
5276 =over 4
5277
5278 =item PerlIO is Now The Default
5279
5280 =item Restricted Hashes
5281
5282 =item Safe Signals
5283
5284 =item Unicode Overhaul
5285
5286 =item Understanding of Numbers
5287
5288 =item Arrays now always interpolate into double-quoted strings [561]
5289
5290 =item Miscellaneous Changes
5291
5292 =back
5293
5294 =item Modules and Pragmata
5295
5296 =over 4
5297
5298 =item New Modules and Pragmata
5299
5300 =item Updated And Improved Modules and Pragmata
5301
5302 =back
5303
5304 =item Utility Changes
5305
5306 =item New Documentation
5307
5308 =item Performance Enhancements
5309
5310 =item Installation and Configuration Improvements
5311
5312 =over 4
5313
5314 =item Generic Improvements
5315
5316 =item New Or Improved Platforms
5317
5318 =back
5319
5320 =item Selected Bug Fixes
5321
5322 =over 4
5323
5324 =item Platform Specific Changes and Fixes
5325
5326 =back
5327
5328 =item New or Changed Diagnostics
5329
5330 =item Changed Internals
5331
5332 =item Security Vulnerability Closed [561]
5333
5334 =item New Tests
5335
5336 =item Known Problems
5337
5338 =over 4
5339
5340 =item AIX
5341
5342 =item Alpha systems with old gccs fail several tests
5343
5344 =item AmigaOS
5345
5346 =item BeOS
5347
5348 =item Cygwin "unable to remap"
5349
5350 =item Cygwin ndbm tests fail on FAT
5351
5352 =item ext/threads/t/libc
5353
5354 =item FreeBSD built with ithreads coredumps reading large directories
5355
5356 =item FreeBSD Failing locale Test 117 For ISO 8859-15 Locales
5357
5358 =item IRIX fails ext/List/Util/t/shuffle.t
5359
5360 =item Modifying $_ Inside for(..)
5361
5362 =item mod_perl 1.26 Doesn't Build With Threaded Perl
5363
5364 =item lib/ftmp-security tests warn 'system possibly insecure'
5365
5366 =item HP-UX lib/posix Subtest 9 Fails When LP64-Configured
5367
5368 =item Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint
5369
5370 =item Linux With Sfio Fails op/misc Test 48
5371
5372 =item libwww-perl (LWP) fails base/date #51
5373
5374 =item Mac OS X
5375
5376 =item OS/2 Test Failures
5377
5378 =item op/sprintf tests 91, 129, and 130
5379
5380 =item Solaris 2.5
5381
5382 =item Solaris x86 Fails Tests With -Duse64bitint
5383
5384 =item SUPER-UX (NEC SX)
5385
5386 =item PDL failing some tests
5387
5388 =item Term::ReadKey not working on Win32
5389
5390 =item Failure of Thread (5.005-style) tests
5391
5392 =item Timing problems
5393
5394 =item Unicode in package/class and subroutine names does not work
5395
5396 =item UNICOS/mk
5397
5398 =item UTS
5399
5400 =item VOS (Stratus)
5401
5402 =item VMS
5403
5404 =item Win32
5405
5406 =item XML::Parser not working
5407
5408 =item z/OS (OS/390)
5409
5410 =item Localising Tied Arrays and Hashes Is Broken
5411
5412 =item Self-tying Problems
5413
5414 =item Tied/Magical Array/Hash Elements Do Not Autovivify
5415
5416 =item Building Extensions Can Fail Because Of Largefiles
5417
5418 =item Unicode Support on EBCDIC Still Spotty
5419
5420 =item The Compiler Suite Is Still Very Experimental
5421
5422 =item The Long Double Support Is Still Experimental
5423
5424 =item Seen In Perl 5.7 But Gone Now
5425
5426 =back
5427
5428 =item Reporting Bugs
5429
5430 =item SEE ALSO
5431
5432 =item HISTORY
5433
5434 =back
5435
5436 =head2 perl572delta - what's new for perl v5.7.2
5437
5438 =over 4
5439
5440 =item DESCRIPTION
5441
5442 =item Security Vulnerability Closed
5443
5444 =item Incompatible Changes
5445
5446 =over 4
5447
5448 =item 64-bit platforms and malloc
5449
5450 =item AIX Dynaloading
5451
5452 =item Socket Extension Dynamic in VMS
5453
5454 =item Different Definition of the Unicode Character Classes \p{In...}
5455
5456 =item Deprecations
5457
5458 =back
5459
5460 =item Core Enhancements
5461
5462 =item Modules and Pragmata
5463
5464 =over 4
5465
5466 =item New Modules and Distributions
5467
5468 =item Updated And Improved Modules and Pragmata
5469
5470 =back
5471
5472 =item Utility Changes
5473
5474 =item New Documentation
5475
5476 =item Installation and Configuration Improvements
5477
5478 =over 4
5479
5480 =item New Or Improved Platforms
5481
5482 =item Generic Improvements
5483
5484 =back
5485
5486 =item Selected Bug Fixes
5487
5488 =over 4
5489
5490 =item Platform Specific Changes and Fixes
5491
5492 =back
5493
5494 =item New or Changed Diagnostics
5495
5496 =item Source Code Enhancements
5497
5498 =over 4
5499
5500 =item MAGIC constants
5501
5502 =item Better commented code
5503
5504 =item Regex pre-/post-compilation items matched up
5505
5506 =item gcc -Wall
5507
5508 =back
5509
5510 =item New Tests
5511
5512 =item Known Problems
5513
5514 =over 4
5515
5516 =item AIX
5517
5518 =item Amiga Perl Invoking Mystery
5519
5520 =item lib/ftmp-security tests warn 'system possibly insecure'
5521
5522 =item Cygwin intermittent failures of lib/Memoize/t/expire_file 11 and 12
5523
5524 =item HP-UX lib/io_multihomed Fails When LP64-Configured
5525
5526 =item  HP-UX lib/posix Subtest 9 Fails When LP64-Configured
5527
5528 =item Linux With Sfio Fails op/misc Test 48
5529
5530 =item OS/390
5531
5532 =item op/sprintf tests 129 and 130
5533
5534 =item  Failure of Thread tests
5535
5536 =item UNICOS
5537
5538 =item UTS
5539
5540 =item VMS
5541
5542 =item Win32
5543
5544 =item Localising a Tied Variable Leaks Memory
5545
5546 =item Self-tying of Arrays and Hashes Is Forbidden
5547
5548 =item Variable Attributes are not Currently Usable for Tieing
5549
5550 =item Building Extensions Can Fail Because Of Largefiles
5551
5552 =item The Compiler Suite Is Still Experimental
5553
5554 =item The Long Double Support is Still Experimental
5555
5556 =back
5557
5558 =item Reporting Bugs
5559
5560 =item SEE ALSO
5561
5562 =item HISTORY
5563
5564 =back
5565
5566 =head2 perl571delta - what's new for perl v5.7.1
5567
5568 =over 4
5569
5570 =item DESCRIPTION
5571
5572 =item Security Vulnerability Closed
5573
5574 =item Incompatible Changes
5575
5576 =item Core Enhancements
5577
5578 =over 4
5579
5580 =item AUTOLOAD Is Now Lvaluable
5581
5582 =item PerlIO is Now The Default
5583
5584 =item Signals Are Now Safe
5585
5586 =back
5587
5588 =item Modules and Pragmata
5589
5590 =over 4
5591
5592 =item New Modules
5593
5594 =item Updated And Improved Modules and Pragmata
5595
5596 =back
5597
5598 =item Performance Enhancements
5599
5600 =item Utility Changes
5601
5602 =item New Documentation
5603
5604 =over 4
5605
5606 =item perlclib
5607
5608 =item perliol
5609
5610 =item README.aix
5611
5612 =item README.bs2000
5613
5614 =item README.macos
5615
5616 =item README.mpeix
5617
5618 =item README.solaris
5619
5620 =item README.vos
5621
5622 =item Porting/repository.pod
5623
5624 =back
5625
5626 =item Installation and Configuration Improvements
5627
5628 =over 4
5629
5630 =item New Or Improved Platforms
5631
5632 =item Generic Improvements
5633
5634 d_cmsghdr, d_fcntl_can_lock, d_fsync, d_getitimer, d_getpagsz, d_msghdr_s,
5635 need_va_copy, d_readv, d_recvmsg, d_sendmsg, sig_size, d_sockatmark,
5636 d_strtoq, d_u32align, d_ualarm, d_usleep
5637
5638 =back
5639
5640 =item Selected Bug Fixes
5641
5642 =over 4
5643
5644 =item Platform Specific Changes and Fixes
5645
5646 =back
5647
5648 =item New or Changed Diagnostics
5649
5650 =item Changed Internals
5651
5652 =item New Tests
5653
5654 =item Known Problems
5655
5656 =over 4
5657
5658 =item AIX vac 5.0.0.0 May Produce Buggy Code For Perl
5659
5660 =item lib/ftmp-security tests warn 'system possibly insecure'
5661
5662 =item lib/io_multihomed Fails In LP64-Configured HP-UX
5663
5664 =item Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
5665
5666 =item lib/b test 19
5667
5668 =item Linux With Sfio Fails op/misc Test 48
5669
5670 =item sigaction test 13 in VMS
5671
5672 =item sprintf tests 129 and 130
5673
5674 =item  Failure of Thread tests
5675
5676 =item Localising a Tied Variable Leaks Memory
5677
5678 =item Self-tying of Arrays and Hashes Is Forbidden
5679
5680 =item Building Extensions Can Fail Because Of Largefiles
5681
5682 =item The Compiler Suite Is Still Experimental
5683
5684 =back
5685
5686 =item Reporting Bugs
5687
5688 =item SEE ALSO
5689
5690 =item HISTORY
5691
5692 =back
5693
5694 =head2 perl570delta - what's new for perl v5.7.0
5695
5696 =over 4
5697
5698 =item DESCRIPTION
5699
5700 =item Security Vulnerability Closed
5701
5702 =item Incompatible Changes
5703
5704 =item Core Enhancements
5705
5706 =item Modules and Pragmata
5707
5708 =over 4
5709
5710 =item New Modules
5711
5712 =item Updated And Improved Modules and Pragmata
5713
5714 =back
5715
5716 =item Utility Changes
5717
5718 =item New Documentation
5719
5720 =item Performance Enhancements
5721
5722 =item Installation and Configuration Improvements
5723
5724 =over 4
5725
5726 =item Generic Improvements
5727
5728 =back
5729
5730 =item Selected Bug Fixes
5731
5732 =over 4
5733
5734 =item Platform Specific Changes and Fixes
5735
5736 =back
5737
5738 =item New or Changed Diagnostics
5739
5740 =item Changed Internals
5741
5742 =item Known Problems
5743
5744 =over 4
5745
5746 =item Unicode Support Still Far From Perfect
5747
5748 =item EBCDIC Still A Lost Platform
5749
5750 =item Building Extensions Can Fail Because Of Largefiles
5751
5752 =item ftmp-security tests warn 'system possibly insecure'
5753
5754 =item Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
5755
5756 =item Long Doubles Still Don't Work In Solaris
5757
5758 =item Linux With Sfio Fails op/misc Test 48
5759
5760 =item Storable tests fail in some platforms
5761
5762 =item Threads Are Still Experimental
5763
5764 =item The Compiler Suite Is Still Experimental
5765
5766 =back
5767
5768 =item Reporting Bugs
5769
5770 =item SEE ALSO
5771
5772 =item HISTORY
5773
5774 =back
5775
5776 =head2 perl561delta - what's new for perl v5.6.x
5777
5778 =over 4
5779
5780 =item DESCRIPTION
5781
5782 =item Summary of changes between 5.6.0 and 5.6.1
5783
5784 =over 4
5785
5786 =item Security Issues
5787
5788 =item Core bug fixes
5789
5790 C<UNIVERSAL::isa()>, Memory leaks, Numeric conversions, qw(a\\b), caller(),
5791 Bugs in regular expressions, "slurp" mode, Autovivification of symbolic
5792 references to special variables, Lexical warnings, Spurious warnings and
5793 errors, glob(), Tainting, sort(), #line directives, Subroutine prototypes,
5794 map(), Debugger, PERL5OPT, chop(), Unicode support, 64-bit support,
5795 Compiler, Lvalue subroutines, IO::Socket, File::Find, xsubpp, C<no
5796 Module;>, Tests
5797
5798 =item Core features
5799
5800 =item Configuration issues
5801
5802 =item Documentation
5803
5804 =item Bundled modules
5805
5806 B::Concise, File::Temp, Pod::LaTeX, Pod::Text::Overstrike, CGI, CPAN,
5807 Class::Struct, DB_File, Devel::Peek, File::Find, Getopt::Long, IO::Poll,
5808 IPC::Open3, Math::BigFloat, Math::Complex, Net::Ping, Opcode, Pod::Parser,
5809 Pod::Text, SDBM_File, Sys::Syslog, Tie::RefHash, Tie::SubstrHash
5810
5811 =item Platform-specific improvements
5812
5813 NCR MP-RAS, NonStop-UX
5814
5815 =back
5816
5817 =item Core Enhancements
5818
5819 =over 4
5820
5821 =item Interpreter cloning, threads, and concurrency
5822
5823 =item Lexically scoped warning categories
5824
5825 =item Unicode and UTF-8 support
5826
5827 =item Support for interpolating named characters
5828
5829 =item "our" declarations
5830
5831 =item Support for strings represented as a vector of ordinals
5832
5833 =item Improved Perl version numbering system
5834
5835 =item New syntax for declaring subroutine attributes
5836
5837 =item File and directory handles can be autovivified
5838
5839 =item open() with more than two arguments
5840
5841 =item 64-bit support
5842
5843 =item Large file support
5844
5845 =item Long doubles
5846
5847 =item "more bits"
5848
5849 =item Enhanced support for sort() subroutines
5850
5851 =item C<sort $coderef @foo> allowed
5852
5853 =item File globbing implemented internally
5854
5855 =item Support for CHECK blocks
5856
5857 =item POSIX character class syntax [: :] supported
5858
5859 =item Better pseudo-random number generator
5860
5861 =item Improved C<qw//> operator
5862
5863 =item Better worst-case behavior of hashes
5864
5865 =item pack() format 'Z' supported
5866