This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
skip integrate of problematic change#6292 from cfgperl into mainline
[perl5.git] / pod / perltoc.pod
CommitLineData
cb1a09d0
AD
1
2=head1 NAME
3
4perltoc - perl documentation table of contents
5
6=head1 DESCRIPTION
7
8This page provides a brief table of contents for the rest of the Perl
28757baa 9documentation set. It is meant to be scanned quickly or grepped
402d0d99 10through to locate the proper section you're looking for.
cb1a09d0
AD
11
12=head1 BASIC DOCUMENTATION
13
cb1a09d0
AD
14=head2 perl - Practical Extraction and Report Language
15
a45bd81d
GS
16=over
17
cb1a09d0
AD
18=item SYNOPSIS
19
cb1a09d0
AD
20=item DESCRIPTION
21
14218588
GS
22modularity and reusability using innumerable modules, embeddable and
23extensible, roll-your-own magic variables (including multiple simultaneous
24DBM implementations), subroutines can now be overridden, autoloaded, and
25prototyped, arbitrarily nested data structures and anonymous functions,
26object-oriented programming, compilability into C code or Perl bytecode,
27support for light-weight processes (threads), support for
28internationalization, localization, and Unicode, lexical scoping, regular
29expression enhancements, enhanced debugger and interactive Perl
30environment, with integrated editor support, POSIX 1003.1 compliant library
31
32=item AVAILABILITY
cb1a09d0
AD
33
34=item ENVIRONMENT
35
cb1a09d0
AD
36=item AUTHOR
37
cb1a09d0
AD
38=item FILES
39
cb1a09d0
AD
40=item SEE ALSO
41
cb1a09d0
AD
42=item DIAGNOSTICS
43
cb1a09d0
AD
44=item BUGS
45
cb1a09d0
AD
46=item NOTES
47
a45bd81d
GS
48=back
49
14218588
GS
50=head2 perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
5120:38:02 $)
68dc0745 52
a45bd81d
GS
53=over
54
68dc0745
PP
55=item DESCRIPTION
56
57perlfaq: Structural overview of the FAQ, L<perlfaq1>: General Questions
14218588
GS
58About Perl, What is Perl?, Who supports Perl? Who develops it? Why is it
59free?, Which version of Perl should I use?, What are perl4 and perl5?, What
60is perl6?, How stable is Perl?, Is Perl difficult to learn?, How does Perl
61compare with other languages like Java, Python, REXX, Scheme, or Tcl?, Can
62I do [task] in Perl?, When shouldn't I program in Perl?, What's the
63difference between "perl" and "Perl"?, Is it a Perl program or a Perl
64script?, What is a JAPH?, Where can I get a list of Larry Wall witticisms?,
65How can I convince my sysadmin/supervisor/employees to use version
66(5/5.005/Perl instead of some other language)?, L<perlfaq2>: Obtaining and
67Learning about Perl, What machines support Perl? Where do I get it?, How
68can I get a binary version of Perl?, I don't have a C compiler on my
69system. How can I compile perl?, I copied the Perl binary from one machine
70to another, but scripts don't work, I grabbed the sources and tried to
71compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make
72it work?, What modules and extensions are available for Perl? What is
73CPAN? What does CPAN/src/... mean?, Is there an ISO or ANSI certified
74version of Perl?, Where can I get information on Perl?, What are the Perl
75newsgroups on USENET? Where do I post questions?, Where should I post
76source code?, Perl Books, Perl in Magazines, Perl on the Net: FTP and WWW
77Access, What mailing lists are there for perl?, Archives of
78comp.lang.perl.misc, Where can I buy a commercial version of Perl?, Where
79do I send bug reports?, What is perl.com?, L<perlfaq3>: Programming Tools,
80How do I do (anything)?, How can I use Perl interactively?, Is there a Perl
81shell?, How do I debug my Perl programs?, How do I profile my Perl
82programs?, How do I cross-reference my Perl programs?, Is there a
83pretty-printer (formatter) for Perl?, Is there a ctags for Perl?, Is there
84an IDE or Windows Perl Editor?, Where can I get Perl macros for vi?, Where
85can I get perl-mode for emacs?, How can I use curses with Perl?, How can I
86use X or Tk with Perl?, How can I generate simple menus without using CGI
87or Tk?, What is undump?, How can I make my Perl program run faster?, How
88can I make my Perl program take less memory?, Is it unsafe to return a
89pointer to local data?, How can I free an array or hash so my program
90shrinks?, How can I make my CGI script more efficient?, How can I hide the
91source for my Perl program?, How can I compile my Perl program into byte
92code or C?, How can I compile Perl into Java?, How can I get C<#!perl> to
93work on [MS-DOS,NT,...]?, Can I write useful perl programs on the command
94line?, Why don't perl one-liners work on my DOS/Mac/VMS system?, Where can
95I learn about CGI or Web programming in Perl?, Where can I learn about
96object-oriented Perl programming?, Where can I learn about linking C with
97Perl? [h2xs, xsubpp], I've read perlembed, perlguts, etc., but I can't
0e032a14
JH
98embed perl in my C program, what am I doing wrong?, When I tried to run my
99script, I got this message. What does it mean?, What's MakeMaker?,
14218588
GS
100L<perlfaq4>: Data Manipulation, Why am I getting long decimals (eg,
10119.9499999999999) instead of the numbers I should be getting (eg, 19.95)?,
102Why isn't my octal data interpreted correctly?, Does Perl have a round()
103function? What about ceil() and floor()? Trig functions?, How do I
104convert bits into ints?, Why doesn't & work the way I want it to?, How do I
105multiply matrices?, How do I perform an operation on a series of integers?,
106How can I output Roman numerals?, Why aren't my random numbers random?, How
107do I find the week-of-the-year/day-of-the-year?, How do I find the current
108century or millennium?, How can I compare two dates and find the
109difference?, How can I take a string and turn it into epoch seconds?, How
110can I find the Julian Day?, How do I find yesterday's date?, Does Perl have
111a year 2000 problem? Is Perl Y2K compliant?, How do I validate input?, How
112do I unescape a string?, How do I remove consecutive pairs of characters?,
113How do I expand function calls in a string?, How do I find matching/nesting
114anything?, How do I reverse a string?, How do I expand tabs in a string?,
115How do I reformat a paragraph?, How can I access/change the first N letters
116of a string?, How do I change the Nth occurrence of something?, How can I
117count the number of occurrences of a substring within a string?, How do I
118capitalize all the words on one line?, How can I split a [character]
0e032a14 119delimited string except when inside [character]? (Comma-separated files),
14218588
GS
120How do I strip blank space from the beginning/end of a string?, How do I
121pad a string with blanks or pad a number with zeroes?, How do I extract
122selected columns from a string?, How do I find the soundex value of a
123string?, How can I expand variables in text strings?, What's wrong with
b38f6a39
GS
124always quoting "$vars"?, Why don't my <<HERE documents work?, What is the
125difference between a list and an array?, What is the difference between
126$array[1] and @array[1]?, How can I remove duplicate elements from a list
127or array?, How can I tell whether a list or array contains a certain
14218588
GS
128element?, How do I compute the difference of two arrays? How do I compute
129the intersection of two arrays?, How do I test whether two arrays or hashes
130are equal?, How do I find the first array element for which a condition is
131true?, How do I handle linked lists?, How do I handle circular lists?, How
132do I shuffle an array randomly?, How do I process/modify each element of an
133array?, How do I select a random element from an array?, How do I permute N
134elements of a list?, How do I sort an array by (anything)?, How do I
135manipulate arrays of bits?, Why does defined() return true on empty arrays
136and hashes?, How do I process an entire hash?, What happens if I add or
137remove keys from a hash while iterating over it?, How do I look up a hash
138element by value?, How can I know how many entries are in a hash?, How do I
139sort a hash (optionally by value instead of key)?, How can I always keep my
140hash sorted?, What's the difference between "delete" and "undef" with
141hashes?, Why don't my tied hashes make the defined/exists distinction?, How
142do I reset an each() operation part-way through?, How can I get the unique
143keys from two hashes?, How can I store a multidimensional array in a DBM
144file?, How can I make my hash remember the order I put elements into it?,
145Why does passing a subroutine an undefined element in a hash create it?,
146How can I make the Perl equivalent of a C structure/C++ class/hash or array
147of hashes or arrays?, How can I use a reference as a hash key?, How do I
148handle binary data correctly?, How do I determine whether a scalar is a
149number/whole/integer/float?, How do I keep persistent data across program
150calls?, How do I print out or copy a recursive data structure?, How do I
151define methods for every class/object?, How do I verify a credit card
152checksum?, How do I pack arrays of doubles or floats for XS code?,
153L<perlfaq5>: Files and Formats, How do I flush/unbuffer an output
154filehandle? Why must I do this?, How do I change one line in a file/delete
155a line in a file/insert a line in the middle of a file/append to the
156beginning of a file?, How do I count the number of lines in a file?, How do
157I make a temporary file name?, How can I manipulate fixed-record-length
158files?, How can I make a filehandle local to a subroutine? How do I pass
159filehandles between subroutines? How do I make an array of filehandles?,
160How can I use a filehandle indirectly?, How can I set up a footer format to
161be used with write()?, How can I write() into a string?, How can I output
162my numbers with commas added?, How can I translate tildes (~) in a
163filename?, How come when I open a file read-write it wipes it out?, Why do
b38f6a39
GS
164I sometimes get an "Argument list too long" when I use <*>?, Is there a
165leak/bug in glob()?, How can I open a file with a leading ">" or trailing
166blanks?, How can I reliably rename a file?, How can I lock a file?, Why
167can't I just open(FH, ">file.lock")?, I still don't get locking. I just
168want to increment the number in the file. How can I do this?, How do I
169randomly update a binary file?, How do I get a file's timestamp in perl?,
170How do I set a file's timestamp in perl?, How do I print to more than one
171file at once?, How can I read in an entire file all at once?, How can I
172read in a file by paragraphs?, How can I read a single character from a
173file? From the keyboard?, How can I tell whether there's a character
14218588
GS
174waiting on a filehandle?, How do I do a C<tail -f> in perl?, How do I dup()
175a filehandle in Perl?, How do I close a file descriptor by number?, Why
176can't I use "C:\temp\foo" in DOS paths? What doesn't `C:\temp\foo.exe`
177work?, Why doesn't glob("*.*") get all the files?, Why does Perl let me
178delete read-only files? Why does C<-i> clobber protected files? Isn't
179this a bug in Perl?, How do I select a random line from a file?, Why do I
180get weird spaces when I print an array of lines?, L<perlfaq6>: Regexps, How
181can I hope to use regular expressions without creating illegible and
182unmaintainable code?, I'm having trouble matching over more than one line.
183What's wrong?, How can I pull out lines between two patterns that are
184themselves on different lines?, I put a regular expression into $/ but it
185didn't work. What's wrong?, How do I substitute case insensitively on the
186LHS, but preserving case on the RHS?, How can I make C<\w> match national
187character sets?, How can I match a locale-smart version of C</[a-zA-Z]/>?,
188How can I quote a variable to use in a regex?, What is C</o> really for?,
189How do I use a regular expression to strip C style comments from a file?,
190Can I use Perl regular expressions to match balanced text?, What does it
191mean that regexes are greedy? How can I get around it?, How do I process
192each word on each line?, How can I print out a word-frequency or
193line-frequency summary?, How can I do approximate matching?, How do I
194efficiently match many regular expressions at once?, Why don't
195word-boundary searches with C<\b> work for me?, Why does using $&, $`, or
196$' slow my program down?, What good is C<\G> in a regular expression?, Are
197Perl regexes DFAs or NFAs? Are they POSIX compliant?, What's wrong with
198using grep or map in a void context?, How can I match strings with
199multibyte characters?, How do I match a pattern that is supplied by the
200user?, L<perlfaq7>: General Perl Language Issues, Can I get a BNF/yacc/RE
201for the Perl language?, What are all these $@%&* punctuation signs, and how
202do I know when to use them?, Do I always/never have to quote my strings or
203use semicolons and commas?, How do I skip some return values?, How do I
204temporarily block warnings?, What's an extension?, Why do Perl operators
205have different precedence than C operators?, How do I declare/create a
206structure?, How do I create a module?, How do I create a class?, How can I
207tell if a variable is tainted?, What's a closure?, What is variable suicide
208and how can I prevent it?, How can I pass/return a {Function, FileHandle,
209Array, Hash, Method, Regex}?, How do I create a static variable?, What's
210the difference between dynamic and lexical (static) scoping? Between
211local() and my()?, How can I access a dynamic variable while a similarly
212named lexical is in scope?, What's the difference between deep and shallow
b38f6a39
GS
213binding?, Why doesn't "my($foo) = <FILE>;" work right?, How do I redefine a
214builtin function, operator, or method?, What's the difference between
215calling a function as &foo and foo()?, How do I create a switch or case
216statement?, How can I catch accesses to undefined
14218588
GS
217variables/functions/methods?, Why can't a method included in this same file
218be found?, How can I find out my current package?, How can I comment out a
219large block of perl code?, How do I clear a package?, How can I use a
220variable as a variable name?, L<perlfaq8>: System Interaction, How do I
221find out which operating system I'm running under?, How come exec() doesn't
222return?, How do I do fancy stuff with the keyboard/screen/mouse?, How do I
223print something out in color?, How do I read just one key without waiting
224for a return key?, How do I check whether input is ready on the keyboard?,
225How do I clear the screen?, How do I get the screen size?, How do I ask the
226user for a password?, How do I read and write the serial port?, How do I
227decode encrypted password files?, How do I start a process in the
228background?, How do I trap control characters/signals?, How do I modify the
229shadow password file on a Unix system?, How do I set the time and date?,
230How can I sleep() or alarm() for under a second?, How can I measure time
231under a second?, How can I do an atexit() or setjmp()/longjmp()? (Exception
232handling), Why doesn't my sockets program work under System V (Solaris)?
233What does the error message "Protocol not supported" mean?, How can I call
234my system's unique C functions from Perl?, Where do I get the include files
235to do ioctl() or syscall()?, Why do setuid perl scripts complain about
236kernel problems?, How can I open a pipe both to and from a command?, Why
237can't I get the output of a command with system()?, How can I capture
238STDERR from an external command?, Why doesn't open() return an error when a
239pipe open fails?, What's wrong with using backticks in a void context?, How
240can I call backticks without shell processing?, Why can't my script read
241from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?, How can I
242convert my shell script to perl?, Can I use perl to run a telnet or ftp
243session?, How can I write expect in Perl?, Is there a way to hide perl's
244command line from programs such as "ps"?, I {changed directory, modified my
245environment} in a perl script. How come the change disappeared when I
246exited the script? How do I get my changes to be visible?, How do I close
247a process's filehandle without waiting for it to complete?, How do I fork a
248daemon process?, How do I make my program run with sh and csh?, How do I
249find out if I'm running interactively or not?, How do I timeout a slow
250event?, How do I set CPU limits?, How do I avoid zombies on a Unix system?,
251How do I use an SQL database?, How do I make a system() exit on control-C?,
252How do I open a file without blocking?, How do I install a module from
253CPAN?, What's the difference between require and use?, How do I keep my own
254module/library directory?, How do I add the directory my program lives in
255to the module/library search path?, How do I add a directory to my include
256path at runtime?, What is socket.ph and where do I get it?, L<perlfaq9>:
257Networking, My CGI script runs from the command line but not the browser.
258(500 Server Error), How can I get better error messages from a CGI
259program?, How do I remove HTML from a string?, How do I extract URLs?, How
260do I download a file from the user's machine? How do I open a file on
261another machine?, How do I make a pop-up menu in HTML?, How do I fetch an
262HTML file?, How do I automate an HTML form submission?, How do I decode or
263create those %-encodings on the web?, How do I redirect to another page?,
264How do I put a password on my web pages?, How do I edit my .htpasswd and
265.htgroup files with Perl?, How do I make sure users can't enter values into
266a form that cause my CGI script to do bad things?, How do I parse a mail
267header?, How do I decode a CGI form?, How do I check a valid mail address?,
268How do I decode a MIME/BASE64 string?, How do I return the user's mail
269address?, How do I send mail?, How do I read mail?, How do I find out my
270hostname/domainname/IP address?, How do I fetch a news article or the
271active newsgroups?, How do I fetch/put an FTP file?, How can I do RPC in
272Perl?
68dc0745
PP
273
274=over
275
276=item Where to get this document
277
278=item How to contribute to this document
279
280=item What will happen if you mail your Perl programming problems to the
281authors
282
283=back
284
285=item Credits
286
287=item Author and Copyright Information
288
289=over
290
fb9cefb4 291=item Bundled Distributions
68dc0745
PP
292
293=item Disclaimer
294
295=back
296
297=item Changes
298
14218588
GS
29923/May/99, 13/April/99, 7/January/99, 22/June/98, 24/April/97, 23/April/97,
30025/March/97, 18/March/97, 17/March/97 Version, Initial Release: 11/March/97
68dc0745 301
a45bd81d
GS
302=back
303
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
0e032a14 603a) If @in is sorted, and you want @out to be sorted: (this assumes all true
193fb0af
GS
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/,
497711e7
GS
1650s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
1651y/SEARCHLIST/REPLACEMENTLIST/cds
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
d722968f
JH
1754(specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL,
1755PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port)
1e422769 1756
a45bd81d
GS
1757=back
1758
cb1a09d0
AD
1759=head2 perlfunc - Perl builtin functions
1760
a45bd81d
GS
1761=over
1762
cb1a09d0
AD
1763=item DESCRIPTION
1764
cb1a09d0
AD
1765=over
1766
1767=item Perl Functions by Category
1768
8ebc5c01
PP
1769Functions for SCALARs or strings, Regular expressions and pattern matching,
1770Numeric functions, Functions for real @ARRAYs, Functions for list data,
1771Functions for real %HASHes, Input and output functions, Functions for fixed
1772length data or records, Functions for filehandles, files, or directories,
1773Keywords related to the control flow of your perl program, Keywords related
1774to scoping, Miscellaneous functions, Functions for processes and process
1775groups, Keywords related to perl modules, Keywords related to classes and
1776object-orientedness, Low-level socket functions, System V interprocess
1777communication functions, Fetching user and group info, Fetching network
1778info, Time-related functions, Functions new in perl5, Functions obsoleted
1779in perl5
cb1a09d0 1780
14218588
GS
1781=item Portability
1782
cb1a09d0
AD
1783=item Alphabetical Listing of Perl Functions
1784
d516a115 1785I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
8ebc5c01 1786NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
b38f6a39
GS
1787binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME,
1788bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE,
1789chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER,
1790chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
1791connect SOCKET,NAME, continue BLOCK, cos EXPR, crypt PLAINTEXT,SALT,
1792dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
1793EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
1794each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
1795exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
1796FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
1797fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
1798getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
1799NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
1800NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
1801ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
1802getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
1803getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
1804STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
1805endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
1806getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
1807goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
1808import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
a45bd81d
GS
1809FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
1810last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
1811link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
1812lock, log EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK
694468e3 1813LIST, map EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl
37590e52
GS
1814ID,CMD,ARG, msgget KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd
1815ID,MSG,FLAGS, my EXPR, my EXPR : ATTRIBUTES, next LABEL, next, no Module
1816LIST, oct EXPR, oct, open FILEHANDLE,MODE,LIST, open FILEHANDLE,EXPR, open
1817FILEHANDLE, opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack
1818TEMPLATE,LIST, package, package NAMESPACE, pipe READHANDLE,WRITEHANDLE, pop
1819ARRAY, pop, pos SCALAR, pos, print FILEHANDLE LIST, print LIST, print,
1820printf FILEHANDLE FORMAT, LIST, printf FORMAT, LIST, prototype FUNCTION,
1821push ARRAY,LIST, q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/,
1822quotemeta EXPR, quotemeta, rand EXPR, rand, read
1823FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir
1824DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR, recv
1825SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename
694468e3
GS
1826OLDNAME,NEWNAME, require VERSION, require EXPR, require, reset EXPR, reset,
1827return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex
fb9cefb4
GS
1828STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar
1829EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select
1830FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl
1831ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
1832SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
1833WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
1834shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
1835shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
1836EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
8ebc5c01
PP
1837SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
1838sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
694468e3
GS
1839splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
1840/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR,
1841sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR,
1842study, sub BLOCK, sub NAME, sub NAME BLOCK, substr
1843EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
1844EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
1845FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
1846FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
1847FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
1848FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
1849syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
1850VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
1851FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
1852ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
1853TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
1854use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
1855values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
1856LIST, write FILEHANDLE, write EXPR, write, y///
cb1a09d0
AD
1857
1858=back
1859
a45bd81d
GS
1860=back
1861
cb1a09d0
AD
1862=head2 perlvar - Perl predefined variables
1863
a45bd81d
GS
1864=over
1865
cb1a09d0
AD
1866=item DESCRIPTION
1867
cb1a09d0
AD
1868=over
1869
1870=item Predefined Names
1871
b38f6a39 1872$ARG, $_, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
d722968f
JH
1873$LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
1874input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $,
1875input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/,
1876autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE
1877EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE
1878EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
14218588
GS
1879$SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1880EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1881$FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
d722968f
JH
1882$FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, C<$`> is the same as
1883C<substr($var, 0, $-[0])>, C<$&> is the same as C<substr($var, $-[0], $+[0]
1884- $-[0])>, C<$'> is the same as C<substr($var, $+[0])>, C<$1> is the same
1885as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2> is the same as
1886C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as C<substr $var,
1887$-[3], $+[3] - $-[3])>, format_name HANDLE EXPR, $FORMAT_NAME, $~,
1888format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1889format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1890$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1891$CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1892$EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1893$EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1894$EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C,
1895$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M,
1896$OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
18970x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S,
1898$BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
1899${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC,
1900%ENV, $ENV{expr}, %SIG, $SIG{expr}
cb1a09d0 1901
fb9cefb4
GS
1902=item Error Indicators
1903
14218588
GS
1904=item Technical Note on the Syntax of Variable Names
1905
cb1a09d0
AD
1906=back
1907
14218588
GS
1908=item BUGS
1909
a45bd81d
GS
1910=back
1911
cb1a09d0
AD
1912=head2 perlsub - Perl subroutines
1913
a45bd81d
GS
1914=over
1915
cb1a09d0
AD
1916=item SYNOPSIS
1917
cb1a09d0
AD
1918=item DESCRIPTION
1919
cb1a09d0
AD
1920=over
1921
14218588 1922=item Private Variables via my()
cb1a09d0 1923
c2611fb3 1924=item Persistent Private Variables
193fb0af 1925
cb1a09d0
AD
1926=item Temporary Values via local()
1927
c76ac1ee
GS
1928=item Lvalue subroutines
1929
cb1a09d0
AD
1930=item Passing Symbol Table Entries (typeglobs)
1931
193fb0af
GS
1932=item When to Still Use local()
1933
14218588
GS
19341. You need to give a global variable a temporary value, especially $_, 2.
1935You need to create a local file or directory handle or a local function, 3.
1936You want to temporarily change just one element of an array or hash
193fb0af 1937
cb1a09d0
AD
1938=item Pass by Reference
1939
cb1a09d0
AD
1940=item Prototypes
1941
44a8e56a
PP
1942=item Constant Functions
1943
14218588 1944=item Overriding Built-in Functions
cb1a09d0 1945
cb1a09d0
AD
1946=item Autoloading
1947
c76ac1ee
GS
1948=item Subroutine Attributes
1949
cb1a09d0
AD
1950=back
1951
1952=item SEE ALSO
1953
a45bd81d
GS
1954=back
1955
c635e13b 1956=head2 perlmod - Perl modules (packages and symbol tables)
cb1a09d0 1957
a45bd81d
GS
1958=over
1959
cb1a09d0
AD
1960=item DESCRIPTION
1961
cb1a09d0
AD
1962=over
1963
1964=item Packages
1965
cb1a09d0
AD
1966=item Symbol Tables
1967
cb1a09d0
AD
1968=item Package Constructors and Destructors
1969
cb1a09d0
AD
1970=item Perl Classes
1971
cb1a09d0
AD
1972=item Perl Modules
1973
cb1a09d0
AD
1974=back
1975
c635e13b
PP
1976=item SEE ALSO
1977
a45bd81d
GS
1978=back
1979
c635e13b
PP
1980=head2 perlmodlib - constructing new Perl modules and finding existing ones
1981
a45bd81d
GS
1982=over
1983
c635e13b 1984=item DESCRIPTION
cb1a09d0 1985
cb1a09d0
AD
1986=item THE PERL MODULE LIBRARY
1987
cb1a09d0
AD
1988=over
1989
1990=item Pragmatic Modules
1991
2e1d04bc
JH
1992attributes, attrs, autouse, base, blib, bytes, charnames, constant,
1993diagnostics, fields, filetest, integer, less, lib, locale, open, ops,
1994overload, re, sigtrap, strict, subs, utf8, vars, warnings
cb1a09d0
AD
1995
1996=item Standard Modules
1997
14218588
GS
1998AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
1999B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
a45bd81d
GS
2000B::Showlex, B::Stackobj, B::Terse, B::Xref, Benchmark, ByteLoader, CGI,
2001CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
2002CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy,
2e1d04bc
JH
2003Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, DirHandle, Dumpvalue,
2004English, Env, Exporter, Exporter::Heavy, ExtUtils::Command,
2005ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist,
a45bd81d
GS
2006ExtUtils::MM_Cygwin, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS,
2007ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest,
14218588 2008ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist,
a45bd81d 2009ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
2e1d04bc
JH
2010File::Compare, File::Copy, File::DosGlob, File::Find, File::Path,
2011File::Spec, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
2012File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
2013File::stat, FileCache, FileHandle, FindBin, Getopt::Long, Getopt::Std,
2014I18N::Collate, IO, IPC::Open2, IPC::Open3, Math::BigFloat, Math::BigInt,
2015Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent,
2016Net::protoent, Net::servent, O, ODBM_File, Opcode, Pod::Checker, Pod::Find,
2017Pod::Html, Pod::InputObjects, Pod::Man, Pod::ParseUtils, Pod::Parser,
2018Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Termcap,
2019Pod::Usage, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell,
2020Socket, Symbol, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine,
2021Test, Test::Harness, Text::Abbrev, Text::ParseWords, Text::Soundex,
2022Text::Wrap, Tie::Array, Tie::Handle, Tie::Hash, Tie::RefHash, Tie::Scalar,
2023Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime, Time::tm,
2024UNIVERSAL, User::grent, User::pwent
cb1a09d0
AD
2025
2026=item Extension Modules
2027
cb1a09d0
AD
2028=back
2029
2030=item CPAN
2031
8ebc5c01
PP
2032Language Extensions and Documentation Tools, Development Support, Operating
2033System Interfaces, Networking, Device Control (modems) and InterProcess
2034Communication, Data Types and Data Type Utilities, Database Interfaces,
2035User Interfaces, Interfaces to / Emulations of Other Programming Languages,
2036File Names, File Systems and File Locking (see also File Handles), String
2037Processing, Language Text Processing, Parsing, and Searching, Option,
2038Argument, Parameter, and Configuration File Processing,
2039Internationalization and Locale, Authentication, Security, and Encryption,
2040World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
2041Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
2042and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
2043exceptions etc), File Handle and Input/Output Stream Utilities,
a45bd81d
GS
2044Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
2045North America, South America
8ebc5c01
PP
2046
2047=item Modules: Creation, Use, and Abuse
cb1a09d0
AD
2048
2049=over
2050
2051=item Guidelines for Module Creation
2052
cb1a09d0 2053Do similar modules already exist in some form?, Try to design the new
8ebc5c01
PP
2054module to be easy to extend and reuse, Some simple style guidelines, Select
2055what to export, Select a name for the module, Have you got it right?,
2056README and other Additional Files, A description of the
2057module/package/extension etc, A copyright notice - see below, Prerequisites
2058- what else you may need to have, How to build it - possible changes to
2059Makefile.PL etc, How to install it, Recent changes in this release,
2060especially incompatibilities, Changes / enhancements you plan to make in
2061the future, Adding a Copyright Notice, Give the module a
2062version/issue/release number, How to release and distribute a module, Take
2063care when changing a released module
cb1a09d0
AD
2064
2065=item Guidelines for Converting Perl 4 Library Scripts into Modules
2066
cb1a09d0 2067There is no requirement to convert anything, Consider the implications,
8ebc5c01
PP
2068Make the most of the opportunity, The pl2pm utility will get you started,
2069Adds the standard Module prologue lines, Converts package specifiers from '
2070to ::, Converts die(...) to croak(...), Several other minor changes
cb1a09d0
AD
2071
2072=item Guidelines for Reusing Application Code
2073
cb1a09d0 2074Complete applications rarely belong in the Perl Module Library, Many
193fb0af 2075applications contain some Perl code that could be reused, Break-out the
8ebc5c01
PP
2076reusable code into one or more separate module files, Take the opportunity
2077to reconsider and redesign the interfaces, In some cases the 'application'
2078can then be reduced to a small
cb1a09d0
AD
2079
2080=back
2081
c635e13b
PP
2082=item NOTE
2083
a45bd81d
GS
2084=back
2085
fb9cefb4
GS
2086=head2 perlmodinstall - Installing CPAN Modules
2087
a45bd81d
GS
2088=over
2089
fb9cefb4
GS
2090=item DESCRIPTION
2091
2092=over
2093
2094=item PREAMBLE
2095
637e9122
GS
2096B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2097module (sometimes unnecessary), B<INSTALL> the module
fb9cefb4
GS
2098
2099=back
2100
2101=item HEY
2102
2103=item AUTHOR
2104
2105=item COPYRIGHT
2106
a45bd81d
GS
2107=back
2108
2109=head2 perlfork - Perl's fork() emulation
2110
2111=over
2112
2113=item SYNOPSIS
2114
2115=item DESCRIPTION
2116
2117=over
2118
2119=item Behavior of other Perl features in forked pseudo-processes
2120
2121$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
2122filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
2123files, directories and network sockets
2124
2125=item Resource limits
2126
2127=item Killing the parent process
2128
2129=item Lifetime of the parent process and pseudo-processes
2130
2131=item CAVEATS AND LIMITATIONS
2132
954c1994
GS
2133BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
2134Global state maintained by XSUBs, Interpreter embedded in larger
2135application, Thread-safety of extensions
a45bd81d
GS
2136
2137=back
2138
2139=item BUGS
2140
2141=item AUTHOR
2142
2143=item SEE ALSO
2144
2145=back
2146
8ebc5c01 2147=head2 perlform - Perl formats
cb1a09d0 2148
a45bd81d
GS
2149=over
2150
cb1a09d0
AD
2151=item DESCRIPTION
2152
cb1a09d0
AD
2153=over
2154
8ebc5c01 2155=item Format Variables
cb1a09d0 2156
8ebc5c01 2157=back
cb1a09d0 2158
8ebc5c01 2159=item NOTES
cb1a09d0 2160
8ebc5c01 2161=over
cb1a09d0 2162
8ebc5c01 2163=item Footers
cb1a09d0 2164
8ebc5c01 2165=item Accessing Formatting Internals
cb1a09d0
AD
2166
2167=back
2168
8ebc5c01 2169=item WARNINGS
cb1a09d0 2170
a45bd81d
GS
2171=back
2172
8ebc5c01
PP
2173=head2 perllocale - Perl locale handling (internationalization and
2174localization)
cb1a09d0 2175
a45bd81d
GS
2176=over
2177
8ebc5c01 2178=item DESCRIPTION
cb1a09d0 2179
8ebc5c01 2180=item PREPARING TO USE LOCALES
cb1a09d0 2181
8ebc5c01 2182=item USING LOCALES
cb1a09d0 2183
8ebc5c01 2184=over
cb1a09d0 2185
8ebc5c01 2186=item The use locale pragma
cb1a09d0 2187
8ebc5c01 2188=item The setlocale function
cb1a09d0 2189
193fb0af
GS
2190=item Finding locales
2191
2192=item LOCALE PROBLEMS
2193
2194=item Temporarily fixing locale problems
2195
2196=item Permanently fixing locale problems
2197
b38f6a39 2198=item Permanently fixing your system's locale configuration
193fb0af 2199
14218588 2200=item Fixing system locale configuration
193fb0af 2201
8ebc5c01 2202=item The localeconv function
cb1a09d0 2203
8ebc5c01 2204=back
cb1a09d0 2205
8ebc5c01 2206=item LOCALE CATEGORIES
cb1a09d0 2207
8ebc5c01 2208=over
cb1a09d0 2209
8ebc5c01 2210=item Category LC_COLLATE: Collation
cb1a09d0 2211
8ebc5c01 2212=item Category LC_CTYPE: Character Types
cb1a09d0 2213
8ebc5c01 2214=item Category LC_NUMERIC: Numeric Formatting
cb1a09d0 2215
8ebc5c01 2216=item Category LC_MONETARY: Formatting of monetary amounts
cb1a09d0 2217
8ebc5c01 2218=item LC_TIME
cb1a09d0 2219
8ebc5c01 2220=item Other categories
cb1a09d0 2221
8ebc5c01 2222=back
cb1a09d0 2223
8ebc5c01 2224=item SECURITY
cb1a09d0 2225
8ebc5c01 2226B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
193fb0af 2227B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
8ebc5c01 2228B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
a45bd81d
GS
2229B<Output formatting functions> (printf() and write()):, B<Case-mapping
2230functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
0e032a14
JH
2231functions> (localeconv(), strcoll(), strftime(), strxfrm()):, B<POSIX
2232character class tests> (isalnum(), isalpha(), isdigit(), isgraph(),
2233islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()):
cb1a09d0 2234
8ebc5c01 2235=item ENVIRONMENT
cb1a09d0 2236
14218588
GS
2237PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2238LC_NUMERIC, LC_TIME, LANG
cb1a09d0 2239
8ebc5c01 2240=item NOTES
cb1a09d0
AD
2241
2242=over
2243
8ebc5c01 2244=item Backward compatibility
cb1a09d0 2245
8ebc5c01 2246=item I18N:Collate obsolete
cb1a09d0 2247
8ebc5c01 2248=item Sort speed and memory use impacts
cb1a09d0 2249
8ebc5c01 2250=item write() and LC_NUMERIC
cb1a09d0 2251
8ebc5c01 2252=item Freely available locale definitions
cb1a09d0 2253
8ebc5c01 2254=item I18n and l10n
cb1a09d0 2255
8ebc5c01 2256=item An imperfect standard
cb1a09d0
AD
2257
2258=back
2259
8ebc5c01 2260=item BUGS
cb1a09d0
AD
2261
2262=over
2263
8ebc5c01 2264=item Broken systems
cb1a09d0 2265
8ebc5c01 2266=back
cb1a09d0 2267
8ebc5c01 2268=item SEE ALSO
cb1a09d0 2269
8ebc5c01 2270=item HISTORY
cb1a09d0 2271
a45bd81d
GS
2272=back
2273
8ebc5c01 2274=head2 perlref - Perl references and nested data structures
cb1a09d0 2275
a45bd81d
GS
2276=over
2277
14218588
GS
2278=item NOTE
2279
8ebc5c01 2280=item DESCRIPTION
cb1a09d0 2281
8ebc5c01 2282=over
cb1a09d0 2283
193fb0af
GS
2284=item Making References
2285
2286=item Using References
2287
8ebc5c01 2288=item Symbolic references
cb1a09d0 2289
8ebc5c01 2290=item Not-so-symbolic references
cb1a09d0 2291
fb9cefb4
GS
2292=item Pseudo-hashes: Using an array as a hash
2293
193fb0af
GS
2294=item Function Templates
2295
8ebc5c01 2296=back
cb1a09d0 2297
8ebc5c01 2298=item WARNING
cb1a09d0 2299
8ebc5c01 2300=item SEE ALSO
cb1a09d0 2301
a45bd81d
GS
2302=back
2303
14218588
GS
2304=head2 perlreftut - Mark's very short tutorial about references
2305
a45bd81d
GS
2306=over
2307
14218588
GS
2308=item DESCRIPTION
2309
2310=item Who Needs Complicated Data Structures?
2311
2312=item The Solution
2313
2314=item Syntax
2315
2316=over
2317
2318=item Making References
2319
2320=item Using References
2321
2322=back
2323
2324=item An Example
2325
2326=item Arrow Rule
2327
2328=item Solution
2329
2330=item The Rest
2331
2332=item Summary
2333
2334=item Credits
2335
2336=over
2337
2338=item Distribution Conditions
2339
2340=back
2341
a45bd81d
GS
2342=back
2343
8ebc5c01 2344=head2 perldsc - Perl Data Structures Cookbook
cb1a09d0 2345
a45bd81d
GS
2346=over
2347
8ebc5c01 2348=item DESCRIPTION
cb1a09d0 2349
8ebc5c01 2350arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
28757baa 2351more elaborate constructs
cb1a09d0 2352
8ebc5c01 2353=item REFERENCES
cb1a09d0 2354
8ebc5c01 2355=item COMMON MISTAKES
cb1a09d0 2356
8ebc5c01 2357=item CAVEAT ON PRECEDENCE
cb1a09d0 2358
8ebc5c01 2359=item WHY YOU SHOULD ALWAYS C<use strict>
cb1a09d0 2360
8ebc5c01 2361=item DEBUGGING
cb1a09d0 2362
8ebc5c01 2363=item CODE EXAMPLES
cb1a09d0 2364
14218588 2365=item ARRAYS OF ARRAYS
cb1a09d0
AD
2366
2367=over
2368
14218588 2369=item Declaration of a ARRAY OF ARRAYS
cb1a09d0 2370
14218588 2371=item Generation of a ARRAY OF ARRAYS
cb1a09d0 2372
14218588 2373=item Access and Printing of a ARRAY OF ARRAYS
cb1a09d0 2374
8ebc5c01 2375=back
cb1a09d0 2376
14218588 2377=item HASHES OF ARRAYS
8ebc5c01
PP
2378
2379=over
cb1a09d0 2380
14218588 2381=item Declaration of a HASH OF ARRAYS
cb1a09d0 2382
14218588 2383=item Generation of a HASH OF ARRAYS
cb1a09d0 2384
14218588 2385=item Access and Printing of a HASH OF ARRAYS
cb1a09d0
AD
2386
2387=back
2388
14218588 2389=item ARRAYS OF HASHES
cb1a09d0
AD
2390
2391=over
2392
14218588 2393=item Declaration of a ARRAY OF HASHES
cb1a09d0 2394
14218588 2395=item Generation of a ARRAY OF HASHES
cb1a09d0 2396
14218588 2397=item Access and Printing of a ARRAY OF HASHES
cb1a09d0 2398
8ebc5c01 2399=back
cb1a09d0 2400
8ebc5c01
PP
2401=item HASHES OF HASHES
2402
2403=over
cb1a09d0 2404
8ebc5c01 2405=item Declaration of a HASH OF HASHES
cb1a09d0 2406
8ebc5c01 2407=item Generation of a HASH OF HASHES
cb1a09d0 2408
8ebc5c01 2409=item Access and Printing of a HASH OF HASHES
cb1a09d0
AD
2410
2411=back
2412
8ebc5c01 2413=item MORE ELABORATE RECORDS
7d2bfb28 2414
8ebc5c01 2415=over
7d2bfb28 2416
8ebc5c01 2417=item Declaration of MORE ELABORATE RECORDS
cb1a09d0 2418
8ebc5c01 2419=item Declaration of a HASH OF COMPLEX RECORDS
cb1a09d0 2420
8ebc5c01 2421=item Generation of a HASH OF COMPLEX RECORDS
cb1a09d0 2422
8ebc5c01 2423=back
cb1a09d0 2424
8ebc5c01 2425=item Database Ties
cb1a09d0 2426
8ebc5c01 2427=item SEE ALSO
cb1a09d0 2428
8ebc5c01 2429=item AUTHOR
cb1a09d0 2430
a45bd81d
GS
2431=back
2432
14218588 2433=head2 perllol - Manipulating Arrays of Arrays in Perl
cb1a09d0 2434
a45bd81d
GS
2435=over
2436
cb1a09d0
AD
2437=item DESCRIPTION
2438
14218588 2439=item Declaration and Access of Arrays of Arrays
cb1a09d0 2440
cb1a09d0
AD
2441=item Growing Your Own
2442
cb1a09d0
AD
2443=item Access and Printing
2444
cb1a09d0
AD
2445=item Slices
2446
cb1a09d0
AD
2447=item SEE ALSO
2448
cb1a09d0
AD
2449=item AUTHOR
2450
a45bd81d
GS
2451=back
2452
694468e3
GS
2453=head2 perlboot - Beginner's Object-Oriented Tutorial
2454
2455=over
2456
2457=item DESCRIPTION
2458
2459=over
2460
2461=item If we could talk to the animals...
2462
2463=item Introducing the method invocation arrow
2464
2465=item Invoking a barnyard
2466
2467=item The extra parameter of method invocation
2468
2469=item Calling a second method to simplify things
2470
2471=item Inheriting the windpipes
2472
2473=item A few notes about @ISA
2474
2475=item Overriding the methods
2476
2477=item Starting the search from a different place
2478
2479=item The SUPER way of doing things
2480
2481=item Where we're at so far...
2482
2483=item A horse is a horse, of course of course -- or is it?
2484
2485=item Invoking an instance method
2486
2487=item Accessing the instance data
2488
2489=item How to build a horse
2490
2491=item Inheriting the constructor
2492
2493=item Making a method work with either classes or instances
2494
2495=item Adding parameters to a method
2496
2497=item More interesting instances
2498
2499=item A horse of a different color
2500
2501=item Summary
2502
2503=back
2504
2505=item SEE ALSO
2506
2507=item COPYRIGHT
2508
2509=back
2510
8ebc5c01 2511=head2 perltoot - Tom's object-oriented tutorial for perl
cb1a09d0 2512
a45bd81d
GS
2513=over
2514
8ebc5c01 2515=item DESCRIPTION
cb1a09d0 2516
8ebc5c01 2517=item Creating a Class
cb1a09d0 2518
8ebc5c01 2519=over
cb1a09d0 2520
8ebc5c01 2521=item Object Representation
cb1a09d0 2522
8ebc5c01
PP
2523=item Class Interface
2524
2525=item Constructors and Instance Methods
2526
2527=item Planning for the Future: Better Constructors
2528
2529=item Destructors
cb1a09d0 2530
8ebc5c01
PP
2531=item Other Object Methods
2532
2533=back
2534
2535=item Class Data
cb1a09d0
AD
2536
2537=over
2538
8ebc5c01 2539=item Accessing Class Data
cb1a09d0 2540
8ebc5c01 2541=item Debugging Methods
cb1a09d0 2542
8ebc5c01 2543=item Class Destructors
cb1a09d0 2544
8ebc5c01 2545=item Documenting the Interface
cb1a09d0 2546
8ebc5c01 2547=back
cb1a09d0 2548
8ebc5c01 2549=item Aggregation
cb1a09d0 2550
8ebc5c01 2551=item Inheritance
cb1a09d0 2552
8ebc5c01 2553=over
cb1a09d0 2554
8ebc5c01 2555=item Overridden Methods
55497cff 2556
8ebc5c01 2557=item Multiple Inheritance
55497cff 2558
8ebc5c01 2559=item UNIVERSAL: The Root of All Objects
55497cff 2560
8ebc5c01 2561=back
cb1a09d0 2562
8ebc5c01 2563=item Alternate Object Representations
cb1a09d0 2564
8ebc5c01 2565=over
cb1a09d0 2566
8ebc5c01 2567=item Arrays as Objects
cb1a09d0 2568
8ebc5c01
PP
2569=item Closures as Objects
2570
2571=back
cb1a09d0 2572
8ebc5c01 2573=item AUTOLOAD: Proxy Methods
cb1a09d0 2574
8ebc5c01
PP
2575=over
2576
2577=item Autoloaded Data Methods
2578
2579=item Inherited Autoloaded Data Methods
2580
2581=back
2582
2583=item Metaclassical Tools
cb1a09d0 2584
8ebc5c01
PP
2585=over
2586
8cc95fdb 2587=item Class::Struct
cb1a09d0 2588
8ebc5c01
PP
2589=item Data Members as Variables
2590
2591=item NOTES
cb1a09d0 2592
8ebc5c01 2593=item Object Terminology
cb1a09d0
AD
2594
2595=back
2596
2597=item SEE ALSO
2598
193fb0af
GS
2599=item AUTHOR AND COPYRIGHT
2600
8ebc5c01
PP
2601=item COPYRIGHT
2602
2603=over
2604
2605=item Acknowledgments
2606
2607=back
2608
a45bd81d
GS
2609=back
2610
14218588
GS
2611=head2 perltootc - Tom's OO Tutorial for Class Data in Perl
2612
a45bd81d
GS
2613=over
2614
14218588
GS
2615=item DESCRIPTION
2616
2617=item Class Data as Package Variables
2618
2619=over
2620
2621=item Putting All Your Eggs in One Basket
2622
2623=item Inheritance Concerns
2624
2625=item The Eponymous Meta-Object
2626
2627=item Indirect References to Class Data
2628
2629=item Monadic Classes
2630
2631=item Translucent Attributes
2632
2633=back
2634
2635=item Class Data as Lexical Variables
2636
2637=over
2638
2639=item Privacy and Responsibility
2640
2641=item File-Scoped Lexicals
2642
2643=item More Inheritance Concerns
2644
2645=item Locking the Door and Throwing Away the Key
2646
2647=item Translucency Revisited
2648
2649=back
2650
2651=item NOTES
2652
2653=item SEE ALSO
2654
2655=item AUTHOR AND COPYRIGHT
2656
2657=item ACKNOWLEDGEMENTS
2658
2659=item HISTORY
2660
a45bd81d
GS
2661=back
2662
8ebc5c01
PP
2663=head2 perlobj - Perl objects
2664
a45bd81d
GS
2665=over
2666
8ebc5c01
PP
2667=item DESCRIPTION
2668
2669=over
2670
2671=item An Object is Simply a Reference
2672
2673=item A Class is Simply a Package
2674
2675=item A Method is Simply a Subroutine
2676
2677=item Method Invocation
2678
14218588
GS
2679=item WARNING
2680
8ebc5c01
PP
2681=item Default UNIVERSAL methods
2682
ff0cee69 2683isa(CLASS), can(METHOD), VERSION( [NEED] )
8ebc5c01 2684
54310121 2685=item Destructors
8ebc5c01 2686
8ebc5c01 2687=item Summary
cb1a09d0 2688
8ebc5c01 2689=item Two-Phased Garbage Collection
cb1a09d0 2690
8ebc5c01 2691=back
cb1a09d0 2692
8ebc5c01 2693=item SEE ALSO
cb1a09d0 2694
a45bd81d
GS
2695=back
2696
cb1a09d0
AD
2697=head2 perltie - how to hide an object class in a simple variable
2698
a45bd81d
GS
2699=over
2700
cb1a09d0
AD
2701=item SYNOPSIS
2702
cb1a09d0
AD
2703=item DESCRIPTION
2704
cb1a09d0
AD
2705=over
2706
2707=item Tying Scalars
2708
cb1a09d0
AD
2709TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
2710
2711=item Tying Arrays
2712
cb1a09d0
AD
2713TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
2714DESTROY this
2715
2716=item Tying Hashes
2717
8ebc5c01
PP
2718USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
2719this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
2720this, NEXTKEY this, lastkey, DESTROY this
cb1a09d0
AD
2721
2722=item Tying FileHandles
2723
193fb0af
GS
2724TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
2725LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this
cb1a09d0 2726
4fdae800
PP
2727=item The C<untie> Gotcha
2728
cb1a09d0
AD
2729=back
2730
2731=item SEE ALSO
2732
cb1a09d0
AD
2733=item BUGS
2734
cb1a09d0
AD
2735=item AUTHOR
2736
a45bd81d
GS
2737=back
2738
cb1a09d0
AD
2739=head2 perlbot - Bag'o Object Tricks (the BOT)
2740
a45bd81d
GS
2741=over
2742
cb1a09d0
AD
2743=item DESCRIPTION
2744
cb1a09d0
AD
2745=item OO SCALING TIPS
2746
cb1a09d0
AD
2747=item INSTANCE VARIABLES
2748
cb1a09d0
AD
2749=item INSTANCE VARIABLE INHERITANCE
2750
cb1a09d0
AD
2751=item OBJECT RELATIONSHIPS
2752
cb1a09d0
AD
2753=item OVERRIDING SUPERCLASS METHODS
2754
cb1a09d0
AD
2755=item USING RELATIONSHIP WITH SDBM
2756
cb1a09d0
AD
2757=item THINKING OF CODE REUSE
2758
cb1a09d0
AD
2759=item CLASS CONTEXT AND THE OBJECT
2760
cb1a09d0
AD
2761=item INHERITING A CONSTRUCTOR
2762
cb1a09d0
AD
2763=item DELEGATION
2764
a45bd81d
GS
2765=back
2766
8ebc5c01
PP
2767=head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
2768safe subprocesses, sockets, and semaphores)
cb1a09d0 2769
a45bd81d
GS
2770=over
2771
8ebc5c01 2772=item DESCRIPTION
cb1a09d0 2773
8ebc5c01 2774=item Signals
cb1a09d0 2775
8ebc5c01 2776=item Named Pipes
cb1a09d0 2777
193fb0af
GS
2778=over
2779
2780=item WARNING
2781
2782=back
2783
8ebc5c01 2784=item Using open() for IPC
cb1a09d0 2785
8ebc5c01 2786=over
cb1a09d0 2787
68dc0745
PP
2788=item Filehandles
2789
2790=item Background Processes
2791
2792=item Complete Dissociation of Child from Parent
2793
8ebc5c01 2794=item Safe Pipe Opens
cb1a09d0 2795
c90c0ff4 2796=item Bidirectional Communication with Another Process
55497cff 2797
193fb0af
GS
2798=item Bidirectional Communication with Yourself
2799
8ebc5c01
PP
2800=back
2801
2802=item Sockets: Client/Server Communication
55497cff 2803
cb1a09d0
AD
2804=over
2805
193fb0af
GS
2806=item Internet Line Terminators
2807
8ebc5c01 2808=item Internet TCP Clients and Servers
55497cff 2809
8ebc5c01 2810=item Unix-Domain TCP Clients and Servers
55497cff 2811
c90c0ff4
PP
2812=back
2813
2814=item TCP Clients with IO::Socket
2815
2816=over
2817
2818=item A Simple Client
2819
2820C<Proto>, C<PeerAddr>, C<PeerPort>
2821
2822=item A Webget Client
2823
2824=item Interactive Client with IO::Socket
cb1a09d0 2825
8ebc5c01 2826=back
cb1a09d0 2827
c90c0ff4 2828=item TCP Servers with IO::Socket
cb1a09d0 2829
c90c0ff4
PP
2830Proto, LocalPort, Listen, Reuse
2831
2832=item UDP: Message Passing
2833
2834=item SysV IPC
cb1a09d0 2835
8ebc5c01 2836=item NOTES
cb1a09d0 2837
8ebc5c01 2838=item BUGS
55497cff 2839
8ebc5c01 2840=item AUTHOR
55497cff 2841
8ebc5c01 2842=item SEE ALSO
55497cff 2843
a45bd81d
GS
2844=back
2845
14218588
GS
2846=head2 perldbmfilter - Perl DBM Filters
2847
a45bd81d
GS
2848=over
2849
14218588
GS
2850=item SYNOPSIS
2851
2852=item DESCRIPTION
2853
2854B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
2855B<filter_fetch_value>
2856
2857=over
2858
2859=item The Filter
2860
2861=item An Example -- the NULL termination problem.
2862
2863=item Another Example -- Key is a C int.
2864
2865=back
2866
2867=item SEE ALSO
2868
2869=item AUTHOR
2870
a45bd81d
GS
2871=back
2872
8ebc5c01 2873=head2 perldebug - Perl debugging
55497cff 2874
a45bd81d
GS
2875=over
2876
8ebc5c01 2877=item DESCRIPTION
55497cff 2878
8ebc5c01 2879=item The Perl Debugger
55497cff 2880
8ebc5c01 2881=over
55497cff 2882
8ebc5c01 2883=item Debugger Commands
a6006777 2884
774d564b 2885h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
b38f6a39
GS
2886[expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
2887-, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
2888b [line] [condition], b subname [condition], b postpone subname
774d564b 2889[condition], b load filename, b compile subname, d [line], D, a [line]
b38f6a39
GS
2890command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
2891option=value .., < ?, < [ command ], << command, > ?, > command, >>
2892command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
2893cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage]
2894
2895=item Configurable Options
2896
193fb0af
GS
2897C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
2898C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
2899C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
2900C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
2901C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
b38f6a39 2902C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>
774d564b
PP
2903
2904=item Debugger input/output
2905
b38f6a39
GS
2906Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
2907listing
774d564b
PP
2908
2909=item Debugging compile-time statements
cb1a09d0 2910
8ebc5c01 2911=item Debugger Customization
cb1a09d0 2912
8ebc5c01 2913=item Readline Support
cb1a09d0 2914
8ebc5c01 2915=item Editor Support for Debugging
cb1a09d0 2916
8ebc5c01 2917=item The Perl Profiler
cb1a09d0 2918
b38f6a39 2919=back
cb1a09d0 2920
b38f6a39
GS
2921=item Debugging regular expressions
2922
2923=item Debugging memory usage
cb1a09d0 2924
b38f6a39 2925=item SEE ALSO
cb1a09d0 2926
193fb0af
GS
2927=item BUGS
2928
8ebc5c01 2929=back
cb1a09d0 2930
b38f6a39 2931=head2 perlnumber - semantics of numbers and numeric operations in Perl
193fb0af
GS
2932
2933=over
2934
b38f6a39 2935=item SYNOPSIS
193fb0af 2936
b38f6a39 2937=item DESCRIPTION
193fb0af 2938
b38f6a39 2939=item Storing numbers
193fb0af 2940
b38f6a39 2941=item Numeric operators and numeric conversions
193fb0af 2942
b38f6a39 2943=item Flavors of Perl numeric operations
193fb0af 2944
b38f6a39
GS
2945Arithmetic operators except, C<no integer>, Arithmetic operators except,
2946C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
2947integer>, Operators which expect an integer, Operators which expect a
2948string
2949
2950=item AUTHOR
2951
2952=item SEE ALSO
2953
2954=back
193fb0af 2955
b38f6a39
GS
2956=head2 perldebguts - Guts of Perl debugging
2957
2958=over
2959
2960=item DESCRIPTION
2961
2962=item Debugger Internals
2963
2964=over
2965
2966=item Writing Your Own Debugger
193fb0af
GS
2967
2968=back
cb1a09d0 2969
b38f6a39
GS
2970=item Frame Listing Output Examples
2971
fb9cefb4
GS
2972=item Debugging regular expressions
2973
2974=over
2975
2976=item Compile-time output
2977
2978C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
2979I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
2980I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
2981C<anchored(TYPE)>
2982
2983=item Types of nodes
2984
2985=item Run-time output
2986
2987=back
2988
b38f6a39 2989=item Debugging Perl memory usage
ac65edd0
GS
2990
2991=over
2992
b38f6a39 2993=item Using C<$ENV{PERL_DEBUG_MSTATS}>
ac65edd0 2994
b38f6a39
GS
2995C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
2996SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
29976144>
ac65edd0 2998
b38f6a39 2999=item Example of using B<-DL> switch
ac65edd0 3000
b38f6a39 3001C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
ac65edd0 3002
b38f6a39 3003=item B<-DL> details
ac65edd0 3004
b38f6a39 3005C<!!!>, C<!!>, C<!>
ac65edd0 3006
b38f6a39
GS
3007=item Limitations of B<-DL> statistics
3008
3009=back
ac65edd0
GS
3010
3011=item SEE ALSO
3012
3013=back
3014
cb1a09d0
AD
3015=head2 perldiag - various Perl diagnostics
3016
a45bd81d
GS
3017=over
3018
cb1a09d0
AD
3019=item DESCRIPTION
3020
a45bd81d
GS
3021=back
3022
8ebc5c01 3023=head2 perlsec - Perl security
cb1a09d0 3024
a45bd81d
GS
3025=over
3026
cb1a09d0
AD
3027=item DESCRIPTION
3028
cb1a09d0
AD
3029=over
3030
55497cff
PP
3031=item Laundering and Detecting Tainted Data
3032
b971f6e4
PP
3033=item Switches On the "#!" Line
3034
55497cff 3035=item Cleaning Up Your Path
cb1a09d0 3036
55497cff 3037=item Security Bugs
a6006777 3038
68dc0745
PP
3039=item Protecting Your Programs
3040
cb1a09d0
AD
3041=back
3042
193fb0af
GS
3043=item SEE ALSO
3044
a45bd81d
GS
3045=back
3046
8ebc5c01 3047=head2 perltrap - Perl traps for the unwary
cb1a09d0 3048
a45bd81d
GS
3049=over
3050
8ebc5c01 3051=item DESCRIPTION
cb1a09d0
AD
3052
3053=over
3054
8ebc5c01 3055=item Awk Traps
cb1a09d0 3056
8ebc5c01 3057=item C Traps
cb1a09d0 3058
8ebc5c01 3059=item Sed Traps
cb1a09d0 3060
8ebc5c01 3061=item Shell Traps
cb1a09d0 3062
8ebc5c01 3063=item Perl Traps
cb1a09d0 3064
8ebc5c01 3065=item Perl4 to Perl5 Traps
cb1a09d0 3066
8ebc5c01
PP
3067Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
3068Traps, General data type traps, Context Traps - scalar, list contexts,
3069Precedence Traps, General Regular Expression Traps using s///, etc,
3070Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
cb1a09d0 3071
8ebc5c01 3072=item Discontinuance, Deprecation, and BugFix traps
cb1a09d0 3073
8ebc5c01
PP
3074Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
3075Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
497711e7 3076Discontinuance, Deprecation, Discontinuance, Discontinuance
cb1a09d0 3077
8ebc5c01 3078=item Parsing Traps
cb1a09d0 3079
fb9cefb4 3080Parsing, Parsing, Parsing, Parsing
cb1a09d0 3081
8ebc5c01 3082=item Numerical Traps
cb1a09d0 3083
a45bd81d 3084Numerical, Numerical, Numerical, Bitwise string ops
cb1a09d0 3085
8ebc5c01 3086=item General data type traps
cb1a09d0 3087
193fb0af
GS
3088(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
3089(Constants), (Scalars), (Variable Suicide)
cb1a09d0 3090
8ebc5c01 3091=item Context Traps - scalar, list contexts
cb1a09d0 3092
8ebc5c01 3093(list context), (scalar context), (scalar context), (list, builtin)
cb1a09d0 3094
8ebc5c01 3095=item Precedence Traps
cb1a09d0 3096
fb9cefb4
GS
3097Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
3098Precedence
cb1a09d0 3099
8ebc5c01 3100=item General Regular Expression Traps using s///, etc.
cb1a09d0 3101
8ebc5c01 3102Regular Expression, Regular Expression, Regular Expression, Regular
44a8e56a 3103Expression, Regular Expression, Regular Expression, Regular Expression,
fb9cefb4 3104Regular Expression
cb1a09d0 3105
8ebc5c01 3106=item Subroutine, Signal, Sorting Traps
cb1a09d0 3107
2ae324a7 3108(Signals), (Sort Subroutine), warn() won't let you specify a filehandle
cb1a09d0 3109
8ebc5c01 3110=item OS Traps
cb1a09d0 3111
8ebc5c01 3112(SysV), (SysV)
cb1a09d0 3113
8ebc5c01 3114=item Interpolation Traps
cb1a09d0 3115
8ebc5c01
PP
3116Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
3117Interpolation, Interpolation, Interpolation, Interpolation
cb1a09d0 3118
8ebc5c01 3119=item DBM Traps
cb1a09d0 3120
8ebc5c01 3121DBM, DBM
cb1a09d0 3122
8ebc5c01 3123=item Unclassified Traps
cb1a09d0 3124
d516a115
JH
3125C<require>/C<do> trap using returned value, C<split> on empty string with
3126LIMIT specified
cb1a09d0 3127
8ebc5c01 3128=back
cb1a09d0 3129
a45bd81d
GS
3130=back
3131
fb9cefb4
GS
3132=head2 perlport - Writing portable Perl
3133
a45bd81d
GS
3134=over
3135
fb9cefb4
GS
3136=item DESCRIPTION
3137
a10cf691 3138Not all Perl programs have to be portable, Nearly all of Perl already I<is>
fb9cefb4
GS
3139portable
3140
3141=item ISSUES
3142
3143=over
3144
3145=item Newlines
3146
14218588
GS
3147=item Numbers endianness and Width
3148
3149=item Files and Filesystems
fb9cefb4
GS
3150
3151=item System Interaction
3152
3153=item Interprocess Communication (IPC)
3154
3155=item External Subroutines (XS)
3156
3157=item Standard Modules
3158
3159=item Time and Date
3160
14218588
GS
3161=item Character sets and character encoding
3162
3163=item Internationalisation
3164
fb9cefb4
GS
3165=item System Resources
3166
3167=item Security
3168
3169=item Style
3170
3171=back
3172
14218588 3173=item CPAN Testers
fb9cefb4
GS
3174
3175Mailing list: cpan-testers@perl.org, Testing results:
37590e52 3176http://testers.cpan.org/
fb9cefb4
GS
3177
3178=item PLATFORMS
3179
3180=over
3181
3182=item Unix
3183
3184=item DOS and Derivatives
3185
37590e52 3186Build instructions for OS/2, L<perlos2>
fb9cefb4 3187
14218588 3188=item S<Mac OS>
fb9cefb4 3189
fb9cefb4
GS
3190=item VMS
3191
14218588
GS
3192=item VOS
3193
fb9cefb4
GS
3194=item EBCDIC Platforms
3195
14218588 3196=item Acorn RISC OS
fb9cefb4
GS
3197
3198=item Other perls
3199
fb9cefb4
GS
3200=back
3201
3202=item FUNCTION IMPLEMENTATIONS
3203
3204=over
3205
3206=item Alphabetical Listing of Perl Functions
3207
b38f6a39
GS
3208-I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
3209FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
3210PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
3211LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork,
3212getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME,
3213getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr
3214ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
3215getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
3216setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
3217setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
3218endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob,
3219ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE,
3220lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
3221msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR,
3222open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink,
3223select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
694468e3
GS
3224KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
3225setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
3226SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
3227shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair
3228SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat,
3229symlink OLDFILE,NEWFILE, syscall LIST, sysopen
14218588
GS
3230FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
3231FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
3232wait, waitpid PID,FLAGS
fb9cefb4
GS
3233
3234=back
3235
14218588
GS
3236=item CHANGES
3237
37590e52
GS
3238v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999,
3239v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May
32401999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December
32411998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August
32421998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998,
3243v1.23, 10 July 1998
14218588 3244
b38f6a39
GS
3245=item Supported Platforms
3246
37590e52
GS
3247=item SEE ALSO
3248
fb9cefb4
GS
3249=item AUTHORS / CONTRIBUTORS
3250
3251=item VERSION
3252
a45bd81d
GS
3253=back
3254
8ebc5c01 3255=head2 perlstyle - Perl style guide
cb1a09d0 3256
a45bd81d
GS
3257=over
3258
8ebc5c01 3259=item DESCRIPTION
cb1a09d0 3260
a45bd81d
GS
3261=back
3262
8ebc5c01 3263=head2 perlpod - plain old documentation
cb1a09d0 3264
a45bd81d
GS
3265=over
3266
8ebc5c01 3267=item DESCRIPTION
cb1a09d0 3268
d516a115
JH
3269=over
3270
3271=item Verbatim Paragraph
3272
3273=item Command Paragraph
3274
3275=item Ordinary Block of Text
3276
3277=item The Intent
3278
8ebc5c01 3279=item Embedding Pods in Perl Modules
cb1a09d0 3280
8ebc5c01 3281=item Common Pod Pitfalls
cb1a09d0 3282
d516a115
JH
3283=back
3284
8ebc5c01 3285=item SEE ALSO
cb1a09d0 3286
8ebc5c01 3287=item AUTHOR
cb1a09d0 3288
a45bd81d
GS
3289=back
3290
8ebc5c01 3291=head2 perlbook - Perl book information
cb1a09d0 3292
a45bd81d
GS
3293=over
3294
8ebc5c01 3295=item DESCRIPTION
cb1a09d0 3296
a45bd81d
GS
3297=back
3298
8ebc5c01 3299=head2 perlembed - how to embed perl in your C program
cb1a09d0 3300
a45bd81d
GS
3301=over
3302
8ebc5c01 3303=item DESCRIPTION
cb1a09d0 3304
8ebc5c01 3305=over
cb1a09d0 3306
8ebc5c01 3307=item PREAMBLE
cb1a09d0 3308
54310121 3309B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
8ebc5c01 3310Perl?>, B<Use C from C?>, B<Use Perl from C?>
cb1a09d0 3311
8ebc5c01 3312=item ROADMAP
cb1a09d0 3313
8ebc5c01 3314=item Compiling your C program
cb1a09d0 3315
8ebc5c01 3316=item Adding a Perl interpreter to your C program
cb1a09d0 3317
8ebc5c01 3318=item Calling a Perl subroutine from your C program
cb1a09d0 3319
8ebc5c01 3320=item Evaluating a Perl statement from your C program
cb1a09d0 3321
8ebc5c01 3322=item Performing Perl pattern matches and substitutions from your C program
cb1a09d0 3323
8ebc5c01 3324=item Fiddling with the Perl stack from your C program
cb1a09d0 3325
8ebc5c01 3326=item Maintaining a persistent interpreter
cb1a09d0 3327
8ebc5c01 3328=item Maintaining multiple interpreter instances
cb1a09d0 3329
8ebc5c01
PP
3330=item Using Perl modules, which themselves use C libraries, from your C
3331program
cb1a09d0 3332
8ebc5c01 3333=back
cb1a09d0 3334
3e3baf6d
TB
3335=item Embedding Perl under Win32
3336
8ebc5c01 3337=item MORAL
cb1a09d0 3338
8ebc5c01 3339=item AUTHOR
cb1a09d0 3340
f86702cc
PP
3341=item COPYRIGHT
3342
a45bd81d
GS
3343=back
3344
28757baa 3345=head2 perlapio - perl's IO abstraction interface.
cb1a09d0 3346
a45bd81d
GS
3347=over
3348
8ebc5c01 3349=item SYNOPSIS
cb1a09d0
AD
3350
3351=item DESCRIPTION
3352
8ebc5c01
PP
3353B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
3354B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
3355B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
3356B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
d516a115
JH
3357B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
3358B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
8ebc5c01
PP
3359B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
3360B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
3361B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
3362B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
cb1a09d0
AD
3363
3364=over
3365
8ebc5c01 3366=item Co-existence with stdio
cb1a09d0 3367
8ebc5c01
PP
3368B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
3369B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
3370B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
3371B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
3372B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
3373B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
cb1a09d0 3374
8ebc5c01 3375=back
cb1a09d0 3376
a45bd81d
GS
3377=back
3378
8ebc5c01 3379=head2 perlxs - XS language reference manual
cb1a09d0 3380
a45bd81d
GS
3381=over
3382
8ebc5c01 3383=item DESCRIPTION
cb1a09d0 3384
8ebc5c01 3385=over
cb1a09d0
AD
3386
3387=item Introduction
3388
cb1a09d0
AD
3389=item On The Road
3390
cb1a09d0
AD
3391=item The Anatomy of an XSUB
3392
cb1a09d0
AD
3393=item The Argument Stack
3394
cb1a09d0
AD
3395=item The RETVAL Variable
3396
cb1a09d0
AD
3397=item The MODULE Keyword
3398
cb1a09d0
AD
3399=item The PACKAGE Keyword
3400
cb1a09d0
AD
3401=item The PREFIX Keyword
3402
cb1a09d0
AD
3403=item The OUTPUT: Keyword
3404
cb1a09d0
AD
3405=item The CODE: Keyword
3406
7d2bfb28
PP
3407=item The INIT: Keyword
3408
cb1a09d0
AD
3409=item The NO_INIT Keyword
3410
cb1a09d0
AD
3411=item Initializing Function Parameters
3412
cb1a09d0
AD
3413=item Default Parameter Values
3414
7d2bfb28
PP
3415=item The PREINIT: Keyword
3416
8ebc5c01 3417=item The SCOPE: Keyword
7d2bfb28
PP
3418
3419=item The INPUT: Keyword
3420
cb1a09d0
AD
3421=item Variable-length Parameter Lists
3422
193fb0af
GS
3423=item The C_ARGS: Keyword
3424
cb1a09d0
AD
3425=item The PPCODE: Keyword
3426
cb1a09d0
AD
3427=item Returning Undef And Empty Lists
3428
cb1a09d0
AD
3429=item The REQUIRE: Keyword
3430
cb1a09d0
AD
3431=item The CLEANUP: Keyword
3432
cb1a09d0
AD
3433=item The BOOT: Keyword
3434
7d2bfb28
PP
3435=item The VERSIONCHECK: Keyword
3436
7d2bfb28
PP
3437=item The PROTOTYPES: Keyword
3438
7d2bfb28
PP
3439=item The PROTOTYPE: Keyword
3440
7d2bfb28
PP
3441=item The ALIAS: Keyword
3442
193fb0af
GS
3443=item The INTERFACE: Keyword
3444
3445=item The INTERFACE_MACRO: Keyword
3446
7d2bfb28
PP
3447=item The INCLUDE: Keyword
3448
7d2bfb28
PP
3449=item The CASE: Keyword
3450
7d2bfb28
PP
3451=item The & Unary Operator
3452
cb1a09d0
AD
3453=item Inserting Comments and C Preprocessor Directives
3454
cb1a09d0
AD
3455=item Using XS With C++
3456
cb1a09d0
AD
3457=item Interface Strategy
3458
cb1a09d0
AD
3459=item Perl Objects And C Structures
3460
cb1a09d0
AD
3461=item The Typemap
3462
cb1a09d0
AD
3463=back
3464
3465=item EXAMPLES
3466
7d2bfb28
PP
3467=item XS VERSION
3468
cb1a09d0
AD
3469=item AUTHOR
3470
a45bd81d
GS
3471=back
3472
c76ac1ee 3473=head2 perlxstut, perlXStut - Tutorial for writing XSUBs
cb1a09d0 3474
a45bd81d
GS
3475=over
3476
cb1a09d0
AD
3477=item DESCRIPTION
3478
c76ac1ee
GS
3479=item SPECIAL NOTES
3480
7d2bfb28
PP
3481=over
3482
c76ac1ee
GS
3483=item make
3484
3485=item Version caveat
7d2bfb28 3486
c76ac1ee
GS
3487=item Dynamic Loading versus Static Loading
3488
3489=back
3490
3491=item TUTORIAL
3492
3493=over
7d2bfb28 3494
cb1a09d0
AD
3495=item EXAMPLE 1
3496
cb1a09d0
AD
3497=item EXAMPLE 2
3498
c76ac1ee 3499=item What has gone on?
cb1a09d0 3500
c76ac1ee 3501=item Writing good test scripts
cb1a09d0
AD
3502
3503=item EXAMPLE 3
3504
c76ac1ee 3505=item What's new here?
cb1a09d0 3506
c76ac1ee 3507=item Input and Output Parameters
cb1a09d0 3508
c76ac1ee 3509=item The XSUBPP Program
cb1a09d0 3510
c76ac1ee 3511=item The TYPEMAP file
cb1a09d0 3512
c76ac1ee 3513=item Warning about Output Arguments
cb1a09d0 3514
8ebc5c01 3515=item EXAMPLE 4
cb1a09d0 3516
c76ac1ee 3517=item What has happened here?
7d2bfb28 3518
a45bd81d
GS
3519=item Anatomy of .xs file
3520
3521=item Getting the fat out of XSUBs
3522
3523=item More about XSUB arguments
7d2bfb28 3524
c76ac1ee 3525=item The Argument Stack
7d2bfb28 3526
c76ac1ee 3527=item Extending your Extension