X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltoc.pod;h=f7cd79a2a1da9df66aaa6a6b6bf622a00f774f54;hb=b30f304ae36b3931349d7d5816f5a5646afe5397;hp=95a0fee2a6681637ea90d9b67080037ac92ed588;hpb=fe9287c43c7d5ea96900bf08a82aec141fb3da26;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltoc.pod b/pod/perltoc.pod index 95a0fee..f7cd79a 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -29,6 +29,8 @@ through to locate the proper section you're looking for. =item Miscellaneous +=item Language-Specific + =item Platform-Specific =back @@ -101,8 +103,8 @@ Parentheses for capturing, Other regexp features =back -=head2 perlfaq - frequently asked questions about Perl ($Date: 2002/01/31 -04:27:54 $) +=head2 perlfaq - frequently asked questions about Perl ($Date: 2003/01/31 +17:37:17 $) =over 4 @@ -110,58 +112,58 @@ Parentheses for capturing, Other regexp features =over 4 -=item perlfaq: Structural overview of the FAQ. - -=item L: General Questions About Perl +=item Where to get the perlfaq -=item L: Obtaining and Learning about Perl +=item How to contribute to the perlfaq -=item L: Programming Tools +=item What will happen if you mail your Perl programming problems to the +authors -=item L: Data Manipulation +=back -=item L: Files and Formats +=item Credits -=item L: Regular Expressions +=item Author and Copyright Information -=item L: General Perl Language Issues +=over 4 -=item L: System Interaction +=item Bundled Distributions -=item L: Networking +=item Disclaimer =back -=item About the perlfaq documents +=item Table of Contents -=over 4 +perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2 +- Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 +- Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular +Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System +Interaction, perlfaq9 - Networking -=item Where to get the perlfaq +=item The Questions -=item How to contribute to the perlfaq +=over 4 -=item What will happen if you mail your Perl programming problems to the -authors +=item L: General Questions About Perl -=back +=item L: Obtaining and Learning about Perl -=item Credits +=item L: Programming Tools -=item Author and Copyright Information +=item L: Data Manipulation -=over 4 +=item L: Files and Formats -=item Bundled Distributions +=item L: Regular Expressions -=item Disclaimer +=item L: General Perl Language Issues -=back +=item L: System Interaction -=item Changes +=item L: Networking -1/November/2000, 23/May/99, 13/April/99, 7/January/99, 22/June/98, -24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version, -Initial Release: 11/March/97 +=back =back @@ -183,9 +185,11 @@ Initial Release: 11/March/97 =item Declarations -=item Simple statements +=item Comments + +=item Simple Statements -=item Compound statements +=item Compound Statements =item Loop Control @@ -223,6 +227,8 @@ Initial Release: 11/March/97 =item List value constructors +=item Subscripts + =item Slices =item Typeglobs and Filehandles @@ -275,6 +281,8 @@ Initial Release: 11/March/97 =item C-style Logical Or +=item C-style Logical Defined-Or + =item Range Operators =item Conditional Operator @@ -289,7 +297,7 @@ Initial Release: 11/March/97 =item Logical And -=item Logical or and Exclusive Or +=item Logical or, Defined or, and Exclusive Or =item C Operators Missing From Perl @@ -346,6 +354,8 @@ regular expressions =item Lvalue subroutines +Lvalue subroutines are EXPERIMENTAL + =item Passing Symbol Table Entries (typeglobs) =item When to Still Use local() @@ -394,46 +404,47 @@ in perl5 =item Alphabetical Listing of Perl Functions -I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept +-I FILEHANDLE, -I EXPR, -I, abs VALUE, abs, accept NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, -binmode FILEHANDLE, DISCIPLINE, binmode FILEHANDLE, bless REF,CLASSNAME, -bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, -chomp( LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr -NUMBER, chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir -DIRHANDLE, connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt -PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, -defined, delete EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, -dump LABEL, dump, each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval -BLOCK, exec LIST, exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, -fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock -FILEHANDLE,OPERATION, fork, format, formline PICTURE,LIST, getc FILEHANDLE, -getc, getlogin, getpeername SOCKET, getpgrp PID, getppid, getpriority -WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME, getnetbyname -NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname -NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, -getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, -gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, -sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent -STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, -endservent, getsockname SOCKET, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, -glob, gmtime EXPR, goto LABEL, goto EXPR, goto &NAME, grep BLOCK LIST, grep -EXPR,LIST, hex EXPR, hex, import, index STR,SUBSTR,POSITION, index -STR,SUBSTR, int EXPR, int, ioctl FILEHANDLE,FUNCTION,SCALAR, join -EXPR,LIST, keys HASH, kill SIGNAL, LIST, last LABEL, last, lc EXPR, lc, -lcfirst EXPR, lcfirst, length EXPR, length, link OLDFILE,NEWFILE, listen -SOCKET,QUEUESIZE, local EXPR, localtime EXPR, lock THING, log EXPR, log, -lstat EXPR, lstat, m//, map BLOCK LIST, map EXPR,LIST, mkdir FILENAME,MASK, -mkdir FILENAME, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgrcv -ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my EXPR : ATTRIBUTES, -next LABEL, next, no Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open -FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open -FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, opendir DIRHANDLE,EXPR, ord -EXPR, ord, our EXPR, our EXPR : ATTRIBUTES, pack TEMPLATE,LIST, package -NAMESPACE, package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos -SCALAR, pos, print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE -FORMAT, LIST, printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, -q/STRING/, qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, -quotemeta, rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read +binmode FILEHANDLE, LAYER, binmode FILEHANDLE, bless REF,CLASSNAME, bless +REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp( +LIST ), chomp, chop VARIABLE, chop( LIST ), chop, chown LIST, chr NUMBER, +chr, chroot FILENAME, chroot, close FILEHANDLE, close, closedir DIRHANDLE, +connect SOCKET,NAME, continue BLOCK, cos EXPR, cos, crypt PLAINTEXT,SALT, +dbmclose HASH, dbmopen HASH,DBNAME,MASK, defined EXPR, defined, delete +EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, dump, +each HASH, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST, +exec PROGRAM LIST, exists EXPR, exit EXPR, exp EXPR, exp, fcntl +FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION, +fork, format, formline PICTURE,LIST, getc FILEHANDLE, getc, getlogin, +getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam +NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname +NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr +ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, +getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, +getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent +STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, +endhostent, endnetent, endprotoent, endservent, getsockname SOCKET, +getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime EXPR, goto LABEL, +goto EXPR, goto &NAME, grep BLOCK LIST, grep EXPR,LIST, hex EXPR, hex, +import, index STR,SUBSTR,POSITION, index STR,SUBSTR, int EXPR, int, ioctl +FILEHANDLE,FUNCTION,SCALAR, join EXPR,LIST, keys HASH, kill SIGNAL, LIST, +last LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, +link OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, +lock THING, log EXPR, log, lstat EXPR, lstat, m//, map BLOCK LIST, map +EXPR,LIST, mkdir FILENAME,MASK, mkdir FILENAME, msgctl ID,CMD,ARG, msgget +KEY,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, msgsnd ID,MSG,FLAGS, my EXPR, my +TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL, next, no +Module VERSION LIST, no Module VERSION, no Module LIST, no Module, oct +EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE,MODE,EXPR, open +FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, +opendir DIRHANDLE,EXPR, ord EXPR, ord, our EXPR, our EXPR TYPE, our EXPR : +ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST, package NAMESPACE, +package, pipe READHANDLE,WRITEHANDLE, pop ARRAY, pop, pos SCALAR, pos, +print FILEHANDLE LIST, print LIST, print, printf FILEHANDLE FORMAT, LIST, +printf FORMAT, LIST, prototype FUNCTION, push ARRAY,LIST, q/STRING/, +qq/STRING/, qr/STRING/, qx/STRING/, qw/STRING/, quotemeta EXPR, quotemeta, +rand EXPR, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET, read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE, readline EXPR, readlink EXPR, readlink, readpipe EXPR, recv SOCKET,SCALAR,LENGTH,FLAGS, redo LABEL, redo, ref EXPR, ref, rename OLDNAME,NEWNAME, require VERSION, require EXPR, @@ -446,13 +457,15 @@ SOCKET,MSG,FLAGS,TO, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP, setpriority WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shift ARRAY, shift, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW, sin EXPR, sin, sleep -EXPR, sleep, sockatmark SOCKET, socket SOCKET,DOMAIN,TYPE,PROTOCOL, -socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort -BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice -ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split -/PATTERN/,EXPR,LIMIT, split /PATTERN/,EXPR, split /PATTERN/, split, sprintf -FORMAT, LIST, sqrt EXPR, sqrt, srand EXPR, srand, stat FILEHANDLE, stat -EXPR, stat, study SCALAR, study, sub BLOCK, sub NAME, sub NAME BLOCK, +EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair +SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST, +sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH, +splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split +/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, format +parameter index, flags, vector flag, (minimum) width, precision, or maximum +width, size, order of arguments, sqrt EXPR, sqrt, srand EXPR, srand, stat +FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub NAME BLOCK, sub NAME +(PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread @@ -463,10 +476,10 @@ syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack -TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST, -use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST, -values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn -LIST, write FILEHANDLE, write EXPR, write, y/// +TEMPLATE,EXPR, unpack TEMPLATE, untie VARIABLE, unshift ARRAY,LIST, use +Module VERSION LIST, use Module VERSION, use Module LIST, use Module, use +VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid +PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y/// =back @@ -490,12 +503,12 @@ LIST, write FILEHANDLE, write EXPR, write, y/// =item Using References -=back - =item An Example =item Arrow Rule +=back + =item Solution =item The Rest @@ -744,7 +757,7 @@ First:, Second:, Third:, Fourth:, Fifth:, Sixth: =item Awk Traps -=item C Traps +=item C/C++ Traps =item Sed Traps @@ -791,7 +804,7 @@ Precedence Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, -Regular Expression +Regular Expression, Regular Expression =item Subroutine, Signal, Sorting Traps @@ -837,9 +850,10 @@ OS/2, MS-DOS, Win95/NT, Macintosh, VMS =item Command Switches -B<-0>[I], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I, -B<-D>I, B<-D>I, B<-e> I, B<-F>I, -B<-h>, B<-i>[I], B<-I>I, B<-l>[I], +B<-0>[I], B<-A [I]>, B<-a>, B<-C +[I]>, B<-c>, B<-d>, B<-d:>I, B<-D>I, +B<-D>I, B<-e> I, B<-F>I, B<-h>, +B<-i>[I], B<-I>I, B<-l>[I], B<-m>[B<->]I, B<-M>[B<->]I, B<-M>[B<->]I<'module ...'>, B<-[mM]>[B<->]I, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>, B<-t>, B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-W>, @@ -849,10 +863,12 @@ B<-X>, B<-x> I =item ENVIRONMENT -HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL -(specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL, -PERL_ENCODING, PERL_ROOT (specific to the VMS port), SYS$LOGIN (specific to -the VMS port) +HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap, +:perlio, :pop, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB, +PERL5DB, PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS, +PERL_DESTRUCT_LEVEL, PERL_ENCODING, PERL_HASH_SEED, PERL_HASH_SEED_DEBUG, +PERL_ROOT (specific to the VMS port), PERL_SIGNALS, PERL_UNICODE, SYS$LOGIN +(specific to the VMS port) =back @@ -906,7 +922,7 @@ B<-w>, B<-W>, B<-X> =item use strict -=item Looking at data and -w and w +=item Looking at data and -w and v =item help @@ -944,15 +960,16 @@ B<-w>, B<-W>, B<-X> =item Debugger Commands -h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n -[expr], r, , c [line|sub], l, l min+incr, l min-max, l line, l subname, --, w [line], f filename, /pattern/, ?pattern?, L, S [[!]regex], t, t expr, -b [line] [condition], b subname [condition], b postpone subname -[condition], b load filename, b compile subname, d [line], D, a [line] -command, a [line], A, W expr, W, O booloption .., O anyoption? .., O -option=value .., < ?, < [ command ], << command, > ?, > command, >> -command, { ?, { [ command ], {{ command, ! number, ! -number, ! pattern, !! -cmd, @ file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man +h, h [command], h h, p expr, x [maxdepth] expr, V [pkg [vars]], X [vars], y +[level [vars]], T, s [expr], n [expr], r, , c [line|sub], l, l +min+incr, l min-max, l line, l subname, -, v [line], f filename, /pattern/, +?pattern?, L [abw], S [[!]regex], t, t expr, b, b [line] [condition], b +subname [condition], b postpone subname [condition], b load filename, b +compile subname, B line, B *, a [line] command, A line, A *, w expr, W +expr, W *, o, o booloption .., o anyoption? .., o option=value .., < ?, < [ +command ], < *, << command, > ?, > command, > *, >> command, { ?, { [ +command ], { *, {{ command, ! number, ! -number, ! pattern, !! cmd, source +file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man [manpage] =item Configurable Options @@ -960,9 +977,10 @@ cmd, @ file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, man C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, -C, C, C, C, C, C +C, C, C, C, C, +C, C, C, C, C, +C, C, C, C, C, C, +C =item Debugger input/output @@ -1002,7 +1020,7 @@ listing =item Predefined Names $ARG, $_, $a, $b, $>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', -$LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, $MULTILINE_MATCHING, $*, +$LAST_PAREN_MATCH, $+, $^N, @LAST_MATCH_END, @+, HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $, IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/, HANDLE->autoflush(EXPR), $OUTPUT_AUTOFLUSH, $|, @@ -1021,16 +1039,17 @@ $FORMAT_NAME, $~, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^, IO::Handle->format_line_break_characters EXPR, $FORMAT_LINE_BREAK_CHARACTERS, $:, IO::Handle->format_formfeed EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, ${^ENCODING}, -$OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, +$OS_ERROR, $ERRNO, $!, %!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, ${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, -0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S, -$BASETIME, $^T, ${^TAINT}, $PERL_VERSION, $^V, $WARNING, $^W, -${^WARNING_BITS}, ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, ARGV, -$ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} +0x100, 0x200, 0x400, $LAST_REGEXP_CODE_RESULT, $^R, +$EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, ${^TAINT}, ${^UNICODE}, +$PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, $EXECUTABLE_NAME, $^X, +ARGV, $ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, +$SIG{expr} =item Error Indicators @@ -1078,6 +1097,8 @@ $ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} =item Simple Opens +=item Indirect Filehandles + =item Pipe Opens =item The Minus File @@ -1118,10 +1139,16 @@ $ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} =item Opening Non-File Files +=item Opening Named Pipes + +=item Opening Sockets + =item Binary Files =item File Locking +=item IO Layers + =back =item SEE ALSO @@ -1172,6 +1199,8 @@ $ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} =back +=item Template Grouping + =item Lengths and Widths =over 4 @@ -1180,6 +1209,8 @@ $ARGV, @ARGV, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} =item Dynamic Templates +=item Counting Repetitions + =back =item Packing and Unpacking C Structures @@ -1650,6 +1681,8 @@ isa(CLASS), can(METHOD), VERSION( [NEED] ) =item DELEGATION +=item SEE ALSO + =back =head2 perltie - how to hide an object class in a simple variable @@ -1710,11 +1743,20 @@ safe subprocesses, sockets, and semaphores) =item Signals +=over 4 + +=item Handling the SIGHUP Signal in Daemons + +=back + =item Named Pipes =over 4 -=item WARNING +=item Deferred Signals (Safe signals) + +Long running opcodes, Interrupting IO, Restartable system calls, Signals as +"faults", Signals triggered by operating system state =back @@ -1780,7 +1822,7 @@ Proto, LocalPort, Listen, Reuse =back -=head2 perlfork - Perl's fork() emulation (EXPERIMENTAL, subject to change) +=head2 perlfork - Perl's fork() emulation =over 4 @@ -1832,8 +1874,8 @@ application, Thread-safety of extensions =item Flavors of Perl numeric operations -Arithmetic operators except, C, Arithmetic operators except, -C, Bitwise operators, C, Bitwise operators, C, Other +mathematical operators, Bitwise operators, Bitwise operators during C, Operators which expect an integer, Operators which expect a string @@ -1849,6 +1891,118 @@ string =item DESCRIPTION +=item Status + +=item What Is A Thread Anyway? + +=item Threaded Program Models + +=over 4 + +=item Boss/Worker + +=item Work Crew + +=item Pipeline + +=back + +=item Native threads + +=item What kind of threads are Perl threads? + +=item Thread-Safe Modules + +=item Thread Basics + +=over 4 + +=item Basic Thread Support + +=item A Note about the Examples + +=item Creating Threads + +=item Giving up control + +=item Waiting For A Thread To Exit + +=item Ignoring A Thread + +=back + +=item Threads And Data + +=over 4 + +=item Shared And Unshared Data + +=item Thread Pitfalls: Races + +=back + +=item Synchronization and control + +=over 4 + +=item Controlling access: lock() + +=item A Thread Pitfall: Deadlocks + +=item Queues: Passing Data Around + +=item Semaphores: Synchronizing Data Access + +=item Basic semaphores + +=item Advanced Semaphores + +=item cond_wait() and cond_signal() + +=back + +=item General Thread Utility Routines + +=over 4 + +=item What Thread Am I In? + +=item Thread IDs + +=item Are These Threads The Same? + +=item What Threads Are Running? + +=back + +=item A Complete Example + +=item Performance considerations + +=item Process-scope Changes + +=item Thread-Safety of System Libraries + +=item Conclusion + +=item Bibliography + +=over 4 + +=item Introductory Texts + +=item OS-Related References + +=item Other References + +=back + +=item Acknowledgements + +=item AUTHOR + +=item Copyrights + =back =head2 perlothrtut - old tutorial on threads in Perl @@ -1988,6 +2142,10 @@ portable =item System Interaction +=item Command names versus file pathnames + +=item Networking + =item Interprocess Communication (IPC) =item External Subroutines (XS) @@ -2048,8 +2206,8 @@ LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, -getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, -getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent +getservbyport PORT,PROTO, getpwent, getgrent, gethostbyname, gethostent, +getnetent, getprotoent, getservent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, @@ -2072,12 +2230,12 @@ wait, waitpid PID,FLAGS =item CHANGES -v1.48, 02 February 2001, v1.47, 22 March 2000, v1.46, 12 February 2000, -v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 -May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February -1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September -1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998, -v1.30, 03 August 1998, v1.23, 10 July 1998 +v1.49, 12 August 2002, v1.48, 02 February 2001, v1.47, 22 March 2000, +v1.46, 12 February 2000, v1.45, 20 December 1999, v1.44, 19 July 1999, +v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May 1999, v1.40, 11 April +1999, v1.39, 11 February 1999, v1.38, 31 December 1998, v1.37, 19 December +1998, v1.36, 9 September 1998, v1.35, 13 August 1998, v1.33, 06 August +1998, v1.32, 05 August 1998, v1.30, 03 August 1998, v1.23, 10 July 1998 =item Supported Platforms @@ -2085,8 +2243,6 @@ v1.30, 03 August 1998, v1.23, 10 July 1998 =item AUTHORS / CONTRIBUTORS -=item VERSION - =back =head2 perllocale - Perl locale handling (internationalization and @@ -2169,6 +2325,8 @@ LC_NUMERIC, LC_TIME, LANG =back +=item Unicode and UTF-8 + =item BUGS =over 4 @@ -2197,6 +2355,8 @@ LC_NUMERIC, LC_TIME, LANG =item Perl's Unicode Model +=item Unicode and EBCDIC + =item Creating Unicode =item Handling Unicode @@ -2215,12 +2375,6 @@ LC_NUMERIC, LC_TIME, LANG =item Questions With Answers -Will My Old Scripts Break?, How Do I Make My Scripts Work With Unicode?, -How Do I Know Whether My String Is In Unicode?, How Do I Detect Data That's -Not Valid In a Particular Encoding, How Do I Convert Binary Data Into a -Particular Encoding, Or Vice Versa?, How Do I Display Unicode? How Do I -Input Unicode?, How Does Unicode Work With Traditional Locales? - =item Hexadecimal Notation =item Further Resources @@ -2231,7 +2385,7 @@ Input Unicode?, How Does Unicode Work With Traditional Locales? =item SEE ALSO -=item ACKNOWLEDGEMENTS +=item ACKNOWLEDGMENTS =item AUTHOR, COPYRIGHT, AND LICENSE @@ -2247,40 +2401,53 @@ Input Unicode?, How Does Unicode Work With Traditional Locales? =item Important Caveats -Input and Output Disciplines, Regular Expressions, C still needed -to enable UTF-8/UTF-EBCDIC in scripts +Input and Output Layers, Regular Expressions, C still needed to +enable UTF-8/UTF-EBCDIC in scripts -=item Byte and Character semantics +=item Byte and Character Semantics -=item Effects of character semantics +=item Effects of Character Semantics =item Scripts =item Blocks -=item Character encodings for input and output +=item User-Defined Character Properties -=back +=item Character Encodings for Input and Output -=item CAVEATS +=item Unicode Regular Expression Support Level -=item UNICODE REGULAR EXPRESSION SUPPORT LEVEL +=item Unicode Encodings -=over 4 +=item Security Implications of Unicode -=item Unicode Encodings +=item Unicode in Perl on EBCDIC -UTF-8, UTF-EBCDIC, UTF-16, UTF-16BE, UTF16-LE, Surrogates, and BOMs (Byte -Order Marks), UTF-32, UTF-32BE, UTF32-LE, UCS-2, UCS-4, UTF-7 +=item Locales -=item Security Implications of Malformed UTF-8 +=item When Unicode Does Not Happen -=item Unicode in Perl on EBCDIC +=item Forcing Unicode in Perl (Or Unforcing Unicode in Perl) =item Using Unicode in XS =back +=item BUGS + +=over 4 + +=item Interaction with Locales + +=item Interaction with Extensions + +=item Speed + +=item Porting code from perl-5.6.X + +=back + =item SEE ALSO =back @@ -2311,8 +2478,14 @@ Order Marks), UTF-32, UTF-32BE, UTF32-LE, UCS-2, UCS-4, UTF-7 =item POSIX-BC +=item Unicode code points versus EBCDIC code points + +=item Remaining Perl Unicode problems in EBCDIC + =item Unicode and UTF +=item Using Encode + =back =item SINGLE OCTET TABLES @@ -2381,9 +2554,9 @@ chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack() =over 4 -=item OS/400 +=item OS/400 -IFS access +PASE, IFS access =item OS/390, z/OS @@ -2425,6 +2598,10 @@ chcp, dataset access, OS/390, z/OS iconv, locales =item Protecting Your Programs +=item Unicode + +=item Algorithmic Complexity Attacks + =back =item SEE ALSO @@ -2486,57 +2663,85 @@ module (sometimes unnecessary), B the module =over 4 -=item DESCRIPTION - =item THE PERL MODULE LIBRARY =over 4 =item Pragmatic Modules -attributes, autouse, base, blib, bytes, charnames, constant, diagnostics, -encoding, fields, filetest, integer, less, locale, open, overload, sigtrap, -sort, strict, subs, utf8, vars, vmsish, warnings, warnings::register +assertions, assertions::activate, attributes, attrs, autouse, base, bigint, +bignum, bigrat, blib, bytes, charnames, constant, diagnostics, encoding, +fields, filetest, if, integer, less, lib, locale, open, ops, overload, re, +sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, +vmsish, warnings, warnings::register =item Standard Modules -AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, Benchmark, CGI, -CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, -CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, -Carp::Heavy, Class::ISA, Class::Struct, Cwd, DB, Devel::SelfStubber, -Digest, DirHandle, Dumpvalue, English, Env, Exporter, Exporter::Heavy, -ExtUtils::Command, ExtUtils::Constant, ExtUtils::Embed, ExtUtils::Install, -ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM_Cygwin, -ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS, -ExtUtils::MM_Win32, ExtUtils::MakeMaker, ExtUtils::Manifest, -ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, -ExtUtils::testlib, Fatal, File::Basename, File::CheckTree, File::Compare, -File::Copy, File::DosGlob, File::Find, File::Path, File::Spec, -File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions, -File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, -File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle, -Filter::Simple, FindBin, Getopt::Long, Getopt::Std, I18N::Collate, -I18N::LangTags, I18N::LangTags::List, IPC::Open2, IPC::Open3, -Locale::Constants, Locale::Country, Locale::Currency, Locale::Language, -Locale::Maketext, Locale::Maketext::TPJ13, Math::BigFloat, Math::BigInt, -Math::BigInt::Calc, Math::Complex, Math::Trig, Memoize, -Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile, -Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File, -Memoize::Storable, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, -Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, -Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, -PerlIO, Pod::Checker, Pod::Find, Pod::Functions, Pod::Html, -Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, -Pod::Parser, Pod::Plainer, Pod::Select, Pod::Text, Pod::Text::Color, -Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, Pod::t::basic, -Search::Dict, SelectSaver, SelfLoader, Shell, Switch, Symbol, -Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test, -Test::Builder, Test::Harness, Test::More, Test::Simple, Test::Tutorial, -Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, -Text::Wrap, Thread, Tie::Array, Tie::Handle, Tie::Hash, Tie::RefHash, -Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime, -Time::tm, UNIVERSAL, Unicode::Collate, Unicode::UCD, User::grent, -User::pwent, Win32 +AnyDBM_File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Asmdata, +B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, +B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, +B::Terse, B::Xref, Benchmark, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, +CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, +CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA, Class::Struct, +Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, +Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, DirHandle, Dumpvalue, +DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, +Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, +Encode::Encoder, Encode::Encoding, Encode::Guess, Encode::JP, +Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, +Encode::MIME::Header, Encode::PerlIO, Encode::Supported, Encode::Symbol, +Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, +Exporter, Exporter::Heavy, ExtUtils::Command, ExtUtils::Command::MM, +ExtUtils::Constant, ExtUtils::Embed, ExtUtils::Install, +ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_Any, +ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, +ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_UWIN, +ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32, +ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, +ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial, +ExtUtils::MakeMaker::bytes, ExtUtils::MakeMaker::vmsish, +ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, +ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, File::Basename, +File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Find, +File::Glob, File::Path, File::Spec, File::Spec::Cygwin, File::Spec::Epoc, +File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, +File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, +FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, +Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate, I18N::LangTags, +I18N::LangTags::List, I18N::Langinfo, IO, IO::Dir, IO::File, IO::Handle, +IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, +IO::Socket::UNIX, IPC::Open2, IPC::Open3, IPC::SysV, IPC::SysV::Msg, +IPC::SysV::Semaphore, List::Util, Locale::Constants, Locale::Country, +Locale::Currency, Locale::Language, Locale::Maketext, +Locale::Maketext::TPJ13, Locale::Script, MIME::Base64, +MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt, +Math::BigInt::Calc, Math::BigInt::Scalar, Math::BigRat, Math::Complex, +Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, +Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, +Memoize::SDBM_File, Memoize::Storable, NDBM_File, NEXT, Net::Cmd, +Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, +Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, +Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, +PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, +Pod::Checker, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, +Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, +Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, +Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText, +Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer, +Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, +Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, +Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, +Symbol, Sys::Hostname, Sys::Syslog, Term::ANSIColor, Term::Cap, +Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Harness, +Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Straps, +Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, +Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, +Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, +Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash, +Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime, +Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, +Unicode::UCD, User::grent, User::pwent, Win32, XS::APItest, XS::Typemap, +XSLoader =item Extension Modules @@ -2548,18 +2753,43 @@ User::pwent, Win32 =item Africa +South Africa + =item Asia +China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi +Arabia, Singapore, South Korea, Taiwan + =item Central America +Costa Rica + =item Europe +Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Estonia, +Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, +Lithuania, Netherlands, Norway, Poland, Portugal, Romania, Russia, +Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey, Ukraine, United +Kingdom + =item North America +Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States, +Alabama, California, Colorado, Delaware, District of Columbia, Florida, +Illinois, Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, +New York, North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, +Utah, Virginia, Washington, Wisconsin + =item Oceania +Australia, New Zealand, United States + =item South America +Argentina, Brazil, Chile + +=item RSYNC Mirrors + =back =item Modules: Creation, Use, and Abuse @@ -2640,6 +2870,9 @@ Parameter passing =item README, INSTALL, release notes, changelogs +perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, +perl Build test, perl Build install + =back =item RELEASE CONSIDERATIONS @@ -2672,8 +2905,9 @@ Parameter passing =item SEE ALSO -L, L, L, L, Testing tools, -http://pause.perl.org/, Any good book on software engineering +L, L, L, L, Packaging Tools, +Testing tools, http://pause.perl.org/, Any good book on software +engineering =item AUTHOR @@ -2714,8 +2948,8 @@ tarball, Announce to the modules list, Announce to clpa, Fix bugs! =back -=head2 perlfaq1 - General Questions About Perl ($Revision: 1.6 $, $Date: -2002/01/31 01:46:23 $) +=head2 perlfaq1 - General Questions About Perl ($Revision: 1.12 $, $Date: +2003/07/09 15:47:28 $) =over 4 @@ -2731,6 +2965,8 @@ tarball, Announce to the modules list, Announce to clpa, Fix bugs! =item What are perl4 and perl5? +=item What is Ponie? + =item What is perl6? =item How stable is Perl? @@ -2761,8 +2997,8 @@ Scheme, or Tcl? =back -=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.8 $, -$Date: 2002/02/08 22:31:57 $) +=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.20 $, +$Date: 2003/01/26 17:50:56 $) =over 4 @@ -2817,8 +3053,8 @@ References, Tutorials, Task-Oriented, Special Topics =back -=head2 perlfaq3 - Programming Tools ($Revision: 1.13 $, $Date: 2002/02/08 -22:32:47 $) +=head2 perlfaq3 - Programming Tools ($Revision: 1.33 $, $Date: 2003/01/31 +17:34:56 $) =over 4 @@ -2832,6 +3068,8 @@ References, Tutorials, Task-Oriented, Special Topics =item Is there a Perl shell? +=item How do I find which modules are installed on my system? + =item How do I debug my Perl programs? =item How do I profile my Perl programs? @@ -2844,8 +3082,8 @@ References, Tutorials, Task-Oriented, Special Topics =item Is there an IDE or Windows Perl Editor? -Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, -CodeMagicCD, GNU Emacs, MicroEMACS, XEmacs, Elvis, Vile, Vim, Codewright, +Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, OptiPerl, +GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha =item Where can I get Perl macros for vi? @@ -2865,7 +3103,7 @@ MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk -=item Is it unsafe to return a pointer to local data? +=item Is it safe to return a reference to local or lexical data? =item How can I free an array or hash so my program shrinks? @@ -2902,8 +3140,8 @@ my C program; what am I doing wrong? =back -=head2 perlfaq4 - Data Manipulation ($Revision: 1.14 $, $Date: 2002/02/08 -22:30:23 $) +=head2 perlfaq4 - Data Manipulation ($Revision: 1.44 $, $Date: 2003/07/28 +17:35:21 $) =over 4 @@ -2923,10 +3161,10 @@ Trig functions? =item How do I convert between numeric representations? -B, B, B, B, B, B +How do I convert hexadecimal into decimal, How do I convert from decimal to +hexadecimal, How do I convert from octal to decimal, How do I convert from +decimal to octal, How do I convert from binary to decimal, How do I convert +from decimal to binary =item Why doesn't & work the way I want it to? @@ -2938,15 +3176,15 @@ decimal:>, B =item Why aren't my random numbers random? +=item How do I get a random number between X and Y? + =back =item Data: Dates =over 4 -=item How do I find the week-of-the-year/day-of-the-year? - -=item How do I find the current century or millennium? +=item How do I find the day or week of the year? =item How can I compare two dates and find the difference? @@ -2980,7 +3218,7 @@ decimal:>, B =item How do I reformat a paragraph? -=item How can I access/change the first N letters of a string? +=item How can I access or change N characters of a string? =item How do I change the Nth occurrence of something? @@ -2990,7 +3228,7 @@ string? =item How do I capitalize all the words on one line? =item How can I split a [character] delimited string except when inside -[character]? (Comma-separated files) +[character]? =item How do I strip blank space from the beginning/end of a string? @@ -3004,10 +3242,10 @@ string? =item What's wrong with always quoting "$vars"? -=item Why don't my <EHERE documents work? -1. There must be no space after the << part, 2. There (probably) should be -a semicolon at the end, 3. You can't (easily) have any space in front of +There must be no space after the EE part, There (probably) should +be a semicolon at the end, You can't (easily) have any space in front of the tag =back @@ -3117,8 +3355,8 @@ array of hashes or arrays? =back -=head2 perlfaq5 - Files and Formats ($Revision: 1.8 $, $Date: 2002/01/28 -04:17:26 $) +=head2 perlfaq5 - Files and Formats ($Revision: 1.28 $, $Date: 2003/01/26 +17:45:46 $) =over 4 @@ -3133,6 +3371,8 @@ line in the middle of a file/append to the beginning of a file? =item How do I count the number of lines in a file? +=item How can I use Perl's C<-i> option from within a program? + =item How do I make a temporary file name? =item How can I manipulate fixed-record-length files? @@ -3152,7 +3392,8 @@ filehandles between subroutines? How do I make an array of filehandles? =item How come when I open a file read-write it wipes it out? -=item Why do I sometimes get an "Argument list too long" when I use <*>? +=item Why do I sometimes get an "Argument list too long" when I use +E*E? =item Is there a leak/bug in glob()? @@ -3162,7 +3403,7 @@ filehandles between subroutines? How do I make an array of filehandles? =item How can I lock a file? -=item Why can't I just open(FH, ">file.lock")? +=item Why can't I just open(FH, "Efile.lock")? =item I still don't get locking. I just want to increment the number in the file. How can I do this? @@ -3192,7 +3433,7 @@ file. Do I still have to use locking? =item How do I close a file descriptor by number? -=item Why can't I use "C:\temp\foo" in DOS paths? What doesn't +=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work? =item Why doesn't glob("*.*") get all the files? @@ -3210,8 +3451,8 @@ protected files? Isn't this a bug in Perl? =back -=head2 perlfaq6 - Regular Expressions ($Revision: 1.8 $, $Date: 2002/01/31 -04:27:55 $) +=head2 perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03 +20:05:28 $) =over 4 @@ -3277,8 +3518,8 @@ file? =back -=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.7 $, $Date: -2002/01/31 04:27:55 $) +=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.15 $, $Date: +2003/07/24 02:17:21 $) =over 4 @@ -3330,7 +3571,7 @@ is in scope? =item What's the difference between deep and shallow binding? -=item Why doesn't "my($foo) = ;" work right? +=item Why doesn't "my($foo) = EFILEE;" work right? =item How do I redefine a builtin function, operator, or method? @@ -3338,7 +3579,8 @@ is in scope? =item How do I create a switch or case statement? -=item How can I catch accesses to undefined variables/functions/methods? +=item How can I catch accesses to undefined variables, functions, or +methods? =item Why can't a method included in this same file be found? @@ -3350,14 +3592,16 @@ is in scope? =item How can I use a variable as a variable name? +=item What does "bad interpreter" mean? + =back =item AUTHOR AND COPYRIGHT =back -=head2 perlfaq8 - System Interaction ($Revision: 1.6 $, $Date: 2002/01/28 -04:17:27 $) +=head2 perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26 +17:44:04 $) =over 4 @@ -3484,7 +3728,7 @@ search path? =back -=head2 perlfaq9 - Networking ($Revision: 1.7 $, $Date: 2002/01/28 04:17:27 +=head2 perlfaq9 - Networking ($Revision: 1.15 $, $Date: 2003/01/31 17:36:57 $) =over 4 @@ -3586,12 +3830,14 @@ i, &, s, r =item The Optimized C Back End -B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, -B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, -B::Stash, B::Terse, B::Xref - =back +=item Module List for the Compiler Suite + +B, O, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, +B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, +B::Stackobj, B::Stash, B::Terse, B::Xref + =item KNOWN PROBLEMS =item AUTHOR @@ -3638,6 +3884,8 @@ program =item Embedding Perl under Win32 +=item Hiding Perl_ + =item MORAL =item AUTHOR @@ -3777,7 +4025,7 @@ C, C, C =item EXAMPLE 8 (Coming Soon) -=item EXAMPLE 9 (Coming Soon) +=item EXAMPLE 9 Passing open files to XSes =item Troubleshooting these Examples @@ -3841,6 +4089,8 @@ C, C, C =item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords +=item The C Keyword + =item Variable-length Parameter Lists =item The C_ARGS: Keyword @@ -3865,6 +4115,10 @@ C, C, C =item The ALIAS: Keyword +=item The OVERLOAD: Keyword + +=item The FALLBACK: Keyword + =item The INTERFACE: Keyword =item The INTERFACE_MACRO: Keyword @@ -3957,12 +4211,16 @@ C, C

