This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
malloc bug fix and machten hints (from Dominic Dunlop
[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
a45bd81d
GS
1148CHECK is a new keyword, Treatment of list slices of undef has changed,
1149Possibly changed pseudo-random number generator, Hashing function for hash
1150keys has changed, C<undef> fails on read only values, Close-on-exec bit may
1151be set on pipe() handles, Writing C<"$$1"> to mean C<"${$}1"> is
1152unsupported, delete(), values() and C<\(%h)> operate on aliases to values,
1153not copies, vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some
1154diagnostic output has changed, C<%@> has been removed, Parenthesized not()
1155behaves like a list operator, Semantics of bareword prototype C<(*)> have
1156changed
c76ac1ee 1157
14218588 1158=item C Source Incompatibilities
fb9cefb4 1159
a45bd81d 1160C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
fb9cefb4 1161
14218588 1162=item Compatible C Source API Changes
fb9cefb4 1163
c76ac1ee 1164C<PATCHLEVEL> is now C<PERL_VERSION>, Support for C++ exceptions
fb9cefb4 1165
14218588 1166=item Binary Incompatibilities
fb9cefb4
GS
1167
1168=back
1169
c76ac1ee
GS
1170=item Installation and Configuration Improvements
1171
1172=over
1173
1174=item New Configure flags
1175
1176=item -Dusethreads and -Duse64bits now more daring
1177
1178=item Long Doubles
1179
1180=item -Dusemorebits
1181
1182=item -Duselargefiles
1183
1184=item installusrbinperl
1185
1186=item SOCKS support
1187
1188=item C<-A> flag
1189
a45bd81d 1190=item Enhanced Installation Directories
c76ac1ee
GS
1191
1192=back
1193
8ebc5c01 1194=item Core Changes
cb1a09d0 1195
fb9cefb4
GS
1196=over
1197
14218588 1198=item Unicode and UTF-8 support
fb9cefb4 1199
a45bd81d
GS
1200=item Interpreter threads
1201
14218588 1202=item Lexically scoped warning categories
637e9122 1203
c76ac1ee
GS
1204=item Lvalue subroutines
1205
1206=item "our" declarations
1207
1208=item Weak references
1209
a45bd81d
GS
1210=item File globbing implemented internally
1211
14218588 1212=item Binary numbers supported
637e9122 1213
c76ac1ee
GS
1214=item Some arrows may be omitted in calls through references
1215
a45bd81d
GS
1216=item exists() is supported on subroutine names
1217
1218=item exists() and delete() are supported on array elements
1219
14218588 1220=item syswrite() ease-of-use
637e9122 1221
a45bd81d 1222=item File and directory handles can be autovivified
c76ac1ee 1223
14218588 1224=item 64-bit support
fb9cefb4 1225
c76ac1ee
GS
1226=item Large file support
1227
a45bd81d
GS
1228=item Long doubles
1229
c76ac1ee
GS
1230=item "more bits"
1231
a45bd81d
GS
1232=item Enhanced support for sort() subroutines
1233
14218588 1234=item Better syntax checks on parenthesized unary operators
fb9cefb4 1235
c76ac1ee
GS
1236=item POSIX character class syntax [: :] supported
1237
14218588 1238=item Improved C<qw//> operator
fb9cefb4 1239
14218588 1240=item pack() format 'Z' supported
fb9cefb4 1241
14218588 1242=item pack() format modifier '!' supported
fb9cefb4 1243
c76ac1ee
GS
1244=item pack() and unpack() support counted strings
1245
1246=item Comments in pack() templates
1247
14218588 1248=item $^X variables may now have names longer than one character
fb9cefb4 1249
c76ac1ee
GS
1250=item C<use attrs> implicit in subroutine attributes
1251
1252=item Regular expression improvements
1253
1254=item Overloading improvements
1255
1256=item open() with more than two arguments
1257
1258=item Support for interpolating named characters
1259
1260=item Experimental support for user-hooks in @INC
1261
1262=item C<require> and C<do> may be overridden
1263
1264=item New variable $^C reflects C<-c> switch
1265
1266=item Optional Y2K warnings
1267
14218588 1268=back
fb9cefb4 1269
14218588 1270=item Significant bug fixes
fb9cefb4 1271
14218588 1272=over
fb9cefb4 1273
14218588 1274=item E<lt>HANDLEE<gt> on empty files
fb9cefb4 1275
14218588 1276=item C<eval '...'> improvements
fb9cefb4 1277
c76ac1ee
GS
1278=item All compilation errors are true errors
1279
14218588 1280=item Automatic flushing of output buffers
fb9cefb4 1281
c76ac1ee
GS
1282=item Better diagnostics on meaningless filehandle operations
1283
1284=item Where possible, buffered data discarded from duped input filehandle
1285
a45bd81d
GS
1286=item eof() has the same old magic as <>
1287
c76ac1ee
GS
1288=item system(), backticks and pipe open now reflect exec() failure
1289
1290=item Implicitly closed filehandles are safer
1291
1292=item C<(\$)> prototype and C<$foo{a}>
1293
1294=item Pseudo-hashes work better
1295
1296=item C<goto &sub> and AUTOLOAD
1297
1298=item C<-bareword> allowed under C<use integer>
1299
1300=item Boolean assignment operators are legal lvalues
1301
1302=item C<sort $coderef @foo> allowed
1303
1304=item Failures in DESTROY()
1305
1306=item Locale bugs fixed
1307
1308=item Memory leaks
1309
1310=item Spurious subroutine stubs after failed subroutine calls
1311
1312=item Consistent numeric conversions
1313
1314=item Taint failures under C<-U>
1315
1316=item END blocks and the C<-c> switch
1317
1318=item Potential to leak DATA filehandles
1319
1320=item Diagnostics follow STDERR
1321
1322=item Other fixes for better diagnostics
1323
fb9cefb4
GS
1324=back
1325
c76ac1ee
GS
1326=item Performance enhancements
1327
1328=over
1329
1330=item Simple sort() using { $a <=> $b } and the like are optimized
1331
1332=item Optimized assignments to lexical variables
1333
1334=item Method lookups optimized
1335
1336=item Faster mechanism to invoke XSUBs
1337
1338=item Perl_malloc() improvements
1339
1340=item Faster subroutine calls
1341
1342=back
1343
1344=item Platform specific changes
1345
1346=over
1347
1348=item Additional supported platforms
1349
1350=item DOS
1351
1352=item OS/2
1353
1354=item VMS
1355
1356=item Win32
1357
1358=back
fb9cefb4 1359
14218588 1360=item New tests
fb9cefb4
GS
1361
1362=item Modules and Pragmata
cb1a09d0 1363
8ebc5c01
PP
1364=over
1365
14218588 1366=item Modules
fb9cefb4 1367
a45bd81d
GS
1368attributes, B, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File,
1369Devel::DProf, Dumpvalue, Benchmark, Devel::Peek, ExtUtils::MakeMaker,
1370Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
1371File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
1372Math::Complex, Math::Trig, Pod::Parser, Pod::Text and Pod::Man, SDBM_File,
1373Time::Local, Win32, DBM Filters
fb9cefb4 1374
14218588 1375=item Pragmata
5cd24f17 1376
cb1a09d0
AD
1377=back
1378
774d564b
PP
1379=item Utility Changes
1380
c76ac1ee
GS
1381=over
1382
1383=item h2ph
1384
1385=item perlcc
1386
1387=item h2xs
1388
1389=back
1390
8ebc5c01 1391=item Documentation Changes
cb1a09d0 1392
954c1994
GS
1393perlapi.pod, perlcompile.pod, perlfilter.pod, perlhack.pod, perlintern.pod,
1394perlopentut.pod, perlreftut.pod, perltootc.pod
a45bd81d
GS
1395
1396=item New or Changed Diagnostics
1397
1398"%s" variable %s masks earlier declaration in same %s, "my sub" not yet
1399implemented, "our" variable %s redeclared, '!' allowed only after types %s,
1400/ cannot take a count, / must be followed by a, A or Z, / must be followed
1401by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
1402\\%c passed through, /%s/: Unrecognized escape \\%c in character class
1403passed through, /%s/ should probably be written as "%s", %s() called too
1404early to check prototype, %s argument is not a HASH or ARRAY element, %s
1405argument is not a HASH or ARRAY element or slice, %s argument is not a
1406subroutine name, %s package attribute may clash with future reserved word:
1407%s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad
c76ac1ee
GS
1408evalled substitution pattern, Bad realloc() ignored, Binary number >
14090b11111111111111111111111111111111 non-portable, Bit vector size > 32
1410non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem
a45bd81d
GS
1411of script "%s", Can't declare class for non-scalar %s in "%s", Can't
1412declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't
1413modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove
1414%s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken
1415a nonreference, Character class [:%s:] unknown, Character class syntax [%s]
1416belongs inside character classes, Constant is not %s reference,
1417constant(%s): %%^H is not localized, constant(%s): %s, defined(@array) is
1418deprecated, defined(%hash) is deprecated, Did not produce a valid header,
1419Did you mean "local" instead of "our"?, Document contains no data, entering
1420effective %s failed, false [] range "%s" in regexp, Filehandle %s opened
1421only for output, flock() on closed filehandle %s, Global symbol "%s"
1422requires explicit package name, Hexadecimal number > 0xffffffff
1423non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in
1424prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s
1425ignored, Illegal number of bits in vec, Integer overflow in %s number,
1426Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s"
1427in regexp, Invalid separator character %s in attribute list, Invalid
1428separator character %s in subroutine attribute list, leaving effective %s
1429failed, Lvalue subs returning %s not implemented yet, Method %s not
1430permitted, Missing %sbrace%s on \N{}, Missing command in piped open,
1431Missing name in "my sub", No %s specified for -%c, No package name allowed
1432for variable %s in "our", No space allowed after -%c, no UTC offset
1433information; assuming local time is UTC, Octal number > 037777777777
1434non-portable, panic: del_backref, panic: kid popen errno read, panic:
1435magic_killbackrefs, Parentheses missing around "%s" list, Possible Y2K bug:
1436%s, Premature end of script headers, Repeat count in pack overflows, Repeat
1437count in unpack overflows, realloc() of freed memory ignored, Reference is
1438already weak, setpgrp can't take arguments, Strange *+?{} on zero-length
1439expression, switching effective %s is not implemented, This Perl can't
1440reset CRTL environ elements (%s), This Perl can't set CRTL environ elements
1441(%s=%s), Unknown open() mode '%s', Unknown process %x sent message to
c76ac1ee
GS
1442prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated
1443attribute parameter in attribute list, Unterminated attribute list,
1444Unterminated attribute parameter in subroutine attribute list, Unterminated
1445subroutine attribute list, Value of CLI symbol "%s" too long, Version
1446number must be a constant number
fb9cefb4
GS
1447
1448=item Obsolete Diagnostics
1449
c76ac1ee
GS
1450Character class syntax [: :] is reserved for future extensions, Ill-formed
1451logical name |%s| in prime_env_iter, regexp too big, Use of "$$<digit>" to
1452mean "${$}<digit>" is deprecated
fb9cefb4 1453
8ebc5c01 1454=item BUGS
cb1a09d0 1455
8ebc5c01 1456=item SEE ALSO
cb1a09d0 1457
8ebc5c01 1458=item HISTORY
cb1a09d0 1459
a45bd81d
GS
1460=back
1461
8ebc5c01 1462=head2 perldata - Perl data types
cb1a09d0 1463
a45bd81d
GS
1464=over
1465
8ebc5c01 1466=item DESCRIPTION
cb1a09d0 1467
8ebc5c01 1468=over
cb1a09d0 1469
8ebc5c01 1470=item Variable names
cb1a09d0 1471
8ebc5c01 1472=item Context
cb1a09d0 1473
8ebc5c01 1474=item Scalar values
cb1a09d0 1475
8ebc5c01 1476=item Scalar value constructors
cb1a09d0 1477
8ebc5c01 1478=item List value constructors
cb1a09d0 1479
14218588
GS
1480=item Slices
1481
8ebc5c01 1482=item Typeglobs and Filehandles
cb1a09d0 1483
8ebc5c01 1484=back
cb1a09d0 1485
14218588
GS
1486=item SEE ALSO
1487
a45bd81d
GS
1488=back
1489
8ebc5c01 1490=head2 perlsyn - Perl syntax
cb1a09d0 1491
a45bd81d
GS
1492=over
1493
8ebc5c01 1494=item DESCRIPTION
cb1a09d0 1495
8ebc5c01 1496=over
cb1a09d0 1497
8ebc5c01 1498=item Declarations
cb1a09d0 1499
8ebc5c01 1500=item Simple statements
cb1a09d0 1501
8ebc5c01 1502=item Compound statements
cb1a09d0 1503
8ebc5c01 1504=item Loop Control
cb1a09d0 1505
8ebc5c01 1506=item For Loops
cb1a09d0 1507
8ebc5c01 1508=item Foreach Loops
cb1a09d0 1509
8ebc5c01 1510=item Basic BLOCKs and Switch Statements
cb1a09d0 1511
8ebc5c01 1512=item Goto
cb1a09d0 1513
8ebc5c01 1514=item PODs: Embedded Documentation
cb1a09d0 1515
774d564b
PP
1516=item Plain Old Comments (Not!)
1517
8ebc5c01 1518=back
cb1a09d0 1519
a45bd81d
GS
1520=back
1521
cb1a09d0
AD
1522=head2 perlop - Perl operators and precedence
1523
a45bd81d
GS
1524=over
1525
cb1a09d0
AD
1526=item SYNOPSIS
1527
cb1a09d0
AD
1528=item DESCRIPTION
1529
cb1a09d0
AD
1530=over
1531
1532=item Terms and List Operators (Leftward)
1533
cb1a09d0
AD
1534=item The Arrow Operator
1535
5f05dabc 1536=item Auto-increment and Auto-decrement
cb1a09d0 1537
cb1a09d0
AD
1538=item Exponentiation
1539
cb1a09d0
AD
1540=item Symbolic Unary Operators
1541
cb1a09d0
AD
1542=item Binding Operators
1543
cb1a09d0
AD
1544=item Multiplicative Operators
1545
cb1a09d0
AD
1546=item Additive Operators
1547
cb1a09d0
AD
1548=item Shift Operators
1549
cb1a09d0
AD
1550=item Named Unary Operators
1551
cb1a09d0
AD
1552=item Relational Operators
1553
cb1a09d0
AD
1554=item Equality Operators
1555
cb1a09d0
AD
1556=item Bitwise And
1557
cb1a09d0
AD
1558=item Bitwise Or and Exclusive Or
1559
cb1a09d0
AD
1560=item C-style Logical And
1561
cb1a09d0
AD
1562=item C-style Logical Or
1563
193fb0af 1564=item Range Operators
cb1a09d0 1565
cb1a09d0
AD
1566=item Conditional Operator
1567
cb1a09d0
AD
1568=item Assignment Operators
1569
cb1a09d0
AD
1570=item Comma Operator
1571
cb1a09d0
AD
1572=item List Operators (Rightward)
1573
cb1a09d0
AD
1574=item Logical Not
1575
cb1a09d0
AD
1576=item Logical And
1577
cb1a09d0
AD
1578=item Logical or and Exclusive Or
1579
cb1a09d0
AD
1580=item C Operators Missing From Perl
1581
cb1a09d0
AD
1582unary &, unary *, (TYPE)
1583
5f05dabc 1584=item Quote and Quote-like Operators
cb1a09d0 1585
8ebc5c01 1586=item Regexp Quote-Like Operators
cb1a09d0 1587
d516a115 1588?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
fb9cefb4 1589qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
14218588
GS
1590s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cdsUC,
1591y/SEARCHLIST/REPLACEMENTLIST/cdsUC
cb1a09d0 1592
fb9cefb4
GS
1593=item Gory details of parsing quoted constructs
1594
1595Finding the end, Removal of backslashes before delimiters, Interpolation,
1596C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
1597C<``>, C<qq//>, C<qx//>, C<<file*globE<gt>>, C<?RE?>, C</RE/>, C<m/RE/>,
1598C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
1599regular expressions
1600
cb1a09d0
AD
1601=item I/O Operators
1602
cb1a09d0
AD
1603=item Constant Folding
1604
193fb0af
GS
1605=item Bitwise String Operators
1606
55497cff 1607=item Integer Arithmetic
cb1a09d0 1608
68dc0745
PP
1609=item Floating-point Arithmetic
1610
193fb0af
GS
1611=item Bigger Numbers
1612
cb1a09d0
AD
1613=back
1614
a45bd81d
GS
1615=back
1616
cb1a09d0
AD
1617=head2 perlre - Perl regular expressions
1618
a45bd81d
GS
1619=over
1620
cb1a09d0
AD
1621=item DESCRIPTION
1622
55497cff
PP
1623i, m, s, x
1624
cb1a09d0
AD
1625=over
1626
1627=item Regular Expressions
1628
a45bd81d 1629cntrl, graph, print, punct, xdigit
c76ac1ee 1630
14218588
GS
1631=item Extended Patterns
1632
1633C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1634C<(?=pattern)>, C<(?!pattern)>, C<(?E<lt>=pattern)>, C<(?<!pattern)>, C<(?{
1635code })>, C<(?p{ code })>, C<(?E<gt>pattern)>,
1636C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
cb1a09d0 1637
7d2bfb28
PP
1638=item Backtracking
1639
cb1a09d0
AD
1640=item Version 8 Regular Expressions
1641
14218588 1642=item Warning on \1 vs $1
cb1a09d0 1643
fb9cefb4
GS
1644=item Repeated patterns matching zero-length substring
1645
a45bd81d
GS
1646=item Combining pieces together
1647
1648C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1649C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<(?E<gt>S)>, C<(?=S)>, C<(?<=S)>,
1650C<(?!S)>, C<(?<!S)>, C<(?p{ EXPR })>,
1651C<(?(condition)yes-pattern|no-pattern)>
1652
fb9cefb4
GS
1653=item Creating custom RE engines
1654
cb1a09d0
AD
1655=back
1656
14218588
GS
1657=item BUGS
1658
1659=item SEE ALSO
1660
a45bd81d
GS
1661=back
1662
cb1a09d0
AD
1663=head2 perlrun - how to execute the Perl interpreter
1664
a45bd81d
GS
1665=over
1666
cb1a09d0
AD
1667=item SYNOPSIS
1668
cb1a09d0
AD
1669=item DESCRIPTION
1670
cb1a09d0
AD
1671=over
1672
68dc0745
PP
1673=item #! and quoting on non-Unix systems
1674
14218588 1675OS/2, MS-DOS, Win95/NT, Macintosh, VMS
68dc0745 1676
193fb0af
GS
1677=item Location of Perl
1678
14218588 1679=item Command Switches
cb1a09d0 1680
d516a115
JH
1681B<-0>[I<digits>], B<-a>, B<-c>, B<-d>, B<-d:>I<foo>, B<-D>I<letters>,
1682B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>, B<-h>,
8ebc5c01
PP
1683B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
1684B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
1685B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
c76ac1ee
GS
1686B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
1687B<-x> I<directory>
cb1a09d0
AD
1688
1689=back
1690
1e422769
PP
1691=item ENVIRONMENT
1692
3e3baf6d 1693HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
14218588 1694(specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL
1e422769 1695
a45bd81d
GS
1696=back
1697
cb1a09d0
AD
1698=head2 perlfunc - Perl builtin functions
1699
a45bd81d
GS
1700=over
1701
cb1a09d0
AD
1702=item DESCRIPTION
1703
cb1a09d0
AD
1704=over
1705
1706=item Perl Functions by Category
1707
8ebc5c01
PP
1708Functions for SCALARs or strings, Regular expressions and pattern matching,
1709Numeric functions, Functions for real @ARRAYs, Functions for list data,
1710Functions for real %HASHes, Input and output functions, Functions for fixed
1711length data or records, Functions for filehandles, files, or directories,
1712Keywords related to the control flow of your perl program, Keywords related
1713to scoping, Miscellaneous functions, Functions for processes and process
1714groups, Keywords related to perl modules, Keywords related to classes and
1715object-orientedness, Low-level socket functions, System V interprocess
1716communication functions, Fetching user and group info, Fetching network
1717info, Time-related functions, Functions new in perl5, Functions obsoleted
1718in perl5
cb1a09d0 1719
14218588
GS
1720=item Portability
1721
cb1a09d0
AD
1722=item Alphabetical Listing of Perl Functions
1723
d516a115 1724I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
8ebc5c01
PP
1725NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
1726binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller,
1727chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE,
1728chop LIST, chop, chown LIST, chr NUMBER, chr, chroot FILENAME, chroot,
fb9cefb4
GS
1729close FILEHANDLE, close, closedir DIRHANDLE, connect SOCKET,NAME, continue
1730BLOCK, cos EXPR, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen
14218588
GS
1731HASH,DBNAME,MASK, defined EXPR, defined, delete EXPR, die LIST, do BLOCK,
1732do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, each HASH, eof FILEHANDLE,
1733eof (), eof, eval EXPR, eval BLOCK, exec LIST, exec PROGRAM LIST, exists
1734EXPR, exit EXPR, exp EXPR, exp, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno
fb9cefb4
GS
1735FILEHANDLE, flock FILEHANDLE,OPERATION, fork, format, formline
1736PICTURE,LIST, getc FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp
1737PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME,
1738gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID,
1739getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE,
1740getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport
1741PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent,
1742getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN,
1743setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent,
1744endnetent, endprotoent, endservent, getsockname SOCKET, getsockopt
193fb0af
GS
1745SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, goto EXPR,
1746goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, import, index
1747STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
a45bd81d
GS
1748FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1749last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1750link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1751lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK
1752LIST, map EXPR,LIST, mkdir FILENAME,MASK, msgctl ID,CMD,ARG, msgget
1753KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, my
1754EXPR : ATTRIBUTES, next LABEL, next, no Module LIST, oct EXPR, oct, open
c76ac1ee
GS
1755FILEHANDLE,MODE,EXPR, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
1756DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack TEMPLATE,LIST, package,
1757package NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR,
1758pos, print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT,
1759LIST, printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/,
fb9cefb4
GS
1760qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta,
1761rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read
1762FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR,
14218588 1763readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo,
fb9cefb4
GS
1764ref EXPR, ref, rename OLDNAME,NEWNAME, require EXPR, require, reset EXPR,
1765reset, return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
1766STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1767EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1768FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1769ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1770SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1771WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1772shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1773shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1774EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
8ebc5c01
PP
1775SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1776sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
1777splice ARRAY,OFFSET, split /PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR,
1778split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR,
b971f6e4 1779srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
c76ac1ee
GS
1780sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr
1781EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall
1782LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
1783FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
1784sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE,
1785system LIST, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET,
1786syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell
1787FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied
1788VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate
1789EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef
1790EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE,
1791unshift ARRAY,LIST, use Module LIST, use Module, use Module VERSION LIST,
1792use VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid
1793PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y///
cb1a09d0
AD
1794
1795=back
1796
a45bd81d
GS
1797=back
1798
cb1a09d0
AD
1799=head2 perlvar - Perl predefined variables
1800
a45bd81d
GS
1801=over
1802
cb1a09d0
AD
1803=item DESCRIPTION
1804
cb1a09d0
AD
1805=over
1806
1807=item Predefined Names
1808
193fb0af 1809$ARG, $_, $E<lt>I<digits>E<gt>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
14218588
GS
1810$LAST_PAREN_MATCH, $+, @+, $MULTILINE_MATCHING, $*, input_line_number
1811HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE
1812EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR,
1813$OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE EXPR,
1814$OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE EXPR,
1815$OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
1816$SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1817EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1818$FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
1819$FORMAT_LINES_LEFT, $-, @-, format_name HANDLE EXPR, $FORMAT_NAME, $~,
1820format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
8ebc5c01
PP
1821format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1822$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
ff0cee69
PP
1823$CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1824$EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1825$EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1826$EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $PERL_VERSION, $],
a45bd81d
GS
1827$COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H,
1828$INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04,
6a818117 18290x08, 0x10, 0x20, $^R, $^S, $BASETIME, $^T, $WARNING, $^W, ${^WARNING_BITS},
a45bd81d
GS
1830$EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC, %ENV, $ENV{expr},
1831%SIG, $SIG{expr}
cb1a09d0 1832
fb9cefb4
GS
1833=item Error Indicators
1834
14218588
GS
1835=item Technical Note on the Syntax of Variable Names
1836
cb1a09d0
AD
1837=back
1838
14218588
GS
1839=item BUGS
1840
a45bd81d
GS
1841=back
1842
cb1a09d0
AD
1843=head2 perlsub - Perl subroutines
1844
a45bd81d
GS
1845=over
1846
cb1a09d0
AD
1847=item SYNOPSIS
1848
cb1a09d0
AD
1849=item DESCRIPTION
1850
cb1a09d0
AD
1851=over
1852
14218588 1853=item Private Variables via my()
cb1a09d0 1854
c2611fb3 1855=item Persistent Private Variables
193fb0af 1856
cb1a09d0
AD
1857=item Temporary Values via local()
1858
c76ac1ee
GS
1859=item Lvalue subroutines
1860
cb1a09d0
AD
1861=item Passing Symbol Table Entries (typeglobs)
1862
193fb0af
GS
1863=item When to Still Use local()
1864
14218588
GS
18651. You need to give a global variable a temporary value, especially $_, 2.
1866You need to create a local file or directory handle or a local function, 3.
1867You want to temporarily change just one element of an array or hash
193fb0af 1868
cb1a09d0
AD
1869=item Pass by Reference
1870
cb1a09d0
AD
1871=item Prototypes
1872
44a8e56a
PP
1873=item Constant Functions
1874
14218588 1875=item Overriding Built-in Functions
cb1a09d0 1876
cb1a09d0
AD
1877=item Autoloading
1878
c76ac1ee
GS
1879=item Subroutine Attributes
1880
cb1a09d0
AD
1881=back
1882
1883=item SEE ALSO
1884
a45bd81d
GS
1885=back
1886
c635e13b 1887=head2 perlmod - Perl modules (packages and symbol tables)
cb1a09d0 1888
a45bd81d
GS
1889=over
1890
cb1a09d0
AD
1891=item DESCRIPTION
1892
cb1a09d0
AD
1893=over
1894
1895=item Packages
1896
cb1a09d0
AD
1897=item Symbol Tables
1898
cb1a09d0
AD
1899=item Package Constructors and Destructors
1900
cb1a09d0
AD
1901=item Perl Classes
1902
cb1a09d0
AD
1903=item Perl Modules
1904
cb1a09d0
AD
1905=back
1906
c635e13b
PP
1907=item SEE ALSO
1908
a45bd81d
GS
1909=back
1910
c635e13b
PP
1911=head2 perlmodlib - constructing new Perl modules and finding existing ones
1912
a45bd81d
GS
1913=over
1914
c635e13b 1915=item DESCRIPTION
cb1a09d0 1916
cb1a09d0
AD
1917=item THE PERL MODULE LIBRARY
1918
cb1a09d0
AD
1919=over
1920
1921=item Pragmatic Modules
1922
a45bd81d
GS
1923attributes, attrs, autouse, base, blib, caller, charnames, constant,
1924diagnostics, fields, filetest, integer, less, lib, locale, ops, overload,
1925re, sigtrap, strict, subs, utf8, vars, warnings
cb1a09d0
AD
1926
1927=item Standard Modules
1928
14218588
GS
1929AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
1930B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
a45bd81d
GS
1931B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI,
1932CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
1933CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy,
1934Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf,
1935Devel::Peek, Devel::SelfStubber, DirHandle, Dumpvalue, DynaLoader, English,
1936Env, Errno, Exporter, Exporter::Heavy, ExtUtils::Command, ExtUtils::Embed,
1937ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
1938ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS,
1939ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest,
14218588 1940ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
a45bd81d
GS
1941ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
1942File::Compare, File::Copy, File::DosGlob, File::Find, File::Glob,
1943File::Path, File::Spec, File::Spec::Functions, File::Spec::Mac,
1944File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32,
1945File::stat, FileCache, FileHandle, FindBin, GDBM_File, Getopt::Long,
1946Getopt::Std, I18N::Collate, IO, IO::Dir, IO::File, IO::Handle, IO::Pipe,
1947IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
1948IO::Socket::UNIX, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore,
1949IPC::SysV, Math::BigFloat, Math::BigInt, Math::Complex, Math::Trig,
1950Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, O,
1951Opcode, POSIX, Pod::Checker, Pod::Html, Pod::InputObjects, Pod::Man,
1952Pod::Parser, Pod::Select, Pod::Text, Pod::Text::Color, Pod::Usage,
1953SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell, Socket,
1954Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete,
1955Term::ReadLine, Test, Test::Harness, Text::Abbrev, Text::ParseWords,
1956Text::Soundex, Text::Wrap, Tie::Array, Tie::Handle, Tie::Hash,
1957Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime,
1958Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent
cb1a09d0
AD
1959
1960=item Extension Modules
1961
cb1a09d0
AD
1962=back
1963
1964=item CPAN
1965
8ebc5c01
PP
1966Language Extensions and Documentation Tools, Development Support, Operating
1967System Interfaces, Networking, Device Control (modems) and InterProcess
1968Communication, Data Types and Data Type Utilities, Database Interfaces,
1969User Interfaces, Interfaces to / Emulations of Other Programming Languages,
1970File Names, File Systems and File Locking (see also File Handles), String
1971Processing, Language Text Processing, Parsing, and Searching, Option,
1972Argument, Parameter, and Configuration File Processing,
1973Internationalization and Locale, Authentication, Security, and Encryption,
1974World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
1975Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
1976and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
1977exceptions etc), File Handle and Input/Output Stream Utilities,
a45bd81d
GS
1978Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
1979North America, South America
8ebc5c01
PP
1980
1981=item Modules: Creation, Use, and Abuse
cb1a09d0
AD
1982
1983=over
1984
1985=item Guidelines for Module Creation
1986
cb1a09d0 1987Do similar modules already exist in some form?, Try to design the new
8ebc5c01
PP
1988module to be easy to extend and reuse, Some simple style guidelines, Select
1989what to export, Select a name for the module, Have you got it right?,
1990README and other Additional Files, A description of the
1991module/package/extension etc, A copyright notice - see below, Prerequisites
1992- what else you may need to have, How to build it - possible changes to
1993Makefile.PL etc, How to install it, Recent changes in this release,
1994especially incompatibilities, Changes / enhancements you plan to make in
1995the future, Adding a Copyright Notice, Give the module a
1996version/issue/release number, How to release and distribute a module, Take
1997care when changing a released module
cb1a09d0
AD
1998
1999=item Guidelines for Converting Perl 4 Library Scripts into Modules
2000
cb1a09d0 2001There is no requirement to convert anything, Consider the implications,
8ebc5c01
PP
2002Make the most of the opportunity, The pl2pm utility will get you started,
2003Adds the standard Module prologue lines, Converts package specifiers from '
2004to ::, Converts die(...) to croak(...), Several other minor changes
cb1a09d0
AD
2005
2006=item Guidelines for Reusing Application Code
2007
cb1a09d0 2008Complete applications rarely belong in the Perl Module Library, Many
193fb0af 2009applications contain some Perl code that could be reused, Break-out the
8ebc5c01
PP
2010reusable code into one or more separate module files, Take the opportunity
2011to reconsider and redesign the interfaces, In some cases the 'application'
2012can then be reduced to a small
cb1a09d0
AD
2013
2014=back
2015
c635e13b
PP
2016=item NOTE
2017
a45bd81d
GS
2018=back
2019
fb9cefb4
GS
2020=head2 perlmodinstall - Installing CPAN Modules
2021
a45bd81d
GS
2022=over
2023
fb9cefb4
GS
2024=item DESCRIPTION
2025
2026=over
2027
2028=item PREAMBLE
2029
637e9122
GS
2030B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2031module (sometimes unnecessary), B<INSTALL> the module
fb9cefb4
GS
2032
2033=back
2034
2035=item HEY
2036
2037=item AUTHOR
2038
2039=item COPYRIGHT
2040
a45bd81d
GS
2041=back
2042
2043=head2 perlfork - Perl's fork() emulation
2044
2045=over
2046
2047=item SYNOPSIS
2048
2049=item DESCRIPTION
2050
2051=over
2052
2053=item Behavior of other Perl features in forked pseudo-processes
2054
2055$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2056filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2057files, directories and network sockets
2058
2059=item Resource limits
2060
2061=item Killing the parent process
2062
2063=item Lifetime of the parent process and pseudo-processes
2064
2065=item CAVEATS AND LIMITATIONS
2066
954c1994
GS
2067BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
2068Global state maintained by XSUBs, Interpreter embedded in larger
2069application, Thread-safety of extensions
a45bd81d
GS
2070
2071=back
2072
2073=item BUGS
2074
2075=item AUTHOR
2076
2077=item SEE ALSO
2078
2079=back
2080
8ebc5c01 2081=head2 perlform - Perl formats
cb1a09d0 2082
a45bd81d
GS
2083=over
2084
cb1a09d0
AD
2085=item DESCRIPTION
2086
cb1a09d0
AD
2087=over
2088
8ebc5c01 2089=item Format Variables
cb1a09d0 2090
8ebc5c01 2091=back
cb1a09d0 2092
8ebc5c01 2093=item NOTES
cb1a09d0 2094
8ebc5c01 2095=over
cb1a09d0 2096
8ebc5c01 2097=item Footers
cb1a09d0 2098
8ebc5c01 2099=item Accessing Formatting Internals
cb1a09d0
AD
2100
2101=back
2102
8ebc5c01 2103=item WARNINGS
cb1a09d0 2104
a45bd81d
GS
2105=back
2106
8ebc5c01
PP
2107=head2 perllocale - Perl locale handling (internationalization and
2108localization)
cb1a09d0 2109
a45bd81d
GS
2110=over
2111
8ebc5c01 2112=item DESCRIPTION
cb1a09d0 2113
8ebc5c01 2114=item PREPARING TO USE LOCALES
cb1a09d0 2115
8ebc5c01 2116=item USING LOCALES
cb1a09d0 2117
8ebc5c01 2118=over
cb1a09d0 2119
8ebc5c01 2120=item The use locale pragma
cb1a09d0 2121
8ebc5c01 2122=item The setlocale function
cb1a09d0 2123
193fb0af
GS
2124=item Finding locales
2125
2126=item LOCALE PROBLEMS
2127
2128=item Temporarily fixing locale problems
2129
2130=item Permanently fixing locale problems
2131
2132=item Permanently fixing your locale configuration
2133
14218588 2134=item Fixing system locale configuration
193fb0af 2135
8ebc5c01 2136=item The localeconv function
cb1a09d0 2137
8ebc5c01 2138=back
cb1a09d0 2139
8ebc5c01 2140=item LOCALE CATEGORIES
cb1a09d0 2141
8ebc5c01 2142=over
cb1a09d0 2143
8ebc5c01 2144=item Category LC_COLLATE: Collation
cb1a09d0 2145
8ebc5c01 2146=item Category LC_CTYPE: Character Types
cb1a09d0 2147
8ebc5c01 2148=item Category LC_NUMERIC: Numeric Formatting
cb1a09d0 2149
8ebc5c01 2150=item Category LC_MONETARY: Formatting of monetary amounts
cb1a09d0 2151
8ebc5c01 2152=item LC_TIME
cb1a09d0 2153
8ebc5c01 2154=item Other categories
cb1a09d0 2155
8ebc5c01 2156=back
cb1a09d0 2157
8ebc5c01 2158=item SECURITY
cb1a09d0 2159
8ebc5c01 2160B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
193fb0af 2161B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
8ebc5c01 2162B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
a45bd81d
GS
2163B<Output formatting functions> (printf() and write()):, B<Case-mapping
2164functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
2165functions> (localeconv(), strcoll(),strftime(), strxfrm()):, B<POSIX
2166character class tests> (isalnum(), isalpha(), isdigit(),isgraph(),
2167islower(), isprint(), ispunct(), isspace(), isupper(),
8ebc5c01 2168isxdigit()):
cb1a09d0 2169
8ebc5c01 2170=item ENVIRONMENT
cb1a09d0 2171
14218588
GS
2172PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2173LC_NUMERIC, LC_TIME, LANG
cb1a09d0 2174
8ebc5c01 2175=item NOTES
cb1a09d0
AD
2176
2177=over
2178
8ebc5c01 2179=item Backward compatibility
cb1a09d0 2180
8ebc5c01 2181=item I18N:Collate obsolete
cb1a09d0 2182
8ebc5c01 2183=item Sort speed and memory use impacts
cb1a09d0 2184
8ebc5c01 2185=item write() and LC_NUMERIC
cb1a09d0 2186
8ebc5c01 2187=item Freely available locale definitions
cb1a09d0 2188
8ebc5c01 2189=item I18n and l10n
cb1a09d0 2190
8ebc5c01 2191=item An imperfect standard
cb1a09d0
AD
2192
2193=back
2194
8ebc5c01 2195=item BUGS
cb1a09d0
AD
2196
2197=over
2198
8ebc5c01 2199=item Broken systems
cb1a09d0 2200
8ebc5c01 2201=back
cb1a09d0 2202
8ebc5c01 2203=item SEE ALSO
cb1a09d0 2204
8ebc5c01 2205=item HISTORY
cb1a09d0 2206
a45bd81d
GS
2207=back
2208
8ebc5c01 2209=head2 perlref - Perl references and nested data structures
cb1a09d0 2210
a45bd81d
GS
2211=over
2212
14218588
GS
2213=item NOTE
2214
8ebc5c01 2215=item DESCRIPTION
cb1a09d0 2216
8ebc5c01 2217=over
cb1a09d0 2218
193fb0af
GS
2219=item Making References
2220
2221=item Using References
2222
8ebc5c01 2223=item Symbolic references
cb1a09d0 2224
8ebc5c01 2225=item Not-so-symbolic references
cb1a09d0 2226
fb9cefb4
GS
2227=item Pseudo-hashes: Using an array as a hash
2228
193fb0af
GS
2229=item Function Templates
2230
8ebc5c01 2231=back
cb1a09d0 2232
8ebc5c01 2233=item WARNING
cb1a09d0 2234
8ebc5c01 2235=item SEE ALSO
cb1a09d0 2236
a45bd81d
GS
2237=back
2238
14218588
GS
2239=head2 perlreftut - Mark's very short tutorial about references
2240
a45bd81d
GS
2241=over
2242
14218588
GS
2243=item DESCRIPTION
2244
2245=item Who Needs Complicated Data Structures?
2246
2247=item The Solution
2248
2249=item Syntax
2250
2251=over
2252
2253=item Making References
2254
2255=item Using References
2256
2257=back
2258
2259=item An Example
2260
2261=item Arrow Rule
2262
2263=item Solution
2264
2265=item The Rest
2266
2267=item Summary
2268
2269=item Credits
2270
2271=over
2272
2273=item Distribution Conditions
2274
2275=back
2276
a45bd81d
GS
2277=back
2278
8ebc5c01 2279=head2 perldsc - Perl Data Structures Cookbook
cb1a09d0 2280
a45bd81d
GS
2281=over
2282
8ebc5c01 2283=item DESCRIPTION
cb1a09d0 2284
8ebc5c01 2285arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
28757baa 2286more elaborate constructs
cb1a09d0 2287
8ebc5c01 2288=item REFERENCES
cb1a09d0 2289
8ebc5c01 2290=item COMMON MISTAKES
cb1a09d0 2291
8ebc5c01 2292=item CAVEAT ON PRECEDENCE
cb1a09d0 2293
8ebc5c01 2294=item WHY YOU SHOULD ALWAYS C<use strict>
cb1a09d0 2295
8ebc5c01 2296=item DEBUGGING
cb1a09d0 2297
8ebc5c01 2298=item CODE EXAMPLES
cb1a09d0 2299
14218588 2300=item ARRAYS OF ARRAYS
cb1a09d0
AD
2301
2302=over
2303
14218588 2304=item Declaration of a ARRAY OF ARRAYS
cb1a09d0 2305
14218588 2306=item Generation of a ARRAY OF ARRAYS
cb1a09d0 2307
14218588 2308=item Access and Printing of a ARRAY OF ARRAYS
cb1a09d0 2309
8ebc5c01 2310=back
cb1a09d0 2311
14218588 2312=item HASHES OF ARRAYS
8ebc5c01
PP
2313
2314=over
cb1a09d0 2315
14218588 2316=item Declaration of a HASH OF ARRAYS
cb1a09d0 2317
14218588 2318=item Generation of a HASH OF ARRAYS
cb1a09d0 2319
14218588 2320=item Access and Printing of a HASH OF ARRAYS
cb1a09d0
AD
2321
2322=back
2323
14218588 2324=item ARRAYS OF HASHES
cb1a09d0
AD
2325
2326=over
2327
14218588 2328=item Declaration of a ARRAY OF HASHES
cb1a09d0 2329
14218588 2330=item Generation of a ARRAY OF HASHES
cb1a09d0 2331
14218588 2332=item Access and Printing of a ARRAY OF HASHES
cb1a09d0 2333
8ebc5c01 2334=back
cb1a09d0 2335
8ebc5c01
PP
2336=item HASHES OF HASHES
2337
2338=over
cb1a09d0 2339
8ebc5c01 2340=item Declaration of a HASH OF HASHES
cb1a09d0 2341
8ebc5c01 2342=item Generation of a HASH OF HASHES
cb1a09d0 2343
8ebc5c01 2344=item Access and Printing of a HASH OF HASHES
cb1a09d0
AD
2345
2346=back
2347
8ebc5c01 2348=item MORE ELABORATE RECORDS
7d2bfb28 2349
8ebc5c01 2350=over
7d2bfb28 2351
8ebc5c01 2352=item Declaration of MORE ELABORATE RECORDS
cb1a09d0 2353
8ebc5c01 2354=item Declaration of a HASH OF COMPLEX RECORDS
cb1a09d0 2355
8ebc5c01 2356=item Generation of a HASH OF COMPLEX RECORDS
cb1a09d0 2357
8ebc5c01 2358=back
cb1a09d0 2359
8ebc5c01 2360=item Database Ties
cb1a09d0 2361
8ebc5c01 2362=item SEE ALSO
cb1a09d0 2363
8ebc5c01 2364=item AUTHOR
cb1a09d0 2365
a45bd81d
GS
2366=back
2367
14218588 2368=head2 perllol - Manipulating Arrays of Arrays in Perl
cb1a09d0 2369
a45bd81d
GS
2370=over
2371
cb1a09d0
AD
2372=item DESCRIPTION
2373
14218588 2374=item Declaration and Access of Arrays of Arrays
cb1a09d0 2375
cb1a09d0
AD
2376=item Growing Your Own
2377
cb1a09d0
AD
2378=item Access and Printing
2379
cb1a09d0
AD
2380=item Slices
2381
cb1a09d0
AD
2382=item SEE ALSO
2383
cb1a09d0
AD
2384=item AUTHOR
2385
a45bd81d
GS
2386=back
2387
8ebc5c01 2388=head2 perltoot - Tom's object-oriented tutorial for perl
cb1a09d0 2389
a45bd81d
GS
2390=over
2391
8ebc5c01 2392=item DESCRIPTION
cb1a09d0 2393
8ebc5c01 2394=item Creating a Class
cb1a09d0 2395
8ebc5c01 2396=over
cb1a09d0 2397
8ebc5c01 2398=item Object Representation
cb1a09d0 2399
8ebc5c01
PP
2400=item Class Interface
2401
2402=item Constructors and Instance Methods
2403
2404=item Planning for the Future: Better Constructors
2405
2406=item Destructors
cb1a09d0 2407
8ebc5c01
PP
2408=item Other Object Methods
2409
2410=back
2411
2412=item Class Data
cb1a09d0
AD
2413
2414=over
2415
8ebc5c01 2416=item Accessing Class Data
cb1a09d0 2417
8ebc5c01 2418=item Debugging Methods
cb1a09d0 2419
8ebc5c01 2420=item Class Destructors
cb1a09d0 2421
8ebc5c01 2422=item Documenting the Interface
cb1a09d0 2423
8ebc5c01 2424=back
cb1a09d0 2425
8ebc5c01 2426=item Aggregation
cb1a09d0 2427
8ebc5c01 2428=item Inheritance
cb1a09d0 2429
8ebc5c01 2430=over
cb1a09d0 2431
8ebc5c01 2432=item Overridden Methods
55497cff 2433
8ebc5c01 2434=item Multiple Inheritance
55497cff 2435
8ebc5c01 2436=item UNIVERSAL: The Root of All Objects
55497cff 2437
8ebc5c01 2438=back
cb1a09d0 2439
8ebc5c01 2440=item Alternate Object Representations
cb1a09d0 2441
8ebc5c01 2442=over
cb1a09d0 2443
8ebc5c01 2444=item Arrays as Objects
cb1a09d0 2445
8ebc5c01
PP
2446=item Closures as Objects
2447
2448=back
cb1a09d0 2449
8ebc5c01 2450=item AUTOLOAD: Proxy Methods
cb1a09d0 2451
8ebc5c01
PP
2452=over
2453
2454=item Autoloaded Data Methods
2455
2456=item Inherited Autoloaded Data Methods
2457
2458=back
2459
2460=item Metaclassical Tools
cb1a09d0 2461
8ebc5c01
PP
2462=over
2463
8cc95fdb 2464=item Class::Struct
cb1a09d0 2465
8ebc5c01
PP
2466=item Data Members as Variables
2467
2468=item NOTES
cb1a09d0 2469
8ebc5c01 2470=item Object Terminology
cb1a09d0
AD
2471
2472=back
2473
2474=item SEE ALSO
2475
193fb0af
GS
2476=item AUTHOR AND COPYRIGHT
2477
8ebc5c01
PP
2478=item COPYRIGHT
2479
2480=over
2481
2482=item Acknowledgments
2483
2484=back
2485
a45bd81d
GS
2486=back
2487
14218588
GS
2488=head2 perltootc - Tom's OO Tutorial for Class Data in Perl
2489
a45bd81d
GS
2490=over
2491
14218588
GS
2492=item DESCRIPTION
2493
2494=item Class Data as Package Variables
2495
2496=over
2497
2498=item Putting All Your Eggs in One Basket
2499
2500=item Inheritance Concerns
2501
2502=item The Eponymous Meta-Object
2503
2504=item Indirect References to Class Data
2505
2506=item Monadic Classes
2507
2508=item Translucent Attributes
2509
2510=back
2511
2512=item Class Data as Lexical Variables
2513
2514=over
2515
2516=item Privacy and Responsibility
2517
2518=item File-Scoped Lexicals
2519
2520=item More Inheritance Concerns
2521
2522=item Locking the Door and Throwing Away the Key
2523
2524=item Translucency Revisited
2525
2526=back
2527
2528=item NOTES
2529
2530=item SEE ALSO
2531
2532=item AUTHOR AND COPYRIGHT
2533
2534=item ACKNOWLEDGEMENTS
2535
2536=item HISTORY
2537
a45bd81d
GS
2538=back
2539
8ebc5c01
PP
2540=head2 perlobj - Perl objects
2541
a45bd81d
GS
2542=over
2543
8ebc5c01
PP
2544=item DESCRIPTION
2545
2546=over
2547
2548=item An Object is Simply a Reference
2549
2550=item A Class is Simply a Package
2551
2552=item A Method is Simply a Subroutine
2553
2554=item Method Invocation
2555
14218588
GS
2556=item WARNING
2557
8ebc5c01
PP
2558=item Default UNIVERSAL methods
2559
ff0cee69 2560isa(CLASS), can(METHOD), VERSION( [NEED] )
8ebc5c01 2561
54310121 2562=item Destructors
8ebc5c01 2563
8ebc5c01 2564=item Summary
cb1a09d0 2565
8ebc5c01 2566=item Two-Phased Garbage Collection
cb1a09d0 2567
8ebc5c01 2568=back
cb1a09d0 2569
8ebc5c01 2570=item SEE ALSO
cb1a09d0 2571
a45bd81d
GS
2572=back
2573
cb1a09d0
AD
2574=head2 perltie - how to hide an object class in a simple variable
2575
a45bd81d
GS
2576=over
2577
cb1a09d0
AD
2578=item SYNOPSIS
2579
cb1a09d0
AD
2580=item DESCRIPTION
2581
cb1a09d0
AD
2582=over
2583
2584=item Tying Scalars
2585
cb1a09d0
AD
2586TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
2587
2588=item Tying Arrays
2589
cb1a09d0
AD
2590TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2591DESTROY this
2592
2593=item Tying Hashes
2594
8ebc5c01
PP
2595USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2596this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2597this, NEXTKEY this, lastkey, DESTROY this
cb1a09d0
AD
2598
2599=item Tying FileHandles
2600
193fb0af
GS
2601TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2602LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this
cb1a09d0 2603
4fdae800
PP
2604=item The C<untie> Gotcha
2605
cb1a09d0
AD
2606=back
2607
2608=item SEE ALSO
2609
cb1a09d0
AD
2610=item BUGS
2611
cb1a09d0
AD
2612=item AUTHOR
2613
a45bd81d
GS
2614=back
2615
cb1a09d0
AD
2616=head2 perlbot - Bag'o Object Tricks (the BOT)
2617
a45bd81d
GS
2618=over
2619
cb1a09d0
AD
2620=item DESCRIPTION
2621
cb1a09d0
AD
2622=item OO SCALING TIPS
2623
cb1a09d0
AD
2624=item INSTANCE VARIABLES
2625
cb1a09d0
AD
2626=item SCALAR INSTANCE VARIABLES
2627
cb1a09d0
AD
2628=item INSTANCE VARIABLE INHERITANCE
2629
cb1a09d0
AD
2630=item OBJECT RELATIONSHIPS
2631
cb1a09d0
AD
2632=item OVERRIDING SUPERCLASS METHODS
2633
cb1a09d0
AD
2634=item USING RELATIONSHIP WITH SDBM
2635
cb1a09d0
AD
2636=item THINKING OF CODE REUSE
2637
cb1a09d0
AD
2638=item CLASS CONTEXT AND THE OBJECT
2639
cb1a09d0
AD
2640=item INHERITING A CONSTRUCTOR
2641
cb1a09d0
AD
2642=item DELEGATION
2643
a45bd81d
GS
2644=back
2645
8ebc5c01
PP
2646=head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2647safe subprocesses, sockets, and semaphores)
cb1a09d0 2648
a45bd81d
GS
2649=over
2650
8ebc5c01 2651=item DESCRIPTION
cb1a09d0 2652
8ebc5c01 2653=item Signals
cb1a09d0 2654
8ebc5c01 2655=item Named Pipes
cb1a09d0 2656
193fb0af
GS
2657=over
2658
2659=item WARNING
2660
2661=back
2662
8ebc5c01 2663=item Using open() for IPC
cb1a09d0 2664
8ebc5c01 2665=over
cb1a09d0 2666
68dc0745
PP
2667=item Filehandles
2668
2669=item Background Processes
2670
2671=item Complete Dissociation of Child from Parent
2672
8ebc5c01 2673=item Safe Pipe Opens
cb1a09d0 2674
c90c0ff4 2675=item Bidirectional Communication with Another Process
55497cff 2676
193fb0af
GS
2677=item Bidirectional Communication with Yourself
2678
8ebc5c01
PP
2679=back
2680
2681=item Sockets: Client/Server Communication
55497cff 2682
cb1a09d0
AD
2683=over
2684
193fb0af
GS
2685=item Internet Line Terminators
2686
8ebc5c01 2687=item Internet TCP Clients and Servers
55497cff 2688
8ebc5c01 2689=item Unix-Domain TCP Clients and Servers
55497cff 2690
c90c0ff4
PP
2691=back
2692
2693=item TCP Clients with IO::Socket
2694
2695=over
2696
2697=item A Simple Client
2698
2699C<Proto>, C<PeerAddr>, C<PeerPort>
2700
2701=item A Webget Client
2702
2703=item Interactive Client with IO::Socket
cb1a09d0 2704
8ebc5c01 2705=back
cb1a09d0 2706
c90c0ff4 2707=item TCP Servers with IO::Socket
cb1a09d0 2708
c90c0ff4
PP
2709Proto, LocalPort, Listen, Reuse
2710
2711=item UDP: Message Passing
2712
2713=item SysV IPC
cb1a09d0 2714
8ebc5c01 2715=item NOTES
cb1a09d0 2716
8ebc5c01 2717=item BUGS
55497cff 2718
8ebc5c01 2719=item AUTHOR
55497cff 2720
8ebc5c01 2721=item SEE ALSO
55497cff 2722
a45bd81d
GS
2723=back
2724
14218588
GS
2725=head2 perldbmfilter - Perl DBM Filters
2726
a45bd81d
GS
2727=over
2728
14218588
GS
2729=item SYNOPSIS
2730
2731=item DESCRIPTION
2732
2733B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
2734B<filter_fetch_value>
2735
2736=over
2737
2738=item The Filter
2739
2740=item An Example -- the NULL termination problem.
2741
2742=item Another Example -- Key is a C int.
2743
2744=back
2745
2746=item SEE ALSO
2747
2748=item AUTHOR
2749
a45bd81d
GS
2750=back
2751
8ebc5c01 2752=head2 perldebug - Perl debugging
55497cff 2753
a45bd81d
GS
2754=over
2755
8ebc5c01 2756=item DESCRIPTION
55497cff 2757
8ebc5c01 2758=item The Perl Debugger
55497cff 2759
8ebc5c01 2760=over
55497cff 2761
8ebc5c01 2762=item Debugger Commands
a6006777 2763
774d564b
PP
2764h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
2765[expr], E<lt>CRE<gt>, c [line|sub], l, l min+incr, l min-max, l line, l
2766subname, -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]pattern],
2767t, t expr, b [line] [condition], b subname [condition], b postpone subname
2768[condition], b load filename, b compile subname, d [line], D, a [line]
193fb0af
GS
2769command, A, W [expr], W, O [opt[=val]] [opt"val"] [opt?]..,
2770C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
2771C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
2772C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
2773C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
2774C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
2775C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>, E<lt> [ command ],
2776E<lt>E<lt> command, E<gt> command, E<gt>E<gt> command, { [ command ], {{
2777command, ! number, ! -number, ! pattern, !! cmd, H -number, q or ^D, R,
2778|dbcmd, ||dbcmd, command, m expr, m package
774d564b
PP
2779
2780=item Debugger input/output
2781
54310121 2782Prompt, Multiline commands, Stack backtrace, Listing, Frame listing
774d564b
PP
2783
2784=item Debugging compile-time statements
cb1a09d0 2785
8ebc5c01 2786=item Debugger Customization
cb1a09d0 2787
8ebc5c01 2788=item Readline Support
cb1a09d0 2789
8ebc5c01 2790=item Editor Support for Debugging
cb1a09d0 2791
8ebc5c01 2792=item The Perl Profiler
cb1a09d0 2793
8ebc5c01 2794=item Debugger support in perl
cb1a09d0 2795
8ebc5c01 2796=item Debugger Internals
cb1a09d0 2797
8ebc5c01 2798=item Other resources
cb1a09d0 2799
193fb0af
GS
2800=item BUGS
2801
8ebc5c01 2802=back
cb1a09d0 2803
193fb0af
GS
2804=item Debugging Perl memory usage
2805
2806=over
2807
2808=item Using C<$ENV{PERL_DEBUG_MSTATS}>
2809
2810C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
2811SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
28126144>
2813
2814=item Example of using B<-DL> switch
2815
2816C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
2817
2818=item B<-DL> details
2819
2820C<!!!>, C<!!>, C<!>
2821
2822=item Limitations of B<-DL> statistic
2823
2824=back
cb1a09d0 2825
fb9cefb4
GS
2826=item Debugging regular expressions
2827
2828=over
2829
2830=item Compile-time output
2831
2832C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
2833I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
2834I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
2835C<anchored(TYPE)>
2836
2837=item Types of nodes
2838
2839=item Run-time output
2840
2841=back
2842
a45bd81d
GS
2843=back
2844
cb1a09d0
AD
2845=head2 perldiag - various Perl diagnostics
2846
a45bd81d
GS
2847=over
2848
cb1a09d0
AD
2849=item DESCRIPTION
2850
a45bd81d
GS
2851=back
2852
8ebc5c01 2853=head2 perlsec - Perl security
cb1a09d0 2854
a45bd81d
GS
2855=over
2856
cb1a09d0
AD
2857=item DESCRIPTION
2858
cb1a09d0
AD
2859=over
2860
55497cff
PP
2861=item Laundering and Detecting Tainted Data
2862
b971f6e4
PP
2863=item Switches On the "#!" Line
2864
55497cff 2865=item Cleaning Up Your Path
cb1a09d0 2866
55497cff 2867=item Security Bugs
a6006777 2868
68dc0745
PP
2869=item Protecting Your Programs
2870
cb1a09d0
AD
2871=back
2872
193fb0af
GS
2873=item SEE ALSO
2874
a45bd81d
GS
2875=back
2876
8ebc5c01 2877=head2 perltrap - Perl traps for the unwary
cb1a09d0 2878
a45bd81d
GS
2879=over
2880
8ebc5c01 2881=item DESCRIPTION
cb1a09d0
AD
2882
2883=over
2884
8ebc5c01 2885=item Awk Traps
cb1a09d0 2886
8ebc5c01 2887=item C Traps
cb1a09d0 2888
8ebc5c01 2889=item Sed Traps
cb1a09d0 2890
8ebc5c01 2891=item Shell Traps
cb1a09d0 2892
8ebc5c01 2893=item Perl Traps
cb1a09d0 2894
8ebc5c01 2895=item Perl4 to Perl5 Traps
cb1a09d0 2896
8ebc5c01
PP
2897Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
2898Traps, General data type traps, Context Traps - scalar, list contexts,
2899Precedence Traps, General Regular Expression Traps using s///, etc,
2900Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
cb1a09d0 2901
8ebc5c01 2902=item Discontinuance, Deprecation, and BugFix traps
cb1a09d0 2903
8ebc5c01
PP
2904Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
2905Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
a45bd81d 2906Discontinuance, Deprecation, Discontinuance
cb1a09d0 2907
8ebc5c01 2908=item Parsing Traps
cb1a09d0 2909
fb9cefb4 2910Parsing, Parsing, Parsing, Parsing
cb1a09d0 2911
8ebc5c01 2912=item Numerical Traps
cb1a09d0 2913
a45bd81d 2914Numerical, Numerical, Numerical, Bitwise string ops
cb1a09d0 2915
8ebc5c01 2916=item General data type traps
cb1a09d0 2917
193fb0af
GS
2918(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
2919(Constants), (Scalars), (Variable Suicide)
cb1a09d0 2920
8ebc5c01 2921=item Context Traps - scalar, list contexts
cb1a09d0 2922
8ebc5c01 2923(list context), (scalar context), (scalar context), (list, builtin)
cb1a09d0 2924
8ebc5c01 2925=item Precedence Traps
cb1a09d0 2926
fb9cefb4
GS
2927Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
2928Precedence
cb1a09d0 2929
8ebc5c01 2930=item General Regular Expression Traps using s///, etc.
cb1a09d0 2931
8ebc5c01 2932Regular Expression, Regular Expression, Regular Expression, Regular
44a8e56a 2933Expression, Regular Expression, Regular Expression, Regular Expression,
fb9cefb4 2934Regular Expression
cb1a09d0 2935
8ebc5c01 2936=item Subroutine, Signal, Sorting Traps
cb1a09d0 2937
2ae324a7 2938(Signals), (Sort Subroutine), warn() won't let you specify a filehandle
cb1a09d0 2939
8ebc5c01 2940=item OS Traps
cb1a09d0 2941
8ebc5c01 2942(SysV), (SysV)
cb1a09d0 2943
8ebc5c01 2944=item Interpolation Traps
cb1a09d0 2945
8ebc5c01
PP
2946Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
2947Interpolation, Interpolation, Interpolation, Interpolation
cb1a09d0 2948
8ebc5c01 2949=item DBM Traps
cb1a09d0 2950
8ebc5c01 2951DBM, DBM
cb1a09d0 2952
8ebc5c01 2953=item Unclassified Traps
cb1a09d0 2954
d516a115
JH
2955C<require>/C<do> trap using returned value, C<split> on empty string with
2956LIMIT specified
cb1a09d0 2957
8ebc5c01 2958=back
cb1a09d0 2959
a45bd81d
GS
2960=back
2961
fb9cefb4
GS
2962=head2 perlport - Writing portable Perl
2963
a45bd81d
GS
2964=over
2965
fb9cefb4
GS
2966=item DESCRIPTION
2967
a10cf691 2968Not all Perl programs have to be portable, Nearly all of Perl already I<is>
fb9cefb4
GS
2969portable
2970
2971=item ISSUES
2972
2973=over
2974
2975=item Newlines
2976
14218588
GS
2977=item Numbers endianness and Width
2978
2979=item Files and Filesystems
fb9cefb4
GS
2980
2981=item System Interaction
2982
2983=item Interprocess Communication (IPC)
2984
2985=item External Subroutines (XS)
2986
2987=item Standard Modules
2988
2989=item Time and Date
2990
14218588
GS
2991=item Character sets and character encoding
2992
2993=item Internationalisation
2994
fb9cefb4
GS
2995=item System Resources
2996
2997=item Security
2998
2999=item Style
3000
3001=back
3002
14218588 3003=item CPAN Testers
fb9cefb4
GS
3004
3005Mailing list: cpan-testers@perl.org, Testing results:
6cecdcac 3006C<http://testers.perl.org/>
fb9cefb4
GS
3007
3008=item PLATFORMS
3009
3010=over
3011
3012=item Unix
3013
3014=item DOS and Derivatives
3015
3016The djgpp environment for DOS, C<http://www.delorie.com/djgpp/>, The EMX
3017environment for DOS, OS/2, etc.
14218588
GS
3018C<emx@iaehv.nl>,C<http://www.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/index.
3019html> or
3020C<ftp://hobbes.nmsu.edu/pub/os2/dev/emx>, Build instructions for Win32,
c76ac1ee
GS
3021L<perlwin32>, The ActiveState Pages, C<http://www.activestate.com/>, The
3022Cygwin environment for Win32;
3023L<README.cygwin>,C<http://sourceware.cygnus.com/cygwin/>, The U/WIN
3024environment for Win32,C<http://www.research.att.com/sw/tools/uwin/>
fb9cefb4 3025
14218588 3026=item S<Mac OS>
fb9cefb4 3027
14218588
GS
3028The MacPerl Pages, C<http://www.macperl.com/>, The MacPerl mailing lists,
3029C<http://www.macperl.org/>, MacPerl Module Porters,
3030C<http://pudge.net/mmp/>
fb9cefb4
GS
3031
3032=item VMS
3033
c76ac1ee
GS
3034L<README.vms>, L<perlvms.pod>, vmsperl list, C<majordomo@perl.org>, vmsperl
3035on the web, C<http://www.sidhe.org/vmsperl/index.html>
14218588
GS
3036
3037=item VOS
3038
3039L<README.vos>, VOS mailing list, VOS Perl on the web at
3040C<http://ftp.stratus.com/pub/vos/vos.html>
fb9cefb4
GS
3041
3042=item EBCDIC Platforms
3043
c76ac1ee
GS
3044L<README.os390>, L<README.posix-bc>, L<README.vmesa>, perl-mvs list, AS/400
3045Perl information at C<http://as400.rochester.ibm.com/>as well as on CPAN in
3046the F<ports/> directory
14218588
GS
3047
3048=item Acorn RISC OS
fb9cefb4
GS
3049
3050=item Other perls
3051
c76ac1ee
GS
3052Amiga, L<README.amiga>, Atari, L<README.mint> and Guido Flohr's web
3053pageC<http://stud.uni-sb.de/~gufl0000/>, Be OS, L<README.beos>, HP 300
3054MPE/iX, L<README.mpeix> and Mark Bixby's web
3055pageC<http://www.cccd.edu/~markb/perlix.html>, Novell Netware, Plan 9,
3056L<README.plan9>
fb9cefb4
GS
3057
3058=back
3059
3060=item FUNCTION IMPLEMENTATIONS
3061
3062=over
3063
3064=item Alphabetical Listing of Perl Functions
3065
3066-I<X> FILEHANDLE, -I<X> EXPR, -I<X>, binmode FILEHANDLE, chmod LIST, chown
3067LIST, chroot FILENAME, chroot, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen
3068HASH,DBNAME,MODE, dump LABEL, exec LIST, fcntl FILEHANDLE,FUNCTION,SCALAR,
3069flock FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid,
3070getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME,
3071getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber
3072NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent,
3073getnetent, getprotoent, getservent, setpwent, setgrent, sethostent
3074STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN,
3075endpwent, endgrent, endhostent, endnetent, endprotoent, endservent,
3076getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl
a45bd81d 3077FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat
fb9cefb4
GS
3078FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
3079ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open
3080FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select
3081RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
3082KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setpgrp PID,PGRP, setpriority
3083WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl
3084ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite
3085ID,STRING,POS,SIZE, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat
14218588
GS
3086FILEHANDLE, stat EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
3087FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
3088FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
3089wait, waitpid PID,FLAGS
fb9cefb4
GS
3090
3091=back
3092
14218588
GS
3093=item CHANGES
3094
a45bd81d
GS
3095v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22
3096May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February
30971999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September
30981998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998,
3099v1.30, 03 August 1998, v1.23, 10 July 1998
14218588 3100
fb9cefb4
GS
3101=item AUTHORS / CONTRIBUTORS
3102
3103=item VERSION
3104
a45bd81d
GS
3105=back
3106
8ebc5c01 3107=head2 perlstyle - Perl style guide
cb1a09d0 3108
a45bd81d
GS
3109=over
3110
8ebc5c01 3111=item DESCRIPTION
cb1a09d0 3112
a45bd81d
GS
3113=back
3114
8ebc5c01 3115=head2 perlpod - plain old documentation
cb1a09d0 3116
a45bd81d
GS
3117=over
3118
8ebc5c01 3119=item DESCRIPTION
cb1a09d0 3120
d516a115
JH
3121=over
3122
3123=item Verbatim Paragraph
3124
3125=item Command Paragraph
3126
3127=item Ordinary Block of Text
3128
3129=item The Intent
3130
8ebc5c01 3131=item Embedding Pods in Perl Modules
cb1a09d0 3132
8ebc5c01 3133=item Common Pod Pitfalls
cb1a09d0 3134
d516a115
JH
3135=back
3136
8ebc5c01 3137=item SEE ALSO
cb1a09d0 3138
8ebc5c01 3139=item AUTHOR
cb1a09d0 3140
a45bd81d
GS
3141=back
3142
8ebc5c01 3143=head2 perlbook - Perl book information
cb1a09d0 3144
a45bd81d
GS
3145=over
3146
8ebc5c01 3147=item DESCRIPTION
cb1a09d0 3148
a45bd81d
GS
3149=back
3150
8ebc5c01 3151=head2 perlembed - how to embed perl in your C program
cb1a09d0 3152
a45bd81d
GS
3153=over
3154
8ebc5c01 3155=item DESCRIPTION
cb1a09d0 3156
8ebc5c01 3157=over
cb1a09d0 3158
8ebc5c01 3159=item PREAMBLE
cb1a09d0 3160
54310121 3161B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
8ebc5c01 3162Perl?>, B<Use C from C?>, B<Use Perl from C?>
cb1a09d0 3163
8ebc5c01 3164=item ROADMAP
cb1a09d0 3165
8ebc5c01 3166=item Compiling your C program
cb1a09d0 3167
8ebc5c01 3168=item Adding a Perl interpreter to your C program
cb1a09d0 3169
8ebc5c01 3170=item Calling a Perl subroutine from your C program
cb1a09d0 3171
8ebc5c01 3172=item Evaluating a Perl statement from your C program
cb1a09d0 3173
8ebc5c01 3174=item Performing Perl pattern matches and substitutions from your C program
cb1a09d0 3175
8ebc5c01 3176=item Fiddling with the Perl stack from your C program
cb1a09d0 3177
8ebc5c01 3178=item Maintaining a persistent interpreter
cb1a09d0 3179
8ebc5c01 3180=item Maintaining multiple interpreter instances
cb1a09d0 3181
8ebc5c01
PP
3182=item Using Perl modules, which themselves use C libraries, from your C
3183program
cb1a09d0 3184
8ebc5c01 3185=back
cb1a09d0 3186
3e3baf6d
TB
3187=item Embedding Perl under Win32
3188
8ebc5c01 3189=item MORAL
cb1a09d0 3190
8ebc5c01 3191=item AUTHOR
cb1a09d0 3192
f86702cc
PP
3193=item COPYRIGHT
3194
a45bd81d
GS
3195=back
3196
28757baa 3197=head2 perlapio - perl's IO abstraction interface.
cb1a09d0 3198
a45bd81d
GS
3199=over
3200
8ebc5c01 3201=item SYNOPSIS
cb1a09d0
AD
3202
3203=item DESCRIPTION
3204
8ebc5c01
PP
3205B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
3206B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
3207B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
3208B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
d516a115
JH
3209B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
3210B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
8ebc5c01
PP
3211B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
3212B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
3213B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
3214B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
cb1a09d0
AD
3215
3216=over
3217
8ebc5c01 3218=item Co-existence with stdio
cb1a09d0 3219
8ebc5c01
PP
3220B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
3221B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
3222B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
3223B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
3224B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
3225B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
cb1a09d0 3226
8ebc5c01 3227=back
cb1a09d0 3228
a45bd81d
GS
3229=back
3230
8ebc5c01 3231=head2 perlxs - XS language reference manual
cb1a09d0 3232
a45bd81d
GS
3233=over
3234
8ebc5c01 3235=item DESCRIPTION
cb1a09d0 3236
8ebc5c01 3237=over
cb1a09d0
AD
3238
3239=item Introduction
3240
cb1a09d0
AD
3241=item On The Road
3242
cb1a09d0
AD
3243=item The Anatomy of an XSUB
3244
cb1a09d0
AD
3245=item The Argument Stack
3246
cb1a09d0
AD
3247=item The RETVAL Variable
3248
cb1a09d0
AD
3249=item The MODULE Keyword
3250
cb1a09d0
AD
3251=item The PACKAGE Keyword
3252
cb1a09d0
AD
3253=item The PREFIX Keyword
3254
cb1a09d0
AD
3255=item The OUTPUT: Keyword
3256
cb1a09d0
AD
3257=item The CODE: Keyword
3258
7d2bfb28
PP
3259=item The INIT: Keyword
3260
cb1a09d0
AD
3261=item The NO_INIT Keyword
3262
cb1a09d0
AD
3263=item Initializing Function Parameters
3264
cb1a09d0
AD
3265=item Default Parameter Values
3266
7d2bfb28
PP
3267=item The PREINIT: Keyword
3268
8ebc5c01 3269=item The SCOPE: Keyword
7d2bfb28
PP
3270
3271=item The INPUT: Keyword
3272
cb1a09d0
AD
3273=item Variable-length Parameter Lists
3274
193fb0af
GS
3275=item The C_ARGS: Keyword
3276
cb1a09d0
AD
3277=item The PPCODE: Keyword
3278
cb1a09d0
AD
3279=item Returning Undef And Empty Lists
3280
cb1a09d0
AD
3281=item The REQUIRE: Keyword
3282
cb1a09d0
AD
3283=item The CLEANUP: Keyword
3284
cb1a09d0
AD
3285=item The BOOT: Keyword
3286
7d2bfb28
PP
3287=item The VERSIONCHECK: Keyword
3288
7d2bfb28
PP
3289=item The PROTOTYPES: Keyword
3290
7d2bfb28
PP
3291=item The PROTOTYPE: Keyword
3292
7d2bfb28
PP
3293=item The ALIAS: Keyword
3294
193fb0af
GS
3295=item The INTERFACE: Keyword
3296
3297=item The INTERFACE_MACRO: Keyword
3298
7d2bfb28
PP
3299=item The INCLUDE: Keyword
3300
7d2bfb28
PP
3301=item The CASE: Keyword
3302
7d2bfb28
PP
3303=item The & Unary Operator
3304
cb1a09d0
AD
3305=item Inserting Comments and C Preprocessor Directives
3306
cb1a09d0
AD
3307=item Using XS With C++
3308
cb1a09d0
AD
3309=item Interface Strategy
3310
cb1a09d0
AD
3311=item Perl Objects And C Structures
3312
cb1a09d0
AD
3313=item The Typemap
3314
cb1a09d0
AD
3315=back
3316
3317=item EXAMPLES
3318
7d2bfb28
PP
3319=item XS VERSION
3320
cb1a09d0
AD
3321=item AUTHOR
3322
a45bd81d
GS
3323=back
3324
c76ac1ee 3325=head2 perlxstut, perlXStut - Tutorial for writing XSUBs
cb1a09d0 3326
a45bd81d
GS
3327=over
3328
cb1a09d0
AD
3329=item DESCRIPTION
3330
c76ac1ee
GS
3331=item SPECIAL NOTES
3332
7d2bfb28
PP
3333=over
3334
c76ac1ee
GS
3335=item make
3336
3337=item Version caveat
7d2bfb28 3338
c76ac1ee
GS
3339=item Dynamic Loading versus Static Loading
3340
3341=back
3342
3343=item TUTORIAL
3344
3345=over
7d2bfb28 3346
cb1a09d0
AD
3347=item EXAMPLE 1
3348
cb1a09d0
AD
3349=item EXAMPLE 2
3350
c76ac1ee 3351=item What has gone on?
cb1a09d0 3352
c76ac1ee 3353=item Writing good test scripts
cb1a09d0
AD
3354
3355=item EXAMPLE 3
3356
c76ac1ee 3357=item What's new here?
cb1a09d0 3358
c76ac1ee 3359=item Input and Output Parameters
cb1a09d0 3360
c76ac1ee 3361=item The XSUBPP Program
cb1a09d0 3362
c76ac1ee 3363=item The TYPEMAP file
cb1a09d0 3364
c76ac1ee 3365=item Warning about Output Arguments
cb1a09d0 3366
8ebc5c01 3367=item EXAMPLE 4
cb1a09d0 3368
c76ac1ee 3369=item What has happened here?
7d2bfb28 3370
a45bd81d
GS
3371=item Anatomy of .xs file
3372
3373=item Getting the fat out of XSUBs
3374
3375=item More about XSUB arguments
7d2bfb28 3376
c76ac1ee 3377=item The Argument Stack
7d2bfb28 3378
c76ac1ee 3379=item Extending your Extension
7d2bfb28 3380
c76ac1ee 3381=item Documenting your Extension
7d2bfb28 3382
c76ac1ee 3383=item Installing your Extension
7d2bfb28 3384
c76ac1ee
GS
3385=item EXAMPLE 5
3386
3387=item New Things in this Example
3388
3389=item EXAMPLE 6 (Coming Soon)
3390
3391=item EXAMPLE 7 (Coming Soon)
3392
3393=item EXAMPLE 8 (Coming Soon)
3394
3395=item EXAMPLE 9 (Coming Soon)
3396
3397=item Troubleshooting these Examples
3398
3399=back
3400
3401=item See also
cb1a09d0 3402
cb1a09d0
AD
3403=item Author
3404
c76ac1ee
GS
3405=over
3406
cb1a09d0
AD
3407=item Last Changed
3408
7d2bfb28
PP
3409=back
3410
a45bd81d
GS
3411=back
3412
954c1994 3413=head2 perlguts - Introduction to the Perl API
cb1a09d0 3414
a45bd81d
GS
3415=over
3416
cb1a09d0
AD
3417=item DESCRIPTION
3418
0a753a76
PP
3419=item Variables
3420
8ebc5c01 3421=over
cb1a09d0
AD
3422
3423=item Datatypes
3424
cb1a09d0
AD
3425=item What is an "IV"?
3426
54310121 3427=item Working with SVs
cb1a09d0 3428
cb1a09d0
AD
3429=item What's Really Stored in an SV?
3430
54310121 3431=item Working with AVs
cb1a09d0 3432
54310121 3433=item Working with HVs
cb1a09d0 3434
1e422769
PP
3435=item Hash API Extensions
3436
cb1a09d0
AD
3437=item References
3438
cb1a09d0
AD
3439=item Blessed References and Class Objects
3440
cb1a09d0
AD
3441=item Creating New Variables
3442
8ebc5c01 3443=item Reference Counts and Mortality
cb1a09d0 3444
8ebc5c01 3445=item Stashes and Globs
cb1a09d0 3446
54310121 3447=item Double-Typed SVs
0a753a76
PP
3448
3449=item Magic Variables
cb1a09d0 3450
cb1a09d0
AD
3451=item Assigning Magic
3452
cb1a09d0
AD
3453=item Magic Virtual Tables
3454
cb1a09d0
AD
3455=item Finding Magic
3456
3e3baf6d
TB
3457=item Understanding the Magic of Tied Hashes and Arrays
3458
d516a115
JH
3459=item Localizing changes
3460
3461C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
3462C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEFREEOP(OP
3463*op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>, C<SAVEDELETE(HV *hv, char
c76ac1ee
GS
3464*key, I32 length)>, C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void
3465*p)>, C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>,
3466C<SV* save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV
3467*gv)>, C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32
3468maxsarg)>, C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>,
3469C<void save_hptr(HV **hptr)>
d516a115 3470
0a753a76
PP
3471=back
3472
3473=item Subroutines
3474
3475=over
cb1a09d0 3476
68dc0745 3477=item XSUBs and the Argument Stack
cb1a09d0
AD
3478
3479=item Calling Perl Routines from within C Programs
3480
cb1a09d0
AD
3481=item Memory Allocation
3482
8ebc5c01 3483=item PerlIO
cb1a09d0 3484
8ebc5c01 3485=item Putting a C value on Perl stack
cb1a09d0 3486
8ebc5c01 3487=item Scratchpads
cb1a09d0 3488
2ae324a7 3489=item Scratchpads and recursion
cb1a09d0 3490
0a753a76
PP
3491=back
3492
3493=item Compiled code
3494
3495=over
3496
3497=item Code tree
3498
3499=item Examining the tree
3500
3501=item Compile pass 1: check routines
3502
3503=item Compile pass 1a: constant folding
3504
3505=item Compile pass 2: context propagation
3506
3507=item Compile pass 3: peephole optimization
3508
3509=back
3510
954c1994 3511=item How multiple interpreters and concurrency are supported
c76ac1ee
GS
3512
3513=over
3514
3515=item Background and PERL_IMPLICIT_CONTEXT
3516
3517=item How do I use all this in extensions?
3518
3519=item Future Plans and PERL_IMPLICIT_SYS
3520
3521=back
3522
193fb0af 3523=item AUTHORS
cb1a09d0 3524
954c1994
GS
3525=item SEE ALSO
3526
a45bd81d
GS
3527=back
3528
cb1a09d0
AD
3529=head2 perlcall - Perl calling conventions from C
3530
a45bd81d
GS
3531=over
3532
cb1a09d0
AD
3533=item DESCRIPTION
3534
cb1a09d0
AD
3535An Error Handler, An Event Driven Program
3536
3537=item THE PERL_CALL FUNCTIONS
3538
14218588 3539perl_call_sv, perl_call_pv, perl_call_method, perl_call_argv
cb1a09d0
AD
3540
3541=item FLAG VALUES
3542
cb1a09d0
AD
3543=over
3544
54310121
PP
3545=item G_VOID
3546
cb1a09d0
AD
3547=item G_SCALAR
3548
cb1a09d0
AD
3549=item G_ARRAY
3550
cb1a09d0
AD
3551=item G_DISCARD
3552
cb1a09d0
AD
3553=item G_NOARGS
3554
54310121 3555=item G_EVAL
cb1a09d0 3556
7d2bfb28
PP
3557=item G_KEEPERR
3558
54310121 3559=item Determining the Context
cb1a09d0
AD
3560
3561=back
3562
3563=item KNOWN PROBLEMS
3564
cb1a09d0
AD
3565=item EXAMPLES
3566
cb1a09d0
AD
3567=over
3568
3569=item No Parameters, Nothing returned
3570
cb1a09d0
AD
3571=item Passing Parameters
3572
cb1a09d0
AD
3573=item Returning a Scalar
3574
cb1a09d0
AD
3575=item Returning a list of values
3576
cb1a09d0
AD
3577=item Returning a list in a scalar context
3578
cb1a09d0
AD
3579=item Returning Data from Perl via the parameter li