
perltoc - perl documentation table of contents

This page provides a brief table of contents for the rest of the Perl documentation set. It is meant to be scanned quickly or grepped through to locate the proper section you're looking for.

Scalars, Arrays, Hashes
if, while, for, foreach
Arithmetic, Numeric comparison, String comparison, Boolean logic, Miscellaneous
Simple matching, Simple substitution, More complex regular expressions, Parentheses for capturing, Other regexp features
arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs
use strict
Discontinuance, Deprecation, and BugFix traps, Parsing Traps, Numerical Traps, General data type traps, Context Traps - scalar, list contexts, Precedence Traps, General Regular Expression Traps using s///, etc, Subroutine, Signal, Sorting Traps, OS Traps, DBM Traps, Unclassified Traps
Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance, Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix, Discontinuance, Deprecation, Discontinuance, Discontinuance
Parsing, Parsing, Parsing, Parsing, Parsing
Numerical, Numerical, Numerical, Bitwise string ops
(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String), (Constants), (Scalars), (Variable Suicide)
(list context), (scalar context), (scalar context), (list, builtin)
Precedence, Precedence, Precedence, Precedence, Precedence, Precedence, Precedence
Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression, Regular Expression
(Signals), (Sort Subroutine), warn() won't let you specify a filehandle
(SysV), (SysV)
Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation, Interpolation
DBM, DBM
require/do trap using returned value,
split on empty string with LIMIT specified
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
References, Tutorials, Task-Oriented, Special Topics
Eclipse, Komodo, Open Perl IDE, OptiPerl, PerlBuilder, visiPerl+, Visual Perl, GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, Affrus, Alpha, BBEdit and BBEdit Lite
Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk
#!perl to work on [MS-DOS,NT,...]?
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
There must be no space after the << part, There (probably) should be a semicolon at the end, You can't (easily) have any space in front of the tag
a), b), c), d), e)
-i option from within a program?
tail -f in perl?
-i clobber protected files?
Isn't this a bug in Perl?
Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
\w match national character sets?
/[a-zA-Z]/?
/o really for?
\b work for me?
Passing Variables and Functions, Passing Filehandles, Passing Regexes, Passing Methods
Keyboard, Screen, Mouse
lockfiles, open mode, end of line, flushing output, non-blocking input
STDIN, STDOUT, and STDERR are shared, Signals, Zombies
Unix
unary &, unary *, (TYPE)
?PATTERN?,
m/PATTERN/cgimosx,
/PATTERN/cgimosx,
q/STRING/,
'STRING',
qq/STRING/,
"STRING",
qr/STRING/imosx,
qx/STRING/,
`STRING`,
qw/STRING/,
s/PATTERN/REPLACEMENT/egimosx,
tr/SEARCHLIST/REPLACEMENTLIST/cds,
y/SEARCHLIST/REPLACEMENTLIST/cds,
<<EOF
Finding the end,
Removal of backslashes before delimiters,
Interpolation,
<<'EOF',
m'',
s''',
tr///,
y///,
'',
q//,
"",
``,
qq//,
qx//,
<file*glob>,
?RE?,
/RE/,
m/RE/,
s/RE/foo/,,
Interpolation of regular expressions,
Optimization of regular expressions
Lvalue subroutines are EXPERIMENTAL
Functions for SCALARs or strings, Regular expressions and pattern matching, Numeric functions, Functions for real @ARRAYs, Functions for list data, Functions for real %HASHes, Input and output functions, Functions for fixed length data or records, Functions for filehandles, files, or directories, Keywords related to the control flow of your perl program, Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups, Keywords related to perl modules, Keywords related to classes and object-orientedness, Low-level socket functions, System V interprocess communication functions, Fetching user and group info, Fetching network info, Time-related functions, Functions new in perl5, Functions obsoleted in perl5
-X FILEHANDLE, -X EXPR, -X, abs VALUE, abs, accept NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, 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, localtime, 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, require, reset EXPR, reset, return EXPR, return, reverse LIST, rewinddir DIRHANDLE, rindex STR,SUBSTR,POSITION, rindex STR,SUBSTR, rmdir FILENAME, rmdir, s///, scalar EXPR, seek FILEHANDLE,POSITION,WHENCE, seekdir DIRHANDLE,POS, select FILEHANDLE, select, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, send 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, 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 NUMBER, LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, 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, 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///
pack and unpack=head1 Heading Text,
=head2 Heading Text,
=head3 Heading Text,
=head4 Heading Text,
=over indentlevel,
=item stuff...,
=back,
=cut,
=pod,
=begin formatname,
=end formatname,
=for formatname text...,
=encoding encodingname
I<text> -- italic text,
B<text> -- bold text,
C<code> -- code text,
L<name> -- a hyperlink,
E<escape> -- a character escape,
F<filename> -- used for filenames,
S<text> -- text contains non-breaking spaces,
X<topic name> -- an index entry,
Z<> -- a null (zero-effect) formatting code
"=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item", "=back", "=begin formatname", "=end formatname", "=for formatname text...", "=encoding encodingname"
I<text> -- italic text,
B<text> -- bold text,
C<code> -- code text,
F<filename> -- style for filenames,
X<topic name> -- an index entry,
Z<> -- a null (zero-effect) formatting code,
L<name> -- a hyperlink,
E<escape> -- a character escape,
S<text> -- text contains non-breaking spaces
First:, Second:, Third:, Fourth:, Fifth:, Sixth:
OS/2, MS-DOS, Win95/NT, Macintosh, VMS
-0[octal/hexadecimal], -A [assertions], -a, -C [number/list], -c, -d, -dt, -d:foo[=bar,baz], -dt:foo[=bar,baz], -Dletters, -Dnumber, -e commandline, -f, -Fpattern, -h, -i[extension], -Idirectory, -l[octnum], -m[-]module, -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n, -p, -P, -s, -S, -t, -T, -u, -U, -v, -V, -V:configvar, -w, -W, -X, -x, -x directory
HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap, :perlio, :pop, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB, PERL5DB, PERL5DB_THREADED, PERL5SHELL (specific to the Win32 port), PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL, PERL_DL_NONLAZY, 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)
h, h [command], h h, p expr, x [maxdepth] expr, V [pkg [vars]], X [vars], y [level [vars]], T, s [expr], n [expr], r, <CR>, 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]
recallCommand,
ShellBang,
pager,
tkRunning,
signalLevel,
warnLevel,
dieLevel,
AutoTrace,
LineInfo,
inhibit_exit,
PrintRet,
ornaments,
frame,
maxTraceLen,
windowSize,
arrayDepth,
hashDepth,
dumpDepth,
compactDump,
veryCompact,
globPrint,
DumpDBFiles,
DumpPackages,
DumpReused,
quote,
HighBit,
undefPrint,
UsageOnly,
TTY,
noTTY,
ReadLine,
NonStop
Prompt, Multiline commands, Stack backtrace, Line Listing Format, Frame listing
$ARG,
$_,
$a,
$b,
$<digits>,
$MATCH,
$&,
$PREMATCH,
$`,
$POSTMATCH,
$',
$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,
$|,
IO::Handle->output_field_separator EXPR,
$OUTPUT_FIELD_SEPARATOR,
$OFS,
$,,
IO::Handle->output_record_separator EXPR,
$OUTPUT_RECORD_SEPARATOR,
$ORS,
$\,
$LIST_SEPARATOR,
$",
$SUBSCRIPT_SEPARATOR,
$SUBSEP,
$;,
$#,
HANDLE->format_page_number(EXPR),
$FORMAT_PAGE_NUMBER,
$%,
HANDLE->format_lines_per_page(EXPR),
$FORMAT_LINES_PER_PAGE,
$=,
HANDLE->format_lines_left(EXPR),
$FORMAT_LINES_LEFT,
$-,
@LAST_MATCH_START,
@-,
$` is the same as substr($var,
0,
$-[0]),
$& is the same as substr($var,
$-[0],
$+[0] - $-[0]),
$' is the same as substr($var,
$+[0]),
$1 is the same as substr($var,
$-[1],
$+[1] - $-[1]),
$2 is the same as substr($var,
$-[2],
$+[2] - $-[2]),
$3 is the same as substr $var,
$-[3],
$+[3] - $-[3]),
HANDLE->format_name(EXPR),
$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,
$@,
$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,
${^RE_DEBUG_FLAGS},
${^RE_TRIE_MAXBUF},
$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,
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}
i, m, s, x
[1], [2], [3], cntrl, graph, print, punct, xdigit
(?#text),
(?imsx-imsx),
(?:pattern),
(?imsx-imsx:pattern),
(?=pattern),
(?!pattern),
(?<=pattern),
(?<!pattern),
(?{ code }),
(??{ code }),
(?>pattern),
(?(condition)yes-pattern|no-pattern),
(?(condition)yes-pattern)
ST,
S|T,
S{REPEAT_COUNT},
S{min,max},
S{min,max}?,
S?,
S*,
S+,
S??,
S*?,
S+?,
(?>S),
(?=S),
(?<=S),
(?!S),
(?<!S),
(??{ EXPR }),
(?(condition)yes-pattern|no-pattern)
TIESCALAR classname, LIST, FETCH this, STORE this, value, UNTIE this, DESTROY this
TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this, key, DELETE this, key, CLEAR this, PUSH this, LIST, POP this, SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST, UNTIE this, DESTROY this
USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY this, NEXTKEY this, lastkey, SCALAR this, UNTIE this, DESTROY this
TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this, LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, UNTIE this, DESTROY this
untie Gotchafilter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value
Long running opcodes, Interrupting IO, Restartable system calls, Signals as "faults", Signals triggered by operating system state
Proto, LocalPort, Listen, Reuse
$$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to files, directories and network sockets
BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented, Global state maintained by XSUBs, Interpreter embedded in larger application, Thread-safety of extensions
Arithmetic operators,
++,
Arithmetic operators during use integer,
Other mathematical operators,
Bitwise operators,
Bitwise operators during use integer,
Operators which expect an integer,
Operators which expect a string
Not all Perl programs have to be portable, Nearly all of Perl already is portable
Mailing list: cpan-testers@perl.org, Testing results: http://testers.cpan.org/
-X FILEHANDLE, -X EXPR, -X, binmode FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, exec 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, 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, kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,PERMS, system LIST, times, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, wait, waitpid PID,FLAGS
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
PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC, LC_TIME, LANG
Input and Output Layers,
Regular Expressions,
use utf8 still needed to enable UTF-8/UTF-EBCDIC in scripts,
BOM-marked scripts and UTF-16 scripts autodetected,
use encoding needed to upgrade non-Latin-1 byte strings
recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
PASE, IFS access
chcp, dataset access, OS/390, z/OS iconv, locales
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
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, ByteLoader, 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, DBM_Filter, DB_File, Data::Dumper, Devel::DProf, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::base, 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::CalcEmu, 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
South Africa
China, Indonesia, Israel, Japan, Malaysia, Russian Federation, Saudi Arabia, Singapore, South Korea, Taiwan, Thailand
Costa Rica
Austria, Belgium, Bosnia and Herzegovina, 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
Canada, Alberta, Manitoba, Nova Scotia, Ontario, Mexico, United States, Alabama, California, Colorado, Delaware, District of Columbia, Florida, Indiana, Kentucky, Massachusetts, Michigan, Nevada, New Jersey, New York, North Carolina, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas, Utah, Virginia, Washington, Wisconsin
Australia, New Zealand, United States
Argentina, Brazil, Chile
perlstyle, perlnewmod, perlpod, podchecker, Packaging Tools, Testing tools, http://pause.perl.org/, Any good book on software engineering
DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module
Look around, Check it's new, Discuss the need, Choose a name, Check again
Start with module-starter or h2xs, Use strict and warnings, Use Carp, Use Exporter - wisely!, Use plain old documentation, Write tests, Write the README
Get a CPAN user ID,
perl Makefile.PL; make test; make dist,
Upload the tarball,
Announce to the modules list,
Announce to clpa,
Fix bugs!
B::Bytecode, B::C, B::CC, B::Lint, B::Deparse, B::Xref
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
Decryption Filters
Some Filters Clobber the DATA Handle
Use C from Perl?, Use a Unix program from Perl?, Use Perl from Perl?, Use C from C?, Use Perl from C?
anchored STRING at POS,
floating STRING at POS1..POS2,
matching floating/anchored,
minlen,
stclass TYPE,
noscan,
isall,
GPOS,
plus,
implicit,
with eval,
anchored(TYPE)
$ENV{PERL_DEBUG_MSTATS}buckets SMALLEST(APPROX)..GREATEST(APPROX),
Free/Used,
Total sbrk(): SBRKed/SBRKs:CONTINUOUS,
pad: 0,
heads: 2192,
chain: 0,
tail: 6144
717,
002,
054,
602,
702,
704
!!!,
!!,
!
length(NAME) Keyword
MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT
GV_ADDMULTI, GV_ADDWARN
SAVEINT(int i),
SAVEIV(IV i),
SAVEI32(I32 i),
SAVELONG(long i),
SAVESPTR(s),
SAVEPPTR(p),
SAVEFREESV(SV *sv),
SAVEMORTALIZESV(SV *sv),
SAVEFREEOP(OP *op),
SAVEFREEPV(p),
SAVECLEARSV(SV *sv),
SAVEDELETE(HV *hv,
char *key,
I32 length),
SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f,
void *p),
SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f,
void *p),
SAVESTACK_POS(),
SV* save_scalar(GV *gv),
AV* save_ary(GV *gv),
HV* save_hash(GV *gv),
void save_item(SV *item),
void save_list(SV **sarg,
I32 maxsarg),
SV* save_svref(SV **sptr),
void save_aptr(AV **aptr),
void save_hptr(HV **hptr)
dump functions
A, p, d, s, n, r, f, M, o, x, m, X, E, b
An Error Handler, An Event Driven Program
call_sv, call_pv, call_method, call_argv
1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of callbacks - hard wired limit, 3. Use a parameter to map to the Perl callback
GIMME, GIMME_V, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID
AvFILL, av_clear, av_delete, av_exists, av_extend, av_fetch, av_fill, av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift, get_av, newAV, sortsv
call_argv, call_method, call_pv, call_sv, ENTER, eval_pv, eval_sv, FREETMPS, LEAVE, SAVETMPS
isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, toLOWER, toUPPER
perl_clone
CvSTASH, get_cv
cv_undef, load_module, nothreadhook, perl_alloc, perl_construct, perl_destruct, perl_free, perl_parse, perl_run, require_pv
packlist, pack_cat, unpackstring, unpack_str
PL_modglobal, PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes
GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, gv_fetchmeth_autoload, gv_stashpv, gv_stashpvn, gv_stashsv
Nullav, Nullch, Nullcv, Nullhv, Nullsv
get_hv, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, HvNAME, hv_assert, hv_clear, hv_clear_placeholders, 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_iternext_flags, hv_iterval, hv_magic, hv_scalar, hv_store, hv_store_ent, hv_undef, newHV
mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set, SvGETMAGIC, SvLOCK, SvSETMAGIC, SvSetMagicSV, SvSetMagicSV_nosteal, SvSetSV, SvSetSV_nosteal, SvSHARE, SvUNLOCK
Copy, CopyD, Move, MoveD, New, Newc, Newz, Poison, Renew, Renewc, Safefree, savepv, savepvn, savesharedpv, savesvpv, StructCopy, Zero, ZeroD
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, vnormal, vnumify, vstringify
grok_bin, grok_hex, grok_number, grok_numeric_radix, grok_oct, scan_bin, scan_hex, scan_oct
cv_const_sv, newCONSTSUB, newXS
pad_sv
dXCPT, XCPT_CATCH, XCPT_RETHROW, XCPT_TRY_END, XCPT_TRY_START
dMARK, dORIGMARK, dSP, EXTEND, MARK, mPUSHi, mPUSHn, mPUSHp, mPUSHu, mXPUSHi, mXPUSHn, mXPUSHp, mXPUSHu, ORIGMARK, POPi, POPl, POPn, POPp, POPpbytex, POPpx, POPs, PUSHi, PUSHMARK, PUSHmortal, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, SP, SPAGAIN, XPUSHi, XPUSHmortal, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_UV, XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES
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, newSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv, 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, SvIV_nomg, 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, SvPV_nomg, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, SvUOK, SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, SvUV, SvUVX, SvUVx, SvUV_nomg, SvVOK, sv_2bool, sv_2cv, sv_2io, sv_2iv_flags, sv_2mortal, sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, sv_2pvutf8, sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen, sv_2uv_flags, sv_backoff, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_flags, sv_catpvn_mg, sv_catpvn_nomg, sv_catpv_mg, sv_catsv, sv_catsv_flags, sv_catsv_mg, sv_catsv_nomg, 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_setsv_nomg, 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_vcatpvf, sv_vcatpvfn, sv_vcatpvf_mg, sv_vsetpvf, sv_vsetpvfn, sv_vsetpvf_mg
bytes_from_utf8, bytes_to_utf8, ibcmp_utf8, is_utf8_char, is_utf8_string, is_utf8_string_loc, 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
xsubpp and xsubpp internal functionsax, CLASS, dAX, dITEMS, dUNDERBAR, dXSARGS, dXSI32, items, ix, newXSproto, RETVAL, ST, THIS, UNDERBAR, XS, XS_VERSION, XS_VERSION_BOOTCHECK
croak, warn
CvWEAKOUTSIDE
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_SET_CUR_NOSAVE, PAD_SV, PAD_SVl, SAVECLEARSV, SAVECOMPPAD, SAVEPADSV
find_runcv
PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_last_in_gv, PL_ofs_sv, PL_rs
is_gv_magical, is_gv_magical_sv
start_glob
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
djSP, LVRET
find_uninit_var, report_uninit, sv_add_arena, sv_clean_all, sv_clean_objs, sv_free_arenas
PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR, PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8, PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF, PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS
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
C implementations, Perl implementations
"unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"
":encoding", ":scalar", ":via"
1. USE_STDIO, 2. USE_SFIO, 3. USE_PERLIO, PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr(), PerlIO_open(path, mode), PerlIO_fdopen(fd,mode), PerlIO_reopen(path,mode,f), PerlIO_printf(f,fmt,...), PerlIO_vprintf(f,fmt,a), PerlIO_stdoutf(fmt,...), PerlIO_read(f,buf,count), PerlIO_write(f,buf,count), PerlIO_close(f), PerlIO_puts(f,s), PerlIO_putc(f,c), PerlIO_ungetc(f,c), PerlIO_getc(f), PerlIO_eof(f), PerlIO_error(f), PerlIO_fileno(f), PerlIO_clearerr(f), PerlIO_flush(f), PerlIO_seek(f,offset,whence), PerlIO_tell(f), PerlIO_getpos(f,p), PerlIO_setpos(f,p), PerlIO_rewind(f), PerlIO_tmpfile(), PerlIO_setlinebuf(f)
PerlIO_importFILE(f,mode), PerlIO_exportFILE(f,mode), PerlIO_releaseFILE(p,f), PerlIO_findFILE(f)
PerlIO_fast_gets(f), PerlIO_has_cntptr(f), PerlIO_get_cnt(f), PerlIO_get_ptr(f), PerlIO_set_ptrcnt(f,p,c), PerlIO_canset_cnt(f), PerlIO_set_cnt(f,c), PerlIO_has_base(f), PerlIO_get_base(f), PerlIO_get_bufsiz(f)
PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), '<' read, '>' write, '+' read/write, PerlIO_debug(fmt,...)
Does concept match the general goals of Perl?, Where is the implementation?, Backwards compatibility, Could it be a module instead?, Is the feature generic enough?, Does it potentially introduce new bugs?, Does it preclude other desirable features?, Is the implementation robust?, Is the implementation generic enough to be portable?, Is the implementation tested?, Is there enough documentation?, Is there another way to do it?, Does it create too much work?, Patches speak louder than words
rsync'ing the source tree, Using rsync over the LAN, Using pushing over the NFS, rsync'ing the patches
It's easier to rsync the source tree, It's more reliable
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
perlguts, perlxstut and perlxs, perlapi, Porting/pumpkin.pod, The perl5-porters FAQ
Core modules, Tests, Documentation, Configure, Interpreter
Startup, Parsing, Optimization, Running
Argument stack, Mark stack, Save stack
run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', print
t/base/, t/cmd/, t/comp/, t/io/, t/lib/, t/op/, t/pod/, t/run/, t/uni/, t/win32/, t/x2p, t/base t/comp, t/cmd t/run t/io t/op, t/lib ext lib
coretest, test.deparse, test.taintwarn, minitest, test.valgrind check.valgrind utest.valgrind ucheck.valgrind, test.third check.third utest.third ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8, minitest.utf16 test.utf16, test_harness, test-notty test_notty
-v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST
-Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity
DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
-a, -b, -e routine, -f routine, -s, -z
-h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage, -z[ero]
The Road goes ever on and on, down from the door where it began.
-h, -v, -t, -u, -m module, -l, -F, -f perlfunc, -q perlfaq-search-regexp, -T, -d destination-filename, -o output-formatname, -M module-name, -w option:value or -w option, -X, PageName|ModuleName|ProgramName, -n some-formatter, -r, -i, -V
Benchmark, Carp, Exporter, FindBin, List::Util, threads::shared
base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes, CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5, Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping, PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc, Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More, Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared, Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath, Win32::GetOSVersion
Attribute::Handlers, B, Benchmark, CGI, Carp, Cwd, Exporter, File::Find, IO, IPC::Open3, Local::Maketext, Math::BigFloat, Math::BigInt, Math::BigRat, MIME::Base64, ODBM_File, POSIX, Shell, Socket, Storable, Switch, Sys::Syslog, Term::ANSIColor, Time::HiRes, Unicode::UCD, Win32, base, open, threads, utf8
CGI, Cwd, Digest, Digest::MD5, Encode, File::Spec, FindBin, List::Util, Math::BigInt, PodParser, Pod::Perldoc, POSIX, Unicode::Collate, Unicode::Normalize, Test::Harness, threads::shared
Devel::PPPort, Digest::MD5, I18N::LangTags, libnet, MIME::Base64, Pod::Perldoc, strict, Tie::Hash, Time::HiRes, Unicode::Collate, Unicode::Normalize, UNIVERSAL
base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes, CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5, Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping, PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc, Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More, Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared, Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath, Win32::GetOSVersion
my variables now handled at run-time
use utf8,
almost)
UNIVERSAL::isa(),
Memory leaks,
Numeric conversions,
qw(a\\b),
caller(),
Bugs in regular expressions,
"slurp" mode,
Autovivification of symbolic references to special variables,
Lexical warnings,
Spurious warnings and errors,
glob(),
Tainting,
sort(),
#line directives,
Subroutine prototypes,
map(),
Debugger,
PERL5OPT,
chop(),
Unicode support,
64-bit support,
Compiler,
Lvalue subroutines,
IO::Socket,
File::Find,
xsubpp,
no Module;,
Tests
B::Concise, File::Temp, Pod::LaTeX, Pod::Text::Overstrike, CGI, CPAN, Class::Struct, DB_File, Devel::Peek, File::Find, Getopt::Long, IO::Poll, IPC::Open3, Math::BigFloat, Math::Complex, Net::Ping, Opcode, Pod::Parser, Pod::Text, SDBM_File, Sys::Syslog, Tie::RefHash, Tie::SubstrHash
NCR MP-RAS, NonStop-UX
sort $coderef @foo allowed
qw// operator
-T filetest recognizes UTF-8 encoded files as "text"
require and do may be overridden
-c switch
attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
eval '...' improvements
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
-U
-c switch
"%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number
CHECK is a new keyword,
Treatment of list slices of undef has changed,
Format of $English::PERL_VERSION is different,
Literals of the form 1.2.3 parse differently,
Possibly changed pseudo-random number generator,
Hashing function for hash keys has changed,
undef fails on read only values,
Close-on-exec bit may be set on pipe and socket handles,
Writing "$$1" to mean "${$}1" is unsupported,
delete(),
each(),
values() and \(%h),
vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
Text of some diagnostic output has changed,
%@ has been removed,
Parenthesized not() behaves like a list operator,
Semantics of bareword prototype (*) have changed,
Semantics of bit operators may have changed on 64-bit platforms,
More builtins taint their results
PERL_POLLUTE,
PERL_IMPLICIT_CONTEXT,
PERL_POLLUTE_MALLOC
PATCHLEVEL is now PERL_VERSION
Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:
Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated
sort $coderef @foo allowed
qw// operator
-T filetest recognizes UTF-8 encoded files as "text"
require and do may be overridden
-c switch
attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
eval '...' improvements
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
-U
-c switch
"%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number
CHECK is a new keyword,
Treatment of list slices of undef has changed,
Format of $English::PERL_VERSION is different,
Literals of the form 1.2.3 parse differently,
Possibly changed pseudo-random number generator,
Hashing function for hash keys has changed,
undef fails on read only values,
Close-on-exec bit may be set on pipe and socket handles,
Writing "$$1" to mean "${$}1" is unsupported,
delete(),
each(),
values() and \(%h),
vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
Text of some diagnostic output has changed,
%@ has been removed,
Parenthesized not() behaves like a list operator,
Semantics of bareword prototype (*) have changed,
Semantics of bit operators may have changed on 64-bit platforms,
More builtins taint their results
PERL_POLLUTE,
PERL_IMPLICIT_CONTEXT,
PERL_POLLUTE_MALLOC
PATCHLEVEL is now PERL_VERSION
Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:
Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated
Many new and improved optimizations, Many bug fixes, New regular expression constructs, New operator for precompiled regular expressions, Other improvements, Incompatible changes
%! is transparently tied to the Errno module
EXPR foreach EXPR is supported
$^E is meaningful on Win32
foreach (1..1000000) optimized
Foo:: can be used as implicitly quoted package name
exists $Foo::{Bar::} tests existence of a package
printf format conversions are handled internally
INIT keyword
lock keyword
qr// operator
our is now a reserved word
B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, Thread, attrs, fields, re
Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd
Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index while coercing array into hash, Bareword "%s" refers to nonexistent package, Can't call method "%s" on an undefined value, Can't check filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't goto subroutine from an eval-string, Can't localize pseudo-hash element, Can't use %%! because Errno.pm is not available, Cannot find an opnumber for "%s", Character class syntax [. .] is reserved for future extensions, Character class syntax [: :] is reserved for future extensions, Character class syntax [= =] is reserved for future extensions, %s: Eval-group in insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s: Eval-group not allowed at run time, Explicit blessing to '' (assuming package main), Illegal hex digit ignored, No such array field, No such field "%s" in variable %s of type %s, Out of memory during ridiculously large request, Range iterator outside integer range, Recursive inheritance detected while looking for method '%s' %s, Reference found where even-sized list expected, Undefined value assigned to typeglob, Use of reserved word "%s" is deprecated, perl: warning: Setting locale failed
Can't mktemp(), Can't write to temp file for -e: %s, Cannot open temporary file, regexp too big
AUTOLOAD for non-methods
$)
wantarray may return undef
eval EXPR determines value of EXPR in scalar context
No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No spawning if tainted $TERM doesn't look like a terminal name
$coderef->(PARAMS)
__PACKAGE__
$^E, $^H, $^M
delete on slices,
flock,
printf and sprintf,
keys as an lvalue,
my() in Control Structures,
pack() and unpack(),
sysseek(),
use VERSION,
use Module VERSION LIST,
prototype(FUNCTION),
srand,
$_ as Default,
m//gc does not reset search position on failure,
m//x ignores whitespace before ?*+{},
nested sub{} closures work now,
formats work right on changing lexicals
isa(CLASS), can(METHOD), VERSION( [NEED] )
TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this LIST, READLINE this, GETC this, DESTROY this
-DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use constant NAME => VALUE, use locale, use ops, use vmsish
gv_fetchmethod and perl_call_sv,
perl_eval_pv,
Extended API for manipulating hashes
perldelta, perlfaq, perllocale, perltoot, perlapio, perlmodlib, perldebug, perlsec
"my" variable %s masks earlier declaration in same scope, %s argument is not a HASH element or slice, Allocation too large: %lx, Allocation too large, Applying %s to %s will act on scalar(%s), Attempt to free nonexistent shared string, Attempt to use reference as lvalue in substr, Bareword "%s" refers to nonexistent package, Can't redefine active sort subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant subroutine %s redefined, Constant subroutine %s undefined, Copy method did not return a reference, Died, Exiting pseudo-block via %s, Identifier too long, Illegal character %s (carriage return), Illegal switch in PERL5OPT: %s, Integer overflow in hex number, Integer overflow in octal number, internal error: glob failed, Invalid conversion in %s: "%s", Invalid type in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once: possible typo, Null picture in formline, Offset outside string, Out of memory!, Out of memory during request for %s, panic: frexp, Possible attempt to put comments in qw() list, Possible attempt to separate words with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found while resolving method `%s' overloading `%s' in %s, Too late for "-T" option, untie attempted while %d inner references still exist, Unrecognized character %s, Unsupported function fork, Use of "$$<digit>" to mean "${$}<digit>" is deprecated, Value of %s can be "0"; test with defined(), Variable "%s" may be unavailable, Variable "%s" will not stay shared, Warning: something's wrong, Ill-formed logical name |%s| in prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too long, Process terminated by SIG%s
Microsoft Embedded Visual Tools, Microsoft Visual C++, Rainer Keuchel's celib-sources, Rainer Keuchel's console-sources
go to ./wince subdirectory, edit file compile.bat, run compile.bat, run compile.bat dist
-lcrypt,
-lgdbm (use GDBM_File),
-ldb (use DB_File),
-lcygipc (use IPC::SysV),
-lutil
-Uusedl,
-Uusemymalloc,
-Uuseperlio,
-Dusemultiplicity,
-Duse64bitint,
-Duselongdouble,
-Dusethreads,
-Duselargefiles,
-Dmksymlinks
dlsym(),
Win9x and d_eofnblk,
Compiler/Preprocessor defines
Pathnames,
Text/Binary,
PerlIO,
.exe,
cygwin vs.
windows process ids,
chown(),
Miscellaneous
Cwd::cwd,
Cygwin::pid_to_winpid,
Cygwin::winpid_to_pid
Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts
README, INSTALL, LIBSHP3K, PERL, .cpan/, lib/, man/, public_html/feedback.cgi, src/perl-5.6.0-mpe
4, 6
PERL_BADLANG, PERL_BADFREE, Config.pm
Perl VIO and PM executables (dynamically linked), Perl_ VIO executable (statically linked), Executables for Perl utilities, Main Perl library, Additional Perl modules, Tools to compile Perl modules, Manpages for Perl and utilities, Manpages for Perl modules, Source for Perl documentation, Perl manual in .INF format, Pdksh
setpriority, getpriority
system()
extproc on the first line
File::Copy::syscopy, DynaLoader::mod2fname, Cwd::current_drive(), Cwd::sys_chdir(name), Cwd::change_drive(name), Cwd::sys_is_absolute(name), Cwd::sys_is_rooted(name), Cwd::sys_is_relative(name), Cwd::sys_cwd(name), Cwd::sys_abspath(name, dir), Cwd::extLibpath([type]), Cwd::extLibpath_set( path [, type ] ), OS2::Error(do_harderror,do_exception), OS2::Errors2Drive(drive), OS2::SysInfo(), OS2::BootDrive(), OS2::MorphPM(serve), OS2::UnMorphPM(serve), OS2::Serve_Messages(force), OS2::Process_Messages(force [, cnt]), OS2::_control87(new,mask), OS2::get_control87(), OS2::set_control87_em(new=MCW_EM,mask=MCW_EM), OS2::DLLname([how [, \&xsub]])
$OS2::emx_rev, $OS2::emx_env, $OS2::os_ver, $OS2::is_aout, $OS2::can_fork, $OS2::nsyserror
popen, tmpnam, tmpfile, ctermid, stat, mkdir, rmdir, flock
HAB, HMQ, Treating errors reported by OS/2 API, CheckOSError(expr), CheckWinError(expr), SaveWinError(expr), SaveCroakWinError(expr,die,name1,name2), WinError_2_Perl_rc, FillWinError, FillOSError(rc), Loading DLLs and ordinals in DLLs
Solaris FAQ, Precompiled Binaries, Solaris Documentation
Dynamic Loading Problems With GNU as and GNU ld, ld.so.1: ./perl: fatal: relocation error:, dlopen: stub interception failed, #error "No DATAMODEL_NATIVE specified", sh: ar: not found
File tests, backticks, binmode FILEHANDLE, crypt PLAINTEXT, USER, dump, exec LIST, fork, getpwent, getpwnam, getpwuid, gmtime, kill, qx//, select (system call), stat EXPR, system LIST, time, times, unlink LIST, utime LIST, waitpid PID,FLAGS
%ENV, CRTL_ENV, CLISYM_[LOCAL], Any other string, $!, $^E, $?, $|
Make, Command Shell, Borland C++, Microsoft Visual C++, Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, MinGW release 3 with gcc, MinGW release 1 with gcc
Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Win32 Specific Extensions, Notes on 64-bit Windows
Gary Ng <71564.1743@CompuServe.COM>, Gurusamy Sarathy <gsar@activestate.com>, Nick Ing-Simmons <nick@ing-simmons.net>, Jan Dubois <jand@activestate.com>, Steve Hay <steve.hay@uk.radan.com>

share VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE
$thread = threads->create(function, LIST), $thread->join, $thread->detach, threads->self, $thread->tid, threads->object( tid ), threads->yield();, threads->list();, async BLOCK;
A thread exited while %d other threads were still running
Parent-Child threads, Returning objects, Creating threads inside BEGIN blocks, PERL_OLD_SIGNALS are not threadsafe, will not be
locked, method, lvalue
get, reftype
FETCH_type_ATTRIBUTES, MODIFY_type_ATTRIBUTES
perl -Mbigrat -le 'print sqrt(33)'
perl -Mbigrat -le 'print 2*255'
perl -Mbigrat -le 'print 4.5+2*255'
perl -Mbigrat -le 'print 3/7 + 5/7 + 8/3'
perl -Mbigrat -le 'print 12->is_odd()';
\N{named} string literal escapes"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle
use encoding [ENCNAME] ;, use encoding ENCNAME [ STDIN => ENCNAME_IN ...] ;, use encoding ENCNAME Filter=>1;, no encoding;
literals in regex that are longer than 127 bytes, EBCDIC, format
use a Perl module if a condition holdsFALSE, TRUE, undef
++ and --, x= and other assignment versions
Arithmetic operations, Comparison operations, Bit operations, Increment and decrement, Transcendental functions, Boolean, string and numeric conversion, Iteration, Dereferencing, Special
Strings as values of use overload directive, Overloading of an operation is inherited by derived classes
use overloadAssignment forms of arithmetic operations, Conversion operations, Increment and decrement, abs($a), Unary minus, Negation, Concatenation, Comparison operations, Iterator, Dereferencing, Copy operator
overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
integer, float, binary, q, qr
Odd number of arguments for overload::constant, `%s' is not an overloadable type, `%s' is not a code reference
stack-trace, die, handler your-handler
normal-signals, error-signals, old-interface-signals
untrapped, any, signal, number
share VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE
$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[, FAIL_OK]), utf8::encode($string), utf8::decode($string), $flag = utf8::is_utf8(STRING), $flag = utf8::valid(STRING)
Numeric Versions, Quoted Versions
New Operator, qv(), Normal Form, Numification, Stringification, Comparison operators, Logical Operators
Ordinary versions, Alpha versions
use warnings::register, warnings::enabled(), warnings::enabled($category), warnings::enabled($object), warnings::warn($message), warnings::warn($category, $message), warnings::warn($object, $message), warnings::warnif($message), warnings::warnif($category, $message), warnings::warnif($object, $message)

[0], [1], [2], [3], [4], [5]
Bad attribute type: ATTR(%s), Attribute handler %s doesn't handle %s attributes, Declaration of %s attribute in package %s may clash with future reserved word, Can't have two ATTR specifiers on one subroutine, Can't autotie a %s, Internal error: %s symbol went missing, Won't be able to apply END handler
B::SV, B::AV, B::HV, and B::CV objectssv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, check_av, begin_av, end_av, comppadlist, regex_padav, main_cv
walksymtable(SYMREF, METHOD, RECURSE, PREFIX)
B::OP objects or for walking op treesmain_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG)
ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), perlstring(STR), class(OBJ), threadsv_names
REFCNT, FLAGS, object_2svref
IV, IVX, UVX, int_value, needs64bits, packiv
NV, NVX
RV
PV, RV, PVX
MAGIC, SvSTASH
MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX
TARGOFF, TARGLEN, TYPE, TARG
USEFUL, PREVIOUS, RARE, TABLE
is_empty, NAME, SAFENAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE, FILEGV, GvREFCNT, FLAGS
LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD
FILL, MAX, OFF, ARRAY, ARRAYelt, AvFLAGS
STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS, const_sv
FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY
next, sibling, name, ppaddr, desc, targ, type, opt, static, flags, private, spare
first
last
other
children
pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmdynflags, pmpermflags, precomp, pmoffset
sv, gv
padix
pv
redoop, nextop, lastop
label, stash, stashpv, file, cop_seq, arybase, line, warnings, io
-ofilename, -v, --, -uPackname, -D, -Do, -Dc, -DA, -DC, -DM, -f, -fcog, -fsave-data, -fppaddr, -fwarn-sv, -fuse-script-name, -fsave-sig-hash, -On, -O0, -O1, -O2, -llimit
-ofilename, -v, --, -uPackname, -mModulename, -D, -Dr, -DO, -Ds, -Dp, -Dq, -Dl, -Dt, -f, -ffreetmps-each-bblock, -ffreetmps-each-loop, -fomit-taint, -On
-basic, -exec, -tree
-concise, -terse, -linenoise, -debug, -env
-compact, -loose, -vt, -ascii
-basen, -bigendian, -littleendian
-main, -nomain, -nobanner, -banner, -banneris => subref
(x(exec_text;basic_text)x), (*(text)*), (*(text1;text2)*), (?(text1#varText2)?), ~
#var, #varN, #Var, #addr, #arg, #class, #classsym, #coplabel, #exname, #extarg, #firstaddr, #flags, #flagval, #hyphseq, #label, #lastaddr, #name, #NAME, #next, #nextaddr, #noise, #private, #privval, #seq, #seqnum, #opt, #static, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum
-d, -fFILE, -l, -p, -P, -q, -sLETTERS, C, iNUMBER, T, vSTRING., -xLEVEL
context, implicit-read and implicit-write, bare-subs, dollar-underscore, private-names, undefined-subs, regexp-variables, all, none
-u Package
new, debug, iters
timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ), timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] )
clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUNT, CODEHASHREF, [ STYLE ] ), cmpthese ( RESULTSHASHREF, [ STYLE ] ), countit(TIME, CODE), disablecache ( ), enablecache ( ), timesum ( T1, T2 )
:cgi, :form, :html2, :html3, :html4, :netscape, :html, :standard, :all
-any, -compile, -nosticky, -no_undef_params, -no_xhtml, -nph, -newstyle_urls, -oldstyle_urls, -autoload, -no_debug, -debug, -private_tempfiles
1. start_table() (generates a <table> tag), 2. end_table() (generates a </table> tag), 3. start_ul() (generates a <ul> tag), 4. end_ul() (generates a </ul> tag)
Parameters:, 4, 5, 6..
-absolute, -relative, -full, -path (-path_info), -query (-query_string), -base
application/x-www-form-urlencoded, multipart/form-data
-name, -value, -values, -tabindex, -id, -override, -onChange, -onFocus, -onBlur, -onMouseOver, -onMouseOut, -onSelect
Parameters
Parameters
Parameters:
Parameters:
Parameters:
Parameters:
Parameters:
Parameters:
Parameters:, 3. The third option (-align, optional) is an alignment type, and may be TOP, BOTTOM or MIDDLE
1. an expiration time, 2. a domain, 3. a path, 4. a "secure" flag, -name, -value, -path, -domain, -expires, -secure
1. Create a <Frameset> document, 2. Specify the destination for the document in the HTTP header, 3. Specify the destination for the document in the <form> tag
onLoad, onUnload, onSubmit, onClick, onChange, onFocus, onBlur, onSelect, onMouseOver, onMouseOut
Accept(), raw_cookie(), user_agent(), path_info(), path_translated(), remote_host(), script_name() Return the script name as a partial URL, for self-refering scripts, referer(), auth_type (), server_name (), virtual_host (), server_port (), virtual_port (), server_software (), remote_user (), user_name (), request_method(), content_type(), http(), https()
In the use statement, By calling the nph() method:, By using -nph parameters
multipart_init(), multipart_start(), multipart_end(), multipart_final()
$CGI::POST_MAX, $CGI::DISABLE_UPLOADS, 1. On a script-by-script basis, 2. Globally for all scripts
Matt Heffron (heffron@falstaff.css.beckman.com), James Taylor (james.taylor@srs.gov), Scott Anguish <sanguish@digifix.com>, Mike Jewell (mlj3u@virginia.edu), Timothy Shimmin (tes@kbs.citri.edu.au), Joergen Haegg (jh@axis.se), Laurent Delfosse (delfosse@delfosse.com), Richard Resnick (applepi1@aol.com), Craig Bishop (csb@barwonwater.vic.gov.au), Tony Curtis (tc@vcpc.univie.ac.at), Tim Bunce (Tim.Bunce@ig.co.uk), Tom Christiansen (tchrist@convex.com), Andreas Koenig (k@franz.ww.TU-Berlin.DE), Tim MacKenzie (Tim.MacKenzie@fulcrum.com.au), Kevin B. Hendricks (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen (joyfire@inxpress.net), Ed Jordan (ed@fidalgo.net), David Alan Pisoni (david@cnation.com), Doug MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org), ...and many many more..
1. expiration date, 2. domain, 3. path, 4. secure flag
FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
-next_page, -last_page, -type, -delay, -cookie, -target, -expires, -nph