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