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