This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
arithmetic fix for skipped tests on VMS
[perl5.git] / pod / perltoc.pod
CommitLineData
cb1a09d0
AD
1
2=head1 NAME
3
4perltoc - perl documentation table of contents
5
6=head1 DESCRIPTION
7
8This page provides a brief table of contents for the rest of the Perl
28757baa 9documentation set. It is meant to be scanned quickly or grepped
402d0d99 10through to locate the proper section you're looking for.
cb1a09d0
AD
11
12=head1 BASIC DOCUMENTATION
13
cb1a09d0
AD
14=head2 perl - Practical Extraction and Report Language
15
d420ca49 16=over 4
a45bd81d 17
cb1a09d0
AD
18=item SYNOPSIS
19
69fba242
JH
20=over 4
21
22=item Overview
23
24=item Tutorials
25
cb52f95f
JH
26=item Reference Manual
27
69fba242
JH
28=item Internals and C Language Interface
29
30=item Miscellaneous
31
32=item Platform-Specific
33
34=back
35
cb1a09d0
AD
36=item DESCRIPTION
37
14218588 38=item AVAILABILITY
cb1a09d0
AD
39
40=item ENVIRONMENT
41
cb1a09d0
AD
42=item AUTHOR
43
cb1a09d0
AD
44=item FILES
45
cb1a09d0
AD
46=item SEE ALSO
47
cb1a09d0
AD
48=item DIAGNOSTICS
49
cb1a09d0
AD
50=item BUGS
51
cb1a09d0
AD
52=item NOTES
53
a45bd81d
GS
54=back
55
10151d09
JH
56=head2 perlintro -- a brief introduction and overview of Perl
57
58=over 4
59
60=item DESCRIPTION
61
62=over 4
63
64=item What is Perl?
65
66=item Running Perl programs
67
68=item Basic syntax overview
69
70=item Perl variable types
71
72Scalars, Arrays, Hashes
73
74=item Variable scoping
75
76=item Conditional and looping constructs
77
78if, while, for, foreach
79
80=item Builtin operators and functions
81
82Arithmetic, Numeric comparison, String comparison, Boolean logic,
83Miscellaneous
84
85=item Files and I/O
86
87=item Regular expressions
88
89Simple matching, Simple substitution, More complex regular expressions,
90Parentheses for capturing, Other regexp features
91
92=item Writing subroutines
93
94=item OO Perl
95
96=item Using Perl modules
97
98=back
99
100=item AUTHOR
101
102=back
103
428dc699
JH
104=head2 perlfaq - frequently asked questions about Perl ($Date: 2001/11/19
10517:09:37 $)
68dc0745 106
d420ca49 107=over 4
a45bd81d 108
68dc0745
PP
109=item DESCRIPTION
110
983dbef6 111=over 4
68dc0745 112
983dbef6 113=item perlfaq: Structural overview of the FAQ.
68dc0745 114
983dbef6 115=item L<perlfaq1>: General Questions About Perl
68dc0745 116
983dbef6 117=item L<perlfaq2>: Obtaining and Learning about Perl
68dc0745 118
983dbef6 119=item L<perlfaq3>: Programming Tools
68dc0745 120
983dbef6 121=item L<perlfaq4>: Data Manipulation
68dc0745 122
983dbef6 123=item L<perlfaq5>: Files and Formats
68dc0745 124
983dbef6 125=item L<perlfaq6>: Regexps
68dc0745 126
983dbef6 127=item L<perlfaq7>: General Perl Language Issues
68dc0745 128
983dbef6 129=item L<perlfaq8>: System Interaction
68dc0745 130
983dbef6 131=item L<perlfaq9>: Networking
68dc0745 132
a45bd81d
GS
133=back
134
983dbef6 135=item About the perlfaq documents
68dc0745 136
d420ca49 137=over 4
a45bd81d 138
983dbef6 139=item Where to get the perlfaq
68dc0745 140
983dbef6 141=item How to contribute to the perlfaq
68dc0745 142
983dbef6
JH
143=item What will happen if you mail your Perl programming problems to the
144authors
68dc0745 145
983dbef6 146=back
68dc0745 147
983dbef6 148=item Credits
68dc0745 149
983dbef6 150=item Author and Copyright Information
68dc0745 151
983dbef6
JH
152=over 4
153
154=item Bundled Distributions
155
156=item Disclaimer
68dc0745 157
4755096e 158=back
68dc0745 159
983dbef6
JH
160=item Changes
161
1621/November/2000, 23/May/99, 13/April/99, 7/January/99, 22/June/98,
16324/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version,
164Initial Release: 11/March/97
165
4755096e 166=back
68dc0745 167
4755096e 168=head2 perlbook - Perl book information
68dc0745 169
d420ca49 170=over 4
68dc0745 171
4755096e 172=item DESCRIPTION
68dc0745 173
a45bd81d
GS
174=back
175
4755096e 176=head2 perlsyn - Perl syntax
a45bd81d 177
d420ca49 178=over 4
68dc0745
PP
179
180=item DESCRIPTION
181
d420ca49 182=over 4
68dc0745 183
4755096e 184=item Declarations
68dc0745 185
4755096e 186=item Simple statements
68dc0745 187
4755096e 188=item Compound statements
3fe9a6f1 189
4755096e 190=item Loop Control
68dc0745 191
4755096e 192=item For Loops
68dc0745 193
4755096e 194=item Foreach Loops
68dc0745 195
4755096e 196=item Basic BLOCKs and Switch Statements
68dc0745 197
4755096e 198=item Goto
68dc0745 199
4755096e 200=item PODs: Embedded Documentation
68dc0745 201
4755096e 202=item Plain Old Comments (Not!)
68dc0745 203
4755096e 204=back
68dc0745 205
4755096e 206=back
193fb0af 207
4755096e 208=head2 perldata - Perl data types
68dc0745 209
d420ca49 210=over 4
68dc0745 211
4755096e 212=item DESCRIPTION
68dc0745 213
d420ca49 214=over 4
68dc0745 215
4755096e 216=item Variable names
68dc0745 217
4755096e 218=item Context
68dc0745 219
4755096e
GS
220=item Scalar values
221
222=item Scalar value constructors
223
224=item List value constructors
225
226=item Slices
227
228=item Typeglobs and Filehandles
68dc0745
PP
229
230=back
231
4755096e 232=item SEE ALSO
68dc0745 233
a45bd81d
GS
234=back
235
4755096e 236=head2 perlop - Perl operators and precedence
68dc0745 237
d420ca49 238=over 4
a45bd81d 239
4755096e
GS
240=item SYNOPSIS
241
68dc0745
PP
242=item DESCRIPTION
243
d420ca49 244=over 4
68dc0745 245
4755096e 246=item Terms and List Operators (Leftward)
68dc0745 247
4755096e 248=item The Arrow Operator
68dc0745 249
4755096e 250=item Auto-increment and Auto-decrement
68dc0745 251
4755096e 252=item Exponentiation
68dc0745 253
4755096e 254=item Symbolic Unary Operators
68dc0745 255
4755096e 256=item Binding Operators
68dc0745 257
4755096e 258=item Multiplicative Operators
68dc0745 259
4755096e 260=item Additive Operators
68dc0745 261
4755096e 262=item Shift Operators
14218588 263
4755096e 264=item Named Unary Operators
68dc0745 265
4755096e 266=item Relational Operators
68dc0745 267
4755096e 268=item Equality Operators
68dc0745 269
4755096e 270=item Bitwise And
68dc0745 271
4755096e 272=item Bitwise Or and Exclusive Or
68dc0745 273
4755096e 274=item C-style Logical And
68dc0745 275
4755096e 276=item C-style Logical Or
68dc0745 277
4755096e 278=item Range Operators
68dc0745 279
4755096e 280=item Conditional Operator
68dc0745 281
4755096e 282=item Assignment Operators
68dc0745 283
4755096e 284=item Comma Operator
68dc0745 285
4755096e 286=item List Operators (Rightward)
68dc0745 287
4755096e 288=item Logical Not
68dc0745 289
4755096e 290=item Logical And
14218588 291
4755096e 292=item Logical or and Exclusive Or
68dc0745 293
4755096e 294=item C Operators Missing From Perl
68dc0745 295
4755096e 296unary &, unary *, (TYPE)
68dc0745 297
4755096e 298=item Quote and Quote-like Operators
68dc0745 299
4755096e 300=item Regexp Quote-Like Operators
68dc0745 301
4755096e 302?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
2d967e39
JH
303qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
304s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
35bf961c 305y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF
68dc0745 306
4755096e 307=item Gory details of parsing quoted constructs
68dc0745 308
4755096e
GS
309Finding the end, Removal of backslashes before delimiters, Interpolation,
310C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
311C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
312C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
313regular expressions
68dc0745 314
4755096e 315=item I/O Operators
68dc0745 316
4755096e 317=item Constant Folding
68dc0745 318
4755096e
GS
319=item Bitwise String Operators
320
321=item Integer Arithmetic
322
323=item Floating-point Arithmetic
324
325=item Bigger Numbers
68dc0745 326
a45bd81d
GS
327=back
328
4755096e
GS
329=back
330
c2e66d9e
GS
331=head2 perlsub - Perl subroutines
332
d420ca49 333=over 4
c2e66d9e
GS
334
335=item SYNOPSIS
336
337=item DESCRIPTION
338
d420ca49 339=over 4
c2e66d9e
GS
340
341=item Private Variables via my()
342
343=item Persistent Private Variables
344
345=item Temporary Values via local()
346
347=item Lvalue subroutines
348
349=item Passing Symbol Table Entries (typeglobs)
350
351=item When to Still Use local()
352
c2e66d9e
GS
353=item Pass by Reference
354
355=item Prototypes
356
357=item Constant Functions
358
359=item Overriding Built-in Functions
360
361=item Autoloading
362
363=item Subroutine Attributes
364
365=back
366
367=item SEE ALSO
368
369=back
370
371=head2 perlfunc - Perl builtin functions
372
d420ca49 373=over 4
c2e66d9e
GS
374
375=item DESCRIPTION
376
d420ca49 377=over 4
c2e66d9e
GS
378
379=item Perl Functions by Category
380
381Functions for SCALARs or strings, Regular expressions and pattern matching,
382Numeric functions, Functions for real @ARRAYs, Functions for list data,
383Functions for real %HASHes, Input and output functions, Functions for fixed
384length data or records, Functions for filehandles, files, or directories,
385Keywords related to the control flow of your perl program, Keywords related
386to scoping, Miscellaneous functions, Functions for processes and process
387groups, Keywords related to perl modules, Keywords related to classes and
388object-orientedness, Low-level socket functions, System V interprocess
389communication functions, Fetching user and group info, Fetching network
390info, Time-related functions, Functions new in perl5, Functions obsoleted
391in perl5
392
393=item Portability
394
395=item Alphabetical Listing of Perl Functions
396
397I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
398NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
399binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME,
400bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE,
07fcf8ff
JH
401chomp( LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr
402NUMBER, chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir
403DIRHANDLE, connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt
404PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR,
405defined, delete EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR,
406dump LABEL, dump, each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval
407BLOCK, exec LIST, exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp,
408fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock
409FILEHANDLE,OPERATION, fork, format, formline PICTURE,LIST, getc FILEHANDLE,
410getc, getlogin, getpeername SOCKET, getpgrp PID, getppid, getpriority
411WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME, getnetbyname
412NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname
413NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE,
414getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent,
415gethostent, getnetent, getprotoent, getservent, setpwent, setgrent,
416sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent
417STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent,
418endservent, getsockname SOCKET, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR,
419glob, gmtime EXPR, goto LABEL, goto EXPR, goto &NAME, grep BLOCK LIST, grep
420EXPR,LIST, hex EXPR, hex, import, index STR,SUBSTR,POSITION, index
421STR,SUBSTR, int EXPR, int, ioctl FILEHANDLE,FUNCTION,SCALAR, join
422EXPR,LIST, keys HASH, kill SIGNAL, LIST, last LABEL, last, lc EXPR, lc,
423lcfirst EXPR, lcfirst, length EXPR, length, link OLDFILE,NEWFILE, listen
428dc699
JH
424SOCKET,QUEUESIZE, local EXPR, localtime EXPR, lock THING, log EXPR, log,
425lstat EXPR, lstat, m//, map BLOCK LIST, map EXPR,LIST, mkdir FILENAME,MASK,
426mkdir FILENAME, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgrcv
07fcf8ff
JH
427ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my EXPR : ATTRIBUTES,
428next LABEL, next, no Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open
429FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,
430opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, our EXPR : ATTRIBUTES,
431pack TEMPLATE,LIST, package NAMESPACE, package, pipe
772ff3b9
JH
432READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, print FILEHANDLE
433LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, printf FORMAT,
434LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, qq/STRING/,
435qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, rand EXPR,
436rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH,
437readdir DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR,
438recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename
245d750e
JH
439OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset,
440return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
441STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
442EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
443FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
444ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
c2e66d9e
GS
445SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
446WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
447shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
448shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
80cbd5ad
JH
449EXPR, sleep, sockatmark SOCKET, socket SOCKET,DOMAIN,TYPE,PROTOCOL,
450socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort
451BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice
452ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split
453/PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR, split /PATTERN/, split, sprintf
454FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR, srand, stat FILEHANDLE, stat
455EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME, sub NAME BLOCK,
456substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
c2e66d9e
GS
457EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
458FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
459FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
460FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
461FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
462syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
463VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
464FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
465ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
466TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
467use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
468values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
469LIST, write FILEHANDLE, write EXPR, write, y///
470
471=back
472
473=back
474
4755096e 475=head2 perlreftut - Mark's very short tutorial about references
68dc0745 476
d420ca49 477=over 4
a45bd81d 478
68dc0745
PP
479=item DESCRIPTION
480
4755096e
GS
481=item Who Needs Complicated Data Structures?
482
483=item The Solution
484
485=item Syntax
68dc0745 486
d420ca49 487=over 4
68dc0745 488
4755096e 489=item Making References
46fc3d4c 490
4755096e 491=item Using References
68dc0745 492
4755096e 493=back
68dc0745 494
4755096e 495=item An Example
68dc0745 496
4755096e 497=item Arrow Rule
14218588 498
4755096e 499=item Solution
68dc0745 500
4755096e 501=item The Rest
68dc0745 502
4755096e 503=item Summary
68dc0745 504
4755096e
GS
505=item Credits
506
d420ca49 507=over 4
4755096e
GS
508
509=item Distribution Conditions
68dc0745
PP
510
511=back
512
4755096e
GS
513=back
514
515=head2 perldsc - Perl Data Structures Cookbook
68dc0745 516
d420ca49 517=over 4
68dc0745 518
4755096e 519=item DESCRIPTION
68dc0745 520
4755096e
GS
521arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
522more elaborate constructs
14218588 523
4755096e 524=item REFERENCES
68dc0745 525
4755096e 526=item COMMON MISTAKES
68dc0745 527
4755096e 528=item CAVEAT ON PRECEDENCE
68dc0745 529
4755096e 530=item WHY YOU SHOULD ALWAYS C<use strict>
14218588 531
4755096e 532=item DEBUGGING
68dc0745 533
4755096e 534=item CODE EXAMPLES
68dc0745 535
4755096e 536=item ARRAYS OF ARRAYS
68dc0745 537
d420ca49 538=over 4
68dc0745 539
ba62762e 540=item Declaration of an ARRAY OF ARRAYS
68dc0745 541
ba62762e 542=item Generation of an ARRAY OF ARRAYS
68dc0745 543
ba62762e 544=item Access and Printing of an ARRAY OF ARRAYS
68dc0745 545
4755096e 546=back
68dc0745 547
4755096e 548=item HASHES OF ARRAYS
68dc0745 549
d420ca49 550=over 4
68dc0745 551
4755096e 552=item Declaration of a HASH OF ARRAYS
68dc0745 553
4755096e 554=item Generation of a HASH OF ARRAYS
68dc0745 555
4755096e 556=item Access and Printing of a HASH OF ARRAYS
68dc0745 557
4755096e 558=back
68dc0745 559
4755096e 560=item ARRAYS OF HASHES
68dc0745 561
d420ca49 562=over 4
68dc0745 563
ba62762e 564=item Declaration of an ARRAY OF HASHES
68dc0745 565
ba62762e 566=item Generation of an ARRAY OF HASHES
68dc0745 567
ba62762e 568=item Access and Printing of an ARRAY OF HASHES
14218588 569
4755096e 570=back
68dc0745 571
4755096e 572=item HASHES OF HASHES
68dc0745 573
d420ca49 574=over 4
68dc0745 575
4755096e 576=item Declaration of a HASH OF HASHES
68dc0745 577
4755096e 578=item Generation of a HASH OF HASHES
68dc0745 579
4755096e 580=item Access and Printing of a HASH OF HASHES
68dc0745
PP
581
582=back
583
4755096e 584=item MORE ELABORATE RECORDS
68dc0745 585
d420ca49 586=over 4
68dc0745 587
4755096e 588=item Declaration of MORE ELABORATE RECORDS
14218588 589
4755096e 590=item Declaration of a HASH OF COMPLEX RECORDS
68dc0745 591
4755096e 592=item Generation of a HASH OF COMPLEX RECORDS
68dc0745 593
4755096e 594=back
68dc0745 595
4755096e 596=item Database Ties
68dc0745 597
4755096e 598=item SEE ALSO
68dc0745 599
4755096e 600=item AUTHOR
14218588 601
4755096e 602=back
68dc0745 603
4755096e 604=head2 perlrequick - Perl regular expressions quick start
68dc0745 605
d420ca49 606=over 4
68dc0745 607
4755096e 608=item DESCRIPTION
68dc0745 609
4755096e 610=item The Guide
68dc0745 611
d420ca49 612=over 4
68dc0745 613
4755096e 614=item Simple word matching
68dc0745 615
4755096e 616=item Using character classes
68dc0745 617
4755096e 618=item Matching this or that
68dc0745 619
4755096e 620=item Grouping things and hierarchical matching
68dc0745 621
4755096e 622=item Extracting matches
68dc0745 623
4755096e 624=item Matching repetitions
68dc0745 625
4755096e 626=item More matching
68dc0745 627
4755096e 628=item Search and replace
68dc0745 629
4755096e 630=item The split operator
68dc0745
PP
631
632=back
633
4755096e 634=item BUGS
68dc0745 635
4755096e 636=item SEE ALSO
68dc0745 637
4755096e 638=item AUTHOR AND COPYRIGHT
68dc0745 639
d420ca49 640=over 4
68dc0745 641
4755096e 642=item Acknowledgments
14218588 643
68dc0745
PP
644=back
645
a45bd81d
GS
646=back
647
8a93676d 648=head2 perlpod - the Plain Old Documentation format
68dc0745 649
d420ca49 650=over 4
a45bd81d 651
68dc0745
PP
652=item DESCRIPTION
653
d420ca49 654=over 4
68dc0745 655
8a93676d
SB
656=item Ordinary Paragraph
657
c2e66d9e 658=item Verbatim Paragraph
68dc0745 659
c2e66d9e 660=item Command Paragraph
68dc0745 661
8a93676d
SB
662C<=head1 I<Heading Text>>, C<=head2 I<Heading Text>>, C<=head3 I<Heading
663Text>>, C<=head4 I<Heading Text>>, C<=over I<indentlevel>>, C<=item
664I<stuff...>>, C<=back>, C<=cut>, C<=pod>, C<=begin I<formatname>>, C<=end
665I<formatname>>, C<=for I<formatname> I<text...>>
666
667=item Formatting Codes
668
669C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
670C<CE<lt>codeE<gt>> -- code text, C<LE<lt>nameE<gt>> -- a hyperlink,
671C<EE<lt>escapeE<gt>> -- a character escape, C<FE<lt>filenameE<gt>> -- used
672for filenames, C<SE<lt>textE<gt>> -- text contains non-breaking spaces,
673C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a null
674(zero-effect) formatting code
68dc0745 675
c2e66d9e 676=item The Intent
68dc0745 677
c2e66d9e 678=item Embedding Pods in Perl Modules
68dc0745 679
8a93676d
SB
680=item Hints for Writing Pod
681
682=back
683
684=item SEE ALSO
685
686=item AUTHOR
193fb0af 687
c2e66d9e 688=back
68dc0745 689
8a93676d
SB
690=head2 perlpodspec - Plain Old Documentation: format specification and
691notes
692
693=over 4
694
695=item DESCRIPTION
696
697=item Pod Definitions
698
699=item Pod Commands
700
701"=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item",
702"=back", "=begin formatname", "=end formatname", "=for formatname text..."
703
704=item Pod Formatting Codes
705
706C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
707C<CE<lt>codeE<gt>> -- code text, C<FE<lt>filenameE<gt>> -- style for
708filenames, C<XE<lt>topic nameE<gt>> -- an index entry, C<ZE<lt>E<gt>> -- a
709null (zero-effect) formatting code, C<LE<lt>nameE<gt>> -- a hyperlink,
710C<EE<lt>escapeE<gt>> -- a character escape, C<SE<lt>textE<gt>> -- text
711contains non-breaking spaces
712
713=item Notes on Implementing Pod Processors
714
715=item About LE<lt>...E<gt> Codes
716
717First:, Second:, Third:, Fourth:, Fifth:, Sixth:
718
719=item About =over...=back Regions
720
721=item About Data Paragraphs and "=begin/=end" Regions
722
c2e66d9e 723=item SEE ALSO
68dc0745 724
c2e66d9e 725=item AUTHOR
68dc0745 726
c2e66d9e 727=back
68dc0745 728
c2e66d9e 729=head2 perlstyle - Perl style guide
68dc0745 730
d420ca49 731=over 4
c2e66d9e
GS
732
733=item DESCRIPTION
68dc0745 734
4755096e 735=back
68dc0745 736
c2e66d9e 737=head2 perltrap - Perl traps for the unwary
68dc0745 738
d420ca49 739=over 4
68dc0745 740
c2e66d9e 741=item DESCRIPTION
68dc0745 742
d420ca49 743=over 4
68dc0745 744
c2e66d9e 745=item Awk Traps
68dc0745 746
c2e66d9e 747=item C Traps
4755096e 748
c2e66d9e 749=item Sed Traps
4755096e 750
c2e66d9e 751=item Shell Traps
4755096e 752
c2e66d9e 753=item Perl Traps
68dc0745 754
c2e66d9e 755=item Perl4 to Perl5 Traps
68dc0745 756
c2e66d9e
GS
757Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
758Traps, General data type traps, Context Traps - scalar, list contexts,
759Precedence Traps, General Regular Expression Traps using s///, etc,
760Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
761
762=item Discontinuance, Deprecation, and BugFix traps
763
764Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
765Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
766Discontinuance, Deprecation, Discontinuance, Discontinuance
767
768=item Parsing Traps
769
07fcf8ff 770Parsing, Parsing, Parsing, Parsing, Parsing
c2e66d9e
GS
771
772=item Numerical Traps
773
774Numerical, Numerical, Numerical, Bitwise string ops
775
776=item General data type traps
777
778(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
779(Constants), (Scalars), (Variable Suicide)
780
781=item Context Traps - scalar, list contexts
782
783(list context), (scalar context), (scalar context), (list, builtin)
784
785=item Precedence Traps
786
787Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
788Precedence
789
790=item General Regular Expression Traps using s///, etc.
791
792Regular Expression, Regular Expression, Regular Expression, Regular
793Expression, Regular Expression, Regular Expression, Regular Expression,
794Regular Expression
795
796=item Subroutine, Signal, Sorting Traps
797
798(Signals), (Sort Subroutine), warn() won't let you specify a filehandle
799
800=item OS Traps
801
802(SysV), (SysV)
803
804=item Interpolation Traps
805
806Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
807Interpolation, Interpolation, Interpolation, Interpolation
808
809=item DBM Traps
810
811DBM, DBM
812
813=item Unclassified Traps
814
815C<require>/C<do> trap using returned value, C<split> on empty string with
816LIMIT specified
68dc0745 817
4755096e 818=back
68dc0745 819
c2e66d9e 820=back
14218588 821
c2e66d9e 822=head2 perlrun - how to execute the Perl interpreter
68dc0745 823
d420ca49 824=over 4
c2e66d9e
GS
825
826=item SYNOPSIS
827
828=item DESCRIPTION
68dc0745 829
d420ca49 830=over 4
68dc0745 831
c2e66d9e
GS
832=item #! and quoting on non-Unix systems
833
834OS/2, MS-DOS, Win95/NT, Macintosh, VMS
835
836=item Location of Perl
837
838=item Command Switches
839
91e74348 840B<-0>[I<digits>], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I<foo[=bar,baz]>,
c2e66d9e
GS
841B<-D>I<letters>, B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>,
842B<-h>, B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
843B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
844B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
845B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
846B<-x> I<directory>
68dc0745 847
4755096e 848=back
68dc0745 849
c2e66d9e
GS
850=item ENVIRONMENT
851
852HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
853(specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL,
cb52f95f
JH
854PERL_ENCODING, PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to
855the VMS port)
c2e66d9e
GS
856
857=back
858
859=head2 perldiag - various Perl diagnostics
860
d420ca49 861=over 4
c2e66d9e
GS
862
863=item DESCRIPTION
864
4755096e 865=back
68dc0745 866
4755096e 867=head2 perllexwarn - Perl Lexical Warnings
68dc0745 868
d420ca49 869=over 4
68dc0745 870
4755096e 871=item DESCRIPTION
68dc0745 872
d420ca49 873=over 4
68dc0745 874
4755096e 875=item Default Warnings and Optional Warnings
14218588 876
4755096e 877=item What's wrong with B<-w> and C<$^W>
68dc0745 878
4755096e 879=item Controlling Warnings from the Command Line
68dc0745 880
4755096e 881B<-w>, B<-W>, B<-X>
a45bd81d 882
4755096e 883=item Backward Compatibility
68dc0745 884
4755096e 885=item Category Hierarchy
a45bd81d 886
4755096e 887=item Fatal Warnings
68dc0745 888
4755096e 889=item Reporting Warnings from a Module
68dc0745 890
4755096e 891=back
68dc0745 892
4755096e 893=item TODO
68dc0745 894
4755096e 895=item SEE ALSO
68dc0745 896
4755096e 897=item AUTHOR
68dc0745 898
4755096e 899=back
68dc0745 900
10862624
RF
901=head2 perldebtut - Perl debugging tutorial
902
d420ca49 903=over 4
10862624
RF
904
905=item DESCRIPTION
906
907=item use strict
908
d396a558
JH
909=item Looking at data and -w and w
910
911=item help
10862624
RF
912
913=item Stepping through code
914
915=item Placeholder for a, w, t, T
916
d396a558 917=item REGULAR EXPRESSIONS
10862624 918
d396a558 919=item OUTPUT TIPS
10862624
RF
920
921=item CGI
922
923=item GUIs
924
d396a558 925=item SUMMARY
10862624
RF
926
927=item SEE ALSO
928
929=item AUTHOR
930
931=item CONTRIBUTORS
932
933=back
934
4755096e 935=head2 perldebug - Perl debugging
68dc0745 936
d420ca49 937=over 4
68dc0745 938
4755096e 939=item DESCRIPTION
68dc0745 940
4755096e 941=item The Perl Debugger
68dc0745 942
d420ca49 943=over 4
68dc0745 944
4755096e 945=item Debugger Commands
68dc0745 946
4755096e
GS
947h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
948[expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
949-, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
950b [line] [condition], b subname [condition], b postpone subname
951[condition], b load filename, b compile subname, d [line], D, a [line]
952command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
953option=value .., < ?, < [ command ], << command, > ?, > command, >>
954command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
e61ecf27
JH
955cmd, @ file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man
956[manpage]
68dc0745 957
4755096e 958=item Configurable Options
68dc0745 959
4755096e
GS
960C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
961C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
a6fb92f1
JH
962C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<windowSize>,
963C<arrayDepth>, C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>,
964C<DumpDBFiles>, C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>,
965C<undefPrint>, C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>
68dc0745 966
4755096e 967=item Debugger input/output
68dc0745 968
4755096e
GS
969Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
970listing
68dc0745 971
4755096e 972=item Debugging compile-time statements
68dc0745 973
4755096e 974=item Debugger Customization
68dc0745 975
4755096e 976=item Readline Support
68dc0745 977
4755096e 978=item Editor Support for Debugging
68dc0745 979
4755096e 980=item The Perl Profiler
68dc0745 981
4755096e 982=back
68dc0745 983
4755096e 984=item Debugging regular expressions
68dc0745 985
4755096e 986=item Debugging memory usage
14218588 987
4755096e 988=item SEE ALSO
68dc0745 989
4755096e 990=item BUGS
68dc0745 991
a45bd81d
GS
992=back
993
c2e66d9e 994=head2 perlvar - Perl predefined variables
68dc0745 995
d420ca49 996=over 4
a45bd81d 997
68dc0745
PP
998=item DESCRIPTION
999
d420ca49 1000=over 4
68dc0745 1001
c2e66d9e 1002=item Predefined Names
68dc0745 1003
640374d0 1004$ARG, $_, $a, $b, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
354a27bf 1005$LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
53d7eaa8
JH
1006HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $,
1007IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/,
1008HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|,
2a2bf5f4
JH
1009IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,,
1010IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS,
1011$\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#,
53d7eaa8
JH
1012HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $%,
1013HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $=,
1014HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START,
2a2bf5f4
JH
1015@-, C<$`> is the same as C<substr($var, 0, $-[0])>, C<$&> is the same as
1016C<substr($var, $-[0], $+[0] - $-[0])>, C<$'> is the same as C<substr($var,
1017$+[0])>, C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2>
1018is the same as C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as
53d7eaa8
JH
1019C<substr $var, $-[3], $+[3] - $-[3])>, HANDLE->format_name(EXPR),
1020$FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^,
2a2bf5f4
JH
1021IO::Handle->format_line_break_characters EXPR,
1022$FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR,
cb52f95f
JH
1023$FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, ${^ENCODING},
1024$OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@,
1025$PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID,
1026$>, $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $),
1027$PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, $DEBUGGING, $^D,
1028$SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O,
428dc699
JH
1029${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
10300x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S,
1031$BASETIME, $^T, ${^TAINT}, $PERL_VERSION, $^V, $WARNING, $^W,
1032${^WARNING_BITS}, ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, ARGV,
1033$ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr}
68dc0745 1034
c2e66d9e 1035=item Error Indicators
68dc0745 1036
c2e66d9e 1037=item Technical Note on the Syntax of Variable Names
4755096e 1038
c2e66d9e
GS
1039=back
1040
1041=item BUGS
4755096e
GS
1042
1043=back
1044
c2e66d9e 1045=head2 perllol - Manipulating Arrays of Arrays in Perl
4755096e 1046
d420ca49 1047=over 4
c2e66d9e
GS
1048
1049=item DESCRIPTION
1050
4d4e713d
JH
1051=over 4
1052
c2e66d9e
GS
1053=item Declaration and Access of Arrays of Arrays
1054
1055=item Growing Your Own
1056
1057=item Access and Printing
1058
1059=item Slices
1060
4d4e713d
JH
1061=back
1062
c2e66d9e
GS
1063=item SEE ALSO
1064
1065=item AUTHOR
4755096e
GS
1066
1067=back
1068
c2e66d9e 1069=head2 perlopentut - tutorial on opening things in Perl
4755096e 1070
d420ca49 1071=over 4
4755096e
GS
1072
1073=item DESCRIPTION
1074
c2e66d9e
GS
1075=item Open E<agrave> la shell
1076
d420ca49 1077=over 4
4755096e 1078
c2e66d9e 1079=item Simple Opens
4755096e 1080
c2e66d9e 1081=item Pipe Opens
4755096e 1082
c2e66d9e 1083=item The Minus File
4755096e 1084
c2e66d9e 1085=item Mixing Reads and Writes
4755096e
GS
1086
1087=item Filters
1088
1089=back
1090
1091=item Open E<agrave> la C
1092
d420ca49 1093=over 4
4755096e
GS
1094
1095=item Permissions E<agrave> la mode
1096
1097=back
1098
1099=item Obscure Open Tricks
1100
d420ca49 1101=over 4
4755096e
GS
1102
1103=item Re-Opening Files (dups)
1104
1105=item Dispelling the Dweomer
1106
1107=item Paths as Opens
1108
1109=item Single Argument Open
1110
1111=item Playing with STDIN and STDOUT
1112
1113=back
1114
1115=item Other I/O Issues
1116
d420ca49 1117=over 4
4755096e
GS
1118
1119=item Opening Non-File Files
1120
1121=item Binary Files
1122
1123=item File Locking
1124
1125=back
1126
1127=item SEE ALSO
1128
1129=item AUTHOR and COPYRIGHT
1130
1131=item HISTORY
1132
1133=back
1134
c2e66d9e 1135=head2 perlretut - Perl regular expressions tutorial
4755096e 1136
d420ca49 1137=over 4
4755096e
GS
1138
1139=item DESCRIPTION
1140
c2e66d9e 1141=item Part 1: The basics
4755096e 1142
d420ca49 1143=over 4
4755096e 1144
c2e66d9e 1145=item Simple word matching
4755096e 1146
c2e66d9e 1147=item Using character classes
4755096e 1148
c2e66d9e 1149=item Matching this or that
4755096e 1150
c2e66d9e 1151=item Grouping things and hierarchical matching
4755096e 1152
c2e66d9e 1153=item Extracting matches
4755096e 1154
c2e66d9e 1155=item Matching repetitions
4755096e 1156
c2e66d9e 1157=item Building a regexp
4755096e 1158
c2e66d9e 1159=item Using regular expressions in Perl
4755096e 1160
c2e66d9e 1161=back
4755096e 1162
c2e66d9e 1163=item Part 2: Power tools
4755096e 1164
d420ca49 1165=over 4
4755096e 1166
c2e66d9e 1167=item More on characters, strings, and character classes
4755096e 1168
c2e66d9e 1169=item Compiling and saving regular expressions
4755096e 1170
c2e66d9e 1171=item Embedding comments and modifiers in a regular expression
4755096e 1172
c2e66d9e 1173=item Non-capturing groupings
4755096e 1174
c2e66d9e 1175=item Looking ahead and looking behind
4755096e 1176
c2e66d9e 1177=item Using independent subexpressions to prevent backtracking
4755096e 1178
c2e66d9e 1179=item Conditional expressions
4755096e 1180
c2e66d9e 1181=item A bit of magic: executing Perl code in a regular expression
4755096e 1182
c2e66d9e 1183=item Pragmas and debugging
4755096e
GS
1184
1185=back
1186
c2e66d9e 1187=item BUGS
4755096e 1188
c2e66d9e 1189=item SEE ALSO
4755096e 1190
c2e66d9e 1191=item AUTHOR AND COPYRIGHT
4755096e 1192
d420ca49 1193=over 4
4755096e 1194
c2e66d9e 1195=item Acknowledgments
4755096e
GS
1196
1197=back
1198
4755096e
GS
1199=back
1200
c2e66d9e 1201=head2 perlre - Perl regular expressions
4755096e 1202
d420ca49 1203=over 4
4755096e
GS
1204
1205=item DESCRIPTION
1206
c2e66d9e 1207i, m, s, x
4755096e 1208
d420ca49 1209=over 4
4755096e 1210
c2e66d9e 1211=item Regular Expressions
4755096e 1212
428dc699 1213[1], [2], [3], cntrl, graph, print, punct, xdigit
4755096e 1214
c2e66d9e 1215=item Extended Patterns
4755096e 1216
c2e66d9e
GS
1217C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1218C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
1219code })>, C<(??{ code })>, C<< (?>pattern) >>,
1220C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
4755096e 1221
c2e66d9e 1222=item Backtracking
4755096e 1223
c2e66d9e 1224=item Version 8 Regular Expressions
4755096e 1225
c2e66d9e 1226=item Warning on \1 vs $1
4755096e 1227
c2e66d9e
GS
1228=item Repeated patterns matching zero-length substring
1229
1230=item Combining pieces together
1231
1232C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1233C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
1234C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1235C<(?(condition)yes-pattern|no-pattern)>
1236
1237=item Creating custom RE engines
4755096e
GS
1238
1239=back
1240
c2e66d9e 1241=item BUGS
4755096e 1242
c2e66d9e 1243=item SEE ALSO
4755096e 1244
c2e66d9e
GS
1245=back
1246
d396a558
JH
1247=head2 perlref - Perl references and nested data structures
1248
d420ca49 1249=over 4
d396a558
JH
1250
1251=item NOTE
1252
1253=item DESCRIPTION
1254
d420ca49 1255=over 4
d396a558
JH
1256
1257=item Making References
1258
1259=item Using References
1260
1261=item Symbolic references
1262
1263=item Not-so-symbolic references
1264
1265=item Pseudo-hashes: Using an array as a hash
1266
1267=item Function Templates
1268
1269=back
1270
1271=item WARNING
1272
1273=item SEE ALSO
1274
1275=back
1276
c2e66d9e 1277=head2 perlform - Perl formats
4755096e 1278
d420ca49 1279=over 4
4755096e 1280
c2e66d9e 1281=item DESCRIPTION
4755096e 1282
d420ca49 1283=over 4
4755096e 1284
c2e66d9e 1285=item Format Variables
4755096e 1286
c2e66d9e 1287=back
4755096e 1288
c2e66d9e 1289=item NOTES
4755096e 1290
d420ca49 1291=over 4
c2e66d9e
GS
1292
1293=item Footers
1294
1295=item Accessing Formatting Internals
4755096e
GS
1296
1297=back
1298
c2e66d9e 1299=item WARNINGS
4755096e
GS
1300
1301=back
1302
d396a558 1303=head2 perlboot - Beginner's Object-Oriented Tutorial
4755096e 1304
d420ca49 1305=over 4
4755096e
GS
1306
1307=item DESCRIPTION
1308
d420ca49 1309=over 4
c2e66d9e 1310
d396a558
JH
1311=item If we could talk to the animals...
1312
1313=item Introducing the method invocation arrow
1314
1315=item Invoking a barnyard
1316
1317=item The extra parameter of method invocation
1318
1319=item Calling a second method to simplify things
1320
1321=item Inheriting the windpipes
1322
1323=item A few notes about @ISA
1324
1325=item Overriding the methods
1326
1327=item Starting the search from a different place
1328
1329=item The SUPER way of doing things
1330
1331=item Where we're at so far...
1332
1333=item A horse is a horse, of course of course -- or is it?
1334
1335=item Invoking an instance method
1336
1337=item Accessing the instance data
1338
1339=item How to build a horse
1340
1341=item Inheriting the constructor
1342
1343=item Making a method work with either classes or instances
1344
1345=item Adding parameters to a method
1346
1347=item More interesting instances
1348
1349=item A horse of a different color
1350
1351=item Summary
1352
1353=back
1354
1355=item SEE ALSO
1356
1357=item COPYRIGHT
1358
1359=back
1360
1361=head2 perltoot - Tom's object-oriented tutorial for perl
c2e66d9e 1362
d420ca49 1363=over 4
4755096e 1364
d396a558 1365=item DESCRIPTION
4755096e 1366
d396a558 1367=item Creating a Class
4755096e 1368
d420ca49 1369=over 4
4755096e 1370
d396a558 1371=item Object Representation
4755096e 1372
d396a558 1373=item Class Interface
4755096e 1374
d396a558 1375=item Constructors and Instance Methods
c2e66d9e 1376
d396a558 1377=item Planning for the Future: Better Constructors
c2e66d9e 1378
d396a558 1379=item Destructors
c2e66d9e 1380
d396a558 1381=item Other Object Methods
4755096e
GS
1382
1383=back
1384
d396a558 1385=item Class Data
4755096e 1386
d420ca49 1387=over 4
4755096e 1388
d396a558 1389=item Accessing Class Data
4755096e 1390
d396a558 1391=item Debugging Methods
4755096e 1392
d396a558 1393=item Class Destructors
4755096e 1394
d396a558 1395=item Documenting the Interface
4755096e 1396
d396a558 1397=back
4755096e 1398
d396a558
JH
1399=item Aggregation
1400
1401=item Inheritance
1402
d420ca49 1403=over 4
d396a558
JH
1404
1405=item Overridden Methods
1406
1407=item Multiple Inheritance
1408
1409=item UNIVERSAL: The Root of All Objects
4755096e 1410
c2e66d9e 1411=back
4755096e 1412
d396a558 1413=item Alternate Object Representations
4755096e 1414
d420ca49 1415=over 4
4755096e 1416
d396a558 1417=item Arrays as Objects
4755096e 1418
d396a558
JH
1419=item Closures as Objects
1420
1421=back
1422
1423=item AUTOLOAD: Proxy Methods
1424
d420ca49 1425=over 4
d396a558
JH
1426
1427=item Autoloaded Data Methods
1428
1429=item Inherited Autoloaded Data Methods
1430
1431=back
1432
1433=item Metaclassical Tools
1434
d420ca49 1435=over 4
d396a558
JH
1436
1437=item Class::Struct
1438
1439=item Data Members as Variables
4755096e 1440
d420ca49
AD
1441=back
1442
c2e66d9e 1443=item NOTES
4755096e 1444
d420ca49
AD
1445=over 4
1446
d396a558
JH
1447=item Object Terminology
1448
1449=back
1450
1451=item SEE ALSO
1452
1453=item AUTHOR AND COPYRIGHT
1454
1455=item COPYRIGHT
1456
d420ca49 1457=over 4
c2e66d9e 1458
d396a558 1459=item Acknowledgments
c2e66d9e 1460
d396a558 1461=back
c2e66d9e 1462
d396a558 1463=back
c2e66d9e 1464
890a53b9 1465=head2 perltooc - Tom's OO Tutorial for Class Data in Perl
c2e66d9e 1466
d420ca49 1467=over 4
c2e66d9e 1468
d396a558 1469=item DESCRIPTION
c2e66d9e 1470
dc5c060f
JH
1471=item Class Data in a Can
1472
d396a558
JH
1473=item Class Data as Package Variables
1474
d420ca49 1475=over 4
d396a558
JH
1476
1477=item Putting All Your Eggs in One Basket
1478
1479=item Inheritance Concerns
1480
1481=item The Eponymous Meta-Object
1482
1483=item Indirect References to Class Data
1484
1485=item Monadic Classes
1486
1487=item Translucent Attributes
4755096e
GS
1488
1489=back
1490
d396a558 1491=item Class Data as Lexical Variables
4755096e 1492
d420ca49 1493=over 4
4755096e 1494
d396a558
JH
1495=item Privacy and Responsibility
1496
1497=item File-Scoped Lexicals
1498
1499=item More Inheritance Concerns
1500
1501=item Locking the Door and Throwing Away the Key
1502
1503=item Translucency Revisited
4755096e 1504
c2e66d9e 1505=back
4755096e 1506
d396a558
JH
1507=item NOTES
1508
c2e66d9e 1509=item SEE ALSO
4755096e 1510
d396a558
JH
1511=item AUTHOR AND COPYRIGHT
1512
1513=item ACKNOWLEDGEMENTS
1514
c2e66d9e 1515=item HISTORY
4755096e 1516
c2e66d9e 1517=back
4755096e 1518
d396a558 1519=head2 perlobj - Perl objects
4755096e 1520
d420ca49 1521=over 4
4755096e 1522
c2e66d9e 1523=item DESCRIPTION
4755096e 1524
d420ca49 1525=over 4
4755096e 1526
d396a558 1527=item An Object is Simply a Reference
4755096e 1528
d396a558 1529=item A Class is Simply a Package
4755096e 1530
d396a558 1531=item A Method is Simply a Subroutine
4755096e 1532
d396a558 1533=item Method Invocation
4755096e 1534
bd28ded5 1535=item Indirect Object Syntax
d396a558
JH
1536
1537=item Default UNIVERSAL methods
1538
1539isa(CLASS), can(METHOD), VERSION( [NEED] )
1540
1541=item Destructors
1542
1543=item Summary
1544
1545=item Two-Phased Garbage Collection
4755096e 1546
c2e66d9e 1547=back
4755096e 1548
d396a558
JH
1549=item SEE ALSO
1550
1551=back
1552
1553=head2 perlbot - Bag'o Object Tricks (the BOT)
1554
d420ca49 1555=over 4
d396a558
JH
1556
1557=item DESCRIPTION
1558
1559=item OO SCALING TIPS
1560
1561=item INSTANCE VARIABLES
1562
1563=item SCALAR INSTANCE VARIABLES
1564
1565=item INSTANCE VARIABLE INHERITANCE
1566
1567=item OBJECT RELATIONSHIPS
1568
1569=item OVERRIDING SUPERCLASS METHODS
1570
1571=item USING RELATIONSHIP WITH SDBM
1572
1573=item THINKING OF CODE REUSE
1574
1575=item CLASS CONTEXT AND THE OBJECT
1576
1577=item INHERITING A CONSTRUCTOR
1578
1579=item DELEGATION
1580
1581=back
1582
1583=head2 perltie - how to hide an object class in a simple variable
1584
d420ca49 1585=over 4
d396a558
JH
1586
1587=item SYNOPSIS
1588
1589=item DESCRIPTION
1590
d420ca49 1591=over 4
d396a558
JH
1592
1593=item Tying Scalars
1594
93d73c42
JH
1595TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this,
1596DESTROY this
d396a558
JH
1597
1598=item Tying Arrays
1599
1600TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
165c0277
JH
1601FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
1602key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this,
1603UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY
1604this
d396a558
JH
1605
1606=item Tying Hashes
1607
1608USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
1609this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
93d73c42 1610this, NEXTKEY this, lastkey, UNTIE this, DESTROY this
d396a558
JH
1611
1612=item Tying FileHandles
1613
1614TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
93d73c42
JH
1615LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this,
1616DESTROY this
d396a558 1617
9fa7f388
JH
1618=item UNTIE this
1619
d396a558
JH
1620=item The C<untie> Gotcha
1621
1622=back
4755096e 1623
c2e66d9e 1624=item SEE ALSO
4755096e 1625
d396a558
JH
1626=item BUGS
1627
1628=item AUTHOR
1629
c2e66d9e 1630=back
4755096e 1631
c2e66d9e
GS
1632=head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1633safe subprocesses, sockets, and semaphores)
4755096e 1634
d420ca49 1635=over 4
4755096e 1636
c2e66d9e 1637=item DESCRIPTION
4755096e 1638
c2e66d9e 1639=item Signals
4755096e 1640
c2e66d9e 1641=item Named Pipes
4755096e 1642
d420ca49 1643=over 4
4755096e 1644
c2e66d9e 1645=item WARNING
4755096e 1646
c2e66d9e 1647=back
4755096e 1648
c2e66d9e 1649=item Using open() for IPC
4755096e 1650
d420ca49 1651=over 4
4755096e 1652
c2e66d9e 1653=item Filehandles
4755096e 1654
c2e66d9e 1655=item Background Processes
4755096e 1656
c2e66d9e 1657=item Complete Dissociation of Child from Parent
4755096e 1658
c2e66d9e 1659=item Safe Pipe Opens
4755096e 1660
c2e66d9e 1661=item Bidirectional Communication with Another Process
4755096e 1662
c2e66d9e 1663=item Bidirectional Communication with Yourself
4755096e
GS
1664
1665=back
1666
c2e66d9e 1667=item Sockets: Client/Server Communication
4755096e 1668
d420ca49 1669=over 4
4755096e 1670
c2e66d9e 1671=item Internet Line Terminators
4755096e 1672
c2e66d9e 1673=item Internet TCP Clients and Servers
4755096e 1674
c2e66d9e
GS
1675=item Unix-Domain TCP Clients and Servers
1676
1677=back
1678
1679=item TCP Clients with IO::Socket
4755096e 1680
d420ca49 1681=over 4
4755096e 1682
c2e66d9e 1683=item A Simple Client
4755096e 1684
c2e66d9e 1685C<Proto>, C<PeerAddr>, C<PeerPort>
4755096e 1686
c2e66d9e 1687=item A Webget Client
4755096e 1688
c2e66d9e 1689=item Interactive Client with IO::Socket
4755096e 1690
c2e66d9e 1691=back
4755096e 1692
c2e66d9e 1693=item TCP Servers with IO::Socket
4755096e 1694
c2e66d9e 1695Proto, LocalPort, Listen, Reuse
4755096e 1696
c2e66d9e 1697=item UDP: Message Passing
4755096e 1698
c2e66d9e 1699=item SysV IPC
4755096e 1700
c2e66d9e 1701=item NOTES
4755096e 1702
c2e66d9e 1703=item BUGS
4755096e 1704
c2e66d9e 1705=item AUTHOR
4755096e 1706
c2e66d9e 1707=item SEE ALSO
4755096e
GS
1708
1709=back
1710
bd28ded5 1711=head2 perlfork - Perl's fork() emulation (EXPERIMENTAL, subject to change)
4755096e 1712
d420ca49 1713=over 4
4755096e 1714
c2e66d9e
GS
1715=item SYNOPSIS
1716
1717=item DESCRIPTION
4755096e 1718
d420ca49 1719=over 4
4755096e 1720
c2e66d9e 1721=item Behavior of other Perl features in forked pseudo-processes
4755096e 1722
c2e66d9e
GS
1723$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
1724filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
1725files, directories and network sockets
4755096e 1726
c2e66d9e 1727=item Resource limits
4755096e 1728
c2e66d9e 1729=item Killing the parent process
4755096e 1730
c2e66d9e 1731=item Lifetime of the parent process and pseudo-processes
4755096e 1732
c2e66d9e 1733=item CAVEATS AND LIMITATIONS
4755096e 1734
c2e66d9e
GS
1735BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
1736Global state maintained by XSUBs, Interpreter embedded in larger
1737application, Thread-safety of extensions
4755096e 1738
c2e66d9e 1739=back
4755096e 1740
c2e66d9e
GS
1741=item BUGS
1742
1743=item AUTHOR
1744
1745=item SEE ALSO
4755096e
GS
1746
1747=back
1748
c2e66d9e 1749=head2 perlnumber - semantics of numbers and numeric operations in Perl
4755096e 1750
d420ca49 1751=over 4
4755096e 1752
c2e66d9e 1753=item SYNOPSIS
4755096e 1754
c2e66d9e 1755=item DESCRIPTION
4755096e 1756
c2e66d9e 1757=item Storing numbers
4755096e 1758
c2e66d9e 1759=item Numeric operators and numeric conversions
4755096e 1760
c2e66d9e 1761=item Flavors of Perl numeric operations
4755096e 1762
c2e66d9e
GS
1763Arithmetic operators except, C<no integer>, Arithmetic operators except,
1764C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
1765integer>, Operators which expect an integer, Operators which expect a
1766string
4755096e 1767
c2e66d9e 1768=item AUTHOR
4755096e 1769
c2e66d9e 1770=item SEE ALSO
4755096e
GS
1771
1772=back
1773
c2e66d9e 1774=head2 perlthrtut - tutorial on threads in Perl
4755096e 1775
d420ca49 1776=over 4
4755096e
GS
1777
1778=item DESCRIPTION
1779
53d7eaa8
JH
1780=back
1781
1782=head2 perlothrtut - old tutorial on threads in Perl
1783
1784=over 4
1785
1786=item DESCRIPTION
1787
c2e66d9e 1788=item What Is A Thread Anyway?
4755096e 1789
c2e66d9e 1790=item Threaded Program Models
4755096e 1791
d420ca49 1792=over 4
4755096e 1793
c2e66d9e 1794=item Boss/Worker
4755096e 1795
c2e66d9e 1796=item Work Crew
4755096e 1797
c2e66d9e 1798=item Pipeline
4755096e
GS
1799
1800=back
1801
c2e66d9e 1802=item Native threads
4755096e 1803
c2e66d9e 1804=item What kind of threads are perl threads?
4755096e 1805
c2e66d9e 1806=item Threadsafe Modules
4755096e 1807
c2e66d9e 1808=item Thread Basics
4755096e 1809
d420ca49 1810=over 4
4755096e 1811
c2e66d9e 1812=item Basic Thread Support
4755096e 1813
c2e66d9e 1814=item Creating Threads
4755096e 1815
c2e66d9e 1816=item Giving up control
4755096e 1817
c2e66d9e 1818=item Waiting For A Thread To Exit
4755096e 1819
c2e66d9e 1820=item Errors In Threads
4755096e 1821
c2e66d9e 1822=item Ignoring A Thread
4755096e
GS
1823
1824=back
1825
c2e66d9e 1826=item Threads And Data
4755096e 1827
d420ca49 1828=over 4
4755096e 1829
c2e66d9e 1830=item Shared And Unshared Data
4755096e 1831
c2e66d9e 1832=item Thread Pitfall: Races
4755096e 1833
c2e66d9e 1834=item Controlling access: lock()
4755096e 1835
c2e66d9e 1836=item Thread Pitfall: Deadlocks
4755096e 1837
c2e66d9e 1838=item Queues: Passing Data Around
4755096e 1839
c2e66d9e 1840=back
4755096e 1841
c2e66d9e 1842=item Threads And Code
4755096e 1843
d420ca49 1844=over 4
4755096e 1845
c2e66d9e 1846=item Semaphores: Synchronizing Data Access
4755096e 1847
c2e66d9e 1848Basic semaphores, Advanced Semaphores
4755096e 1849
c2e66d9e 1850=item Attributes: Restricting Access To Subroutines
4755096e 1851
c2e66d9e 1852=item Subroutine Locks
4755096e 1853
c2e66d9e 1854=item Methods
4755096e 1855
c2e66d9e 1856=item Locking A Subroutine
4755096e
GS
1857
1858=back
1859
c2e66d9e 1860=item General Thread Utility Routines
4755096e 1861
d420ca49 1862=over 4
4755096e 1863
c2e66d9e 1864=item What Thread Am I In?
4755096e 1865
c2e66d9e 1866=item Thread IDs
4755096e 1867
c2e66d9e 1868=item Are These Threads The Same?
4755096e 1869
c2e66d9e 1870=item What Threads Are Running?
4755096e 1871
c2e66d9e 1872=back
4755096e 1873
c2e66d9e 1874=item A Complete Example
4755096e 1875
c2e66d9e 1876=item Conclusion
4755096e 1877
c2e66d9e 1878=item Bibliography
4755096e 1879
d420ca49 1880=over 4
4755096e 1881
c2e66d9e 1882=item Introductory Texts
4755096e 1883
c2e66d9e 1884=item OS-Related References
4755096e 1885
c2e66d9e 1886=item Other References
4755096e
GS
1887
1888=back
1889
c2e66d9e 1890=item Acknowledgements
4755096e 1891
c2e66d9e 1892=item AUTHOR
4755096e 1893
c2e66d9e 1894=item Copyrights
4755096e 1895
c2e66d9e 1896=back
4755096e 1897
c2e66d9e 1898=head2 perlport - Writing portable Perl
4755096e 1899
d420ca49 1900=over 4
4755096e 1901
c2e66d9e 1902=item DESCRIPTION
4755096e 1903
c2e66d9e
GS
1904Not all Perl programs have to be portable, Nearly all of Perl already I<is>
1905portable
4755096e 1906
c2e66d9e 1907=item ISSUES
4755096e 1908
d420ca49 1909=over 4
4755096e 1910
c2e66d9e 1911=item Newlines
4755096e 1912
c2e66d9e 1913=item Numbers endianness and Width
4755096e 1914
c2e66d9e 1915=item Files and Filesystems
4755096e 1916
c2e66d9e 1917=item System Interaction
4755096e 1918
c2e66d9e 1919=item Interprocess Communication (IPC)
4755096e 1920
c2e66d9e 1921=item External Subroutines (XS)
4755096e 1922
c2e66d9e 1923=item Standard Modules
4755096e 1924
c2e66d9e 1925=item Time and Date
4755096e 1926
c2e66d9e 1927=item Character sets and character encoding
4755096e 1928
c2e66d9e 1929=item Internationalisation
4755096e 1930
c2e66d9e 1931=item System Resources
4755096e 1932
c2e66d9e 1933=item Security
4755096e 1934
c2e66d9e 1935=item Style
4755096e
GS
1936
1937=back
1938
c2e66d9e 1939=item CPAN Testers
4755096e 1940
c2e66d9e
GS
1941Mailing list: cpan-testers@perl.org, Testing results:
1942http://testers.cpan.org/
4755096e 1943
c2e66d9e 1944=item PLATFORMS
4755096e 1945
d420ca49 1946=over 4
4755096e 1947
c2e66d9e 1948=item Unix
4755096e 1949
c2e66d9e 1950=item DOS and Derivatives
4755096e 1951
c2e66d9e 1952=item S<Mac OS>
4755096e 1953
c2e66d9e 1954=item VMS
4755096e 1955
c2e66d9e 1956=item VOS
4755096e 1957
c2e66d9e 1958=item EBCDIC Platforms
4755096e 1959
c2e66d9e 1960=item Acorn RISC OS
4755096e 1961
c2e66d9e 1962=item Other perls
4755096e
GS
1963
1964=back
1965
c2e66d9e 1966=item FUNCTION IMPLEMENTATIONS
4755096e 1967
d420ca49 1968=over 4
4755096e 1969
c2e66d9e
GS
1970=item Alphabetical Listing of Perl Functions
1971
1972-I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
1973FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
1974PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
ba62762e
JH
1975LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock
1976FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority
1977WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID,
1978getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
1979getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
1980getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
1981STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
1982endhostent, endnetent, endprotoent, endservent, getsockopt
1983SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR,
1984kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR,
1985lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv
1986ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe
1987READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select
1988RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
1989KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
c2e66d9e
GS
1990setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
1991SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
80cbd5ad
JH
1992shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET,
1993socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat
1994EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
d396a558
JH
1995FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
1996FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
1997wait, waitpid PID,FLAGS
4755096e 1998
d396a558 1999=back
4755096e 2000
d396a558 2001=item CHANGES
4755096e 2002
603b90a8
JH
2003v1.48, 02 February 2001, v1.47, 22 March 2000, v1.46, 12 February 2000,
2004v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22
2005May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February
20061999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September
20071998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998,
2008v1.30, 03 August 1998, v1.23, 10 July 1998
4755096e 2009
d396a558 2010=item Supported Platforms
4755096e 2011
d396a558 2012=item SEE ALSO
4755096e 2013
d396a558 2014=item AUTHORS / CONTRIBUTORS
4755096e 2015
d396a558 2016=item VERSION
4755096e
GS
2017
2018=back
2019
d396a558
JH
2020=head2 perllocale - Perl locale handling (internationalization and
2021localization)
4755096e 2022
d420ca49 2023=over 4
4755096e 2024
d396a558 2025=item DESCRIPTION
4755096e 2026
d396a558
JH
2027=item PREPARING TO USE LOCALES
2028
2029=item USING LOCALES
4755096e 2030
d420ca49 2031=over 4
4755096e 2032
d396a558 2033=item The use locale pragma
4755096e 2034
d396a558 2035=item The setlocale function
4755096e 2036
d396a558 2037=item Finding locales
4755096e 2038
d396a558 2039=item LOCALE PROBLEMS
4755096e 2040
d396a558 2041=item Temporarily fixing locale problems
4755096e 2042
d396a558 2043=item Permanently fixing locale problems
4755096e 2044
d396a558 2045=item Permanently fixing your system's locale configuration
4755096e 2046
d396a558 2047=item Fixing system locale configuration
4755096e 2048
d396a558 2049=item The localeconv function
4755096e 2050
d0363f02
JH
2051=item I18N::Langinfo
2052
4755096e
GS
2053=back
2054
d396a558 2055=item LOCALE CATEGORIES
4755096e 2056
d420ca49 2057=over 4
4755096e 2058
d396a558 2059=item Category LC_COLLATE: Collation
4755096e 2060
d396a558 2061=item Category LC_CTYPE: Character Types
4755096e 2062
d396a558 2063=item Category LC_NUMERIC: Numeric Formatting
4755096e 2064
d396a558 2065=item Category LC_MONETARY: Formatting of monetary amounts
4755096e 2066
d396a558 2067=item LC_TIME
4755096e 2068
d396a558 2069=item Other categories
4755096e 2070
d396a558 2071=back
4755096e 2072
d396a558 2073=item SECURITY
4755096e 2074
d396a558 2075=item ENVIRONMENT
4755096e 2076
d396a558
JH
2077PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2078LC_NUMERIC, LC_TIME, LANG
4755096e 2079
d396a558 2080=item NOTES
4755096e 2081
d420ca49 2082=over 4
4755096e 2083
d396a558 2084=item Backward compatibility
4755096e 2085
d396a558 2086=item I18N:Collate obsolete
4755096e 2087
d396a558 2088=item Sort speed and memory use impacts
4755096e 2089
d396a558 2090=item write() and LC_NUMERIC
4755096e 2091
d396a558 2092=item Freely available locale definitions
4755096e 2093
d396a558 2094=item I18n and l10n
4755096e 2095
d396a558 2096=item An imperfect standard
4755096e
GS
2097
2098=back
2099
d396a558 2100=item BUGS
4755096e 2101
d420ca49 2102=over 4
4755096e 2103
d396a558 2104=item Broken systems
4755096e
GS
2105
2106=back
2107
2108=item SEE ALSO
2109
d396a558 2110=item HISTORY
4755096e
GS
2111
2112=back
2113
07fcf8ff 2114=head2 perluniintro - Perl Unicode introduction
ba62762e
JH
2115
2116=over 4
2117
2118=item DESCRIPTION
2119
2120=over 4
2121
2122=item Unicode
2123
2124=item Perl's Unicode Support
2125
2126=item Perl's Unicode Model
2127
2128=item Creating Unicode
2129
2130=item Handling Unicode
2131
2132=item Legacy Encodings
2133
2134=item Unicode I/O
2135
2136=item Special Cases
2137
2138=item Advanced Topics
2139
2140=item Miscellaneous
2141
2142=item Questions With Answers
2143
2144Will My Old Scripts Break?, How Do I Make My Scripts Work With Unicode?,
2145How Do I Know Whether My String Is In Unicode?, How Do I Detect Invalid
2146UTF-8?, How Do I Convert Data Into UTF-8? Or Vice Versa?, How Do I Display
2147Unicode? How Do I Input Unicode?, How Does Unicode Work With Traditional
2148Locales?
2149
2150=item Hexadecimal Notation
2151
2152=item Further Resources
2153
2154=back
2155
2156=item SEE ALSO
2157
2158=item ACKNOWLEDGEMENTS
2159
2160=item AUTHOR, COPYRIGHT, AND LICENSE
2161
2162=back
2163
d396a558 2164=head2 perlunicode - Unicode support in Perl
4755096e 2165
d420ca49 2166=over 4
4755096e
GS
2167
2168=item DESCRIPTION
2169
d420ca49 2170=over 4
4755096e 2171
e42c74e1 2172=item Important Caveats
4755096e 2173
d396a558 2174Input and Output Disciplines, Regular Expressions, C<use utf8> still needed
ad0029c4 2175to enable UTF-8/UTF-EBCDIC in scripts
4755096e 2176
d396a558 2177=item Byte and Character semantics
4755096e 2178
d396a558 2179=item Effects of character semantics
4755096e 2180
fbe3d936
JH
2181=item Scripts
2182
2183=item Blocks
2184
d396a558 2185=item Character encodings for input and output
4755096e 2186
d396a558
JH
2187=back
2188
2189=item CAVEATS
2190
e61ecf27
JH
2191=item UNICODE REGULAR EXPRESSION SUPPORT LEVEL
2192
ba62762e
JH
2193=over 4
2194
2195=item Unicode Encodings
2196
2197UTF-8, UTF-16, UTF-16BE, UTF16-LE, Surrogates, and BOMs (Byte Order Marks),
2198UTF-32, UTF-32BE, UTF32-LE, UCS-2, UCS-4, UTF-7
2199
2200=item Security Implications of Malformed UTF-8
2201
2202=item Unicode in Perl on EBCDIC
2203
2204=back
2205
d396a558 2206=item SEE ALSO
4755096e
GS
2207
2208=back
2209
d396a558 2210=head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
4755096e 2211
d420ca49 2212=over 4
4755096e 2213
d396a558 2214=item DESCRIPTION
4755096e 2215
d396a558 2216=item COMMON CHARACTER CODE SETS
4755096e 2217
d420ca49 2218=over 4
4755096e 2219
d396a558 2220=item ASCII
4755096e 2221
d396a558 2222=item ISO 8859
4755096e 2223
d396a558 2224=item Latin 1 (ISO 8859-1)
4755096e 2225
d396a558 2226=item EBCDIC
4755096e 2227
d396a558 2228=item 13 variant characters
4755096e 2229
d396a558 2230=item 0037
4755096e 2231
d396a558 2232=item 1047
4755096e 2233
d396a558 2234=item POSIX-BC
4755096e 2235
41ca3a40
JH
2236=item Unicode and UTF
2237
4755096e
GS
2238=back
2239
d396a558 2240=item SINGLE OCTET TABLES
4755096e 2241
41ca3a40 2242recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
4755096e 2243
d396a558 2244=item IDENTIFYING CHARACTER CODE SETS
4755096e 2245
d396a558 2246=item CONVERSIONS
4755096e 2247
d420ca49 2248=over 4
37d4d706
JH
2249
2250=item tr///
2251
2252=item iconv
2253
2254=item C RTL
2255
2256=back
2257
d396a558 2258=item OPERATOR DIFFERENCES
4755096e 2259
d396a558 2260=item FUNCTION DIFFERENCES
4755096e 2261
d396a558 2262chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
4755096e 2263
d396a558 2264=item REGULAR EXPRESSION DIFFERENCES
4755096e 2265
d396a558 2266=item SOCKETS
4755096e 2267
d396a558 2268=item SORTING
4755096e 2269
d420ca49 2270=over 4
4755096e 2271
9fa7f388 2272=item Ignore ASCII vs. EBCDIC sort differences.
4755096e 2273
9fa7f388 2274=item MONO CASE then sort data.
4755096e 2275
9fa7f388 2276=item Convert, sort data, then re convert.
4755096e 2277
d396a558 2278=item Perform sorting on one type of machine only.
4755096e
GS
2279
2280=back
2281
41ca3a40 2282=item TRANSFORMATION FORMATS
37d4d706 2283
d420ca49 2284=over 4
37d4d706
JH
2285
2286=item URL decoding and encoding
2287
2288=item uu encoding and decoding
2289
2290=item Quoted-Printable encoding and decoding
2291
41ca3a40 2292=item Caesarian ciphers
37d4d706
JH
2293
2294=back
2295
2296=item Hashing order and checksums
4755096e 2297
d396a558 2298=item I18N AND L10N
4755096e 2299
d396a558 2300=item MULTI OCTET CHARACTER SETS
4755096e 2301
d396a558 2302=item OS ISSUES
4755096e 2303
d420ca49 2304=over 4
4755096e 2305
d396a558 2306=item OS/400
7029d033 2307
d396a558 2308IFS access
4755096e 2309
41ca3a40 2310=item OS/390, z/OS
4755096e 2311
41ca3a40 2312chcp, dataset access, OS/390, z/OS iconv, locales
4755096e 2313
d396a558 2314=item VM/ESA?
4755096e 2315
d396a558 2316=item POSIX-BC?
4755096e 2317
d396a558 2318=back
4755096e 2319
9fa7f388
JH
2320=item BUGS
2321
b3b6085d
PP
2322=item SEE ALSO
2323
d396a558 2324=item REFERENCES
c2e66d9e 2325
41ca3a40
JH
2326=item HISTORY
2327
d396a558 2328=item AUTHOR
4755096e
GS
2329
2330=back
2331
d396a558 2332=head2 perlsec - Perl security
4755096e 2333
d420ca49 2334=over 4
4755096e 2335
4755096e
GS
2336=item DESCRIPTION
2337
d420ca49 2338=over 4
4755096e 2339
d396a558 2340=item Laundering and Detecting Tainted Data
4755096e 2341
d396a558 2342=item Switches On the "#!" Line
4755096e 2343
d396a558 2344=item Cleaning Up Your Path
c2e66d9e 2345
d396a558 2346=item Security Bugs
c2e66d9e 2347
d396a558 2348=item Protecting Your Programs
4755096e
GS
2349
2350=back
2351
c2e66d9e
GS
2352=item SEE ALSO
2353
4755096e
GS
2354=back
2355
c2e66d9e 2356=head2 perlmod - Perl modules (packages and symbol tables)
4755096e 2357
d420ca49 2358=over 4
4755096e
GS
2359
2360=item DESCRIPTION
2361
d420ca49 2362=over 4
4755096e 2363
c2e66d9e 2364=item Packages
4755096e 2365
c2e66d9e 2366=item Symbol Tables
4755096e 2367
c2e66d9e 2368=item Package Constructors and Destructors
4755096e 2369
c2e66d9e 2370=item Perl Classes
4755096e 2371
c2e66d9e 2372=item Perl Modules
4755096e 2373
a6fb92f1
JH
2374=item Making your module threadsafe
2375
4755096e
GS
2376=back
2377
c2e66d9e 2378=item SEE ALSO
4755096e 2379
c2e66d9e 2380=back
4755096e 2381
35bf961c
JH
2382=head2 perlmodinstall - Installing CPAN Modules
2383
2384=over 4
2385
2386=item DESCRIPTION
2387
2388=over 4
2389
2390=item PREAMBLE
2391
2392B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2393module (sometimes unnecessary), B<INSTALL> the module
2394
2395=back
2396
2397=item PORTABILITY
2398
2399=item HEY
2400
2401=item AUTHOR
2402
2403=item COPYRIGHT
2404
2405=back
2406
c2e66d9e 2407=head2 perlmodlib - constructing new Perl modules and finding existing ones
4755096e 2408
d420ca49 2409=over 4
4755096e 2410
c2e66d9e 2411=item DESCRIPTION
4755096e 2412
c2e66d9e 2413=item THE PERL MODULE LIBRARY
4755096e 2414
d420ca49 2415=over 4
4755096e 2416
c2e66d9e 2417=item Pragmatic Modules
4755096e 2418
c2e66d9e 2419attributes, attrs, autouse, base, blib, bytes, charnames, constant,
d420ca49 2420diagnostics, fields, filetest, integer, less, locale, open, ops, overload,
e61ecf27
JH
2421re, sigtrap, strict, subs, threads, utf8, vars, warnings,
2422warnings::register
4755096e 2423
c2e66d9e 2424=item Standard Modules
4755096e 2425
dc6b6eef
JH
2426AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata,
2427B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug,
2428B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash,
2429B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp,
2430CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util,
2431CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA,
2432Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, Digest, DirHandle,
2433Dumpvalue, Encode, Encode::EncodeFormat, Encode::Tcl, English, Env,
2434Exporter, Exporter::Heavy, ExtUtils::Command, ExtUtils::Constant,
2435ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
a6fb92f1
JH
2436ExtUtils::MM_Cygwin, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_Unix,
2437ExtUtils::MM_VMS, ExtUtils::MM_Win32, ExtUtils::MakeMaker,
2438ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists,
2439ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, File::Basename,
2440File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Find,
2441File::Path, File::Spec, File::Spec::Epoc, File::Spec::Functions,
2442File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS,
2443File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle,
2444Filter::Simple, FindBin, Getopt::Long, Getopt::Std, I18N::Collate,
2445I18N::LangTags, I18N::LangTags::List, IO, IPC::Open2, IPC::Open3,
e61ecf27
JH
2446Lingua::KO::Hangul::Util, Locale::Constants, Locale::Country,
2447Locale::Currency, Locale::Language, Locale::Maketext,
2448Locale::Maketext::TPJ13, Math::BigFloat, Math::BigInt, Math::BigInt::Calc,
2449Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire,
2450Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File,
2451Memoize::SDBM_File, Memoize::Saves, Memoize::Storable, NDBM_File, NEXT,
2452Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc,
2453Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ,
2454Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX,
2455PerlIO, Pod::Checker, Pod::Find, Pod::Html, Pod::InputObjects, Pod::LaTeX,
389925df
JH
2456Pod::Man, Pod::ParseUtils, Pod::Parser, Pod::Plainer, Pod::Select,
2457Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap,
2458Pod::Usage, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
2459Socket, Storable, Switch, Symbol, Term::ANSIColor, Term::Cap,
2460Term::Complete, Term::ReadLine, Test, Test::Harness, Test::More,
e61ecf27
JH
2461Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced,
2462Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Tie::Array,
51a35ef1 2463Tie::Handle, Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash,
e61ecf27
JH
2464Time::Local, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL,
2465Unicode::Collate, Unicode::Normalize, Unicode::UCD, User::grent,
2466User::pwent, Win32
4755096e 2467
c2e66d9e 2468=item Extension Modules
4755096e 2469
c2e66d9e 2470=back
4755096e 2471
c2e66d9e 2472=item CPAN
4755096e 2473
603b90a8
JH
2474=over 4
2475
2476=item Africa
2477
2478=item Asia
2479
2480=item Central America
2481
2482=item Europe
2483
2484=item North America
2485
2486=item Oceania
2487
2488=item South America
2489
2490=back
4755096e 2491
c2e66d9e 2492=item Modules: Creation, Use, and Abuse
4755096e 2493
d420ca49 2494=over 4
4755096e 2495
c2e66d9e 2496=item Guidelines for Module Creation
4755096e 2497
603b90a8 2498Adding a Copyright Notice
4755096e 2499
c2e66d9e 2500=item Guidelines for Converting Perl 4 Library Scripts into Modules
4755096e 2501
c2e66d9e 2502=item Guidelines for Reusing Application Code
4755096e 2503
c2e66d9e 2504=back
4755096e 2505
c2e66d9e 2506=item NOTE
4755096e 2507
c2e66d9e 2508=back
4755096e 2509
35bf961c 2510=head2 perlmodstyle - Perl module style guide
4755096e 2511
d420ca49 2512=over 4
4755096e 2513
35bf961c
JH
2514=item INTRODUCTION
2515
2516=item QUICK CHECKLIST
4755096e 2517
d420ca49 2518=over 4
4755096e 2519
35bf961c 2520=item Before you start
4755096e 2521
35bf961c
JH
2522=item The API
2523
2524=item Stability
2525
2526=item Documentation
2527
2528=item Release considerations
4755096e 2529
c2e66d9e 2530=back
4755096e 2531
35bf961c 2532=item BEFORE YOU START WRITING A MODULE
a9ef4385 2533
35bf961c 2534=over 4
c2e66d9e 2535
35bf961c 2536=item Has it been done before?
c2e66d9e 2537
35bf961c
JH
2538=item Do one thing and do it well
2539
2540=item What's in a name?
2541
2542=back
2543
2544=item DESIGNING AND WRITING YOUR MODULE
2545
2546=over 4
2547
2548=item To OO or not to OO?
2549
2550=item Designing your API
2551
2552Write simple routines to do simple things, Separate functionality from
2553output, Provide sensible shortcuts and defaults, Naming conventions,
2554Parameter passing
2555
2556=item Strictness and warnings
2557
2558=item Backwards compatibility
2559
2560=item Error handling and messages
2561
2562=back
2563
2564=item DOCUMENTING YOUR MODULE
2565
2566=over 4
2567
2568=item POD
2569
2570=item README, INSTALL, release notes, changelogs
2571
2572=back
2573
2574=item RELEASE CONSIDERATIONS
2575
2576=over 4
2577
2578=item Version numbering
2579
2580=item Pre-requisites
2581
2582=item Testing
2583
2584=item Packaging
2585
2586=item Licensing
2587
2588=back
2589
2590=item COMMON PITFALLS
2591
2592=over 4
2593
2594=item Reinventing the wheel
2595
2596=item Trying to do too much
2597
2598=item Inappropriate documentation
2599
2600=back
2601
2602=item SEE ALSO
2603
2604L<perlstyle>, L<perlnewmod>, L<perlpod>, L<podchecker>, Testing tools,
2605http://pause.perl.org/, Any good book on software engineering
2606
2607=item AUTHOR
4755096e
GS
2608
2609=back
2610
c2e66d9e 2611=head2 perlnewmod - preparing a new module for distribution
4755096e 2612
d420ca49 2613=over 4
4755096e 2614
c2e66d9e 2615=item DESCRIPTION
4755096e 2616
d420ca49 2617=over 4
4755096e 2618
c2e66d9e 2619=item Warning
4755096e 2620
c2e66d9e 2621=item What should I make into a module?
4755096e 2622
c2e66d9e 2623=item Step-by-step: Preparing the ground
4755096e 2624
c2e66d9e 2625Look around, Check it's new, Discuss the need, Choose a name, Check again
4755096e 2626
c2e66d9e 2627=item Step-by-step: Making the module
4755096e 2628
c2e66d9e 2629Start with F<h2xs>, Use L<strict|strict> and L<warnings|warnings>, Use
4d4e713d
JH
2630L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!, Use L<plain old
2631documentation|perlpod>, Write tests, Write the README
4755096e 2632
c2e66d9e 2633=item Step-by-step: Distributing your module
4755096e 2634
c2e66d9e
GS
2635Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
2636tarball, Announce to the modules list, Announce to clpa, Fix bugs!
4755096e 2637
c2e66d9e 2638=back
4755096e 2639
c2e66d9e 2640=item AUTHOR
4755096e 2641
c2e66d9e 2642=item SEE ALSO
4755096e
GS
2643
2644=back
2645
cb52f95f
JH
2646=head2 perlfaq1 - General Questions About Perl ($Revision: 1.2 $, $Date:
26472001/11/09 08:06:04 $)
4755096e 2648
d420ca49 2649=over 4
4755096e
GS
2650
2651=item DESCRIPTION
2652
d420ca49 2653=over 4
4755096e
GS
2654
2655=item What is Perl?
2656
2657=item Who supports Perl? Who develops it? Why is it free?
2658
2659=item Which version of Perl should I use?
2660
2661=item What are perl4 and perl5?
2662
2663=item What is perl6?
2664
2665=item How stable is Perl?
2666
2667=item Is Perl difficult to learn?
2668
2669=item How does Perl compare with other languages like Java, Python, REXX,
2670Scheme, or Tcl?
2671
2672=item Can I do [task] in Perl?
2673
2674=item When shouldn't I program in Perl?
2675
2676=item What's the difference between "perl" and "Perl"?
2677
2678=item Is it a Perl program or a Perl script?
2679
2680=item What is a JAPH?
2681
2682=item Where can I get a list of Larry Wall witticisms?
2683
165c0277
JH
2684=item How can I convince my sysadmin/supervisor/employees to use version
26855/5.005/Perl instead of some other language?
4755096e
GS
2686
2687=back
2688
2689=item AUTHOR AND COPYRIGHT
2690
2691=back
2692
cb52f95f
JH
2693=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.3 $,
2694$Date: 2001/11/09 08:06:04 $)
4755096e 2695
d420ca49 2696=over 4
4755096e
GS
2697
2698=item DESCRIPTION
2699
d420ca49 2700=over 4
4755096e
GS
2701
2702=item What machines support Perl? Where do I get it?
2703
2704=item How can I get a binary version of Perl?
2705
2706=item I don't have a C compiler on my system. How can I compile perl?
2707
2708=item I copied the Perl binary from one machine to another, but scripts
2709don't work.
2710
2711=item I grabbed the sources and tried to compile but gdbm/dynamic
2712loading/malloc/linking/... failed. How do I make it work?
2713
2714=item What modules and extensions are available for Perl? What is CPAN?
2715What does CPAN/src/... mean?
2716
2717=item Is there an ISO or ANSI certified version of Perl?
2718
2719=item Where can I get information on Perl?
2720
2721=item What are the Perl newsgroups on Usenet? Where do I post questions?
2722
2723=item Where should I post source code?
2724
2725=item Perl Books
2726
2727References, Tutorials, Task-Oriented, Special Topics
2728
2729=item Perl in Magazines
2730
2731=item Perl on the Net: FTP and WWW Access
2732
2733=item What mailing lists are there for Perl?
2734
2735=item Archives of comp.lang.perl.misc
2736
2737=item Where can I buy a commercial version of Perl?
2738
2739=item Where do I send bug reports?
2740
2741=item What is perl.com? Perl Mongers? pm.org? perl.org?
2742
2743=back
2744
2745=item AUTHOR AND COPYRIGHT
2746
2747=back
2748
428dc699
JH
2749=head2 perlfaq3 - Programming Tools ($Revision: 1.10 $, $Date: 2001/11/19
275017:09:37 $)
4755096e 2751
d420ca49 2752=over 4
4755096e
GS
2753
2754=item DESCRIPTION
2755
d420ca49 2756=over 4
4755096e
GS
2757
2758=item How do I do (anything)?
2759
2760=item How can I use Perl interactively?
2761
2762=item Is there a Perl shell?
2763
2764=item How do I debug my Perl programs?
2765
2766=item How do I profile my Perl programs?
2767
2768=item How do I cross-reference my Perl programs?
2769
2770=item Is there a pretty-printer (formatter) for Perl?
2771
2772=item Is there a ctags for Perl?
2773
2774=item Is there an IDE or Windows Perl Editor?
2775
245d750e
JH
2776Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+,
2777CodeMagicCD, GNU Emacs, MicroEMACS, XEmacs, Elvis, Vile, Vim, Codewright,
603b90a8
JH
2778MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha
2779
4755096e
GS
2780=item Where can I get Perl macros for vi?
2781
2782=item Where can I get perl-mode for emacs?
2783
2784=item How can I use curses with Perl?
2785
2786=item How can I use X or Tk with Perl?
2787
2788=item How can I generate simple menus without using CGI or Tk?
2789
4755096e
GS
2790=item How can I make my Perl program run faster?
2791
2792=item How can I make my Perl program take less memory?
2793
35bf961c
JH
2794Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and
2795stringification, Pass by reference, Tie large variables to disk
2796
4755096e
GS
2797=item Is it unsafe to return a pointer to local data?
2798
2799=item How can I free an array or hash so my program shrinks?
2800
2801=item How can I make my CGI script more efficient?
2802
2803=item How can I hide the source for my Perl program?
2804
2805=item How can I compile my Perl program into byte code or C?
2806
2807=item How can I compile Perl into Java?
2808
2809=item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
2810
2811=item Can I write useful Perl programs on the command line?
2812
2813=item Why don't Perl one-liners work on my DOS/Mac/VMS system?
2814
2815=item Where can I learn about CGI or Web programming in Perl?
2816
cb52f95f
JH
2817=item Where can I learn about object-oriented Perl programming?
2818
4755096e
GS
2819=item Where can I learn about linking C with Perl? [h2xs, xsubpp]
2820
2821=item I've read perlembed, perlguts, etc., but I can't embed perl in
d420ca49 2822my C program; what am I doing wrong?
4755096e
GS
2823
2824=item When I tried to run my script, I got this message. What does it
2825mean?
2826
2827=item What's MakeMaker?
2828
2829=back
2830
2831=item AUTHOR AND COPYRIGHT
2832
2833=back
2834
cb52f95f
JH
2835=head2 perlfaq4 - Data Manipulation ($Revision: 1.8 $, $Date: 2001/11/09
283608:06:04 $)
4755096e 2837
d420ca49 2838=over 4
4755096e
GS
2839
2840=item DESCRIPTION
2841
2842=item Data: Numbers
2843
d420ca49 2844=over 4
4755096e
GS
2845
2846=item Why am I getting long decimals (eg, 19.9499999999999) instead of the
2847numbers I should be getting (eg, 19.95)?
2848
2849=item Why isn't my octal data interpreted correctly?
2850
2851=item Does Perl have a round() function? What about ceil() and floor()?
2852Trig functions?
2853
1fdc5aa6
JH
2854=item How do I convert between numeric representations:
2855
2856B<How do I convert Hexadecimal into decimal:>, B<How do I convert from
2857decimal to hexadecimal:>, B<How do I convert from octal to decimal:>, B<How
2858do I convert from decimal to octal:>, B<How do I convert from binary to
2859decimal:>, B<How do I convert from decimal to binary:>
4755096e
GS
2860
2861=item Why doesn't & work the way I want it to?
2862
2863=item How do I multiply matrices?
2864
2865=item How do I perform an operation on a series of integers?
2866
2867=item How can I output Roman numerals?
2868
2869=item Why aren't my random numbers random?
2870
2871=back
2872
2873=item Data: Dates
2874
d420ca49 2875=over 4
4755096e
GS
2876
2877=item How do I find the week-of-the-year/day-of-the-year?
2878
2879=item How do I find the current century or millennium?
2880
2881=item How can I compare two dates and find the difference?
2882
2883=item How can I take a string and turn it into epoch seconds?
2884
2885=item How can I find the Julian Day?
2886
2887=item How do I find yesterday's date?
2888
2889=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
2890
2891=back
2892
2893=item Data: Strings
2894
d420ca49 2895=over 4
4755096e
GS
2896
2897=item How do I validate input?
2898
2899=item How do I unescape a string?
2900
2901=item How do I remove consecutive pairs of characters?
2902
2903=item How do I expand function calls in a string?
2904
2905=item How do I find matching/nesting anything?
2906
2907=item How do I reverse a string?
2908
2909=item How do I expand tabs in a string?
2910
2911=item How do I reformat a paragraph?
2912
2913=item How can I access/change the first N letters of a string?
2914
2915=item How do I change the Nth occurrence of something?
2916
2917=item How can I count the number of occurrences of a substring within a
2918string?
2919
2920=item How do I capitalize all the words on one line?
2921
2922=item How can I split a [character] delimited string except when inside
2923[character]? (Comma-separated files)
2924
2925=item How do I strip blank space from the beginning/end of a string?
2926
2927=item How do I pad a string with blanks or pad a number with zeroes?
2928
2929=item How do I extract selected columns from a string?
2930
2931=item How do I find the soundex value of a string?
2932
2933=item How can I expand variables in text strings?
2934
2935=item What's wrong with always quoting "$vars"?
2936
2937=item Why don't my <<HERE documents work?
2938
29391. There must be no space after the << part, 2. There (probably) should be
2940a semicolon at the end, 3. You can't (easily) have any space in front of
2941the tag
2942
2943=back
2944
2945=item Data: Arrays
2946
d420ca49 2947=over 4
4755096e
GS
2948
2949=item What is the difference between a list and an array?
2950
2951=item What is the difference between $array[1] and @array[1]?
2952
2953=item How can I remove duplicate elements from a list or array?
2954
ab648d5e 2955a), b), c), d), e)
4755096e 2956
389925df
JH
2957=item How can I tell whether a certain element is contained in a list or
2958array?
4755096e
GS
2959
2960=item How do I compute the difference of two arrays? How do I compute the
2961intersection of two arrays?
2962
2963=item How do I test whether two arrays or hashes are equal?
2964
2965=item How do I find the first array element for which a condition is true?
2966
2967=item How do I handle linked lists?
2968
2969=item How do I handle circular lists?
2970
2971=item How do I shuffle an array randomly?
2972
2973=item How do I process/modify each element of an array?
2974
2975=item How do I select a random element from an array?
2976
2977=item How do I permute N elements of a list?
2978
2979=item How do I sort an array by (anything)?
2980
2981=item How do I manipulate arrays of bits?
2982
2983=item Why does defined() return true on empty arrays and hashes?
2984
2985=back
2986
2987=item Data: Hashes (Associative Arrays)
2988
d420ca49 2989=over 4
4755096e
GS
2990
2991=item How do I process an entire hash?
2992
2993=item What happens if I add or remove keys from a hash while iterating over
2994it?
2995
2996=item How do I look up a hash element by value?
2997
2998=item How can I know how many entries are in a hash?
2999
3000=item How do I sort a hash (optionally by value instead of key)?
3001
3002=item How can I always keep my hash sorted?
3003
3004=item What's the difference between "delete" and "undef" with hashes?
3005
3006=item Why don't my tied hashes make the defined/exists distinction?
3007
3008=item How do I reset an each() operation part-way through?
3009
3010=item How can I get the unique keys from two hashes?
3011
3012=item How can I store a multidimensional array in a DBM file?
3013
3014=item How can I make my hash remember the order I put elements into it?
3015
3016=item Why does passing a subroutine an undefined element in a hash create
3017it?
3018
3019=item How can I make the Perl equivalent of a C structure/C++ class/hash or
3020array of hashes or arrays?
3021
3022=item How can I use a reference as a hash key?
3023
3024=back
3025
3026=item Data: Misc
3027
d420ca49 3028=over 4
4755096e
GS
3029
3030=item How do I handle binary data correctly?
3031
3032=item How do I determine whether a scalar is a number/whole/integer/float?
3033
3034=item How do I keep persistent data across program calls?
3035
3036=item How do I print out or copy a recursive data structure?
3037
3038=item How do I define methods for every class/object?
3039
3040=item How do I verify a credit card checksum?
3041
3042=item How do I pack arrays of doubles or floats for XS code?
3043
3044=back
3045
3046=item AUTHOR AND COPYRIGHT
3047
3048=back
3049
cb52f95f
JH
3050=head2 perlfaq5 - Files and Formats ($Revision: 1.4 $, $Date: 2001/11/09
305108:06:04 $)
4755096e 3052
d420ca49 3053=over 4
4755096e
GS
3054
3055=item DESCRIPTION
3056
d420ca49 3057=over 4
4755096e
GS
3058
3059=item How do I flush/unbuffer an output filehandle? Why must I do this?
3060
3061=item How do I change one line in a file/delete a line in a file/insert a
3062line in the middle of a file/append to the beginning of a file?
3063
3064=item How do I count the number of lines in a file?
3065
3066=item How do I make a temporary file name?
3067
3068=item How can I manipulate fixed-record-length files?
3069
3070=item How can I make a filehandle local to a subroutine? How do I pass
3071filehandles between subroutines? How do I make an array of filehandles?
3072
3073=item How can I use a filehandle indirectly?
3074
3075=item How can I set up a footer format to be used with write()?
3076
3077=item How can I write() into a string?
3078
3079=item How can I output my numbers with commas added?
3080
3081=item How can I translate tildes (~) in a filename?
3082
3083=item How come when I open a file read-write it wipes it out?
3084
3085=item Why do I sometimes get an "Argument list too long" when I use <*>?
3086
3087=item Is there a leak/bug in glob()?
3088
3089=item How can I open a file with a leading ">" or trailing blanks?
3090
3091=item How can I reliably rename a file?
3092
3093=item How can I lock a file?
3094
3095=item Why can't I just open(FH, ">file.lock")?
3096
3097=item I still don't get locking. I just want to increment the number in
3098the file. How can I do this?
3099
1fa7ca25
JH
3100=item All I want to do is append a small amount of text to the end of a
3101file. Do I still have to use locking?
3102
4755096e
GS
3103=item How do I randomly update a binary file?
3104
3105=item How do I get a file's timestamp in perl?
3106
3107=item How do I set a file's timestamp in perl?
3108
3109=item How do I print to more than one file at once?
3110
3111=item How can I read in an entire file all at once?
3112
3113=item How can I read in a file by paragraphs?
3114
3115=item How can I read a single character from a file? From the keyboard?
3116
3117=item How can I tell whether there's a character waiting on a filehandle?
3118
3119=item How do I do a C<tail -f> in perl?
3120
3121=item How do I dup() a filehandle in Perl?
3122
3123=item How do I close a file descriptor by number?
3124
3125=item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
3126`C:\temp\foo.exe` work?
3127
3128=item Why doesn't glob("*.*") get all the files?
3129
3130=item Why does Perl let me delete read-only files? Why does C<-i> clobber
3131protected files? Isn't this a bug in Perl?
3132
3133=item How do I select a random line from a file?
3134
3135=item Why do I get weird spaces when I print an array of lines?
3136
3137=back
3138
3139=item AUTHOR AND COPYRIGHT
3140
3141=back
3142
cb52f95f 3143=head2 perlfaq6 - Regexes ($Revision: 1.4 $, $Date: 2001/11/09 08:06:04 $)
4755096e 3144
d420ca49 3145=over 4
4755096e
GS
3146
3147=item DESCRIPTION
3148
d420ca49 3149=over 4
4755096e
GS
3150
3151=item How can I hope to use regular expressions without creating illegible
3152and unmaintainable code?
3153
3154Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
3155
3156=item I'm having trouble matching over more than one line. What's wrong?
3157
3158=item How can I pull out lines between two patterns that are themselves on
3159different lines?
3160
3161=item I put a regular expression into $/ but it didn't work. What's wrong?
3162
d420ca49 3163=item How do I substitute case insensitively on the LHS while preserving
4755096e
GS
3164case on the RHS?
3165
3166=item How can I make C<\w> match national character sets?
3167
3168=item How can I match a locale-smart version of C</[a-zA-Z]/>?
3169
3170=item How can I quote a variable to use in a regex?
3171
3172=item What is C</o> really for?
3173
3174=item How do I use a regular expression to strip C style comments from a
3175file?
3176
3177=item Can I use Perl regular expressions to match balanced text?
3178
3179=item What does it mean that regexes are greedy? How can I get around it?
3180
165c0277 3181=item How do I process each word on each line?
4755096e
GS
3182
3183=item How can I print out a word-frequency or line-frequency summary?
3184
3185=item How can I do approximate matching?
3186
3187=item How do I efficiently match many regular expressions at once?
3188
3189=item Why don't word-boundary searches with C<\b> work for me?
3190
3191=item Why does using $&, $`, or $' slow my program down?
3192
3193=item What good is C<\G> in a regular expression?
3194
3195=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
3196
3197=item What's wrong with using grep or map in a void context?
3198
3199=item How can I match strings with multibyte characters?
3200
3201=item How do I match a pattern that is supplied by the user?
3202
3203=back
3204
3205=item AUTHOR AND COPYRIGHT
3206
3207=back
3208
cb52f95f
JH
3209=head2 perlfaq7 - Perl Language Issues ($Revision: 1.4 $, $Date: 2001/11/07
321002:27:50 $)
4755096e 3211
d420ca49 3212=over 4
4755096e
GS
3213
3214=item DESCRIPTION
3215
d420ca49 3216=over 4
4755096e
GS
3217
3218=item Can I get a BNF/yacc/RE for the Perl language?
3219
3220=item What are all these $@%&* punctuation signs, and how do I know when to
3221use them?
3222
3223=item Do I always/never have to quote my strings or use semicolons and
3224commas?
3225
3226=item How do I skip some return values?
68dc0745
PP
3227
3228=item How do I temporarily block warnings?
3229
3230=item What's an extension?
3231
3232=item Why do Perl operators have different precedence than C operators?
3233
3234=item How do I declare/create a structure?
3235
3236=item How do I create a module?
3237
3238=item How do I create a class?
3239
3240=item How can I tell if a variable is tainted?
3241
3242=item What's a closure?
3243
46fc3d4c
PP
3244=item What is variable suicide and how can I prevent it?
3245
68dc0745 3246=item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
14218588 3247Regex}?
68dc0745 3248
14218588 3249Passing Variables and Functions, Passing Filehandles, Passing Regexes,
68dc0745
PP
3250Passing Methods
3251
3252=item How do I create a static variable?
3253
14218588 3254=item What's the difference between dynamic and lexical (static) scoping?
68dc0745
PP
3255Between local() and my()?
3256
3257=item How can I access a dynamic variable while a similarly named lexical
3258is in scope?
3259
3260=item What's the difference between deep and shallow binding?
3261
b38f6a39 3262=item Why doesn't "my($foo) = <FILE>;" work right?
68dc0745 3263
54310121 3264=item How do I redefine a builtin function, operator, or method?
68dc0745
PP
3265
3266=item What's the difference between calling a function as &foo and foo()?
3267
3268=item How do I create a switch or case statement?
3269
3270=item How can I catch accesses to undefined variables/functions/methods?
3271
3272=item Why can't a method included in this same file be found?
3273
3274=item How can I find out my current package?
3275
46fc3d4c
PP
3276=item How can I comment out a large block of perl code?
3277
14218588
GS
3278=item How do I clear a package?
3279
3280=item How can I use a variable as a variable name?
3281
68dc0745
PP
3282=back
3283
3284=item AUTHOR AND COPYRIGHT
3285
a45bd81d
GS
3286=back
3287
cb52f95f
JH
3288=head2 perlfaq8 - System Interaction ($Revision: 1.4 $, $Date: 2001/11/09
328908:06:04 $)
68dc0745 3290
d420ca49 3291=over 4
a45bd81d 3292
68dc0745
PP
3293=item DESCRIPTION
3294
d420ca49 3295=over 4
68dc0745
PP
3296
3297=item How do I find out which operating system I'm running under?
3298
3299=item How come exec() doesn't return?
3300
3301=item How do I do fancy stuff with the keyboard/screen/mouse?
3302
3303Keyboard, Screen, Mouse
3304
fb9cefb4
GS
3305=item How do I print something out in color?
3306
3307=item How do I read just one key without waiting for a return key?
3308
3309=item How do I check whether input is ready on the keyboard?
3310
3311=item How do I clear the screen?
3312
3313=item How do I get the screen size?
3314
68dc0745
PP
3315=item How do I ask the user for a password?
3316
3317=item How do I read and write the serial port?
3318
3319lockfiles, open mode, end of line, flushing output, non-blocking input
3320
3321=item How do I decode encrypted password files?
3322
3323=item How do I start a process in the background?
3324
fb9cefb4 3325STDIN, STDOUT, and STDERR are shared, Signals, Zombies
68dc0745
PP
3326
3327=item How do I trap control characters/signals?
3328
3329=item How do I modify the shadow password file on a Unix system?
3330
3331=item How do I set the time and date?
3332
3333=item How can I sleep() or alarm() for under a second?
3334
3335=item How can I measure time under a second?
3336
3337=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
3338
d420ca49 3339=item Why doesn't my sockets program work under System V (Solaris)? What
68dc0745
PP
3340does the error message "Protocol not supported" mean?
3341
3342=item How can I call my system's unique C functions from Perl?
3343
3344=item Where do I get the include files to do ioctl() or syscall()?
3345
3346=item Why do setuid perl scripts complain about kernel problems?
3347
3348=item How can I open a pipe both to and from a command?
3349
3fe9a6f1
PP
3350=item Why can't I get the output of a command with system()?
3351
68dc0745
PP
3352=item How can I capture STDERR from an external command?
3353
3354=item Why doesn't open() return an error when a pipe open fails?
3355
3356=item What's wrong with using backticks in a void context?
3357
3358=item How can I call backticks without shell processing?
3359
3360=item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
54310121 3361^Z on MS-DOS)?
68dc0745
PP
3362
3363=item How can I convert my shell script to perl?
3364
3365=item Can I use perl to run a telnet or ftp session?
3366
3367=item How can I write expect in Perl?
3368
3369=item Is there a way to hide perl's command line from programs such as
3370"ps"?
3371
3372=item I {changed directory, modified my environment} in a perl script. How
3373come the change disappeared when I exited the script? How do I get my
3374changes to be visible?
3375
fb9cefb4 3376Unix
68dc0745
PP
3377
3378=item How do I close a process's filehandle without waiting for it to
3379complete?
3380
3381=item How do I fork a daemon process?
3382
68dc0745
PP
3383=item How do I find out if I'm running interactively or not?
3384
3385=item How do I timeout a slow event?
3386
3387=item How do I set CPU limits?
3388
3389=item How do I avoid zombies on a Unix system?
3390
3391=item How do I use an SQL database?
3392
3393=item How do I make a system() exit on control-C?
3394
3395=item How do I open a file without blocking?
3396
14218588 3397=item How do I install a module from CPAN?
68dc0745 3398
fb9cefb4
GS
3399=item What's the difference between require and use?
3400
46fc3d4c
PP
3401=item How do I keep my own module/library directory?
3402
3403=item How do I add the directory my program lives in to the module/library
3404search path?
3405
3406=item How do I add a directory to my include path at runtime?
3407
14218588
GS
3408=item What is socket.ph and where do I get it?
3409
68dc0745
PP
3410=back
3411
fc36a67e
PP
3412=item AUTHOR AND COPYRIGHT
3413
a45bd81d
GS
3414=back
3415
cb52f95f 3416=head2 perlfaq9 - Networking ($Revision: 1.5 $, $Date: 2001/11/09 08:06:04
3fe9a6f1 3417$)
68dc0745 3418
d420ca49 3419=over 4
a45bd81d 3420
68dc0745
PP
3421=item DESCRIPTION
3422
d420ca49 3423=over 4
68dc0745 3424
35bf961c
JH
3425=item What is the correct form of response from a CGI script?
3426
d420ca49 3427=item My CGI script runs from the command line but not the browser. (500
fb9cefb4
GS
3428Server Error)
3429
3430=item How can I get better error messages from a CGI program?
68dc0745
PP
3431
3432=item How do I remove HTML from a string?
3433
3434=item How do I extract URLs?
3435
3436=item How do I download a file from the user's machine? How do I open a
3437file on another machine?
3438
3439=item How do I make a pop-up menu in HTML?
3440
3441=item How do I fetch an HTML file?
3442
fb9cefb4
GS
3443=item How do I automate an HTML form submission?
3444
3445=item How do I decode or create those %-encodings on the web?
68dc0745
PP
3446
3447=item How do I redirect to another page?
3448
3449=item How do I put a password on my web pages?
3450
3451=item How do I edit my .htpasswd and .htgroup files with Perl?
3452
46fc3d4c
PP
3453=item How do I make sure users can't enter values into a form that cause my
3454CGI script to do bad things?
3455
193fb0af 3456=item How do I parse a mail header?
68dc0745
PP
3457
3458=item How do I decode a CGI form?
3459
193fb0af 3460=item How do I check a valid mail address?
68dc0745
PP
3461
3462=item How do I decode a MIME/BASE64 string?
3463
193fb0af 3464=item How do I return the user's mail address?
68dc0745 3465
fb9cefb4
GS
3466=item How do I send mail?
3467
2d967e39
JH
3468=item How do I use MIME to make an attachment to a mail message?
3469
fb9cefb4 3470=item How do I read mail?
68dc0745
PP
3471
3472=item How do I find out my hostname/domainname/IP address?
3473
3474=item How do I fetch a news article or the active newsgroups?
3475
3476=item How do I fetch/put an FTP file?
3477
3478=item How can I do RPC in Perl?
3479
3480=back
3481
3482=item AUTHOR AND COPYRIGHT
3483
a45bd81d
GS
3484=back
3485
4755096e 3486=head2 perlcompile - Introduction to the Perl Compiler-Translator
a45bd81d 3487
d420ca49 3488=over 4
cb1a09d0 3489
8ebc5c01 3490=item DESCRIPTION
cb1a09d0 3491
d420ca49 3492=over 4