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