, C, C =item Hash API Extensions +=item AVs, HVs and undefined values + =item References =item Blessed References and Class Objects =item Creating New Variables +GV_ADDMULTI, GV_ADDWARN + =item Reference Counts and Mortality =item Stashes and Globs @@ -4236,6 +4494,10 @@ B =item CONCLUSION +=item THINGS TO LOOK OUT FOR + +Some Filters Clobber the C Handle + =item REQUIREMENTS =item AUTHOR @@ -4306,8 +4568,12 @@ CvSTASH, get_cv, Nullcv =item Embedding Functions -load_module, perl_alloc, perl_construct, perl_destruct, perl_free, -perl_parse, perl_run, require_pv +cv_undef, load_module, nothreadhook, perl_alloc, perl_construct, +perl_destruct, perl_free, perl_parse, perl_run, require_pv + +=item Functions in file pp_pack.c + +packlist, pack_cat, unpackstring, unpack_str =item Global Variables @@ -4315,8 +4581,8 @@ PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes =item GV Functions -GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, gv_stashpv, -gv_stashsv +GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, +gv_fetchmeth_autoload, gv_stashpv, gv_stashsv =item Handy Values @@ -4327,8 +4593,8 @@ HEf_SVKEY, Nullch, Nullsv get_hv, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey, -hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, hv_store, -hv_store_ent, hv_undef, newHV, Nullhv +hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iternext_flags, hv_iterval, +hv_magic, hv_store, hv_store_ent, hv_undef, newHV, Nullhv =item Magical Functions @@ -4338,13 +4604,14 @@ SvSetSV, SvSetSV_nosteal, SvSHARE =item Memory Management -Copy, Move, New, Newc, NEWSV, Newz, Renew, Renewc, Safefree, savepv, -savepvn, savesharedpv, StructCopy, Zero +Copy, Move, New, Newc, NEWSV, Newz, Poison, Renew, Renewc, Safefree, +savepv, savepvn, savesharedpv, StructCopy, Zero =item Miscellaneous Functions -fbm_compile, fbm_instr, form, getcwd_sv, strEQ, strGE, strGT, strLE, strLT, -strNE, strnEQ, strnNE +fbm_compile, fbm_instr, form, getcwd_sv, new_version, scan_version, strEQ, +strGE, strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_nolocking, +sv_nosharing, sv_nounlocking, upg_version, vcmp, vnumify, vstringify =item Numeric functions @@ -4355,6 +4622,10 @@ scan_hex, scan_oct cv_const_sv, newCONSTSUB, newXS +=item Pad Data Structures + +pad_sv + =item Stack Manipulation Macros dMARK, dORIGMARK, dSP, EXTEND, MARK, ORIGMARK, POPi, POPl, POPn, POPp, @@ -4371,44 +4642,46 @@ svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG get_sv, looks_like_number, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv, -new_vstring, SvCUR, SvCUR_set, SvEND, SvGROW, SvIOK, SvIOKp, SvIOK_notUV, -SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV, SvIOK_UV, SvIV, SvIVx, -SvIVX, SvLEN, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, -SvNOK_on, SvNOK_only, SvNV, SvNVX, SvNVx, SvOK, SvOOK, SvPOK, SvPOKp, -SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV, SvPVbyte, -SvPVbytex, SvPVbytex_force, SvPVbyte_force, SvPVbyte_nolen, SvPVutf8, -SvPVutf8x, SvPVutf8x_force, SvPVutf8_force, SvPVutf8_nolen, SvPVx, SvPVX, -SvPV_force, SvPV_force_nomg, SvPV_nolen, SvREFCNT, SvREFCNT_dec, -SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSTASH, SvTAINT, -SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, SvUNLOCK, SvUOK, -SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, SvUV, SvUVX, SvUVx, sv_2bool, -sv_2cv, sv_2io, sv_2iv, sv_2mortal, sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, -sv_2pvutf8, sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen, sv_2uv, -sv_backoff, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, -sv_catpvn_flags, sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_flags, -sv_catsv_mg, sv_chop, sv_clear, sv_cmp, sv_cmp_locale, sv_collxfrm, sv_dec, -sv_derived_from, sv_eq, sv_force_normal, sv_force_normal_flags, sv_free, -sv_gets, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject, sv_iv, sv_len, -sv_len_utf8, sv_magic, sv_magicext, sv_mortalcopy, sv_newmortal, sv_newref, -sv_nolocking, sv_nosharing, sv_nounlocking, sv_nv, sv_pos_b2u, sv_pos_u2b, -sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force, sv_pvn, sv_pvn_force, -sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n, sv_pvutf8n_force, sv_reftype, -sv_replace, sv_report_used, sv_reset, sv_rvweaken, sv_setiv, sv_setiv_mg, -sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv, -sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, -sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setref_uv, sv_setsv, -sv_setsv_flags, sv_setsv_mg, sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, -sv_true, sv_unmagic, sv_unref, sv_unref_flags, sv_untaint, sv_upgrade, -sv_usepvn, sv_usepvn_mg, sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode, -sv_utf8_upgrade, sv_utf8_upgrade_flags, sv_uv, sv_vcatpvfn, sv_vsetpvfn +SvCUR, SvCUR_set, SvEND, SvGROW, SvIOK, SvIOKp, SvIOK_notUV, SvIOK_off, +SvIOK_on, SvIOK_only, SvIOK_only_UV, SvIOK_UV, SvIsCOW, +SvIsCOW_shared_hash, SvIV, SvIVx, SvIVX, SvLEN, SvNIOK, SvNIOKp, +SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, +SvNVx, SvOK, SvOOK, SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, +SvPOK_only_UTF8, SvPV, SvPVbyte, SvPVbytex, SvPVbytex_force, +SvPVbyte_force, SvPVbyte_nolen, SvPVutf8, SvPVutf8x, SvPVutf8x_force, +SvPVutf8_force, SvPVutf8_nolen, SvPVx, SvPVX, SvPV_force, SvPV_force_nomg, +SvPV_nolen, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, +SvROK_on, SvRV, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, +SvTRUE, SvTYPE, SvUNLOCK, SvUOK, SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, +SvUV, SvUVX, SvUVx, SvVOK, sv_2bool, sv_2cv, sv_2io, sv_2iv, sv_2mortal, +sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, sv_2pvutf8, sv_2pvutf8_nolen, +sv_2pv_flags, sv_2pv_nolen, sv_2uv, sv_backoff, sv_bless, sv_catpv, +sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_flags, sv_catpvn_mg, +sv_catpv_mg, sv_catsv, sv_catsv_flags, sv_catsv_mg, sv_chop, sv_clear, +sv_cmp, sv_cmp_locale, sv_collxfrm, sv_copypv, sv_dec, sv_derived_from, +sv_eq, sv_force_normal, sv_force_normal_flags, sv_free, sv_gets, sv_grow, +sv_inc, sv_insert, sv_isa, sv_isobject, sv_iv, sv_len, sv_len_utf8, +sv_magic, sv_magicext, sv_mortalcopy, sv_newmortal, sv_newref, sv_nv, +sv_pos_b2u, sv_pos_u2b, sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force, +sv_pvn, sv_pvn_force, sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n, +sv_pvutf8n_force, sv_reftype, sv_replace, sv_report_used, sv_reset, +sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv, +sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn, +sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, +sv_setref_pvn, sv_setref_uv, sv_setsv, sv_setsv_flags, sv_setsv_mg, +sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, sv_true, sv_unmagic, sv_unref, +sv_unref_flags, sv_untaint, sv_upgrade, sv_usepvn, sv_usepvn_mg, +sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode, sv_utf8_upgrade, +sv_utf8_upgrade_flags, sv_uv, sv_vcatpvfn, sv_vsetpvfn =item Unicode Support bytes_from_utf8, bytes_to_utf8, ibcmp_utf8, is_utf8_char, is_utf8_string, -pv_uni_display, sv_recode_to_utf8, sv_uni_display, to_utf8_case, -to_utf8_fold, to_utf8_lower, to_utf8_title, to_utf8_upper, utf8n_to_uvchr, -utf8n_to_uvuni, utf8_distance, utf8_hop, utf8_length, utf8_to_bytes, -utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, uvuni_to_utf8_flags +pv_uni_display, sv_cat_decode, sv_recode_to_utf8, sv_uni_display, +to_utf8_case, to_utf8_fold, to_utf8_lower, to_utf8_title, to_utf8_upper, +utf8n_to_uvchr, utf8n_to_uvuni, utf8_distance, utf8_hop, utf8_length, +utf8_to_bytes, utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, +uvuni_to_utf8_flags =item Variables created by C and C internal functions @@ -4432,6 +4705,22 @@ croak, warn =item DESCRIPTION +=item CV reference counts and CvOUTSIDE + +CvWEAKOUTSIDE + +=item Functions in file pad.h + +CX_CURPAD_SAVE, CX_CURPAD_SV, PAD_BASE_SV, PAD_CLONE_VARS, +PAD_COMPNAME_FLAGS, PAD_COMPNAME_GEN, PAD_COMPNAME_OURSTASH, +PAD_COMPNAME_PV, PAD_COMPNAME_TYPE, PAD_DUP, PAD_RESTORE_LOCAL, +PAD_SAVE_LOCAL, PAD_SAVE_SETNULLPAD, PAD_SETSV, PAD_SET_CUR, PAD_SV, +PAD_SVl, SAVECLEARSV, SAVECOMPPAD, SAVEPADSV + +=item Functions in file pp_ctl.c + +find_runcv + =item Global Variables PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_last_in_gv, PL_ofs_sv, @@ -4447,7 +4736,10 @@ start_glob =item Pad Data Structures -CvPADLIST +CvPADLIST, cv_clone, cv_dump, do_dump_pad, intro_my, pad_add_anon, +pad_add_name, pad_alloc, pad_block_start, pad_check_dup, pad_findlex, +pad_findmy, pad_fixup_inner_anons, pad_free, pad_leavemy, pad_new, +pad_push, pad_reset, pad_setsv, pad_swipe, pad_tidy, pad_undef =item Stack Manipulation Macros @@ -4494,25 +4786,13 @@ PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS =item Methods in Detail -char * name;, Size_t size;, IV kind;, PERLIO_K_BUFFERED, PERLIO_K_CANCRLF, -PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, PERLIO_K_RAW, IV -(*Pushed)(pTHX_ PerlIO *f,const char *mode, SV *arg);, IV -(*Popped)(pTHX_ PerlIO *f);, PerlIO * (*Open)(...);, SV * -(*Getarg)(pTHX_ PerlIO *f, CLONE_PARAMS *param, int flags), IV -(*Fileno)(pTHX_ PerlIO *f);, PerlIO * (*Dup)(pTHX_ PerlIO *f, PerlIO *o, -CLONE_PARAMS *param, int flags), SSize_t (*Read)(pTHX_ PerlIO *f, -void *vbuf, Size_t count);, SSize_t (*Unread)(pTHX_ PerlIO *f, const -void *vbuf, Size_t count);, SSize_t (*Write)(PerlIO *f, const void -*vbuf, Size_t count);, IV (*Seek)(pTHX_ PerlIO *f, Off_t -offset, int whence);, Off_t (*Tell)(pTHX_ PerlIO *f);, IV - (*Close)(pTHX_ PerlIO *f);, IV (*Flush)(pTHX_ PerlIO *f);, -IV (*Fill)(pTHX_ PerlIO *f);, IV (*Eof)(pTHX_ PerlIO -*f);, IV (*Error)(pTHX_ PerlIO *f);, void -(*Clearerr)(pTHX_ PerlIO *f);, void (*Setlinebuf)(pTHX_ PerlIO -*f);, STDCHAR * (*Get_base)(pTHX_ PerlIO *f);, Size_t -(*Get_bufsiz)(pTHX_ PerlIO *f);, STDCHAR * (*Get_ptr)(pTHX_ PerlIO -*f);, SSize_t (*Get_cnt)(pTHX_ PerlIO *f);, void -(*Set_ptrcnt)(pTHX_ PerlIO *f,STDCHAR *ptr,SSize_t cnt); +fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF, +PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode, +Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof, +Error, Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt, +Set_ptrcnt + +=item Implementing PerlIO Layers =item Core Layers @@ -4520,7 +4800,7 @@ IV (*Fill)(pTHX_ PerlIO *f);, IV (*Eof)(pTHX_ PerlIO =item Extension Layers -":encoding", ":Scalar", ":Object" or ":Perl" +":encoding", ":scalar", ":via" =back @@ -4552,8 +4832,8 @@ B, B, B =item Co-existence with stdio -B, B, -B, B +B, B, +B, B =item "Fast gets" Functions @@ -4593,12 +4873,10 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Unicode -=item use Thread for iThreads - -=item make perl_clone optionally clone ops - =item Work out exit/die semantics for threads +=item Better support for nonpreemptive threading systems like GNU pth + =item Typed lexicals for compiler =item Compiler workarounds for Win32 @@ -4623,8 +4901,6 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Locales -=item Thread-safe regexes - =item Arithmetic on non-Arabic numerals =item POSIX Unicode character classes @@ -4635,6 +4911,8 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Sort out the uid-setting mess +=item Custom opcodes + =item DLL Versioning =item Introduce @( and @) @@ -4669,10 +4947,6 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Memory leaks after failed eval -=item pack for IV, UVs, NVs, and long doubles - -=item pack "(stuff)*" - =item bitfields in pack =item Cross compilation @@ -4699,8 +4973,6 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Cache recently used regexps -=item Re-entrant functions - =item Cross-compilation support =item Bit-shifting bitvectors @@ -4755,7 +5027,16 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Make v-strings overloaded objects -=back +=item Allow restricted hash assignment + +=item Should overload be inheritable? + +=item Taint rethink + +=item Perform correctly when XSUBs call subroutines that exit via +goto(LABEL) and friends + +=back =item Vague ideas @@ -4797,8 +5078,16 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Update auxiliary tools +=item Create debugging macros + +=item truncate to the people + +=item Unicode in Filenames + =back +=item Unicode in %ENV + =item Recently done things =over 4 @@ -4917,10 +5206,6 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), =item Unicode collation and normalization -=item Create debugging macros - -=item truncate to the people - =item pack/unpack tutorial =back @@ -4950,17 +5235,14 @@ NFS, rsync'ing the patches =item Why rsync the source tree -It's easier to rsync the source tree, It's more recent, It's more reliable +It's easier to rsync the source tree, It's more reliable =item Why rsync the patches It's easier to rsync the patches, It's a good reference, Finding a start point, Finding how to fix a bug, Finding the source of misbehaviour -=item Perlbug remote interface - -1 http://bugs.perl.org, 2 bugdb@perl.org, 3 -commands_and_bugdids@bugs.perl.org, notes, patches, tests +=item Perlbug administration =item Submitting patches @@ -4985,6 +5267,8 @@ Argument stack, Mark stack, Save stack =item Millions of Macros +=item The .i Targets + =item Poking at Perl =item Using a source-level debugger @@ -4992,6 +5276,8 @@ Argument stack, Mark stack, Save stack run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', print +=item gdb macro support + =item Dumping Perl Data Structures =item Patching @@ -5003,7 +5289,18 @@ finish, 'enter', print =item Writing a test F, F, F, F, F, F, -F, F, t/base t/comp, t/cmd t/run t/io t/op, t/lib ext lib +F, F, F, F, F, t/base t/comp, +t/cmd t/run t/io t/op, t/lib ext lib + +=item Special Make Test Targets + +coretest, test.deparse, minitest, test.third check.third utest.third +ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8, +test_harness + +=item Running tests by hand + +PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST =back @@ -5021,7 +5318,7 @@ F, F, t/base t/comp, t/cmd t/run t/io t/op, t/lib ext lib DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug -=item Compaq's/Digital's Third Degree +=item Compaq's/Digital's/HP's Third Degree =item PERL_DESTRUCT_LEVEL @@ -5038,6 +5335,8 @@ DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug -h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage, -z[ero] +=item Miscellaneous tricks + =item CONCLUSION I @@ -5048,6 +5347,31 @@ I =back +=head2 perldoc - Look up Perl documentation in Pod format. + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=item OPTIONS + +B<-h>, B<-v>, B<-t>, B<-u>, B<-m> I, B<-l>, B<-F>, B<-f> +I, B<-q> I, B<-T>, B<-d> +I, B<-o> I, B<-M> I, +B<-w> I or B<-w> I

