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