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