-B
I, B +B
+ +B B @@ -16837,6 +19378,8 @@ B<_my_exit> =over 4 +=item THREADS + =item EXAMPLES =item SEE ALSO @@ -16901,13 +19444,13 @@ B<_leader_width> C, C, C, C, C, C +%s>, C =item ENVIRONMENT -C, C, C, -C, C, C, -C +C, C, C, +C, C, C, +C, C, C =item EXAMPLE @@ -16915,6 +19458,8 @@ C =item AUTHORS +=item LICENSE + =item TODO =item BUGS @@ -17099,6 +19644,8 @@ B B, B +When do I use SKIP vs. TODO? + =over 4 =item Comparison functions @@ -17245,6 +19792,10 @@ L =item C +=item C + +[0], [1], [2] + =item C C $listref>, C $listref>, C $str>, @@ -17355,7 +19906,7 @@ unexpand(1) =back -=head2 Thread - manipulate threads in Perl +=head2 Thread - manipulate threads in Perl (for old code only) =over 4 @@ -17412,9 +19963,12 @@ new, new NUMBER, down, down NUMBER, up, up NUMBER =back =head2 Thread::Signal - Start a thread which runs signal handlers reliably +(for old code) =over 4 +=item CAVEAT + =item SYNOPSIS =item DESCRIPTION @@ -17452,6 +20006,74 @@ SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST =back +=head2 Tie::File - Access the lines of a disk file via a Perl array + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=over 4 + +=item C + +=item C + +=item C + +=item C + +=item C + +=item Option Format + +=back + +=item Public Methods + +=over 4 + +=item C + +=item C + +=item C, C, C, and C + +=item C + +=back + +=item Tying to an already-opened filehandle + +=item Deferred Writing + +=over 4 + +=item Autodeferring + +=back + +=item CONCURRENT ACCESS TO FILES + +=item CAVEATS + +=item SUBCLASSING + +=item WHAT ABOUT C? + +=item AUTHOR + +=item LICENSE + +=item WARRANTY + +=item THANKS + +=item TODO + +=back + =head2 Tie::Handle, Tie::StdHandle - base class definitions for tied handles @@ -17472,7 +20094,8 @@ EOF this, TELL this, SEEK this, offset, whence, DESTROY this =back -=head2 Tie::Hash, Tie::StdHash - base class definitions for tied hashes +=head2 Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for +tied hashes =over 4 @@ -17483,12 +20106,34 @@ EOF this, TELL this, SEEK this, offset, whence, DESTROY this TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this -=item CAVEATS +=item Inheriting from B + +=item Inheriting from B + +=item C and C =item MORE INFORMATION =back +=head2 Tie::Memoize - add data to hash when needed + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=item Inheriting from B + +=item EXAMPLE + +=item BUGS + +=item AUTHOR + +=back + =head2 Tie::RefHash - use references as hash keys =over 4 @@ -17552,13 +20197,21 @@ getitimer ( $which ) =item C API +=item DIAGNOSTICS + +=over 4 + +=item negative time not invented yet + +=item internal error: useconds < 0 (unsigned ... signed ...) + +=back + =item CAVEATS =item AUTHORS -=item REVISION - -=item COPYRIGHT +=item COPYRIGHT AND LICENSE =back @@ -17574,6 +20227,10 @@ getitimer ( $which ) =item BUGS +=item SUPPORT + +=item AUTHOR + =back =head2 Time::gmtime - by-name interface to Perl's built-in gmtime() @@ -17626,12 +20283,15 @@ function =item DESCRIPTION -$obj->isa( TYPE ), CLASS->isa( TYPE ), isa( VAL, TYPE ), $obj->can( METHOD -), CLASS->can( METHOD ), can( VAL, METHOD ), VERSION ( [ REQUIRE ] ) +C<< $obj->isa( TYPE ) >>, C<< CLASS->isa( TYPE ) >>, C, +C, C<$obj>, C, C, C<< $obj->can( METHOD ) >>, C<< +CLASS->can( METHOD ) >>, C, C + +=item EXPORTS =back -=head2 Unicode::Collate - use UCA (Unicode Collation Algorithm) +=head2 Unicode::Collate - Unicode Collation Algorithm =over 4 @@ -17643,36 +20303,56 @@ $obj->isa( TYPE ), CLASS->isa( TYPE ), isa( VAL, TYPE ), $obj->can( METHOD =item Constructor and Tailoring -alternate, backwards, entry, ignoreName, ignoreChar, level, normalization, -overrideCJK, overrideHangul, preprocess, rearrange, table, undefName, -undefChar, katakana_before_hiragana, upper_before_lower +UCA_Version, alternate, backwards, entry, ignoreName, ignoreChar, level, +normalization, overrideCJK, overrideHangul, preprocess, rearrange, table, +undefName, undefChar, katakana_before_hiragana, upper_before_lower -=item Other methods +=item Methods for Collation C<@sorted = $Collator-Esort(@not_sorted)>, C<$result = $Collator-Ecmp($a, $b)>, C<$result = $Collator-Eeq($a, $b)>, C<$result = $Collator-Ene($a, $b)>, C<$result = $Collator-Elt($a, $b)>, C<$result = $Collator-Ele($a, $b)>, C<$result = $Collator-Egt($a, $b)>, C<$result = $Collator-Ege($a, $b)>, -C<$sortKey = $Collator-EgetSortKey($string)>, C<$position = -$Collator-Eindex($string, $substring)>, C<($position, $length) = -$Collator-Eindex($string, $substring)> +C<$sortKey = $Collator-EgetSortKey($string)>, C<$sortKeyForm = +$Collator-EviewSortKey($string)> + +=item Methods for Searching + +C<$position = $Collator-Eindex($string, $substring[, $position])>, +C<($position, $length) = $Collator-Eindex($string, $substring[, +$position])>, C<$match_ref = $Collator-Ematch($string, $substring)>, +C<($match) = $Collator-Ematch($string, $substring)>, C<@match = +$Collator-Egmatch($string, $substring)>, C<$count = +$Collator-Esubst($string, $substring, $replacement)>, C<$count = +$Collator-Egsubst($string, $substring, $replacement)> + +=item Other Methods + +C<%old_tailoring = $Collator-Echange(%new_tailoring)>, UCA_Version, +Base_Unicode_Version =item EXPORT =item CAVEAT +=item Conformance Test + =back =item AUTHOR =item SEE ALSO -Unicode Collation Algorithm - Unicode TR #10, L +http://www.unicode.org/reports/tr10/, +http://www.unicode.org/reports/tr10/allkeys.txt, +http://www.unicode.org/reports/tr10/CollationTest.html +http://www.unicode.org/reports/tr10/CollationTest.zip, +http://www.unicode.org/reports/tr15/, L =back -=head2 Unicode::Normalize - normalized forms of Unicode text +=head2 Unicode::Normalize - Unicode Normalization Forms =over 4 @@ -17684,16 +20364,31 @@ Unicode Collation Algorithm - Unicode TR #10, L =item Normalization Forms -C<$string_NFD = NFD($raw_string)>, C<$string_NFC = NFC($raw_string)>, -C<$string_NFKD = NFKD($raw_string)>, C<$string_NFKC = NFKC($raw_string)>, -C<$normalized_string = normalize($form_name, $raw_string)> +C<$NFD_string = NFD($string)>, C<$NFC_string = NFC($string)>, +C<$NFKD_string = NFKD($string)>, C<$NFKC_string = NFKC($string)>, +C<$normalized_string = normalize($form_name, $string)> + +=item Decomposition and Composition + +C<$decomposed_string = decompose($string)>, C<$decomposed_string = +decompose($string, $useCompatMapping)>, C<$reordered_string = +reorder($string)>, C<$composed_string = compose($string)> + +=item Quick Check + +C<$result = checkNFD($string)>, C<$result = checkNFC($string)>, C<$result = +checkNFKD($string)>, C<$result = checkNFKC($string)>, C<$result = +check($form_name, $string)> =item Character Data C<$canonical_decomposed = getCanon($codepoint)>, -C<$compatibility_decomposed = getCompat($codepoint)>, C<$uv_composite = -getComposite($uv_here, $uv_next)>, C<$combining_class = -getCombinClass($codepoint)>, C<$is_exclusion = isExclusion($codepoint)> +C<$compatibility_decomposed = getCompat($codepoint)>, +C<$codepoint_composite = getComposite($codepoint_here, $codepoint_next)>, +C<$combining_class = getCombinClass($codepoint)>, C<$is_exclusion = +isExclusion($codepoint)>, C<$is_singleton = isSingleton($codepoint)>, +C<$is_non_starter_decomposition = isNonStDecomp($codepoint)>, +C<$may_be_composed_with_prev_char = isComp2nd($codepoint)> =item EXPORT @@ -17703,7 +20398,8 @@ getCombinClass($codepoint)>, C<$is_exclusion = isExclusion($codepoint)> =item SEE ALSO -http://www.unicode.org/unicode/reports/tr15/ +http://www.unicode.org/unicode/reports/tr15/, +http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt =back @@ -17851,39 +20547,23 @@ Win32::AbortSystemShutdown(MACHINE), Win32::BuildNumber(), Win32::CopyFile(FROM, TO, OVERWRITE), Win32::DomainName(), Win32::ExpandEnvironmentStrings(STRING), Win32::FormatMessage(ERRORCODE), Win32::FsType(), Win32::FreeLibrary(HANDLE), Win32::GetArchName(), -Win32::GetChipName(), Win32::GetCwd(), Win32::GetFullPathName(FILENAME), -Win32::GetLastError(), Win32::GetLongPathName(PATHNAME), -Win32::GetNextAvailDrive(), Win32::GetOSVersion(), +Win32::GetChipName(), Win32::GetCwd(), Win32::GetFolderPath(FOLDER [, +CREATE]), Win32::GetFullPathName(FILENAME), Win32::GetLastError(), +Win32::GetLongPathName(PATHNAME), Win32::GetNextAvailDrive(), +Win32::GetOSVersion(), Win32::GetOSName(), Win32::GetShortPathName(PATHNAME), Win32::GetProcAddress(INSTANCE, PROCNAME), Win32::GetTickCount(), Win32::InitiateSystemShutdown, Win32::IsWinNT(), Win32::IsWin95(), Win32::LoadLibrary(LIBNAME), Win32::LoginName(), Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID, SIDTYPE), Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE), Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]]), Win32::NodeName(), -Win32::RegisterServer(LIBRARYNAME), Win32::SetCwd(NEWDIRECTORY), -Win32::SetLastError(ERROR), Win32::Sleep(TIME), Win32::Spawn(COMMAND, ARGS, -PID), Win32::UnregisterServer(LIBRARYNAME) - -=back - -=back - -=head2 XS::Typemap - module to test the XS typemaps distributed with perl - -=over 4 - -=item SYNOPSIS - -=item DESCRIPTION +Win32::RegisterServer(LIBRARYNAME), Win32::SetChildShowWindow(SHOWWINDOW), +Win32::SetCwd(NEWDIRECTORY), Win32::SetLastError(ERROR), +Win32::Sleep(TIME), Win32::Spawn(COMMAND, ARGS, PID), +Win32::UnregisterServer(LIBRARYNAME) =back -=over 4 - -=item NOTES - -=item AUTHOR - =back =head2 XSLoader - Dynamically load C libraries into Perl code