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