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