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