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