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