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