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