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