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