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