This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate mainline.
[perl5.git] / pod / perltoc.pod
1
2 =head1 NAME
3
4 perltoc - perl documentation table of contents
5
6 =head1 DESCRIPTION
7
8 This page provides a brief table of contents for the rest of the Perl
9 documentation set.  It is meant to be scanned quickly or grepped
10 through to locate the proper section you're looking for.
11
12 =head1 BASIC DOCUMENTATION
13
14 =head2 perl - Practical Extraction and Report Language
15
16 =over 4
17
18 =item SYNOPSIS
19
20 =item DESCRIPTION
21
22 modularity and reusability using innumerable modules, embeddable and
23 extensible, roll-your-own magic variables (including multiple simultaneous
24 DBM implementations), subroutines can now be overridden, autoloaded, and
25 prototyped, arbitrarily nested data structures and anonymous functions,
26 object-oriented programming, compilability into C code or Perl bytecode,
27 support for light-weight processes (threads), support for
28 internationalization, localization, and Unicode, lexical scoping, regular
29 expression enhancements, enhanced debugger and interactive Perl
30 environment, with integrated editor support, POSIX 1003.1 compliant library
31
32 =item AVAILABILITY
33
34 =item ENVIRONMENT
35
36 =item AUTHOR
37
38 =item FILES
39
40 =item SEE ALSO
41
42 =item DIAGNOSTICS
43
44 =item BUGS
45
46 =item NOTES
47
48 =back
49
50 =head2 perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
51 20:38:02 $)
52
53 =over 4
54
55 =item DESCRIPTION
56
57 perlfaq: Structural overview of the FAQ, L<perlfaq1>: General Questions
58 About Perl, What is Perl?, Who supports Perl?  Who develops it?  Why is it
59 free?, Which version of Perl should I use?, What are perl4 and perl5?, What
60 is perl6?, How stable is Perl?, Is Perl difficult to learn?, How does Perl
61 compare with other languages like Java, Python, REXX, Scheme, or Tcl?, Can
62 I do [task] in Perl?, When shouldn't I program in Perl?, What's the
63 difference between "perl" and "Perl"?, Is it a Perl program or a Perl
64 script?, What is a JAPH?, Where can I get a list of Larry Wall witticisms?,
65 How can I convince my sysadmin/supervisor/employees to use version
66 5/5.005/Perl instead of some other language?, L<perlfaq2>: Obtaining and
67 Learning about Perl, What machines support Perl?  Where do I get it?, How
68 can I get a binary version of Perl?, I don't have a C compiler on my
69 system.  How can I compile perl?, I copied the Perl binary from one machine
70 to another, but scripts don't work, I grabbed the sources and tried to
71 compile but gdbm/dynamic loading/malloc/linking/... failed.  How do I make
72 it work?, What modules and extensions are available for Perl?  What is
73 CPAN?  What does CPAN/src/... mean?, Is there an ISO or ANSI certified
74 version of Perl?, Where can I get information on Perl?, What are the Perl
75 newsgroups on Usenet?  Where do I post questions?, Where should I post
76 source code?, Perl Books, Perl in Magazines, Perl on the Net: FTP and WWW
77 Access, What mailing lists are there for Perl?, Archives of
78 comp.lang.perl.misc, Where can I buy a commercial version of Perl?, Where
79 do I send bug reports?, What is perl.com? Perl Mongers? pm.org? perl.org?,
80 L<perlfaq3>: Programming Tools, How do I do (anything)?, How can I use Perl
81 interactively?, Is there a Perl shell?, How do I debug my Perl programs?,
82 How do I profile my Perl programs?, How do I cross-reference my Perl
83 programs?, Is there a pretty-printer (formatter) for Perl?, Is there a
84 ctags for Perl?, Is there an IDE or Windows Perl Editor?, Where can I get
85 Perl macros for vi?, Where can I get perl-mode for emacs?, How can I use
86 curses with Perl?, How can I use X or Tk with Perl?, How can I generate
87 simple menus without using CGI or Tk?, What is undump?, How can I make my
88 Perl program run faster?, How can I make my Perl program take less memory?,
89 Is it unsafe to return a pointer to local data?, How can I free an array or
90 hash so my program shrinks?, How can I make my CGI script more efficient?,
91 How can I hide the source for my Perl program?, How can I compile my Perl
92 program into byte code or C?, How can I compile Perl into Java?, How can I
93 get C<#!perl> to work on [MS-DOS,NT,...]?, Can I write useful Perl programs
94 on the command line?, Why don't Perl one-liners work on my DOS/Mac/VMS
95 system?, Where can I learn about CGI or Web programming in Perl?, Where can
96 I learn about object-oriented Perl programming?, Where can I learn about
97 linking C with Perl? [h2xs, xsubpp], I've read perlembed, perlguts, etc.,
98 but I can't embed perl in my C program; what am I doing wrong?, When I
99 tried to run my script, I got this message. What does it mean?, What's
100 MakeMaker?, L<perlfaq4>: Data Manipulation, Why am I getting long decimals
101 (eg, 19.9499999999999) instead of the numbers I should be getting (eg,
102 19.95)?, Why isn't my octal data interpreted correctly?, Does Perl have a
103 round() function?  What about ceil() and floor()?  Trig functions?, How do
104 I convert bits into ints?, Why doesn't & work the way I want it to?, How do
105 I multiply matrices?, How do I perform an operation on a series of
106 integers?, How can I output Roman numerals?, Why aren't my random numbers
107 random?, How do I find the week-of-the-year/day-of-the-year?, How do I find
108 the current century or millennium?, How can I compare two dates and find
109 the difference?, How can I take a string and turn it into epoch seconds?,
110 How can I find the Julian Day?, How do I find yesterday's date?, Does Perl
111 have a Year 2000 problem?  Is Perl Y2K compliant?, How do I validate
112 input?, How do I unescape a string?, How do I remove consecutive pairs of
113 characters?, How do I expand function calls in a string?, How do I find
114 matching/nesting anything?, How do I reverse a string?, How do I expand
115 tabs in a string?, How do I reformat a paragraph?, How can I access/change
116 the first N letters of a string?, How do I change the Nth occurrence of
117 something?, How can I count the number of occurrences of a substring within
118 a string?, How do I capitalize all the words on one line?, How can I split
119 a [character] delimited string except when inside [character]?
120 (Comma-separated files), How do I strip blank space from the beginning/end
121 of a string?, How do I pad a string with blanks or pad a number with
122 zeroes?, How do I extract selected columns from a string?, How do I find
123 the soundex value of a string?, How can I expand variables in text
124 strings?, What's wrong with always quoting "$vars"?, Why don't my <<HERE
125 documents work?, What is the difference between a list and an array?, What
126 is the difference between $array[1] and @array[1]?, How can I remove
127 duplicate elements from a list or array?, How can I tell whether a list or
128 array contains a certain element?, How do I compute the difference of two
129 arrays?  How do I compute the intersection of two arrays?, How do I test
130 whether two arrays or hashes are equal?, How do I find the first array
131 element for which a condition is true?, How do I handle linked lists?, How
132 do I handle circular lists?, How do I shuffle an array randomly?, How do I
133 process/modify each element of an array?, How do I select a random element
134 from an array?, How do I permute N elements of a list?, How do I sort an
135 array by (anything)?, How do I manipulate arrays of bits?, Why does
136 defined() return true on empty arrays and hashes?, How do I process an
137 entire hash?, What happens if I add or remove keys from a hash while
138 iterating over it?, How do I look up a hash element by value?, How can I
139 know how many entries are in a hash?, How do I sort a hash (optionally by
140 value instead of key)?, How can I always keep my hash sorted?, What's the
141 difference between "delete" and "undef" with hashes?, Why don't my tied
142 hashes make the defined/exists distinction?, How do I reset an each()
143 operation part-way through?, How can I get the unique keys from two
144 hashes?, How can I store a multidimensional array in a DBM file?, How can I
145 make my hash remember the order I put elements into it?, Why does passing a
146 subroutine an undefined element in a hash create it?, How can I make the
147 Perl equivalent of a C structure/C++ class/hash or array of hashes or
148 arrays?, How can I use a reference as a hash key?, How do I handle binary
149 data correctly?, How do I determine whether a scalar is a
150 number/whole/integer/float?, How do I keep persistent data across program
151 calls?, How do I print out or copy a recursive data structure?, How do I
152 define methods for every class/object?, How do I verify a credit card
153 checksum?, How do I pack arrays of doubles or floats for XS code?,
154 L<perlfaq5>: Files and Formats, How do I flush/unbuffer an output
155 filehandle?  Why must I do this?, How do I change one line in a file/delete
156 a line in a file/insert a line in the middle of a file/append to the
157 beginning of a file?, How do I count the number of lines in a file?, How do
158 I make a temporary file name?, How can I manipulate fixed-record-length
159 files?, How can I make a filehandle local to a subroutine?  How do I pass
160 filehandles between subroutines?  How do I make an array of filehandles?,
161 How can I use a filehandle indirectly?, How can I set up a footer format to
162 be used with write()?, How can I write() into a string?, How can I output
163 my numbers with commas added?, How can I translate tildes (~) in a
164 filename?, How come when I open a file read-write it wipes it out?, Why do
165 I sometimes get an "Argument list too long" when I use <*>?, Is there a
166 leak/bug in glob()?, How can I open a file with a leading ">" or trailing
167 blanks?, How can I reliably rename a file?, How can I lock a file?, Why
168 can't I just open(FH, ">file.lock")?, I still don't get locking.  I just
169 want to increment the number in the file.  How can I do this?, How do I
170 randomly update a binary file?, How do I get a file's timestamp in perl?,
171 How do I set a file's timestamp in perl?, How do I print to more than one
172 file at once?, How can I read in an entire file all at once?, How can I
173 read in a file by paragraphs?, How can I read a single character from a
174 file?  From the keyboard?, How can I tell whether there's a character
175 waiting on a filehandle?, How do I do a C<tail -f> in perl?, How do I dup()
176 a filehandle in Perl?, How do I close a file descriptor by number?, Why
177 can't I use "C:\temp\foo" in DOS paths?  What doesn't `C:\temp\foo.exe`
178 work?, Why doesn't glob("*.*") get all the files?, Why does Perl let me
179 delete read-only files?  Why does C<-i> clobber protected files?  Isn't
180 this a bug in Perl?, How do I select a random line from a file?, Why do I
181 get weird spaces when I print an array of lines?, L<perlfaq6>: Regexps, How
182 can I hope to use regular expressions without creating illegible and
183 unmaintainable code?, I'm having trouble matching over more than one line. 
184 What's wrong?, How can I pull out lines between two patterns that are
185 themselves on different lines?, I put a regular expression into $/ but it
186 didn't work. What's wrong?, How do I substitute case insensitively on the
187 LHS while preserving case on the RHS?, How can I make C<\w> match national
188 character sets?, How can I match a locale-smart version of C</[a-zA-Z]/>?,
189 How can I quote a variable to use in a regex?, What is C</o> really for?,
190 How do I use a regular expression to strip C style comments from a file?,
191 Can I use Perl regular expressions to match balanced text?, What does it
192 mean that regexes are greedy?  How can I get around it?, How do I process
193 each word on each line?, How can I print out a word-frequency or
194 line-frequency summary?, How can I do approximate matching?, How do I
195 efficiently match many regular expressions at once?, Why don't
196 word-boundary searches with C<\b> work for me?, Why does using $&, $`, or
197 $' slow my program down?, What good is C<\G> in a regular expression?, Are
198 Perl regexes DFAs or NFAs?  Are they POSIX compliant?, What's wrong with
199 using grep or map in a void context?, How can I match strings with
200 multibyte characters?, How do I match a pattern that is supplied by the
201 user?, L<perlfaq7>: General Perl Language Issues, Can I get a BNF/yacc/RE
202 for the Perl language?, What are all these $@%&* punctuation signs, and how
203 do I know when to use them?, Do I always/never have to quote my strings or
204 use semicolons and commas?, How do I skip some return values?, How do I
205 temporarily block warnings?, What's an extension?, Why do Perl operators
206 have different precedence than C operators?, How do I declare/create a
207 structure?, How do I create a module?, How do I create a class?, How can I
208 tell if a variable is tainted?, What's a closure?, What is variable suicide
209 and how can I prevent it?, How can I pass/return a {Function, FileHandle,
210 Array, Hash, Method, Regex}?, How do I create a static variable?, What's
211 the difference between dynamic and lexical (static) scoping?  Between
212 local() and my()?, How can I access a dynamic variable while a similarly
213 named lexical is in scope?, What's the difference between deep and shallow
214 binding?, Why doesn't "my($foo) = <FILE>;" work right?, How do I redefine a
215 builtin function, operator, or method?, What's the difference between
216 calling a function as &foo and foo()?, How do I create a switch or case
217 statement?, How can I catch accesses to undefined
218 variables/functions/methods?, Why can't a method included in this same file
219 be found?, How can I find out my current package?, How can I comment out a
220 large block of perl code?, How do I clear a package?, How can I use a
221 variable as a variable name?, L<perlfaq8>: System Interaction, How do I
222 find out which operating system I'm running under?, How come exec() doesn't
223 return?, How do I do fancy stuff with the keyboard/screen/mouse?, How do I
224 print something out in color?, How do I read just one key without waiting
225 for a return key?, How do I check whether input is ready on the keyboard?,
226 How do I clear the screen?, How do I get the screen size?, How do I ask the
227 user for a password?, How do I read and write the serial port?, How do I
228 decode encrypted password files?, How do I start a process in the
229 background?, How do I trap control characters/signals?, How do I modify the
230 shadow password file on a Unix system?, How do I set the time and date?,
231 How can I sleep() or alarm() for under a second?, How can I measure time
232 under a second?, How can I do an atexit() or setjmp()/longjmp()? (Exception
233 handling), Why doesn't my sockets program work under System V (Solaris)? 
234 What does the error message "Protocol not supported" mean?, How can I call
235 my system's unique C functions from Perl?, Where do I get the include files
236 to do ioctl() or syscall()?, Why do setuid perl scripts complain about
237 kernel problems?, How can I open a pipe both to and from a command?, Why
238 can't I get the output of a command with system()?, How can I capture
239 STDERR from an external command?, Why doesn't open() return an error when a
240 pipe open fails?, What's wrong with using backticks in a void context?, How
241 can I call backticks without shell processing?, Why can't my script read
242 from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?, How can I
243 convert my shell script to perl?, Can I use perl to run a telnet or ftp
244 session?, How can I write expect in Perl?, Is there a way to hide perl's
245 command line from programs such as "ps"?, I {changed directory, modified my
246 environment} in a perl script.  How come the change disappeared when I
247 exited the script?  How do I get my changes to be visible?, How do I close
248 a process's filehandle without waiting for it to complete?, How do I fork a
249 daemon process?, How do I find out if I'm running interactively or not?,
250 How do I timeout a slow event?, How do I set CPU limits?, How do I avoid
251 zombies on a Unix system?, How do I use an SQL database?, How do I make a
252 system() exit on control-C?, How do I open a file without blocking?, How do
253 I install a module from CPAN?, What's the difference between require and
254 use?, How do I keep my own module/library directory?, How do I add the
255 directory my program lives in to the module/library search path?, How do I
256 add a directory to my include path at runtime?, What is socket.ph and where
257 do I get it?, L<perlfaq9>: Networking, My CGI script runs from the command
258 line but not the browser.  (500 Server Error), How can I get better error
259 messages from a CGI program?, How do I remove HTML from a string?, How do I
260 extract URLs?, How do I download a file from the user's machine?  How do I
261 open a file on another machine?, How do I make a pop-up menu in HTML?, How
262 do I fetch an HTML file?, How do I automate an HTML form submission?, How
263 do I decode or create those %-encodings on the web?, How do I redirect to
264 another page?, How do I put a password on my web pages?, How do I edit my
265 .htpasswd and .htgroup files with Perl?, How do I make sure users can't
266 enter values into a form that cause my CGI script to do bad things?, How do
267 I parse a mail header?, How do I decode a CGI form?, How do I check a valid
268 mail address?, How do I decode a MIME/BASE64 string?, How do I return the
269 user's mail address?, How do I send mail?, How do I read mail?, How do I
270 find out my hostname/domainname/IP address?, How do I fetch a news article
271 or the active newsgroups?, How do I fetch/put an FTP file?, How can I do
272 RPC in Perl?
273
274 =over 4
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
281 authors
282
283 =back
284
285 =item Credits
286
287 =item Author and Copyright Information
288
289 =over 4
290
291 =item Bundled Distributions
292
293 =item Disclaimer
294
295 =back
296
297 =item Changes
298
299 1/November/2000, 23/May/99, 13/April/99, 7/January/99, 22/June/98,
300 24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version,
301 Initial Release: 11/March/97
302
303 =back
304
305 =head2 perltoc - perl documentation table of contents
306
307 =over 4
308
309 =item DESCRIPTION
310
311 =item BASIC DOCUMENTATION
312
313 =over 4
314
315 =item perl - Practical Extraction and Report Language
316
317 SYNOPSIS, DESCRIPTION, AVAILABILITY, ENVIRONMENT, AUTHOR, FILES, SEE ALSO,
318 DIAGNOSTICS, BUGS, NOTES
319
320 =item perlfaq - frequently asked questions about Perl ($Date: 1999/05/23
321 20:38:02 $)
322
323 DESCRIPTION
324
325 =back
326
327 =back
328
329 =head2 perlbook - Perl book information
330
331 =over 4
332
333 =item DESCRIPTION
334
335 =back
336
337 =head2 perlsyn - Perl syntax
338
339 =over 4
340
341 =item DESCRIPTION
342
343 =over 4
344
345 =item Declarations
346
347 =item Simple statements
348
349 =item Compound statements
350
351 =item Loop Control
352
353 =item For Loops
354
355 =item Foreach Loops
356
357 =item Basic BLOCKs and Switch Statements
358
359 =item Goto
360
361 =item PODs: Embedded Documentation
362
363 =item Plain Old Comments (Not!)
364
365 =back
366
367 =back
368
369 =head2 perldata - Perl data types
370
371 =over 4
372
373 =item DESCRIPTION
374
375 =over 4
376
377 =item Variable names
378
379 =item Context
380
381 =item Scalar values
382
383 =item Scalar value constructors
384
385 =item List value constructors
386
387 =item Slices
388
389 =item Typeglobs and Filehandles
390
391 =back
392
393 =item SEE ALSO
394
395 =back
396
397 =head2 perlop - Perl operators and precedence
398
399 =over 4
400
401 =item SYNOPSIS
402
403 =item DESCRIPTION
404
405 =over 4
406
407 =item Terms and List Operators (Leftward)
408
409 =item The Arrow Operator
410
411 =item Auto-increment and Auto-decrement
412
413 =item Exponentiation
414
415 =item Symbolic Unary Operators
416
417 =item Binding Operators
418
419 =item Multiplicative Operators
420
421 =item Additive Operators
422
423 =item Shift Operators
424
425 =item Named Unary Operators
426
427 =item Relational Operators
428
429 =item Equality Operators
430
431 =item Bitwise And
432
433 =item Bitwise Or and Exclusive Or
434
435 =item C-style Logical And
436
437 =item C-style Logical Or
438
439 =item Range Operators
440
441 =item Conditional Operator
442
443 =item Assignment Operators
444
445 =item Comma Operator
446
447 =item List Operators (Rightward)
448
449 =item Logical Not
450
451 =item Logical And
452
453 =item Logical or and Exclusive Or
454
455 =item C Operators Missing From Perl
456
457 unary &, unary *, (TYPE)
458
459 =item Quote and Quote-like Operators
460
461 =item Regexp Quote-Like Operators
462
463 ?PATTERN?, m/PATTERN/cgimosx, /PATTERN/cgimosx, q/STRING/, C<'STRING'>,
464 qq/STRING/, "STRING", qr/STRING/imosx, qx/STRING/, `STRING`, qw/STRING/,
465 s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
466 y/SEARCHLIST/REPLACEMENTLIST/cds
467
468 =item Gory details of parsing quoted constructs
469
470 Finding the end, Removal of backslashes before delimiters, Interpolation,
471 C<<<'EOF'>, C<m''>, C<s'''>, C<tr///>, C<y///>, C<''>, C<q//>, C<"">,
472 C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<?RE?>, C</RE/>, C<m/RE/>,
473 C<s/RE/foo/>,, Interpolation of regular expressions, Optimization of
474 regular expressions
475
476 =item I/O Operators
477
478 =item Constant Folding
479
480 =item Bitwise String Operators
481
482 =item Integer Arithmetic
483
484 =item Floating-point Arithmetic
485
486 =item Bigger Numbers
487
488 =back
489
490 =back
491
492 =head2 perlsub - Perl subroutines
493
494 =over 4
495
496 =item SYNOPSIS
497
498 =item DESCRIPTION
499
500 =over 4
501
502 =item Private Variables via my()
503
504 =item Persistent Private Variables
505
506 =item Temporary Values via local()
507
508 =item Lvalue subroutines
509
510 =item Passing Symbol Table Entries (typeglobs)
511
512 =item When to Still Use local()
513
514 1. You need to give a global variable a temporary value, especially $_, 2.
515 You need to create a local file or directory handle or a local function, 3.
516 You want to temporarily change just one element of an array or hash
517
518 =item Pass by Reference
519
520 =item Prototypes
521
522 =item Constant Functions
523
524 =item Overriding Built-in Functions
525
526 =item Autoloading
527
528 =item Subroutine Attributes
529
530 =back
531
532 =item SEE ALSO
533
534 =back
535
536 =head2 perlfunc - Perl builtin functions
537
538 =over 4
539
540 =item DESCRIPTION
541
542 =over 4
543
544 =item Perl Functions by Category
545
546 Functions for SCALARs or strings, Regular expressions and pattern matching,
547 Numeric functions, Functions for real @ARRAYs, Functions for list data,
548 Functions for real %HASHes, Input and output functions, Functions for fixed
549 length data or records, Functions for filehandles, files, or directories,
550 Keywords related to the control flow of your perl program, Keywords related
551 to scoping, Miscellaneous functions, Functions for processes and process
552 groups, Keywords related to perl modules, Keywords related to classes and
553 object-orientedness, Low-level socket functions, System V interprocess
554 communication functions, Fetching user and group info, Fetching network
555 info, Time-related functions, Functions new in perl5, Functions obsoleted
556 in perl5
557
558 =item Portability
559
560 =item Alphabetical Listing of Perl Functions
561
562 I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept
563 NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME,
564 binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME,
565 bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE,
566 chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER,
567 chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE,
568 connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT,
569 dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete
570 EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump,
571 each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST,
572 exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl
573 FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION,
574 fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin,
575 getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam
576 NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname
577 NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
578 ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
579 getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
580 getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
581 STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
582 endhostent, endnetent, endprotoent, endservent, getsockname SOCKET,
583 getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL,
584 goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex,
585 import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl
586 FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST,
587 last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length,
588 link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR,
589 lock, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK LIST, map EXPR,LIST,
590 mkdir FILENAME,MASK, mkdir FILENAME, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
591 msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my EXPR :
592 ATTRIBUTES, next LABEL, next, no Module LIST, oct EXPR, oct, open
593 FILEHANDLE,MODE,LIST, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
594 DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, pack TEMPLATE,LIST, package
595 NAMESPACE, package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos
596 SCALAR, pos, print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE
597 FORMAT, LIST, printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST,
598 q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR,
599 quotemeta, rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read
600 FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR,
601 readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo,
602 ref EXPR, ref, rename OLDNAME,NEWNAME, require VERSION, require EXPR,
603 require, reset EXPR, reset, return EXPR, return, reverse LIST, rewinddir
604 DIRHANDLE, rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME,
605 rmdir, s///, scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir
606 DIRHANDLE,POS, select FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT,
607 semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send
608 SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority
609 WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY,
610 shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE,
611 shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep
612 EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair
613 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
614 sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
615 splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
616 /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR,
617 sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR,
618 study, sub BLOCK, sub NAME, sub NAME BLOCK, substr
619 EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
620 EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
621 FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
622 FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
623 FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
624 FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
625 syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
626 VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
627 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
628 ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
629 TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
630 use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
631 values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
632 LIST, write FILEHANDLE, write EXPR, write, y///
633
634 =back
635
636 =back
637
638 =head2 perlreftut - Mark's very short tutorial about references
639
640 =over 4
641
642 =item DESCRIPTION
643
644 =item Who Needs Complicated Data Structures?
645
646 =item The Solution
647
648 =item Syntax
649
650 =over 4
651
652 =item Making References
653
654 =item Using References
655
656 =back
657
658 =item An Example
659
660 =item Arrow Rule
661
662 =item Solution
663
664 =item The Rest
665
666 =item Summary
667
668 =item Credits
669
670 =over 4
671
672 =item Distribution Conditions
673
674 =back
675
676 =back
677
678 =head2 perldsc - Perl Data Structures Cookbook
679
680 =over 4
681
682 =item DESCRIPTION
683
684 arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
685 more elaborate constructs
686
687 =item REFERENCES
688
689 =item COMMON MISTAKES
690
691 =item CAVEAT ON PRECEDENCE
692
693 =item WHY YOU SHOULD ALWAYS C<use strict>
694
695 =item DEBUGGING
696
697 =item CODE EXAMPLES
698
699 =item ARRAYS OF ARRAYS
700
701 =over 4
702
703 =item Declaration of a ARRAY OF ARRAYS
704
705 =item Generation of a ARRAY OF ARRAYS
706
707 =item Access and Printing of a ARRAY OF ARRAYS
708
709 =back
710
711 =item HASHES OF ARRAYS
712
713 =over 4
714
715 =item Declaration of a HASH OF ARRAYS
716
717 =item Generation of a HASH OF ARRAYS
718
719 =item Access and Printing of a HASH OF ARRAYS
720
721 =back
722
723 =item ARRAYS OF HASHES
724
725 =over 4
726
727 =item Declaration of a ARRAY OF HASHES
728
729 =item Generation of a ARRAY OF HASHES
730
731 =item Access and Printing of a ARRAY OF HASHES
732
733 =back
734
735 =item HASHES OF HASHES
736
737 =over 4
738
739 =item Declaration of a HASH OF HASHES
740
741 =item Generation of a HASH OF HASHES
742
743 =item Access and Printing of a HASH OF HASHES
744
745 =back
746
747 =item MORE ELABORATE RECORDS
748
749 =over 4
750
751 =item Declaration of MORE ELABORATE RECORDS
752
753 =item Declaration of a HASH OF COMPLEX RECORDS
754
755 =item Generation of a HASH OF COMPLEX RECORDS
756
757 =back
758
759 =item Database Ties
760
761 =item SEE ALSO
762
763 =item AUTHOR
764
765 =back
766
767 =head2 perlrequick - Perl regular expressions quick start
768
769 =over 4
770
771 =item DESCRIPTION
772
773 =item The Guide
774
775 =over 4
776
777 =item Simple word matching
778
779 =item Using character classes
780
781 \d is a digit and represents [0-9], \s is a whitespace character and
782 represents [\ \t\r\n\f], \w is a word character (alphanumeric or _) and
783 represents [0-9a-zA-Z_], \D is a negated \d; it represents any character
784 but a digit [^0-9], \S is a negated \s; it represents any non-whitespace
785 character [^\s], \W is a negated \w; it represents any non-word character
786 [^\w], The period '.' matches any character but "\n"
787
788 =item Matching this or that
789
790 =item Grouping things and hierarchical matching
791
792 =item Extracting matches
793
794 =item Matching repetitions
795
796 C<a?> = match 'a' 1 or 0 times, C<a*> = match 'a' 0 or more times, i.e.,
797 any number of times, C<a+> = match 'a' 1 or more times, i.e., at least
798 once, C<a{n,m}> = match at least C<n> times, but not more than C<m> times,
799 C<a{n,}> = match at least C<n> or more times, C<a{n}> = match exactly C<n>
800 times
801
802 =item More matching
803
804 =item Search and replace
805
806 =item The split operator
807
808 =back
809
810 =item BUGS
811
812 =item SEE ALSO
813
814 =item AUTHOR AND COPYRIGHT
815
816 =over 4
817
818 =item Acknowledgments
819
820 =back
821
822 =back
823
824 =head2 perlpod - plain old documentation
825
826 =over 4
827
828 =item DESCRIPTION
829
830 =over 4
831
832 =item Verbatim Paragraph
833
834 =item Command Paragraph
835
836 =item Ordinary Block of Text
837
838 =item The Intent
839
840 =item Embedding Pods in Perl Modules
841
842 =item Common Pod Pitfalls
843
844 =back
845
846 =item SEE ALSO
847
848 =item AUTHOR
849
850 =back
851
852 =head2 perlstyle - Perl style guide
853
854 =over 4
855
856 =item DESCRIPTION
857
858 =back
859
860 =head2 perltrap - Perl traps for the unwary
861
862 =over 4
863
864 =item DESCRIPTION
865
866 =over 4
867
868 =item Awk Traps
869
870 =item C Traps
871
872 =item Sed Traps
873
874 =item Shell Traps
875
876 =item Perl Traps
877
878 =item Perl4 to Perl5 Traps
879
880 Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical
881 Traps, General data type traps, Context Traps - scalar, list contexts,
882 Precedence Traps, General Regular Expression Traps using s///, etc,
883 Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
884
885 =item Discontinuance, Deprecation, and BugFix traps
886
887 Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
888 Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
889 Discontinuance, Deprecation, Discontinuance, Discontinuance
890
891 =item Parsing Traps
892
893 Parsing, Parsing, Parsing, Parsing
894
895 =item Numerical Traps
896
897 Numerical, Numerical, Numerical, Bitwise string ops
898
899 =item General data type traps
900
901 (Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
902 (Constants), (Scalars), (Variable Suicide)
903
904 =item Context Traps - scalar, list contexts
905
906 (list context), (scalar context), (scalar context), (list, builtin)
907
908 =item Precedence Traps
909
910 Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
911 Precedence
912
913 =item General Regular Expression Traps using s///, etc.
914
915 Regular Expression, Regular Expression, Regular Expression, Regular
916 Expression, Regular Expression, Regular Expression, Regular Expression,
917 Regular Expression
918
919 =item Subroutine, Signal, Sorting Traps
920
921 (Signals), (Sort Subroutine), warn() won't let you specify a filehandle
922
923 =item OS Traps
924
925 (SysV), (SysV)
926
927 =item Interpolation Traps
928
929 Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
930 Interpolation, Interpolation, Interpolation, Interpolation
931
932 =item DBM Traps
933
934 DBM, DBM
935
936 =item Unclassified Traps
937
938 C<require>/C<do> trap using returned value, C<split> on empty string with
939 LIMIT specified
940
941 =back
942
943 =back
944
945 =head2 perlrun - how to execute the Perl interpreter
946
947 =over 4
948
949 =item SYNOPSIS
950
951 =item DESCRIPTION
952
953 =over 4
954
955 =item #! and quoting on non-Unix systems
956
957 OS/2, MS-DOS, Win95/NT, Macintosh, VMS
958
959 =item Location of Perl
960
961 =item Command Switches
962
963 B<-0>[I<digits>], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I<foo[=bar,baz]>,
964 B<-D>I<letters>, B<-D>I<number>, B<-e> I<commandline>, B<-F>I<pattern>,
965 B<-h>, B<-i>[I<extension>], B<-I>I<directory>, B<-l>[I<octnum>],
966 B<-m>[B<->]I<module>, B<-M>[B<->]I<module>, B<-M>[B<->]I<'module ...'>,
967 B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>,
968 B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I<name>, B<-w>, B<-W>, B<-X>,
969 B<-x> I<directory>
970
971 =back
972
973 =item ENVIRONMENT
974
975 HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL
976 (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL,
977 PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to the VMS port)
978
979 =back
980
981 =head2 perldiag - various Perl diagnostics
982
983 =over 4
984
985 =item DESCRIPTION
986
987 =back
988
989 =head2 perllexwarn - Perl Lexical Warnings
990
991 =over 4
992
993 =item DESCRIPTION
994
995 =over 4
996
997 =item Default Warnings and Optional Warnings
998
999 =item What's wrong with B<-w> and C<$^W>
1000
1001 =item Controlling Warnings from the Command Line
1002
1003 B<-w>, B<-W>, B<-X>
1004
1005 =item Backward Compatibility
1006
1007 =item Category Hierarchy
1008
1009 =item Fatal Warnings
1010
1011 =item Reporting Warnings from a Module
1012
1013 =back
1014
1015 =item TODO
1016
1017 =item SEE ALSO
1018
1019 =item AUTHOR
1020
1021 =back
1022
1023 =head2 perldebtut - Perl debugging tutorial
1024
1025 =over 4
1026
1027 =item DESCRIPTION
1028
1029 =item use strict
1030
1031 =item Looking at data and -w and w
1032
1033 =item help
1034
1035 =item Stepping through code
1036
1037 =item Placeholder for a, w, t, T
1038
1039 =item REGULAR EXPRESSIONS
1040
1041 =item OUTPUT TIPS
1042
1043 =item CGI
1044
1045 =item GUIs
1046
1047 =item SUMMARY
1048
1049 =item SEE ALSO
1050
1051 =item AUTHOR
1052
1053 =item CONTRIBUTORS
1054
1055 =back
1056
1057 =head2 perldebug - Perl debugging
1058
1059 =over 4
1060
1061 =item DESCRIPTION
1062
1063 =item The Perl Debugger
1064
1065 =over 4
1066
1067 =item Debugger Commands
1068
1069 h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
1070 [expr], r, <CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname,
1071 -, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr,
1072 b [line] [condition], b subname [condition], b postpone subname
1073 [condition], b load filename, b compile subname, d [line], D, a [line]
1074 command, a [line], A, W expr, W, O booloption .., O anyoption? .., O
1075 option=value .., < ?, < [ command ], << command, > ?, > command, >>
1076 command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !!
1077 cmd, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man [manpage]
1078
1079 =item Configurable Options
1080
1081 C<recallCommand>, C<ShellBang>, C<pager>, C<tkRunning>, C<signalLevel>,
1082 C<warnLevel>, C<dieLevel>, C<AutoTrace>, C<LineInfo>, C<inhibit_exit>,
1083 C<PrintRet>, C<ornaments>, C<frame>, C<maxTraceLen>, C<arrayDepth>,
1084 C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>, C<DumpDBFiles>,
1085 C<DumpPackages>, C<DumpReused>, C<quote>, C<HighBit>, C<undefPrint>,
1086 C<UsageOnly>, C<TTY>, C<noTTY>, C<ReadLine>, C<NonStop>
1087
1088 =item Debugger input/output
1089
1090 Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame
1091 listing
1092
1093 =item Debugging compile-time statements
1094
1095 =item Debugger Customization
1096
1097 =item Readline Support
1098
1099 =item Editor Support for Debugging
1100
1101 =item The Perl Profiler
1102
1103 =back
1104
1105 =item Debugging regular expressions
1106
1107 =item Debugging memory usage
1108
1109 =item SEE ALSO
1110
1111 =item BUGS
1112
1113 =back
1114
1115 =head2 perlvar - Perl predefined variables
1116
1117 =over 4
1118
1119 =item DESCRIPTION
1120
1121 =over 4
1122
1123 =item Predefined Names
1124
1125 $ARG, $_, $<I<digits>>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $',
1126 $LAST_PAREN_MATCH, $+, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*,
1127 input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $,
1128 input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/,
1129 autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE
1130 EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE
1131 EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $",
1132 $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
1133 EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
1134 $FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
1135 $FORMAT_LINES_LEFT, $-, @LAST_MATCH_START, @-, C<$`> is the same as
1136 C<substr($var, 0, $-[0])>, C<$&> is the same as C<substr($var, $-[0], $+[0]
1137 - $-[0])>, C<$'> is the same as C<substr($var, $+[0])>, C<$1> is the same
1138 as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2> is the same as
1139 C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as C<substr $var,
1140 $-[3], $+[3] - $-[3])>, format_name HANDLE EXPR, $FORMAT_NAME, $~,
1141 format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
1142 format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
1143 $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
1144 $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E,
1145 $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
1146 $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(,
1147 $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C,
1148 $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M,
1149 $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
1150 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S,
1151 $BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS},
1152 ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC, @_, %INC,
1153 %ENV, $ENV{expr}, %SIG, $SIG{expr}
1154
1155 =item Error Indicators
1156
1157 =item Technical Note on the Syntax of Variable Names
1158
1159 =back
1160
1161 =item BUGS
1162
1163 =back
1164
1165 =head2 perllol - Manipulating Arrays of Arrays in Perl
1166
1167 =over 4
1168
1169 =item DESCRIPTION
1170
1171 =item Declaration and Access of Arrays of Arrays
1172
1173 =item Growing Your Own
1174
1175 =item Access and Printing
1176
1177 =item Slices
1178
1179 =item SEE ALSO
1180
1181 =item AUTHOR
1182
1183 =back
1184
1185 =head2 perlopentut - tutorial on opening things in Perl
1186
1187 =over 4
1188
1189 =item DESCRIPTION
1190
1191 =item Open E<agrave> la shell
1192
1193 =over 4
1194
1195 =item Simple Opens
1196
1197 =item Pipe Opens
1198
1199 =item The Minus File
1200
1201 =item Mixing Reads and Writes
1202
1203 =item Filters 
1204
1205 =back
1206
1207 =item Open E<agrave> la C
1208
1209 =over 4
1210
1211 =item Permissions E<agrave> la mode
1212
1213 =back
1214
1215 =item Obscure Open Tricks
1216
1217 =over 4
1218
1219 =item Re-Opening Files (dups)
1220
1221 =item Dispelling the Dweomer
1222
1223 =item Paths as Opens
1224
1225 =item Single Argument Open
1226
1227 =item Playing with STDIN and STDOUT
1228
1229 =back
1230
1231 =item Other I/O Issues
1232
1233 =over 4
1234
1235 =item Opening Non-File Files
1236
1237 =item Binary Files
1238
1239 =item File Locking
1240
1241 =back
1242
1243 =item SEE ALSO 
1244
1245 =item AUTHOR and COPYRIGHT
1246
1247 =item HISTORY
1248
1249 =back
1250
1251 =head2 perlretut - Perl regular expressions tutorial
1252
1253 =over 4
1254
1255 =item DESCRIPTION
1256
1257 =item Part 1: The basics
1258
1259 =over 4
1260
1261 =item Simple word matching
1262
1263 =item Using character classes
1264
1265 \d is a digit and represents [0-9], \s is a whitespace character and
1266 represents [\ \t\r\n\f], \w is a word character (alphanumeric or _) and
1267 represents [0-9a-zA-Z_], \D is a negated \d; it represents any character
1268 but a digit [^0-9], \S is a negated \s; it represents any non-whitespace
1269 character [^\s], \W is a negated \w; it represents any non-word character
1270 [^\w], The period '.' matches any character but "\n", no modifiers (//):
1271 Default behavior.  C<'.'> matches any character except C<"\n">.  C<^>
1272 matches only at the beginning of the string and C<$> matches only at the
1273 end or before a newline at the end, s modifier (//s): Treat string as a
1274 single long line.  C<'.'> matches any character, even C<"\n">.  C<^>
1275 matches only at the beginning of the string and C<$> matches only at the
1276 end or before a newline at the end, m modifier (//m): Treat string as a set
1277 of multiple lines.  C<'.'> matches any character except C<"\n">.  C<^> and
1278 C<$> are able to match at the start or end of I<any> line within the
1279 string, both s and m modifiers (//sm): Treat string as a single long line,
1280 but detect multiple lines.  C<'.'> matches any character, even C<"\n">. 
1281 C<^> and C<$>, however, are able to match at the start or end of I<any>
1282 line within the string
1283
1284 =item Matching this or that
1285
1286 =item Grouping things and hierarchical matching
1287
1288 0 Start with the first letter in the string 'a', 1 Try the first
1289 alternative in the first group 'abd', 2 Match 'a' followed by 'b'. So far
1290 so good, 3 'd' in the regexp doesn't match 'c' in the string - a dead end. 
1291 So backtrack two characters and pick the second alternative in the first
1292 group 'abc', 4 Match 'a' followed by 'b' followed by 'c'.  We are on a roll
1293 and have satisfied the first group. Set $1 to 'abc', 5 Move on to the
1294 second group and pick the first alternative 'df', 6 Match the 'd', 7 'f' in
1295 the regexp doesn't match 'e' in the string, so a dead end.  Backtrack one
1296 character and pick the second alternative in the second group 'd', 8 'd'
1297 matches. The second grouping is satisfied, so set $2 to 'd', 9 We are at
1298 the end of the regexp, so we are done! We have matched 'abcd' out of the
1299 string "abcde"
1300
1301 =item Extracting matches
1302
1303 =item Matching repetitions
1304
1305 C<a?> = match 'a' 1 or 0 times, C<a*> = match 'a' 0 or more times, i.e.,
1306 any number of times, C<a+> = match 'a' 1 or more times, i.e., at least
1307 once, C<a{n,m}> = match at least C<n> times, but not more than C<m> times,
1308 C<a{n,}> = match at least C<n> or more times, C<a{n}> = match exactly C<n>
1309 times, Principle 0: Taken as a whole, any regexp will be matched at the
1310 earliest possible position in the string, Principle 1: In an alternation
1311 C<a|b|c...>, the leftmost alternative that allows a match for the whole
1312 regexp will be the one used, Principle 2: The maximal matching quantifiers
1313 C<?>, C<*>, C<+> and C<{n,m}> will in general match as much of the string
1314 as possible while still allowing the whole regexp to match, Principle 3: If
1315 there are two or more elements in a regexp, the leftmost greedy quantifier,
1316 if any, will match as much of the string as possible while still allowing
1317 the whole regexp to match.  The next leftmost greedy quantifier, if any,
1318 will try to match as much of the string remaining available to it as
1319 possible, while still allowing the whole regexp to match.  And so on, until
1320 all the regexp elements are satisfied, C<a??> = match 'a' 0 or 1 times. Try
1321 0 first, then 1, C<a*?> = match 'a' 0 or more times, i.e., any number of
1322 times, but as few times as possible, C<a+?> = match 'a' 1 or more times,
1323 i.e., at least once, but as few times as possible, C<a{n,m}?> = match at
1324 least C<n> times, not more than C<m> times, as few times as possible,
1325 C<a{n,}?> = match at least C<n> times, but as few times as possible,
1326 C<a{n}?> = match exactly C<n> times.  Because we match exactly C<n> times,
1327 C<a{n}?> is equivalent to C<a{n}> and is just there for notational
1328 consistency, Principle 3: If there are two or more elements in a regexp,
1329 the leftmost greedy (non-greedy) quantifier, if any, will match as much
1330 (little) of the string as possible while still allowing the whole regexp to
1331 match.  The next leftmost greedy (non-greedy) quantifier, if any, will try
1332 to match as much (little) of the string remaining available to it as
1333 possible, while still allowing the whole regexp to match.  And so on, until
1334 all the regexp elements are satisfied, 0 Start with the first letter in the
1335 string 't', 1 The first quantifier '.*' starts out by matching the whole
1336 string 'the cat in the hat', 2 'a' in the regexp element 'at' doesn't match
1337 the end of the string.  Backtrack one character, 3 'a' in the regexp
1338 element 'at' still doesn't match the last letter of the string 't', so
1339 backtrack one more character, 4 Now we can match the 'a' and the 't', 5
1340 Move on to the third element '.*'.  Since we are at the end of the string
1341 and '.*' can match 0 times, assign it the empty string, 6 We are done!
1342
1343 =item Building a regexp
1344
1345 specifying the task in detail,, breaking down the problem into smaller
1346 parts,, translating the small parts into regexps,, combining the regexps,,
1347 and optimizing the final combined regexp
1348
1349 =item Using regular expressions in Perl
1350
1351 =back
1352
1353 =item Part 2: Power tools
1354
1355 =over 4
1356
1357 =item More on characters, strings, and character classes
1358
1359 =item Compiling and saving regular expressions
1360
1361 =item Embedding comments and modifiers in a regular expression
1362
1363 =item Non-capturing groupings
1364
1365 =item Looking ahead and looking behind
1366
1367 =item Using independent subexpressions to prevent backtracking
1368
1369 =item Conditional expressions
1370
1371 =item A bit of magic: executing Perl code in a regular expression
1372
1373 =item Pragmas and debugging
1374
1375 =back
1376
1377 =item BUGS
1378
1379 =item SEE ALSO
1380
1381 =item AUTHOR AND COPYRIGHT
1382
1383 =over 4
1384
1385 =item Acknowledgments
1386
1387 =back
1388
1389 =back
1390
1391 =head2 perlre - Perl regular expressions
1392
1393 =over 4
1394
1395 =item DESCRIPTION
1396
1397 i, m, s, x
1398
1399 =over 4
1400
1401 =item Regular Expressions
1402
1403 cntrl, graph, print, punct, xdigit
1404
1405 =item Extended Patterns
1406
1407 C<(?#text)>, C<(?imsx-imsx)>, C<(?:pattern)>, C<(?imsx-imsx:pattern)>,
1408 C<(?=pattern)>, C<(?!pattern)>, C<(?<=pattern)>, C<(?<!pattern)>, C<(?{
1409 code })>, C<(??{ code })>, C<< (?>pattern) >>,
1410 C<(?(condition)yes-pattern|no-pattern)>, C<(?(condition)yes-pattern)>
1411
1412 =item Backtracking
1413
1414 =item Version 8 Regular Expressions
1415
1416 =item Warning on \1 vs $1
1417
1418 =item Repeated patterns matching zero-length substring
1419
1420 =item Combining pieces together
1421
1422 C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
1423 C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
1424 C<(?!S)>, C<(?<!S)>, C<(??{ EXPR })>,
1425 C<(?(condition)yes-pattern|no-pattern)>
1426
1427 =item Creating custom RE engines
1428
1429 =back
1430
1431 =item BUGS
1432
1433 =item SEE ALSO
1434
1435 =back
1436
1437 =head2 perlref - Perl references and nested data structures
1438
1439 =over 4
1440
1441 =item NOTE
1442
1443 =item DESCRIPTION
1444
1445 =over 4
1446
1447 =item Making References
1448
1449 =item Using References
1450
1451 =item Symbolic references
1452
1453 =item Not-so-symbolic references
1454
1455 =item Pseudo-hashes: Using an array as a hash
1456
1457 =item Function Templates
1458
1459 =back
1460
1461 =item WARNING
1462
1463 =item SEE ALSO
1464
1465 =back
1466
1467 =head2 perlform - Perl formats
1468
1469 =over 4
1470
1471 =item DESCRIPTION
1472
1473 =over 4
1474
1475 =item Format Variables
1476
1477 =back
1478
1479 =item NOTES
1480
1481 =over 4
1482
1483 =item Footers
1484
1485 =item Accessing Formatting Internals
1486
1487 =back
1488
1489 =item WARNINGS
1490
1491 =back
1492
1493 =head2 perlboot - Beginner's Object-Oriented Tutorial
1494
1495 =over 4
1496
1497 =item DESCRIPTION
1498
1499 =over 4
1500
1501 =item If we could talk to the animals...
1502
1503 =item Introducing the method invocation arrow
1504
1505 =item Invoking a barnyard
1506
1507 =item The extra parameter of method invocation
1508
1509 =item Calling a second method to simplify things
1510
1511 =item Inheriting the windpipes
1512
1513 =item A few notes about @ISA
1514
1515 =item Overriding the methods
1516
1517 =item Starting the search from a different place
1518
1519 =item The SUPER way of doing things
1520
1521 =item Where we're at so far...
1522
1523 =item A horse is a horse, of course of course -- or is it?
1524
1525 =item Invoking an instance method
1526
1527 =item Accessing the instance data
1528
1529 =item How to build a horse
1530
1531 =item Inheriting the constructor
1532
1533 =item Making a method work with either classes or instances
1534
1535 =item Adding parameters to a method
1536
1537 =item More interesting instances
1538
1539 =item A horse of a different color
1540
1541 =item Summary
1542
1543 =back
1544
1545 =item SEE ALSO
1546
1547 =item COPYRIGHT
1548
1549 =back
1550
1551 =head2 perltoot - Tom's object-oriented tutorial for perl
1552
1553 =over 4
1554
1555 =item DESCRIPTION
1556
1557 =item Creating a Class
1558
1559 =over 4
1560
1561 =item Object Representation
1562
1563 =item Class Interface
1564
1565 =item Constructors and Instance Methods
1566
1567 =item Planning for the Future: Better Constructors
1568
1569 =item Destructors
1570
1571 =item Other Object Methods
1572
1573 =back
1574
1575 =item Class Data
1576
1577 =over 4
1578
1579 =item Accessing Class Data
1580
1581 =item Debugging Methods
1582
1583 =item Class Destructors
1584
1585 =item Documenting the Interface
1586
1587 =back
1588
1589 =item Aggregation
1590
1591 =item Inheritance
1592
1593 =over 4
1594
1595 =item Overridden Methods
1596
1597 =item Multiple Inheritance
1598
1599 =item UNIVERSAL: The Root of All Objects
1600
1601 =back
1602
1603 =item Alternate Object Representations
1604
1605 =over 4
1606
1607 =item Arrays as Objects
1608
1609 =item Closures as Objects
1610
1611 =back
1612
1613 =item AUTOLOAD: Proxy Methods
1614
1615 =over 4
1616
1617 =item Autoloaded Data Methods
1618
1619 =item Inherited Autoloaded Data Methods
1620
1621 =back
1622
1623 =item Metaclassical Tools
1624
1625 =over 4
1626
1627 =item Class::Struct
1628
1629 =item Data Members as Variables
1630
1631 =back
1632
1633 =item NOTES
1634
1635 =over 4
1636
1637 =item Object Terminology
1638
1639 =back
1640
1641 =item SEE ALSO
1642
1643 =item AUTHOR AND COPYRIGHT
1644
1645 =item COPYRIGHT
1646
1647 =over 4
1648
1649 =item Acknowledgments
1650
1651 =back
1652
1653 =back
1654
1655 =head2 perltootc - Tom's OO Tutorial for Class Data in Perl
1656
1657 =over 4
1658
1659 =item DESCRIPTION
1660
1661 =item Class Data as Package Variables
1662
1663 =over 4
1664
1665 =item Putting All Your Eggs in One Basket
1666
1667 =item Inheritance Concerns
1668
1669 =item The Eponymous Meta-Object
1670
1671 =item Indirect References to Class Data
1672
1673 =item Monadic Classes
1674
1675 =item Translucent Attributes
1676
1677 =back
1678
1679 =item Class Data as Lexical Variables
1680
1681 =over 4
1682
1683 =item Privacy and Responsibility 
1684
1685 =item File-Scoped Lexicals
1686
1687 =item More Inheritance Concerns
1688
1689 =item Locking the Door and Throwing Away the Key
1690
1691 =item Translucency Revisited
1692
1693 =back
1694
1695 =item NOTES
1696
1697 =item SEE ALSO
1698
1699 =item AUTHOR AND COPYRIGHT
1700
1701 =item ACKNOWLEDGEMENTS
1702
1703 =item HISTORY
1704
1705 =back
1706
1707 =head2 perlobj - Perl objects
1708
1709 =over 4
1710
1711 =item DESCRIPTION
1712
1713 =over 4
1714
1715 =item An Object is Simply a Reference
1716
1717 =item A Class is Simply a Package
1718
1719 =item A Method is Simply a Subroutine
1720
1721 =item Method Invocation
1722
1723 =item WARNING
1724
1725 =item Default UNIVERSAL methods
1726
1727 isa(CLASS), can(METHOD), VERSION( [NEED] )
1728
1729 =item Destructors
1730
1731 =item Summary
1732
1733 =item Two-Phased Garbage Collection
1734
1735 =back
1736
1737 =item SEE ALSO
1738
1739 =back
1740
1741 =head2 perlbot - Bag'o Object Tricks (the BOT)
1742
1743 =over 4
1744
1745 =item DESCRIPTION
1746
1747 =item OO SCALING TIPS
1748
1749 =item INSTANCE VARIABLES
1750
1751 =item SCALAR INSTANCE VARIABLES
1752
1753 =item INSTANCE VARIABLE INHERITANCE
1754
1755 =item OBJECT RELATIONSHIPS
1756
1757 =item OVERRIDING SUPERCLASS METHODS
1758
1759 =item USING RELATIONSHIP WITH SDBM
1760
1761 =item THINKING OF CODE REUSE
1762
1763 =item CLASS CONTEXT AND THE OBJECT
1764
1765 =item INHERITING A CONSTRUCTOR
1766
1767 =item DELEGATION
1768
1769 =back
1770
1771 =head2 perltie - how to hide an object class in a simple variable
1772
1773 =over 4
1774
1775 =item SYNOPSIS
1776
1777 =item DESCRIPTION
1778
1779 =over 4
1780
1781 =item Tying Scalars
1782
1783 TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this,
1784 DESTROY this
1785
1786 =item Tying Arrays
1787
1788 TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value,
1789 FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this,
1790 key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this,
1791 UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY
1792 this
1793
1794 =item Tying Hashes
1795
1796 USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE
1797 this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY
1798 this, NEXTKEY this, lastkey, UNTIE this, DESTROY this
1799
1800 =item Tying FileHandles
1801
1802 TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this,
1803 LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this,
1804 DESTROY this
1805
1806 =item UNTIE this
1807
1808 =item The C<untie> Gotcha
1809
1810 =back
1811
1812 =item SEE ALSO
1813
1814 =item BUGS
1815
1816 =item AUTHOR
1817
1818 =back
1819
1820 =head2 perlipc - Perl interprocess communication (signals, fifos, pipes,
1821 safe subprocesses, sockets, and semaphores)
1822
1823 =over 4
1824
1825 =item DESCRIPTION
1826
1827 =item Signals
1828
1829 =item Named Pipes
1830
1831 =over 4
1832
1833 =item WARNING
1834
1835 =back
1836
1837 =item Using open() for IPC
1838
1839 =over 4
1840
1841 =item Filehandles
1842
1843 =item Background Processes
1844
1845 =item Complete Dissociation of Child from Parent
1846
1847 =item Safe Pipe Opens
1848
1849 =item Bidirectional Communication with Another Process
1850
1851 =item Bidirectional Communication with Yourself
1852
1853 =back
1854
1855 =item Sockets: Client/Server Communication
1856
1857 =over 4
1858
1859 =item Internet Line Terminators
1860
1861 =item Internet TCP Clients and Servers
1862
1863 =item Unix-Domain TCP Clients and Servers
1864
1865 =back
1866
1867 =item TCP Clients with IO::Socket
1868
1869 =over 4
1870
1871 =item A Simple Client
1872
1873 C<Proto>, C<PeerAddr>, C<PeerPort>
1874
1875 =item A Webget Client
1876
1877 =item Interactive Client with IO::Socket
1878
1879 =back
1880
1881 =item TCP Servers with IO::Socket
1882
1883 Proto, LocalPort, Listen, Reuse
1884
1885 =item UDP: Message Passing
1886
1887 =item SysV IPC
1888
1889 =item NOTES
1890
1891 =item BUGS
1892
1893 =item AUTHOR
1894
1895 =item SEE ALSO
1896
1897 =back
1898
1899 =head2 perlfork - Perl's fork() emulation
1900
1901 =over 4
1902
1903 =item SYNOPSIS
1904
1905 =item DESCRIPTION
1906
1907 =over 4
1908
1909 =item Behavior of other Perl features in forked pseudo-processes
1910
1911 $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept
1912 filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to
1913 files, directories and network sockets
1914
1915 =item Resource limits
1916
1917 =item Killing the parent process
1918
1919 =item Lifetime of the parent process and pseudo-processes
1920
1921 =item CAVEATS AND LIMITATIONS
1922
1923 BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
1924 Global state maintained by XSUBs, Interpreter embedded in larger
1925 application, Thread-safety of extensions
1926
1927 =back
1928
1929 =item BUGS
1930
1931 =item AUTHOR
1932
1933 =item SEE ALSO
1934
1935 =back
1936
1937 =head2 perlnumber - semantics of numbers and numeric operations in Perl
1938
1939 =over 4
1940
1941 =item SYNOPSIS
1942
1943 =item DESCRIPTION
1944
1945 =item Storing numbers
1946
1947 =item Numeric operators and numeric conversions
1948
1949 =item Flavors of Perl numeric operations
1950
1951 Arithmetic operators except, C<no integer>, Arithmetic operators except,
1952 C<use integer>, Bitwise operators, C<no integer>, Bitwise operators, C<use
1953 integer>, Operators which expect an integer, Operators which expect a
1954 string
1955
1956 =item AUTHOR
1957
1958 =item SEE ALSO
1959
1960 =back
1961
1962 =head2 perlthrtut - tutorial on threads in Perl
1963
1964 =over 4
1965
1966 =item DESCRIPTION
1967
1968 =item What Is A Thread Anyway?
1969
1970 =item Threaded Program Models
1971
1972 =over 4
1973
1974 =item Boss/Worker
1975
1976 =item Work Crew
1977
1978 =item Pipeline
1979
1980 =back
1981
1982 =item Native threads
1983
1984 =item What kind of threads are perl threads?
1985
1986 =item Threadsafe Modules
1987
1988 =item Thread Basics
1989
1990 =over 4
1991
1992 =item Basic Thread Support
1993
1994 =item Creating Threads
1995
1996 =item Giving up control
1997
1998 =item Waiting For A Thread To Exit
1999
2000 =item Errors In Threads
2001
2002 =item Ignoring A Thread
2003
2004 =back
2005
2006 =item Threads And Data
2007
2008 =over 4
2009
2010 =item Shared And Unshared Data
2011
2012 =item Thread Pitfall: Races
2013
2014 =item Controlling access: lock()
2015
2016 =item Thread Pitfall: Deadlocks
2017
2018 =item Queues: Passing Data Around
2019
2020 =back
2021
2022 =item Threads And Code
2023
2024 =over 4
2025
2026 =item Semaphores: Synchronizing Data Access
2027
2028 Basic semaphores, Advanced Semaphores
2029
2030 =item Attributes: Restricting Access To Subroutines
2031
2032 =item Subroutine Locks
2033
2034 =item Methods
2035
2036 =item Locking A Subroutine
2037
2038 =back
2039
2040 =item General Thread Utility Routines
2041
2042 =over 4
2043
2044 =item What Thread Am I In?
2045
2046 =item Thread IDs
2047
2048 =item Are These Threads The Same?
2049
2050 =item What Threads Are Running?
2051
2052 =back
2053
2054 =item A Complete Example
2055
2056 =item Conclusion
2057
2058 =item Bibliography
2059
2060 =over 4
2061
2062 =item Introductory Texts
2063
2064 =item OS-Related References
2065
2066 =item Other References
2067
2068 =back
2069
2070 =item Acknowledgements
2071
2072 =item AUTHOR
2073
2074 =item Copyrights
2075
2076 =back
2077
2078 =head2 perlport - Writing portable Perl
2079
2080 =over 4
2081
2082 =item DESCRIPTION
2083
2084 Not all Perl programs have to be portable, Nearly all of Perl already I<is>
2085 portable
2086
2087 =item ISSUES
2088
2089 =over 4
2090
2091 =item Newlines
2092
2093 =item Numbers endianness and Width
2094
2095 =item Files and Filesystems
2096
2097 =item System Interaction
2098
2099 =item Interprocess Communication (IPC)
2100
2101 =item External Subroutines (XS)
2102
2103 =item Standard Modules
2104
2105 =item Time and Date
2106
2107 =item Character sets and character encoding
2108
2109 =item Internationalisation
2110
2111 =item System Resources
2112
2113 =item Security
2114
2115 =item Style
2116
2117 =back
2118
2119 =item CPAN Testers
2120
2121 Mailing list: cpan-testers@perl.org, Testing results:
2122 http://testers.cpan.org/
2123
2124 =item PLATFORMS
2125
2126 =over 4
2127
2128 =item Unix
2129
2130 =item DOS and Derivatives
2131
2132 Build instructions for OS/2, L<perlos2>
2133
2134 =item S<Mac OS>
2135
2136 =item VMS
2137
2138 =item VOS
2139
2140 =item EBCDIC Platforms
2141
2142 =item Acorn RISC OS
2143
2144 =item Other perls
2145
2146 =back
2147
2148 =item FUNCTION IMPLEMENTATIONS
2149
2150 =over 4
2151
2152 =item Alphabetical Listing of Perl Functions
2153
2154 -I<X> FILEHANDLE, -I<X> EXPR, -I<X>, alarm SECONDS, alarm, binmode
2155 FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt
2156 PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec
2157 LIST, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork,
2158 getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME,
2159 getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr
2160 ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
2161 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
2162 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
2163 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
2164 endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob,
2165 ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE,
2166 lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
2167 msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR,
2168 open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink,
2169 select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
2170 KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
2171 setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
2172 SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
2173 shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair
2174 SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat,
2175 symlink OLDFILE,NEWFILE, syscall LIST, sysopen
2176 FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate
2177 FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST,
2178 wait, waitpid PID,FLAGS
2179
2180 =back
2181
2182 =item CHANGES
2183
2184 v1.47, 22 March 2000, v1.46, 12 February 2000, v1.45, 20 December 1999,
2185 v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May
2186 1999, v1.40, 11 April 1999, v1.39, 11 February 1999, v1.38, 31 December
2187 1998, v1.37, 19 December 1998, v1.36, 9 September 1998, v1.35, 13 August
2188 1998, v1.33, 06 August 1998, v1.32, 05 August 1998, v1.30, 03 August 1998,
2189 v1.23, 10 July 1998
2190
2191 =item Supported Platforms
2192
2193 =item SEE ALSO
2194
2195 =item AUTHORS / CONTRIBUTORS
2196
2197 =item VERSION
2198
2199 =back
2200
2201 =head2 perllocale - Perl locale handling (internationalization and
2202 localization)
2203
2204 =over 4
2205
2206 =item DESCRIPTION
2207
2208 =item PREPARING TO USE LOCALES
2209
2210 =item USING LOCALES
2211
2212 =over 4
2213
2214 =item The use locale pragma
2215
2216 =item The setlocale function
2217
2218 =item Finding locales
2219
2220 =item LOCALE PROBLEMS
2221
2222 =item Temporarily fixing locale problems
2223
2224 =item Permanently fixing locale problems
2225
2226 =item Permanently fixing your system's locale configuration
2227
2228 =item Fixing system locale configuration
2229
2230 =item The localeconv function
2231
2232 =back
2233
2234 =item LOCALE CATEGORIES
2235
2236 =over 4
2237
2238 =item Category LC_COLLATE: Collation
2239
2240 =item Category LC_CTYPE: Character Types
2241
2242 =item Category LC_NUMERIC: Numeric Formatting
2243
2244 =item Category LC_MONETARY: Formatting of monetary amounts
2245
2246 =item LC_TIME
2247
2248 =item Other categories
2249
2250 =back
2251
2252 =item SECURITY
2253
2254 B<Comparison operators> (C<lt>, C<le>, C<ge>, C<gt> and C<cmp>):,
2255 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>),
2256 B<Matching operator> (C<m//>):, B<Substitution operator> (C<s///>):,
2257 B<Output formatting functions> (printf() and write()):, B<Case-mapping
2258 functions> (lc(), lcfirst(), uc(), ucfirst()):, B<POSIX locale-dependent
2259 functions> (localeconv(), strcoll(), strftime(), strxfrm()):, B<POSIX
2260 character class tests> (isalnum(), isalpha(), isdigit(), isgraph(),
2261 islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit()):
2262
2263 =item ENVIRONMENT
2264
2265 PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY,
2266 LC_NUMERIC, LC_TIME, LANG
2267
2268 =item NOTES
2269
2270 =over 4
2271
2272 =item Backward compatibility
2273
2274 =item I18N:Collate obsolete
2275
2276 =item Sort speed and memory use impacts
2277
2278 =item write() and LC_NUMERIC
2279
2280 =item Freely available locale definitions
2281
2282 =item I18n and l10n
2283
2284 =item An imperfect standard
2285
2286 =back
2287
2288 =item BUGS
2289
2290 =over 4
2291
2292 =item Broken systems
2293
2294 =back
2295
2296 =item SEE ALSO
2297
2298 =item HISTORY
2299
2300 =back
2301
2302 =head2 perlunicode - Unicode support in Perl
2303
2304 =over 4
2305
2306 =item DESCRIPTION
2307
2308 =over 4
2309
2310 =item Important Caveat
2311
2312 Input and Output Disciplines, Regular Expressions, C<use utf8> still needed
2313 to enable a few features
2314
2315 =item Byte and Character semantics
2316
2317 =item Effects of character semantics
2318
2319 =item Character encodings for input and output
2320
2321 =back
2322
2323 =item CAVEATS
2324
2325 =item SEE ALSO
2326
2327 =back
2328
2329 =head2 perlebcdic - Considerations for running Perl on EBCDIC platforms
2330
2331 =over 4
2332
2333 =item DESCRIPTION
2334
2335 =item COMMON CHARACTER CODE SETS
2336
2337 =over 4
2338
2339 =item ASCII
2340
2341 =item ISO 8859
2342
2343 =item Latin 1 (ISO 8859-1)
2344
2345 =item EBCDIC
2346
2347 =item 13 variant characters
2348
2349 =item 0037
2350
2351 =item 1047
2352
2353 =item POSIX-BC
2354
2355 =back
2356
2357 =item SINGLE OCTET TABLES
2358
2359 recipe 0, recipe 1, recipe 2, recipe 3, recipe 4
2360
2361 =item IDENTIFYING CHARACTER CODE SETS
2362
2363 =item CONVERSIONS
2364
2365 =over 4
2366
2367 =item tr///
2368
2369 =item iconv
2370
2371 =item C RTL
2372
2373 =back
2374
2375 =item OPERATOR DIFFERENCES
2376
2377 =item FUNCTION DIFFERENCES
2378
2379 chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
2380
2381 =item REGULAR EXPRESSION DIFFERENCES
2382
2383 =item SOCKETS
2384
2385 =item SORTING
2386
2387 =over 4
2388
2389 =item Ignore ASCII vs. EBCDIC sort differences.
2390
2391 =item MONO CASE then sort data.
2392
2393 =item Convert, sort data, then re convert.
2394
2395 =item Perform sorting on one type of machine only.
2396
2397 =back
2398
2399 =item TRANFORMATION FORMATS
2400
2401 =over 4
2402
2403 =item URL decoding and encoding
2404
2405 =item uu encoding and decoding
2406
2407 =item Quoted-Printable encoding and decoding
2408
2409 =item Caesarian cyphers
2410
2411 =back
2412
2413 =item Hashing order and checksums
2414
2415 =item I18N AND L10N
2416
2417 =item MULTI OCTET CHARACTER SETS
2418
2419 =item OS ISSUES
2420
2421 =over 4
2422
2423 =item OS/400 
2424
2425 IFS access
2426
2427 =item OS/390 
2428
2429 chcp, dataset access, OS/390 iconv, locales
2430
2431 =item VM/ESA?
2432
2433 =item POSIX-BC?
2434
2435 =back
2436
2437 =item BUGS
2438
2439 =item SEE ALSO
2440
2441 =item REFERENCES
2442
2443 =item AUTHOR
2444
2445 =back
2446
2447 =head2 perlsec - Perl security
2448
2449 =over 4
2450
2451 =item DESCRIPTION
2452
2453 =over 4
2454
2455 =item Laundering and Detecting Tainted Data
2456
2457 =item Switches On the "#!" Line
2458
2459 =item Cleaning Up Your Path
2460
2461 =item Security Bugs
2462
2463 =item Protecting Your Programs
2464
2465 =back
2466
2467 =item SEE ALSO
2468
2469 =back
2470
2471 =head2 perlmod - Perl modules (packages and symbol tables)
2472
2473 =over 4
2474
2475 =item DESCRIPTION
2476
2477 =over 4
2478
2479 =item Packages
2480
2481 =item Symbol Tables
2482
2483 =item Package Constructors and Destructors
2484
2485 =item Perl Classes
2486
2487 =item Perl Modules
2488
2489 =back
2490
2491 =item SEE ALSO
2492
2493 =back
2494
2495 =head2 perlmodlib - constructing new Perl modules and finding existing ones
2496
2497 =over 4
2498
2499 =item DESCRIPTION
2500
2501 =item THE PERL MODULE LIBRARY
2502
2503 =over 4
2504
2505 =item Pragmatic Modules
2506
2507 attributes, attrs, autouse, base, blib, bytes, charnames, constant,
2508 diagnostics, fields, filetest, integer, less, locale, open, ops, overload,
2509 perlio, re, sigtrap, strict, subs, utf8, vars, warnings, warnings::register
2510
2511 =item Standard Modules
2512
2513 AnyDBM_File, AutoLoader, AutoSplit, B, B::Asmdata, B::Assembler, B::Bblock,
2514 B::Bytecode, B::C, B::CC, B::Debug, B::Deparse, B::Disassembler, B::Lint,
2515 B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark,
2516 ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast,
2517 CGI::Pretty, CGI::Push, CGI::Switch, CPAN, CPAN::FirstTime, CPAN::Nox,
2518 Carp, Class::Struct, Cwd, DB, DB_File, Devel::SelfStubber, DirHandle,
2519 Dumpvalue, Encode, English, Env, Exporter, Exporter::Heavy,
2520 ExtUtils::Command, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed,
2521 ExtUtils::Liblist, ExtUtils::MM_Cygwin, ExtUtils::MM_OS2,
2522 ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32,
2523 ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
2524 ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl,
2525 File::Basename, File::CheckTree, File::Compare, File::Copy, File::DosGlob,
2526 File::Find, File::Path, File::Spec, File::Spec::Epoc,
2527 File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix,
2528 File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache,
2529 FileHandle, Filter::Simple, FindBin, Getopt::Long, Getopt::Std,
2530 I18N::Collate, IO, IPC::Open2, IPC::Open3, Math::BigFloat, Math::BigInt,
2531 Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent,
2532 Net::protoent, Net::servent, O, ODBM_File, Opcode, Pod::Checker, Pod::Find,
2533 Pod::Html, Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseUtils,
2534 Pod::Parser, Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color,
2535 Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Search::Dict, SelectSaver,
2536 SelfLoader, Shell, Socket, Storable, Symbol, Term::ANSIColor, Term::Cap,
2537 Term::Complete, Term::ReadLine, Test, Test::Harness, Text::Abbrev,
2538 Text::ParseWords, Text::Soundex, Text::Wrap, Tie::Array, Tie::Handle,
2539 Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local,
2540 Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, User::grent,
2541 User::pwent
2542
2543 =item Extension Modules
2544
2545 =back
2546
2547 =item CPAN
2548
2549 Language Extensions and Documentation Tools, Development Support, Operating
2550 System Interfaces, Networking, Device Control (modems) and InterProcess
2551 Communication, Data Types and Data Type Utilities, Database Interfaces,
2552 User Interfaces, Interfaces to / Emulations of Other Programming Languages,
2553 File Names, File Systems and File Locking (see also File Handles), String
2554 Processing, Language Text Processing, Parsing, and Searching, Option,
2555 Argument, Parameter, and Configuration File Processing,
2556 Internationalization and Locale, Authentication, Security, and Encryption,
2557 World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities,
2558 Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing,
2559 and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and
2560 exceptions etc), File Handle and Input/Output Stream Utilities,
2561 Miscellaneous Modules, Africa, Asia, Australasia, Central America, Europe,
2562 North America, South America
2563
2564 =item Modules: Creation, Use, and Abuse
2565
2566 =over 4
2567
2568 =item Guidelines for Module Creation
2569
2570 Do similar modules already exist in some form?, Try to design the new
2571 module to be easy to extend and reuse, Some simple style guidelines, Select
2572 what to export, Select a name for the module, Have you got it right?,
2573 README and other Additional Files, A description of the
2574 module/package/extension etc, A copyright notice - see below, Prerequisites
2575 - what else you may need to have, How to build it - possible changes to
2576 Makefile.PL etc, How to install it, Recent changes in this release,
2577 especially incompatibilities, Changes / enhancements you plan to make in
2578 the future, Adding a Copyright Notice, Give the module a
2579 version/issue/release number, How to release and distribute a module, Take
2580 care when changing a released module
2581
2582 =item Guidelines for Converting Perl 4 Library Scripts into Modules
2583
2584 There is no requirement to convert anything, Consider the implications,
2585 Make the most of the opportunity, The pl2pm utility will get you started,
2586 Adds the standard Module prologue lines, Converts package specifiers from '
2587 to ::, Converts die(...) to croak(...), Several other minor changes
2588
2589 =item Guidelines for Reusing Application Code
2590
2591 Complete applications rarely belong in the Perl Module Library, Many
2592 applications contain some Perl code that could be reused, Break-out the
2593 reusable code into one or more separate module files, Take the opportunity
2594 to reconsider and redesign the interfaces, In some cases the 'application'
2595 can then be reduced to a small
2596
2597 =back
2598
2599 =item NOTE
2600
2601 =back
2602
2603 =head2 perlmodinstall - Installing CPAN Modules
2604
2605 =over 4
2606
2607 =item DESCRIPTION
2608
2609 =over 4
2610
2611 =item PREAMBLE
2612
2613 B<DECOMPRESS> the file, B<UNPACK> the file into a directory, B<BUILD> the
2614 module (sometimes unnecessary), B<INSTALL> the module
2615
2616 =back
2617
2618 =item PORTABILITY
2619
2620 =item HEY
2621
2622 =item AUTHOR
2623
2624 =item COPYRIGHT
2625
2626 =back
2627
2628 =head2 perlnewmod - preparing a new module for distribution
2629
2630 =over 4
2631
2632 =item DESCRIPTION
2633
2634 =over 4
2635
2636 =item Warning
2637
2638 =item What should I make into a module?
2639
2640 =item Step-by-step: Preparing the ground
2641
2642 Look around, Check it's new, Discuss the need, Choose a name, Check again
2643
2644 =item Step-by-step: Making the module
2645
2646 Start with F<h2xs>, Use L<strict|strict> and L<warnings|warnings>, Use
2647 L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!, Use L<plain old
2648 documentation|perlpod>, Write tests, Write the README
2649
2650 =item Step-by-step: Distributing your module
2651
2652 Get a CPAN user ID, C<perl Makefile.PL; make test; make dist>, Upload the
2653 tarball, Announce to the modules list, Announce to clpa, Fix bugs!
2654
2655 =back
2656
2657 =item AUTHOR
2658
2659 =item SEE ALSO
2660
2661 =back
2662
2663 =head2 perlfaq1 - General Questions About Perl ($Revision: 1.23 $, $Date:
2664 1999/05/23 16:08:30 $)
2665
2666 =over 4
2667
2668 =item DESCRIPTION
2669
2670 =over 4
2671
2672 =item What is Perl?
2673
2674 =item Who supports Perl?  Who develops it?  Why is it free?
2675
2676 =item Which version of Perl should I use?
2677
2678 =item What are perl4 and perl5?
2679
2680 =item What is perl6?
2681
2682 =item How stable is Perl?
2683
2684 =item Is Perl difficult to learn?
2685
2686 =item How does Perl compare with other languages like Java, Python, REXX,
2687 Scheme, or Tcl?
2688
2689 =item Can I do [task] in Perl?
2690
2691 =item When shouldn't I program in Perl?
2692
2693 =item What's the difference between "perl" and "Perl"?
2694
2695 =item Is it a Perl program or a Perl script?
2696
2697 =item What is a JAPH?
2698
2699 =item Where can I get a list of Larry Wall witticisms?
2700
2701 =item How can I convince my sysadmin/supervisor/employees to use version
2702 5/5.005/Perl instead of some other language?
2703
2704 =back
2705
2706 =item AUTHOR AND COPYRIGHT
2707
2708 =back
2709
2710 =head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $,
2711 $Date: 1999/10/14 18:46:09 $)
2712
2713 =over 4
2714
2715 =item DESCRIPTION
2716
2717 =over 4
2718
2719 =item What machines support Perl?  Where do I get it?
2720
2721 =item How can I get a binary version of Perl?
2722
2723 =item I don't have a C compiler on my system.  How can I compile perl?
2724
2725 =item I copied the Perl binary from one machine to another, but scripts
2726 don't work.
2727
2728 =item I grabbed the sources and tried to compile but gdbm/dynamic
2729 loading/malloc/linking/... failed.  How do I make it work?
2730
2731 =item What modules and extensions are available for Perl?  What is CPAN? 
2732 What does CPAN/src/... mean?
2733
2734 =item Is there an ISO or ANSI certified version of Perl?
2735
2736 =item Where can I get information on Perl?
2737
2738 =item What are the Perl newsgroups on Usenet?  Where do I post questions?
2739
2740 =item Where should I post source code?
2741
2742 =item Perl Books
2743
2744 References, Tutorials, Task-Oriented, Special Topics
2745
2746 =item Perl in Magazines
2747
2748 =item Perl on the Net: FTP and WWW Access
2749
2750 =item What mailing lists are there for Perl?
2751
2752 =item Archives of comp.lang.perl.misc
2753
2754 =item Where can I buy a commercial version of Perl?
2755
2756 =item Where do I send bug reports?
2757
2758 =item What is perl.com? Perl Mongers? pm.org? perl.org?
2759
2760 =back
2761
2762 =item AUTHOR AND COPYRIGHT
2763
2764 =back
2765
2766 =head2 perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23
2767 16:08:30 $)
2768
2769 =over 4
2770
2771 =item DESCRIPTION
2772
2773 =over 4
2774
2775 =item How do I do (anything)?
2776
2777 =item How can I use Perl interactively?
2778
2779 =item Is there a Perl shell?
2780
2781 =item How do I debug my Perl programs?
2782
2783 =item How do I profile my Perl programs?
2784
2785 =item How do I cross-reference my Perl programs?
2786
2787 =item Is there a pretty-printer (formatter) for Perl?
2788
2789 =item Is there a ctags for Perl?
2790
2791 =item Is there an IDE or Windows Perl Editor?
2792
2793 =item Where can I get Perl macros for vi?
2794
2795 =item Where can I get perl-mode for emacs?
2796
2797 =item How can I use curses with Perl?
2798
2799 =item How can I use X or Tk with Perl?
2800
2801 =item How can I generate simple menus without using CGI or Tk?
2802
2803 =item What is undump?
2804
2805 =item How can I make my Perl program run faster?
2806
2807 =item How can I make my Perl program take less memory?
2808
2809 =item Is it unsafe to return a pointer to local data?
2810
2811 =item How can I free an array or hash so my program shrinks?
2812
2813 =item How can I make my CGI script more efficient?
2814
2815 =item How can I hide the source for my Perl program?
2816
2817 =item How can I compile my Perl program into byte code or C?
2818
2819 =item How can I compile Perl into Java?
2820
2821 =item How can I get C<#!perl> to work on [MS-DOS,NT,...]?
2822
2823 =item Can I write useful Perl programs on the command line?
2824
2825 =item Why don't Perl one-liners work on my DOS/Mac/VMS system?
2826
2827 =item Where can I learn about CGI or Web programming in Perl?
2828
2829 =item Where can I learn about object-oriented Perl programming?
2830
2831 =item Where can I learn about linking C with Perl? [h2xs, xsubpp]
2832
2833 =item I've read perlembed, perlguts, etc., but I can't embed perl in
2834 my C program; what am I doing wrong?
2835
2836 =item When I tried to run my script, I got this message. What does it
2837 mean?
2838
2839 =item What's MakeMaker?
2840
2841 =back
2842
2843 =item AUTHOR AND COPYRIGHT
2844
2845 =back
2846
2847 =head2 perlfaq4 - Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23
2848 20:37:49 $)
2849
2850 =over 4
2851
2852 =item DESCRIPTION
2853
2854 =item Data: Numbers
2855
2856 =over 4
2857
2858 =item Why am I getting long decimals (eg, 19.9499999999999) instead of the
2859 numbers I should be getting (eg, 19.95)?
2860
2861 =item Why isn't my octal data interpreted correctly?
2862
2863 =item Does Perl have a round() function?  What about ceil() and floor()? 
2864 Trig functions?
2865
2866 =item How do I convert bits into ints?
2867
2868 =item Why doesn't & work the way I want it to?
2869
2870 =item How do I multiply matrices?
2871
2872 =item How do I perform an operation on a series of integers?
2873
2874 =item How can I output Roman numerals?
2875
2876 =item Why aren't my random numbers random?
2877
2878 =back
2879
2880 =item Data: Dates
2881
2882 =over 4
2883
2884 =item How do I find the week-of-the-year/day-of-the-year?
2885
2886 =item How do I find the current century or millennium?
2887
2888 =item How can I compare two dates and find the difference?
2889
2890 =item How can I take a string and turn it into epoch seconds?
2891
2892 =item How can I find the Julian Day?
2893
2894 =item How do I find yesterday's date?
2895
2896 =item Does Perl have a Year 2000 problem?  Is Perl Y2K compliant?
2897
2898 =back
2899
2900 =item Data: Strings
2901
2902 =over 4
2903
2904 =item How do I validate input?
2905
2906 =item How do I unescape a string?
2907
2908 =item How do I remove consecutive pairs of characters?
2909
2910 =item How do I expand function calls in a string?
2911
2912 =item How do I find matching/nesting anything?
2913
2914 =item How do I reverse a string?
2915
2916 =item How do I expand tabs in a string?
2917
2918 =item How do I reformat a paragraph?
2919
2920 =item How can I access/change the first N letters of a string?
2921
2922 =item How do I change the Nth occurrence of something?
2923
2924 =item How can I count the number of occurrences of a substring within a
2925 string?
2926
2927 =item How do I capitalize all the words on one line?
2928
2929 =item How can I split a [character] delimited string except when inside
2930 [character]? (Comma-separated files)
2931
2932 =item How do I strip blank space from the beginning/end of a string?
2933
2934 =item How do I pad a string with blanks or pad a number with zeroes?
2935
2936 =item How do I extract selected columns from a string?
2937
2938 =item How do I find the soundex value of a string?
2939
2940 =item How can I expand variables in text strings?
2941
2942 =item What's wrong with always quoting "$vars"?
2943
2944 =item Why don't my <<HERE documents work?
2945
2946 1. There must be no space after the << part, 2. There (probably) should be
2947 a semicolon at the end, 3. You can't (easily) have any space in front of
2948 the tag
2949
2950 =back
2951
2952 =item Data: Arrays
2953
2954 =over 4
2955
2956 =item What is the difference between a list and an array?
2957
2958 =item What is the difference between $array[1] and @array[1]?
2959
2960 =item How can I remove duplicate elements from a list or array?
2961
2962 a) If @in is sorted, and you want @out to be sorted: (this assumes all true
2963 values in the array), b) If you don't know whether @in is sorted:, c) Like
2964 (b), but @in contains only small integers:, d) A way to do (b) without any
2965 loops or greps:, e) Like (d), but @in contains only small positive
2966 integers:
2967
2968 =item How can I tell whether a list or array contains a certain element?
2969
2970 =item How do I compute the difference of two arrays?  How do I compute the
2971 intersection of two arrays?
2972
2973 =item How do I test whether two arrays or hashes are equal?
2974
2975 =item How do I find the first array element for which a condition is true?
2976
2977 =item How do I handle linked lists?
2978
2979 =item How do I handle circular lists?
2980
2981 =item How do I shuffle an array randomly?
2982
2983 =item How do I process/modify each element of an array?
2984
2985 =item How do I select a random element from an array?
2986
2987 =item How do I permute N elements of a list?
2988
2989 =item How do I sort an array by (anything)?
2990
2991 =item How do I manipulate arrays of bits?
2992
2993 =item Why does defined() return true on empty arrays and hashes?
2994
2995 =back
2996
2997 =item Data: Hashes (Associative Arrays)
2998
2999 =over 4
3000
3001 =item How do I process an entire hash?
3002
3003 =item What happens if I add or remove keys from a hash while iterating over
3004 it?
3005
3006 =item How do I look up a hash element by value?
3007
3008 =item How can I know how many entries are in a hash?
3009
3010 =item How do I sort a hash (optionally by value instead of key)?
3011
3012 =item How can I always keep my hash sorted?
3013
3014 =item What's the difference between "delete" and "undef" with hashes?
3015
3016 =item Why don't my tied hashes make the defined/exists distinction?
3017
3018 =item How do I reset an each() operation part-way through?
3019
3020 =item How can I get the unique keys from two hashes?
3021
3022 =item How can I store a multidimensional array in a DBM file?
3023
3024 =item How can I make my hash remember the order I put elements into it?
3025
3026 =item Why does passing a subroutine an undefined element in a hash create
3027 it?
3028
3029 =item How can I make the Perl equivalent of a C structure/C++ class/hash or
3030 array of hashes or arrays?
3031
3032 =item How can I use a reference as a hash key?
3033
3034 =back
3035
3036 =item Data: Misc
3037
3038 =over 4
3039
3040 =item How do I handle binary data correctly?
3041
3042 =item How do I determine whether a scalar is a number/whole/integer/float?
3043
3044 =item How do I keep persistent data across program calls?
3045
3046 =item How do I print out or copy a recursive data structure?
3047
3048 =item How do I define methods for every class/object?
3049
3050 =item How do I verify a credit card checksum?
3051
3052 =item How do I pack arrays of doubles or floats for XS code?
3053
3054 =back
3055
3056 =item AUTHOR AND COPYRIGHT
3057
3058 =back
3059
3060 =head2 perlfaq5 - Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23
3061 16:08:30 $)
3062
3063 =over 4
3064
3065 =item DESCRIPTION
3066
3067 =over 4
3068
3069 =item How do I flush/unbuffer an output filehandle?  Why must I do this?
3070
3071 =item How do I change one line in a file/delete a line in a file/insert a
3072 line in the middle of a file/append to the beginning of a file?
3073
3074 =item How do I count the number of lines in a file?
3075
3076 =item How do I make a temporary file name?
3077
3078 =item How can I manipulate fixed-record-length files?
3079
3080 =item How can I make a filehandle local to a subroutine?  How do I pass
3081 filehandles between subroutines?  How do I make an array of filehandles?
3082
3083 =item How can I use a filehandle indirectly?
3084
3085 =item How can I set up a footer format to be used with write()?
3086
3087 =item How can I write() into a string?
3088
3089 =item How can I output my numbers with commas added?
3090
3091 =item How can I translate tildes (~) in a filename?
3092
3093 =item How come when I open a file read-write it wipes it out?
3094
3095 =item Why do I sometimes get an "Argument list too long" when I use <*>?
3096
3097 =item Is there a leak/bug in glob()?
3098
3099 =item How can I open a file with a leading ">" or trailing blanks?
3100
3101 =item How can I reliably rename a file?
3102
3103 =item How can I lock a file?
3104
3105 =item Why can't I just open(FH, ">file.lock")?
3106
3107 =item I still don't get locking.  I just want to increment the number in
3108 the file.  How can I do this?
3109
3110 =item How do I randomly update a binary file?
3111
3112 =item How do I get a file's timestamp in perl?
3113
3114 =item How do I set a file's timestamp in perl?
3115
3116 =item How do I print to more than one file at once?
3117
3118 =item How can I read in an entire file all at once?
3119
3120 =item How can I read in a file by paragraphs?
3121
3122 =item How can I read a single character from a file?  From the keyboard?
3123
3124 =item How can I tell whether there's a character waiting on a filehandle?
3125
3126 =item How do I do a C<tail -f> in perl?
3127
3128 =item How do I dup() a filehandle in Perl?
3129
3130 =item How do I close a file descriptor by number?
3131
3132 =item Why can't I use "C:\temp\foo" in DOS paths?  What doesn't
3133 `C:\temp\foo.exe` work?
3134
3135 =item Why doesn't glob("*.*") get all the files?
3136
3137 =item Why does Perl let me delete read-only files?  Why does C<-i> clobber
3138 protected files?  Isn't this a bug in Perl?
3139
3140 =item How do I select a random line from a file?
3141
3142 =item Why do I get weird spaces when I print an array of lines?
3143
3144 =back
3145
3146 =item AUTHOR AND COPYRIGHT
3147
3148 =back
3149
3150 =head2 perlfaq6 - Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
3151
3152 =over 4
3153
3154 =item DESCRIPTION
3155
3156 =over 4
3157
3158 =item How can I hope to use regular expressions without creating illegible
3159 and unmaintainable code?
3160
3161 Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
3162
3163 =item I'm having trouble matching over more than one line.  What's wrong?
3164
3165 =item How can I pull out lines between two patterns that are themselves on
3166 different lines?
3167
3168 =item I put a regular expression into $/ but it didn't work. What's wrong?
3169
3170 =item How do I substitute case insensitively on the LHS while preserving
3171 case on the RHS?
3172
3173 =item How can I make C<\w> match national character sets?
3174
3175 =item How can I match a locale-smart version of C</[a-zA-Z]/>?
3176
3177 =item How can I quote a variable to use in a regex?
3178
3179 =item What is C</o> really for?
3180
3181 =item How do I use a regular expression to strip C style comments from a
3182 file?
3183
3184 =item Can I use Perl regular expressions to match balanced text?
3185
3186 =item What does it mean that regexes are greedy?  How can I get around it?
3187
3188 =item How do I process each word on each line?
3189
3190 =item How can I print out a word-frequency or line-frequency summary?
3191
3192 =item How can I do approximate matching?
3193
3194 =item How do I efficiently match many regular expressions at once?
3195
3196 =item Why don't word-boundary searches with C<\b> work for me?
3197
3198 =item Why does using $&, $`, or $' slow my program down?
3199
3200 =item What good is C<\G> in a regular expression?
3201
3202 =item Are Perl regexes DFAs or NFAs?  Are they POSIX compliant?
3203
3204 =item What's wrong with using grep or map in a void context?
3205
3206 =item How can I match strings with multibyte characters?
3207
3208 =item How do I match a pattern that is supplied by the user?
3209
3210 =back
3211
3212 =item AUTHOR AND COPYRIGHT
3213
3214 =back
3215
3216 =head2 perlfaq7 - Perl Language Issues ($Revision: 1.28 $, $Date:
3217 1999/05/23 20:36:18 $)
3218
3219 =over 4
3220
3221 =item DESCRIPTION
3222
3223 =over 4
3224
3225 =item Can I get a BNF/yacc/RE for the Perl language?
3226
3227 =item What are all these $@%&* punctuation signs, and how do I know when to
3228 use them?
3229
3230 =item Do I always/never have to quote my strings or use semicolons and
3231 commas?
3232
3233 =item How do I skip some return values?
3234
3235 =item How do I temporarily block warnings?
3236
3237 =item What's an extension?
3238
3239 =item Why do Perl operators have different precedence than C operators?
3240
3241 =item How do I declare/create a structure?
3242
3243 =item How do I create a module?
3244
3245 =item How do I create a class?
3246
3247 =item How can I tell if a variable is tainted?
3248
3249 =item What's a closure?
3250
3251 =item What is variable suicide and how can I prevent it?
3252
3253 =item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
3254 Regex}?
3255
3256 Passing Variables and Functions, Passing Filehandles, Passing Regexes,
3257 Passing Methods
3258
3259 =item How do I create a static variable?
3260
3261 =item What's the difference between dynamic and lexical (static) scoping? 
3262 Between local() and my()?
3263
3264 =item How can I access a dynamic variable while a similarly named lexical
3265 is in scope?
3266
3267 =item What's the difference between deep and shallow binding?
3268
3269 =item Why doesn't "my($foo) = <FILE>;" work right?
3270
3271 =item How do I redefine a builtin function, operator, or method?
3272
3273 =item What's the difference between calling a function as &foo and foo()?
3274
3275 =item How do I create a switch or case statement?
3276
3277 =item How can I catch accesses to undefined variables/functions/methods?
3278
3279 =item Why can't a method included in this same file be found?
3280
3281 =item How can I find out my current package?
3282
3283 =item How can I comment out a large block of perl code?
3284
3285 =item How do I clear a package?
3286
3287 =item How can I use a variable as a variable name?
3288
3289 =back
3290
3291 =item AUTHOR AND COPYRIGHT
3292
3293 =back
3294
3295 =head2 perlfaq8 - System Interaction ($Revision: 1.39 $, $Date: 1999/05/23
3296 18:37:57 $)
3297
3298 =over 4
3299
3300 =item DESCRIPTION
3301
3302 =over 4
3303
3304 =item How do I find out which operating system I'm running under?
3305
3306 =item How come exec() doesn't return?
3307
3308 =item How do I do fancy stuff with the keyboard/screen/mouse?
3309
3310 Keyboard, Screen, Mouse
3311
3312 =item How do I print something out in color?
3313
3314 =item How do I read just one key without waiting for a return key?
3315
3316 =item How do I check whether input is ready on the keyboard?
3317
3318 =item How do I clear the screen?
3319
3320 =item How do I get the screen size?
3321
3322 =item How do I ask the user for a password?
3323
3324 =item How do I read and write the serial port?
3325
3326 lockfiles, open mode, end of line, flushing output, non-blocking input
3327
3328 =item How do I decode encrypted password files?
3329
3330 =item How do I start a process in the background?
3331
3332 STDIN, STDOUT, and STDERR are shared, Signals, Zombies
3333
3334 =item How do I trap control characters/signals?
3335
3336 =item How do I modify the shadow password file on a Unix system?
3337
3338 =item How do I set the time and date?
3339
3340 =item How can I sleep() or alarm() for under a second?
3341
3342 =item How can I measure time under a second?
3343
3344 =item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
3345
3346 =item Why doesn't my sockets program work under System V (Solaris)?  What
3347 does the error message "Protocol not supported" mean?
3348
3349 =item How can I call my system's unique C functions from Perl?
3350
3351 =item Where do I get the include files to do ioctl() or syscall()?
3352
3353 =item Why do setuid perl scripts complain about kernel problems?
3354
3355 =item How can I open a pipe both to and from a command?
3356
3357 =item Why can't I get the output of a command with system()?
3358
3359 =item How can I capture STDERR from an external command?
3360
3361 =item Why doesn't open() return an error when a pipe open fails?
3362
3363 =item What's wrong with using backticks in a void context?
3364
3365 =item How can I call backticks without shell processing?
3366
3367 =item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
3368 ^Z on MS-DOS)?
3369
3370 =item How can I convert my shell script to perl?
3371
3372 =item Can I use perl to run a telnet or ftp session?
3373
3374 =item How can I write expect in Perl?
3375
3376 =item Is there a way to hide perl's command line from programs such as
3377 "ps"?
3378
3379 =item I {changed directory, modified my environment} in a perl script.  How
3380 come the change disappeared when I exited the script?  How do I get my
3381 changes to be visible?
3382
3383 Unix
3384
3385 =item How do I close a process's filehandle without waiting for it to
3386 complete?
3387
3388 =item How do I fork a daemon process?
3389
3390 =item How do I find out if I'm running interactively or not?
3391
3392 =item How do I timeout a slow event?
3393
3394 =item How do I set CPU limits?
3395
3396 =item How do I avoid zombies on a Unix system?
3397
3398 =item How do I use an SQL database?
3399
3400 =item How do I make a system() exit on control-C?
3401
3402 =item How do I open a file without blocking?
3403
3404 =item How do I install a module from CPAN?
3405
3406 =item What's the difference between require and use?
3407
3408 =item How do I keep my own module/library directory?
3409
3410 =item How do I add the directory my program lives in to the module/library
3411 search path?
3412
3413 =item How do I add a directory to my include path at runtime?
3414
3415 =item What is socket.ph and where do I get it?
3416
3417 =back
3418
3419 =item AUTHOR AND COPYRIGHT
3420
3421 =back
3422
3423 =head2 perlfaq9 - Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30
3424 $)
3425
3426 =over 4
3427
3428 =item DESCRIPTION
3429
3430 =over 4
3431
3432 =item My CGI script runs from the command line but not the browser.  (500
3433 Server Error)
3434
3435 =item How can I get better error messages from a CGI program?
3436
3437 =item How do I remove HTML from a string?
3438
3439 =item How do I extract URLs?
3440
3441 =item How do I download a file from the user's machine?  How do I open a
3442 file on another machine?
3443
3444 =item How do I make a pop-up menu in HTML?
3445
3446 =item How do I fetch an HTML file?
3447
3448 =item How do I automate an HTML form submission?
3449
3450 =item How do I decode or create those %-encodings on the web?
3451
3452 =item How do I redirect to another page?
3453
3454 =item How do I put a password on my web pages?
3455
3456 =item How do I edit my .htpasswd and .htgroup files with Perl?
3457
3458 =item How do I make sure users can't enter values into a form that cause my
3459 CGI script to do bad things?
3460
3461 =item How do I parse a mail header?
3462
3463 =item How do I decode a CGI form?
3464
3465 =item How do I check a valid mail address?
3466
3467 =item How do I decode a MIME/BASE64 string?
3468
3469 =item How do I return the user's mail address?
3470
3471 =item How do I send mail?
3472
3473 =item How do I read mail?
3474
3475 =item How do I find out my hostname/domainname/IP address?
3476
3477 =item How do I fetch a news article or the active newsgroups?
3478
3479 =item How do I fetch/put an FTP file?
3480
3481 =item How can I do RPC in Perl?
3482
3483 =back
3484
3485 =item AUTHOR AND COPYRIGHT
3486
3487 =back
3488
3489 =head2 perlcompile - Introduction to the Perl Compiler-Translator 
3490
3491 =over 4
3492
3493 =item DESCRIPTION
3494
3495 =over 4
3496
3497 =item Layout
3498
3499 B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
3500
3501 =back
3502
3503 =item Using The Back Ends
3504
3505 =over 4
3506
3507 =item The Cross Referencing Back End
3508
3509 i, &, s, r
3510
3511 =item The Decompiling Back End
3512
3513 =item The Lint Back End
3514
3515 =item The Simple C Back End
3516
3517 =item The Bytecode Back End
3518
3519 =item The Optimized C Back End
3520
3521 B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC,
3522 B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj,
3523 B::Stash, B::Terse, B::Xref
3524
3525 =back
3526
3527 =item KNOWN PROBLEMS
3528
3529 =item AUTHOR
3530
3531 =back
3532
3533 =head2 perlembed - how to embed perl in your C program
3534
3535 =over 4
3536
3537 =item DESCRIPTION
3538
3539 =over 4
3540
3541 =item PREAMBLE
3542
3543 B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
3544 Perl?>, B<Use C from C?>, B<Use Perl from C?>
3545
3546 =item ROADMAP
3547
3548 Compiling your C program, Adding a Perl interpreter to your C program,
3549 Calling a Perl subroutine from your C program, Evaluating a Perl statement
3550 from your C program, Performing Perl pattern matches and substitutions from
3551 your C program, Fiddling with the Perl stack from your C program,
3552 Maintaining a persistent interpreter, Maintaining multiple interpreter
3553 instances, Using Perl modules, which themselves use C libraries, from your
3554 C program, Embedding Perl under Win32
3555
3556 =item Compiling your C program
3557
3558 =item Adding a Perl interpreter to your C program
3559
3560 =item Calling a Perl subroutine from your C program
3561
3562 =item Evaluating a Perl statement from your C program
3563
3564 =item Performing Perl pattern matches and substitutions from your C program
3565
3566 =item Fiddling with the Perl stack from your C program
3567
3568 =item Maintaining a persistent interpreter
3569
3570 =item Maintaining multiple interpreter instances
3571
3572 =item Using Perl modules, which themselves use C libraries, from your C
3573 program
3574
3575 =back
3576
3577 =item Embedding Perl under Win32
3578
3579 =item MORAL
3580
3581 =item AUTHOR
3582
3583 =item COPYRIGHT
3584
3585 =back
3586
3587 =head2 perldebguts - Guts of Perl debugging 
3588
3589 =over 4
3590
3591 =item DESCRIPTION
3592
3593 =item Debugger Internals
3594
3595 =over 4
3596
3597 =item Writing Your Own Debugger
3598
3599 =back
3600
3601 =item Frame Listing Output Examples
3602
3603 =item Debugging regular expressions
3604
3605 =over 4
3606
3607 =item Compile-time output
3608
3609 C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
3610 I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
3611 I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
3612 C<anchored(TYPE)>
3613
3614 =item Types of nodes
3615
3616 =item Run-time output
3617
3618 =back
3619
3620 =item Debugging Perl memory usage
3621
3622 =over 4
3623
3624 =item Using C<$ENV{PERL_DEBUG_MSTATS}>
3625
3626 C<buckets SMALLEST(APPROX)..GREATEST(APPROX)>, Free/Used, C<Total sbrk():
3627 SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
3628 6144>
3629
3630 =item Example of using B<-DL> switch
3631
3632 C<717>, C<002>, C<054>, C<602>, C<702>, C<704>
3633
3634 =item B<-DL> details
3635
3636 C<!!!>, C<!!>, C<!>
3637
3638 =item Limitations of B<-DL> statistics
3639
3640 =back
3641
3642 =item SEE ALSO
3643
3644 =back
3645
3646 =head2 perlxstut, perlXStut - Tutorial for writing XSUBs
3647
3648 =over 4
3649
3650 =item DESCRIPTION
3651
3652 =item SPECIAL NOTES
3653
3654 =over 4
3655
3656 =item make
3657
3658 =item Version caveat
3659
3660 =item Dynamic Loading versus Static Loading
3661
3662 =back
3663
3664 =item TUTORIAL
3665
3666 =over 4
3667
3668 =item EXAMPLE 1
3669
3670 =item EXAMPLE 2
3671
3672 =item What has gone on?
3673
3674 =item Writing good test scripts
3675
3676 =item EXAMPLE 3
3677
3678 =item What's new here?
3679
3680 =item Input and Output Parameters
3681
3682 =item The XSUBPP Program
3683
3684 =item The TYPEMAP file
3685
3686 =item Warning about Output Arguments
3687
3688 =item EXAMPLE 4
3689
3690 =item What has happened here?
3691
3692 =item Anatomy of .xs file
3693
3694 =item Getting the fat out of XSUBs
3695
3696 =item More about XSUB arguments
3697
3698 =item The Argument Stack
3699
3700 =item Extending your Extension
3701
3702 =item Documenting your Extension
3703
3704 =item Installing your Extension
3705
3706 =item EXAMPLE 5
3707
3708 =item New Things in this Example
3709
3710 =item EXAMPLE 6
3711
3712 =item New Things in this Example
3713
3714 =item EXAMPLE 7 (Coming Soon)
3715
3716 =item EXAMPLE 8 (Coming Soon)
3717
3718 =item EXAMPLE 9 (Coming Soon)
3719
3720 =item Troubleshooting these Examples
3721
3722 =back
3723
3724 =item See also
3725
3726 =item Author
3727
3728 =over 4
3729
3730 =item Last Changed
3731
3732 =back
3733
3734 =back
3735
3736 =head2 perlxs - XS language reference manual
3737
3738 =over 4
3739
3740 =item DESCRIPTION
3741
3742 =over 4
3743
3744 =item Introduction
3745
3746 =item On The Road
3747
3748 =item The Anatomy of an XSUB
3749
3750 =item The Argument Stack
3751
3752 =item The RETVAL Variable
3753
3754 =item The MODULE Keyword
3755
3756 =item The PACKAGE Keyword
3757
3758 =item The PREFIX Keyword
3759
3760 =item The OUTPUT: Keyword
3761
3762 =item The NO_OUTPUT Keyword
3763
3764 =item The CODE: Keyword
3765
3766 =item The INIT: Keyword
3767
3768 =item The NO_INIT Keyword
3769
3770 =item Initializing Function Parameters
3771
3772 =item Default Parameter Values
3773
3774 =item The PREINIT: Keyword
3775
3776 =item The SCOPE: Keyword
3777
3778 =item The INPUT: Keyword
3779
3780 =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
3781
3782 =item Variable-length Parameter Lists
3783
3784 =item The C_ARGS: Keyword
3785
3786 =item The PPCODE: Keyword
3787
3788 =item Returning Undef And Empty Lists
3789
3790 =item The REQUIRE: Keyword
3791
3792 =item The CLEANUP: Keyword
3793
3794 =item The POST_CALL: Keyword
3795
3796 =item The BOOT: Keyword
3797
3798 =item The VERSIONCHECK: Keyword
3799
3800 =item The PROTOTYPES: Keyword
3801
3802 =item The PROTOTYPE: Keyword
3803
3804 =item The ALIAS: Keyword
3805
3806 =item The INTERFACE: Keyword
3807
3808 =item The INTERFACE_MACRO: Keyword
3809
3810 =item The INCLUDE: Keyword
3811
3812 =item The CASE: Keyword
3813
3814 =item The & Unary Operator
3815
3816 =item Inserting POD, Comments and C Preprocessor Directives
3817
3818 =item Using XS With C++
3819
3820 =item Interface Strategy
3821
3822 =item Perl Objects And C Structures
3823
3824 =item The Typemap
3825
3826 =back
3827
3828 =item EXAMPLES
3829
3830 =item XS VERSION
3831
3832 =item AUTHOR
3833
3834 =back
3835
3836 =head2 perlguts - Introduction to the Perl API
3837
3838 =over 4
3839
3840 =item DESCRIPTION
3841
3842 =item Variables
3843
3844 =over 4
3845
3846 =item Datatypes
3847
3848 =item What is an "IV"?
3849
3850 =item Working with SVs
3851
3852 =item Offsets
3853
3854 =item What's Really Stored in an SV?
3855
3856 =item Working with AVs
3857
3858 =item Working with HVs
3859
3860 =item Hash API Extensions
3861
3862 =item References
3863
3864 =item Blessed References and Class Objects
3865
3866 =item Creating New Variables
3867
3868 =item Reference Counts and Mortality
3869
3870 =item Stashes and Globs
3871
3872 =item Double-Typed SVs
3873
3874 =item Magic Variables
3875
3876 =item Assigning Magic
3877
3878 =item Magic Virtual Tables
3879
3880 =item Finding Magic
3881
3882 =item Understanding the Magic of Tied Hashes and Arrays
3883
3884 =item Localizing changes
3885
3886 C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVELONG(long i)>,
3887 C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVEFREESV(SV *sv)>, C<SAVEFREEOP(OP
3888 *op)>, C<SAVEFREEPV(p)>, C<SAVECLEARSV(SV *sv)>, C<SAVEDELETE(HV *hv, char
3889 *key, I32 length)>, C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void
3890 *p)>, C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<SAVESTACK_POS()>,
3891 C<SV* save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>, C<HV* save_hash(GV
3892 *gv)>, C<void save_item(SV *item)>, C<void save_list(SV **sarg, I32
3893 maxsarg)>, C<SV* save_svref(SV **sptr)>, C<void save_aptr(AV **aptr)>,
3894 C<void save_hptr(HV **hptr)>
3895
3896 =back
3897
3898 =item Subroutines
3899
3900 =over 4
3901
3902 =item XSUBs and the Argument Stack
3903
3904 =item Calling Perl Routines from within C Programs
3905
3906 =item Memory Allocation
3907
3908 =item PerlIO
3909
3910 =item Putting a C value on Perl stack
3911
3912 =item Scratchpads
3913
3914 =item Scratchpads and recursion
3915
3916 =back
3917
3918 =item Compiled code
3919
3920 =over 4
3921
3922 =item Code tree
3923
3924 =item Examining the tree
3925
3926 =item Compile pass 1: check routines
3927
3928 =item Compile pass 1a: constant folding
3929
3930 =item Compile pass 2: context propagation
3931
3932 =item Compile pass 3: peephole optimization
3933
3934 =back
3935
3936 =item Examining internal data structures with the C<dump> functions
3937
3938 =item How multiple interpreters and concurrency are supported
3939
3940 =over 4
3941
3942 =item Background and PERL_IMPLICIT_CONTEXT
3943
3944 =item How do I use all this in extensions?
3945
3946 =item Future Plans and PERL_IMPLICIT_SYS
3947
3948 =back
3949
3950 =item Internal Functions
3951
3952 A, p, d, s, n, r, f, m, o, j, x
3953
3954 =over 4
3955
3956 =item Formatted Printing of IVs, UVs, and NVs
3957
3958 =item Pointer-To-Integer and Integer-To-Pointer
3959
3960 =item Source Documentation
3961
3962 =back
3963
3964 =item Unicode Support
3965
3966 =over 4
3967
3968 =item What B<is> Unicode, anyway?
3969
3970 =item How can I recognise a UTF8 string?
3971
3972 =item How does UTF8 represent Unicode characters?
3973
3974 =item How does Perl store UTF8 strings?
3975
3976 =item How do I convert a string to UTF8?
3977
3978 =item Is there anything else I need to know?
3979
3980 =back
3981
3982 =item AUTHORS
3983
3984 =item SEE ALSO
3985
3986 =back
3987
3988 =head2 perlcall - Perl calling conventions from C
3989
3990 =over 4
3991
3992 =item DESCRIPTION
3993
3994 An Error Handler, An Event Driven Program
3995
3996 =item THE CALL_ FUNCTIONS
3997
3998 call_sv, call_pv, call_method, call_argv
3999
4000 =item FLAG VALUES
4001
4002 =over 4
4003
4004 =item  G_VOID
4005
4006 =item  G_SCALAR
4007
4008 =item G_ARRAY
4009
4010 =item G_DISCARD
4011
4012 =item G_NOARGS
4013
4014 =item G_EVAL
4015
4016 =item G_KEEPERR
4017
4018 =item Determining the Context
4019
4020 =back
4021
4022 =item KNOWN PROBLEMS
4023
4024 =item EXAMPLES
4025
4026 =over 4
4027
4028 =item No Parameters, Nothing returned
4029
4030 =item Passing Parameters
4031
4032 =item Returning a Scalar
4033
4034 =item Returning a list of values
4035
4036 =item Returning a list in a scalar context
4037
4038 =item Returning Data from Perl via the parameter list
4039
4040 =item Using G_EVAL
4041
4042 =item Using G_KEEPERR
4043
4044 =item Using call_sv
4045
4046 =item Using call_argv
4047
4048 =item Using call_method
4049
4050 =item Using GIMME_V
4051
4052 =item Using Perl to dispose of temporaries
4053
4054 =item Strategies for storing Callback Context Information
4055
4056 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
4057 callbacks - hard wired limit, 3. Use a parameter to map to the Perl
4058 callback
4059
4060 =item Alternate Stack Manipulation
4061
4062 =item Creating and calling an anonymous subroutine in C
4063
4064 =back
4065
4066 =item SEE ALSO
4067
4068 =item AUTHOR
4069
4070 =item DATE
4071
4072 =back
4073
4074 =head2 perlutil - utilities packaged with the Perl distribution
4075
4076 =over 4
4077
4078 =item DESCRIPTION
4079
4080 =over 4
4081
4082 =item DOCUMENTATION
4083
4084 L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
4085 L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
4086 L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
4087 L<roffitall|roffitall>
4088
4089 =item CONVERTORS
4090
4091 L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>
4092
4093 =item Development
4094
4095 L<perlbug|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and L<pstruct|pstruct>,
4096 L<h2xs|h2xs>, L<dprofpp|dprofpp>, L<perlcc|perlcc>
4097
4098 =item SEE ALSO
4099
4100 =back
4101
4102 =back
4103
4104 =head2 perlfilter - Source Filters
4105
4106 =over 4
4107
4108 =item DESCRIPTION
4109
4110 =item CONCEPTS
4111
4112 =item USING FILTERS
4113
4114 =item WRITING A SOURCE FILTER
4115
4116 =item WRITING A SOURCE FILTER IN C
4117
4118 B<Decryption Filters>
4119
4120 =item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
4121
4122 =item WRITING A SOURCE FILTER IN PERL
4123
4124 =item USING CONTEXT: THE DEBUG FILTER
4125
4126 =item CONCLUSION
4127
4128 =item REQUIREMENTS
4129
4130 =item AUTHOR
4131
4132 =item Copyrights
4133
4134 =back
4135
4136 =head2 perldbmfilter - Perl DBM Filters
4137
4138 =over 4
4139
4140 =item SYNOPSIS
4141
4142 =item DESCRIPTION
4143
4144 B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
4145 B<filter_fetch_value>
4146
4147 =over 4
4148
4149 =item The Filter
4150
4151 =item An Example -- the NULL termination problem.
4152
4153 =item Another Example -- Key is a C int.
4154
4155 =back
4156
4157 =item SEE ALSO
4158
4159 =item AUTHOR
4160
4161 =back
4162
4163 =head2 perlapi - autogenerated documentation for the perl public API
4164
4165 =over 4
4166
4167 =item DESCRIPTION
4168
4169 AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill,
4170 av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift,
4171 bytes_to_utf8, call_argv, call_method, call_pv, call_sv, CLASS, Copy,
4172 croak, CvSTASH, cv_const_sv, dMARK, dORIGMARK, dSP, dXSARGS, dXSI32, ENTER,
4173 eval_pv, eval_sv, EXTEND, fbm_compile, fbm_instr, FREETMPS, get_av, get_cv,
4174 get_hv, get_sv, GIMME, GIMME_V, GvSV, gv_fetchmeth, gv_fetchmethod,
4175 gv_fetchmethod_autoload, gv_stashpv, gv_stashsv, G_ARRAY, G_DISCARD,
4176 G_EVAL, G_NOARGS, G_SCALAR, G_VOID, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV,
4177 HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete,
4178 hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
4179 hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv,
4180 hv_iterval, hv_magic, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA,
4181 isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, looks_like_number,
4182 MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical,
4183 mg_set, Move, New, newAV, Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc,
4184 NEWSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share,
4185 newSVrv, newSVsv, newSVuv, newXS, newXSproto, Newz, Nullav, Nullch, Nullcv,
4186 Nullhv, Nullsv, ORIGMARK, perl_alloc, perl_construct, perl_destruct,
4187 perl_free, perl_parse, perl_run, PL_DBsingle, PL_DBsub, PL_DBtrace,
4188 PL_dowarn, PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes, POPi,
4189 POPl, POPn, POPp, POPs, PUSHi, PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu,
4190 PUTBACK, Renew, Renewc, require_pv, RETVAL, Safefree, savepv, savepvn,
4191 SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE, strGT, strLE, strLT, strNE,
4192 strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set, SvEND, SvGETMAGIC, SvGROW,
4193 SvIOK, SvIOKp, SvIOK_notUV, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV,
4194 SvIOK_UV, SvIV, SvIVX, SvLEN, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp,
4195 SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp,
4196 SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV, SvPVX, SvPV_force,
4197 SvPV_nolen, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off,
4198 SvROK_on, SvRV, SvSETMAGIC, SvSetSV, SvSetSV_nosteal, SvSTASH, SvTAINT,
4199 SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, svtype, SvTYPE, SVt_IV,
4200 SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUOK, SvUPGRADE,
4201 SvUTF8, SvUTF8_off, SvUTF8_on, SvUV, SvUVX, sv_2mortal, sv_bless, sv_catpv,
4202 sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_mg, sv_catpv_mg, sv_catsv,
4203 sv_catsv_mg, sv_chop, sv_clear, sv_cmp, sv_cmp_locale, sv_dec,
4204 sv_derived_from, sv_eq, sv_free, sv_gets, sv_grow, sv_inc, sv_insert,
4205 sv_isa, sv_isobject, sv_len, sv_len_utf8, sv_magic, sv_mortalcopy,
4206 sv_newmortal, sv_pvn_force, sv_pvutf8n_force, sv_reftype, sv_replace,
4207 sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv,
4208 sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn,
4209 sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv,
4210 sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv, sv_setuv_mg, sv_true,
4211 sv_unmagic, sv_unref, sv_unref_flags, sv_upgrade, sv_usepvn, sv_usepvn_mg,
4212 sv_utf8_downgrade, sv_utf8_encode, sv_utf8_upgrade, sv_vcatpvfn,
4213 sv_vsetpvfn, THIS, toLOWER, toUPPER, U8 *s, utf8_distance, utf8_hop,
4214 utf8_length, utf8_to_bytes, utf8_to_uv, utf8_to_uv_simple, warn, XPUSHi,
4215 XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV,
4216 XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES,
4217 XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION,
4218 XS_VERSION_BOOTCHECK, Zero
4219
4220 =item AUTHORS
4221
4222 =item SEE ALSO
4223
4224 =back
4225
4226 =head2 perlintern - autogenerated documentation of purely B<internal>
4227                  Perl functions
4228
4229 =over 4
4230
4231 =item DESCRIPTION
4232
4233 djSP, is_gv_magical, start_glob
4234
4235 =item AUTHORS
4236
4237 =item SEE ALSO
4238
4239 =back
4240
4241 =head2 perlapio - perl's IO abstraction interface.
4242
4243 =over 4
4244
4245 =item SYNOPSIS
4246
4247 =item DESCRIPTION
4248
4249 B<PerlIO *>, B<PerlIO_stdin()>, B<PerlIO_stdout()>, B<PerlIO_stderr()>,
4250 B<PerlIO_open(path, mode)>, B<PerlIO_fdopen(fd,mode)>,
4251 B<PerlIO_printf(f,fmt,...)>, B<PerlIO_vprintf(f,fmt,a)>,
4252 B<PerlIO_stdoutf(fmt,...)>, B<PerlIO_read(f,buf,count)>,
4253 B<PerlIO_write(f,buf,count)>, B<PerlIO_close(f)>, B<PerlIO_puts(f,s)>,
4254 B<PerlIO_putc(f,c)>, B<PerlIO_ungetc(f,c)>, B<PerlIO_getc(f)>,
4255 B<PerlIO_eof(f)>, B<PerlIO_error(f)>, B<PerlIO_fileno(f)>,
4256 B<PerlIO_clearerr(f)>, B<PerlIO_flush(f)>, B<PerlIO_tell(f)>,
4257 B<PerlIO_seek(f,o,w)>, B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)>,
4258 B<PerlIO_rewind(f)>, B<PerlIO_tmpfile()>
4259
4260 =over 4
4261
4262 =item Co-existence with stdio
4263
4264 B<PerlIO_importFILE(f,flags)>, B<PerlIO_exportFILE(f,flags)>,
4265 B<PerlIO_findFILE(f)>, B<PerlIO_releaseFILE(p,f)>, B<PerlIO_setlinebuf(f)>,
4266 B<PerlIO_has_cntptr(f)>, B<PerlIO_get_ptr(f)>, B<PerlIO_get_cnt(f)>,
4267 B<PerlIO_canset_cnt(f)>, B<PerlIO_fast_gets(f)>,
4268 B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>,
4269 B<PerlIO_get_base(f)>, B<PerlIO_get_bufsiz(f)>
4270
4271 =back
4272
4273 =back
4274
4275 =head2 perltodo - Perl TO-DO List
4276
4277 =over 4
4278
4279 =item DESCRIPTION
4280
4281 =item Infrastructure
4282
4283 =over 4
4284
4285 =item Mailing list archives
4286
4287 =item Bug tracking system
4288
4289 =item Regression Tests
4290
4291 Coverage, Regression, __DIE__, suidperl, The 25% slowdown from perl4 to
4292 perl5
4293
4294 =back
4295
4296 =item Configure
4297
4298 =over 4
4299
4300 =item Install HTML
4301
4302 =back
4303
4304 =item Perl Language
4305
4306 =over 4
4307
4308 =item 64-bit Perl
4309
4310 =item Prototypes
4311
4312 Named prototypes, Indirect objects, Method calls, Context, Scoped subs
4313
4314 =back
4315
4316 =item Perl Internals
4317
4318 =over 4
4319
4320 =item magic_setisa
4321
4322 =item Garbage Collection
4323
4324 =item Reliable signals
4325
4326 Alternate runops() for signal despatch, Figure out how to die() in delayed
4327 sighandler, Add tests for Thread::Signal, Automatic tests against CPAN
4328
4329 =item Interpolated regex performance bugs
4330
4331 =item Memory leaks from failed eval/regcomp
4332
4333 =item Make XS easier to use
4334
4335 =item Make embedded Perl easier to use
4336
4337 =item Namespace cleanup
4338
4339 =item MULTIPLICITY
4340
4341 =item MacPerl
4342
4343 =back
4344
4345 =item Documentation
4346
4347 =over 4
4348
4349 =item A clear division into tutorial and reference
4350
4351 =item Remove the artificial distinction between operators and functions
4352
4353 =item More tutorials
4354
4355 Regular expressions, I/O, pack/unpack, Debugging
4356
4357 =item Include a search tool
4358
4359 =item Include a locate tool
4360
4361 =item Separate function manpages by default
4362
4363 =item Users can't find the manpages
4364
4365 =item Install ALL Documentation
4366
4367 =item Outstanding issues to be documented
4368
4369 =item Adapt www.linuxhq.com for Perl
4370
4371 =item Replace man with a perl program
4372
4373 =item Unicode tutorial
4374
4375 =back
4376
4377 =item Modules
4378
4379 =over 4
4380
4381 =item Update the POSIX extension to conform with the POSIX 1003.1 Edition 2
4382
4383 =item Module versions
4384
4385 =item New modules
4386
4387 =item Profiler
4388
4389 =item Tie Modules
4390
4391 VecArray, SubstrArray, VirtualArray, ShiftSplice
4392
4393 =item Procedural options
4394
4395 =item RPC
4396
4397 =item y2k localtime/gmtime
4398
4399 =item Export File::Find variables
4400
4401 =item Ioctl
4402
4403 =item Debugger attach/detach
4404
4405 =item Regular Expression debugger
4406
4407 =item Alternative RE Syntax
4408
4409 =item Bundled modules
4410
4411 =item Expect
4412
4413 =item GUI::Native
4414
4415 =item Update semibroken auxiliary tools; h2ph, a2p, etc.
4416
4417 =item pod2html
4418
4419 =item Podchecker
4420
4421 =back
4422
4423 =item Tom's Wishes
4424
4425 =over 4
4426
4427 =item Webperl
4428
4429 =item Mobile agents
4430
4431 =item POSIX on non-POSIX
4432
4433 =item Portable installations
4434
4435 =back
4436
4437 =item Win32 Stuff
4438
4439 =over 4
4440
4441 =item Rename new headers to be consistent with the rest
4442
4443 =item Sort out the spawnvp() mess
4444
4445 =item Work out DLL versioning
4446
4447 =item Style-check
4448
4449 =back
4450
4451 =item Would be nice to have
4452
4453 C<pack "(stuff)*">, Contiguous bitfields in pack/unpack, lexperl, Bundled
4454 perl preprocessor, Use posix calls internally where possible, format
4455 BOTTOM, -i rename file only when successfully changed, All ARGV input
4456 should act like <>, report HANDLE [formats], support in perlmain to rerun
4457 debugger, lvalue functions
4458
4459 =item Possible pragmas
4460
4461 =over 4
4462
4463 =item 'less'
4464
4465 =back
4466
4467 =item Optimizations
4468
4469 =over 4
4470
4471 =item constant function cache
4472
4473 =item foreach(reverse...)
4474
4475 =item Cache eval tree
4476
4477 =item rcatmaybe
4478
4479 =item Shrink opcode tables
4480
4481 =item Cache hash value
4482
4483 =item Optimize away @_ where possible
4484
4485 =item Optimize sort by { $a <=> $b }
4486
4487 =item Rewrite regexp parser for better integrated optimization
4488
4489 =back
4490
4491 =item Vague possibilities
4492
4493 ref function in list context, make tr/// return histogram in list context?,
4494 Loop control on do{} et al, Explicit switch statements, compile to real
4495 threaded code, structured types, Modifiable $1 et al
4496
4497 =item To Do Or Not To Do
4498
4499 =over 4
4500
4501 =item Making my() work on "package" variables
4502
4503 =item "or" testing defined not truth
4504
4505 =item "dynamic" lexicals
4506
4507 =item "class"-based, rather than package-based "lexicals"
4508
4509 =back
4510
4511 =item Threading
4512
4513 =over 4
4514
4515 =item Modules
4516
4517 =item Testing
4518
4519 =item $AUTOLOAD
4520
4521 =item exit/die
4522
4523 =item External threads
4524
4525 =item Thread::Pool
4526
4527 =item thread-safety
4528
4529 =item Per-thread GVs
4530
4531 =back
4532
4533 =item Compiler
4534
4535 =over 4
4536
4537 =item Optimization
4538
4539 =item Byteperl
4540
4541 =item Precompiled modules
4542
4543 =item Executables
4544
4545 =item Typed lexicals
4546
4547 =item Win32
4548
4549 =item END blocks
4550
4551 =item _AUTOLOAD
4552
4553 =item comppadlist
4554
4555 =item Cached compilation
4556
4557 =back
4558
4559 =item Recently Finished Tasks
4560
4561 =over 4
4562
4563 =item Figure a way out of $^(capital letter)
4564
4565 =item Filenames
4566
4567 =item Foreign lines
4568
4569 =item Namespace cleanup
4570
4571 =item ISA.pm
4572
4573 =item gettimeofday
4574
4575 =item autocroak?
4576
4577 =back
4578
4579 =back
4580
4581 =head2 perlhack - How to hack at the Perl internals
4582
4583 =over 4
4584
4585 =item DESCRIPTION
4586
4587 Does concept match the general goals of Perl?, Where is the
4588 implementation?, Backwards compatibility, Could it be a module instead?, Is
4589 the feature generic enough?, Does it potentially introduce new bugs?, Does
4590 it preclude other desirable features?, Is the implementation robust?, Is
4591 the implementation generic enough to be portable?, Is there enough
4592 documentation?, Is there another way to do it?, Does it create too much
4593 work?, Patches speak louder than words
4594
4595 =over 4
4596
4597 =item Keeping in sync
4598
4599 rsync'ing the source tree, Using rsync over the LAN, Using pushing over the
4600 NFS, rsync'ing the patches, It's easier, It's more recent, It's more
4601 reliable, It's easier, It's a good reference, Finding a start point,
4602 Finding how to fix a bug, Finding the source of misbehaviour
4603
4604 =item Submitting patches
4605
4606 L<perlguts>, L<perlxstut> and L<perlxs>, L<perlapi>,
4607 F<Porting/pumpkin.pod>, The perl5-porters FAQ
4608
4609 =item Finding Your Way Around
4610
4611 Core modules, Documentation, Configure, Interpreter
4612
4613 =item Elements of the interpreter
4614
4615 Startup, Parsing, Optimization, Running
4616
4617 =item Internal Variable Types
4618
4619 =item Op Trees
4620
4621 =item Stacks
4622
4623 Argument stack, Mark stack, Save stack
4624
4625 =item Millions of Macros
4626
4627 =item Poking at Perl
4628
4629 =item Using a source-level debugger
4630
4631 run [args], break function_name, break source.c:xxx, step, next, continue,
4632 finish, 'enter', print
4633
4634 =item Dumping Perl Data Structures
4635
4636 =item Patching
4637
4638 =back
4639
4640 =item EXTERNAL TOOLS FOR DEBUGGING PERL
4641
4642 =over 4
4643
4644 =item Rational Software's Purify
4645
4646 =item Purify on Unix
4647
4648 -Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity
4649
4650 =item Purify on NT
4651
4652 DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
4653
4654 =item CONCLUSION
4655
4656 I<The Road goes ever on and on, down from the door where it began.>
4657
4658 =back
4659
4660 =item AUTHOR
4661
4662 =back
4663
4664 =head2 perlhist - the Perl history records
4665
4666 =over 4
4667
4668 =item DESCRIPTION
4669
4670 =item INTRODUCTION
4671
4672 =item THE KEEPERS OF THE PUMPKIN
4673
4674 =over 4
4675
4676 =item PUMPKIN?
4677
4678 =back
4679
4680 =item THE RECORDS
4681
4682 =over 4
4683
4684 =item SELECTED RELEASE SIZES
4685
4686 =item SELECTED PATCH SIZES
4687
4688 =back
4689
4690 =item THE KEEPERS OF THE RECORDS
4691
4692 =back
4693
4694 =head2 perldelta - what's new for perl v5.7.0
4695
4696 =over 4
4697
4698 =item DESCRIPTION
4699
4700 =item Security Vulnerability Closed
4701
4702 =item Incompatible Changes
4703
4704 =item Core Enhancements
4705
4706 =item Modules and Pragmata
4707
4708 =over 4
4709
4710 =item New Modules
4711
4712 =item Updated And Improved Modules and Pragmata
4713
4714 =back
4715
4716 =item Utility Changes
4717
4718 =item New Documentation
4719
4720 =item Performance Enhancements
4721
4722 sort() has been changed to use mergesort internally as opposed to the
4723 earlier quicksort.  For very small lists this may result in slightly slower
4724 sorting times, but in general the speedup should be at least 20%. 
4725 Additional bonuses are that the worst case behaviour of sort() is now
4726 better (in computer science terms it now runs in time O(N log N), as
4727 opposed to quicksort's Theta(N**2) worst-case run time behaviour), and that
4728 sort() is now stable (meaning that elements with identical keys will stay
4729 ordered as they were before the sort)
4730
4731 =item Installation and Configuration Improvements
4732
4733 =over 4
4734
4735 =item Generic Improvements
4736
4737 =back
4738
4739 =item Selected Bug Fixes
4740
4741 sort() arguments are now compiled in the right wantarray context (they were
4742 accidentally using the context of the sort() itself)
4743
4744 =over 4
4745
4746 =item Platform Specific Changes and Fixes
4747
4748 =back
4749
4750 =item New or Changed Diagnostics
4751
4752 =item Changed Internals
4753
4754 =item Known Problems
4755
4756 =over 4
4757
4758 =item Unicode Support Still Far From Perfect
4759
4760 =item EBCDIC Still A Lost Platform
4761
4762 =item Building Extensions Can Fail Because Of Largefiles
4763
4764 =item ftmp-security tests warn 'system possibly insecure'
4765
4766 =item Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
4767
4768 =item Long Doubles Still Don't Work In Solaris
4769
4770 =item Linux With Sfio Fails op/misc Test 48
4771
4772 =item sprintf tests 129 and 130
4773
4774 =item Storable tests fail in some platforms
4775
4776 =item Threads Are Still Experimental
4777
4778 =item The Compiler Suite Is Still Experimental
4779
4780 =back
4781
4782 =item Reporting Bugs
4783
4784 =item SEE ALSO
4785
4786 =item HISTORY
4787
4788 =back
4789
4790 =head2 perl56delta, perldelta - what's new for perl v5.6.0
4791
4792 =over 4
4793
4794 =item DESCRIPTION
4795
4796 =item Core Enhancements
4797
4798 =over 4
4799
4800 =item Interpreter cloning, threads, and concurrency
4801
4802 =item Lexically scoped warning categories
4803
4804 =item Unicode and UTF-8 support
4805
4806 =item Support for interpolating named characters
4807
4808 =item "our" declarations
4809
4810 =item Support for strings represented as a vector of ordinals
4811
4812 =item Improved Perl version numbering system
4813
4814 =item New syntax for declaring subroutine attributes
4815
4816 =item File and directory handles can be autovivified
4817
4818 =item open() with more than two arguments
4819
4820 =item 64-bit support
4821
4822 =item Large file support
4823
4824 =item Long doubles
4825
4826 =item "more bits"
4827
4828 =item Enhanced support for sort() subroutines
4829
4830 =item C<sort $coderef @foo> allowed
4831
4832 =item File globbing implemented internally
4833
4834 =item Support for CHECK blocks
4835
4836 =item POSIX character class syntax [: :] supported
4837
4838 =item Better pseudo-random number generator
4839
4840 =item Improved C<qw//> operator
4841
4842 =item Better worst-case behavior of hashes
4843
4844 =item pack() format 'Z' supported
4845
4846 =item pack() format modifier '!' supported
4847
4848 =item pack() and unpack() support counted strings
4849
4850 =item Comments in pack() templates
4851
4852 =item Weak references
4853
4854 =item Binary numbers supported
4855
4856 =item Lvalue subroutines
4857
4858 =item Some arrows may be omitted in calls through references
4859
4860 =item Boolean assignment operators are legal lvalues
4861
4862 =item exists() is supported on subroutine names
4863
4864 =item exists() and delete() are supported on array elements
4865
4866 =item Pseudo-hashes work better
4867
4868 =item Automatic flushing of output buffers
4869
4870 =item Better diagnostics on meaningless filehandle operations
4871
4872 =item Where possible, buffered data discarded from duped input filehandle
4873
4874 =item eof() has the same old magic as <>
4875
4876 =item binmode() can be used to set :crlf and :raw modes
4877
4878 =item C<-T> filetest recognizes UTF-8 encoded files as "text"
4879
4880 =item system(), backticks and pipe open now reflect exec() failure
4881
4882 =item Improved diagnostics
4883
4884 =item Diagnostics follow STDERR
4885
4886 =item More consistent close-on-exec behavior
4887
4888 =item syswrite() ease-of-use
4889
4890 =item Better syntax checks on parenthesized unary operators
4891
4892 =item Bit operators support full native integer width
4893
4894 =item Improved security features
4895
4896 =item More functional bareword prototype (*)
4897
4898 =item C<require> and C<do> may be overridden
4899
4900 =item $^X variables may now have names longer than one character
4901
4902 =item New variable $^C reflects C<-c> switch
4903
4904 =item New variable $^V contains Perl version as a string
4905
4906 =item Optional Y2K warnings
4907
4908 =item Arrays now always interpolate into double-quoted strings
4909
4910 =back
4911
4912 =item Modules and Pragmata
4913
4914 =over 4
4915
4916 =item Modules
4917
4918 attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper,
4919 DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English,
4920 Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec,
4921 File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt,
4922 Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker,
4923 podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage,
4924 pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname,
4925 Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
4926
4927 =item Pragmata
4928
4929 =back
4930
4931 =item Utility Changes
4932
4933 =over 4
4934
4935 =item dprofpp
4936
4937 =item find2perl
4938
4939 =item h2xs
4940
4941 =item perlcc
4942
4943 =item perldoc
4944
4945 =item The Perl Debugger
4946
4947 =back
4948
4949 =item Improved Documentation
4950
4951 perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod,
4952 perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod,
4953 perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod,
4954 perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
4955
4956 =item Performance enhancements
4957
4958 =over 4
4959
4960 =item Simple sort() using { $a <=> $b } and the like are optimized
4961
4962 =item Optimized assignments to lexical variables
4963
4964 =item Faster subroutine calls
4965
4966 =item delete(), each(), values() and hash iteration are faster
4967
4968 =back
4969
4970 =item Installation and Configuration Improvements
4971
4972 =over 4
4973
4974 =item -Dusethreads means something different
4975
4976 =item New Configure flags
4977
4978 =item Threadedness and 64-bitness now more daring
4979
4980 =item Long Doubles
4981
4982 =item -Dusemorebits
4983
4984 =item -Duselargefiles
4985
4986 =item installusrbinperl
4987
4988 =item SOCKS support
4989
4990 =item C<-A> flag
4991
4992 =item Enhanced Installation Directories
4993
4994 =back
4995
4996 =item Platform specific changes
4997
4998 =over 4
4999
5000 =item Supported platforms
5001
5002 =item DOS
5003
5004 =item OS390 (OpenEdition MVS)
5005
5006 =item VMS
5007
5008 =item Win32
5009
5010 =back
5011
5012 =item Significant bug fixes
5013
5014 =over 4
5015
5016 =item <HANDLE> on empty files
5017
5018 =item C<eval '...'> improvements
5019
5020 =item All compilation errors are true errors
5021
5022 =item Implicitly closed filehandles are safer
5023
5024 =item Behavior of list slices is more consistent
5025
5026 =item C<(\$)> prototype and C<$foo{a}>
5027
5028 =item C<goto &sub> and AUTOLOAD
5029
5030 =item C<-bareword> allowed under C<use integer>
5031
5032 =item Failures in DESTROY()
5033
5034 =item Locale bugs fixed
5035
5036 =item Memory leaks
5037
5038 =item Spurious subroutine stubs after failed subroutine calls
5039
5040 =item Taint failures under C<-U>
5041
5042 =item END blocks and the C<-c> switch
5043
5044 =item Potential to leak DATA filehandles
5045
5046 =back
5047
5048 =item New or Changed Diagnostics
5049
5050 "%s" variable %s masks earlier declaration in same %s, "my sub" not yet
5051 implemented, "our" variable %s redeclared, '!' allowed only after types %s,
5052 / cannot take a count, / must be followed by a, A or Z, / must be followed
5053 by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
5054 \\%c passed through, /%s/: Unrecognized escape \\%c in character class
5055 passed through, /%s/ should probably be written as "%s", %s() called too
5056 early to check prototype, %s argument is not a HASH or ARRAY element, %s
5057 argument is not a HASH or ARRAY element or slice, %s argument is not a
5058 subroutine name, %s package attribute may clash with future reserved word:
5059 %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled
5060 substitution pattern, Bad realloc() ignored, Bareword found in conditional,
5061 Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector
5062 size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check
5063 filesystem of script "%s", Can't declare class for non-scalar %s in "%s",
5064 Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default,
5065 Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't
5066 remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't
5067 weaken a nonreference, Character class [:%s:] unknown, Character class
5068 syntax [%s] belongs inside character classes, Constant is not %s reference,
5069 constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
5070 defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
5071 "local" instead of "our"?), Document contains no data, entering effective
5072 %s failed, false [] range "%s" in regexp, Filehandle %s opened only for
5073 output, flock() on closed filehandle %s, Global symbol "%s" requires
5074 explicit package name, Hexadecimal number > 0xffffffff non-portable,
5075 Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter:
5076 |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal
5077 number of bits in vec, Integer overflow in %s number, Invalid %s attribute:
5078 %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid
5079 separator character %s in attribute list, Invalid separator character %s in
5080 subroutine attribute list, leaving effective %s failed, Lvalue subs
5081 returning %s not implemented yet, Method %s not permitted, Missing
5082 %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub",
5083 No %s specified for -%c, No package name allowed for variable %s in "our",
5084 No space allowed after -%c, no UTC offset information; assuming local time
5085 is UTC, Octal number > 037777777777 non-portable, panic: del_backref,
5086 panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing
5087 around "%s" list, Possible unintended interpolation of %s in string,
5088 Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS"
5089 instead, Premature end of script headers, Repeat count in pack overflows,
5090 Repeat count in unpack overflows, realloc() of freed memory ignored,
5091 Reference is already weak, setpgrp can't take arguments, Strange *+?{} on
5092 zero-length expression, switching effective %s is not implemented, This
5093 Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL
5094 environ elements (%s=%s), Too late to run %s block, Unknown open() mode
5095 '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized
5096 escape \\%c passed through, Unterminated attribute parameter in attribute
5097 list, Unterminated attribute list, Unterminated attribute parameter in
5098 subroutine attribute list, Unterminated subroutine attribute list, Value of
5099 CLI symbol "%s" too long, Version number must be a constant number
5100
5101 =item New tests
5102
5103 =item Incompatible Changes
5104
5105 =over 4
5106
5107 =item Perl Source Incompatibilities
5108
5109 CHECK is a new keyword, Treatment of list slices of undef has changed,
5110 Format of $English::PERL_VERSION is different, Literals of the form
5111 C<1.2.3> parse differently, Possibly changed pseudo-random number
5112 generator, Hashing function for hash keys has changed, C<undef> fails on
5113 read only values, Close-on-exec bit may be set on pipe and socket handles,
5114 Writing C<"$$1"> to mean C<"${$}1"> is unsupported, delete(), values() and
5115 C<\(%h)> operate on aliases to values, not copies, vec(EXPR,OFFSET,BITS)
5116 enforces powers-of-two BITS, Text of some diagnostic output has changed,
5117 C<%@> has been removed, Parenthesized not() behaves like a list operator,
5118 Semantics of bareword prototype C<(*)> have changed, Semantics of bit
5119 operators may have changed on 64-bit platforms, More builtins taint their
5120 results
5121
5122 =item C Source Incompatibilities
5123
5124 C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>
5125
5126 =item Compatible C Source API Changes
5127
5128 C<PATCHLEVEL> is now C<PERL_VERSION>
5129
5130 =item Binary Incompatibilities
5131
5132 =back
5133
5134 =item Known Problems
5135
5136 =over 4
5137
5138 =item Thread test failures
5139
5140 =item EBCDIC platforms not supported
5141
5142 =item In 64-bit HP-UX the lib/io_multihomed test may hang
5143
5144 =item NEXTSTEP 3.3 POSIX test failure
5145
5146 =item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with
5147 gcc
5148
5149 =item UNICOS/mk CC failures during Configure run
5150
5151 =item Arrow operator and arrays
5152
5153 =item Experimental features
5154
5155 Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The
5156 pseudo-hash data type, The Compiler suite, Internal implementation of file
5157 globbing, The DB module, The regular expression constructs C<(?{ code })>
5158 and C<(??{ code })>
5159
5160 =back
5161
5162 =item Obsolete Diagnostics
5163
5164 Character class syntax [: :] is reserved for future extensions, Ill-formed
5165 logical name |%s| in prime_env_iter, In string, @%s now must be written as
5166 \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>"
5167 to mean "${$}<digit>" is deprecated
5168
5169 =item Reporting Bugs
5170
5171 =item SEE ALSO
5172
5173 =item HISTORY
5174
5175 =back
5176
5177 =head2 perl5005delta, perldelta - what's new for perl5.005
5178
5179 =over 4
5180
5181 =item DESCRIPTION
5182
5183 =item About the new versioning system
5184
5185 =item Incompatible Changes
5186
5187 =over 4
5188
5189 =item WARNING:  This version is not binary compatible with Perl 5.004.
5190
5191 =item Default installation structure has changed
5192
5193 =item Perl Source Compatibility
5194
5195 =item C Source Compatibility
5196
5197 Core sources now require ANSI C compiler, All Perl global variables must
5198 now be referenced with an explicit prefix, Enabling threads has source
5199 compatibility issues
5200
5201 =item Binary Compatibility
5202
5203 =item Security fixes may affect compatibility
5204
5205 =item Relaxed new mandatory warnings introduced in 5.004
5206
5207 =item Licensing
5208
5209 =back
5210
5211 =item Core Changes
5212
5213 =over 4
5214
5215 =item Threads
5216
5217 =item Compiler
5218
5219 =item Regular Expressions
5220
5221 Many new and improved optimizations, Many bug fixes, New regular expression
5222 constructs, New operator for precompiled regular expressions, Other
5223 improvements, Incompatible changes
5224
5225 =item   Improved malloc()
5226
5227 =item Quicksort is internally implemented
5228
5229 =item Reliable signals
5230
5231 =item Reliable stack pointers
5232
5233 =item More generous treatment of carriage returns
5234
5235 =item Memory leaks
5236
5237 =item Better support for multiple interpreters
5238
5239 =item Behavior of local() on array and hash elements is now well-defined
5240
5241 =item C<%!> is transparently tied to the L<Errno> module
5242
5243 =item Pseudo-hashes are supported
5244
5245 =item C<EXPR foreach EXPR> is supported
5246
5247 =item Keywords can be globally overridden
5248
5249 =item C<$^E> is meaningful on Win32
5250
5251 =item C<foreach (1..1000000)> optimized
5252
5253 =item C<Foo::> can be used as implicitly quoted package name
5254
5255 =item C<exists $Foo::{Bar::}> tests existence of a package
5256
5257 =item Better locale support
5258
5259 =item Experimental support for 64-bit platforms
5260
5261 =item prototype() returns useful results on builtins
5262
5263 =item Extended support for exception handling
5264
5265 =item Re-blessing in DESTROY() supported for chaining DESTROY() methods
5266
5267 =item All C<printf> format conversions are handled internally
5268
5269 =item New C<INIT> keyword
5270
5271 =item New C<lock> keyword
5272
5273 =item New C<qr//> operator
5274
5275 =item C<our> is now a reserved word
5276
5277 =item Tied arrays are now fully supported
5278
5279 =item Tied handles support is better
5280
5281 =item 4th argument to substr
5282
5283 =item Negative LENGTH argument to splice
5284
5285 =item Magic lvalues are now more magical
5286
5287 =item <> now reads in records
5288
5289 =back
5290
5291 =item Supported Platforms
5292
5293 =over 4
5294
5295 =item New Platforms
5296
5297 =item Changes in existing support
5298
5299 =back
5300
5301 =item Modules and Pragmata
5302
5303 =over 4
5304
5305 =item New Modules
5306
5307 B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed,
5308 ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle,
5309 Thread, attrs, fields, re
5310
5311 =item Changes in existing modules
5312
5313 Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File,
5314 MakeMaker, CPAN, Cwd, Benchmark
5315
5316 =back
5317
5318 =item Utility Changes
5319
5320 =item Documentation Changes
5321
5322 =item New Diagnostics
5323
5324 Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index
5325 while coercing array into hash, Bareword "%s" refers to nonexistent
5326 package, Can't call method "%s" on an undefined value, Can't check
5327 filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't
5328 goto subroutine from an eval-string, Can't localize pseudo-hash element,
5329 Can't use %%! because Errno.pm is not available, Cannot find an opnumber
5330 for "%s", Character class syntax [. .] is reserved for future extensions,
5331 Character class syntax [: :] is reserved for future extensions, Character
5332 class syntax [= =] is reserved for future extensions, %s: Eval-group in
5333 insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s:
5334 Eval-group not allowed at run time, Explicit blessing to '' (assuming
5335 package main), Illegal hex digit ignored, No such array field, No such
5336 field "%s" in variable %s of type %s, Out of memory during ridiculously
5337 large request, Range iterator outside integer range, Recursive inheritance
5338 detected while looking for method '%s' in package '%s', Reference found
5339 where even-sized list expected, Undefined value assigned to typeglob, Use
5340 of reserved word "%s" is deprecated, perl: warning: Setting locale failed
5341
5342 =item Obsolete Diagnostics
5343
5344 Can't mktemp(), Can't write to temp file for B<-e>: %s, Cannot open
5345 temporary file, regexp too big
5346
5347 =item Configuration Changes
5348
5349 =item BUGS
5350
5351 =item SEE ALSO
5352
5353 =item HISTORY
5354
5355 =back
5356
5357 =head2 perl5004delta, perldelta - what's new for perl5.004
5358
5359 =over 4
5360
5361 =item DESCRIPTION
5362
5363 =item Supported Environments
5364
5365 =item Core Changes
5366
5367 =over 4
5368
5369 =item List assignment to %ENV works
5370
5371 =item Change to "Can't locate Foo.pm in @INC" error
5372
5373 =item Compilation option: Binary compatibility with 5.003
5374
5375 =item $PERL5OPT environment variable
5376
5377 =item Limitations on B<-M>, B<-m>, and B<-T> options
5378
5379 =item More precise warnings
5380
5381 =item Deprecated: Inherited C<AUTOLOAD> for non-methods
5382
5383 =item Previously deprecated %OVERLOAD is no longer usable
5384
5385 =item Subroutine arguments created only when they're modified
5386
5387 =item Group vector changeable with C<$)>
5388
5389 =item Fixed parsing of $$<digit>, &$<digit>, etc.
5390
5391 =item Fixed localization of $<digit>, $&, etc.
5392
5393 =item No resetting of $. on implicit close
5394
5395 =item C<wantarray> may return undef
5396
5397 =item C<eval EXPR> determines value of EXPR in scalar context
5398
5399 =item Changes to tainting checks
5400
5401 No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No
5402 spawning if tainted $TERM doesn't look like a terminal name
5403
5404 =item New Opcode module and revised Safe module
5405
5406 =item Embedding improvements
5407
5408 =item Internal change: FileHandle class based on IO::* classes
5409
5410 =item Internal change: PerlIO abstraction interface
5411
5412 =item New and changed syntax
5413
5414 $coderef->(PARAMS)
5415
5416 =item New and changed builtin constants
5417
5418 __PACKAGE__
5419
5420 =item New and changed builtin variables
5421
5422 $^E, $^H, $^M
5423
5424 =item New and changed builtin functions
5425
5426 delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
5427 Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module
5428 VERSION LIST, prototype(FUNCTION), srand, $_ as Default, C<m//gc> does not
5429 reset search position on failure, C<m//x> ignores whitespace before ?*+{},
5430 nested C<sub{}> closures work now, formats work right on changing lexicals
5431
5432 =item New builtin methods
5433
5434 isa(CLASS), can(METHOD), VERSION( [NEED] )
5435
5436 =item TIEHANDLE now supported
5437
5438 TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this
5439 LIST, READLINE this, GETC this, DESTROY this
5440
5441 =item Malloc enhancements
5442
5443 -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
5444
5445 =item Miscellaneous efficiency enhancements
5446
5447 =back
5448
5449 =item Support for More Operating Systems
5450
5451 =over 4
5452
5453 =item Win32
5454
5455 =item Plan 9
5456
5457 =item QNX
5458
5459 =item AmigaOS
5460
5461 =back
5462
5463 =item Pragmata
5464
5465 use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use
5466 constant NAME => VALUE, use locale, use ops, use vmsish
5467
5468 =item Modules
5469
5470 =over 4
5471
5472 =item Required Updates
5473
5474 =item Installation directories
5475
5476 =item Module information summary
5477
5478 =item Fcntl
5479
5480 =item IO
5481
5482 =item Math::Complex
5483
5484 =item Math::Trig
5485
5486 =item DB_File
5487
5488 =item Net::Ping
5489
5490 =item Object-oriented overrides for builtin operators
5491
5492 =back
5493
5494 =item Utility Changes
5495
5496 =over 4
5497
5498 =item pod2html
5499
5500 Sends converted HTML to standard output
5501
5502 =item xsubpp
5503
5504 C<void> XSUBs now default to returning nothing
5505
5506 =back
5507
5508 =item C Language API Changes
5509
5510 C<gv_fetchmethod> and C<perl_call_sv>, C<perl_eval_pv>, Extended API for
5511 manipulating hashes
5512
5513 =item Documentation Changes
5514
5515 L<perldelta>, L<perlfaq>, L<perllocale>, L<perltoot>, L<perlapio>,
5516 L<perlmodlib>, L<perldebug>, L<perlsec>
5517
5518 =item New Diagnostics
5519
5520 "my" variable %s masks earlier declaration in same scope, %s argument is
5521 not a HASH element or slice, Allocation too large: %lx, Allocation too
5522 large, Applying %s to %s will act on scalar(%s), Attempt to free
5523 nonexistent shared string, Attempt to use reference as lvalue in substr,
5524 Bareword "%s" refers to nonexistent package, Can't redefine active sort
5525 subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in
5526 use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant
5527 subroutine %s redefined, Constant subroutine %s undefined, Copy method did
5528 not return a reference, Died, Exiting pseudo-block via %s, Identifier too
5529 long, Illegal character %s (carriage return), Illegal switch in PERL5OPT:
5530 %s, Integer overflow in hex number, Integer overflow in octal number,
5531 internal error: glob failed, Invalid conversion in %s: "%s", Invalid type
5532 in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once:
5533 possible typo, Null picture in formline, Offset outside string, Out of
5534 memory!, Out of memory during request for %s, panic: frexp, Possible
5535 attempt to put comments in qw() list, Possible attempt to separate words
5536 with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found
5537 while resolving method `%s' overloading `%s' in package `%s', Too late for
5538 "B<-T>" option, untie attempted while %d inner references still exist,
5539 Unrecognized character %s, Unsupported function fork, Use of "$$<digit>" to
5540 mean "${$}<digit>" is deprecated, Value of %s can be "0"; test with
5541 defined(), Variable "%s" may be unavailable, Variable "%s" will not stay
5542 shared, Warning: something's wrong, Ill-formed logical name |%s| in
5543 prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
5544 PERL_SH_DIR too long, Process terminated by SIG%s
5545
5546 =item BUGS
5547
5548 =item SEE ALSO
5549
5550 =item HISTORY
5551
5552 =back
5553
5554 =head2 perlaix, README.aix - Perl version 5 on IBM Unix (AIX) systems
5555
5556 =over 4
5557
5558 =item DESCRIPTION
5559
5560 =over 4
5561
5562 =item Compiling Perl 5 on AIX
5563
5564 =item OS level
5565
5566 =item Building Dynamic Extensions on AIX
5567
5568 =item The IBM ANSI C Compiler
5569
5570 =item Using GNU's gcc for building perl
5571
5572 =item Using Large Files with Perl
5573
5574 =item Threaded Perl
5575
5576 =item 64-bit Perl
5577
5578 =item GDBM and Threads
5579
5580 =item NFS filesystems and utime(2)
5581
5582 =back
5583
5584 =item AUTHOR
5585
5586 =item DATE
5587
5588 =back
5589
5590 =head2 perlamiga - Perl under Amiga OS
5591
5592 =over 4
5593
5594 =item SYNOPSIS
5595
5596 =back
5597
5598 =over 4
5599
5600 =item DESCRIPTION
5601
5602 =over 4
5603
5604 =item Prerequisites
5605
5606 B<Unix emulation for AmigaOS: ixemul.library>, B<Version of Amiga OS>
5607
5608 =item Starting Perl programs under AmigaOS