This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Regenerate PODs
[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 ($Date: 2005/12/30
810 15:04:07 $)
811
812 =over 4
813
814 =item DESCRIPTION
815
816 =over 4
817
818 =item Where to get the perlfaq
819
820 =item How to contribute to the perlfaq
821
822 =item What will happen if you mail your Perl programming problems to the
823 authors
824
825 =back
826
827 =item Credits
828
829 =item Author and Copyright Information
830
831 =over 4
832
833 =item Bundled Distributions
834
835 =item Disclaimer
836
837 =back
838
839 =item Table of Contents
840
841 perlfaq  - this document, perlfaq1 - General Questions About Perl, perlfaq2
842 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4
843 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular
844 Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System
845 Interaction, perlfaq9 - Networking
846
847 =item The Questions
848
849 =over 4
850
851 =item L<perlfaq1>: General Questions About Perl
852
853 =item L<perlfaq2>: Obtaining and Learning about Perl
854
855 =item L<perlfaq3>: Programming Tools
856
857 =item L<perlfaq4>: Data Manipulation
858
859 =item L<perlfaq5>: Files and Formats
860
861 =item L<perlfaq6>: Regular Expressions
862
863 =item L<perlfaq7>: General Perl Language Issues
864
865 =item L<perlfaq8>: System Interaction
866
867 =item L<perlfaq9>: Networking
868
869 =back
870
871 =back
872
873 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.19 $, $Date:
874 2005/12/31 00:54:37 $)
875
876 =over 4
877
878 =item DESCRIPTION
879
880 =over 4
881
882 =item What is Perl?
883
884 =item Who supports Perl?  Who develops it?  Why is it free?
885
886 =item Which version of Perl should I use?
887
888 =item What are perl4, perl5, or perl6?
889
890 =item What is Ponie?
891
892 =item What is perl6?
893
894 =item How stable is Perl?
895
896 =item Is Perl difficult to learn?
897
898 =item How does Perl compare with other languages like Java, Python, REXX,
899 Scheme, or Tcl?
900
901 =item Can I do [task] in Perl?
902
903 =item When shouldn't I program in Perl?
904
905 =item What's the difference between "perl" and "Perl"?
906
907 =item Is it a Perl program or a Perl script?
908
909 =item What is a JAPH?
910
911 =item Where can I get a list of Larry Wall witticisms?
912
913 =item How can I convince my sysadmin/supervisor/employees to use version
914 5/5.6.1/Perl instead of some other language?
915
916 =back
917
918 =item AUTHOR AND COPYRIGHT
919
920 =back
921
922 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.38 $,
923 $Date: 2005/12/31 00:54:37 $)
924
925 =over 4
926
927 =item DESCRIPTION
928
929 =over 4
930
931 =item What machines support perl?  Where do I get it?
932
933 =item How can I get a binary version of perl?
934
935 =item I don't have a C compiler. How can I build my own Perl interpreter?
936
937 =item I copied the perl binary from one machine to another, but scripts
938 don't work.
939
940 =item I grabbed the sources and tried to compile but gdbm/dynamic
941 loading/malloc/linking/... failed.  How do I make it work?
942
943 =item What modules and extensions are available for Perl?  What is CPAN? 
944 What does CPAN/src/... mean?
945
946 =item Is there an ISO or ANSI certified version of Perl?
947
948 =item Where can I get information on Perl?
949
950 =item What are the Perl newsgroups on Usenet?  Where do I post questions?
951
952 =item Where should I post source code?
953
954 =item Perl Books
955
956 References, Tutorials, Task-Oriented, Special Topics
957
958 =item Perl in Magazines
959
960 =item Perl on the Net: FTP and WWW Access
961
962 =item What mailing lists are there for Perl?
963
964 =item Archives of comp.lang.perl.misc
965
966 =item Where can I buy a commercial version of perl?
967
968 =item Where do I send bug reports?
969
970 =item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
971
972 =back
973
974 =item AUTHOR AND COPYRIGHT
975
976 =back
977
978 =head2 perlfaq3 - Programming Tools ($Revision: 1.56 $, $Date: 2005/12/31
979 00:54:37 $)
980
981 =over 4
982
983 =item DESCRIPTION
984
985 =over 4
986
987 =item How do I do (anything)?
988
989 =item How can I use Perl interactively?
990
991 =item Is there a Perl shell?
992
993 =item How do I find which modules are installed on my system?
994
995 =item How do I debug my Perl programs?
996
997 =item How do I profile my Perl programs?
998
999 =item How do I cross-reference my Perl programs?
1000
1001 =item Is there a pretty-printer (formatter) for Perl?
1002
1003 =item Is there a ctags for Perl?
1004
1005 =item Is there an IDE or Windows Perl Editor?
1006
1007 Eclipse, Enginsite, Komodo, Open Perl IDE, OptiPerl, PerlBuilder,
1008 visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis,
1009 Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, Affrus,
1010 Alpha, BBEdit and BBEdit Lite
1011
1012 =item Where can I get Perl macros for vi?
1013
1014 =item Where can I get perl-mode for emacs?
1015
1016 =item How can I use curses with Perl?
1017
1018 =item How can I use X or Tk with Perl?
1019
1020 =item How can I make my Perl program run faster?
1021
1022 =item How can I make my Perl program take less memory?
1023
1024 Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
1025 stringification, Pass by reference, Tie large variables to disk
1026
1027 =item Is it safe to return a reference to local or lexical data?
1028
1029 =item How can I free an array or hash so my program shrinks?
1030
1031 =item How can I make my CGI script more efficient?
1032
1033 =item How can I hide the source for my Perl program?
1034
1035 =item How can I compile my Perl program into byte code or C?
1036
1037 =item How can I compile Perl into Java?
1038
1039 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
1040
1041 =item Can I write useful Perl programs on the command line?
1042
1043 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
1044
1045 =item Where can I learn about CGI or Web programming in Perl?
1046
1047 =item Where can I learn about object-oriented Perl programming?
1048
1049 =item Where can I learn about linking C with Perl?
1050
1051 =item I've read perlembed, perlguts, etc., but I can't embed perl in my C
1052 program; what am I doing wrong?
1053
1054 =item When I tried to run my script, I got this message. What does it mean?
1055
1056 =item What's MakeMaker?
1057
1058 =back
1059
1060 =item AUTHOR AND COPYRIGHT
1061
1062 =back
1063
1064 =head2 perlfaq4 - Data Manipulation ($Revision: 1.73 $, $Date: 2005/12/31
1065 00:54:37 $)
1066
1067 =over 4
1068
1069 =item DESCRIPTION
1070
1071 =item Data: Numbers
1072
1073 =over 4
1074
1075 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
1076 numbers I should be getting (eg, 19.95)?
1077
1078 =item Why is int() broken?
1079
1080 =item Why isn't my octal data interpreted correctly?
1081
1082 =item Does Perl have a round() function?  What about ceil() and floor()? 
1083 Trig functions?
1084
1085 =item How do I convert between numeric representations/bases/radixes?
1086
1087 How do I convert hexadecimal into decimal, How do I convert from decimal to
1088 hexadecimal, How do I convert from octal to decimal, How do I convert from
1089 decimal to octal, How do I convert from binary to decimal, How do I convert
1090 from decimal to binary
1091
1092 =item Why doesn't & work the way I want it to?
1093
1094 =item How do I multiply matrices?
1095
1096 =item How do I perform an operation on a series of integers?
1097
1098 =item How can I output Roman numerals?
1099
1100 =item Why aren't my random numbers random?
1101
1102 =item How do I get a random number between X and Y?
1103
1104 =back
1105
1106 =item Data: Dates
1107
1108 =over 4
1109
1110 =item How do I find the day or week of the year?
1111
1112 =item How do I find the current century or millennium?
1113
1114 =item How can I compare two dates and find the difference?
1115
1116 =item How can I take a string and turn it into epoch seconds?
1117
1118 =item How can I find the Julian Day?
1119
1120 =item How do I find yesterday's date?
1121
1122 =item Does Perl have a Year 2000 problem?  Is Perl Y2K compliant?
1123
1124 =back
1125
1126 =item Data: Strings
1127
1128 =over 4
1129
1130 =item How do I validate input?
1131
1132 =item How do I unescape a string?
1133
1134 =item How do I remove consecutive pairs of characters?
1135
1136 =item How do I expand function calls in a string?
1137
1138 =item How do I find matching/nesting anything?
1139
1140 =item How do I reverse a string?
1141
1142 =item How do I expand tabs in a string?
1143
1144 =item How do I reformat a paragraph?
1145
1146 =item How can I access or change N characters of a string?
1147
1148 =item How do I change the Nth occurrence of something?
1149
1150 =item How can I count the number of occurrences of a substring within a
1151 string?
1152
1153 =item How do I capitalize all the words on one line?
1154
1155 =item How can I split a [character] delimited string except when inside
1156 [character]?
1157
1158 =item How do I strip blank space from the beginning/end of a string?
1159
1160 =item How do I pad a string with blanks or pad a number with zeroes?
1161
1162 =item How do I extract selected columns from a string?
1163
1164 =item How do I find the soundex value of a string?
1165
1166 =item How can I expand variables in text strings?
1167
1168 =item What's wrong with always quoting "$vars"?
1169
1170 =item Why don't my E<lt>E<lt>HERE documents work?
1171
1172 There must be no space after the E<lt>E<lt> part, There (probably) should
1173 be a semicolon at the end, You can't (easily) have any space in front of
1174 the tag
1175
1176 =back
1177
1178 =item Data: Arrays
1179
1180 =over 4
1181
1182 =item What is the difference between a list and an array?
1183
1184 =item What is the difference between $array[1] and @array[1]?
1185
1186 =item How can I remove duplicate elements from a list or array?
1187
1188 =item How can I tell whether a certain element is contained in a list or
1189 array?
1190
1191 =item How do I compute the difference of two arrays?  How do I compute the
1192 intersection of two arrays?
1193
1194 =item How do I test whether two arrays or hashes are equal?
1195
1196 =item How do I find the first array element for which a condition is true?
1197
1198 =item How do I handle linked lists?
1199
1200 =item How do I handle circular lists?
1201
1202 =item How do I shuffle an array randomly?
1203
1204 =item How do I process/modify each element of an array?
1205
1206 =item How do I select a random element from an array?
1207
1208 =item How do I permute N elements of a list?
1209
1210 =item How do I sort an array by (anything)?
1211
1212 =item How do I manipulate arrays of bits?
1213
1214 =item Why does defined() return true on empty arrays and hashes?
1215
1216 =back
1217
1218 =item Data: Hashes (Associative Arrays)
1219
1220 =over 4
1221
1222 =item How do I process an entire hash?
1223
1224 =item What happens if I add or remove keys from a hash while iterating over
1225 it?
1226
1227 =item How do I look up a hash element by value?
1228
1229 =item How can I know how many entries are in a hash?
1230
1231 =item How do I sort a hash (optionally by value instead of key)?
1232
1233 =item How can I always keep my hash sorted?
1234
1235 =item What's the difference between "delete" and "undef" with hashes?
1236
1237 =item Why don't my tied hashes make the defined/exists distinction?
1238
1239 =item How do I reset an each() operation part-way through?
1240
1241 =item How can I get the unique keys from two hashes?
1242
1243 =item How can I store a multidimensional array in a DBM file?
1244
1245 =item How can I make my hash remember the order I put elements into it?
1246
1247 =item Why does passing a subroutine an undefined element in a hash create
1248 it?
1249
1250 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
1251 array of hashes or arrays?
1252
1253 =item How can I use a reference as a hash key?
1254
1255 =back
1256
1257 =item Data: Misc
1258
1259 =over 4
1260
1261 =item How do I handle binary data correctly?
1262
1263 =item How do I determine whether a scalar is a number/whole/integer/float?
1264
1265 =item How do I keep persistent data across program calls?
1266
1267 =item How do I print out or copy a recursive data structure?
1268
1269 =item How do I define methods for every class/object?
1270
1271 =item How do I verify a credit card checksum?
1272
1273 =item How do I pack arrays of doubles or floats for XS code?
1274
1275 =back
1276
1277 =item AUTHOR AND COPYRIGHT
1278
1279 =back
1280
1281 =head2 perlfaq5 - Files and Formats ($Revision: 1.42 $, $Date: 2005/12/31
1282 00:54:37 $)
1283
1284 =over 4
1285
1286 =item DESCRIPTION
1287
1288 =over 4
1289
1290 =item How do I flush/unbuffer an output filehandle?  Why must I do this?
1291 X<flush> X<buffer> X<unbuffer> X<autoflush>
1292
1293 =item How do I change one line in a file/delete a line in a file/insert a
1294 line in the middle of a file/append to the beginning of a file?
1295 X<file, editing>
1296
1297 =item How do I count the number of lines in a file?
1298 X<file, counting lines> X<lines> X<line>
1299
1300 =item How can I use Perl's C<-i> option from within a program?
1301 X<-i> X<in-place>
1302
1303 =item How can I copy a file?
1304 X<copy> X<file, copy>
1305
1306 =item How do I make a temporary file name?
1307 X<file, temporary>
1308
1309 =item How can I manipulate fixed-record-length files?
1310 X<fixed-length> X<file, fixed-length records>
1311
1312 =item How can I make a filehandle local to a subroutine?  How do I pass
1313 filehandles between subroutines?  How do I make an array of filehandles?
1314 X<filehandle, local> X<filehandle, passing> X<filehandle, reference>
1315
1316 =item How can I use a filehandle indirectly?
1317 X<filehandle, indirect>
1318
1319 =item How can I set up a footer format to be used with write()?
1320 X<footer>
1321
1322 =item How can I write() into a string?
1323 X<write, into a string>
1324
1325 =item How can I output my numbers with commas added?
1326 X<number, commify>
1327
1328 =item How can I translate tildes (~) in a filename?
1329 X<tilde> X<tilde expansion>
1330
1331 =item How come when I open a file read-write it wipes it out?
1332 X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>
1333
1334 =item Why do I sometimes get an "Argument list too long" when I use
1335 E<lt>*E<gt>?
1336 X<argument list too long>
1337
1338 =item Is there a leak/bug in glob()?
1339 X<glob>
1340
1341 =item How can I open a file with a leading ">" or trailing blanks?
1342 X<filename, special characters>
1343
1344 =item How can I reliably rename a file?
1345 X<rename> X<mv> X<move> X<file, rename> X<ren>
1346
1347 =item How can I lock a file?
1348 X<lock> X<file, lock> X<flock>
1349
1350 =item Why can't I just open(FH, "E<gt>file.lock")?
1351 X<lock, lockfile race condition>
1352
1353 =item I still don't get locking.  I just want to increment the number in
1354 the file.  How can I do this?
1355 X<counter> X<file, counter>
1356
1357 =item All I want to do is append a small amount of text to the end of a
1358 file.  Do I still have to use locking?
1359 X<append> X<file, append>
1360
1361 =item How do I randomly update a binary file?
1362 X<file, binary patch>
1363
1364 =item How do I get a file's timestamp in perl?
1365 X<timestamp> X<file, timestamp>
1366
1367 =item How do I set a file's timestamp in perl?
1368 X<timestamp> X<file, timestamp>
1369
1370 =item How do I print to more than one file at once?
1371 X<print, to multiple files>
1372
1373 =item How can I read in an entire file all at once?
1374 X<slurp> X<file, slurping>
1375
1376 =item How can I read in a file by paragraphs?
1377 X<file, reading by paragraphs>
1378
1379 =item How can I read a single character from a file?  From the keyboard?
1380 X<getc> X<file, reading one character at a time>
1381
1382 =item How can I tell whether there's a character waiting on a filehandle?
1383
1384 =item How do I do a C<tail -f> in perl?
1385 X<tail>
1386
1387 =item How do I dup() a filehandle in Perl?
1388 X<dup>
1389
1390 =item How do I close a file descriptor by number?
1391 X<file, closing file descriptors>
1392
1393 =item Why can't I use "C:\temp\foo" in DOS paths?  Why doesn't
1394 `C:\temp\foo.exe` work?
1395 X<filename, DOS issues>
1396
1397 =item Why doesn't glob("*.*") get all the files?
1398 X<glob>
1399
1400 =item Why does Perl let me delete read-only files?  Why does C<-i> clobber
1401 protected files?  Isn't this a bug in Perl?
1402
1403 =item How do I select a random line from a file?
1404 X<file, selecting a random line>
1405
1406 =item Why do I get weird spaces when I print an array of lines?
1407
1408 =back
1409
1410 =item AUTHOR AND COPYRIGHT
1411
1412 =back
1413
1414 =head2 perlfaq6 - Regular Expressions ($Revision: 1.38 $, $Date: 2005/12/31
1415 00:54:37 $)
1416
1417 =over 4
1418
1419 =item DESCRIPTION
1420
1421 =over 4
1422
1423 =item How can I hope to use regular expressions without creating illegible
1424 and unmaintainable code?
1425 X<regex, legibility> X<regexp, legibility>
1426 X<regular expression, legibility> X</x>
1427
1428 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
1429
1430 =item I'm having trouble matching over more than one line.  What's wrong?
1431 X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>
1432
1433 =item How can I pull out lines between two patterns that are themselves on
1434 different lines?
1435 X<..>
1436
1437 =item I put a regular expression into $/ but it didn't work. What's wrong?
1438 X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
1439 X<$RS, regexes in>
1440
1441 =item How do I substitute case insensitively on the LHS while preserving
1442 case on the RHS?
1443 X<replace, case preserving> X<substitute, case preserving>
1444 X<substitution, case preserving> X<s, case preserving>
1445
1446 =item How can I make C<\w> match national character sets?
1447 X<\w>
1448
1449 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
1450 X<alpha>
1451
1452 =item How can I quote a variable to use in a regex?
1453 X<regex, escaping> X<regexp, escaping> X<regular expression, escaping>
1454
1455 =item What is C</o> really for?
1456 X</o>
1457
1458 =item How do I use a regular expression to strip C style comments from a
1459 file?
1460
1461 =item Can I use Perl regular expressions to match balanced text?
1462 X<regex, matching balanced test> X<regexp, matching balanced test>
1463 X<regular expression, matching balanced test>
1464
1465 =item What does it mean that regexes are greedy?  How can I get around it?
1466 X<greedy> X<greediness>
1467
1468 =item How do I process each word on each line?
1469 X<word>
1470
1471 =item How can I print out a word-frequency or line-frequency summary?
1472
1473 =item How can I do approximate matching?
1474 X<match, approximate> X<matching, approximate>
1475
1476 =item How do I efficiently match many regular expressions at once?
1477 X<regex, efficiency> X<regexp, efficiency>
1478 X<regular expression, efficiency>
1479
1480 =item Why don't word-boundary searches with C<\b> work for me?
1481 X<\b>
1482
1483 =item Why does using $&, $`, or $' slow my program down?
1484 X<$MATCH> X<$&> X<$POSTMATCH> X<$'> X<$PREMATCH> X<$`>
1485
1486 =item What good is C<\G> in a regular expression?
1487 X<\G>
1488
1489 =item Are Perl regexes DFAs or NFAs?  Are they POSIX compliant?
1490 X<DFA> X<NFA> X<POSIX>
1491
1492 =item What's wrong with using grep in a void context?
1493 X<grep>
1494
1495 =item How can I match strings with multibyte characters?
1496 X<regex, and multibyte characters> X<regexp, and multibyte characters>
1497 X<regular expression, and multibyte characters>
1498
1499 =item How do I match a pattern that is supplied by the user?
1500
1501 =back
1502
1503 =item AUTHOR AND COPYRIGHT
1504
1505 =back
1506
1507 =head2 perlfaq7 - General Perl Language Issues ($Revision: 1.28 $, $Date:
1508 2005/12/31 00:54:37 $)
1509
1510 =over 4
1511
1512 =item DESCRIPTION
1513
1514 =over 4
1515
1516 =item Can I get a BNF/yacc/RE for the Perl language?
1517
1518 =item What are all these $@%&* punctuation signs, and how do I know when to
1519 use them?
1520
1521 =item Do I always/never have to quote my strings or use semicolons and
1522 commas?
1523
1524 =item How do I skip some return values?
1525
1526 =item How do I temporarily block warnings?
1527
1528 =item What's an extension?
1529
1530 =item Why do Perl operators have different precedence than C operators?
1531
1532 =item How do I declare/create a structure?
1533
1534 =item How do I create a module?
1535
1536 =item How do I create a class?
1537
1538 =item How can I tell if a variable is tainted?
1539
1540 =item What's a closure?
1541
1542 =item What is variable suicide and how can I prevent it?
1543
1544 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
1545 Regex}?
1546
1547 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
1548 Passing Methods
1549
1550 =item How do I create a static variable?
1551
1552 =item What's the difference between dynamic and lexical (static) scoping? 
1553 Between local() and my()?
1554
1555 =item How can I access a dynamic variable while a similarly named lexical
1556 is in scope?
1557
1558 =item What's the difference between deep and shallow binding?
1559
1560 =item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
1561
1562 =item How do I redefine a builtin function, operator, or method?
1563
1564 =item What's the difference between calling a function as &foo and foo()?
1565
1566 =item How do I create a switch or case statement?
1567
1568 =item How can I catch accesses to undefined variables, functions, or
1569 methods?
1570
1571 =item Why can't a method included in this same file be found?
1572
1573 =item How can I find out my current package?
1574
1575 =item How can I comment out a large block of perl code?
1576
1577 =item How do I clear a package?
1578
1579 =item How can I use a variable as a variable name?
1580
1581 =item What does "bad interpreter" mean?
1582
1583 =back
1584
1585 =item AUTHOR AND COPYRIGHT
1586
1587 =back
1588
1589 =head2 perlfaq8 - System Interaction ($Revision: 1.27 $, $Date: 2005/12/31
1590 00:54:37 $)
1591
1592 =over 4
1593
1594 =item DESCRIPTION
1595
1596 =over 4
1597
1598 =item How do I find out which operating system I'm running under?
1599
1600 =item How come exec() doesn't return?
1601
1602 =item How do I do fancy stuff with the keyboard/screen/mouse?
1603
1604 Keyboard, Screen, Mouse
1605
1606 =item How do I print something out in color?
1607
1608 =item How do I read just one key without waiting for a return key?
1609
1610 =item How do I check whether input is ready on the keyboard?
1611
1612 =item How do I clear the screen?
1613
1614 =item How do I get the screen size?
1615
1616 =item How do I ask the user for a password?
1617
1618 =item How do I read and write the serial port?
1619
1620 lockfiles, open mode, end of line, flushing output, non-blocking input
1621
1622 =item How do I decode encrypted password files?
1623
1624 =item How do I start a process in the background?
1625
1626 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
1627
1628 =item How do I trap control characters/signals?
1629
1630 =item How do I modify the shadow password file on a Unix system?
1631
1632 =item How do I set the time and date?
1633
1634 =item How can I sleep() or alarm() for under a second?
1635
1636 =item How can I measure time under a second?
1637
1638 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
1639
1640 =item Why doesn't my sockets program work under System V (Solaris)?  What
1641 does the error message "Protocol not supported" mean?
1642
1643 =item How can I call my system's unique C functions from Perl?
1644
1645 =item Where do I get the include files to do ioctl() or syscall()?
1646
1647 =item Why do setuid perl scripts complain about kernel problems?
1648
1649 =item How can I open a pipe both to and from a command?
1650
1651 =item Why can't I get the output of a command with system()?
1652
1653 =item How can I capture STDERR from an external command?
1654
1655 =item Why doesn't open() return an error when a pipe open fails?
1656
1657 =item What's wrong with using backticks in a void context?
1658
1659 =item How can I call backticks without shell processing?
1660
1661 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1662 ^Z on MS-DOS)?
1663
1664 =item How can I convert my shell script to perl?
1665
1666 =item Can I use perl to run a telnet or ftp session?
1667
1668 =item How can I write expect in Perl?
1669
1670 =item Is there a way to hide perl's command line from programs such as
1671 "ps"?
1672
1673 =item I {changed directory, modified my environment} in a perl script.  How
1674 come the change disappeared when I exited the script?  How do I get my
1675 changes to be visible?
1676
1677 Unix
1678
1679 =item How do I close a process's filehandle without waiting for it to
1680 complete?
1681
1682 =item How do I fork a daemon process?
1683
1684 =item How do I find out if I'm running interactively or not?
1685
1686 =item How do I timeout a slow event?
1687
1688 =item How do I set CPU limits?
1689
1690 =item How do I avoid zombies on a Unix system?
1691
1692 =item How do I use an SQL database?
1693
1694 =item How do I make a system() exit on control-C?
1695
1696 =item How do I open a file without blocking?
1697
1698 =item How do I tell the difference between errors from the shell and perl?
1699
1700 =item How do I install a module from CPAN?
1701
1702 =item What's the difference between require and use?
1703
1704 =item How do I keep my own module/library directory?
1705
1706 =item How do I add the directory my program lives in to the module/library
1707 search path?
1708
1709 =item How do I add a directory to my include path (@INC) at runtime?
1710
1711 =item What is socket.ph and where do I get it?
1712
1713 =back
1714
1715 =item AUTHOR AND COPYRIGHT
1716
1717 =back
1718
1719 =head2 perlfaq9 - Networking ($Revision: 1.28 $, $Date: 2005/12/31 00:54:37
1720 $)
1721
1722 =over 4
1723
1724 =item DESCRIPTION
1725
1726 =over 4
1727
1728 =item What is the correct form of response from a CGI script?
1729
1730 =item My CGI script runs from the command line but not the browser.  (500
1731 Server Error)
1732
1733 =item How can I get better error messages from a CGI program?
1734
1735 =item How do I remove HTML from a string?
1736
1737 =item How do I extract URLs?
1738
1739 =item How do I download a file from the user's machine?  How do I open a
1740 file on another machine?
1741
1742 =item How do I make a pop-up menu in HTML?
1743
1744 =item How do I fetch an HTML file?
1745
1746 =item How do I automate an HTML form submission?
1747
1748 =item How do I decode or create those %-encodings on the web?
1749
1750 =item How do I redirect to another page?
1751
1752 =item How do I put a password on my web pages?
1753
1754 =item How do I edit my .htpasswd and .htgroup files with Perl?
1755
1756 =item How do I make sure users can't enter values into a form that cause my
1757 CGI script to do bad things?
1758
1759 =item How do I parse a mail header?
1760
1761 =item How do I decode a CGI form?
1762
1763 =item How do I check a valid mail address?
1764
1765 =item How do I decode a MIME/BASE64 string?
1766
1767 =item How do I return the user's mail address?
1768
1769 =item How do I send mail?
1770
1771 =item How do I use MIME to make an attachment to a mail message?
1772
1773 =item How do I read mail?
1774
1775 =item How do I find out my hostname, domainname, or IP address?
1776 X<hostname, domainname, IP address, host, domain, hostfqdn, inet_ntoa,
1777 gethostbyname, Socket, Net::Domain, Sys::Hostname>
1778
1779 =item How do I fetch a news article or the active newsgroups?
1780
1781 =item How do I fetch/put an FTP file?
1782
1783 =item How can I do RPC in Perl?
1784
1785 =back
1786
1787 =item 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 ${^UTF8LOCALE}, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
2779 $EXECUTABLE_NAME, $^X, ARGV, $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC,
2780 %ENV, $ENV{expr}, %SIG, $SIG{expr}
2781
2782 =item Error Indicators
2783
2784 =item Technical Note on the Syntax of Variable Names
2785
2786 =back
2787
2788 =item BUGS
2789
2790 =back
2791
2792 =head2 perlre - Perl regular expressions
2793
2794 =over 4
2795
2796 =item DESCRIPTION
2797
2798 i X</i> X<regex, case-insensitive> X<regexp, case-insensitive> X<regular
2799 expression, case-insensitive>, m X</m> X<regex, multiline> X<regexp,
2800 multiline> X<regular expression, multiline>, s X</s> X<regex, single-line>
2801 X<regexp, single-line> X<regular expression, single-line>, x X</x>
2802
2803 =over 4
2804
2805 =item Regular Expressions
2806
2807 [1], [2], [3], cntrl X<cntrl>, graph X<graph>, print X<print>, punct
2808 X<punct>, xdigit X<xdigit>
2809
2810 =item Extended Patterns
2811
2812 C<(?#text)> X<(?#)>, C<(?imsx-imsx)> X<(?)>, C<(?:pattern)> X<(?:)>,
2813 C<(?imsx-imsx:pattern)>, C<(?=pattern)> X<(?=)> X<look-ahead, positive>
2814 X<lookahead, positive>, C<(?!pattern)> X<(?!)> X<look-ahead, negative>
2815 X<lookahead, negative>, C<(?<=pattern)> X<(?<=)> X<look-behind, positive>
2816 X<lookbehind, positive>, C<(?<!pattern)> X<(?<!)> X<look-behind, negative>
2817 X<lookbehind, negative>, C<(?{ code })> X<(?{})> X<regex, code in>
2818 X<regexp, code in> X<regular expression, code in>, C<(??{ code })>
2819 X<(??{})> X<regex, postponed> X<regexp, postponed> X<regular expression,
2820 postponed> X<regex, recursive> X<regexp, recursive> X<regular expression,
2821 recursive>, C<< (?>pattern) >> X<backtrack> X<backtracking>,
2822 C<(?(condition)yes-pattern|no-pattern)> X<(?()>,
2823 C<(?(condition)yes-pattern)>
2824
2825 =item Backtracking
2826 X<backtrack> X<backtracking>
2827
2828 =item Version 8 Regular Expressions
2829 X<regular expression, version 8> X<regex, version 8> X<regexp, version 8>
2830
2831 =item Warning on \1 vs $1
2832
2833 =item Repeated patterns matching zero-length substring
2834
2835 =item Combining pieces together
2836
2837 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
2838 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
2839 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
2840 C<(?(condition)yes-pattern|no-pattern)>
2841
2842 =item Creating custom RE engines
2843
2844 =back
2845
2846 =item BUGS
2847
2848 =item SEE ALSO
2849
2850 =back
2851
2852 =head2 perlreref - Perl Regular Expressions Reference
2853
2854 =over 4
2855
2856 =item DESCRIPTION
2857
2858 =over 4
2859
2860 =item OPERATORS
2861
2862 =item SYNTAX
2863
2864 =item ESCAPE SEQUENCES
2865
2866 =item CHARACTER CLASSES
2867
2868 =item ANCHORS
2869
2870 =item QUANTIFIERS
2871
2872 =item EXTENDED CONSTRUCTS
2873
2874 =item VARIABLES
2875
2876 =item FUNCTIONS
2877
2878 =item TERMINOLOGY
2879
2880 =back
2881
2882 =item AUTHOR
2883
2884 =item SEE ALSO
2885
2886 =item THANKS
2887
2888 =back
2889
2890 =head2 perlref - Perl references and nested data structures
2891
2892 =over 4
2893
2894 =item NOTE
2895
2896 =item DESCRIPTION
2897
2898 =over 4
2899
2900 =item Making References
2901 X<reference, creation> X<referencing>
2902
2903 1. X<\> X<backslash>, 2. X<array, anonymous> X<[> X<[]> X<square bracket>
2904 X<bracket, square> X<arrayref> X<array reference> X<reference, array>, 3.
2905 X<hash, anonymous> X<{> X<{}> X<curly bracket> X<bracket, curly> X<brace>
2906 X<hashref> X<hash reference> X<reference, hash>, 4. X<subroutine,
2907 anonymous> X<subroutine, reference> X<reference, subroutine> X<scope,
2908 lexical> X<closure> X<lexical> X<lexical scope>, 5. X<constructor> X<new>,
2909 6. X<autovivification>, 7. X<*foo{THING}> X<*>
2910
2911 =item Using References
2912 X<reference, use> X<dereferencing> X<dereference>
2913
2914 2. X<${}> X<@{}> X<%{}>, 3. X<autovivification> X<< -> >> X<arrow>, 4.
2915 X<encapsulation>
2916
2917 =item Symbolic references
2918 X<reference, symbolic> X<reference, soft>
2919 X<symbolic reference> X<soft reference>
2920
2921 =item Not-so-symbolic references
2922
2923 =item Pseudo-hashes: Using an array as a hash
2924 X<pseudo-hash> X<pseudo hash> X<pseudohash>
2925
2926 =item Function Templates
2927 X<scope, lexical> X<closure> X<lexical> X<lexical scope>
2928 X<subroutine, nested> X<sub, nested> X<subroutine, local> X<sub, local>
2929
2930 =back
2931
2932 =item WARNING
2933 X<reference, string context> X<reference, use as hash key>
2934
2935 =item SEE ALSO
2936
2937 =back
2938
2939 =head2 perlform - Perl formats
2940
2941 =over 4
2942
2943 =item DESCRIPTION
2944
2945 =over 4
2946
2947 =item Text Fields
2948 X<format, text field>
2949
2950 =item Numeric Fields
2951 X<#> X<format, numeric field>
2952
2953 =item The Field @* for Variable Width Multi-Line Text
2954 X<@*>
2955
2956 =item The Field ^* for Variable Width One-line-at-a-time Text
2957 X<^*>
2958
2959 =item Specifying Values
2960 X<format, specifying values>
2961
2962 =item Using Fill Mode
2963 X<format, fill mode>
2964
2965 =item Suppressing Lines Where All Fields Are Void
2966 X<format, suppressing lines>
2967
2968 =item Repeating Format Lines
2969 X<format, repeating lines>
2970
2971 =item Top of Form Processing
2972 X<format, top of form> X<top> X<header>
2973
2974 =item Format Variables
2975 X<format variables>
2976 X<format, variables>
2977
2978 =back
2979
2980 =item NOTES
2981
2982 =over 4
2983
2984 =item Footers
2985 X<format, footer> X<footer>
2986
2987 =item Accessing Formatting Internals
2988 X<format, internals>
2989
2990 =back
2991
2992 =item WARNINGS
2993
2994 =back
2995
2996 =head2 perlobj - Perl objects
2997
2998 =over 4
2999
3000 =item DESCRIPTION
3001
3002 =over 4
3003
3004 =item An Object is Simply a Reference
3005 X<object> X<bless> X<constructor> X<new>
3006
3007 =item A Class is Simply a Package
3008 X<class> X<package> X<@ISA> X<inheritance>
3009
3010 =item A Method is Simply a Subroutine
3011 X<method>
3012
3013 =item Method Invocation
3014 X<invocation> X<method> X<arrow> X<< -> >>
3015
3016 =item Indirect Object Syntax
3017 X<indirect object syntax> X<invocation, indirect> X<indirect>
3018
3019 =item Default UNIVERSAL methods
3020 X<UNIVERSAL>
3021
3022 isa(CLASS) X<isa>, can(METHOD) X<can>, VERSION( [NEED] ) X<VERSION>
3023
3024 =item Destructors
3025 X<destructor> X<DESTROY>
3026
3027 =item Summary
3028
3029 =item Two-Phased Garbage Collection
3030 X<garbage collection> X<GC> X<circular reference>
3031 X<reference, circular> X<DESTROY> X<destructor>
3032
3033 =back
3034
3035 =item SEE ALSO
3036
3037 =back
3038
3039 =head2 perltie - how to hide an object class in a simple variable
3040
3041 =over 4
3042
3043 =item SYNOPSIS
3044
3045 =item DESCRIPTION
3046
3047 =over 4
3048
3049 =item Tying Scalars
3050 X<scalar, tying>
3051
3052 TIESCALAR classname, LIST X<TIESCALAR>, FETCH this X<FETCH>, STORE this,
3053 value X<STORE>, UNTIE this X<UNTIE>, DESTROY this X<DESTROY>
3054
3055 =item Tying Arrays
3056 X<array, tying>
3057
3058 TIEARRAY classname, LIST X<TIEARRAY>, FETCH this, index X<FETCH>, STORE
3059 this, index, value X<STORE>, FETCHSIZE this X<FETCHSIZE>, STORESIZE this,
3060 count X<STORESIZE>, EXTEND this, count X<EXTEND>, EXISTS this, key
3061 X<EXISTS>, DELETE this, key X<DELETE>, CLEAR this X<CLEAR>, PUSH this, LIST
3062  X<PUSH>, POP this X<POP>, SHIFT this X<SHIFT>, UNSHIFT this, LIST 
3063 X<UNSHIFT>, SPLICE this, offset, length, LIST X<SPLICE>, UNTIE this
3064 X<UNTIE>, DESTROY this X<DESTROY>
3065
3066 =item Tying Hashes
3067 X<hash, tying>
3068
3069 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST X<TIEHASH>, FETCH this,
3070 key X<FETCH>, STORE this, key, value X<STORE>, DELETE this, key X<DELETE>,
3071 CLEAR this X<CLEAR>, EXISTS this, key X<EXISTS>, FIRSTKEY this X<FIRSTKEY>,
3072 NEXTKEY this, lastkey X<NEXTKEY>, SCALAR this X<SCALAR>, UNTIE this
3073 X<UNTIE>, DESTROY this X<DESTROY>
3074
3075 =item Tying FileHandles
3076 X<filehandle, tying>
3077
3078 TIEHANDLE classname, LIST X<TIEHANDLE>, WRITE this, LIST X<WRITE>, PRINT
3079 this, LIST X<PRINT>, PRINTF this, LIST X<PRINTF>, READ this, LIST X<READ>,
3080 READLINE this X<READLINE>, GETC this X<GETC>, CLOSE this X<CLOSE>, UNTIE
3081 this X<UNTIE>, DESTROY this X<DESTROY>
3082
3083 =item UNTIE this
3084 X<UNTIE>
3085
3086 =item The C<untie> Gotcha
3087 X<untie>
3088
3089 =back
3090
3091 =item SEE ALSO
3092
3093 =item BUGS
3094
3095 =item AUTHOR
3096
3097 =back
3098
3099 =head2 perldbmfilter - Perl DBM Filters
3100
3101 =over 4
3102
3103 =item SYNOPSIS
3104
3105 =item DESCRIPTION
3106
3107 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
3108 B<filter_fetch_value>
3109
3110 =over 4
3111
3112 =item The Filter
3113
3114 =item An Example -- the NULL termination problem.
3115
3116 =item Another Example -- Key is a C int.
3117
3118 =back
3119
3120 =item SEE ALSO
3121
3122 =item AUTHOR
3123
3124 =back
3125
3126 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
3127 safe subprocesses, sockets, and semaphores)
3128
3129 =over 4
3130
3131 =item DESCRIPTION
3132
3133 =item Signals
3134
3135 =over 4
3136
3137 =item Handling the SIGHUP Signal in Daemons
3138
3139 =back
3140
3141 =item Named Pipes
3142
3143 =over 4
3144
3145 =item Deferred Signals (Safe Signals)
3146
3147 Long running opcodes, Interrupting IO, Restartable system calls, Signals as
3148 "faults", Signals triggered by operating system state
3149
3150 =back
3151
3152 =item Using open() for IPC
3153
3154 =over 4
3155
3156 =item Filehandles
3157
3158 =item Background Processes
3159
3160 =item Complete Dissociation of Child from Parent
3161
3162 =item Safe Pipe Opens
3163
3164 =item Bidirectional Communication with Another Process
3165
3166 =item Bidirectional Communication with Yourself
3167
3168 =back
3169
3170 =item Sockets: Client/Server Communication
3171
3172 =over 4
3173
3174 =item Internet Line Terminators
3175
3176 =item Internet TCP Clients and Servers
3177
3178 =item Unix-Domain TCP Clients and Servers
3179
3180 =back
3181
3182 =item TCP Clients with IO::Socket
3183
3184 =over 4
3185
3186 =item A Simple Client
3187
3188 C<Proto>, C<PeerAddr>, C<PeerPort>
3189
3190 =item A Webget Client
3191
3192 =item Interactive Client with IO::Socket
3193
3194 =back
3195
3196 =item TCP Servers with IO::Socket
3197
3198 Proto, LocalPort, Listen, Reuse
3199
3200 =item UDP: Message Passing
3201
3202 =item SysV IPC
3203
3204 =item NOTES
3205
3206 =item BUGS
3207
3208 =item AUTHOR
3209
3210 =item SEE ALSO
3211
3212 =back
3213
3214 =head2 perlfork - Perl's fork() emulation
3215
3216 =over 4
3217
3218 =item SYNOPSIS
3219
3220 =item DESCRIPTION
3221
3222 =over 4
3223
3224 =item Behavior of other Perl features in forked pseudo-processes
3225
3226 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
3227 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
3228 files, directories and network sockets
3229
3230 =item Resource limits
3231
3232 =item Killing the parent process
3233
3234 =item Lifetime of the parent process and pseudo-processes
3235
3236 =item CAVEATS AND LIMITATIONS
3237
3238 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
3239 Global state maintained by XSUBs, Interpreter embedded in larger
3240 application, Thread-safety of extensions
3241
3242 =back
3243
3244 =item BUGS
3245
3246 =item AUTHOR
3247
3248 =item SEE ALSO
3249
3250 =back
3251
3252 =head2 perlnumber - semantics of numbers and numeric operations in Perl
3253
3254 =over 4
3255
3256 =item SYNOPSIS
3257
3258 =item DESCRIPTION
3259
3260 =item Storing numbers
3261
3262 =item Numeric operators and numeric conversions
3263
3264 =item Flavors of Perl numeric operations
3265
3266 Arithmetic operators, ++, Arithmetic operators during C<use integer>, Other
3267 mathematical operators, Bitwise operators, Bitwise operators during C<use
3268 integer>, Operators which expect an integer, Operators which expect a
3269 string
3270
3271 =item AUTHOR
3272
3273 =item SEE ALSO
3274
3275 =back
3276
3277 =head2 perlthrtut - tutorial on threads in Perl
3278
3279 =over 4
3280
3281 =item DESCRIPTION
3282
3283 =item Status
3284
3285 =item What Is A Thread Anyway?
3286
3287 =item Threaded Program Models
3288
3289 =over 4
3290
3291 =item Boss/Worker
3292
3293 =item Work Crew
3294
3295 =item Pipeline
3296
3297 =back
3298
3299 =item What kind of threads are Perl threads?
3300
3301 =item Thread-Safe Modules
3302
3303 =item Thread Basics
3304
3305 =over 4
3306
3307 =item Basic Thread Support
3308
3309 =item A Note about the Examples
3310
3311 =item Creating Threads
3312
3313 =item Waiting For A Thread To Exit
3314
3315 =item Ignoring A Thread
3316
3317 =back
3318
3319 =item Threads And Data
3320
3321 =over 4
3322
3323 =item Shared And Unshared Data
3324
3325 =item Thread Pitfalls: Races
3326
3327 =back
3328
3329 =item Synchronization and control
3330
3331 =over 4
3332
3333 =item Controlling access: lock()
3334
3335 =item A Thread Pitfall: Deadlocks
3336
3337 =item Queues: Passing Data Around
3338
3339 =item Semaphores: Synchronizing Data Access
3340
3341 =item Basic semaphores
3342
3343 =item Advanced Semaphores
3344
3345 =item cond_wait() and cond_signal()
3346
3347 =item Giving up control
3348
3349 =back
3350
3351 =item General Thread Utility Routines
3352
3353 =over 4
3354
3355 =item What Thread Am I In?
3356
3357 =item Thread IDs
3358
3359 =item Are These Threads The Same?
3360
3361 =item What Threads Are Running?
3362
3363 =back
3364
3365 =item A Complete Example
3366
3367 =item Different implementations of threads
3368
3369 =item Performance considerations
3370
3371 =item Process-scope Changes
3372
3373 =item Thread-Safety of System Libraries
3374
3375 =item Conclusion
3376
3377 =item Bibliography
3378
3379 =over 4
3380
3381 =item Introductory Texts
3382
3383 =item OS-Related References
3384
3385 =item Other References
3386
3387 =back
3388
3389 =item Acknowledgements
3390
3391 =item AUTHOR
3392
3393 =item Copyrights
3394
3395 =back
3396
3397 =head2 perlothrtut - old tutorial on threads in Perl
3398
3399 =over 4
3400
3401 =item DESCRIPTION
3402
3403 =item What Is A Thread Anyway?
3404
3405 =item Threaded Program Models
3406
3407 =over 4
3408
3409 =item Boss/Worker
3410
3411 =item Work Crew
3412
3413 =item Pipeline
3414
3415 =back
3416
3417 =item Native threads
3418
3419 =item What kind of threads are perl threads?
3420
3421 =item Threadsafe Modules
3422
3423 =item Thread Basics
3424
3425 =over 4
3426
3427 =item Basic Thread Support
3428
3429 =item Creating Threads
3430
3431 =item Giving up control
3432
3433 =item Waiting For A Thread To Exit
3434
3435 =item Errors In Threads
3436
3437 =item Ignoring A Thread
3438
3439 =back
3440
3441 =item Threads And Data
3442
3443 =over 4
3444
3445 =item Shared And Unshared Data
3446
3447 =item Thread Pitfall: Races
3448
3449 =item Controlling access: lock()
3450
3451 =item Thread Pitfall: Deadlocks
3452
3453 =item Queues: Passing Data Around
3454
3455 =back
3456
3457 =item Threads And Code
3458
3459 =over 4
3460
3461 =item Semaphores: Synchronizing Data Access
3462
3463 Basic semaphores, Advanced Semaphores
3464
3465 =item Attributes: Restricting Access To Subroutines
3466
3467 =item Subroutine Locks
3468
3469 =item Methods
3470
3471 =item Locking A Subroutine
3472
3473 =back
3474
3475 =item General Thread Utility Routines
3476
3477 =over 4
3478
3479 =item What Thread Am I In?
3480
3481 =item Thread IDs
3482
3483 =item Are These Threads The Same?
3484
3485 =item What Threads Are Running?
3486
3487 =back
3488
3489 =item A Complete Example
3490
3491 =item Conclusion
3492
3493 =item Bibliography
3494
3495 =over 4
3496
3497 =item Introductory Texts
3498
3499 =item OS-Related References
3500
3501 =item Other References
3502
3503 =back
3504
3505 =item Acknowledgements
3506
3507 =item AUTHOR
3508
3509 =item Copyrights
3510
3511 =back
3512
3513 =head2 perlport - Writing portable Perl
3514
3515 =over 4
3516
3517 =item DESCRIPTION
3518
3519 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
3520 portable
3521
3522 =item ISSUES
3523
3524 =over 4
3525
3526 =item Newlines
3527
3528 =item Numbers endianness and Width
3529
3530 =item Files and Filesystems
3531
3532 =item System Interaction
3533
3534 =item Command names versus file pathnames
3535
3536 =item Networking
3537
3538 =item Interprocess Communication (IPC)
3539
3540 =item External Subroutines (XS)
3541
3542 =item Standard Modules
3543
3544 =item Time and Date
3545
3546 =item Character sets and character encoding
3547
3548 =item Internationalisation
3549
3550 =item System Resources
3551
3552 =item Security
3553
3554 =item Style
3555
3556 =back
3557
3558 =item CPAN Testers
3559
3560 =item PLATFORMS
3561
3562 =over 4
3563
3564 =item Unix
3565
3566 =item DOS and Derivatives
3567
3568 =item S<Mac OS>
3569
3570 =item VMS
3571
3572 =item VOS
3573
3574 =item EBCDIC Platforms
3575
3576 =item Acorn RISC OS
3577
3578 =item Other perls
3579
3580 =back
3581
3582 =item FUNCTION IMPLEMENTATIONS
3583
3584 =over 4
3585
3586 =item Alphabetical Listing of Perl Functions
3587
3588 -I<X>, atan2, binmode, chmod, chown, chroot, crypt, dbmclose, dbmopen,
3589 dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid,
3590 getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid,
3591 getnetbyaddr, getprotobynumber, getservbyport, getpwent, getgrent,
3592 gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent,
3593 setnetent, setprotoent, setservent, endpwent, endgrent, endhostent,
3594 endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob,
3595 gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat,
3596 msgctl, msgget, msgsnd, msgrcv, open, pipe, readlink, rename, select,
3597 semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent,
3598 setsockopt, shmctl, shmget, shmread, shmwrite, sockatmark, socketpair,
3599 stat, symlink, syscall, sysopen, system, times, truncate, umask, utime,
3600 wait, waitpid
3601
3602 =back
3603
3604 =item Supported Platforms
3605
3606 =item SEE ALSO
3607
3608 =item AUTHORS / CONTRIBUTORS
3609
3610 =back
3611
3612 =head2 perllocale - Perl locale handling (internationalization and
3613 localization)
3614
3615 =over 4
3616
3617 =item DESCRIPTION
3618
3619 =item PREPARING TO USE LOCALES
3620
3621 =item USING LOCALES
3622
3623 =over 4
3624
3625 =item The use locale pragma
3626
3627 =item The setlocale function
3628
3629 =item Finding locales
3630
3631 =item LOCALE PROBLEMS
3632
3633 =item Temporarily fixing locale problems
3634
3635 =item Permanently fixing locale problems
3636
3637 =item Permanently fixing your system's locale configuration
3638
3639 =item Fixing system locale configuration
3640
3641 =item The localeconv function
3642
3643 =item I18N::Langinfo
3644
3645 =back
3646
3647 =item LOCALE CATEGORIES
3648
3649 =over 4
3650
3651 =item Category LC_COLLATE: Collation
3652
3653 =item Category LC_CTYPE: Character Types
3654
3655 =item Category LC_NUMERIC: Numeric Formatting
3656
3657 =item Category LC_MONETARY: Formatting of monetary amounts
3658
3659 =item LC_TIME
3660
3661 =item Other categories
3662
3663 =back
3664
3665 =item SECURITY
3666
3667 =item ENVIRONMENT
3668
3669 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
3670 LC_NUMERIC, LC_TIME, LANG
3671
3672 =item NOTES
3673
3674 =over 4
3675
3676 =item Backward compatibility
3677
3678 =item I18N:Collate obsolete
3679
3680 =item Sort speed and memory use impacts
3681
3682 =item write() and LC_NUMERIC
3683
3684 =item Freely available locale definitions
3685
3686 =item I18n and l10n
3687
3688 =item An imperfect standard
3689
3690 =back
3691
3692 =item Unicode and UTF-8
3693
3694 =item BUGS
3695
3696 =over 4
3697
3698 =item Broken systems
3699
3700 =back
3701
3702 =item SEE ALSO
3703
3704 =item HISTORY
3705
3706 =back
3707
3708 =head2 perluniintro - Perl Unicode introduction
3709
3710 =over 4
3711
3712 =item DESCRIPTION
3713
3714 =over 4
3715
3716 =item Unicode
3717
3718 =item Perl's Unicode Support
3719
3720 =item Perl's Unicode Model
3721
3722 =item Unicode and EBCDIC
3723
3724 =item Creating Unicode
3725
3726 =item Handling Unicode
3727
3728 =item Legacy Encodings
3729
3730 =item Unicode I/O
3731
3732 =item Displaying Unicode As Text
3733
3734 =item Special Cases
3735
3736 =item Advanced Topics
3737
3738 =item Miscellaneous
3739
3740 =item Questions With Answers
3741
3742 =item Hexadecimal Notation
3743
3744 =item Further Resources
3745
3746 =back
3747
3748 =item UNICODE IN OLDER PERLS
3749
3750 =item SEE ALSO
3751
3752 =item ACKNOWLEDGMENTS
3753
3754 =item AUTHOR, COPYRIGHT, AND LICENSE
3755
3756 =back
3757
3758 =head2 perlunicode - Unicode support in Perl
3759
3760 =over 4
3761
3762 =item DESCRIPTION
3763
3764 =over 4
3765
3766 =item Important Caveats
3767
3768 Input and Output Layers, Regular Expressions, C<use utf8> still needed to
3769 enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts
3770 autodetected, C<use encoding> needed to upgrade non-Latin-1 byte strings
3771
3772 =item Byte and Character Semantics
3773
3774 =item Effects of Character Semantics
3775
3776 =item Scripts
3777
3778 =item Blocks
3779
3780 =item User-Defined Character Properties
3781
3782 =item Character Encodings for Input and Output
3783
3784 =item Unicode Regular Expression Support Level
3785
3786 =item Unicode Encodings
3787
3788 =item Security Implications of Unicode
3789
3790 =item Unicode in Perl on EBCDIC
3791
3792 =item Locales
3793
3794 =item When Unicode Does Not Happen
3795
3796 =item Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
3797
3798 =item Using Unicode in XS
3799
3800 =back
3801
3802 =item BUGS
3803
3804 =over 4
3805
3806 =item Interaction with Locales
3807
3808 =item Interaction with Extensions
3809
3810 =item Speed
3811
3812 =item Porting code from perl-5.6.X
3813
3814 =back
3815
3816 =item SEE ALSO
3817
3818 =back
3819
3820 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
3821
3822 =over 4
3823
3824 =item DESCRIPTION
3825
3826 =item COMMON CHARACTER CODE SETS
3827
3828 =over 4
3829
3830 =item ASCII
3831
3832 =item ISO 8859
3833
3834 =item Latin 1 (ISO 8859-1)
3835
3836 =item EBCDIC
3837
3838 =item 13 variant characters
3839
3840 =item 0037
3841
3842 =item 1047
3843
3844 =item POSIX-BC
3845
3846 =item Unicode code points versus EBCDIC code points
3847
3848 =item Remaining Perl Unicode problems in EBCDIC
3849
3850 =item Unicode and UTF
3851
3852 =item Using Encode
3853
3854 =back
3855
3856 =item SINGLE OCTET TABLES
3857
3858 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
3859
3860 =item IDENTIFYING CHARACTER CODE SETS
3861
3862 =item CONVERSIONS
3863
3864 =over 4
3865
3866 =item tr///
3867
3868 =item iconv
3869
3870 =item C RTL
3871
3872 =back
3873
3874 =item OPERATOR DIFFERENCES
3875
3876 =item FUNCTION DIFFERENCES
3877
3878 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
3879
3880 =item REGULAR EXPRESSION DIFFERENCES
3881
3882 =item SOCKETS
3883
3884 =item SORTING
3885
3886 =over 4
3887
3888 =item Ignore ASCII vs. EBCDIC sort differences.
3889
3890 =item MONO CASE then sort data.
3891
3892 =item Convert, sort data, then re convert.
3893
3894 =item Perform sorting on one type of machine only.
3895
3896 =back
3897
3898 =item TRANSFORMATION FORMATS
3899
3900 =over 4
3901
3902 =item URL decoding and encoding
3903
3904 =item uu encoding and decoding
3905
3906 =item Quoted-Printable encoding and decoding
3907
3908 =item Caesarian ciphers
3909
3910 =back
3911
3912 =item Hashing order and checksums
3913
3914 =item I18N AND L10N
3915
3916 =item MULTI OCTET CHARACTER SETS
3917
3918 =item OS ISSUES
3919
3920 =over 4
3921
3922 =item OS/400
3923
3924 PASE, IFS access
3925
3926 =item OS/390, z/OS
3927
3928 chcp, dataset access, OS/390, z/OS iconv, locales
3929
3930 =item VM/ESA?
3931
3932 =item POSIX-BC?
3933
3934 =back
3935
3936 =item BUGS
3937
3938 =item SEE ALSO
3939
3940 =item REFERENCES
3941
3942 =item HISTORY
3943
3944 =item AUTHOR
3945
3946 =back
3947
3948 =head2 perlsec - Perl security
3949
3950 =over 4
3951
3952 =item DESCRIPTION
3953
3954 =over 4
3955
3956 =item Laundering and Detecting Tainted Data
3957
3958 =item Switches On the "#!" Line
3959
3960 =item Taint mode and @INC
3961
3962 =item Cleaning Up Your Path
3963
3964 =item Security Bugs
3965
3966 =item Protecting Your Programs
3967
3968 =item Unicode
3969
3970 =item Algorithmic Complexity Attacks
3971
3972 =back
3973
3974 =item SEE ALSO
3975
3976 =back
3977
3978 =head2 perlmod - Perl modules (packages and symbol tables)
3979
3980 =over 4
3981
3982 =item DESCRIPTION
3983
3984 =over 4
3985
3986 =item Packages
3987 X<package> X<namespace> X<variable, global> X<global variable> X<global>
3988
3989 =item Symbol Tables
3990 X<symbol table> X<stash> X<%::> X<%main::> X<typeglob> X<glob> X<alias>
3991
3992 =item BEGIN, CHECK, INIT and END
3993 X<BEGIN> X<CHECK> X<INIT> X<END>
3994
3995 =item Perl Classes
3996 X<class> X<@ISA>
3997
3998 =item Perl Modules
3999 X<module>
4000
4001 =item Making your module threadsafe
4002 X<threadsafe> X<thread safe>
4003 X<module, threadsafe> X<module, thread safe>
4004 X<CLONE> X<CLONE_SKIP> X<thread> X<threads> X<ithread>
4005
4006 =back
4007
4008 =item SEE ALSO
4009
4010 =back
4011
4012 =head2 perlmodlib - constructing new Perl modules and finding existing ones
4013
4014 =over 4
4015
4016 =item THE PERL MODULE LIBRARY
4017
4018 =over 4
4019
4020 =item Pragmatic Modules
4021
4022 assertions, assertions::activate, assertions::compat, attributes, attrs,
4023 autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant,
4024 diagnostics, encoding, encoding::warnings, feature, fields, filetest, if,
4025 integer, less, lib, locale, open, ops, overload, re, sigtrap, sort, strict,
4026 subs, threads, threads::shared, utf8, vars, version, vmsish, warnings,
4027 warnings::register
4028
4029 =item Standard Modules
4030
4031 AnyDBM_File, Archive::Tar, Archive::Tar::File, Attribute::Handlers,
4032 AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode,
4033 B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint,
4034 B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark,
4035 ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast,
4036 CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime,
4037 CPAN::Nox, CPAN::Version, Carp, Carp::Heavy, Class::ISA, Class::Struct,
4038 Compress::Zlib, Compress::Zlib::pod::FAQ, Config, Cwd, DB, DBM_Filter,
4039 DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, Devel::Peek,
4040 Devel::SelfStubber, Digest, Digest::MD5, Digest::base, Digest::file,
4041 DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte,
4042 Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config,
4043 Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::Guess,
4044 Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR,
4045 Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO,
4046 Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode,
4047 Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy,
4048 ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
4049 ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant,
4050 ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
4051 ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
4052 ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX,
4053 ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
4054 ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX,
4055 ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS,
4056 ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker,
4057 ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ,
4058 ExtUtils::MakeMaker::Tutorial, ExtUtils::MakeMaker::bytes,
4059 ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
4060 ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS,
4061 ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
4062 File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
4063 File::GlobMapper, File::Path, File::Spec, File::Spec::Cygwin,
4064 File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
4065 File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
4066 File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call,
4067 FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate,
4068 I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List,
4069 I18N::Langinfo, IO, IO::Compress::Deflate, IO::Compress::Gzip,
4070 IO::Compress::RawDeflate, IO::Dir, IO::File, IO::Handle, IO::Pipe,
4071 IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
4072 IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::Gunzip,
4073 IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Zlib, IPC::Open2,
4074 IPC::Open3, IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util,
4075 Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
4076 Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64,
4077 MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt,
4078 Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigInt::FastCalc,
4079 Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File,
4080 Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest,
4081 Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable,
4082 Module::CoreList, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain,
4083 Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP,
4084 Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent,
4085 Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, PerlIO::encoding,
4086 PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker,
4087 Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects,
4088 Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser,
4089 Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
4090 Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText,
4091 Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer,
4092 Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug,
4093 Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML,
4094 Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody,
4095 Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
4096 Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken,
4097 Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search,
4098 Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text,
4099 Pod::Simple::TextContent, Pod::Simple::XMLOutStream, Pod::Text,
4100 Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage,
4101 SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader,
4102 Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog,
4103 Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test,
4104 Test::Builder, Test::Builder::Module, Test::Builder::Tester,
4105 Test::Builder::Tester::Color, Test::Harness, Test::Harness::Assert,
4106 Test::Harness::Iterator, Test::Harness::Point, Test::Harness::Straps,
4107 Test::Harness::TAP, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev,
4108 Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap,
4109 Thread, Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific,
4110 Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash,
4111 Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime,
4112 Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize,
4113 Unicode::UCD, User::grent, User::pwent, XS::APItest, XS::Typemap, XSLoader
4114
4115 =item Extension Modules
4116
4117 =back
4118
4119 =item CPAN
4120
4121 =over 4
4122
4123 =item Africa
4124
4125 South Africa
4126
4127 =item Asia
4128
4129 China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi
4130 Arabia, Singapore, South Korea, Taiwan, Thailand
4131
4132 =item Central America
4133
4134 Costa Rica
4135
4136 =item Europe
4137
4138 Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech
4139 Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary,
4140 Iceland, Ireland, Italy, Latvia, Lithuania, Netherlands, Norway, Poland,
4141 Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland,
4142 Turkey, Ukraine, United Kingdom
4143
4144 =item North America
4145
4146 Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States,
4147 Alabama, California, Colorado, Delaware, District of Columbia, Florida,
4148 Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York,
4149 North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah,
4150 Virginia, Washington, Wisconsin
4151
4152 =item Oceania
4153
4154 Australia, New Zealand, United States
4155
4156 =item South America
4157
4158 Argentina, Brazil, Chile
4159
4160 =item RSYNC Mirrors
4161
4162 =back
4163
4164 =item Modules: Creation, Use, and Abuse
4165
4166 =over 4
4167
4168 =item Guidelines for Module Creation
4169
4170 =item Guidelines for Converting Perl 4 Library Scripts into Modules
4171
4172 =item Guidelines for Reusing Application Code
4173
4174 =back
4175
4176 =item NOTE
4177
4178 =back
4179
4180 =head2 perlmodstyle - Perl module style guide
4181
4182 =over 4
4183
4184 =item INTRODUCTION
4185
4186 =item QUICK CHECKLIST
4187
4188 =over 4
4189
4190 =item Before you start
4191
4192 =item The API
4193
4194 =item Stability
4195
4196 =item Documentation
4197
4198 =item Release considerations
4199
4200 =back
4201
4202 =item BEFORE YOU START WRITING A MODULE
4203
4204 =over 4
4205
4206 =item Has it been done before?
4207
4208 =item Do one thing and do it well
4209
4210 =item What's in a name?
4211
4212 =back
4213
4214 =item DESIGNING AND WRITING YOUR MODULE
4215
4216 =over 4
4217
4218 =item To OO or not to OO?
4219
4220 =item Designing your API
4221
4222 Write simple routines to do simple things, Separate functionality from
4223 output, Provide sensible shortcuts and defaults, Naming conventions,
4224 Parameter passing
4225
4226 =item Strictness and warnings
4227
4228 =item Backwards compatibility
4229
4230 =item Error handling and messages
4231
4232 =back
4233
4234 =item DOCUMENTING YOUR MODULE
4235
4236 =over 4
4237
4238 =item POD
4239
4240 =item README, INSTALL, release notes, changelogs
4241
4242 perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build,
4243 perl Build test, perl Build install
4244
4245 =back
4246
4247 =item RELEASE CONSIDERATIONS
4248
4249 =over 4
4250
4251 =item Version numbering
4252
4253 =item Pre-requisites
4254
4255 =item Testing
4256
4257 =item Packaging
4258
4259 =item Licensing
4260
4261 =back
4262
4263 =item COMMON PITFALLS
4264
4265 =over 4
4266
4267 =item Reinventing the wheel
4268
4269 =item Trying to do too much
4270
4271 =item Inappropriate documentation
4272
4273 =back
4274
4275 =item SEE ALSO
4276
4277 L<perlstyle>, L<perlnewmod>, L<perlpod>, L<podchecker>, Packaging Tools,
4278 Testing tools, http://pause.perl.org/, Any good book on software
4279 engineering
4280
4281 =item AUTHOR
4282
4283 =back
4284
4285 =head2 perlmodinstall - Installing CPAN Modules
4286
4287 =over 4
4288
4289 =item DESCRIPTION
4290
4291 =over 4
4292
4293 =item PREAMBLE
4294
4295 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
4296 module (sometimes unnecessary), B<INSTALL> the module
4297
4298 =back
4299
4300 =item PORTABILITY
4301
4302 =item HEY
4303
4304 =item AUTHOR
4305
4306 =item COPYRIGHT
4307
4308 =back
4309
4310 =head2 perlnewmod - preparing a new module for distribution
4311
4312 =over 4
4313
4314 =item DESCRIPTION
4315
4316 =over 4
4317
4318 =item Warning
4319
4320 =item What should I make into a module?
4321
4322 =item Step-by-step: Preparing the ground
4323
4324 Look around, Check it's new, Discuss the need, Choose a name, Check again
4325
4326 =item Step-by-step: Making the module
4327
4328 Start with F<module-starter> or F<h2xs>, Use L<strict|strict> and
4329 L<warnings|warnings>, Use L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!,
4330 Use L<plain old documentation|perlpod>, Write tests, Write the README
4331
4332 =item Step-by-step: Distributing your module
4333
4334 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
4335 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
4336
4337 =back
4338
4339 =item AUTHOR
4340
4341 =item SEE ALSO
4342
4343 =back
4344
4345 =head2 perlutil - utilities packaged with the Perl distribution
4346
4347 =over 4
4348
4349 =item DESCRIPTION
4350
4351 =over 4
4352
4353 =item DOCUMENTATION
4354
4355 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
4356 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
4357 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
4358 L<roffitall|roffitall>
4359
4360 =item CONVERTORS
4361
4362 L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>
4363
4364 =item Administration
4365
4366 L<libnetcfg|libnetcfg>
4367
4368 =item Development
4369
4370 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
4371 L<h2xs|h2xs>, L<dprofpp|dprofpp>, L<perlcc|perlcc>
4372
4373 =item SEE ALSO
4374
4375 =back
4376
4377 =back
4378
4379 =head2 perlcompile - Introduction to the Perl Compiler-Translator 
4380
4381 =over 4
4382
4383 =item DESCRIPTION
4384
4385 =over 4
4386
4387 =item Layout
4388
4389 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
4390
4391 =back
4392
4393 =item Using The Back Ends
4394
4395 =over 4
4396
4397 =item The Cross Referencing Back End
4398
4399 i, &, s, r
4400
4401 =item The Decompiling Back End
4402
4403 =item The Lint Back End
4404
4405 =item The Simple C Back End
4406
4407 =item The Bytecode Back End
4408
4409 =item The Optimized C Back End
4410
4411 =back
4412
4413 =item Module List for the Compiler Suite
4414
4415 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
4416 B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex,
4417 B::Stackobj, B::Stash, B::Terse, B::Xref
4418
4419 =item KNOWN PROBLEMS
4420
4421 =item AUTHOR
4422
4423 =back
4424
4425 =head2 perlfilter - Source Filters
4426
4427 =over 4
4428
4429 =item DESCRIPTION
4430
4431 =item CONCEPTS
4432
4433 =item USING FILTERS
4434
4435 =item WRITING A SOURCE FILTER
4436
4437 =item WRITING A SOURCE FILTER IN C
4438
4439 B<Decryption Filters>
4440
4441 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
4442
4443 =item WRITING A SOURCE FILTER IN PERL
4444
4445 =item USING CONTEXT: THE DEBUG FILTER
4446
4447 =item CONCLUSION
4448
4449 =item THINGS TO LOOK OUT FOR
4450
4451 Some Filters Clobber the C<DATA> Handle
4452
4453 =item REQUIREMENTS
4454
4455 =item AUTHOR
4456
4457 =item Copyrights
4458
4459 =back
4460
4461 =head2 perlglossary - Perl Glossary
4462
4463 =over 4
4464
4465 =item DESCRIPTION
4466
4467 =over 4
4468
4469 =item A
4470
4471 accessor methods, actual arguments, address operator, algorithm, alias,
4472 alternatives, anonymous, architecture, argument, ARGV, arithmetical
4473 operator, array, array context, ASCII, assertion, assignment, assignment
4474 operator, associative array, associativity, asynchronous, atom, atomic
4475 operation, attribute, autogeneration, autoincrement, autoload, autosplit,
4476 autovivification, AV, awk
4477
4478 =item B
4479
4480 backreference, backtracking, backward compatibility, bareword, base class,
4481 big-endian, binary, binary operator, bind, bit, bit shift, bit string,
4482 bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint,
4483 broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode
4484
4485 =item C
4486
4487 C, C preprocessor, call by reference, call by value, callback, canonical,
4488 capturing, character, character class, character property, circumfix
4489 operator, class, class method, client, cloister, closure, cluster, CODE,
4490 code generator, code subpattern, collating sequence, command, command
4491 buffering, command name, command-line arguments, comment, compilation unit,
4492 compile phase, compile time, compiler, composer, concatenation,
4493 conditional, connection, construct, constructor, context, continuation,
4494 core dump, CPAN, cracker, current package, current working directory,
4495 currently selected output channel, CV
4496
4497 =item D
4498
4499 dangling statement, data structure, data type, datagram, DBM, declaration,
4500 decrement, default, defined, delimiter, dereference, derived class,
4501 descriptor, destroy, destructor, device, directive, directory, directory
4502 handle, dispatch, distribution, dweomer, dwimmer, dynamic scoping
4503
4504 =item E
4505
4506 eclectic, element, embedding, empty subclass test, en passant,
4507 encapsulation, endian, environment, environment variable, EOF, errno,
4508 error, escape sequence, exception, exception handling, exec, executable
4509 file, execute, execute bit, exit status, export, expression, extension
4510
4511 =item F
4512
4513 false, FAQ, fatal error, field, FIFO, file, file descriptor, file test
4514 operator, fileglob, filehandle, filename, filesystem, filter, flag,
4515 floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely
4516 available, freely redistributable, freeware, function, funny character,
4517 garbage collection
4518
4519 =item G
4520
4521 GID, glob, global, global destruction, glue language, granularity, greedy,
4522 grep, group, GV
4523
4524 =item H
4525
4526 hacker, handler, hard reference, hash, hash table, header file, here
4527 document, hexadecimal, home directory, host, hubris, HV
4528
4529 =item I
4530
4531 identifier, impatience, implementation, import, increment, indexing,
4532 indirect filehandle, indirect object, indirect object slot, indirection,
4533 infix, inheritance, instance, instance variable, integer, interface,
4534 interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a,
4535 iteration, iterator, IV
4536
4537 =item J
4538
4539 JAPH
4540
4541 =item K
4542
4543 key, keyword
4544
4545 =item L
4546
4547 label, laziness, left shift, leftmost longest, lexeme, lexer, lexical
4548 analysis, lexical scoping, lexical variable, library, LIFO, line, line
4549 buffering, line number, link, LIST, list, list context, list operator, list
4550 value, literal, little-endian, local, logical operator, lookahead,
4551 lookbehind, loop, loop control statement, loop label, lvaluable, lvalue,
4552 lvalue modifier
4553
4554 =item M
4555
4556 magic, magical increment, magical variables, Makefile, man, manpage,
4557 matching, member data, memory, metacharacter, metasymbol, method,
4558 minimalism, mode, modifier, module, modulus, monger, mortal,
4559 multidimensional array, multiple inheritance
4560
4561 =item N
4562
4563 named pipe, namespace, network address, newline, NFS, null character, null
4564 list, null string, numeric context, NV, nybble
4565
4566 =item O
4567
4568 object, octal, offset, one-liner, open source software, operand, operating
4569 system, operator, operator overloading, options, overloading, overriding,
4570 owner
4571
4572 =item P
4573
4574 package, pad, parameter, parent class, parse tree, parsing, patch, PATH,
4575 pathname, pattern, pattern matching, permission bits, Pern, pipe, pipeline,
4576 platform, pod, pointer, polymorphism, port, portable, porter, POSIX,
4577 postfix, pp, pragma, precedence, prefix, preprocessing, procedure, process,
4578 program generator, progressive matching, property, protocol, prototype,
4579 pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin,
4580 pumpking, PV
4581
4582 =item Q
4583
4584 qualified, quantifier
4585
4586 =item R
4587
4588 readable, reaping, record, recursion, reference, referent, regex, regular
4589 expression, regular expression modifier, regular file, relational operator,
4590 reserved words, return value, RFC, right shift, root, RTFM, run phase, run
4591 time, run-time pattern, RV, rvalue
4592
4593 =item S
4594
4595 scalar, scalar context, scalar literal, scalar value, scalar variable,
4596 scope, scratchpad, script, script kiddie, sed, semaphore, separator,
4597 serialization, server, service, setgid, setuid, shared memory, shebang,
4598 shell, side effects, signal, signal handler, single inheritance, slice,
4599 slurp, socket, soft reference, source filter, stack, standard, standard
4600 error, standard I/O, standard input, standard output, stat structure,
4601 statement, statement modifier, static, static method, static scoping,
4602 static variable, status, STDERR, STDIN, STDIO, STDOUT, stream, string,
4603 string context, stringification, struct, structure, subclass, subpattern,
4604 subroutine, subscript, substitution, substring, superclass, superuser, SV,
4605 switch, switch cluster, switch statement, symbol, symbol table, symbolic
4606 debugger, symbolic link, symbolic reference, synchronous, syntactic sugar,
4607 syntax, syntax tree, syscall
4608
4609 =item T
4610
4611 tainted, TCP, term, terminator, ternary, text, thread, tie, TMTOWTDI,
4612 token, tokener, tokenizing, toolbox approach, transliterate, trigger,
4613 trinary, troff, true, truncating, type, type casting, typed lexical,
4614 typedef, typeglob, typemap
4615
4616 =item U
4617
4618 UDP, UID, umask, unary operator, Unicode, Unix
4619
4620 =item V
4621
4622 value, variable, variable interpolation, variadic, vector, virtual, void
4623 context, v-string
4624
4625 =item W
4626
4627 warning, watch expression, whitespace, word, working directory, wrapper,
4628 WYSIWYG
4629
4630 =item X
4631
4632 XS, XSUB
4633
4634 =item Y
4635
4636 yacc
4637
4638 =item Z
4639
4640 zero width, zombie
4641
4642 =back
4643
4644 =item AUTHOR AND COPYRIGHT
4645
4646 =back
4647
4648 =head2 perlembed - how to embed perl in your C program
4649
4650 =over 4
4651
4652 =item DESCRIPTION
4653
4654 =over 4
4655
4656 =item PREAMBLE
4657
4658 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
4659 Perl?>, B<Use C from C?>, B<Use Perl from C?>
4660
4661 =item ROADMAP
4662
4663 =item Compiling your C program
4664
4665 =item Adding a Perl interpreter to your C program
4666
4667 =item Calling a Perl subroutine from your C program
4668
4669 =item Evaluating a Perl statement from your C program
4670
4671 =item Performing Perl pattern matches and substitutions from your C program
4672
4673 =item Fiddling with the Perl stack from your C program
4674
4675 =item Maintaining a persistent interpreter
4676
4677 =item Execution of END blocks
4678
4679 =item Maintaining multiple interpreter instances
4680
4681 =item Using Perl modules, which themselves use C libraries, from your C
4682 program
4683
4684 =back
4685
4686 =item Embedding Perl under Win32
4687
4688 =item Hiding Perl_
4689
4690 =item MORAL
4691
4692 =item AUTHOR
4693
4694 =item COPYRIGHT
4695
4696 =back
4697
4698 =head2 perldebguts - Guts of Perl debugging 
4699
4700 =over 4
4701
4702 =item DESCRIPTION
4703
4704 =item Debugger Internals
4705
4706 =over 4
4707
4708 =item Writing Your Own Debugger
4709
4710 =back
4711
4712 =item Frame Listing Output Examples
4713
4714 =item Debugging regular expressions
4715
4716 =over 4
4717
4718 =item Compile-time output
4719
4720 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
4721 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
4722 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
4723 C<anchored(TYPE)>
4724
4725 =item Types of nodes
4726
4727 =item Run-time output
4728
4729 =back
4730
4731 =item Debugging Perl memory usage
4732
4733 =over 4
4734
4735 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
4736
4737 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
4738 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
4739 6144>
4740
4741 =back
4742
4743 =item SEE ALSO
4744
4745 =back
4746
4747 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
4748
4749 =over 4
4750
4751 =item DESCRIPTION
4752
4753 =item SPECIAL NOTES
4754
4755 =over 4
4756
4757 =item make
4758
4759 =item Version caveat
4760
4761 =item Dynamic Loading versus Static Loading
4762
4763 =back
4764
4765 =item TUTORIAL
4766
4767 =over 4
4768
4769 =item EXAMPLE 1
4770
4771 =item EXAMPLE 2
4772
4773 =item What has gone on?
4774
4775 =item Writing good test scripts
4776
4777 =item EXAMPLE 3
4778
4779 =item What's new here?
4780
4781 =item Input and Output Parameters
4782
4783 =item The XSUBPP Program
4784
4785 =item The TYPEMAP file
4786
4787 =item Warning about Output Arguments
4788
4789 =item EXAMPLE 4
4790
4791 =item What has happened here?
4792
4793 =item Anatomy of .xs file
4794
4795 =item Getting the fat out of XSUBs
4796
4797 =item More about XSUB arguments
4798
4799 =item The Argument Stack
4800
4801 =item Extending your Extension
4802
4803 =item Documenting your Extension
4804
4805 =item Installing your Extension
4806
4807 =item EXAMPLE 5
4808
4809 =item New Things in this Example
4810
4811 =item EXAMPLE 6
4812
4813 =item New Things in this Example
4814
4815 =item EXAMPLE 7 (Coming Soon)
4816
4817 =item EXAMPLE 8 (Coming Soon)
4818
4819 =item EXAMPLE 9 Passing open files to XSes
4820
4821 =item Troubleshooting these Examples
4822
4823 =back
4824
4825 =item See also
4826
4827 =item Author
4828
4829 =over 4
4830
4831 =item Last Changed
4832
4833 =back
4834
4835 =back
4836
4837 =head2 perlxs - XS language reference manual
4838
4839 =over 4
4840
4841 =item DESCRIPTION
4842
4843 =over 4
4844
4845 =item Introduction
4846
4847 =item On The Road
4848
4849 =item The Anatomy of an XSUB
4850
4851 =item The Argument Stack
4852
4853 =item The RETVAL Variable
4854
4855 =item Returning SVs, AVs and HVs through RETVAL
4856
4857 =item The MODULE Keyword
4858
4859 =item The PACKAGE Keyword
4860
4861 =item The PREFIX Keyword
4862
4863 =item The OUTPUT: Keyword
4864
4865 =item The NO_OUTPUT Keyword
4866
4867 =item The CODE: Keyword
4868
4869 =item The INIT: Keyword
4870
4871 =item The NO_INIT Keyword
4872
4873 =item Initializing Function Parameters
4874
4875 =item Default Parameter Values
4876
4877 =item The PREINIT: Keyword
4878
4879 =item The SCOPE: Keyword
4880
4881 =item The INPUT: Keyword
4882
4883 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
4884
4885 =item The C<length(NAME)> Keyword
4886
4887 =item Variable-length Parameter Lists
4888
4889 =item The C_ARGS: Keyword
4890
4891 =item The PPCODE: Keyword
4892
4893 =item Returning Undef And Empty Lists
4894
4895 =item The REQUIRE: Keyword
4896
4897 =item The CLEANUP: Keyword
4898
4899 =item The POSTCALL: Keyword
4900
4901 =item The BOOT: Keyword
4902
4903 =item The VERSIONCHECK: Keyword
4904
4905 =item The PROTOTYPES: Keyword
4906
4907 =item The PROTOTYPE: Keyword
4908
4909 =item The ALIAS: Keyword
4910
4911 =item The OVERLOAD: Keyword
4912
4913 =item The FALLBACK: Keyword
4914
4915 =item The INTERFACE: Keyword
4916
4917 =item The INTERFACE_MACRO: Keyword
4918
4919 =item The INCLUDE: Keyword
4920
4921 =item The CASE: Keyword
4922
4923 =item The & Unary Operator
4924
4925 =item Inserting POD, Comments and C Preprocessor Directives
4926
4927 =item Using XS With C++
4928
4929 =item Interface Strategy
4930
4931 =item Perl Objects And C Structures
4932
4933 =item The Typemap
4934
4935 =item Safely Storing Static Data in XS
4936
4937 MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT,
4938 aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl),
4939 dMY_CXT_INTERP(my_perl)
4940
4941 =back
4942
4943 =item EXAMPLES
4944
4945 =item XS VERSION
4946
4947 =item AUTHOR
4948
4949 =back
4950
4951 =head2 perlclib - Internal replacements for standard C library functions
4952
4953 =over 4
4954
4955 =item DESCRIPTION
4956
4957 =over 4
4958
4959 =item Conventions
4960
4961 C<t>, C<p>, C<n>, C<s>
4962
4963 =item File Operations
4964
4965 =item File Input and Output
4966
4967 =item File Positioning
4968
4969 =item Memory Management and String Handling
4970
4971 =item Character Class Tests
4972
4973 =item F<stdlib.h> functions
4974
4975 =item Miscellaneous functions
4976
4977 =back
4978
4979 =item SEE ALSO
4980
4981 =back
4982
4983 =head2 perlguts - Introduction to the Perl API
4984
4985 =over 4
4986
4987 =item DESCRIPTION
4988
4989 =item Variables
4990
4991 =over 4
4992
4993 =item Datatypes
4994
4995 =item What is an "IV"?
4996
4997 =item Working with SVs
4998
4999 =item Offsets
5000
5001 =item What's Really Stored in an SV?
5002
5003 =item Working with AVs
5004
5005 =item Working with HVs
5006
5007 =item Hash API Extensions
5008
5009 =item AVs, HVs and undefined values
5010
5011 =item References
5012
5013 =item Blessed References and Class Objects
5014
5015 =item Creating New Variables
5016
5017 GV_ADDMULTI, GV_ADDWARN
5018
5019 =item Reference Counts and Mortality
5020
5021 =item Stashes and Globs
5022
5023 =item Double-Typed SVs
5024
5025 =item Magic Variables
5026
5027 =item Assigning Magic
5028
5029 =item Magic Virtual Tables
5030
5031 =item Finding Magic
5032
5033 =item Understanding the Magic of Tied Hashes and Arrays
5034
5035 =item Localizing changes
5036
5037 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
5038 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV
5039 *sv)>, C<SAVEFREEOP(OP *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>,
5040 C<SAVEDELETE(HV *hv, char *key, I32 length)>,
5041 C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
5042 C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>, C<SV*
5043 save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV *gv)>,
5044 C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32 maxsarg)>,
5045 C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>, C<void
5046 save_hptr(HV **hptr)>
5047
5048 =back
5049
5050 =item Subroutines
5051
5052 =over 4
5053
5054 =item XSUBs and the Argument Stack
5055
5056 =item Calling Perl Routines from within C Programs
5057
5058 =item Memory Allocation
5059
5060 =item PerlIO
5061
5062 =item Putting a C value on Perl stack
5063
5064 =item Scratchpads
5065
5066 =item Scratchpads and recursion
5067
5068 =back
5069
5070 =item Compiled code
5071
5072 =over 4
5073
5074 =item Code tree
5075
5076 =item Examining the tree
5077
5078 =item Compile pass 1: check routines
5079
5080 =item Compile pass 1a: constant folding
5081
5082 =item Compile pass 2: context propagation
5083
5084 =item Compile pass 3: peephole optimization
5085
5086 =item Pluggable runops
5087
5088 =back
5089
5090 =item Examining internal data structures with the C<dump> functions
5091
5092 =item How multiple interpreters and concurrency are supported
5093
5094 =over 4
5095
5096 =item Background and PERL_IMPLICIT_CONTEXT
5097
5098 =item So what happened to dTHR?
5099
5100 =item How do I use all this in extensions?
5101
5102 =item Should I do anything special if I call perl from multiple threads?
5103
5104 =item Future Plans and PERL_IMPLICIT_SYS
5105
5106 =back
5107
5108 =item Internal Functions
5109
5110 A, p, d, s, n, r, f, M, o, x, m, X, E, b
5111
5112 =over 4
5113
5114 =item Formatted Printing of IVs, UVs, and NVs
5115
5116 =item Pointer-To-Integer and Integer-To-Pointer
5117
5118 =item Exception Handling
5119
5120 =item Source Documentation
5121
5122 =item Backwards compatibility
5123
5124 =back
5125
5126 =item Unicode Support
5127
5128 =over 4
5129
5130 =item What B<is> Unicode, anyway?
5131
5132 =item How can I recognise a UTF-8 string?
5133
5134 =item How does UTF-8 represent Unicode characters?
5135
5136 =item How does Perl store UTF-8 strings?
5137
5138 =item How do I convert a string to UTF-8?
5139
5140 =item Is there anything else I need to know?
5141
5142 =back
5143
5144 =item Custom Operators
5145
5146 =item AUTHORS
5147
5148 =item SEE ALSO
5149
5150 =back
5151
5152 =head2 perlcall - Perl calling conventions from C
5153
5154 =over 4
5155
5156 =item DESCRIPTION
5157
5158 An Error Handler, An Event Driven Program
5159
5160 =item THE CALL_ FUNCTIONS
5161
5162 call_sv, call_pv, call_method, call_argv
5163
5164 =item FLAG VALUES
5165
5166 =over 4
5167
5168 =item  G_VOID
5169
5170 =item  G_SCALAR
5171
5172 =item G_ARRAY
5173
5174 =item G_DISCARD
5175
5176 =item G_NOARGS
5177
5178 =item G_EVAL
5179
5180 =item G_KEEPERR
5181
5182 =item Determining the Context
5183
5184 =back
5185
5186 =item EXAMPLES
5187
5188 =over 4
5189
5190 =item No Parameters, Nothing returned
5191
5192 =item Passing Parameters
5193
5194 =item Returning a Scalar
5195
5196 =item Returning a list of values
5197
5198 =item Returning a list in a scalar context
5199
5200 =item Returning Data from Perl via the parameter list
5201
5202 =item Using G_EVAL
5203
5204 =item Using G_KEEPERR
5205
5206 =item Using call_sv
5207
5208 =item Using call_argv
5209
5210 =item Using call_method
5211
5212 =item Using GIMME_V
5213
5214 =item Using Perl to dispose of temporaries
5215
5216 =item Strategies for storing Callback Context Information
5217
5218 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
5219 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
5220 callback
5221
5222 =item Alternate Stack Manipulation
5223
5224 =item Creating and calling an anonymous subroutine in C
5225
5226 =back
5227
5228 =item LIGHTWEIGHT CALLBACKS
5229
5230 =item SEE ALSO
5231
5232 =item AUTHOR
5233
5234 =item DATE
5235
5236 =back
5237
5238 =head2 perlapi - autogenerated documentation for the perl public API
5239
5240 =over 4
5241
5242 =item DESCRIPTION
5243 X<Perl API> X<API> X<api>
5244
5245 =item "Gimme" Values
5246
5247 GIMME X<GIMME>, GIMME_V X<GIMME_V>, G_ARRAY X<G_ARRAY>, G_DISCARD
5248 X<G_DISCARD>, G_EVAL X<G_EVAL>, G_NOARGS X<G_NOARGS>, G_SCALAR X<G_SCALAR>,
5249 G_VOID X<G_VOID>
5250
5251 =item Array Manipulation Functions
5252
5253 AvFILL X<AvFILL>, av_clear X<av_clear>, av_delete X<av_delete>, av_exists
5254 X<av_exists>, av_extend X<av_extend>, av_fetch X<av_fetch>, av_fill
5255 X<av_fill>, av_len X<av_len>, av_make X<av_make>, av_pop X<av_pop>, av_push
5256 X<av_push>, av_shift X<av_shift>, av_store X<av_store>, av_undef
5257 X<av_undef>, av_unshift X<av_unshift>, get_av X<get_av>, newAV X<newAV>,
5258 sortsv X<sortsv>, sortsv_flags X<sortsv_flags>
5259
5260 =item Callback Functions
5261
5262 call_argv X<call_argv>, call_method X<call_method>, call_pv X<call_pv>,
5263 call_sv X<call_sv>, ENTER X<ENTER>, eval_pv X<eval_pv>, eval_sv X<eval_sv>,
5264 FREETMPS X<FREETMPS>, LEAVE X<LEAVE>, SAVETMPS X<SAVETMPS>
5265
5266 =item Character classes
5267
5268 isALNUM X<isALNUM>, isALPHA X<isALPHA>, isDIGIT X<isDIGIT>, isLOWER
5269 X<isLOWER>, isSPACE X<isSPACE>, isUPPER X<isUPPER>, toLOWER X<toLOWER>,
5270 toUPPER X<toUPPER>
5271
5272 =item Cloning an interpreter
5273
5274 perl_clone X<perl_clone>
5275
5276 =item CV Manipulation Functions
5277
5278 CvSTASH X<CvSTASH>, get_cv X<get_cv>
5279
5280 =item Embedding Functions
5281
5282 cv_undef X<cv_undef>, load_module X<load_module>, nothreadhook
5283 X<nothreadhook>, perl_alloc X<perl_alloc>, perl_construct
5284 X<perl_construct>, perl_destruct X<perl_destruct>, perl_free X<perl_free>,
5285 perl_parse X<perl_parse>, perl_run X<perl_run>, require_pv X<require_pv>
5286
5287 =item Functions in file mathoms.c
5288
5289 gv_fetchmethod X<gv_fetchmethod>, sv_2pvbyte_nolen X<sv_2pvbyte_nolen>,
5290 sv_2pvutf8_nolen X<sv_2pvutf8_nolen>, sv_2pv_nolen X<sv_2pv_nolen>,
5291 sv_catpvn_mg X<sv_catpvn_mg>, sv_catsv_mg X<sv_catsv_mg>, sv_force_normal
5292 X<sv_force_normal>, sv_iv X<sv_iv>, sv_nolocking X<sv_nolocking>,
5293 sv_nounlocking X<sv_nounlocking>, sv_nv X<sv_nv>, sv_pv X<sv_pv>, sv_pvbyte
5294 X<sv_pvbyte>, sv_pvbyten X<sv_pvbyten>, sv_pvn X<sv_pvn>, sv_pvutf8
5295 X<sv_pvutf8>, sv_pvutf8n X<sv_pvutf8n>, sv_taint X<sv_taint>, sv_unref
5296 X<sv_unref>, sv_uv X<sv_uv>
5297
5298 =item Functions in file pp_pack.c
5299
5300 packlist X<packlist>, pack_cat X<pack_cat>, unpackstring X<unpackstring>,
5301 unpack_str X<unpack_str>
5302
5303 =item Global Variables
5304
5305 PL_modglobal X<PL_modglobal>, PL_na X<PL_na>, PL_sv_no X<PL_sv_no>,
5306 PL_sv_undef X<PL_sv_undef>, PL_sv_yes X<PL_sv_yes>
5307
5308 =item GV Functions
5309
5310 GvSV X<GvSV>, gv_const_sv X<gv_const_sv>, gv_fetchmeth X<gv_fetchmeth>,
5311 gv_fetchmethod_autoload X<gv_fetchmethod_autoload>, gv_fetchmeth_autoload
5312 X<gv_fetchmeth_autoload>, gv_stashpv X<gv_stashpv>, gv_stashpvn
5313 X<gv_stashpvn>, gv_stashsv X<gv_stashsv>
5314
5315 =item Handy Values
5316
5317 Nullav X<Nullav>, Nullch X<Nullch>, Nullcv X<Nullcv>, Nullhv X<Nullhv>,
5318 Nullsv X<Nullsv>
5319
5320 =item Hash Manipulation Functions
5321
5322 get_hv X<get_hv>, HEf_SVKEY X<HEf_SVKEY>, HeHASH X<HeHASH>, HeKEY X<HeKEY>,
5323 HeKLEN X<HeKLEN>, HePV X<HePV>, HeSVKEY X<HeSVKEY>, HeSVKEY_force
5324 X<HeSVKEY_force>, HeSVKEY_set X<HeSVKEY_set>, HeVAL X<HeVAL>, HvNAME
5325 X<HvNAME>, hv_assert X<hv_assert>, hv_clear X<hv_clear>,
5326 hv_clear_placeholders X<hv_clear_placeholders>, hv_delete X<hv_delete>,
5327 hv_delete_ent X<hv_delete_ent>, hv_exists X<hv_exists>, hv_exists_ent
5328 X<hv_exists_ent>, hv_fetch X<hv_fetch>, hv_fetch_ent X<hv_fetch_ent>,
5329 hv_iterinit X<hv_iterinit>, hv_iterkey X<hv_iterkey>, hv_iterkeysv
5330 X<hv_iterkeysv>, hv_iternext X<hv_iternext>, hv_iternextsv
5331 X<hv_iternextsv>, hv_iternext_flags X<hv_iternext_flags>, hv_iterval
5332 X<hv_iterval>, hv_magic X<hv_magic>, hv_scalar X<hv_scalar>, hv_store
5333 X<hv_store>, hv_store_ent X<hv_store_ent>, hv_undef X<hv_undef>, newHV
5334 X<newHV>
5335
5336 =item Magical Functions
5337
5338 mg_clear X<mg_clear>, mg_copy X<mg_copy>, mg_find X<mg_find>, mg_free
5339 X<mg_free>, mg_get X<mg_get>, mg_length X<mg_length>, mg_magical
5340 X<mg_magical>, mg_set X<mg_set>, SvGETMAGIC X<SvGETMAGIC>, SvLOCK
5341 X<SvLOCK>, SvSETMAGIC X<SvSETMAGIC>, SvSetMagicSV X<SvSetMagicSV>,
5342 SvSetMagicSV_nosteal X<SvSetMagicSV_nosteal>, SvSetSV X<SvSetSV>,
5343 SvSetSV_nosteal X<SvSetSV_nosteal>, SvSHARE X<SvSHARE>, SvUNLOCK
5344 X<SvUNLOCK>
5345
5346 =item Memory Management
5347
5348 Copy X<Copy>, CopyD X<CopyD>, Move X<Move>, MoveD X<MoveD>, Newx X<Newx>,
5349 Newxc X<Newxc>, Newxz X<Newxz>, Poison X<Poison>, Renew X<Renew>, Renewc
5350 X<Renewc>, Safefree X<Safefree>, savepv X<savepv>, savepvn X<savepvn>,
5351 savesharedpv X<savesharedpv>, savesvpv X<savesvpv>, StructCopy
5352 X<StructCopy>, Zero X<Zero>, ZeroD X<ZeroD>
5353
5354 =item Miscellaneous Functions
5355
5356 fbm_compile X<fbm_compile>, fbm_instr X<fbm_instr>, form X<form>, getcwd_sv
5357 X<getcwd_sv>, my_sprintf X<my_sprintf>, new_version X<new_version>,
5358 scan_version X<scan_version>, strEQ X<strEQ>, strGE X<strGE>, strGT
5359 X<strGT>, strLE X<strLE>, strLT X<strLT>, strNE X<strNE>, strnEQ X<strnEQ>,
5360 strnNE X<strnNE>, sv_nosharing X<sv_nosharing>, upg_version X<upg_version>,
5361 vcmp X<vcmp>, vnormal X<vnormal>, vnumify X<vnumify>, vstringify
5362 X<vstringify>, vverify X<vverify>
5363
5364 =item Multicall Functions
5365
5366 dMULTICALL X<dMULTICALL>, MULTICALL X<MULTICALL>, POP_MULTICALL
5367 X<POP_MULTICALL>, PUSH_MULTICALL X<PUSH_MULTICALL>
5368
5369 =item Numeric functions
5370
5371 grok_bin X<grok_bin>, grok_hex X<grok_hex>, grok_number X<grok_number>,
5372 grok_numeric_radix X<grok_numeric_radix>, grok_oct X<grok_oct>, scan_bin
5373 X<scan_bin>, scan_hex X<scan_hex>, scan_oct X<scan_oct>
5374
5375 =item Optree Manipulation Functions
5376
5377 cv_const_sv X<cv_const_sv>, newCONSTSUB X<newCONSTSUB>, newXS X<newXS>
5378
5379 =item Pad Data Structures
5380
5381 pad_sv X<pad_sv>
5382
5383 =item Simple Exception Handling Macros
5384
5385 dXCPT X<dXCPT>, XCPT_CATCH X<XCPT_CATCH>, XCPT_RETHROW X<XCPT_RETHROW>,
5386 XCPT_TRY_END X<XCPT_TRY_END>, XCPT_TRY_START X<XCPT_TRY_START>
5387
5388 =item Stack Manipulation Macros
5389
5390 dMARK X<dMARK>, dORIGMARK X<dORIGMARK>, dSP X<dSP>, EXTEND X<EXTEND>, MARK
5391 X<MARK>, mPUSHi X<mPUSHi>, mPUSHn X<mPUSHn>, mPUSHp X<mPUSHp>, mPUSHu
5392 X<mPUSHu>, mXPUSHi X<mXPUSHi>, mXPUSHn X<mXPUSHn>, mXPUSHp X<mXPUSHp>,
5393 mXPUSHu X<mXPUSHu>, ORIGMARK X<ORIGMARK>, POPi X<POPi>, POPl X<POPl>, POPn
5394 X<POPn>, POPp X<POPp>, POPpbytex X<POPpbytex>, POPpx X<POPpx>, POPs
5395 X<POPs>, PUSHi X<PUSHi>, PUSHMARK X<PUSHMARK>, PUSHmortal X<PUSHmortal>,
5396 PUSHn X<PUSHn>, PUSHp X<PUSHp>, PUSHs X<PUSHs>, PUSHu X<PUSHu>, PUTBACK
5397 X<PUTBACK>, SP X<SP>, SPAGAIN X<SPAGAIN>, XPUSHi X<XPUSHi>, XPUSHmortal
5398 X<XPUSHmortal>, XPUSHn X<XPUSHn>, XPUSHp X<XPUSHp>, XPUSHs X<XPUSHs>,
5399 XPUSHu X<XPUSHu>, XSRETURN X<XSRETURN>, XSRETURN_EMPTY X<XSRETURN_EMPTY>,
5400 XSRETURN_IV X<XSRETURN_IV>, XSRETURN_NO X<XSRETURN_NO>, XSRETURN_NV
5401 X<XSRETURN_NV>, XSRETURN_PV X<XSRETURN_PV>, XSRETURN_UNDEF
5402 X<XSRETURN_UNDEF>, XSRETURN_UV X<XSRETURN_UV>, XSRETURN_YES
5403 X<XSRETURN_YES>, XST_mIV X<XST_mIV>, XST_mNO X<XST_mNO>, XST_mNV
5404 X<XST_mNV>, XST_mPV X<XST_mPV>, XST_mUNDEF X<XST_mUNDEF>, XST_mYES
5405 X<XST_mYES>
5406
5407 =item SV Flags
5408
5409 svtype X<svtype>, SVt_IV X<SVt_IV>, SVt_NV X<SVt_NV>, SVt_PV X<SVt_PV>,
5410 SVt_PVAV X<SVt_PVAV>, SVt_PVCV X<SVt_PVCV>, SVt_PVHV X<SVt_PVHV>, SVt_PVMG
5411 X<SVt_PVMG>
5412
5413 =item SV Manipulation Functions
5414
5415 get_sv X<get_sv>, looks_like_number X<looks_like_number>, newRV_inc
5416 X<newRV_inc>, newRV_noinc X<newRV_noinc>, NEWSV X<NEWSV>, newSV X<newSV>,
5417 newSVhek X<newSVhek>, newSViv X<newSViv>, newSVnv X<newSVnv>, newSVpv
5418 X<newSVpv>, newSVpvf X<newSVpvf>, newSVpvn X<newSVpvn>, newSVpvn_share
5419 X<newSVpvn_share>, newSVrv X<newSVrv>, newSVsv X<newSVsv>, newSVuv
5420 X<newSVuv>, SvCUR X<SvCUR>, SvCUR_set X<SvCUR_set>, SvEND X<SvEND>, SvGROW
5421 X<SvGROW>, SvIOK X<SvIOK>, SvIOKp X<SvIOKp>, SvIOK_notUV X<SvIOK_notUV>,
5422 SvIOK_off X<SvIOK_off>, SvIOK_on X<SvIOK_on>, SvIOK_only X<SvIOK_only>,
5423 SvIOK_only_UV X<SvIOK_only_UV>, SvIOK_UV X<SvIOK_UV>, SvIsCOW X<SvIsCOW>,
5424 SvIsCOW_shared_hash X<SvIsCOW_shared_hash>, SvIV X<SvIV>, SvIVX X<SvIVX>,
5425 SvIVx X<SvIVx>, SvIV_nomg X<SvIV_nomg>, SvIV_set X<SvIV_set>, SvLEN
5426 X<SvLEN>, SvLEN_set X<SvLEN_set>, SvMAGIC_set X<SvMAGIC_set>, SvNIOK
5427 X<SvNIOK>, SvNIOKp X<SvNIOKp>, SvNIOK_off X<SvNIOK_off>, SvNOK X<SvNOK>,
5428 SvNOKp X<SvNOKp>, SvNOK_off X<SvNOK_off>, SvNOK_on X<SvNOK_on>, SvNOK_only
5429 X<SvNOK_only>, SvNV X<SvNV>, SvNVX X<SvNVX>, SvNVx X<SvNVx>, SvNV_set
5430 X<SvNV_set>, SvOK X<SvOK>, SvOOK X<SvOOK>, SvPOK X<SvPOK>, SvPOKp
5431 X<SvPOKp>, SvPOK_off X<SvPOK_off>, SvPOK_on X<SvPOK_on>, SvPOK_only
5432 X<SvPOK_only>, SvPOK_only_UTF8 X<SvPOK_only_UTF8>, SvPV X<SvPV>, SvPVbyte
5433 X<SvPVbyte>, SvPVbytex X<SvPVbytex>, SvPVbytex_force X<SvPVbytex_force>,
5434 SvPVbyte_force X<SvPVbyte_force>, SvPVbyte_nolen X<SvPVbyte_nolen>,
5435 SvPVutf8 X<SvPVutf8>, SvPVutf8x X<SvPVutf8x>, SvPVutf8x_force
5436 X<SvPVutf8x_force>, SvPVutf8_force X<SvPVutf8_force>, SvPVutf8_nolen
5437 X<SvPVutf8_nolen>, SvPVX X<SvPVX>, SvPVx X<SvPVx>, SvPV_force
5438 X<SvPV_force>, SvPV_force_nomg X<SvPV_force_nomg>, SvPV_nolen
5439 X<SvPV_nolen>, SvPV_nomg X<SvPV_nomg>, SvPV_set X<SvPV_set>, SvREFCNT
5440 X<SvREFCNT>, SvREFCNT_dec X<SvREFCNT_dec>, SvREFCNT_inc X<SvREFCNT_inc>,
5441 SvROK X<SvROK>, SvROK_off X<SvROK_off>, SvROK_on X<SvROK_on>, SvRV X<SvRV>,
5442 SvRV_set X<SvRV_set>, SvSTASH X<SvSTASH>, SvSTASH_set X<SvSTASH_set>,
5443 SvTAINT X<SvTAINT>, SvTAINTED X<SvTAINTED>, SvTAINTED_off X<SvTAINTED_off>,
5444 SvTAINTED_on X<SvTAINTED_on>, SvTRUE X<SvTRUE>, SvTYPE X<SvTYPE>, SvUOK
5445 X<SvUOK>, SvUPGRADE X<SvUPGRADE>, SvUTF8 X<SvUTF8>, SvUTF8_off
5446 X<SvUTF8_off>, SvUTF8_on X<SvUTF8_on>, SvUV X<SvUV>, SvUVX X<SvUVX>, SvUVx
5447 X<SvUVx>, SvUV_nomg X<SvUV_nomg>, SvUV_set X<SvUV_set>, SvVOK X<SvVOK>,
5448 sv_2bool X<sv_2bool>, sv_2cv X<sv_2cv>, sv_2io X<sv_2io>, sv_2iv_flags
5449 X<sv_2iv_flags>, sv_2mortal X<sv_2mortal>, sv_2nv X<sv_2nv>, sv_2pvbyte
5450 X<sv_2pvbyte>, sv_2pvutf8 X<sv_2pvutf8>, sv_2pv_flags X<sv_2pv_flags>,
5451 sv_2uv_flags X<sv_2uv_flags>, sv_backoff X<sv_backoff>, sv_bless
5452 X<sv_bless>, sv_catpv X<sv_catpv>, sv_catpvf X<sv_catpvf>, sv_catpvf_mg
5453 X<sv_catpvf_mg>, sv_catpvn X<sv_catpvn>, sv_catpvn_flags
5454 X<sv_catpvn_flags>, sv_catpvn_nomg X<sv_catpvn_nomg>, sv_catpv_mg
5455 X<sv_catpv_mg>, sv_catsv X<sv_catsv>, sv_catsv_flags X<sv_catsv_flags>,
5456 sv_catsv_nomg X<sv_catsv_nomg>, sv_chop X<sv_chop>, sv_clear X<sv_clear>,
5457 sv_cmp X<sv_cmp>, sv_cmp_locale X<sv_cmp_locale>, sv_collxfrm
5458 X<sv_collxfrm>, sv_copypv X<sv_copypv>, sv_dec X<sv_dec>, sv_derived_from
5459 X<sv_derived_from>, sv_eq X<sv_eq>, sv_force_normal_flags
5460 X<sv_force_normal_flags>, sv_free X<sv_free>, sv_gets X<sv_gets>, sv_grow
5461 X<sv_grow>, sv_inc X<sv_inc>, sv_insert X<sv_insert>, sv_isa X<sv_isa>,
5462 sv_isobject X<sv_isobject>, sv_len X<sv_len>, sv_len_utf8 X<sv_len_utf8>,
5463 sv_magic X<sv_magic>, sv_magicext X<sv_magicext>, sv_mortalcopy
5464 X<sv_mortalcopy>, sv_newmortal X<sv_newmortal>, sv_newref X<sv_newref>,
5465 sv_pos_b2u X<sv_pos_b2u>, sv_pos_u2b X<sv_pos_u2b>, sv_pvbyten_force
5466 X<sv_pvbyten_force>, sv_pvn_force X<sv_pvn_force>, sv_pvn_force_flags
5467 X<sv_pvn_force_flags>, sv_pvutf8n_force X<sv_pvutf8n_force>, sv_reftype
5468 X<sv_reftype>, sv_replace X<sv_replace>, sv_report_used X<sv_report_used>,
5469 sv_reset X<sv_reset>, sv_rvweaken X<sv_rvweaken>, sv_setiv X<sv_setiv>,
5470 sv_setiv_mg X<sv_setiv_mg>, sv_setnv X<sv_setnv>, sv_setnv_mg
5471 X<sv_setnv_mg>, sv_setpv X<sv_setpv>, sv_setpvf X<sv_setpvf>, sv_setpvf_mg
5472 X<sv_setpvf_mg>, sv_setpviv X<sv_setpviv>, sv_setpviv_mg X<sv_setpviv_mg>,
5473 sv_setpvn X<sv_setpvn>, sv_setpvn_mg X<sv_setpvn_mg>, sv_setpv_mg
5474 X<sv_setpv_mg>, sv_setref_iv X<sv_setref_iv>, sv_setref_nv X<sv_setref_nv>,
5475 sv_setref_pv X<sv_setref_pv>, sv_setref_pvn X<sv_setref_pvn>, sv_setref_uv
5476 X<sv_setref_uv>, sv_setsv X<sv_setsv>, sv_setsv_flags X<sv_setsv_flags>,
5477 sv_setsv_mg X<sv_setsv_mg>, sv_setsv_nomg X<sv_setsv_nomg>, sv_setuv
5478 X<sv_setuv>, sv_setuv_mg X<sv_setuv_mg>, sv_tainted X<sv_tainted>, sv_true
5479 X<sv_true>, sv_unmagic X<sv_unmagic>, sv_unref_flags X<sv_unref_flags>,
5480 sv_untaint X<sv_untaint>, sv_upgrade X<sv_upgrade>, sv_usepvn X<sv_usepvn>,
5481 sv_usepvn_mg X<sv_usepvn_mg>, sv_utf8_decode X<sv_utf8_decode>,
5482 sv_utf8_downgrade X<sv_utf8_downgrade>, sv_utf8_encode X<sv_utf8_encode>,
5483 sv_utf8_upgrade X<sv_utf8_upgrade>, sv_utf8_upgrade_flags
5484 X<sv_utf8_upgrade_flags>, sv_vcatpvf X<sv_vcatpvf>, sv_vcatpvfn
5485 X<sv_vcatpvfn>, sv_vcatpvf_mg X<sv_vcatpvf_mg>, sv_vsetpvf X<sv_vsetpvf>,
5486 sv_vsetpvfn X<sv_vsetpvfn>, sv_vsetpvf_mg X<sv_vsetpvf_mg>
5487
5488 =item Unicode Support
5489
5490 bytes_from_utf8 X<bytes_from_utf8>, bytes_to_utf8 X<bytes_to_utf8>,
5491 ibcmp_utf8 X<ibcmp_utf8>, is_utf8_char X<is_utf8_char>, is_utf8_string
5492 X<is_utf8_string>, is_utf8_string_loc X<is_utf8_string_loc>,
5493 is_utf8_string_loclen X<is_utf8_string_loclen>, pv_uni_display
5494 X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>, sv_recode_to_utf8
5495 X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>, to_utf8_case
5496 X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
5497 X<to_utf8_lower>, to_utf8_title X<to_utf8_title>, to_utf8_upper
5498 X<to_utf8_upper>, utf8n_to_uvchr X<utf8n_to_uvchr>, utf8n_to_uvuni
5499 X<utf8n_to_uvuni>, utf8_distance X<utf8_distance>, utf8_hop X<utf8_hop>,
5500 utf8_length X<utf8_length>, utf8_to_bytes X<utf8_to_bytes>, utf8_to_uvchr
5501 X<utf8_to_uvchr>, utf8_to_uvuni X<utf8_to_uvuni>, uvchr_to_utf8
5502 X<uvchr_to_utf8>, uvuni_to_utf8_flags X<uvuni_to_utf8_flags>
5503
5504 =item Variables created by C<xsubpp> and C<xsubpp> internal functions
5505
5506 ax X<ax>, CLASS X<CLASS>, dAX X<dAX>, dAXMARK X<dAXMARK>, dITEMS X<dITEMS>,
5507 dUNDERBAR X<dUNDERBAR>, dXSARGS X<dXSARGS>, dXSI32 X<dXSI32>, items
5508 X<items>, ix X<ix>, newXSproto X<newXSproto>, RETVAL X<RETVAL>, ST X<ST>,
5509 THIS X<THIS>, UNDERBAR X<UNDERBAR>, XS X<XS>, XS_VERSION X<XS_VERSION>,
5510 XS_VERSION_BOOTCHECK X<XS_VERSION_BOOTCHECK>
5511
5512 =item Warning and Dieing
5513
5514 croak X<croak>, warn X<warn>
5515
5516 =item AUTHORS
5517
5518 =item SEE ALSO
5519
5520 =back
5521
5522 =head2 perlintern - autogenerated documentation of purely B<internal>
5523                  Perl functions
5524
5525 =over 4
5526
5527 =item DESCRIPTION
5528 X<internal Perl functions> X<interpreter functions>
5529
5530 =item CV reference counts and CvOUTSIDE
5531
5532 CvWEAKOUTSIDE X<CvWEAKOUTSIDE>
5533
5534 =item Functions in file pad.h
5535
5536 CX_CURPAD_SAVE X<CX_CURPAD_SAVE>, CX_CURPAD_SV X<CX_CURPAD_SV>, PAD_BASE_SV
5537 X<PAD_BASE_SV>, PAD_CLONE_VARS X<PAD_CLONE_VARS>, PAD_COMPNAME_FLAGS
5538 X<PAD_COMPNAME_FLAGS>, PAD_COMPNAME_GEN X<PAD_COMPNAME_GEN>,
5539 PAD_COMPNAME_GEN_set X<PAD_COMPNAME_GEN_set>, PAD_COMPNAME_OURSTASH
5540 X<PAD_COMPNAME_OURSTASH>, PAD_COMPNAME_PV X<PAD_COMPNAME_PV>,
5541 PAD_COMPNAME_TYPE X<PAD_COMPNAME_TYPE>, PAD_DUP X<PAD_DUP>,
5542 PAD_RESTORE_LOCAL X<PAD_RESTORE_LOCAL>, PAD_SAVE_LOCAL X<PAD_SAVE_LOCAL>,
5543 PAD_SAVE_SETNULLPAD X<PAD_SAVE_SETNULLPAD>, PAD_SETSV X<PAD_SETSV>,
5544 PAD_SET_CUR X<PAD_SET_CUR>, PAD_SET_CUR_NOSAVE X<PAD_SET_CUR_NOSAVE>,
5545 PAD_SV X<PAD_SV>, PAD_SVl X<PAD_SVl>, SAVECLEARSV X<SAVECLEARSV>,
5546 SAVECOMPPAD X<SAVECOMPPAD>, SAVEPADSV X<SAVEPADSV>
5547
5548 =item Functions in file pp_ctl.c
5549
5550 find_runcv X<find_runcv>
5551
5552 =item Global Variables
5553
5554 PL_DBsingle X<PL_DBsingle>, PL_DBsub X<PL_DBsub>, PL_DBtrace X<PL_DBtrace>,
5555 PL_dowarn X<PL_dowarn>, PL_last_in_gv X<PL_last_in_gv>, PL_ofs_sv
5556 X<PL_ofs_sv>, PL_rs X<PL_rs>
5557
5558 =item GV Functions
5559
5560 is_gv_magical X<is_gv_magical>, is_gv_magical_sv X<is_gv_magical_sv>
5561
5562 =item IO Functions
5563
5564 start_glob X<start_glob>
5565
5566 =item Magical Functions
5567
5568 mg_localize X<mg_localize>
5569
5570 =item Pad Data Structures
5571
5572 CvPADLIST X<CvPADLIST>, cv_clone X<cv_clone>, cv_dump X<cv_dump>,
5573 do_dump_pad X<do_dump_pad>, intro_my X<intro_my>, pad_add_anon
5574 X<pad_add_anon>, pad_add_name X<pad_add_name>, pad_alloc X<pad_alloc>,
5575 pad_block_start X<pad_block_start>, pad_check_dup X<pad_check_dup>,
5576 pad_findlex X<pad_findlex>, pad_findmy X<pad_findmy>, pad_fixup_inner_anons
5577 X<pad_fixup_inner_anons>, pad_free X<pad_free>, pad_leavemy X<pad_leavemy>,
5578 pad_new X<pad_new>, pad_push X<pad_push>, pad_reset X<pad_reset>, pad_setsv
5579 X<pad_setsv>, pad_swipe X<pad_swipe>, pad_tidy X<pad_tidy>, pad_undef
5580 X<pad_undef>
5581
5582 =item Stack Manipulation Macros
5583
5584 djSP X<djSP>, LVRET X<LVRET>
5585
5586 =item SV Manipulation Functions
5587
5588 sv_add_arena X<sv_add_arena>, sv_clean_all X<sv_clean_all>, sv_clean_objs
5589 X<sv_clean_objs>, sv_free_arenas X<sv_free_arenas>
5590
5591 =item Unicode Support
5592
5593 find_uninit_var X<find_uninit_var>, report_uninit X<report_uninit>
5594
5595 =item AUTHORS
5596
5597 =item SEE ALSO
5598
5599 =back
5600
5601 =head2 perliol - C API for Perl's implementation of IO in Layers.
5602
5603 =over 4
5604
5605 =item SYNOPSIS
5606
5607 =item DESCRIPTION
5608
5609 =over 4
5610