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