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