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