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