This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Changes.
[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,
d396a558 567connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT,
c2e66d9e
GS
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
d396a558
JH
593DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack TEMPLATE,LIST, package
594NAMESPACE, package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos
595SCALAR, pos, print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE
596FORMAT, LIST, printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST,
597q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR,
598quotemeta, rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read
91e74348
JH
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
10862624
RF
1022=head2 perldebtut - Perl debugging tutorial
1023
1024=over
1025
1026=item DESCRIPTION
1027
1028=item use strict
1029
d396a558
JH
1030=item Looking at data and -w and w
1031
1032=item help
10862624
RF
1033
1034=item Stepping through code
1035
1036=item Placeholder for a, w, t, T
1037
d396a558 1038=item REGULAR EXPRESSIONS
10862624 1039
d396a558 1040=item OUTPUT TIPS
10862624
RF
1041
1042=item CGI
1043
1044=item GUIs
1045
d396a558 1046=item SUMMARY
10862624
RF
1047
1048=item SEE ALSO
1049
1050=item AUTHOR
1051
1052=item CONTRIBUTORS
1053
1054=back
1055
4755096e 1056=head2 perldebug - Perl debugging
68dc0745 1057
4755096e 1058=over
68dc0745 1059
4755096e 1060=item DESCRIPTION
68dc0745 1061
4755096e 1062=item The Perl Debugger
68dc0745 1063
4755096e 1064=over
68dc0745 1065
4755096e 1066=item Debugger Commands
68dc0745 1067
4755096e
GS
1068h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1069[expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
1070-, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
1071b [line] [condition], b subname [condition], b postpone subname
1072[condition], b load filename, b compile subname, d [line], D, a [line]
1073command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
1074option=value .., < ?, < [ command ], << command, > ?, > command, >>
1075command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
1076cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage]
68dc0745 1077
4755096e 1078=item Configurable Options
68dc0745 1079
4755096e
GS
1080C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
1081C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
1082C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
1083C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
1084C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
1085C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>
68dc0745 1086
4755096e 1087=item Debugger input/output
68dc0745 1088
4755096e
GS
1089Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
1090listing
68dc0745 1091
4755096e 1092=item Debugging compile-time statements
68dc0745 1093
4755096e 1094=item Debugger Customization
68dc0745 1095
4755096e 1096=item Readline Support
68dc0745 1097
4755096e 1098=item Editor Support for Debugging
68dc0745 1099
4755096e 1100=item The Perl Profiler
68dc0745 1101
4755096e 1102=back
68dc0745 1103
4755096e 1104=item Debugging regular expressions
68dc0745 1105
4755096e 1106=item Debugging memory usage
14218588 1107
4755096e 1108=item SEE ALSO
68dc0745 1109
4755096e 1110=item BUGS
68dc0745 1111
a45bd81d
GS
1112=back
1113
c2e66d9e 1114=head2 perlvar - Perl predefined variables
68dc0745 1115
a45bd81d
GS
1116=over
1117
68dc0745
PP
1118=item DESCRIPTION
1119
1120=over
1121
c2e66d9e 1122=item Predefined Names
68dc0745 1123
c2e66d9e
GS
1124$ARG, $_, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1125$LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
1126input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $,
1127input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/,
1128autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE
1129EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE
1130EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
1131$SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1132EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1133$FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
1134$FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, C<$`> is the same as
1135C<substr($var, 0, $-[0])>, C<$&> is the same as C<substr($var, $-[0], $+[0]
1136- $-[0])>, C<$'> is the same as C<substr($var, $+[0])>, C<$1> is the same
1137as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2> is the same as
1138C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as C<substr $var,
1139$-[3], $+[3] - $-[3])>, format_name HANDLE EXPR, $FORMAT_NAME, $~,
1140format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1141format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1142$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1143$CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1144$EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1145$EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1146$EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C,
1147$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M,
1148$OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
11490x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S,
1150$BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
1151${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC,
1152%ENV, $ENV{expr}, %SIG, $SIG{expr}
68dc0745 1153
c2e66d9e 1154=item Error Indicators
68dc0745 1155
c2e66d9e 1156=item Technical Note on the Syntax of Variable Names
4755096e 1157
c2e66d9e
GS
1158=back
1159
1160=item BUGS
4755096e
GS
1161
1162=back
1163
c2e66d9e 1164=head2 perllol - Manipulating Arrays of Arrays in Perl
4755096e 1165
c2e66d9e
GS
1166=over
1167
1168=item DESCRIPTION
1169
1170=item Declaration and Access of Arrays of Arrays
1171
1172=item Growing Your Own
1173
1174=item Access and Printing
1175
1176=item Slices
1177
1178=item SEE ALSO
1179
1180=item AUTHOR
4755096e
GS
1181
1182=back
1183
c2e66d9e 1184=head2 perlopentut - tutorial on opening things in Perl
4755096e
GS
1185
1186=over
1187
1188=item DESCRIPTION
1189
c2e66d9e
GS
1190=item Open E<agrave> la shell
1191
4755096e
GS
1192=over
1193
c2e66d9e 1194=item Simple Opens
4755096e 1195
c2e66d9e 1196=item Pipe Opens
4755096e 1197
c2e66d9e 1198=item The Minus File
4755096e 1199
c2e66d9e 1200=item Mixing Reads and Writes
4755096e
GS
1201
1202=item Filters
1203
1204=back
1205
1206=item Open E<agrave> la C
1207
1208=over
1209
1210=item Permissions E<agrave> la mode
1211
1212=back
1213
1214=item Obscure Open Tricks
1215
1216=over
1217
1218=item Re-Opening Files (dups)
1219
1220=item Dispelling the Dweomer
1221
1222=item Paths as Opens
1223
1224=item Single Argument Open
1225
1226=item Playing with STDIN and STDOUT
1227
1228=back
1229
1230=item Other I/O Issues
1231
1232=over
1233
1234=item Opening Non-File Files
1235
1236=item Binary Files
1237
1238=item File Locking
1239
1240=back
1241
1242=item SEE ALSO
1243
1244=item AUTHOR and COPYRIGHT
1245
1246=item HISTORY
1247
1248=back
1249
c2e66d9e 1250=head2 perlretut - Perl regular expressions tutorial
4755096e
GS
1251
1252=over
1253
1254=item DESCRIPTION
1255
c2e66d9e 1256=item Part 1: The basics
4755096e 1257
c2e66d9e 1258=over
4755096e 1259
c2e66d9e 1260=item Simple word matching
4755096e 1261
c2e66d9e 1262=item Using character classes
4755096e 1263
c2e66d9e
GS
1264\d is a digit and represents [0-9], \s is a whitespace character and
1265represents [\ \t\r\n\f], \w is a word character (alphanumeric or _) and
1266represents [0-9a-zA-Z_], \D is a negated \d; it represents any character
1267but a digit [^0-9], \S is a negated \s; it represents any non-whitespace
1268character [^\s], \W is a negated \w; it represents any non-word character
1269[^\w], The period '.' matches any character but "\n", no modifiers (//):
1270Default behavior. C<'.'> matches any character except C<"\n">. C<^>
1271matches only at the beginning of the string and C<$> matches only at the
1272end or before a newline at the end, s modifier (//s): Treat string as a
1273single long line. C<'.'> matches any character, even C<"\n">. C<^>
1274matches only at the beginning of the string and C<$> matches only at the
1275end or before a newline at the end, m modifier (//m): Treat string as a set
1276of multiple lines. C<'.'> matches any character except C<"\n">. C<^> and
1277C<$> are able to match at the start or end of I<any> line within the
1278string, both s and m modifiers (//sm): Treat string as a single long line,
1279but detect multiple lines. C<'.'> matches any character, even C<"\n">.
1280C<^> and C<$>, however, are able to match at the start or end of I<any>
1281line within the string
4755096e 1282
c2e66d9e 1283=item Matching this or that
4755096e 1284
c2e66d9e 1285=item Grouping things and hierarchical matching
4755096e 1286
c2e66d9e
GS
12870 Start with the first letter in the string 'a', 1 Try the first
1288alternative in the first group 'abd', 2 Match 'a' followed by 'b'. So far
1289so good, 3 'd' in the regexp doesn't match 'c' in the string - a dead end.
1290So backtrack two characters and pick the second alternative in the first
1291group 'abc', 4 Match 'a' followed by 'b' followed by 'c'. We are on a roll
1292and have satisfied the first group. Set $1 to 'abc', 5 Move on to the
1293second group and pick the first alternative 'df', 6 Match the 'd', 7 'f' in
1294the regexp doesn't match 'e' in the string, so a dead end. Backtrack one
1295character and pick the second alternative in the second group 'd', 8 'd'
1296matches. The second grouping is satisfied, so set $2 to 'd', 9 We are at
1297the end of the regexp, so we are done! We have matched 'abcd' out of the
1298string "abcde"
4755096e 1299
c2e66d9e 1300=item Extracting matches
4755096e 1301
c2e66d9e 1302=item Matching repetitions
4755096e 1303
c2e66d9e
GS
1304C<a?> = match 'a' 1 or 0 times, C<a*> = match 'a' 0 or more times, i.e.,
1305any number of times, C<a+> = match 'a' 1 or more times, i.e., at least
1306once, C<a{n,m}> = match at least C<n> times, but not more than C<m> times,
1307C<a{n,}> = match at least C<n> or more times, C<a{n}> = match exactly C<n>
1308times, Principle 0: Taken as a whole, any regexp will be matched at the
1309earliest possible position in the string, Principle 1: In an alternation
1310C<a|b|c...>, the leftmost alternative that allows a match for the whole
1311regexp will be the one used, Principle 2: The maximal matching quantifiers
1312C<?>, C<*>, C<+> and C<{n,m}> will in general match as much of the string
1313as possible while still allowing the whole regexp to match, Principle 3: If
1314there are two or more elements in a regexp, the leftmost greedy quantifier,
1315if any, will match as much of the string as possible while still allowing
1316the whole regexp to match. The next leftmost greedy quantifier, if any,
1317will try to match as much of the string remaining available to it as
1318possible, while still allowing the whole regexp to match. And so on, until
1319all the regexp elements are satisfied, C<a??> = match 'a' 0 or 1 times. Try
13200 first, then 1, C<a*?> = match 'a' 0 or more times, i.e., any number of
1321times, but as few times as possible, C<a+?> = match 'a' 1 or more times,
1322i.e., at least once, but as few times as possible, C<a{n,m}?> = match at
1323least C<n> times, not more than C<m> times, as few times as possible,
1324C<a{n,}?> = match at least C<n> times, but as few times as possible,
1325C<a{n}?> = match exactly C<n> times. Because we match exactly C<n> times,
1326C<a{n}?> is equivalent to C<a{n}> and is just there for notational
1327consistency, Principle 3: If there are two or more elements in a regexp,
1328the leftmost greedy (non-greedy) quantifier, if any, will match as much
1329(little) of the string as possible while still allowing the whole regexp to
1330match. The next leftmost greedy (non-greedy) quantifier, if any, will try
1331to match as much (little) of the string remaining available to it as
1332possible, while still allowing the whole regexp to match. And so on, until
1333all the regexp elements are satisfied, 0 Start with the first letter in the
1334string 't', 1 The first quantifier '.*' starts out by matching the whole
1335string 'the cat in the hat', 2 'a' in the regexp element 'at' doesn't match
1336the end of the string. Backtrack one character, 3 'a' in the regexp
1337element 'at' still doesn't match the last letter of the string 't', so
1338backtrack one more character, 4 Now we can match the 'a' and the 't', 5
1339Move on to the third element '.*'. Since we are at the end of the string
1340and '.*' can match 0 times, assign it the empty string, 6 We are done!
4755096e 1341
c2e66d9e 1342=item Building a regexp
4755096e 1343
c2e66d9e
GS
1344specifying the task in detail,, breaking down the problem into smaller
1345parts,, translating the small parts into regexps,, combining the regexps,,
1346and optimizing the final combined regexp
4755096e 1347
c2e66d9e 1348=item Using regular expressions in Perl
4755096e 1349
c2e66d9e 1350=back
4755096e 1351
c2e66d9e 1352=item Part 2: Power tools
4755096e 1353
c2e66d9e 1354=over
4755096e 1355
c2e66d9e 1356=item More on characters, strings, and character classes
4755096e 1357
c2e66d9e 1358=item Compiling and saving regular expressions
4755096e 1359
c2e66d9e 1360=item Embedding comments and modifiers in a regular expression
4755096e 1361
c2e66d9e 1362=item Non-capturing groupings
4755096e 1363
c2e66d9e 1364=item Looking ahead and looking behind
4755096e 1365
c2e66d9e 1366=item Using independent subexpressions to prevent backtracking
4755096e 1367
c2e66d9e 1368=item Conditional expressions
4755096e 1369
c2e66d9e 1370=item A bit of magic: executing Perl code in a regular expression
4755096e 1371
c2e66d9e 1372=item Pragmas and debugging
4755096e
GS
1373
1374=back
1375
c2e66d9e 1376=item BUGS
4755096e 1377
c2e66d9e 1378=item SEE ALSO
4755096e 1379
c2e66d9e 1380=item AUTHOR AND COPYRIGHT
4755096e
GS
1381
1382=over
1383
c2e66d9e 1384=item Acknowledgments
4755096e
GS
1385
1386=back
1387
4755096e
GS
1388=back
1389
c2e66d9e 1390=head2 perlre - Perl regular expressions
4755096e
GS
1391
1392=over
1393
1394=item DESCRIPTION
1395
c2e66d9e 1396i, m, s, x
4755096e
GS
1397
1398=over
1399
c2e66d9e 1400=item Regular Expressions
4755096e 1401
c2e66d9e 1402cntrl, graph, print, punct, xdigit
4755096e 1403
c2e66d9e 1404=item Extended Patterns
4755096e 1405
c2e66d9e
GS
1406C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1407C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
1408code })>, C<(??{ code })>, C<< (?>pattern) >>,
1409C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
4755096e 1410
c2e66d9e 1411=item Backtracking
4755096e 1412
c2e66d9e 1413=item Version 8 Regular Expressions
4755096e 1414
c2e66d9e 1415=item Warning on \1 vs $1
4755096e 1416
c2e66d9e
GS
1417=item Repeated patterns matching zero-length substring
1418
1419=item Combining pieces together
1420
1421C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1422C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
1423C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1424C<(?(condition)yes-pattern|no-pattern)>
1425
1426=item Creating custom RE engines
4755096e
GS
1427
1428=back
1429
c2e66d9e 1430=item BUGS
4755096e 1431
c2e66d9e 1432=item SEE ALSO
4755096e 1433
c2e66d9e
GS
1434=back
1435
d396a558
JH
1436=head2 perlref - Perl references and nested data structures
1437
1438=over
1439
1440=item NOTE
1441
1442=item DESCRIPTION
1443
1444=over
1445
1446=item Making References
1447
1448=item Using References
1449
1450=item Symbolic references
1451
1452=item Not-so-symbolic references
1453
1454=item Pseudo-hashes: Using an array as a hash
1455
1456=item Function Templates
1457
1458=back
1459
1460=item WARNING
1461
1462=item SEE ALSO
1463
1464=back
1465
c2e66d9e 1466=head2 perlform - Perl formats
4755096e
GS
1467
1468=over
1469
c2e66d9e 1470=item DESCRIPTION
4755096e 1471
c2e66d9e 1472=over
4755096e 1473
c2e66d9e 1474=item Format Variables
4755096e 1475
c2e66d9e 1476=back
4755096e 1477
c2e66d9e 1478=item NOTES
4755096e 1479
c2e66d9e
GS
1480=over
1481
1482=item Footers
1483
1484=item Accessing Formatting Internals
4755096e
GS
1485
1486=back
1487
c2e66d9e 1488=item WARNINGS
4755096e
GS
1489
1490=back
1491
d396a558 1492=head2 perlboot - Beginner's Object-Oriented Tutorial
4755096e
GS
1493
1494=over
1495
1496=item DESCRIPTION
1497
d396a558 1498=over
c2e66d9e 1499
d396a558
JH
1500=item If we could talk to the animals...
1501
1502=item Introducing the method invocation arrow
1503
1504=item Invoking a barnyard
1505
1506=item The extra parameter of method invocation
1507
1508=item Calling a second method to simplify things
1509
1510=item Inheriting the windpipes
1511
1512=item A few notes about @ISA
1513
1514=item Overriding the methods
1515
1516=item Starting the search from a different place
1517
1518=item The SUPER way of doing things
1519
1520=item Where we're at so far...
1521
1522=item A horse is a horse, of course of course -- or is it?
1523
1524=item Invoking an instance method
1525
1526=item Accessing the instance data
1527
1528=item How to build a horse
1529
1530=item Inheriting the constructor
1531
1532=item Making a method work with either classes or instances
1533
1534=item Adding parameters to a method
1535
1536=item More interesting instances
1537
1538=item A horse of a different color
1539
1540=item Summary
1541
1542=back
1543
1544=item SEE ALSO
1545
1546=item COPYRIGHT
1547
1548=back
1549
1550=head2 perltoot - Tom's object-oriented tutorial for perl
c2e66d9e 1551
4755096e
GS
1552=over
1553
d396a558 1554=item DESCRIPTION
4755096e 1555
d396a558 1556=item Creating a Class
4755096e 1557
d396a558 1558=over
4755096e 1559
d396a558 1560=item Object Representation
4755096e 1561
d396a558 1562=item Class Interface
4755096e 1563
d396a558 1564=item Constructors and Instance Methods
c2e66d9e 1565
d396a558 1566=item Planning for the Future: Better Constructors
c2e66d9e 1567
d396a558 1568=item Destructors
c2e66d9e 1569
d396a558 1570=item Other Object Methods
4755096e
GS
1571
1572=back
1573
d396a558 1574=item Class Data
4755096e
GS
1575
1576=over
1577
d396a558 1578=item Accessing Class Data
4755096e 1579
d396a558 1580=item Debugging Methods
4755096e 1581
d396a558 1582=item Class Destructors
4755096e 1583
d396a558 1584=item Documenting the Interface
4755096e 1585
d396a558 1586=back
4755096e 1587
d396a558
JH
1588=item Aggregation
1589
1590=item Inheritance
1591
1592=over
1593
1594=item Overridden Methods
1595
1596=item Multiple Inheritance
1597
1598=item UNIVERSAL: The Root of All Objects
4755096e 1599
c2e66d9e 1600=back
4755096e 1601
d396a558 1602=item Alternate Object Representations
4755096e 1603
d396a558 1604=over
4755096e 1605
d396a558 1606=item Arrays as Objects
4755096e 1607
d396a558
JH
1608=item Closures as Objects
1609
1610=back
1611
1612=item AUTOLOAD: Proxy Methods
1613
1614=over
1615
1616=item Autoloaded Data Methods
1617
1618=item Inherited Autoloaded Data Methods
1619
1620=back
1621
1622=item Metaclassical Tools
1623
1624=over
1625
1626=item Class::Struct
1627
1628=item Data Members as Variables
4755096e 1629
c2e66d9e 1630=item NOTES
4755096e 1631
d396a558
JH
1632=item Object Terminology
1633
1634=back
1635
1636=item SEE ALSO
1637
1638=item AUTHOR AND COPYRIGHT
1639
1640=item COPYRIGHT
1641
c2e66d9e
GS
1642=over
1643
d396a558 1644=item Acknowledgments
c2e66d9e 1645
d396a558 1646=back
c2e66d9e 1647
d396a558 1648=back
c2e66d9e 1649
d396a558 1650=head2 perltootc - Tom's OO Tutorial for Class Data in Perl
c2e66d9e 1651
d396a558 1652=over
c2e66d9e 1653
d396a558 1654=item DESCRIPTION
c2e66d9e 1655
d396a558
JH
1656=item Class Data as Package Variables
1657
1658=over
1659
1660=item Putting All Your Eggs in One Basket
1661
1662=item Inheritance Concerns
1663
1664=item The Eponymous Meta-Object
1665
1666=item Indirect References to Class Data
1667
1668=item Monadic Classes
1669
1670=item Translucent Attributes
4755096e
GS
1671
1672=back
1673
d396a558 1674=item Class Data as Lexical Variables
4755096e
GS
1675
1676=over
1677
d396a558
JH
1678=item Privacy and Responsibility
1679
1680=item File-Scoped Lexicals
1681
1682=item More Inheritance Concerns
1683
1684=item Locking the Door and Throwing Away the Key
1685
1686=item Translucency Revisited
4755096e 1687
c2e66d9e 1688=back
4755096e 1689
d396a558
JH
1690=item NOTES
1691
c2e66d9e 1692=item SEE ALSO
4755096e 1693
d396a558
JH
1694=item AUTHOR AND COPYRIGHT
1695
1696=item ACKNOWLEDGEMENTS
1697
c2e66d9e 1698=item HISTORY
4755096e 1699
c2e66d9e 1700=back
4755096e 1701
d396a558 1702=head2 perlobj - Perl objects
4755096e 1703
c2e66d9e 1704=over
4755096e 1705
c2e66d9e 1706=item DESCRIPTION
4755096e 1707
c2e66d9e 1708=over
4755096e 1709
d396a558 1710=item An Object is Simply a Reference
4755096e 1711
d396a558 1712=item A Class is Simply a Package
4755096e 1713
d396a558 1714=item A Method is Simply a Subroutine
4755096e 1715
d396a558 1716=item Method Invocation
4755096e 1717
d396a558
JH
1718=item WARNING
1719
1720=item Default UNIVERSAL methods
1721
1722isa(CLASS), can(METHOD), VERSION( [NEED] )
1723
1724=item Destructors
1725
1726=item Summary
1727
1728=item Two-Phased Garbage Collection
4755096e 1729
c2e66d9e 1730=back
4755096e 1731
d396a558
JH
1732=item SEE ALSO
1733
1734=back
1735
1736=head2 perlbot - Bag'o Object Tricks (the BOT)
1737
1738=over
1739
1740=item DESCRIPTION
1741
1742=item OO SCALING TIPS
1743
1744=item INSTANCE VARIABLES
1745
1746=item SCALAR INSTANCE VARIABLES
1747
1748=item INSTANCE VARIABLE INHERITANCE
1749
1750=item OBJECT RELATIONSHIPS
1751
1752=item OVERRIDING SUPERCLASS METHODS
1753
1754=item USING RELATIONSHIP WITH SDBM
1755
1756=item THINKING OF CODE REUSE
1757
1758=item CLASS CONTEXT AND THE OBJECT
1759
1760=item INHERITING A CONSTRUCTOR
1761
1762=item DELEGATION
1763
1764=back
1765
1766=head2 perltie - how to hide an object class in a simple variable
1767
1768=over
1769
1770=item SYNOPSIS
1771
1772=item DESCRIPTION
1773
1774=over
1775
1776=item Tying Scalars
1777
93d73c42
JH
1778TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this,
1779DESTROY this
d396a558
JH
1780
1781=item Tying Arrays
1782
1783TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
93d73c42 1784UNTIE this, DESTROY this
d396a558
JH
1785
1786=item Tying Hashes
1787
1788USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
1789this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
93d73c42 1790this, NEXTKEY this, lastkey, UNTIE this, DESTROY this
d396a558
JH
1791
1792=item Tying FileHandles
1793
1794TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
93d73c42
JH
1795LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this,
1796DESTROY this
d396a558 1797
9fa7f388
JH
1798=item UNTIE this
1799
d396a558
JH
1800=item The C<untie> Gotcha
1801
1802=back
4755096e 1803
c2e66d9e 1804=item SEE ALSO
4755096e 1805
d396a558
JH
1806=item BUGS
1807
1808=item AUTHOR
1809
c2e66d9e 1810=back
4755096e 1811
c2e66d9e
GS
1812=head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1813safe subprocesses, sockets, and semaphores)
4755096e 1814
c2e66d9e 1815=over
4755096e 1816
c2e66d9e 1817=item DESCRIPTION
4755096e 1818
c2e66d9e 1819=item Signals
4755096e 1820
c2e66d9e 1821=item Named Pipes
4755096e 1822
c2e66d9e 1823=over
4755096e 1824
c2e66d9e 1825=item WARNING
4755096e 1826
c2e66d9e 1827=back
4755096e 1828
c2e66d9e 1829=item Using open() for IPC
4755096e 1830
c2e66d9e 1831=over
4755096e 1832
c2e66d9e 1833=item Filehandles
4755096e 1834
c2e66d9e 1835=item Background Processes
4755096e 1836
c2e66d9e 1837=item Complete Dissociation of Child from Parent
4755096e 1838
c2e66d9e 1839=item Safe Pipe Opens
4755096e 1840
c2e66d9e 1841=item Bidirectional Communication with Another Process
4755096e 1842
c2e66d9e 1843=item Bidirectional Communication with Yourself
4755096e
GS
1844
1845=back
1846
c2e66d9e 1847=item Sockets: Client/Server Communication
4755096e
GS
1848
1849=over
1850
c2e66d9e 1851=item Internet Line Terminators
4755096e 1852
c2e66d9e 1853=item Internet TCP Clients and Servers
4755096e 1854
c2e66d9e
GS
1855=item Unix-Domain TCP Clients and Servers
1856
1857=back
1858
1859=item TCP Clients with IO::Socket
4755096e
GS
1860
1861=over
1862
c2e66d9e 1863=item A Simple Client
4755096e 1864
c2e66d9e 1865C<Proto>, C<PeerAddr>, C<PeerPort>
4755096e 1866
c2e66d9e 1867=item A Webget Client
4755096e 1868
c2e66d9e 1869=item Interactive Client with IO::Socket
4755096e 1870
c2e66d9e 1871=back
4755096e 1872
c2e66d9e 1873=item TCP Servers with IO::Socket
4755096e 1874
c2e66d9e 1875Proto, LocalPort, Listen, Reuse
4755096e 1876
c2e66d9e 1877=item UDP: Message Passing
4755096e 1878
c2e66d9e 1879=item SysV IPC
4755096e 1880
c2e66d9e 1881=item NOTES
4755096e 1882
c2e66d9e 1883=item BUGS
4755096e 1884
c2e66d9e 1885=item AUTHOR
4755096e 1886
c2e66d9e 1887=item SEE ALSO
4755096e
GS
1888
1889=back
1890
c2e66d9e 1891=head2 perlfork - Perl's fork() emulation
4755096e 1892
c2e66d9e 1893=over
4755096e 1894
c2e66d9e
GS
1895=item SYNOPSIS
1896
1897=item DESCRIPTION
4755096e
GS
1898
1899=over
1900
c2e66d9e 1901=item Behavior of other Perl features in forked pseudo-processes
4755096e 1902
c2e66d9e
GS
1903$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
1904filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
1905files, directories and network sockets
4755096e 1906
c2e66d9e 1907=item Resource limits
4755096e 1908
c2e66d9e 1909=item Killing the parent process
4755096e 1910
c2e66d9e 1911=item Lifetime of the parent process and pseudo-processes
4755096e 1912
c2e66d9e 1913=item CAVEATS AND LIMITATIONS
4755096e 1914
c2e66d9e
GS
1915BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
1916Global state maintained by XSUBs, Interpreter embedded in larger
1917application, Thread-safety of extensions
4755096e 1918
c2e66d9e 1919=back
4755096e 1920
c2e66d9e
GS
1921=item BUGS
1922
1923=item AUTHOR
1924
1925=item SEE ALSO
4755096e
GS
1926
1927=back
1928
c2e66d9e 1929=head2 perlnumber - semantics of numbers and numeric operations in Perl
4755096e
GS
1930
1931=over
1932
c2e66d9e 1933=item SYNOPSIS
4755096e 1934
c2e66d9e 1935=item DESCRIPTION
4755096e 1936
c2e66d9e 1937=item Storing numbers
4755096e 1938
c2e66d9e 1939=item Numeric operators and numeric conversions
4755096e 1940
c2e66d9e 1941=item Flavors of Perl numeric operations
4755096e 1942
c2e66d9e
GS
1943Arithmetic operators except, C<no integer>, Arithmetic operators except,
1944C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
1945integer>, Operators which expect an integer, Operators which expect a
1946string
4755096e 1947
c2e66d9e 1948=item AUTHOR
4755096e 1949
c2e66d9e 1950=item SEE ALSO
4755096e
GS
1951
1952=back
1953
c2e66d9e 1954=head2 perlthrtut - tutorial on threads in Perl
4755096e
GS
1955
1956=over
1957
1958=item DESCRIPTION
1959
c2e66d9e 1960=item What Is A Thread Anyway?
4755096e 1961
c2e66d9e 1962=item Threaded Program Models
4755096e 1963
c2e66d9e 1964=over
4755096e 1965
c2e66d9e 1966=item Boss/Worker
4755096e 1967
c2e66d9e 1968=item Work Crew
4755096e 1969
c2e66d9e 1970=item Pipeline
4755096e
GS
1971
1972=back
1973
c2e66d9e 1974=item Native threads
4755096e 1975
c2e66d9e 1976=item What kind of threads are perl threads?
4755096e 1977
c2e66d9e 1978=item Threadsafe Modules
4755096e 1979
c2e66d9e 1980=item Thread Basics
4755096e
GS
1981
1982=over
1983
c2e66d9e 1984=item Basic Thread Support
4755096e 1985
c2e66d9e 1986=item Creating Threads
4755096e 1987
c2e66d9e 1988=item Giving up control
4755096e 1989
c2e66d9e 1990=item Waiting For A Thread To Exit
4755096e 1991
c2e66d9e 1992=item Errors In Threads
4755096e 1993
c2e66d9e 1994=item Ignoring A Thread
4755096e
GS
1995
1996=back
1997
c2e66d9e 1998=item Threads And Data
4755096e
GS
1999
2000=over
2001
c2e66d9e 2002=item Shared And Unshared Data
4755096e 2003
c2e66d9e 2004=item Thread Pitfall: Races
4755096e 2005
c2e66d9e 2006=item Controlling access: lock()
4755096e 2007
c2e66d9e 2008=item Thread Pitfall: Deadlocks
4755096e 2009
c2e66d9e 2010=item Queues: Passing Data Around
4755096e 2011
c2e66d9e 2012=back
4755096e 2013
c2e66d9e 2014=item Threads And Code
4755096e 2015
c2e66d9e 2016=over
4755096e 2017
c2e66d9e 2018=item Semaphores: Synchronizing Data Access
4755096e 2019
c2e66d9e 2020Basic semaphores, Advanced Semaphores
4755096e 2021
c2e66d9e 2022=item Attributes: Restricting Access To Subroutines
4755096e 2023
c2e66d9e 2024=item Subroutine Locks
4755096e 2025
c2e66d9e 2026=item Methods
4755096e 2027
c2e66d9e 2028=item Locking A Subroutine
4755096e
GS
2029
2030=back
2031
c2e66d9e 2032=item General Thread Utility Routines
4755096e 2033
c2e66d9e 2034=over
4755096e 2035
c2e66d9e 2036=item What Thread Am I In?
4755096e 2037
c2e66d9e 2038=item Thread IDs
4755096e 2039
c2e66d9e 2040=item Are These Threads The Same?
4755096e 2041
c2e66d9e 2042=item What Threads Are Running?
4755096e 2043
c2e66d9e 2044=back
4755096e 2045
c2e66d9e 2046=item A Complete Example
4755096e 2047
c2e66d9e 2048=item Conclusion
4755096e 2049
c2e66d9e 2050=item Bibliography
4755096e
GS
2051
2052=over
2053
c2e66d9e 2054=item Introductory Texts
4755096e 2055
c2e66d9e 2056=item OS-Related References
4755096e 2057
c2e66d9e 2058=item Other References
4755096e
GS
2059
2060=back
2061
c2e66d9e 2062=item Acknowledgements
4755096e 2063
c2e66d9e 2064=item AUTHOR
4755096e 2065
c2e66d9e 2066=item Copyrights
4755096e 2067
c2e66d9e 2068=back
4755096e 2069
c2e66d9e 2070=head2 perlport - Writing portable Perl
4755096e
GS
2071
2072=over
2073
c2e66d9e 2074=item DESCRIPTION
4755096e 2075
c2e66d9e
GS
2076Not all Perl programs have to be portable, Nearly all of Perl already I<is>
2077portable
4755096e 2078
c2e66d9e 2079=item ISSUES
4755096e 2080
c2e66d9e 2081=over
4755096e 2082
c2e66d9e 2083=item Newlines
4755096e 2084
c2e66d9e 2085=item Numbers endianness and Width
4755096e 2086
c2e66d9e 2087=item Files and Filesystems
4755096e 2088
c2e66d9e 2089=item System Interaction
4755096e 2090
c2e66d9e 2091=item Interprocess Communication (IPC)
4755096e 2092
c2e66d9e 2093=item External Subroutines (XS)
4755096e 2094
c2e66d9e 2095=item Standard Modules
4755096e 2096
c2e66d9e 2097=item Time and Date
4755096e 2098
c2e66d9e 2099=item Character sets and character encoding
4755096e 2100
c2e66d9e 2101=item Internationalisation
4755096e 2102
c2e66d9e 2103=item System Resources
4755096e 2104
c2e66d9e 2105=item Security
4755096e 2106
c2e66d9e 2107=item Style
4755096e
GS
2108
2109=back
2110
c2e66d9e 2111=item CPAN Testers
4755096e 2112
c2e66d9e
GS
2113Mailing list: cpan-testers@perl.org, Testing results:
2114http://testers.cpan.org/
4755096e 2115
c2e66d9e 2116=item PLATFORMS
4755096e 2117
c2e66d9e 2118=over
4755096e 2119
c2e66d9e 2120=item Unix
4755096e 2121
c2e66d9e 2122=item DOS and Derivatives
4755096e 2123
c2e66d9e 2124Build instructions for OS/2, L<perlos2>
4755096e 2125
c2e66d9e 2126=item S<Mac OS>
4755096e 2127
c2e66d9e 2128=item VMS
4755096e 2129
c2e66d9e 2130=item VOS
4755096e 2131
c2e66d9e 2132=item EBCDIC Platforms
4755096e 2133
c2e66d9e 2134=item Acorn RISC OS
4755096e 2135
c2e66d9e 2136=item Other perls
4755096e
GS
2137
2138=back
2139
c2e66d9e 2140=item FUNCTION IMPLEMENTATIONS
4755096e
GS
2141
2142=over
2143
c2e66d9e
GS
2144=item Alphabetical Listing of Perl Functions
2145
2146-I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
2147FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
2148PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
2149LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork,
2150getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME,
2151getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr
2152ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
2153getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
2154setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
2155setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
2156endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob,
2157ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE,
2158lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
2159msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR,
2160open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink,
2161select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
2162KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
2163setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
2164SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
d396a558
JH
2165shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair
2166SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat,
2167symlink OLDFILE,NEWFILE, syscall LIST, sysopen
2168FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
2169FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
2170wait, waitpid PID,FLAGS
4755096e 2171
d396a558 2172=back
4755096e 2173
d396a558 2174=item CHANGES
4755096e 2175
d396a558
JH
2176v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999,
2177v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May
21781999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December
21791998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August
21801998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998,
2181v1.23, 10 July 1998
4755096e 2182
d396a558 2183=item Supported Platforms
4755096e 2184
d396a558 2185=item SEE ALSO
4755096e 2186
d396a558 2187=item AUTHORS / CONTRIBUTORS
4755096e 2188
d396a558 2189=item VERSION
4755096e
GS
2190
2191=back
2192
d396a558
JH
2193=head2 perllocale - Perl locale handling (internationalization and
2194localization)
4755096e 2195
d396a558 2196=over
4755096e 2197
d396a558 2198=item DESCRIPTION
4755096e 2199
d396a558
JH
2200=item PREPARING TO USE LOCALES
2201
2202=item USING LOCALES
4755096e
GS
2203
2204=over
2205
d396a558 2206=item The use locale pragma
4755096e 2207
d396a558 2208=item The setlocale function
4755096e 2209
d396a558 2210=item Finding locales
4755096e 2211
d396a558 2212=item LOCALE PROBLEMS
4755096e 2213
d396a558 2214=item Temporarily fixing locale problems
4755096e 2215
d396a558 2216=item Permanently fixing locale problems
4755096e 2217
d396a558 2218=item Permanently fixing your system's locale configuration
4755096e 2219
d396a558 2220=item Fixing system locale configuration
4755096e 2221
d396a558 2222=item The localeconv function
4755096e
GS
2223
2224=back
2225
d396a558 2226=item LOCALE CATEGORIES
4755096e
GS
2227
2228=over
2229
d396a558 2230=item Category LC_COLLATE: Collation
4755096e 2231
d396a558 2232=item Category LC_CTYPE: Character Types
4755096e 2233
d396a558 2234=item Category LC_NUMERIC: Numeric Formatting
4755096e 2235
d396a558 2236=item Category LC_MONETARY: Formatting of monetary amounts
4755096e 2237
d396a558 2238=item LC_TIME
4755096e 2239
d396a558 2240=item Other categories
4755096e 2241
d396a558 2242=back
4755096e 2243
d396a558 2244=item SECURITY
4755096e 2245
d396a558
JH
2246B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
2247B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
2248B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
2249B<Output formatting functions> (printf() and write()):, B<Case-mapping
2250functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
2251functions> (localeconv(), strcoll(), strftime(), strxfrm()):, B<POSIX
2252character class tests> (isalnum(), isalpha(), isdigit(), isgraph(),
2253islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()):
4755096e 2254
d396a558 2255=item ENVIRONMENT
4755096e 2256
d396a558
JH
2257PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2258LC_NUMERIC, LC_TIME, LANG
4755096e 2259
d396a558 2260=item NOTES
4755096e
GS
2261
2262=over
2263
d396a558 2264=item Backward compatibility
4755096e 2265
d396a558 2266=item I18N:Collate obsolete
4755096e 2267
d396a558 2268=item Sort speed and memory use impacts
4755096e 2269
d396a558 2270=item write() and LC_NUMERIC
4755096e 2271
d396a558 2272=item Freely available locale definitions
4755096e 2273
d396a558 2274=item I18n and l10n
4755096e 2275
d396a558 2276=item An imperfect standard
4755096e
GS
2277
2278=back
2279
d396a558 2280=item BUGS
4755096e
GS
2281
2282=over
2283
d396a558 2284=item Broken systems
4755096e
GS
2285
2286=back
2287
2288=item SEE ALSO
2289
d396a558 2290=item HISTORY
4755096e
GS
2291
2292=back
2293
d396a558 2294=head2 perlunicode - Unicode support in Perl
4755096e
GS
2295
2296=over
2297
2298=item DESCRIPTION
2299
4755096e
GS
2300=over
2301
d396a558 2302=item Important Caveat
4755096e 2303
d396a558
JH
2304Input and Output Disciplines, Regular Expressions, C<use utf8> still needed
2305to enable a few features
4755096e 2306
d396a558 2307=item Byte and Character semantics
4755096e 2308
d396a558 2309=item Effects of character semantics
4755096e 2310
d396a558 2311=item Character encodings for input and output
4755096e 2312
d396a558
JH
2313=back
2314
2315=item CAVEATS
2316
2317=item SEE ALSO
4755096e
GS
2318
2319=back
2320
d396a558 2321=head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
4755096e
GS
2322
2323=over
2324
d396a558 2325=item DESCRIPTION
4755096e 2326
d396a558 2327=item COMMON CHARACTER CODE SETS
4755096e 2328
d396a558 2329=over
4755096e 2330
d396a558 2331=item ASCII
4755096e 2332
d396a558 2333=item ISO 8859
4755096e 2334
d396a558 2335=item Latin 1 (ISO 8859-1)
4755096e 2336
d396a558 2337=item EBCDIC
4755096e 2338
d396a558 2339=item 13 variant characters
4755096e 2340
d396a558 2341=item 0037
4755096e 2342
d396a558 2343=item 1047
4755096e 2344
d396a558 2345=item POSIX-BC
4755096e
GS
2346
2347=back
2348
d396a558 2349=item SINGLE OCTET TABLES
4755096e 2350
d396a558 2351recipe 0, recipe 1, recipe 2, recipe 3, recipe 4
4755096e 2352
d396a558 2353=item IDENTIFYING CHARACTER CODE SETS
4755096e 2354
d396a558 2355=item CONVERSIONS
4755096e 2356
37d4d706
JH
2357=over
2358
2359=item tr///
2360
2361=item iconv
2362
2363=item C RTL
2364
2365=back
2366
d396a558 2367=item OPERATOR DIFFERENCES
4755096e 2368
d396a558 2369=item FUNCTION DIFFERENCES
4755096e 2370
d396a558 2371chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
4755096e 2372
d396a558 2373=item REGULAR EXPRESSION DIFFERENCES
4755096e 2374
d396a558 2375=item SOCKETS
4755096e 2376
d396a558 2377=item SORTING
4755096e 2378
d396a558 2379=over
4755096e 2380
9fa7f388 2381=item Ignore ASCII vs. EBCDIC sort differences.
4755096e 2382
9fa7f388 2383=item MONO CASE then sort data.
4755096e 2384
9fa7f388 2385=item Convert, sort data, then re convert.
4755096e 2386
d396a558 2387=item Perform sorting on one type of machine only.
4755096e
GS
2388
2389=back
2390
37d4d706
JH
2391=item TRANFORMATION FORMATS
2392
2393=over
2394
2395=item URL decoding and encoding
2396
2397=item uu encoding and decoding
2398
2399=item Quoted-Printable encoding and decoding
2400
2401=item Caesarian cyphers
2402
2403=back
2404
2405=item Hashing order and checksums
4755096e 2406
d396a558 2407=item I18N AND L10N
4755096e 2408
d396a558 2409=item MULTI OCTET CHARACTER SETS
4755096e 2410
d396a558 2411=item OS ISSUES
4755096e 2412
d396a558 2413=over
4755096e 2414
d396a558 2415=item OS/400
7029d033 2416
d396a558 2417IFS access
4755096e 2418
d396a558 2419=item OS/390
4755096e 2420
37d4d706 2421chcp, dataset access, OS/390 iconv, locales
4755096e 2422
d396a558 2423=item VM/ESA?
4755096e 2424
d396a558 2425=item POSIX-BC?
4755096e 2426
d396a558 2427=back
4755096e 2428
9fa7f388
JH
2429=item BUGS
2430
b3b6085d
PP
2431=item SEE ALSO
2432
d396a558 2433=item REFERENCES
c2e66d9e 2434
d396a558 2435=item AUTHOR
4755096e
GS
2436
2437=back
2438
d396a558 2439=head2 perlsec - Perl security
4755096e
GS
2440
2441=over
2442
4755096e
GS
2443=item DESCRIPTION
2444
2445=over
2446
d396a558 2447=item Laundering and Detecting Tainted Data
4755096e 2448
d396a558 2449=item Switches On the "#!" Line
4755096e 2450
d396a558 2451=item Cleaning Up Your Path
c2e66d9e 2452
d396a558 2453=item Security Bugs
c2e66d9e 2454
d396a558 2455=item Protecting Your Programs
4755096e
GS
2456
2457=back
2458
c2e66d9e
GS
2459=item SEE ALSO
2460
4755096e
GS
2461=back
2462
c2e66d9e 2463=head2 perlmod - Perl modules (packages and symbol tables)
4755096e
GS
2464
2465=over
2466
2467=item DESCRIPTION
2468
c2e66d9e 2469=over
4755096e 2470
c2e66d9e 2471=item Packages
4755096e 2472
c2e66d9e 2473=item Symbol Tables
4755096e 2474
c2e66d9e 2475=item Package Constructors and Destructors
4755096e 2476
c2e66d9e 2477=item Perl Classes
4755096e 2478
c2e66d9e 2479=item Perl Modules
4755096e
GS
2480
2481=back
2482
c2e66d9e 2483=item SEE ALSO
4755096e 2484
c2e66d9e 2485=back
4755096e 2486
c2e66d9e 2487=head2 perlmodlib - constructing new Perl modules and finding existing ones
4755096e
GS
2488
2489=over
2490
c2e66d9e 2491=item DESCRIPTION
4755096e 2492
c2e66d9e 2493=item THE PERL MODULE LIBRARY
4755096e 2494
c2e66d9e 2495=over
4755096e 2496
c2e66d9e 2497=item Pragmatic Modules
4755096e 2498
c2e66d9e 2499attributes, attrs, autouse, base, blib, bytes, charnames, constant,
7029d033
JH
2500diagnostics, fields, filetest, integer, less, lib, locale, open, ops,
2501overload, re, sigtrap, strict, subs, utf8, vars, warnings
4755096e 2502
c2e66d9e 2503=item Standard Modules
4755096e 2504
c2e66d9e
GS
2505AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
2506B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
2507B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI,
2508CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
2509CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy,
2510Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, DirHandle, Dumpvalue,
2511English, Env, Exporter, Exporter::Heavy, ExtUtils::Command,
2512ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
2513ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS,
2514ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest,
2515ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
2516ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
2517File::Compare, File::Copy, File::DosGlob, File::Find, File::Path,
2518File::Spec, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
2519File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
2520File::stat, FileCache, FileHandle, FindBin, Getopt::Long, Getopt::Std,
2521I18N::Collate, IO, IPC::Open2, IPC::Open3, Math::BigFloat, Math::BigInt,
2522Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent,
2523Net::protoent, Net::servent, O, ODBM_File, Opcode, Pod::Checker, Pod::Find,
7029d033
JH
2524Pod::Html, Pod::InputObjects, Pod::Man, Pod::ParseUtils, Pod::Parser,
2525Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Termcap,
2526Pod::Usage, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
2527Socket, Symbol, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine,
2528Test, Test::Harness, Text::Abbrev, Text::ParseWords, Text::Soundex,
2529Text::Wrap, Tie::Array, Tie::Handle, Tie::Hash, Tie::RefHash, Tie::Scalar,
2530Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime, Time::tm,
2531UNIVERSAL, User::grent, User::pwent
4755096e 2532
c2e66d9e 2533=item Extension Modules
4755096e 2534
c2e66d9e 2535=back
4755096e 2536
c2e66d9e 2537=item CPAN
4755096e 2538
c2e66d9e
GS
2539Language Extensions and Documentation Tools, Development Support, Operating
2540System Interfaces, Networking, Device Control (modems) and InterProcess
2541Communication, Data Types and Data Type Utilities, Database Interfaces,
2542User Interfaces, Interfaces to / Emulations of Other Programming Languages,
2543File Names, File Systems and File Locking (see also File Handles), String
2544Processing, Language Text Processing, Parsing, and Searching, Option,
2545Argument, Parameter, and Configuration File Processing,
2546Internationalization and Locale, Authentication, Security, and Encryption,
2547World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
2548Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
2549and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
2550exceptions etc), File Handle and Input/Output Stream Utilities,
2551Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
2552North America, South America
4755096e 2553
c2e66d9e 2554=item Modules: Creation, Use, and Abuse
4755096e 2555
c2e66d9e 2556=over
4755096e 2557
c2e66d9e 2558=item Guidelines for Module Creation
4755096e 2559
c2e66d9e
GS
2560Do similar modules already exist in some form?, Try to design the new
2561module to be easy to extend and reuse, Some simple style guidelines, Select
2562what to export, Select a name for the module, Have you got it right?,
2563README and other Additional Files, A description of the
2564module/package/extension etc, A copyright notice - see below, Prerequisites
2565- what else you may need to have, How to build it - possible changes to
2566Makefile.PL etc, How to install it, Recent changes in this release,
2567especially incompatibilities, Changes / enhancements you plan to make in
2568the future, Adding a Copyright Notice, Give the module a
2569version/issue/release number, How to release and distribute a module, Take
2570care when changing a released module
4755096e 2571
c2e66d9e 2572=item Guidelines for Converting Perl 4 Library Scripts into Modules
4755096e 2573
c2e66d9e
GS
2574There is no requirement to convert anything, Consider the implications,
2575Make the most of the opportunity, The pl2pm utility will get you started,
2576Adds the standard Module prologue lines, Converts package specifiers from '
2577to ::, Converts die(...) to croak(...), Several other minor changes
4755096e 2578
c2e66d9e 2579=item Guidelines for Reusing Application Code
4755096e 2580
c2e66d9e
GS
2581Complete applications rarely belong in the Perl Module Library, Many
2582applications contain some Perl code that could be reused, Break-out the
2583reusable code into one or more separate module files, Take the opportunity
2584to reconsider and redesign the interfaces, In some cases the 'application'
2585can then be reduced to a small
4755096e 2586
c2e66d9e 2587=back
4755096e 2588
c2e66d9e 2589=item NOTE
4755096e 2590
c2e66d9e 2591=back
4755096e 2592
c2e66d9e 2593=head2 perlmodinstall - Installing CPAN Modules
4755096e 2594
c2e66d9e 2595=over
4755096e 2596
c2e66d9e 2597=item DESCRIPTION
4755096e
GS
2598
2599=over
2600
c2e66d9e 2601=item PREAMBLE
4755096e 2602
c2e66d9e
GS
2603B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2604module (sometimes unnecessary), B<INSTALL> the module
4755096e 2605
c2e66d9e 2606=back
4755096e 2607
a9ef4385
JH
2608=item PORTABILITY
2609
c2e66d9e
GS
2610=item HEY
2611
2612=item AUTHOR
2613
2614=item COPYRIGHT
4755096e
GS
2615
2616=back
2617
c2e66d9e 2618=head2 perlnewmod - preparing a new module for distribution
4755096e 2619
c2e66d9e 2620=over
4755096e 2621
c2e66d9e 2622=item DESCRIPTION
4755096e
GS
2623
2624=over
2625
c2e66d9e 2626=item Warning
4755096e 2627
c2e66d9e 2628=item What should I make into a module?
4755096e 2629
c2e66d9e 2630=item Step-by-step: Preparing the ground
4755096e 2631
c2e66d9e 2632Look around, Check it's new, Discuss the need, Choose a name, Check again
4755096e 2633
c2e66d9e 2634=item Step-by-step: Making the module
4755096e 2635
c2e66d9e
GS
2636Start with F<h2xs>, Use L<strict|strict> and L<warnings|warnings>, Use
2637L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!, Use L<plain old
2638documentation|perlpod>, Write tests, Write the README
4755096e 2639
c2e66d9e 2640=item Step-by-step: Distributing your module
4755096e 2641
c2e66d9e
GS
2642Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
2643tarball, Announce to the modules list, Announce to clpa, Fix bugs!
4755096e 2644
c2e66d9e 2645=back
4755096e 2646
c2e66d9e 2647=item AUTHOR
4755096e 2648
c2e66d9e 2649=item SEE ALSO
4755096e
GS
2650
2651=back
2652
2653=head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date:
26541999/05/23 16:08:30 $)
2655
2656=over
2657
2658=item DESCRIPTION
2659
2660=over
2661
2662=item What is Perl?
2663
2664=item Who supports Perl? Who develops it? Why is it free?
2665
2666=item Which version of Perl should I use?
2667
2668=item What are perl4 and perl5?
2669
2670=item What is perl6?
2671
2672=item How stable is Perl?
2673
2674=item Is Perl difficult to learn?
2675
2676=item How does Perl compare with other languages like Java, Python, REXX,
2677Scheme, or Tcl?
2678
2679=item Can I do [task] in Perl?
2680
2681=item When shouldn't I program in Perl?
2682
2683=item What's the difference between "perl" and "Perl"?
2684
2685=item Is it a Perl program or a Perl script?
2686
2687=item What is a JAPH?
2688
2689=item Where can I get a list of Larry Wall witticisms?
2690
2691=item How can I convince my sysadmin/supervisor/employees to use version
2692(5/5.005/Perl instead of some other language)?
2693
2694=back
2695
2696=item AUTHOR AND COPYRIGHT
2697
2698=back
2699
2700=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $,
2701$Date: 1999/10/14 18:46:09 $)
2702
2703=over
2704
2705=item DESCRIPTION
2706
2707=over
2708
2709=item What machines support Perl? Where do I get it?
2710
2711=item How can I get a binary version of Perl?
2712
2713=item I don't have a C compiler on my system. How can I compile perl?
2714
2715=item I copied the Perl binary from one machine to another, but scripts
2716don't work.
2717
2718=item I grabbed the sources and tried to compile but gdbm/dynamic
2719loading/malloc/linking/... failed. How do I make it work?
2720
2721=item What modules and extensions are available for Perl? What is CPAN?
2722What does CPAN/src/... mean?
2723
2724=item Is there an ISO or ANSI certified version of Perl?
2725
2726=item Where can I get information on Perl?
2727
2728=item What are the Perl newsgroups on Usenet? Where do I post questions?
2729
2730=item Where should I post source code?
2731
2732=item Perl Books
2733
2734References, Tutorials, Task-Oriented, Special Topics
2735
2736=item Perl in Magazines
2737
2738=item Perl on the Net: FTP and WWW Access
2739
2740=item What mailing lists are there for Perl?
2741
2742=item Archives of comp.lang.perl.misc
2743
2744=item Where can I buy a commercial version of Perl?
2745
2746=item Where do I send bug reports?
2747
2748=item What is perl.com? Perl Mongers? pm.org? perl.org?
2749
2750=back
2751
2752=item AUTHOR AND COPYRIGHT
2753
2754=back
2755
2756=head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23
275716:08:30 $)
2758
2759=over
2760
2761=item DESCRIPTION
2762
2763=over
2764
2765=item How do I do (anything)?
2766
2767=item How can I use Perl interactively?
2768
2769=item Is there a Perl shell?
2770
2771=item How do I debug my Perl programs?
2772
2773=item How do I profile my Perl programs?
2774
2775=item How do I cross-reference my Perl programs?
2776
2777=item Is there a pretty-printer (formatter) for Perl?
2778
2779=item Is there a ctags for Perl?
2780
2781=item Is there an IDE or Windows Perl Editor?
2782
2783=item Where can I get Perl macros for vi?
2784
2785=item Where can I get perl-mode for emacs?
2786
2787=item How can I use curses with Perl?
2788
2789=item How can I use X or Tk with Perl?
2790
2791=item How can I generate simple menus without using CGI or Tk?
2792
2793=item What is undump?
2794
2795=item How can I make my Perl program run faster?
2796
2797=item How can I make my Perl program take less memory?
2798
2799=item Is it unsafe to return a pointer to local data?
2800
2801=item How can I free an array or hash so my program shrinks?
2802
2803=item How can I make my CGI script more efficient?
2804
2805=item How can I hide the source for my Perl program?
2806
2807=item How can I compile my Perl program into byte code or C?
2808
2809=item How can I compile Perl into Java?
2810
2811=item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
2812
2813=item Can I write useful Perl programs on the command line?
2814
2815=item Why don't Perl one-liners work on my DOS/Mac/VMS system?
2816
2817=item Where can I learn about CGI or Web programming in Perl?
2818
2819=item Where can I learn about object-oriented Perl programming?
2820
2821=item Where can I learn about linking C with Perl? [h2xs, xsubpp]
2822
2823=item I've read perlembed, perlguts, etc., but I can't embed perl in
2824my C program, what am I doing wrong?
2825
2826=item When I tried to run my script, I got this message. What does it
2827mean?
2828
2829=item What's MakeMaker?
2830
2831=back
2832
2833=item AUTHOR AND COPYRIGHT
2834
2835=back
2836
2837=head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23
283820:37:49 $)
2839
2840=over
2841
2842=item DESCRIPTION
2843
2844=item Data: Numbers
2845
2846=over
2847
2848=item Why am I getting long decimals (eg, 19.9499999999999) instead of the
2849numbers I should be getting (eg, 19.95)?
2850
2851=item Why isn't my octal data interpreted correctly?
2852
2853=item Does Perl have a round() function? What about ceil() and floor()?
2854Trig functions?
2855
2856=item How do I convert bits into ints?
2857
2858=item Why doesn't & work the way I want it to?
2859
2860=item How do I multiply matrices?
2861
2862=item How do I perform an operation on a series of integers?
2863
2864=item How can I output Roman numerals?
2865
2866=item Why aren't my random numbers random?
2867
2868=back
2869
2870=item Data: Dates
2871
2872=over
2873
2874=item How do I find the week-of-the-year/day-of-the-year?
2875
2876=item How do I find the current century or millennium?
2877
2878=item How can I compare two dates and find the difference?
2879
2880=item How can I take a string and turn it into epoch seconds?
2881
2882=item How can I find the Julian Day?
2883
2884=item How do I find yesterday's date?
2885
2886=item Does Perl have a Year 2000 problem? Is Perl Y2K compliant?
2887
2888=back
2889
2890=item Data: Strings
2891
2892=over
2893
2894=item How do I validate input?
2895
2896=item How do I unescape a string?
2897
2898=item How do I remove consecutive pairs of characters?
2899
2900=item How do I expand function calls in a string?
2901
2902=item How do I find matching/nesting anything?
2903
2904=item How do I reverse a string?
2905
2906=item How do I expand tabs in a string?
2907
2908=item How do I reformat a paragraph?
2909
2910=item How can I access/change the first N letters of a string?
2911
2912=item How do I change the Nth occurrence of something?
2913
2914=item How can I count the number of occurrences of a substring within a
2915string?
2916
2917=item How do I capitalize all the words on one line?
2918
2919=item How can I split a [character] delimited string except when inside
2920[character]? (Comma-separated files)
2921
2922=item How do I strip blank space from the beginning/end of a string?
2923
2924=item How do I pad a string with blanks or pad a number with zeroes?
2925
2926=item How do I extract selected columns from a string?
2927
2928=item How do I find the soundex value of a string?
2929
2930=item How can I expand variables in text strings?
2931
2932=item What's wrong with always quoting "$vars"?
2933
2934=item Why don't my <<HERE documents work?
2935
29361. There must be no space after the << part, 2. There (probably) should be
2937a semicolon at the end, 3. You can't (easily) have any space in front of
2938the tag
2939
2940=back
2941
2942=item Data: Arrays
2943
2944=over
2945
2946=item What is the difference between a list and an array?
2947
2948=item What is the difference between $array[1] and @array[1]?
2949
2950=item How can I remove duplicate elements from a list or array?
2951
2952a) If @in is sorted, and you want @out to be sorted: (this assumes all true
2953values in the array), b) If you don't know whether @in is sorted:, c) Like
2954(b), but @in contains only small integers:, d) A way to do (b) without any
2955loops or greps:, e) Like (d), but @in contains only small positive
2956integers:
2957
2958=item How can I tell whether a list or array contains a certain element?
2959
2960=item How do I compute the difference of two arrays? How do I compute the
2961intersection of two arrays?
2962
2963=item How do I test whether two arrays or hashes are equal?
2964
2965=item How do I find the first array element for which a condition is true?
2966
2967=item How do I handle linked lists?
2968
2969=item How do I handle circular lists?
2970
2971=item How do I shuffle an array randomly?
2972
2973=item How do I process/modify each element of an array?
2974
2975=item How do I select a random element from an array?
2976
2977=item How do I permute N elements of a list?
2978
2979=item How do I sort an array by (anything)?
2980
2981=item How do I manipulate arrays of bits?
2982
2983=item Why does defined() return true on empty arrays and hashes?
2984
2985=back
2986
2987=item Data: Hashes (Associative Arrays)
2988
2989=over
2990
2991=item How do I process an entire hash?
2992
2993=item What happens if I add or remove keys from a hash while iterating over
2994it?
2995
2996=item How do I look up a hash element by value?
2997
2998=item How can I know how many entries are in a hash?
2999
3000=item How do I sort a hash (optionally by value instead of key)?
3001
3002=item How can I always keep my hash sorted?
3003
3004=item What's the difference between "delete" and "undef" with hashes?
3005
3006=item Why don't my tied hashes make the defined/exists distinction?
3007
3008=item How do I reset an each() operation part-way through?
3009
3010=item How can I get the unique keys from two hashes?
3011
3012=item How can I store a multidimensional array in a DBM file?
3013
3014=item How can I make my hash remember the order I put elements into it?
3015
3016=item Why does passing a subroutine an undefined element in a hash create
3017it?
3018
3019=item How can I make the Perl equivalent of a C structure/C++ class/hash or
3020array of hashes or arrays?
3021
3022=item How can I use a reference as a hash key?
3023
3024=back
3025
3026=item Data: Misc
3027
3028=over
3029
3030=item How do I handle binary data correctly?
3031
3032=item How do I determine whether a scalar is a number/whole/integer/float?
3033
3034=item How do I keep persistent data across program calls?
3035
3036=item How do I print out or copy a recursive data structure?
3037
3038=item How do I define methods for every class/object?
3039
3040=item How do I verify a credit card checksum?
3041
3042=item How do I pack arrays of doubles or floats for XS code?
3043
3044=back
3045
3046=item AUTHOR AND COPYRIGHT
3047
3048=back
3049
3050=head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23
305116:08:30 $)
3052
3053=over
3054
3055=item DESCRIPTION
3056
3057=over
3058
3059=item How do I flush/unbuffer an output filehandle? Why must I do this?
3060
3061=item How do I change one line in a file/delete a line in a file/insert a
3062line in the middle of a file/append to the beginning of a file?
3063
3064=item How do I count the number of lines in a file?
3065
3066=item How do I make a temporary file name?
3067
3068=item How can I manipulate fixed-record-length files?
3069
3070=item How can I make a filehandle local to a subroutine? How do I pass
3071filehandles between subroutines? How do I make an array of filehandles?
3072
3073=item How can I use a filehandle indirectly?
3074
3075=item How can I set up a footer format to be used with write()?
3076
3077=item How can I write() into a string?
3078
3079=item How can I output my numbers with commas added?
3080
3081=item How can I translate tildes (~) in a filename?
3082
3083=item How come when I open a file read-write it wipes it out?
3084
3085=item Why do I sometimes get an "Argument list too long" when I use <*>?
3086
3087=item Is there a leak/bug in glob()?
3088
3089=item How can I open a file with a leading ">" or trailing blanks?
3090
3091=item How can I reliably rename a file?
3092
3093=item How can I lock a file?
3094
3095=item Why can't I just open(FH, ">file.lock")?
3096
3097=item I still don't get locking. I just want to increment the number in
3098the file. How can I do this?
3099
3100=item How do I randomly update a binary file?
3101
3102=item How do I get a file's timestamp in perl?
3103
3104=item How do I set a file's timestamp in perl?
3105
3106=item How do I print to more than one file at once?
3107
3108=item How can I read in an entire file all at once?
3109
3110=item How can I read in a file by paragraphs?
3111
3112=item How can I read a single character from a file? From the keyboard?
3113
3114=item How can I tell whether there's a character waiting on a filehandle?
3115
3116=item How do I do a C<tail -f> in perl?
3117
3118=item How do I dup() a filehandle in Perl?
3119
3120=item How do I close a file descriptor by number?
3121
3122=item Why can't I use "C:\temp\foo" in DOS paths? What doesn't
3123`C:\temp\foo.exe` work?
3124
3125=item Why doesn't glob("*.*") get all the files?
3126
3127=item Why does Perl let me delete read-only files? Why does C<-i> clobber
3128protected files? Isn't this a bug in Perl?
3129
3130=item How do I select a random line from a file?
3131
3132=item Why do I get weird spaces when I print an array of lines?
3133
3134=back
3135
3136=item AUTHOR AND COPYRIGHT
3137
3138=back
3139
3140=head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
3141
3142=over
3143
3144=item DESCRIPTION
3145
3146=over
3147
3148=item How can I hope to use regular expressions without creating illegible
3149and unmaintainable code?
3150
3151Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
3152
3153=item I'm having trouble matching over more than one line. What's wrong?
3154
3155=item How can I pull out lines between two patterns that are themselves on
3156different lines?
3157
3158=item I put a regular expression into $/ but it didn't work. What's wrong?
3159
3160=item How do I substitute case insensitively on the LHS, but preserving
3161case on the RHS?
3162
3163=item How can I make C<\w> match national character sets?
3164
3165=item How can I match a locale-smart version of C</[a-zA-Z]/>?
3166
3167=item How can I quote a variable to use in a regex?
3168
3169=item What is C</o> really for?
3170
3171=item How do I use a regular expression to strip C style comments from a
3172file?
3173
3174=item Can I use Perl regular expressions to match balanced text?
3175
3176=item What does it mean that regexes are greedy? How can I get around it?
3177
3178=item How do I process each word on each line?
3179
3180=item How can I print out a word-frequency or line-frequency summary?
3181
3182=item How can I do approximate matching?
3183
3184=item How do I efficiently match many regular expressions at once?
3185
3186=item Why don't word-boundary searches with C<\b> work for me?
3187
3188=item Why does using $&, $`, or $' slow my program down?
3189
3190=item What good is C<\G> in a regular expression?
3191
3192=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
3193
3194=item What's wrong with using grep or map in a void context?
3195
3196=item How can I match strings with multibyte characters?
3197
3198=item How do I match a pattern that is supplied by the user?
3199
3200=back
3201
3202=item AUTHOR AND COPYRIGHT
3203
3204=back
3205
3206=head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date:
32071999/05/23 20:36:18 $)
3208
3209=over
3210
3211=item DESCRIPTION
3212
3213=over
3214
3215=item Can I get a BNF/yacc/RE for the Perl language?
3216
3217=item What are all these $@%&* punctuation signs, and how do I know when to
3218use them?
3219
3220=item Do I always/never have to quote my strings or use semicolons and
3221commas?
3222
3223=item How do I skip some return values?
68dc0745
PP
3224
3225=item How do I temporarily block warnings?
3226
3227=item What's an extension?
3228
3229=item Why do Perl operators have different precedence than C operators?
3230
3231=item How do I declare/create a structure?
3232
3233=item How do I create a module?
3234
3235=item How do I create a class?
3236
3237=item How can I tell if a variable is tainted?
3238
3239=item What's a closure?
3240
46fc3d4c
PP
3241=item What is variable suicide and how can I prevent it?
3242
68dc0745 3243=item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
14218588 3244Regex}?
68dc0745 3245
14218588 3246Passing Variables and Functions, Passing Filehandles, Passing Regexes,
68dc0745
PP
3247Passing Methods
3248
3249=item How do I create a static variable?
3250
14218588 3251=item What's the difference between dynamic and lexical (static) scoping?
68dc0745
PP
3252Between local() and my()?
3253
3254=item How can I access a dynamic variable while a similarly named lexical
3255is in scope?
3256
3257=item What's the difference between deep and shallow binding?
3258
b38f6a39 3259=item Why doesn't "my($foo) = <FILE>;" work right?
68dc0745 3260
54310121 3261=item How do I redefine a builtin function, operator, or method?
68dc0745
PP
3262
3263=item What's the difference between calling a function as &foo and foo()?
3264
3265=item How do I create a switch or case statement?
3266
3267=item How can I catch accesses to undefined variables/functions/methods?
3268
3269=item Why can't a method included in this same file be found?
3270
3271=item How can I find out my current package?
3272
46fc3d4c
PP
3273=item How can I comment out a large block of perl code?
3274
14218588
GS
3275=item How do I clear a package?
3276
3277=item How can I use a variable as a variable name?
3278
68dc0745
PP
3279=back
3280
3281=item AUTHOR AND COPYRIGHT
3282
a45bd81d
GS
3283=back
3284
14218588
GS
3285=head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23
328618:37:57 $)
68dc0745 3287
a45bd81d
GS
3288=over
3289
68dc0745
PP
3290=item DESCRIPTION
3291
3292=over
3293
3294=item How do I find out which operating system I'm running under?
3295
3296=item How come exec() doesn't return?
3297
3298=item How do I do fancy stuff with the keyboard/screen/mouse?
3299
3300Keyboard, Screen, Mouse
3301
fb9cefb4
GS
3302=item How do I print something out in color?
3303
3304=item How do I read just one key without waiting for a return key?
3305
3306=item How do I check whether input is ready on the keyboard?
3307
3308=item How do I clear the screen?
3309
3310=item How do I get the screen size?
3311
68dc0745
PP
3312=item How do I ask the user for a password?
3313
3314=item How do I read and write the serial port?
3315
3316lockfiles, open mode, end of line, flushing output, non-blocking input
3317
3318=item How do I decode encrypted password files?
3319
3320=item How do I start a process in the background?
3321
fb9cefb4 3322STDIN, STDOUT, and STDERR are shared, Signals, Zombies
68dc0745
PP
3323
3324=item How do I trap control characters/signals?
3325
3326=item How do I modify the shadow password file on a Unix system?
3327
3328=item How do I set the time and date?
3329
3330=item How can I sleep() or alarm() for under a second?
3331
3332=item How can I measure time under a second?
3333
3334=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
3335
3336=item Why doesn't my sockets program work under System V (Solaris)? What
3337does the error message "Protocol not supported" mean?
3338
3339=item How can I call my system's unique C functions from Perl?
3340
3341=item Where do I get the include files to do ioctl() or syscall()?
3342
3343=item Why do setuid perl scripts complain about kernel problems?
3344
3345=item How can I open a pipe both to and from a command?
3346
3fe9a6f1
PP
3347=item Why can't I get the output of a command with system()?
3348
68dc0745
PP
3349=item How can I capture STDERR from an external command?
3350
3351=item Why doesn't open() return an error when a pipe open fails?
3352
3353=item What's wrong with using backticks in a void context?
3354
3355=item How can I call backticks without shell processing?
3356
3357=item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
54310121 3358^Z on MS-DOS)?
68dc0745
PP
3359
3360=item How can I convert my shell script to perl?
3361
3362=item Can I use perl to run a telnet or ftp session?
3363
3364=item How can I write expect in Perl?
3365
3366=item Is there a way to hide perl's command line from programs such as
3367"ps"?
3368
3369=item I {changed directory, modified my environment} in a perl script. How
3370come the change disappeared when I exited the script? How do I get my
3371changes to be visible?
3372
fb9cefb4 3373Unix
68dc0745
PP
3374
3375=item How do I close a process's filehandle without waiting for it to
3376complete?
3377
3378=item How do I fork a daemon process?
3379
68dc0745
PP
3380=item How do I find out if I'm running interactively or not?
3381
3382=item How do I timeout a slow event?
3383
3384=item How do I set CPU limits?
3385
3386=item How do I avoid zombies on a Unix system?
3387
3388=item How do I use an SQL database?
3389
3390=item How do I make a system() exit on control-C?
3391
3392=item How do I open a file without blocking?
3393
14218588 3394=item How do I install a module from CPAN?
68dc0745 3395
fb9cefb4
GS
3396=item What's the difference between require and use?
3397
46fc3d4c
PP
3398=item How do I keep my own module/library directory?
3399
3400=item How do I add the directory my program lives in to the module/library
3401search path?
3402
3403=item How do I add a directory to my include path at runtime?
3404
14218588
GS
3405=item What is socket.ph and where do I get it?
3406
68dc0745
PP
3407=back
3408
fc36a67e
PP
3409=item AUTHOR AND COPYRIGHT
3410
a45bd81d
GS
3411=back
3412
14218588 3413=head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30
3fe9a6f1 3414$)
68dc0745 3415
a45bd81d
GS
3416=over
3417
68dc0745
PP
3418=item DESCRIPTION
3419
3420=over
3421
fb9cefb4
GS
3422=item My CGI script runs from the command line but not the browser. (500
3423Server Error)
3424
3425=item How can I get better error messages from a CGI program?
68dc0745
PP
3426
3427=item How do I remove HTML from a string?
3428
3429=item How do I extract URLs?
3430
3431=item How do I download a file from the user's machine? How do I open a
3432file on another machine?
3433
3434=item How do I make a pop-up menu in HTML?
3435
3436=item How do I fetch an HTML file?
3437
fb9cefb4
GS
3438=item How do I automate an HTML form submission?
3439
3440=item How do I decode or create those %-encodings on the web?
68dc0745
PP
3441
3442=item How do I redirect to another page?
3443
3444=item How do I put a password on my web pages?
3445
3446=item How do I edit my .htpasswd and .htgroup files with Perl?
3447
46fc3d4c
PP
3448=item How do I make sure users can't enter values into a form that cause my
3449CGI script to do bad things?
3450
193fb0af 3451=item How do I parse a mail header?
68dc0745
PP
3452
3453=item How do I decode a CGI form?
3454
193fb0af 3455=item How do I check a valid mail address?
68dc0745
PP
3456
3457=item How do I decode a MIME/BASE64 string?
3458
193fb0af 3459=item How do I return the user's mail address?
68dc0745 3460
fb9cefb4
GS
3461=item How do I send mail?
3462
3463=item How do I read mail?
68dc0745
PP
3464
3465=item How do I find out my hostname/domainname/IP address?
3466
3467=item How do I fetch a news article or the active newsgroups?
3468
3469=item How do I fetch/put an FTP file?
3470
3471=item How can I do RPC in Perl?
3472
3473=back
3474
3475=item AUTHOR AND COPYRIGHT
3476
a45bd81d
GS
3477=back
3478
4755096e 3479=head2 perlcompile - Introduction to the Perl Compiler-Translator
a45bd81d
GS
3480
3481=over
cb1a09d0 3482
8ebc5c01 3483=item DESCRIPTION
cb1a09d0 3484
fb9cefb4
GS
3485=over
3486
4755096e 3487=item Layout
a45bd81d 3488
4755096e 3489B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
637e9122 3490
4755096e 3491=back
c76ac1ee 3492
4755096e 3493=item Using The Back Ends
c76ac1ee 3494
4755096e 3495=over
694468e3 3496
4755096e 3497=item The Cross Referencing Back End
c76ac1ee 3498
4755096e 3499i, &, s, r
637e9122 3500
4755096e 3501=item The Decompiling Back End
37590e52 3502
4755096e 3503=item The Lint Back End
c76ac1ee 3504
4755096e 3505=item The Simple C Back End
37590e52 3506
4755096e 3507=item The Bytecode Back End
a45bd81d 3508
4755096e 3509=item The Optimized C Back End
a45bd81d 3510
4755096e
GS
3511B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3512B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj,
3513B::Stash, B::Terse, B::Xref
c76ac1ee 3514
4755096e 3515=back
b38f6a39 3516
4755096e 3517=item KNOWN PROBLEMS
fb9cefb4 3518
4755096e 3519=item AUTHOR
c76ac1ee 3520
4755096e 3521=back
a45bd81d 3522
4755096e 3523=head2 perlembed - how to embed perl in your C program
c76ac1ee 3524
4755096e 3525=over
a45bd81d 3526
4755096e 3527=item DESCRIPTION
fb9cefb4 3528
4755096e 3529=over
c76ac1ee 3530
4755096e 3531=item PREAMBLE
fb9cefb4 3532
4755096e
GS
3533B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3534Perl?>, B<Use C from C?>, B<Use Perl from C?>
fb9cefb4 3535
4755096e 3536=item ROADMAP
fb9cefb4 3537
4755096e 3538=item Compiling your C program
c76ac1ee 3539
4755096e 3540=item Adding a Perl interpreter to your C program
c76ac1ee 3541
4755096e 3542=item Calling a Perl subroutine from your C program
fb9cefb4 3543
4755096e 3544=item Evaluating a Perl statement from your C program
c76ac1ee 3545
4755096e 3546=item Performing Perl pattern matches and substitutions from your C program
c76ac1ee 3547
4755096e 3548=item Fiddling with the Perl stack from your C program
37590e52 3549
4755096e 3550=item Maintaining a persistent interpreter
c76ac1ee 3551
4755096e 3552=item Maintaining multiple interpreter instances
694468e3 3553
4755096e
GS
3554=item Using Perl modules, which themselves use C libraries, from your C
3555program
c76ac1ee 3556
14218588 3557=back
fb9cefb4 3558
4755096e 3559=item Embedding Perl under Windows
fb9cefb4 3560
4755096e 3561=item MORAL
c76ac1ee 3562
4755096e 3563=item AUTHOR
fb9cefb4 3564
4755096e 3565=item COPYRIGHT
c76ac1ee 3566
4755096e 3567=back
c76ac1ee 3568
4755096e 3569=head2 perldebguts - Guts of Perl debugging
a45bd81d 3570
4755096e 3571=over
c76ac1ee 3572
4755096e 3573=item DESCRIPTION