This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add the perl581delta manpage.
[perl5.git] / pod / perltoc.pod
CommitLineData
cb1a09d0 1
d53e588d
JH
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.
d53e588d 5
cb1a09d0
AD
6=head1 NAME
7
8perltoc - perl documentation table of contents
9
10=head1 DESCRIPTION
11
12This page provides a brief table of contents for the rest of the Perl
28757baa 13documentation set. It is meant to be scanned quickly or grepped
402d0d99 14through to locate the proper section you're looking for.
cb1a09d0
AD
15
16=head1 BASIC DOCUMENTATION
17
cb1a09d0
AD
18=head2 perl - Practical Extraction and Report Language
19
d420ca49 20=over 4
a45bd81d 21
cb1a09d0
AD
22=item SYNOPSIS
23
69fba242
JH
24=over 4
25
26=item Overview
27
28=item Tutorials
29
cb52f95f
JH
30=item Reference Manual
31
69fba242
JH
32=item Internals and C Language Interface
33
34=item Miscellaneous
35
d8416318
JH
36=item Language-Specific
37
69fba242
JH
38=item Platform-Specific
39
40=back
41
cb1a09d0
AD
42=item DESCRIPTION
43
14218588 44=item AVAILABILITY
cb1a09d0
AD
45
46=item ENVIRONMENT
47
cb1a09d0
AD
48=item AUTHOR
49
cb1a09d0
AD
50=item FILES
51
cb1a09d0
AD
52=item SEE ALSO
53
cb1a09d0
AD
54=item DIAGNOSTICS
55
cb1a09d0
AD
56=item BUGS
57
cb1a09d0
AD
58=item NOTES
59
a45bd81d
GS
60=back
61
10151d09
JH
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
78Scalars, Arrays, Hashes
79
80=item Variable scoping
81
82=item Conditional and looping constructs
83
84if, while, for, foreach
85
86=item Builtin operators and functions
87
88Arithmetic, Numeric comparison, String comparison, Boolean logic,
89Miscellaneous
90
91=item Files and I/O
92
93=item Regular expressions
94
95Simple matching, Simple substitution, More complex regular expressions,
96Parentheses 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
41630250 110=head2 perlreftut - Mark's very short tutorial about references
68dc0745 111
d420ca49 112=over 4
a45bd81d 113
68dc0745
PP
114=item DESCRIPTION
115
41630250
JH
116=item Who Needs Complicated Data Structures?
117
118=item The Solution
119
120=item Syntax
121
983dbef6 122=over 4
68dc0745 123
41630250 124=item Making References
68dc0745 125
41630250 126=item Using References
68dc0745 127
41630250
JH
128=item An Example
129
130=item Arrow Rule
68dc0745 131
2a551100 132=back
68dc0745 133
41630250 134=item Solution
68dc0745 135
41630250
JH
136=item The Rest
137
138=item Summary
139
140=item Credits
68dc0745 141
2a551100 142=over 4
68dc0745 143
41630250 144=item Distribution Conditions
68dc0745 145
41630250 146=back
68dc0745 147
a45bd81d
GS
148=back
149
41630250 150=head2 perldsc - Perl Data Structures Cookbook
68dc0745 151
41630250 152=over 4
a45bd81d 153
41630250 154=item DESCRIPTION
68dc0745 155
41630250
JH
156arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
157more elaborate constructs
68dc0745 158
41630250 159=item REFERENCES
68dc0745 160
41630250 161=item COMMON MISTAKES
68dc0745 162
41630250 163=item CAVEAT ON PRECEDENCE
68dc0745 164
41630250 165=item WHY YOU SHOULD ALWAYS C<use strict>
68dc0745 166
41630250 167=item DEBUGGING
983dbef6 168
41630250 169=item CODE EXAMPLES
983dbef6 170
41630250 171=item ARRAYS OF ARRAYS
68dc0745 172
41630250 173=over 4
68dc0745 174
41630250 175=item Declaration of an ARRAY OF ARRAYS
983dbef6 176
41630250
JH
177=item Generation of an ARRAY OF ARRAYS
178
179=item Access and Printing of an ARRAY OF ARRAYS
983dbef6 180
4755096e 181=back
68dc0745 182
41630250 183=item HASHES OF ARRAYS
68dc0745 184
d420ca49 185=over 4
68dc0745 186
41630250
JH
187=item Declaration of a HASH OF ARRAYS
188
189=item Generation of a HASH OF ARRAYS
190
191=item Access and Printing of a HASH OF ARRAYS
68dc0745 192
a45bd81d
GS
193=back
194
41630250 195=item ARRAYS OF HASHES
a45bd81d 196
d420ca49 197=over 4
68dc0745 198
41630250 199=item Declaration of an ARRAY OF HASHES
68dc0745 200
41630250 201=item Generation of an ARRAY OF HASHES
68dc0745 202
41630250 203=item Access and Printing of an ARRAY OF HASHES
68dc0745 204
41630250 205=back
0d53b15f 206
41630250 207=item HASHES OF HASHES
68dc0745 208
41630250 209=over 4
3fe9a6f1 210
41630250 211=item Declaration of a HASH OF HASHES
68dc0745 212
41630250 213=item Generation of a HASH OF HASHES
68dc0745 214
41630250 215=item Access and Printing of a HASH OF HASHES
68dc0745 216
41630250 217=back
68dc0745 218
41630250 219=item MORE ELABORATE RECORDS
68dc0745 220
41630250 221=over 4
68dc0745 222
41630250
JH
223=item Declaration of MORE ELABORATE RECORDS
224
225=item Declaration of a HASH OF COMPLEX RECORDS
226
227=item Generation of a HASH OF COMPLEX RECORDS
68dc0745 228
4755096e 229=back
68dc0745 230
41630250
JH
231=item Database Ties
232
233=item SEE ALSO
234
235=item AUTHOR
236
4755096e 237=back
193fb0af 238
41630250 239=head2 perllol - Manipulating Arrays of Arrays in Perl
68dc0745 240
d420ca49 241=over 4
68dc0745 242
4755096e 243=item DESCRIPTION
68dc0745 244
d420ca49 245=over 4
68dc0745 246
41630250 247=item Declaration and Access of Arrays of Arrays
4755096e 248
41630250 249=item Growing Your Own
4755096e 250
41630250 251=item Access and Printing
8b9c797b 252
4755096e
GS
253=item Slices
254
68dc0745
PP
255=back
256
4755096e 257=item SEE ALSO
68dc0745 258
41630250
JH
259=item AUTHOR
260
a45bd81d
GS
261=back
262
41630250 263=head2 perlrequick - Perl regular expressions quick start
68dc0745 264
d420ca49 265=over 4
a45bd81d 266
68dc0745
PP
267=item DESCRIPTION
268
41630250
JH
269=item The Guide
270
d420ca49 271=over 4
68dc0745 272
41630250 273=item Simple word matching
68dc0745 274
41630250 275=item Using character classes
68dc0745 276
41630250 277=item Matching this or that
68dc0745 278
41630250 279=item Grouping things and hierarchical matching
68dc0745 280
41630250 281=item Extracting matches
68dc0745 282
41630250 283=item Matching repetitions
68dc0745 284
41630250 285=item More matching
68dc0745 286
41630250 287=item Search and replace
68dc0745 288
41630250 289=item The split operator
14218588 290
41630250 291=back
68dc0745 292
41630250 293=item BUGS
68dc0745 294
41630250 295=item SEE ALSO
68dc0745 296
41630250 297=item AUTHOR AND COPYRIGHT
68dc0745 298
41630250 299=over 4
68dc0745 300
41630250 301=item Acknowledgments
68dc0745 302
41630250 303=back
68dc0745 304
41630250 305=back
2a551100 306
41630250 307=head2 perlretut - Perl regular expressions tutorial
68dc0745 308
41630250 309=over 4
68dc0745 310
41630250 311=item DESCRIPTION
68dc0745 312
41630250 313=item Part 1: The basics
68dc0745 314
41630250 315=over 4
68dc0745 316
41630250 317=item Simple word matching
68dc0745 318
41630250 319=item Using character classes
14218588 320
41630250 321=item Matching this or that
68dc0745 322
41630250 323=item Grouping things and hierarchical matching
68dc0745 324
41630250 325=item Extracting matches
68dc0745 326
41630250 327=item Matching repetitions
68dc0745 328
41630250 329=item Building a regexp
68dc0745 330
41630250 331=item Using regular expressions in Perl
68dc0745 332
41630250 333=back
68dc0745 334
41630250 335=item Part 2: Power tools
68dc0745 336
41630250 337=over 4
68dc0745 338
41630250 339=item More on characters, strings, and character classes
68dc0745 340
41630250 341=item Compiling and saving regular expressions
4755096e 342
41630250 343=item Embedding comments and modifiers in a regular expression
4755096e 344
41630250 345=item Non-capturing groupings
4755096e 346
41630250 347=item Looking ahead and looking behind
68dc0745 348
41630250 349=item Using independent subexpressions to prevent backtracking
a45bd81d 350
41630250 351=item Conditional expressions
4755096e 352
41630250 353=item A bit of magic: executing Perl code in a regular expression
c2e66d9e 354
41630250 355=item Pragmas and debugging
c2e66d9e 356
41630250 357=back
c2e66d9e 358
41630250 359=item BUGS
c2e66d9e 360
41630250 361=item SEE ALSO
c2e66d9e 362
41630250 363=item AUTHOR AND COPYRIGHT
c2e66d9e 364
41630250 365=over 4
c2e66d9e 366
41630250 367=item Acknowledgments
c2e66d9e 368
41630250 369=back
c2e66d9e 370
41630250 371=back
23be5fc4 372
41630250 373=head2 perlboot - Beginner's Object-Oriented Tutorial
c2e66d9e 374
41630250 375=over 4
c2e66d9e 376
41630250 377=item DESCRIPTION
c2e66d9e 378
41630250 379=over 4
c2e66d9e 380
41630250 381=item If we could talk to the animals...
c2e66d9e 382
41630250 383=item Introducing the method invocation arrow
c2e66d9e 384
41630250 385=item Invoking a barnyard
c2e66d9e 386
41630250 387=item The extra parameter of method invocation
c2e66d9e 388
41630250 389=item Calling a second method to simplify things
c2e66d9e 390
41630250 391=item Inheriting the windpipes
c2e66d9e 392
41630250 393=item A few notes about @ISA
c2e66d9e 394
41630250 395=item Overriding the methods
c2e66d9e 396
41630250 397=item Starting the search from a different place
c2e66d9e 398
41630250 399=item The SUPER way of doing things
c2e66d9e 400
41630250 401=item Where we're at so far...
c2e66d9e 402
41630250 403=item A horse is a horse, of course of course -- or is it?
c2e66d9e 404
41630250 405=item Invoking an instance method
c2e66d9e 406
41630250 407=item Accessing the instance data
c2e66d9e 408
41630250 409=item How to build a horse
c2e66d9e 410
41630250 411=item Inheriting the constructor
c2e66d9e 412
41630250 413=item Making a method work with either classes or instances
c2e66d9e 414
41630250 415=item Adding parameters to a method
68dc0745 416
41630250 417=item More interesting instances
a45bd81d 418
41630250 419=item A horse of a different color
68dc0745 420
41630250 421=item Summary
4755096e 422
41630250 423=back
4755096e 424
41630250 425=item SEE ALSO
68dc0745 426
41630250 427=item COPYRIGHT
68dc0745 428
41630250 429=back
46fc3d4c 430
41630250 431=head2 perltoot - Tom's object-oriented tutorial for perl
68dc0745 432
41630250 433=over 4
68dc0745 434
41630250 435=item DESCRIPTION
14218588 436
41630250 437=item Creating a Class
2a551100 438
41630250 439=over 4
68dc0745 440
41630250 441=item Object Representation
68dc0745 442
41630250 443=item Class Interface
68dc0745 444
41630250 445=item Constructors and Instance Methods
4755096e 446
41630250 447=item Planning for the Future: Better Constructors
4755096e 448
41630250 449=item Destructors
68dc0745 450
41630250 451=item Other Object Methods
68dc0745 452
4755096e
GS
453=back
454
41630250 455=item Class Data
68dc0745 456
d420ca49 457=over 4
68dc0745 458
41630250 459=item Accessing Class Data
68dc0745 460
41630250 461=item Debugging Methods
68dc0745 462
41630250 463=item Class Destructors
68dc0745 464
41630250 465=item Documenting the Interface
14218588 466
41630250 467=back
68dc0745 468
41630250 469=item Aggregation
68dc0745 470
41630250 471=item Inheritance
68dc0745 472
d420ca49 473=over 4
68dc0745 474
41630250 475=item Overridden Methods
68dc0745 476
41630250 477=item Multiple Inheritance
68dc0745 478
41630250 479=item UNIVERSAL: The Root of All Objects
68dc0745 480
4755096e 481=back
68dc0745 482
41630250 483=item Alternate Object Representations
68dc0745 484
d420ca49 485=over 4
68dc0745 486
41630250 487=item Arrays as Objects
68dc0745 488
41630250 489=item Closures as Objects
68dc0745 490
4755096e 491=back
68dc0745 492
41630250 493=item AUTOLOAD: Proxy Methods
68dc0745 494
d420ca49 495=over 4
68dc0745 496
41630250 497=item Autoloaded Data Methods
68dc0745 498
41630250 499=item Inherited Autoloaded Data Methods
14218588 500
4755096e 501=back
68dc0745 502
41630250 503=item Metaclassical Tools
68dc0745 504
d420ca49 505=over 4
68dc0745 506
41630250 507=item Class::Struct
68dc0745 508
41630250 509=item Data Members as Variables
68dc0745
PP
510
511=back
512
41630250 513=item NOTES
68dc0745 514
d420ca49 515=over 4
68dc0745 516
41630250 517=item Object Terminology
14218588 518
41630250 519=back
68dc0745 520
41630250 521=item SEE ALSO
68dc0745 522
41630250 523=item AUTHOR AND COPYRIGHT
68dc0745 524
41630250 525=item COPYRIGHT
68dc0745 526
41630250 527=over 4
68dc0745 528
41630250 529=item Acknowledgments
14218588 530
4755096e 531=back
68dc0745 532
41630250
JH
533=back
534
535=head2 perltooc - Tom's OO Tutorial for Class Data in Perl
68dc0745 536
d420ca49 537=over 4
68dc0745 538
4755096e 539=item DESCRIPTION
68dc0745 540
41630250
JH
541=item Class Data in a Can
542
543=item Class Data as Package Variables
68dc0745 544
d420ca49 545=over 4
68dc0745 546
41630250 547=item Putting All Your Eggs in One Basket
68dc0745 548
41630250 549=item Inheritance Concerns
68dc0745 550
41630250 551=item The Eponymous Meta-Object
68dc0745 552
41630250 553=item Indirect References to Class Data
68dc0745 554
41630250 555=item Monadic Classes
68dc0745 556
41630250 557=item Translucent Attributes
68dc0745 558
41630250 559=back
68dc0745 560
41630250 561=item Class Data as Lexical Variables
68dc0745 562
41630250 563=over 4
68dc0745 564
41630250 565=item Privacy and Responsibility
68dc0745 566
41630250 567=item File-Scoped Lexicals
68dc0745 568
41630250 569=item More Inheritance Concerns
68dc0745 570
41630250 571=item Locking the Door and Throwing Away the Key
68dc0745 572
41630250 573=item Translucency Revisited
14218588 574
68dc0745
PP
575=back
576
41630250
JH
577=item NOTES
578
579=item SEE ALSO
580
581=item AUTHOR AND COPYRIGHT
582
583=item ACKNOWLEDGEMENTS
584
585=item HISTORY
586
a45bd81d
GS
587=back
588
41630250 589=head2 perlbot - Bag'o Object Tricks (the BOT)
68dc0745 590
d420ca49 591=over 4
a45bd81d 592
68dc0745
PP
593=item DESCRIPTION
594
41630250 595=item OO SCALING TIPS
68dc0745 596
41630250 597=item INSTANCE VARIABLES
8a93676d 598
41630250 599=item SCALAR INSTANCE VARIABLES
68dc0745 600
41630250 601=item INSTANCE VARIABLE INHERITANCE
68dc0745 602
41630250 603=item OBJECT RELATIONSHIPS
8a93676d 604
41630250 605=item OVERRIDING SUPERCLASS METHODS
8a93676d 606
41630250 607=item USING RELATIONSHIP WITH SDBM
68dc0745 608
41630250 609=item THINKING OF CODE REUSE
68dc0745 610
41630250 611=item CLASS CONTEXT AND THE OBJECT
68dc0745 612
41630250 613=item INHERITING A CONSTRUCTOR
8a93676d 614
41630250 615=item DELEGATION
8a93676d
SB
616
617=item SEE ALSO
618
c2e66d9e 619=back
68dc0745 620
41630250 621=head2 perlstyle - Perl style guide
8a93676d
SB
622
623=over 4
624
625=item DESCRIPTION
626
41630250 627=back
8a93676d 628
41630250 629=head2 perlcheat - Perl 5 Cheat Sheet
8a93676d 630
41630250 631=over 4
8a93676d 632
41630250 633=item DESCRIPTION
8a93676d 634
41630250 635=over 4
68dc0745 636
41630250 637=item The sheet
68dc0745 638
c2e66d9e 639=back
68dc0745 640
41630250 641=item ACKNOWLEDGEMENTS
68dc0745 642
41630250 643=item AUTHOR
c2e66d9e 644
41630250 645=item SEE ALSO
68dc0745 646
4755096e 647=back
68dc0745 648
c2e66d9e 649=head2 perltrap - Perl traps for the unwary
68dc0745 650
d420ca49 651=over 4
68dc0745 652
c2e66d9e 653=item DESCRIPTION
68dc0745 654
d420ca49 655=over 4
68dc0745 656
c2e66d9e 657=item Awk Traps
68dc0745 658
8b9c797b 659=item C/C++ Traps
4755096e 660
c2e66d9e 661=item Sed Traps
4755096e 662
c2e66d9e 663=item Shell Traps
4755096e 664
c2e66d9e 665=item Perl Traps
68dc0745 666
c2e66d9e 667=item Perl4 to Perl5 Traps
68dc0745 668
c2e66d9e
GS
669Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
670Traps, General data type traps, Context Traps - scalar, list contexts,
671Precedence Traps, General Regular Expression Traps using s///, etc,
672Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
673
674=item Discontinuance, Deprecation, and BugFix traps
675
676Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
677Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
678Discontinuance, Deprecation, Discontinuance, Discontinuance
679
680=item Parsing Traps
681
07fcf8ff 682Parsing, Parsing, Parsing, Parsing, Parsing
c2e66d9e
GS
683
684=item Numerical Traps
685
686Numerical, Numerical, Numerical, Bitwise string ops
687
688=item General data type traps
689
690(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
691(Constants), (Scalars), (Variable Suicide)
692
693=item Context Traps - scalar, list contexts
694
695(list context), (scalar context), (scalar context), (list, builtin)
696
697=item Precedence Traps
698
699Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
700Precedence
701
702=item General Regular Expression Traps using s///, etc.
703
704Regular Expression, Regular Expression, Regular Expression, Regular
705Expression, Regular Expression, Regular Expression, Regular Expression,
0d53b15f 706Regular Expression, Regular Expression
c2e66d9e
GS
707
708=item Subroutine, Signal, Sorting Traps
709
710(Signals), (Sort Subroutine), warn() won't let you specify a filehandle
711
712=item OS Traps
713
714(SysV), (SysV)
715
716=item Interpolation Traps
717
718Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
719Interpolation, Interpolation, Interpolation, Interpolation
720
721=item DBM Traps
722
723DBM, DBM
724
725=item Unclassified Traps
726
727C<require>/C<do> trap using returned value, C<split> on empty string with
728LIMIT specified
68dc0745 729
4755096e 730=back
68dc0745 731
c2e66d9e 732=back
14218588 733
41630250 734=head2 perldebtut - Perl debugging tutorial
e969ef56
JH
735
736=over 4
737
738=item DESCRIPTION
739
41630250 740=item use strict
e969ef56 741
41630250 742=item Looking at data and -w and v
e969ef56 743
41630250 744=item help
e969ef56 745
41630250 746=item Stepping through code
e969ef56 747
41630250 748=item Placeholder for a, w, t, T
e969ef56 749
41630250 750=item REGULAR EXPRESSIONS
e969ef56 751
41630250 752=item OUTPUT TIPS
e969ef56 753
41630250 754=item CGI
68dc0745 755
41630250 756=item GUIs
c2e66d9e 757
41630250 758=item SUMMARY
c2e66d9e 759
41630250 760=item SEE ALSO
68dc0745 761
41630250 762=item AUTHOR
68dc0745 763
41630250 764=item CONTRIBUTORS
c2e66d9e 765
41630250 766=back
c2e66d9e 767
41630250
JH
768=head2 perlfaq - frequently asked questions about Perl ($Date: 2003/01/31
76917:37:17 $)
c2e66d9e 770
41630250 771=over 4
c2e66d9e 772
41630250 773=item DESCRIPTION
68dc0745 774
41630250 775=over 4
68dc0745 776
41630250 777=item Where to get the perlfaq
c2e66d9e 778
41630250
JH
779=item How to contribute to the perlfaq
780
781=item What will happen if you mail your Perl programming problems to the
782authors
c2e66d9e 783
e993db8c
JH
784=back
785
41630250
JH
786=item Credits
787
788=item Author and Copyright Information
e993db8c
JH
789
790=over 4
c2e66d9e 791
41630250
JH
792=item Bundled Distributions
793
794=item Disclaimer
ff426ff2 795
4755096e 796=back
68dc0745 797
41630250 798=item Table of Contents
68dc0745 799
41630250
JH
800perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2
801- Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4
802- Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular
803Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System
804Interaction, perlfaq9 - Networking
68dc0745 805
41630250 806=item The Questions
68dc0745 807
d420ca49 808=over 4
68dc0745 809
41630250 810=item L<perlfaq1>: General Questions About Perl
68dc0745 811
41630250 812=item L<perlfaq2>: Obtaining and Learning about Perl
a45bd81d 813
41630250 814=item L<perlfaq3>: Programming Tools
68dc0745 815
41630250 816=item L<perlfaq4>: Data Manipulation
a45bd81d 817
41630250 818=item L<perlfaq5>: Files and Formats
68dc0745 819
41630250 820=item L<perlfaq6>: Regular Expressions
68dc0745 821
41630250 822=item L<perlfaq7>: General Perl Language Issues
68dc0745 823
41630250 824=item L<perlfaq8>: System Interaction
68dc0745 825
41630250 826=item L<perlfaq9>: Networking
68dc0745 827
41630250 828=back
68dc0745 829
4755096e 830=back
68dc0745 831
41630250
JH
832=head2 perlfaq1 - General Questions About Perl ($Revision: 1.12 $, $Date:
8332003/07/09 15:47:28 $)
10862624 834
d420ca49 835=over 4
10862624
RF
836
837=item DESCRIPTION
838
41630250 839=over 4
10862624 840
41630250 841=item What is Perl?
d396a558 842
41630250 843=item Who supports Perl? Who develops it? Why is it free?
10862624 844
41630250 845=item Which version of Perl should I use?
10862624 846
41630250 847=item What are perl4 and perl5?
10862624 848
41630250 849=item What is Ponie?
10862624 850
41630250 851=item What is perl6?
10862624 852
41630250 853=item How stable is Perl?
10862624 854
41630250 855=item Is Perl difficult to learn?
10862624 856
41630250
JH
857=item How does Perl compare with other languages like Java, Python, REXX,
858Scheme, or Tcl?
10862624 859
41630250 860=item Can I do [task] in Perl?
10862624 861
41630250 862=item When shouldn't I program in Perl?
10862624 863
41630250
JH
864=item What's the difference between "perl" and "Perl"?
865
866=item Is it a Perl program or a Perl script?
867
868=item What is a JAPH?
869
870=item Where can I get a list of Larry Wall witticisms?
871
872=item How can I convince my sysadmin/supervisor/employees to use version
8735/5.6.1/Perl instead of some other language?
10862624
RF
874
875=back
876
41630250
JH
877=item AUTHOR AND COPYRIGHT
878
879=back
880
881=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.20 $,
882$Date: 2003/01/26 17:50:56 $)
68dc0745 883
d420ca49 884=over 4
68dc0745 885
4755096e 886=item DESCRIPTION
68dc0745 887
d420ca49 888=over 4
68dc0745 889
41630250 890=item What machines support Perl? Where do I get it?
68dc0745 891
41630250 892=item How can I get a binary version of Perl?
68dc0745 893
41630250 894=item I don't have a C compiler on my system. How can I compile perl?
68dc0745 895
41630250
JH
896=item I copied the Perl binary from one machine to another, but scripts
897don't work.
68dc0745 898
41630250
JH
899=item I grabbed the sources and tried to compile but gdbm/dynamic
900loading/malloc/linking/... failed. How do I make it work?
68dc0745 901
41630250
JH
902=item What modules and extensions are available for Perl? What is CPAN?
903What does CPAN/src/... mean?
68dc0745 904
41630250 905=item Is there an ISO or ANSI certified version of Perl?
68dc0745 906
41630250 907=item Where can I get information on Perl?
68dc0745 908
41630250 909=item What are the Perl newsgroups on Usenet? Where do I post questions?
68dc0745 910
41630250 911=item Where should I post source code?
68dc0745 912
41630250 913=item Perl Books
68dc0745 914
41630250 915References, Tutorials, Task-Oriented, Special Topics
68dc0745 916
41630250 917=item Perl in Magazines
68dc0745 918
41630250 919=item Perl on the Net: FTP and WWW Access
14218588 920
41630250 921=item What mailing lists are there for Perl?
68dc0745 922
41630250
JH
923=item Archives of comp.lang.perl.misc
924
925=item Where can I buy a commercial version of Perl?
926
927=item Where do I send bug reports?
928
929=item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
68dc0745 930
a45bd81d
GS
931=back
932
41630250
JH
933=item AUTHOR AND COPYRIGHT
934
935=back
936
5538b230
JH
937=head2 perlfaq3 - Programming Tools ($Revision: 1.35 $, $Date: 2003/08/24
93805:26:59 $)
68dc0745 939
d420ca49 940=over 4
a45bd81d 941
68dc0745
PP
942=item DESCRIPTION
943
d420ca49 944=over 4
68dc0745 945
41630250 946=item How do I do (anything)?
68dc0745 947
41630250 948=item How can I use Perl interactively?
68dc0745 949
41630250 950=item Is there a Perl shell?
68dc0745 951
41630250 952=item How do I find which modules are installed on my system?
4755096e 953
41630250 954=item How do I debug my Perl programs?
c2e66d9e 955
41630250 956=item How do I profile my Perl programs?
4755096e 957
41630250 958=item How do I cross-reference my Perl programs?
4755096e 959
41630250 960=item Is there a pretty-printer (formatter) for Perl?
4755096e 961
41630250 962=item Is there a ctags for Perl?
c2e66d9e 963
41630250 964=item Is there an IDE or Windows Perl Editor?
c2e66d9e 965
41630250
JH
966Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, OptiPerl,
967GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright,
968MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha
4d4e713d 969
41630250 970=item Where can I get Perl macros for vi?
c2e66d9e 971
41630250 972=item Where can I get perl-mode for emacs?
c2e66d9e 973
41630250 974=item How can I use curses with Perl?
c2e66d9e 975
41630250 976=item How can I use X or Tk with Perl?
c2e66d9e 977
41630250 978=item How can I generate simple menus without using CGI or Tk?
4d4e713d 979
41630250 980=item How can I make my Perl program run faster?
c2e66d9e 981
41630250 982=item How can I make my Perl program take less memory?
4755096e 983
41630250
JH
984Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
985stringification, Pass by reference, Tie large variables to disk
4755096e 986
41630250 987=item Is it safe to return a reference to local or lexical data?
4755096e 988
41630250 989=item How can I free an array or hash so my program shrinks?
4755096e 990
41630250 991=item How can I make my CGI script more efficient?
4755096e 992
41630250 993=item How can I hide the source for my Perl program?
c2e66d9e 994
41630250 995=item How can I compile my Perl program into byte code or C?
4755096e 996
41630250 997=item How can I compile Perl into Java?
4755096e 998
41630250 999=item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
2a551100 1000
41630250 1001=item Can I write useful Perl programs on the command line?
4755096e 1002
41630250 1003=item Why don't Perl one-liners work on my DOS/Mac/VMS system?
4755096e 1004
41630250 1005=item Where can I learn about CGI or Web programming in Perl?
4755096e 1006
41630250 1007=item Where can I learn about object-oriented Perl programming?
4755096e 1008
41630250 1009=item Where can I learn about linking C with Perl? [h2xs, xsubpp]
4755096e 1010
41630250
JH
1011=item I've read perlembed, perlguts, etc., but I can't embed perl in
1012my C program; what am I doing wrong?
4755096e 1013
41630250 1014=item When I tried to run my script, I got this message. What does it mean?
4755096e 1015
41630250 1016=item What's MakeMaker?
4755096e
GS
1017
1018=back
1019
41630250
JH
1020=item AUTHOR AND COPYRIGHT
1021
1022=back
1023
5538b230
JH
1024=head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 2003/09/20
102506:37:43 $)
4755096e 1026
d420ca49 1027=over 4
4755096e 1028
41630250 1029=item DESCRIPTION
4755096e 1030
41630250 1031=item Data: Numbers
4755096e 1032
41630250 1033=over 4
4755096e 1034
41630250
JH
1035=item Why am I getting long decimals (eg, 19.9499999999999) instead of the
1036numbers I should be getting (eg, 19.95)?
4755096e 1037
5538b230
JH
1038=item Why is int() broken?
1039
41630250 1040=item Why isn't my octal data interpreted correctly?
4755096e 1041
41630250
JH
1042=item Does Perl have a round() function? What about ceil() and floor()?
1043Trig functions?
4755096e 1044
5538b230 1045=item How do I convert between numeric representations/bases/radixes?
4755096e 1046
41630250
JH
1047How do I convert hexadecimal into decimal, How do I convert from decimal to
1048hexadecimal, How do I convert from octal to decimal, How do I convert from
1049decimal to octal, How do I convert from binary to decimal, How do I convert
1050from decimal to binary
4755096e 1051
41630250 1052=item Why doesn't & work the way I want it to?
4755096e 1053
41630250 1054=item How do I multiply matrices?
2a551100 1055
41630250 1056=item How do I perform an operation on a series of integers?
2a551100 1057
41630250 1058=item How can I output Roman numerals?
4755096e 1059
41630250 1060=item Why aren't my random numbers random?
4755096e 1061
41630250 1062=item How do I get a random number between X and Y?
a9d2c496 1063
4755096e
GS
1064=back
1065
41630250 1066=item Data: Dates
4755096e 1067
41630250 1068=over 4
4755096e 1069
41630250 1070=item How do I find the day or week of the year?
4755096e 1071
d53e588d
JH
1072=item How do I find the current century or millennium?
1073
41630250 1074=item How can I compare two dates and find the difference?
4755096e 1075
41630250 1076=item How can I take a string and turn it into epoch seconds?
34babc16 1077
41630250 1078=item How can I find the Julian Day?
34babc16 1079
41630250 1080=item How do I find yesterday's date?
34babc16 1081
41630250 1082=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
34babc16 1083
41630250 1084=back
34babc16 1085
41630250 1086=item Data: Strings
34babc16
JH
1087
1088=over 4
1089
41630250 1090=item How do I validate input?
34babc16 1091
41630250 1092=item How do I unescape a string?
34babc16 1093
41630250 1094=item How do I remove consecutive pairs of characters?
34babc16 1095
41630250 1096=item How do I expand function calls in a string?
34babc16 1097
41630250 1098=item How do I find matching/nesting anything?
34babc16 1099
41630250 1100=item How do I reverse a string?
34babc16 1101
41630250 1102=item How do I expand tabs in a string?
34babc16 1103
41630250 1104=item How do I reformat a paragraph?
34babc16 1105
41630250 1106=item How can I access or change N characters of a string?
34babc16 1107
41630250 1108=item How do I change the Nth occurrence of something?
34babc16 1109
41630250
JH
1110=item How can I count the number of occurrences of a substring within a
1111string?
34babc16 1112
41630250 1113=item How do I capitalize all the words on one line?
493a87da 1114
41630250
JH
1115=item How can I split a [character] delimited string except when inside
1116[character]?
34babc16 1117
41630250 1118=item How do I strip blank space from the beginning/end of a string?
2a551100 1119
41630250 1120=item How do I pad a string with blanks or pad a number with zeroes?
34babc16 1121
41630250 1122=item How do I extract selected columns from a string?
34babc16 1123
41630250 1124=item How do I find the soundex value of a string?
34babc16 1125
41630250 1126=item How can I expand variables in text strings?
34babc16 1127
41630250
JH
1128=item What's wrong with always quoting "$vars"?
1129
1130=item Why don't my E<lt>E<lt>HERE documents work?
1131
1132There must be no space after the E<lt>E<lt> part, There (probably) should
1133be a semicolon at the end, You can't (easily) have any space in front of
1134the tag
2a551100 1135
34babc16
JH
1136=back
1137
41630250 1138=item Data: Arrays
34babc16
JH
1139
1140=over 4
1141
41630250 1142=item What is the difference between a list and an array?
34babc16 1143
41630250 1144=item What is the difference between $array[1] and @array[1]?
34babc16 1145
41630250 1146=item How can I remove duplicate elements from a list or array?
34babc16 1147
41630250 1148a), b), c), d), e)
34babc16 1149
41630250
JH
1150=item How can I tell whether a certain element is contained in a list or
1151array?
4755096e 1152
41630250
JH
1153=item How do I compute the difference of two arrays? How do I compute the
1154intersection of two arrays?
4755096e 1155
41630250 1156=item How do I test whether two arrays or hashes are equal?
4755096e 1157
41630250 1158=item How do I find the first array element for which a condition is true?
4755096e 1159
41630250 1160=item How do I handle linked lists?
4755096e 1161
41630250 1162=item How do I handle circular lists?
4755096e 1163
41630250 1164=item How do I shuffle an array randomly?
4755096e 1165
41630250 1166=item How do I process/modify each element of an array?
4755096e 1167
41630250 1168=item How do I select a random element from an array?
4755096e 1169
41630250 1170=item How do I permute N elements of a list?
4755096e 1171
41630250 1172=item How do I sort an array by (anything)?
4755096e 1173
41630250 1174=item How do I manipulate arrays of bits?
4755096e 1175
41630250 1176=item Why does defined() return true on empty arrays and hashes?
4755096e 1177
c2e66d9e 1178=back
4755096e 1179
41630250 1180=item Data: Hashes (Associative Arrays)
4755096e 1181
d420ca49 1182=over 4
4755096e 1183
41630250 1184=item How do I process an entire hash?
4755096e 1185
41630250
JH
1186=item What happens if I add or remove keys from a hash while iterating over
1187it?
4755096e 1188
41630250 1189=item How do I look up a hash element by value?
4755096e 1190
41630250 1191=item How can I know how many entries are in a hash?
4755096e 1192
41630250 1193=item How do I sort a hash (optionally by value instead of key)?
4755096e 1194
41630250 1195=item How can I always keep my hash sorted?
4755096e 1196
41630250 1197=item What's the difference between "delete" and "undef" with hashes?
4755096e 1198
41630250 1199=item Why don't my tied hashes make the defined/exists distinction?
4755096e 1200
41630250 1201=item How do I reset an each() operation part-way through?
4755096e 1202
41630250 1203=item How can I get the unique keys from two hashes?
4755096e 1204
41630250 1205=item How can I store a multidimensional array in a DBM file?
4755096e 1206
41630250 1207=item How can I make my hash remember the order I put elements into it?
4755096e 1208
41630250
JH
1209=item Why does passing a subroutine an undefined element in a hash create
1210it?
4755096e 1211
41630250
JH
1212=item How can I make the Perl equivalent of a C structure/C++ class/hash or
1213array of hashes or arrays?
4755096e 1214
41630250 1215=item How can I use a reference as a hash key?
4755096e 1216
4755096e
GS
1217=back
1218
41630250 1219=item Data: Misc
4755096e 1220
d420ca49 1221=over 4
4755096e 1222
41630250 1223=item How do I handle binary data correctly?
4755096e 1224
41630250 1225=item How do I determine whether a scalar is a number/whole/integer/float?
4755096e 1226
41630250 1227=item How do I keep persistent data across program calls?
4755096e 1228
41630250 1229=item How do I print out or copy a recursive data structure?
c2e66d9e 1230
41630250 1231=item How do I define methods for every class/object?
c2e66d9e 1232
41630250 1233=item How do I verify a credit card checksum?
c2e66d9e 1234
41630250 1235=item How do I pack arrays of doubles or floats for XS code?
4755096e
GS
1236
1237=back
1238
41630250 1239=item AUTHOR AND COPYRIGHT
4755096e 1240
c2e66d9e
GS
1241=back
1242
41630250
JH
1243=head2 perlfaq5 - Files and Formats ($Revision: 1.28 $, $Date: 2003/01/26
124417:45:46 $)
30487ceb
RGS
1245
1246=over 4
1247
1248=item DESCRIPTION
1249
e969ef56
JH
1250=over 4
1251
41630250 1252=item How do I flush/unbuffer an output filehandle? Why must I do this?
30487ceb 1253
41630250
JH
1254=item How do I change one line in a file/delete a line in a file/insert a
1255line in the middle of a file/append to the beginning of a file?
30487ceb 1256
41630250 1257=item How do I count the number of lines in a file?
30487ceb 1258
41630250 1259=item How can I use Perl's C<-i> option from within a program?
30487ceb 1260
41630250 1261=item How do I make a temporary file name?
30487ceb 1262
41630250 1263=item How can I manipulate fixed-record-length files?
30487ceb 1264
41630250
JH
1265=item How can I make a filehandle local to a subroutine? How do I pass
1266filehandles between subroutines? How do I make an array of filehandles?
e969ef56 1267
41630250 1268=item How can I use a filehandle indirectly?
e969ef56 1269
41630250 1270=item How can I set up a footer format to be used with write()?
30487ceb 1271
41630250 1272=item How can I write() into a string?
30487ceb 1273
41630250 1274=item How can I output my numbers with commas added?
30487ceb 1275
41630250 1276=item How can I translate tildes (~) in a filename?
30487ceb 1277
41630250 1278=item How come when I open a file read-write it wipes it out?
d396a558 1279
41630250
JH
1280=item Why do I sometimes get an "Argument list too long" when I use
1281E<lt>*E<gt>?
d396a558 1282
41630250 1283=item Is there a leak/bug in glob()?
d396a558 1284
41630250 1285=item How can I open a file with a leading ">" or trailing blanks?
d396a558 1286
41630250 1287=item How can I reliably rename a file?
d396a558 1288
41630250 1289=item How can I lock a file?
d396a558 1290
41630250 1291=item Why can't I just open(FH, "E<gt>file.lock")?
d396a558 1292
41630250
JH
1293=item I still don't get locking. I just want to increment the number in
1294the file. How can I do this?
d396a558 1295
41630250
JH
1296=item All I want to do is append a small amount of text to the end of a
1297file. Do I still have to use locking?
d396a558 1298
41630250 1299=item How do I randomly update a binary file?
d396a558 1300
41630250 1301=item How do I get a file's timestamp in perl?
d396a558 1302
41630250 1303=item How do I set a file's timestamp in perl?
d396a558 1304
41630250 1305=item How do I print to more than one file at once?
d396a558 1306
41630250 1307=item How can I read in an entire file all at once?
d396a558 1308
41630250 1309=item How can I read in a file by paragraphs?
d396a558 1310
41630250 1311=item How can I read a single character from a file? From the keyboard?
4755096e 1312
41630250 1313=item How can I tell whether there's a character waiting on a filehandle?
4755096e 1314
41630250 1315=item How do I do a C<tail -f> in perl?
4755096e 1316
41630250 1317=item How do I dup() a filehandle in Perl?
4755096e 1318
41630250 1319=item How do I close a file descriptor by number?
4755096e 1320
41630250
JH
1321=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
1322`C:\temp\foo.exe` work?
4755096e 1323
41630250 1324=item Why doesn't glob("*.*") get all the files?
4755096e 1325
41630250
JH
1326=item Why does Perl let me delete read-only files? Why does C<-i> clobber
1327protected files? Isn't this a bug in Perl?
c2e66d9e 1328
41630250 1329=item How do I select a random line from a file?
c2e66d9e 1330
41630250 1331=item Why do I get weird spaces when I print an array of lines?
4755096e
GS
1332
1333=back
1334
41630250 1335=item AUTHOR AND COPYRIGHT
4755096e
GS
1336
1337=back
1338
41630250
JH
1339=head2 perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03
134020:05:28 $)
4755096e 1341
d420ca49 1342=over 4
4755096e
GS
1343
1344=item DESCRIPTION
1345
d420ca49 1346=over 4
c2e66d9e 1347
41630250
JH
1348=item How can I hope to use regular expressions without creating illegible
1349and unmaintainable code?
d396a558 1350
41630250 1351Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
d396a558 1352
41630250 1353=item I'm having trouble matching over more than one line. What's wrong?
d396a558 1354
41630250
JH
1355=item How can I pull out lines between two patterns that are themselves on
1356different lines?
d396a558 1357
41630250 1358=item I put a regular expression into $/ but it didn't work. What's wrong?
d396a558 1359
41630250
JH
1360=item How do I substitute case insensitively on the LHS while preserving
1361case on the RHS?
d396a558 1362
41630250 1363=item How can I make C<\w> match national character sets?
d396a558 1364
41630250 1365=item How can I match a locale-smart version of C</[a-zA-Z]/>?
d396a558 1366
41630250 1367=item How can I quote a variable to use in a regex?
d396a558 1368
41630250 1369=item What is C</o> really for?
d396a558 1370
41630250
JH
1371=item How do I use a regular expression to strip C style comments from a
1372file?
d396a558 1373
41630250 1374=item Can I use Perl regular expressions to match balanced text?
d396a558 1375
41630250 1376=item What does it mean that regexes are greedy? How can I get around it?
d396a558 1377
41630250 1378=item How do I process each word on each line?
d396a558 1379
41630250 1380=item How can I print out a word-frequency or line-frequency summary?
d396a558 1381
41630250 1382=item How can I do approximate matching?
d396a558 1383
41630250 1384=item How do I efficiently match many regular expressions at once?
d396a558 1385
41630250 1386=item Why don't word-boundary searches with C<\b> work for me?
d396a558 1387
41630250 1388=item Why does using $&, $`, or $' slow my program down?
d396a558 1389
41630250 1390=item What good is C<\G> in a regular expression?
d396a558 1391
41630250 1392=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
d396a558 1393
1e54db1a 1394=item What's wrong with using grep in a void context?
d396a558 1395
41630250 1396=item How can I match strings with multibyte characters?
d396a558 1397
41630250 1398=item How do I match a pattern that is supplied by the user?
d396a558
JH
1399
1400=back
1401
41630250
JH
1402=item AUTHOR AND COPYRIGHT
1403
1404=back
1405
1406=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.15 $, $Date:
14072003/07/24 02:17:21 $)
c2e66d9e 1408
d420ca49 1409=over 4
4755096e 1410
d396a558 1411=item DESCRIPTION
4755096e 1412
d420ca49 1413=over 4
4755096e 1414
41630250 1415=item Can I get a BNF/yacc/RE for the Perl language?
4755096e 1416
41630250
JH
1417=item What are all these $@%&* punctuation signs, and how do I know when to
1418use them?
4755096e 1419
41630250
JH
1420=item Do I always/never have to quote my strings or use semicolons and
1421commas?
c2e66d9e 1422
41630250 1423=item How do I skip some return values?
c2e66d9e 1424
41630250 1425=item How do I temporarily block warnings?
c2e66d9e 1426
41630250 1427=item What's an extension?
4755096e 1428
41630250 1429=item Why do Perl operators have different precedence than C operators?
4755096e 1430
41630250 1431=item How do I declare/create a structure?
4755096e 1432
41630250 1433=item How do I create a module?
4755096e 1434
41630250 1435=item How do I create a class?
4755096e 1436
41630250 1437=item How can I tell if a variable is tainted?
4755096e 1438
41630250 1439=item What's a closure?
4755096e 1440
41630250 1441=item What is variable suicide and how can I prevent it?
4755096e 1442
41630250
JH
1443=item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
1444Regex}?
4755096e 1445
41630250
JH
1446Passing Variables and Functions, Passing Filehandles, Passing Regexes,
1447Passing Methods
d396a558 1448
41630250 1449=item How do I create a static variable?
d396a558 1450
41630250
JH
1451=item What's the difference between dynamic and lexical (static) scoping?
1452Between local() and my()?
d396a558 1453
41630250
JH
1454=item How can I access a dynamic variable while a similarly named lexical
1455is in scope?
d396a558 1456
41630250 1457=item What's the difference between deep and shallow binding?
d396a558 1458
41630250 1459=item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
4755096e 1460
41630250 1461=item How do I redefine a builtin function, operator, or method?
4755096e 1462
41630250 1463=item What's the difference between calling a function as &foo and foo()?
4755096e 1464
41630250 1465=item How do I create a switch or case statement?
4755096e 1466
41630250
JH
1467=item How can I catch accesses to undefined variables, functions, or
1468methods?
4755096e 1469
41630250 1470=item Why can't a method included in this same file be found?
d396a558 1471
41630250 1472=item How can I find out my current package?
d396a558 1473
41630250 1474=item How can I comment out a large block of perl code?
d396a558 1475
41630250 1476=item How do I clear a package?
d396a558 1477
41630250 1478=item How can I use a variable as a variable name?
d396a558 1479
41630250 1480=item What does "bad interpreter" mean?
d396a558
JH
1481
1482=back
1483
41630250
JH
1484=item AUTHOR AND COPYRIGHT
1485
1486=back
1487
1488=head2 perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26
148917:44:04 $)
d396a558 1490
d420ca49 1491=over 4
d396a558 1492
41630250 1493=item DESCRIPTION
d396a558 1494
41630250 1495=over 4
4755096e 1496
41630250 1497=item How do I find out which operating system I'm running under?
d420ca49 1498
41630250 1499=item How come exec() doesn't return?
4755096e 1500
41630250 1501=item How do I do fancy stuff with the keyboard/screen/mouse?
d420ca49 1502
41630250 1503Keyboard, Screen, Mouse
d396a558 1504
41630250 1505=item How do I print something out in color?
d396a558 1506
41630250 1507=item How do I read just one key without waiting for a return key?
d396a558 1508
41630250 1509=item How do I check whether input is ready on the keyboard?
d396a558 1510
41630250 1511=item How do I clear the screen?
d396a558 1512
41630250 1513=item How do I get the screen size?
c2e66d9e 1514
41630250 1515=item How do I ask the user for a password?
c2e66d9e 1516
41630250 1517=item How do I read and write the serial port?
c2e66d9e 1518
41630250 1519lockfiles, open mode, end of line, flushing output, non-blocking input
c2e66d9e 1520
41630250 1521=item How do I decode encrypted password files?
c2e66d9e 1522
41630250 1523=item How do I start a process in the background?
c2e66d9e 1524
41630250 1525STDIN, STDOUT, and STDERR are shared, Signals, Zombies
c2e66d9e 1526
41630250 1527=item How do I trap control characters/signals?
dc5c060f 1528
41630250 1529=item How do I modify the shadow password file on a Unix system?
d396a558 1530
41630250 1531=item How do I set the time and date?
d396a558 1532
41630250 1533=item How can I sleep() or alarm() for under a second?
d396a558 1534
41630250 1535=item How can I measure time under a second?
d396a558 1536
41630250 1537=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
d396a558 1538
41630250
JH
1539=item Why doesn't my sockets program work under System V (Solaris)? What
1540does the error message "Protocol not supported" mean?
d396a558 1541
41630250 1542=item How can I call my system's unique C functions from Perl?
d396a558 1543
41630250 1544=item Where do I get the include files to do ioctl() or syscall()?
4755096e 1545
41630250 1546=item Why do setuid perl scripts complain about kernel problems?
4755096e 1547
41630250 1548=item How can I open a pipe both to and from a command?
4755096e 1549
41630250 1550=item Why can't I get the output of a command with system()?
4755096e 1551
41630250 1552=item How can I capture STDERR from an external command?
d396a558 1553
41630250 1554=item Why doesn't open() return an error when a pipe open fails?
d396a558 1555
41630250 1556=item What's wrong with using backticks in a void context?
d396a558 1557
41630250 1558=item How can I call backticks without shell processing?
d396a558 1559
41630250
JH
1560=item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
1561^Z on MS-DOS)?
4755096e 1562
41630250 1563=item How can I convert my shell script to perl?
4755096e 1564
41630250 1565=item Can I use perl to run a telnet or ftp session?
d396a558 1566
41630250 1567=item How can I write expect in Perl?
4755096e 1568
41630250
JH
1569=item Is there a way to hide perl's command line from programs such as
1570"ps"?
d396a558 1571
41630250
JH
1572=item I {changed directory, modified my environment} in a perl script. How
1573come the change disappeared when I exited the script? How do I get my
1574changes to be visible?
d396a558 1575
41630250 1576Unix
4755096e 1577
41630250
JH
1578=item How do I close a process's filehandle without waiting for it to
1579complete?
4755096e 1580
41630250 1581=item How do I fork a daemon process?
4755096e 1582
41630250 1583=item How do I find out if I'm running interactively or not?
4755096e 1584
41630250 1585=item How do I timeout a slow event?
4755096e 1586
41630250 1587=item How do I set CPU limits?
4755096e 1588
41630250 1589=item How do I avoid zombies on a Unix system?
4755096e 1590
41630250 1591=item How do I use an SQL database?
4755096e 1592
41630250 1593=item How do I make a system() exit on control-C?
4755096e 1594
41630250 1595=item How do I open a file without blocking?
4755096e 1596
41630250 1597=item How do I install a module from CPAN?
d396a558 1598
41630250 1599=item What's the difference between require and use?
d396a558 1600
41630250 1601=item How do I keep my own module/library directory?
d396a558 1602
41630250
JH
1603=item How do I add the directory my program lives in to the module/library
1604search path?
d396a558 1605
5538b230 1606=item How do I add a directory to my include path (@INC) at runtime?
d396a558 1607
41630250 1608=item What is socket.ph and where do I get it?
4755096e 1609
c2e66d9e 1610=back
4755096e 1611
41630250 1612=item AUTHOR AND COPYRIGHT
d396a558
JH
1613
1614=back
1615
41630250
JH
1616=head2 perlfaq9 - Networking ($Revision: 1.15 $, $Date: 2003/01/31 17:36:57
1617$)
d396a558 1618
d420ca49 1619=over 4
d396a558
JH
1620
1621=item DESCRIPTION
1622
41630250 1623=over 4
d396a558 1624
41630250 1625=item What is the correct form of response from a CGI script?
d396a558 1626
41630250
JH
1627=item My CGI script runs from the command line but not the browser. (500
1628Server Error)
d396a558 1629
41630250 1630=item How can I get better error messages from a CGI program?
d396a558 1631
41630250 1632=item How do I remove HTML from a string?
d396a558 1633
41630250 1634=item How do I extract URLs?
d396a558 1635
41630250
JH
1636=item How do I download a file from the user's machine? How do I open a
1637file on another machine?
d396a558 1638
41630250 1639=item How do I make a pop-up menu in HTML?
d396a558 1640
41630250 1641=item How do I fetch an HTML file?
d396a558 1642
41630250 1643=item How do I automate an HTML form submission?
d396a558 1644
41630250 1645=item How do I decode or create those %-encodings on the web?
d396a558 1646
41630250 1647=item How do I redirect to another page?
2a551100 1648
41630250 1649=item How do I put a password on my web pages?
d396a558 1650
41630250 1651=item How do I edit my .htpasswd and .htgroup files with Perl?
d396a558 1652
41630250
JH
1653=item How do I make sure users can't enter values into a form that cause my
1654CGI script to do bad things?
d396a558 1655
41630250 1656=item How do I parse a mail header?
d396a558 1657
41630250 1658=item How do I decode a CGI form?
d396a558 1659
41630250 1660=item How do I check a valid mail address?
d396a558 1661
41630250 1662=item How do I decode a MIME/BASE64 string?
d396a558 1663
41630250 1664=item How do I return the user's mail address?
d396a558 1665
41630250 1666=item How do I send mail?
d396a558 1667
41630250 1668=item How do I use MIME to make an attachment to a mail message?
d396a558 1669
41630250 1670=item How do I read mail?
d396a558 1671
41630250 1672=item How do I find out my hostname/domainname/IP address?
d396a558 1673
41630250 1674=item How do I fetch a news article or the active newsgroups?
d396a558 1675
41630250 1676=item How do I fetch/put an FTP file?
9fa7f388 1677
41630250 1678=item How can I do RPC in Perl?
d396a558
JH
1679
1680=back
4755096e 1681
41630250 1682=item AUTHOR AND COPYRIGHT
d396a558 1683
c2e66d9e 1684=back
4755096e 1685
41630250 1686=head2 perlsyn - Perl syntax
4755096e 1687
d420ca49 1688=over 4
4755096e 1689
c2e66d9e 1690=item DESCRIPTION
4755096e 1691
d420ca49 1692=over 4
4755096e 1693
41630250 1694=item Declarations
23be5fc4 1695
41630250 1696=item Comments
4755096e 1697
41630250 1698=item Simple Statements
4755096e 1699
41630250 1700=item Compound Statements
4755096e 1701
41630250 1702=item Loop Control
4755096e 1703
41630250 1704=item For Loops
4755096e 1705
41630250 1706=item Foreach Loops
4755096e 1707
41630250 1708=item Basic BLOCKs and Switch Statements
4755096e 1709
41630250 1710=item Goto
4755096e 1711
41630250 1712=item PODs: Embedded Documentation
4755096e 1713
41630250 1714=item Plain Old Comments (Not!)
4755096e
GS
1715
1716=back
1717
c2e66d9e
GS
1718=back
1719
41630250 1720=head2 perldata - Perl data types
4755096e 1721
d420ca49 1722=over 4
4755096e 1723
41630250 1724=item DESCRIPTION
4755096e 1725
41630250 1726=over 4
4755096e 1727
41630250 1728=item Variable names
4755096e 1729
41630250 1730=item Context
4755096e 1731
41630250 1732=item Scalar values
4755096e 1733
41630250 1734=item Scalar value constructors
4755096e 1735
41630250 1736=item List value constructors
4755096e 1737
41630250 1738=item Subscripts
4755096e 1739
41630250 1740=item Slices
4755096e 1741
41630250 1742=item Typeglobs and Filehandles
4755096e 1743
41630250 1744=back
4755096e 1745
c2e66d9e 1746=item SEE ALSO
4755096e
GS
1747
1748=back
1749
41630250 1750=head2 perlop - Perl operators and precedence
4755096e 1751
d420ca49 1752=over 4
4755096e 1753
c2e66d9e
GS
1754=item SYNOPSIS
1755
1756=item DESCRIPTION
4755096e 1757
d420ca49 1758=over 4
4755096e 1759
41630250 1760=item Terms and List Operators (Leftward)
4755096e 1761
41630250 1762=item The Arrow Operator
4755096e 1763
41630250 1764=item Auto-increment and Auto-decrement
4755096e 1765
41630250 1766=item Exponentiation
4755096e 1767
41630250 1768=item Symbolic Unary Operators
c2e66d9e 1769
41630250 1770=item Binding Operators
c2e66d9e 1771
41630250 1772=item Multiplicative Operators
4755096e 1773
41630250 1774=item Additive Operators
4755096e 1775
41630250 1776=item Shift Operators
4755096e 1777
41630250 1778=item Named Unary Operators
4755096e 1779
41630250 1780=item Relational Operators
4755096e 1781
41630250 1782=item Equality Operators
4755096e 1783
41630250 1784=item Bitwise And
4755096e 1785
41630250 1786=item Bitwise Or and Exclusive Or
4755096e 1787
41630250 1788=item C-style Logical And
4755096e 1789
41630250 1790=item C-style Logical Or
4755096e 1791
41630250 1792=item C-style Logical Defined-Or
4755096e 1793
41630250 1794=item Range Operators
4755096e 1795
41630250 1796=item Conditional Operator
4755096e 1797
41630250 1798=item Assignment Operators
4755096e 1799
41630250 1800=item Comma Operator
4755096e 1801
41630250 1802=item List Operators (Rightward)
4755096e 1803
41630250 1804=item Logical Not
c133c03f 1805
41630250 1806=item Logical And
849d92fd 1807
41630250 1808=item Logical or, Defined or, and Exclusive Or
849d92fd 1809
41630250 1810=item C Operators Missing From Perl
849d92fd 1811
41630250 1812unary &, unary *, (TYPE)
849d92fd 1813
41630250 1814=item Quote and Quote-like Operators
849d92fd 1815
41630250 1816=item Regexp Quote-Like Operators
849d92fd 1817
41630250
JH
1818?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
1819qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
1820s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
1821y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF
849d92fd 1822
41630250 1823=item Gory details of parsing quoted constructs
849d92fd 1824
41630250
JH
1825Finding the end, Removal of backslashes before delimiters, Interpolation,
1826C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
1827C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
1828C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
1829regular expressions
849d92fd 1830
41630250 1831=item I/O Operators
849d92fd 1832
41630250 1833=item Constant Folding
849d92fd 1834
41630250 1835=item Bitwise String Operators
849d92fd 1836
41630250 1837=item Integer Arithmetic
97f7c9df 1838
41630250 1839=item Floating-point Arithmetic
849d92fd 1840
41630250 1841=item Bigger Numbers
849d92fd 1842
41630250 1843=back
849d92fd
JH
1844
1845=back
1846
41630250 1847=head2 perlsub - Perl subroutines
849d92fd
JH
1848
1849=over 4
1850
41630250 1851=item SYNOPSIS
849d92fd 1852
41630250 1853=item DESCRIPTION
849d92fd 1854
c133c03f 1855=over 4
849d92fd 1856
41630250 1857=item Private Variables via my()
849d92fd 1858
41630250 1859=item Persistent Private Variables
849d92fd 1860
41630250 1861=item Temporary Values via local()
849d92fd 1862
41630250 1863=item Lvalue subroutines
849d92fd 1864
41630250 1865Lvalue subroutines are EXPERIMENTAL
c133c03f 1866
41630250 1867=item Passing Symbol Table Entries (typeglobs)
c133c03f 1868
41630250 1869=item When to Still Use local()
849d92fd 1870
41630250 1871=item Pass by Reference
30487ceb 1872
41630250 1873=item Prototypes
849d92fd 1874
41630250 1875=item Constant Functions
849d92fd 1876
41630250 1877=item Overriding Built-in Functions
849d92fd 1878
41630250 1879=item Autoloading
849d92fd 1880
41630250 1881=item Subroutine Attributes
849d92fd 1882
41630250 1883=back
849d92fd 1884
41630250 1885=item SEE ALSO
849d92fd
JH
1886
1887=back
1888
41630250 1889=head2 perlfunc - Perl builtin functions
849d92fd 1890
41630250 1891=over 4
30487ceb 1892
41630250 1893=item DESCRIPTION
c133c03f 1894
41630250 1895=over 4
a44e0ddd 1896
41630250 1897=item Perl Functions by Category
849d92fd 1898
41630250
JH
1899Functions for SCALARs or strings, Regular expressions and pattern matching,
1900Numeric functions, Functions for real @ARRAYs, Functions for list data,
1901Functions for real %HASHes, Input and output functions, Functions for fixed
1902length data or records, Functions for filehandles, files, or directories,
1903Keywords related to the control flow of your perl program, Keywords related
1904to scoping, Miscellaneous functions, Functions for processes and process
1905groups, Keywords related to perl modules, Keywords related to classes and
1906object-orientedness, Low-level socket functions, System V interprocess
1907communication functions, Fetching user and group info, Fetching network
1908info, Time-related functions, Functions new in perl5, Functions obsoleted
1909in perl5
849d92fd 1910
41630250 1911=item Portability
849d92fd 1912
41630250 1913=item Alphabetical Listing of Perl Functions
849d92fd 1914
41630250
JH
1915-I<X> FILEHANDLE, -I<X> EXPR, -I<X>, abs VALUE, abs, accept
1916NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1917binmode FILEHANDLE, LAYER, binmode FILEHANDLE, bless REF,CLASSNAME, bless
1918REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp(
1919LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr NUMBER,
1920chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
1921connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT,
1922dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
1923EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
1924each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
1925exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
1926FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
1927fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
1928getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
1929NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
1930NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
1931ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
1932getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
1933getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
1934STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
1935endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
1936getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
1937goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
1938import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
1939FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1940last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1941link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1942lock THING, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK LIST, map
1943EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl ID,CMD,ARG, msgget
1944KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my
1945TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL, next, no
1946Module VERSION LIST, no Module VERSION, no Module LIST, no Module, oct
1947EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,MODE,EXPR, open
1948FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,
1949opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, our EXPR TYPE, our EXPR :
1950ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST, package NAMESPACE,
1951package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos,
1952print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST,
1953printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
1954qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta,
1955rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read
1956FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR,
1957readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo,
1958ref EXPR, ref, rename OLDNAME,NEWNAME, require VERSION, require EXPR,
1959require, reset EXPR, reset, return EXPR, return, reverse LIST, rewinddir
1960DIRHANDLE, rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME,
1961rmdir, s///, scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir
1962DIRHANDLE,POS, select FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT,
1963semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1964SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1965WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1966shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1967shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1968EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
1969SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1970sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1971splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
1972/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, format
1973parameter index, flags, vector flag, (minimum) width, precision, or maximum
1974width, size, order of arguments, sqrt EXPR, sqrt, srand EXPR, srand, stat
1975FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub NAME BLOCK, sub NAME
1976(PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK,
1977substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
1e54db1a 1978EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall NUMBER, LIST, sysopen
41630250
JH
1979FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
1980FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
1981FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
1982FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
1983syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
1984VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
1985FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
1986ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
1987TEMPLATE,EXPR, unpack TEMPLATE, untie VARIABLE, unshift ARRAY,LIST, use
1988Module VERSION LIST, use Module VERSION, use Module LIST, use Module, use
1989VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid
1990PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y///
849d92fd
JH
1991
1992=back
1993
53d7eaa8
JH
1994=back
1995
41630250 1996=head2 perlopentut - tutorial on opening things in Perl
53d7eaa8
JH
1997
1998=over 4
1999
2000=item DESCRIPTION
2001
41630250 2002=item Open E<agrave> la shell
4755096e 2003
d420ca49 2004=over 4
4755096e 2005
41630250 2006=item Simple Opens
4755096e 2007
41630250 2008=item Indirect Filehandles
4755096e 2009
41630250 2010=item Pipe Opens
4755096e 2011
41630250 2012=item The Minus File
4755096e 2013
41630250 2014=item Mixing Reads and Writes
4755096e 2015
41630250 2016=item Filters
4755096e 2017
41630250 2018=back
4755096e 2019
41630250 2020=item Open E<agrave> la C
4755096e 2021
d420ca49 2022=over 4
4755096e 2023
41630250 2024=item Permissions E<agrave> la mode
4755096e
GS
2025
2026=back
2027
41630250 2028=item Obscure Open Tricks
4755096e 2029
d420ca49 2030=over 4
4755096e 2031
41630250 2032=item Re-Opening Files (dups)
4755096e 2033
41630250 2034=item Dispelling the Dweomer
4755096e 2035
41630250 2036=item Paths as Opens
4755096e 2037
41630250 2038=item Single Argument Open
4755096e 2039
41630250 2040=item Playing with STDIN and STDOUT
4755096e 2041
c2e66d9e 2042=back
4755096e 2043
41630250 2044=item Other I/O Issues
4755096e 2045
d420ca49 2046=over 4
4755096e 2047
41630250 2048=item Opening Non-File Files
4755096e 2049
41630250 2050=item Opening Named Pipes
4755096e 2051
41630250 2052=item Opening Sockets
4755096e 2053
41630250 2054=item Binary Files
4755096e 2055
41630250 2056=item File Locking
4755096e 2057
41630250 2058=item IO Layers
4755096e
GS
2059
2060=back
2061
41630250 2062=item SEE ALSO
4755096e 2063
41630250 2064=item AUTHOR and COPYRIGHT
4755096e 2065
41630250 2066=item HISTORY
4755096e 2067
41630250 2068=back
4755096e 2069
41630250 2070=head2 perlpacktut - tutorial on C<pack> and C<unpack>
4755096e 2071
41630250 2072=over 4
4755096e 2073
41630250 2074=item DESCRIPTION
4755096e 2075
41630250 2076=item The Basic Principle
4755096e 2077
41630250 2078=item Packing Text
4755096e 2079
41630250 2080=item Packing Numbers
4755096e 2081
d420ca49 2082=over 4
4755096e 2083
41630250 2084=item Integers
4755096e 2085
41630250 2086=item Unpacking a Stack Frame
4755096e 2087
41630250
JH
2088=item How to Eat an Egg on a Net
2089
2090=item Floating point Numbers
4755096e
GS
2091
2092=back
2093
41630250 2094=item Exotic Templates
4755096e 2095
41630250 2096=over 4
4755096e 2097
41630250 2098=item Bit Strings
4755096e 2099
41630250 2100=item Uuencoding
4755096e 2101
41630250 2102=item Doing Sums
4755096e 2103
41630250 2104=item Unicode
4755096e 2105
41630250 2106=item Another Portable Binary Encoding
4755096e 2107
41630250 2108=back
4755096e 2109
41630250 2110=item Template Grouping
4755096e 2111
41630250 2112=item Lengths and Widths
4755096e 2113
41630250 2114=over 4
4755096e 2115
41630250 2116=item String Lengths
4755096e 2117
41630250 2118=item Dynamic Templates
4755096e 2119
41630250 2120=item Counting Repetitions
4755096e 2121
41630250 2122=back
a6812a52 2123
41630250 2124=item Packing and Unpacking C Structures
0d53b15f 2125
41630250 2126=over 4
4755096e 2127
41630250 2128=item The Alignment Pit
4755096e 2129
41630250 2130=item Alignment, Take 2
4755096e 2131
41630250 2132=item Alignment, Take 3
4755096e 2133
41630250 2134=item Pointers for How to Use Them
4755096e 2135
41630250 2136=back
4755096e 2137
41630250 2138=item Pack Recipes
4755096e 2139
41630250 2140=item Funnies Section
4755096e 2141
41630250 2142=item Authors
4755096e
GS
2143
2144=back
2145
41630250 2146=head2 perlpod - the Plain Old Documentation format
4755096e 2147
41630250 2148=over 4
4755096e 2149
41630250 2150=item DESCRIPTION
4755096e 2151
d420ca49 2152=over 4
4755096e 2153
41630250 2154=item Ordinary Paragraph
4755096e 2155
41630250 2156=item Verbatim Paragraph
4755096e 2157
41630250 2158=item Command Paragraph
4755096e 2159
41630250
JH
2160C<=head1 I<Heading Text>>, C<=head2 I<Heading Text>>, C<=head3 I<Heading
2161Text>>, C<=head4 I<Heading Text>>, C<=over I<indentlevel>>, C<=item
2162I<stuff...>>, C<=back>, C<=cut>, C<=pod>, C<=begin I<formatname>>, C<=end
1e54db1a
JH
2163I<formatname>>, C<=for I<formatname> I<text...>>, C<=encoding
2164I<encodingname>>
4755096e 2165
41630250 2166=item Formatting Codes
4755096e 2167
41630250
JH
2168C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
2169C<CE<lt>codeE<gt>> -- code text, C<LE<lt>nameE<gt>> -- a hyperlink,
2170C<EE<lt>escapeE<gt>> -- a character escape, C<FE<lt>filenameE<gt>> -- used
2171for filenames, C<SE<lt>textE<gt>> -- text contains non-breaking spaces,
2172C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a null
2173(zero-effect) formatting code
4755096e 2174
41630250 2175=item The Intent
4755096e 2176
41630250 2177=item Embedding Pods in Perl Modules
c2e66d9e 2178
41630250 2179=item Hints for Writing Pod
4755096e 2180
d396a558 2181=back
4755096e 2182
d396a558 2183=item SEE ALSO
4755096e 2184
41630250 2185=item AUTHOR
4755096e 2186
4755096e
GS
2187=back
2188
41630250
JH
2189=head2 perlpodspec - Plain Old Documentation: format specification and
2190notes
4755096e 2191
d420ca49 2192=over 4
4755096e 2193
d396a558 2194=item DESCRIPTION
4755096e 2195
41630250 2196=item Pod Definitions
4755096e 2197
41630250 2198=item Pod Commands
4755096e 2199
41630250 2200"=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item",
1e54db1a
JH
2201"=back", "=begin formatname", "=end formatname", "=for formatname text...",
2202"=encoding encodingname"
4755096e 2203
41630250 2204=item Pod Formatting Codes
4755096e 2205
41630250
JH
2206C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
2207C<CE<lt>codeE<gt>> -- code text, C<FE<lt>filenameE<gt>> -- style for
2208filenames, C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a
2209null (zero-effect) formatting code, C<LE<lt>nameE<gt>> -- a hyperlink,
2210C<EE<lt>escapeE<gt>> -- a character escape, C<SE<lt>textE<gt>> -- text
2211contains non-breaking spaces
4755096e 2212
41630250 2213=item Notes on Implementing Pod Processors
4755096e 2214
41630250 2215=item About LE<lt>...E<gt> Codes
4755096e 2216
41630250 2217First:, Second:, Third:, Fourth:, Fifth:, Sixth:
4755096e 2218
41630250 2219=item About =over...=back Regions
4755096e 2220
41630250 2221=item About Data Paragraphs and "=begin/=end" Regions
4755096e 2222
41630250 2223=item SEE ALSO
4755096e 2224
41630250 2225=item AUTHOR
d0363f02 2226
4755096e
GS
2227=back
2228
41630250 2229=head2 perlrun - how to execute the Perl interpreter
4755096e 2230
d420ca49 2231=over 4
4755096e 2232
41630250 2233=item SYNOPSIS
4755096e 2234
41630250 2235=item DESCRIPTION
4755096e 2236
41630250 2237=over 4
4755096e 2238
41630250 2239=item #! and quoting on non-Unix systems
4755096e 2240
41630250 2241OS/2, MS-DOS, Win95/NT, Macintosh, VMS
4755096e 2242
41630250 2243=item Location of Perl
4755096e 2244
41630250 2245=item Command Switches
4755096e 2246
41630250
JH
2247B<-0>[I<octal/hexadecimal>], B<-A [I<assertions>]>, B<-a>, B<-C
2248[I<number/list>]>, B<-c>, B<-d>, B<-d:>I<foo[=bar,baz]>, B<-D>I<letters>,
2249B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
2250B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
2251B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
2252B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
2253B<-t>, B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>,
2254B<-X>, B<-x> I<directory>
2255
2256=back
4755096e 2257
d396a558 2258=item ENVIRONMENT
4755096e 2259
41630250
JH
2260HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap,
2261:perlio, :pop, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB,
2262PERL5DB, PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS,
2263PERL_DESTRUCT_LEVEL, PERL_ENCODING, PERL_HASH_SEED, PERL_HASH_SEED_DEBUG,
2264PERL_ROOT (specific to the VMS port), PERL_SIGNALS, PERL_UNICODE, SYS$LOGIN
2265(specific to the VMS port)
4755096e 2266
41630250
JH
2267=back
2268
2269=head2 perldiag - various Perl diagnostics
4755096e 2270
d420ca49 2271=over 4
4755096e 2272
41630250 2273=item DESCRIPTION
4755096e 2274
41630250 2275=back
4755096e 2276
41630250 2277=head2 perllexwarn - Perl Lexical Warnings
4755096e 2278
41630250 2279=over 4
4755096e 2280
41630250 2281=item DESCRIPTION
4755096e 2282
41630250 2283=over 4
4755096e 2284
41630250 2285=item Default Warnings and Optional Warnings
4755096e 2286
41630250 2287=item What's wrong with B<-w> and C<$^W>
4755096e 2288
41630250 2289=item Controlling Warnings from the Command Line
b2deec1d 2290
41630250 2291B<-w>, B<-W>, B<-X>
4755096e 2292
41630250 2293=item Backward Compatibility
4755096e 2294
41630250
JH
2295=item Category Hierarchy
2296
2297=item Fatal Warnings
2298
2299=item Reporting Warnings from a Module
4755096e
GS
2300
2301=back
2302
41630250
JH
2303=item TODO
2304
4755096e
GS
2305=item SEE ALSO
2306
41630250 2307=item AUTHOR
4755096e
GS
2308
2309=back
2310
41630250 2311=head2 perldebug - Perl debugging
ba62762e
JH
2312
2313=over 4
2314
2315=item DESCRIPTION
2316
41630250 2317=item The Perl Debugger
ba62762e 2318
41630250 2319=over 4
b2deec1d 2320
41630250 2321=item Debugger Commands
ba62762e 2322
41630250
JH
2323h, h [command], h h, p expr, x [maxdepth] expr, V [pkg [vars]], X [vars], y
2324[level [vars]], T, s [expr], n [expr], r, <CR>, c [line|sub], l, l
2325min+incr, l min-max, l line, l subname, -, v [line], f filename, /pattern/,
2326?pattern?, L [abw], S [[!]regex], t, t expr, b, b [line] [condition], b
2327subname [condition], b postpone subname [condition], b load filename, b
2328compile subname, B line, B *, a [line] command, A line, A *, w expr, W
2329expr, W *, o, o booloption .., o anyoption? .., o option=value .., < ?, < [
2330command ], < *, << command, > ?, > command, > *, >> command, { ?, { [
2331command ], { *, {{ command, ! number, ! -number, ! pattern, !! cmd, source
2332file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man
2333[manpage]
ba62762e 2334
41630250 2335=item Configurable Options
ba62762e 2336
41630250
JH
2337C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
2338C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
2339C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<windowSize>,
2340C<arrayDepth>, C<hashDepth>, C<dumpDepth>, C<compactDump>, C<veryCompact>,
2341C<globPrint>, C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<quote>,
2342C<HighBit>, C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>,
2343C<NonStop>
ba62762e 2344
41630250 2345=item Debugger input/output
3ecb3787 2346
41630250
JH
2347Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
2348listing
ba62762e 2349
41630250 2350=item Debugging compile-time statements
ba62762e 2351
41630250 2352=item Debugger Customization
ba62762e 2353
41630250 2354=item Readline Support
ba62762e 2355
41630250 2356=item Editor Support for Debugging
ba62762e 2357
41630250 2358=item The Perl Profiler
ba62762e
JH
2359
2360=back
2361
41630250 2362=item Debugging regular expressions
34babc16 2363
41630250 2364=item Debugging memory usage
ba62762e 2365
41630250 2366=item SEE ALSO
ba62762e 2367
41630250 2368=item BUGS
ba62762e
JH
2369
2370=back
2371
41630250 2372=head2 perlvar - Perl predefined variables
4755096e 2373
d420ca49 2374=over 4
4755096e
GS
2375
2376=item DESCRIPTION
2377
d420ca49 2378=over 4
4755096e 2379
41630250 2380=item Predefined Names
ba62762e 2381
41630250
JH
2382$ARG, $_, $a, $b, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
2383$LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+,
2384HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $,
2385IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/,
2386HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|,
2387IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
2388IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS,
1e54db1a 2389$\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $#,
41630250
JH
2390HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%,
2391HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $=,
2392HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START,
2393@-, C<$`> is the same as C<substr($var, 0, $-[0])>, C<$&> is the same as
2394C<substr($var, $-[0], $+[0] - $-[0])>, C<$'> is the same as C<substr($var,
2395$+[0])>, C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2>
2396is the same as C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as
2397C<substr $var, $-[3], $+[3] - $-[3])>, HANDLE->format_name(EXPR),
2398$FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^,
2399IO::Handle->format_line_break_characters EXPR,
2400$FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR,
2401$FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, ${^ENCODING},
2402$OS_ERROR, $ERRNO, $!, %!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@,
2403$PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID,
2404$>, $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $),
2405$PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, $DEBUGGING, $^D,
2406$SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O,
2407${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
24080x100, 0x200, 0x400, $LAST_REGEXP_CODE_RESULT, $^R,
2409$EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, ${^TAINT}, ${^UNICODE},
2410$PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, $EXECUTABLE_NAME, $^X,
2411ARGV, $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG,
2412$SIG{expr}
ba62762e 2413
41630250 2414=item Error Indicators
b2deec1d 2415
41630250 2416=item Technical Note on the Syntax of Variable Names
8b9c797b 2417
41630250 2418=back
8b9c797b 2419
41630250 2420=item BUGS
37b1fd75 2421
ba62762e
JH
2422=back
2423
41630250 2424=head2 perlre - Perl regular expressions
4755096e 2425
d8416318
JH
2426=over 4
2427
41630250 2428=item DESCRIPTION
d8416318 2429
41630250 2430i, m, s, x
d8416318 2431
41630250 2432=over 4
d8416318 2433
41630250
JH
2434=item Regular Expressions
2435
2436[1], [2], [3], cntrl, graph, print, punct, xdigit
2437
2438=item Extended Patterns
2439
2440C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
2441C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
2442code })>, C<(??{ code })>, C<< (?>pattern) >>,
2443C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
2444
2445=item Backtracking
2446
2447=item Version 8 Regular Expressions
2448
2449=item Warning on \1 vs $1
2450
2451=item Repeated patterns matching zero-length substring
2452
2453=item Combining pieces together
2454
2455C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
2456C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
2457C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
2458C<(?(condition)yes-pattern|no-pattern)>
2459
2460=item Creating custom RE engines
2a551100 2461
d8416318
JH
2462=back
2463
41630250
JH
2464=item BUGS
2465
b2deec1d
JH
2466=item SEE ALSO
2467
4755096e
GS
2468=back
2469
41630250 2470=head2 perlreref - Perl Regular Expressions Reference
4755096e 2471
d420ca49 2472=over 4
4755096e 2473
d396a558 2474=item DESCRIPTION
4755096e 2475
d420ca49 2476=over 4
4755096e 2477
41630250 2478=item OPERATORS
4755096e 2479
41630250 2480=item SYNTAX
4755096e 2481
41630250 2482=item ESCAPE SEQUENCES
4755096e 2483
41630250 2484=item CHARACTER CLASSES
4755096e 2485
41630250 2486=item ANCHORS
4755096e 2487
41630250 2488=item QUANTIFIERS
4755096e 2489
41630250 2490=item EXTENDED CONSTRUCTS
4755096e 2491
41630250 2492=item VARIABLES
4755096e 2493
41630250 2494=item FUNCTIONS
b2deec1d 2495
41630250 2496=item TERMINOLOGY
b2deec1d 2497
41630250 2498=back
41ca3a40 2499
41630250
JH
2500=item AUTHOR
2501
2502=item SEE ALSO
2503
2504=item THANKS
ff426ff2 2505
4755096e
GS
2506=back
2507
41630250 2508=head2 perlref - Perl references and nested data structures
4755096e 2509
41630250 2510=over 4
4755096e 2511
41630250 2512=item NOTE
4755096e 2513
41630250 2514=item DESCRIPTION
4755096e 2515
d420ca49 2516=over 4
37d4d706 2517
41630250 2518=item Making References
37d4d706 2519
41630250 2520=item Using References
37d4d706 2521
41630250 2522=item Symbolic references
37d4d706 2523
41630250 2524=item Not-so-symbolic references
37d4d706 2525
41630250 2526=item Pseudo-hashes: Using an array as a hash
4755096e 2527
41630250 2528=item Function Templates
4755096e 2529
41630250 2530=back
4755096e 2531
41630250 2532=item WARNING
4755096e 2533
41630250 2534=item SEE ALSO
4755096e 2535
41630250 2536=back
4755096e 2537
41630250 2538=head2 perlform - Perl formats
4755096e 2539
41630250 2540=over 4
4755096e 2541
41630250 2542=item DESCRIPTION
4755096e 2543
41630250 2544=over 4
4755096e 2545
41630250 2546=item Format Variables
4755096e
GS
2547
2548=back
2549
41630250 2550=item NOTES
37d4d706 2551
d420ca49 2552=over 4
37d4d706 2553
41630250 2554=item Footers
37d4d706 2555
41630250 2556=item Accessing Formatting Internals
37d4d706 2557
41630250 2558=back
37d4d706 2559
41630250 2560=item WARNINGS
37d4d706
JH
2561
2562=back
2563
41630250 2564=head2 perlobj - Perl objects
4755096e 2565
41630250 2566=over 4
4755096e 2567
41630250 2568=item DESCRIPTION
4755096e 2569
d420ca49 2570=over 4
4755096e 2571
41630250 2572=item An Object is Simply a Reference
7029d033 2573
41630250 2574=item A Class is Simply a Package
4755096e 2575
41630250 2576=item A Method is Simply a Subroutine
4755096e 2577
41630250 2578=item Method Invocation
4755096e 2579
41630250 2580=item Indirect Object Syntax
4755096e 2581
41630250 2582=item Default UNIVERSAL methods
4755096e 2583
41630250 2584isa(CLASS), can(METHOD), VERSION( [NEED] )
4755096e 2585
41630250 2586=item Destructors
9fa7f388 2587
41630250 2588=item Summary
b3b6085d 2589
41630250 2590=item Two-Phased Garbage Collection
c2e66d9e 2591
41630250 2592=back
41ca3a40 2593
41630250 2594=item SEE ALSO
4755096e
GS
2595
2596=back
2597
41630250 2598=head2 perltie - how to hide an object class in a simple variable
4755096e 2599
d420ca49 2600=over 4
4755096e 2601
41630250
JH
2602=item SYNOPSIS
2603
4755096e
GS
2604=item DESCRIPTION
2605
d420ca49 2606=over 4
4755096e 2607
41630250 2608=item Tying Scalars
4755096e 2609
41630250
JH
2610TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this,
2611DESTROY this
4755096e 2612
41630250 2613=item Tying Arrays
c2e66d9e 2614
41630250
JH
2615TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2616FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
2617key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this,
2618UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY
2619this
c2e66d9e 2620
41630250 2621=item Tying Hashes
4755096e 2622
41630250
JH
2623USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2624this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2625this, NEXTKEY this, lastkey, UNTIE this, DESTROY this
d8416318 2626
41630250
JH
2627=item Tying FileHandles
2628
2629TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2630LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this,
2631DESTROY this
2632
2633=item UNTIE this
2634
2635=item The C<untie> Gotcha
0d53b15f 2636
4755096e
GS
2637=back
2638
c2e66d9e
GS
2639=item SEE ALSO
2640
41630250 2641=item BUGS
4755096e 2642
41630250 2643=item AUTHOR
4755096e 2644
41630250 2645=back
4755096e 2646
41630250 2647=head2 perldbmfilter - Perl DBM Filters
4755096e 2648
d420ca49 2649=over 4
4755096e 2650
41630250 2651=item SYNOPSIS
4755096e 2652
41630250 2653=item DESCRIPTION
4755096e 2654
41630250
JH
2655B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
2656B<filter_fetch_value>
4755096e 2657
41630250 2658=over 4
4755096e 2659
41630250 2660=item The Filter
4755096e 2661
41630250
JH
2662=item An Example -- the NULL termination problem.
2663
2664=item Another Example -- Key is a C int.
a6fb92f1 2665
4755096e
GS
2666=back
2667
c2e66d9e 2668=item SEE ALSO
4755096e 2669
41630250
JH
2670=item AUTHOR
2671
c2e66d9e 2672=back
4755096e 2673
41630250
JH
2674=head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2675safe subprocesses, sockets, and semaphores)
35bf961c
JH
2676
2677=over 4
2678
2679=item DESCRIPTION
2680
41630250
JH
2681=item Signals
2682
35bf961c
JH
2683=over 4
2684
41630250 2685=item Handling the SIGHUP Signal in Daemons
35bf961c
JH
2686
2687=back
2688
41630250 2689=item Named Pipes
35bf961c 2690
41630250 2691=over 4
35bf961c 2692
d53e588d 2693=item Deferred Signals (Safe Signals)
35bf961c 2694
41630250
JH
2695Long running opcodes, Interrupting IO, Restartable system calls, Signals as
2696"faults", Signals triggered by operating system state
35bf961c
JH
2697
2698=back
2699
41630250 2700=item Using open() for IPC
4755096e 2701
d420ca49 2702=over 4
4755096e 2703
41630250 2704=item Filehandles
4755096e 2705
41630250 2706=item Background Processes
4755096e 2707
41630250 2708=item Complete Dissociation of Child from Parent
4755096e 2709
41630250 2710=item Safe Pipe Opens
4755096e 2711
41630250 2712=item Bidirectional Communication with Another Process
4755096e 2713
41630250 2714=item Bidirectional Communication with Yourself
4755096e 2715
c2e66d9e 2716=back
4755096e 2717
41630250 2718=item Sockets: Client/Server Communication
4755096e 2719
603b90a8
JH
2720=over 4
2721
41630250 2722=item Internet Line Terminators
5df44211 2723
41630250 2724=item Internet TCP Clients and Servers
603b90a8 2725
41630250 2726=item Unix-Domain TCP Clients and Servers
5df44211 2727
41630250 2728=back
603b90a8 2729
41630250 2730=item TCP Clients with IO::Socket
5df44211 2731
41630250 2732=over 4
603b90a8 2733
41630250 2734=item A Simple Client
5df44211 2735
41630250 2736C<Proto>, C<PeerAddr>, C<PeerPort>
603b90a8 2737
41630250 2738=item A Webget Client
5df44211 2739
41630250 2740=item Interactive Client with IO::Socket
5df44211 2741
603b90a8 2742=back
4755096e 2743
41630250 2744=item TCP Servers with IO::Socket
4755096e 2745
41630250 2746Proto, LocalPort, Listen, Reuse
4755096e 2747
41630250 2748=item UDP: Message Passing
4755096e 2749
41630250 2750=item SysV IPC
4755096e 2751
41630250 2752=item NOTES
4755096e 2753
41630250 2754=item BUGS
4755096e 2755
41630250
JH
2756=item AUTHOR
2757
2758=item SEE ALSO
4755096e 2759
c2e66d9e 2760=back
4755096e 2761
41630250 2762=head2 perlfork - Perl's fork() emulation
4755096e 2763
d420ca49 2764=over 4
4755096e 2765
41630250 2766=item SYNOPSIS
35bf961c 2767
41630250 2768=item DESCRIPTION
4755096e 2769
d420ca49 2770=over 4
4755096e 2771
41630250 2772=item Behavior of other Perl features in forked pseudo-processes
4755096e 2773
41630250
JH
2774$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2775filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2776files, directories and network sockets
35bf961c 2777
41630250 2778=item Resource limits
35bf961c 2779
41630250 2780=item Killing the parent process
35bf961c 2781
41630250 2782=item Lifetime of the parent process and pseudo-processes
4755096e 2783
41630250 2784=item CAVEATS AND LIMITATIONS
4755096e 2785
41630250
JH
2786BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
2787Global state maintained by XSUBs, Interpreter embedded in larger
2788application, Thread-safety of extensions
a9ef4385 2789
41630250 2790=back
c2e66d9e 2791
41630250 2792=item BUGS
c2e66d9e 2793
41630250 2794=item AUTHOR
35bf961c 2795
41630250 2796=item SEE ALSO
35bf961c
JH
2797
2798=back
2799
41630250 2800=head2 perlnumber - semantics of numbers and numeric operations in Perl
35bf961c
JH
2801
2802=over 4
2803
41630250 2804=item SYNOPSIS
35bf961c 2805
41630250 2806=item DESCRIPTION
35bf961c 2807
41630250 2808=item Storing numbers
35bf961c 2809
41630250 2810=item Numeric operators and numeric conversions
35bf961c 2811
41630250 2812=item Flavors of Perl numeric operations
35bf961c 2813
41630250
JH
2814Arithmetic operators, ++, Arithmetic operators during C<use integer>, Other
2815mathematical operators, Bitwise operators, Bitwise operators during C<use
2816integer>, Operators which expect an integer, Operators which expect a
2817string
2818
2819=item AUTHOR
2820
2821=item SEE ALSO
35bf961c
JH
2822
2823=back
2824
41630250 2825=head2 perlthrtut - tutorial on threads in Perl
35bf961c
JH
2826
2827=over 4
2828
41630250 2829=item DESCRIPTION
35bf961c 2830
41630250 2831=item Status
2a551100 2832
41630250 2833=item What Is A Thread Anyway?
35bf961c 2834
41630250 2835=item Threaded Program Models
35bf961c
JH
2836
2837=over 4
2838
41630250 2839=item Boss/Worker
35bf961c 2840
41630250 2841=item Work Crew
35bf961c 2842
41630250 2843=item Pipeline
35bf961c
JH
2844
2845=back
2846
41630250 2847=item What kind of threads are Perl threads?
35bf961c 2848
41630250 2849=item Thread-Safe Modules
35bf961c 2850
41630250 2851=item Thread Basics
35bf961c 2852
41630250 2853=over 4
35bf961c 2854
41630250 2855=item Basic Thread Support
35bf961c 2856
41630250 2857=item A Note about the Examples
35bf961c 2858
41630250 2859=item Creating Threads
35bf961c 2860
41630250 2861=item Waiting For A Thread To Exit
35bf961c 2862
41630250 2863=item Ignoring A Thread
4755096e
GS
2864
2865=back
2866
41630250 2867=item Threads And Data
4755096e 2868
d420ca49 2869=over 4
4755096e 2870
41630250 2871=item Shared And Unshared Data
4755096e 2872
41630250 2873=item Thread Pitfalls: Races
4755096e 2874
41630250 2875=back
4755096e 2876
41630250 2877=item Synchronization and control
4755096e 2878
41630250 2879=over 4
4755096e 2880
41630250 2881=item Controlling access: lock()
4755096e 2882
41630250 2883=item A Thread Pitfall: Deadlocks
4755096e 2884
41630250 2885=item Queues: Passing Data Around
4755096e 2886
41630250 2887=item Semaphores: Synchronizing Data Access
4755096e 2888
41630250 2889=item Basic semaphores
4755096e 2890
41630250 2891=item Advanced Semaphores
4755096e 2892
41630250 2893=item cond_wait() and cond_signal()
4755096e 2894
41630250 2895=item Giving up control
4755096e
GS
2896
2897=back
2898
41630250 2899=item General Thread Utility Routines
4755096e 2900
d420ca49 2901=over 4
4755096e 2902
41630250 2903=item What Thread Am I In?
4755096e 2904
41630250 2905=item Thread IDs
4755096e 2906
41630250 2907=item Are These Threads The Same?
4755096e 2908
41630250 2909=item What Threads Are Running?
4755096e 2910
41630250 2911=back
4755096e 2912
41630250 2913=item A Complete Example
4755096e 2914
41630250 2915=item Different implementations of threads
0d53b15f 2916
41630250 2917=item Performance considerations
4755096e 2918
41630250 2919=item Process-scope Changes
4755096e 2920
41630250 2921=item Thread-Safety of System Libraries
4755096e 2922
41630250 2923=item Conclusion
4755096e 2924
41630250 2925=item Bibliography
4755096e 2926
41630250 2927=over 4
4755096e 2928
41630250 2929=item Introductory Texts
4755096e 2930
41630250 2931=item OS-Related References
4755096e 2932
41630250 2933=item Other References
4755096e 2934
41630250 2935=back
4755096e 2936
41630250 2937=item Acknowledgements
4755096e 2938
41630250 2939=item AUTHOR
4755096e 2940
41630250 2941=item Copyrights
4755096e
GS
2942
2943=back
2944
41630250 2945=head2 perlothrtut - old tutorial on threads in Perl
4755096e 2946
d420ca49 2947=over 4
4755096e
GS
2948
2949=item DESCRIPTION
2950
41630250 2951=item What Is A Thread Anyway?
4755096e 2952
41630250 2953=item Threaded Program Models
4755096e 2954
41630250 2955=over 4
4755096e 2956
41630250 2957=item Boss/Worker
4755096e 2958
41630250 2959=item Work Crew
4755096e 2960
41630250 2961=item Pipeline
4755096e 2962
41630250 2963=back
4755096e 2964
41630250 2965=item Native threads
4755096e 2966
41630250 2967=item What kind of threads are perl threads?
4755096e 2968
41630250 2969=item Threadsafe Modules
4755096e 2970
41630250 2971=item Thread Basics
4755096e 2972
41630250 2973=over 4
4755096e 2974
41630250 2975=item Basic Thread Support
4755096e 2976
41630250 2977=item Creating Threads
4755096e 2978
41630250 2979=item Giving up control
4755096e 2980
41630250 2981=item Waiting For A Thread To Exit
4755096e 2982
41630250 2983=item Errors In Threads
4755096e 2984
41630250