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