readline packages. If
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.
Many usability enhancements, Simplified grammar, Lexical scoping, Arbitrarily nested data structures, Modularity and reusability, Object-oriented programming, Embeddable and Extensible, POSIX compliant, Package constructors and destructors, Multiple simultaneous DBM implementations, Subroutine definitions may now be autoloaded, Regular expression enhancements, Innumerable Unbundled Modules, Compilability
perlfaq: Structural overview of the FAQ, the perlfaq1 manpage: General Questions About Perl, the perlfaq2 manpage: Obtaining and Learning about Perl, the perlfaq3 manpage: Programming Tools, the perlfaq4 manpage: Data Manipulation, the perlfaq5 manpage: Files and Formats, the perlfaq6 manpage: Regexps, the perlfaq7 manpage: General Perl Language Issues, the perlfaq8 manpage: System Interaction, the perlfaq9 manpage: Networking
24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version, Initial Release: 11/March/97
References, Tutorials *Learning Perl [2nd edition] by Randal
L. Schwartz and Tom Christiansen, Task-Oriented, Special Topics
MacPerl, Perl5-Porters, NTPerl, Perl-Packrats
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 the tag
a) If @in is sorted, and you want @out to be
sorted:(this assumes all true values in the array), b) If you don't know
whether @in is sorted:, c) Like (b), but @in
contains only small integers:, d) A way to do (b) without any loops or
greps:, e) Like (d), but @in contains only small positive
integers:
Comments Outside the Regexp, Comments Inside the Regexp, Different Delimiters
Passing Variables and Functions, Passing Filehandles, Passing Regexps, 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
Core sources now require ANSI C compiler, All Perl global variables must now be referenced with an explicit prefix, Enabling threads has source compatibility issues
Many new and improved optimizations, Many bug fixes, New regular expression constructs, New operator for precompiled regular expressions, Other improvements, Incompatible changes
B, Data::Dumper, Errno, File::Spec, ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, Thread, attrs, fields, re
CGI, POSIX, DB_File, MakeMaker, CPAN, Cwd, Benchmark
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 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' in package '%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
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
Finding the end, Removal of backslashes before delimiters, Interpolation,
<<'EOF', m'', s''', tr///, y///, '', q//, "",
``, qq//, qx//, ?RE?, /RE/, m/RE/,
s/RE/foo/,, Interpolation of regular expressions, Optimization of regular
expressions
i, m, s, x
(?#text), (?:pattern), (?imsx-imsx:pattern), (?=pattern),
(?!pattern), (?<=pattern), (?, (?{ code }),
(?>pattern), (?(condition)yes-pattern|no-pattern),
(?(condition)yes-pattern), (?imsx-imsx)
OS/2, MS-DOS, Win95/NT, Macintosh
-0[digits], -a, -c, -d, -d:foo, -Dletters, -Dnumber, -e commandline, -Fpattern, -h, -i[extension], -Idirectory, -l[octnum], -m[-]module, -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n, -p, -P, -s, -S, -T, -u, -U, -v, -V, -V:name, -w, -x directory
HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLLIB, PERL5DB, PERL5SHELL (specific to WIN32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL
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, 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, crypt PLAINTEXT,SALT,
dbmclose HASH, dbmopen HASH,DBNAME,MODE, defined EXPR, defined, delete
EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump
LABEL, 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 LIST, last
LABEL, last, lc EXPR, lc, lcfirst EXPR, lcfirst, length EXPR, length, link
OLDFILE,NEWFILE, listen SOCKET,QUEUESIZE, local EXPR, localtime EXPR, log
EXPR, log, lstat FILEHANDLE, lstat EXPR, lstat, m//, map BLOCK LIST, map
EXPR,LIST, mkdir FILENAME,MODE, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd
ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, my EXPR, next LABEL, next, no
Module LIST, oct EXPR, oct, open FILEHANDLE,EXPR, open FILEHANDLE, opendir
DIRHANDLE,EXPR, ord EXPR, ord, pack TEMPLATE,LIST, package, package
NAMESPACE, 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,LEN,FLAGS, redo LABEL, redo,
ref EXPR, ref, rename OLDNAME,NEWNAME, 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, 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, substr EXPR,OFFSET,LEN,REPLACEMENT, substr
EXPR,OFFSET,LEN, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall 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, 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 LIST, use
Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
FILEHANDLE, write EXPR, write, y///
$ARG, $_, $<digits>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', $LAST_PAREN_MATCH, $+,
$MULTILINE_MATCHING, $*, input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER,
$NR, $, input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS,
$/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator
HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator
HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $``,
$SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE
EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR,
$FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR,
$FORMAT_LINES_LEFT, $-, format_name HANDLE EXPR, $FORMAT_NAME, $~,
format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^,
format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
$:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A,
$CHILD_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, $[, $PERL_VERSION, $],
$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, $INPLACE_EDIT, $^I, $^M,
$OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, $^R, $^S,
$BASETIME, $^T, $WARNING, $^W, $EXECUTABLE_NAME, $^X, $ARGV, @ARGV, @INC,
@_, %INC, %ENV $ENV{expr}, %SIG $SIG{expr}
1. You need to give a global variable a temporary value, especially $_, 2. You need to create a local file or directory handle or a local
function, 3. You want to temporarily change just one element of an array or
hash
use autouse MODULE => qw(sub1 sub2 sub3), blib,
diagnostics, integer, less, lib, locale, ops, overload, re, sigtrap,
strict, subs, vmsish, vars
AnyDBM_File, AutoLoader, AutoSplit, Benchmark, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Class::Struct, Config, Cwd, DB_File, Devel::SelfStubber, DirHandle, DynaLoader, English, Env, Exporter, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Liblist, ExtUtils::MM_OS2, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy, File::Find, File::Path, File::stat, FileCache, FileHandle, FindBin, GDBM_File, Getopt::Long, Getopt::Std, I18N::Collate, IO, IO::File, IO::Handle, IO::Pipe, IO::Seekable, IO::Select, IO::Socket, IPC::Open2, IPC::Open3, Math::BigFloat, Math::BigInt, Math::Complex, Math::Trig, NDBM_File, Net::Ping, Net::hostent, Net::netent, Net::protoent, Net::servent, Opcode, Pod::Text, POSIX, SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Symbol, Sys::Hostname, Sys::Syslog, Term::Cap, Term::Complete, Term::ReadLine, Test::Harness, Text::Abbrev, Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Tie::Hash, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, User::grent, User::pwent
Language Extensions and Documentation Tools, Development Support, Operating System Interfaces, Networking, Device Control (modems) and InterProcess Communication, Data Types and Data Type Utilities, Database Interfaces, User Interfaces, Interfaces to / Emulations of Other Programming Languages, File Names, File Systems and File Locking (see also File Handles), String Processing, Language Text Processing, Parsing, and Searching, Option, Argument, Parameter, and Configuration File Processing, Internationalization and Locale, Authentication, Security, and Encryption, World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities, Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and exceptions etc), File Handle and Input/Output Stream Utilities, Miscellaneous Modules, Africa, Asia, Australasia, Europe, North America, South America
Do similar modules already exist in some form?, Try to design the new module to be easy to extend and reuse, Some simple style guidelines, Select what to export, Select a name for the module, Have you got it right?, README and other Additional Files, A description of the module/package/extension etc, A copyright notice - see below, Prerequisites - what else you may need to have, How to build it - possible changes to Makefile.PL etc, How to install it, Recent changes in this release, especially incompatibilities, Changes / enhancements you plan to make in the future, Adding a Copyright Notice, Give the module a version/issue/release number, How to release and distribute a module, Take care when changing a released module
There is no requirement to convert anything, Consider the implications,
Make the most of the opportunity, The pl2pm utility will get you started,
Adds the standard Module prologue lines, Converts package specifiers from '
to ::, Converts die(...) to croak(...), Several
other minor changes
Complete applications rarely belong in the Perl Module Library, Many applications contain some Perl code that could be reused, Break-out the reusable code into one or more separate module files, Take the opportunity to reconsider and redesign the interfaces, In some cases the 'application' can then be reduced to a small
DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module
Comparison operators (lt, le, ge, gt and cmp):,
Case-mapping interpolation (with \l, \L, \u or \U),
Matching operator (m//):, Substitution operator (s///):,
In-memory formatting function (sprintf()):, Output formatting
functions (printf() and write()):, Case-mapping functions (lc(), lcfirst(), uc(), ucfirst()):, POSIX locale-dependent functions
(localeconv(), strcoll(),strftime(), strxfrm()):, POSIX character class
tests (isalnum(), isalpha(), isdigit(),isgraph(),
islower(), isprint(), ispunct(),
isspace(), isupper(), isxdigit()):
PERL_BADLANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC, LC_TIME, LANG
arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs
isa(CLASS), can(METHOD), VERSION(
[NEED] )
TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, 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, DESTROY this
TIEHANDLE classname, LIST, WRITE this, LIST, PRINT this, LIST, PRINTF this, LIST, READ this, LIST, READLINE this, GETC this, CLOSE this, DESTROY this
Proto, PeerAddr, PeerPort
Proto, LocalPort, Listen, Reuse
h [command], p expr, x expr, V [pkg [vars]], X [vars], T, s [expr], n
[expr],
Prompt, Multiline commands, Stack backtrace, Listing, Frame listing
recallCommand, ShellBang, pager, tkRunning, signalLevel,
warnLevel, dieLevel, AutoTrace, LineInfo, inhibit_exit,
PrintRet, ornaments, frame, maxTraceLen, arrayDepth,
hashDepth, compactDump, veryCompact, globPrint, DumpDBFiles,
DumpPackages, DumpReused, quote, HighBit, undefPrint,
UsageOnly, TTY, noTTY, ReadLine, NonStop, < [ command ],
<< command, > command, >> command, { [ command ], {{ command, ! number, ! -number, ! pattern, !! cmd,
H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, m package
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
!!!, !!, !
anchored STRING at POS, floating STRING at
POS1..POS2, matching floating/anchored, minlen, stclass
TYPE, noscan, isall, GPOS, plus, implicit, with eval,
anchored(TYPE)
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, Discontinuance, Deprecation, Discontinuance
Parsing, Parsing, Parsing, Parsing
Numerical, Numerical, Numerical
(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
(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
Not all Perl programs have to be portable, The vast majority of Perl is portable
Mailing list: cpan-testers@perl.org, Testing
results:
http://www.connect.net/gbarr/cpan-test/
The djgpp environment for DOS, http://www.delorie.com/djgpp/, The EMX environment for DOS, OS/2, etc.
emx@iaehv.nl,http://www.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/index.html,
ftp://hobbes.nmsu.edu/pub/os2/dev/emx. Build instructions for Win32, perlwin32, The ActiveState Pages,
http://www.activestate.com/
The MacPerl Pages, http://www.ptf.com/macperl/, The MacPerl mailing list, mac-perl-request@iis.ee.ethz.ch
perlvms.pod, vmsperl list, vmsperl-request@newman.upenn.edu, vmsperl on the web, http://www.sidhe.org/vmsperl/index.html
perl-mvs list, AS/400 Perl information at http://as400.rochester.ibm.com
Atari, Guido Flohr's page http://stud.uni-sb.de/~gufl0000/, HP 300 MPE/iX http://www.cccd.edu/~markb/perlix.html, Novell Netware
-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, 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 STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, kill 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, setpgrp PID,PGRP, setpriority WHICH,WHO,PRIORITY, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, system LIST, times, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, wait, waitpid PID,FLAGS
Use C from Perl?, Use a Unix program from Perl?, Use Perl from Perl?, Use C from C?, Use Perl from C?
PerlIO *, PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr(), PerlIO_open(path, mode), PerlIO_fdopen(fd,mode), 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_tell(f), PerlIO_seek(f,o,w), PerlIO_getpos(f,p), PerlIO_setpos(f,p), PerlIO_rewind(f), PerlIO_tmpfile()
PerlIO_importFILE(f,flags), PerlIO_exportFILE(f,flags), PerlIO_findFILE(f), PerlIO_releaseFILE(p,f), PerlIO_setlinebuf(f), PerlIO_has_cntptr(f), PerlIO_get_ptr(f), PerlIO_get_cnt(f), PerlIO_canset_cnt(f), PerlIO_fast_gets(f), PerlIO_set_ptrcnt(f,p,c), PerlIO_set_cnt(f,c), PerlIO_has_base(f), PerlIO_get_base(f), PerlIO_get_bufsiz(f)
SAVEINT(int i), SAVEIV(IV i), SAVEI32(I32 i), SAVELONG(long i),
SAVESPTR(s), SAVEPPTR(p), SAVEFREESV(SV *sv), SAVEFREEOP(OP
*op), SAVEFREEPV(p), SAVECLEARSV(SV *sv), SAVEDELETE(HV *hv, char
*key, I32 length), SAVEDESTRUCTOR(f,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)
av_clear, av_extend, av_fetch, AvFILL, av_len, av_make, av_pop, av_push,
av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH,
PL_DBsingle, PL_DBsub, PL_DBtrace, dMARK, dORIGMARK, PL_dowarn, dSP,
dXSARGS, dXSI32, do_binmode, ENTER, EXTEND, fbm_compile, fbm_instr,
FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME, GIMME_V, G_NOARGS, G_SCALAR,
gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload, G_VOID, gv_stashpv,
gv_stashsv, GvSV, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY,
HeSVKEY_force, HeSVKEY_set, HeVAL, hv_clear, hv_delayfree_ent, hv_delete,
hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
hv_free_ent, hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext,
hv_iternextsv, hv_iterval, hv_magic, HvNAME, hv_store, hv_store_ent,
hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, items, ix,
LEAVE, looks_like_number, MARK, mg_clear, mg_copy, mg_find, mg_free,
mg_get, mg_len, mg_magical, mg_set, Move, PL_na, New, newAV, Newc,
newCONSTSUB, newHV, newRV_inc, newRV_noinc, NEWSV, newSViv, newSVnv,
newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newXS, newXSproto, Newz,
Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc,
perl_call_argv, perl_call_method, perl_call_pv, perl_call_sv,
perl_construct, perl_destruct, perl_eval_sv, perl_eval_pv, perl_free,
perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, RETVAL, safefree,
safemalloc, saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ,
strGE, strGT, strLE, strLT, strNE, strnEQ, strnNE, sv_2mortal, sv_bless,
sv_catpv, sv_catpv_mg, sv_catpvn, sv_catpvn_mg, sv_catpvf, sv_catpvf_mg,
sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, SvCUR, SvCUR_set, sv_dec,
sv_derived_from, sv_derived_from, SvEND, sv_eq, SvGETMAGIC, SvGROW,
sv_grow, sv_inc, sv_insert, SvIOK, SvIOK_off, SvIOK_on, SvIOK_only, SvIOKp,
sv_isa, sv_isobject, SvIV, SvIVX, SvLEN, sv_len, sv_magic, sv_mortalcopy,
sv_newmortal, SvNIOK, SvNIOK_off, SvNIOKp, PL_sv_no, SvNOK, SvNOK_off,
SvNOK_on, SvNOK_only, SvNOKp, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOK_off,
SvPOK_on, SvPOK_only, SvPOKp, SvPV, SvPV_force, SvPVX, SvREFCNT,
SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSETMAGIC,
sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv, sv_setpv_mg,
sv_setpviv, sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpvf,
sv_setpvf_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn,
SvSetSV, SvSetSV_nosteal, sv_setsv, sv_setsv_mg, sv_setuv, sv_setuv_mg,
SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SVt_IV, SVt_PV,
SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SVt_NV, SvTRUE, SvTYPE, svtype,
PL_sv_undef, sv_unref, SvUPGRADE, sv_upgrade, sv_usepvn, sv_usepvn_mg,
sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax,
used_locale), sv_vsetpvfn(sv, pat, patlen, args, svargs,
svmax, used_locale), SvUV, SvUVX, PL_sv_yes, THIS, toLOWER, toUPPER, warn,
XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS, XSRETURN, XSRETURN_EMPTY,
XSRETURN_IV, XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF,
XSRETURN_YES, XST_mIV, XST_mNV, XST_mNO, XST_mPV, XST_mUNDEF, XST_mYES,
XS_VERSION, XS_VERSION_BOOTCHECK, Zero
An Error Handler, An Event Driven Program
perl_call_sv, perl_call_pv, perl_call_method, perl_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
method, locked
FALSE, TRUE, undef
Arithmetic operations, Comparison operations, Bit operations, Increment and decrement, Transcendental functions, Boolean, string and numeric conversion, Special
Strings as values of use overload directive, Overloading of an operation is inherited by derived classes
undef, TRUE, defined, but FALSE
Example
Assignment forms of arithmetic operations, Conversion operations,
Increment and decrement, abs($a), Unary minus, Negation,
Concatenation, Comparison operations, Copy operator
overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
integer, float, binary, q, qr
stack-trace, die, handler your-handler
normal-signals, error-signals, old-interface-signals
untrapped, any, signal, number
strict refs, strict vars, strict subs
[0], [1], [2], [3]
$keep, $check, $modtime
REFCNT, FLAGS
IV, IVX, needs64bits, packiv
NV, NVX
RV
PV
MAGIC, SvSTASH
MOREMAGIC, PRIVATE, TYPE, FLAGS, OBJ, PTR
TARGOFF, TARGLEN, TYPE, TARG
USEFUL, PREVIOUS, RARE, TABLE
NAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILEGV, GvREFCNT, FLAGS
LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS
FILL, MAX, OFF, ARRAY, AvFLAGS
STASH, START, ROOT, GV, FILEGV, DEPTH, PADLIST, OUTSIDE, XSUB, XSUBANY
FILL, MAX, KEYS, RITER, NAME, PMROOT, ARRAY
next, sibling, ppaddr, desc, targ, type, seq, flags, private
first
last
other
true, false
children
pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp
sv
gv
pv
redoop, nextop, lastop
label, stash, filegv, cop_seq, arybase, line
main_cv, main_root, main_start, comppadlist, sv_undef, sv_yes, sv_no,
walkoptree(OP, METHOD), walkoptree_debug(DEBUG),
walksymtable(SYMREF, METHOD, RECURSE),
svref_2object(SV), ppname(OPNUM),
hash(STR), cast_I32(I), minus_c,
cstring(STR), class(OBJ), threadsv_names,
byteload_fh(FILEHANDLE)
-ofilename, --, -f, -fcompress-nullops, -fomit-sequence-numbers, -fbypass-nullops, -fstrip-syntax-tree, -On, -D, -Do, -Db, -Da, -DC, -S, -m
-ofilename, -v, --, -uPackname, -D, -Do, -Dc, -DA, -DC, -DM, -f, -fcog, -fno-cog, -On
-ofilename, -v, --, -uPackname, -mModulename, -D, -Dr, -DO, -Ds, -Dp, -Dq, -Dl, -Dt, -f, -ffreetmps-each-bblock, -ffreetmps-each-loop, -fomit-taint, -On
-p, -uPACKAGE, -l, -sLETTERS, C
context, implicit-read and implicit-write, dollar-underscore, private-names, undefined-subs, regexp-variables, all, none
-u Package
-oFILENAME, -r, -D[tO]
new, debug
timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE
]] ), timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ),
timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] )
clearcache ( COUNT ), clearallcache ( ), disablecache ( ), enablecache ( )
1. Use another name for the argument, if one is available. Forexample, -value is an alias for -values, 2. Change the capitalization, e.g. -Values, 3. Put quotes around the argument name, e.g. '-values'
:cgi, :form, :html2, :html3, :netscape, :html, :standard, :all
-any, -compile, -nph, -autoload, -no_debug, -private_tempfiles
Parameters:, 4, 5, 6..
-absolute, -relative, -full, -path (-path_info), -query (-query_string)
application/x-www-form-urlencoded, multipart/form-data
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