perltoc2
Current Perl documentation can be found at
perldoc.perl.org.
Here is our local, out-dated (pre-5.6) version:
DESCRIPTION
THE PERL MODULE LIBRARY
- Pragmatic Modules
-
use autouse
MODULE =>
qw(sub1 sub2 sub3), blib, diagnostics, integer, less, lib, locale, ops, overload, re, sigtrap, strict, subs, vmsish, vars
- Standard Modules
-
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
- Extension Modules
-
CPAN
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
Modules: Creation, Use, and Abuse
- Guidelines for Module Creation
-
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
- Guidelines for Converting Perl 4 Library Scripts into Modules
-
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
- Guidelines for Reusing Application Code
-
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
NOTE
DESCRIPTION
- PREAMBLE
-
DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module
HEY
AUTHOR
COPYRIGHT
DESCRIPTION
- Format Variables
-
NOTES
- Footers
-
- Accessing Formatting Internals
-
WARNINGS
DESCRIPTION
PREPARING TO USE LOCALES
USING LOCALES
- The use locale pragma
-
- The setlocale function
-
- Finding locales
-
- LOCALE PROBLEMS
-
- Temporarily fixing locale problems
-
- Permanently fixing locale problems
-
- Permanently fixing your locale configuration
-
- Permanently fixing system locale configuration
-
- The localeconv function
-
LOCALE CATEGORIES
- Category LC_COLLATE: Collation
-
- Category LC_CTYPE: Character Types
-
- Category LC_NUMERIC: Numeric Formatting
-
- Category LC_MONETARY: Formatting of monetary amounts
-
- LC_TIME
-
- Other categories
-
SECURITY
Comparison operators (lt , le , ge , gt and cmp ):,
Case-mapping interpolation (with \l , \L , \u or \U ),
Matching operator (perlman:perlop):, Substitution operator (perlman:perlop):,
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()):
ENVIRONMENT
PERL_BADLANG,
LC_ALL,
LC_CTYPE,
LC_COLLATE,
LC_MONETARY,
LC_NUMERIC,
LC_TIME,
LANG
NOTES
- Backward compatibility
-
- I18N:Collate obsolete
-
- Sort speed and memory use impacts
-
- write() and LC_NUMERIC
-
- Freely available locale definitions
-
- I18n and l10n
-
- An imperfect standard
-
BUGS
- Broken systems
-
SEE ALSO
HISTORY
DESCRIPTION
- Making References
-
- Using References
-
- Symbolic references
-
- Not-so-symbolic references
-
- Pseudo-hashes: Using an array as a hash
-
- Function Templates
-
WARNING
SEE ALSO
DESCRIPTION
arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes,
more elaborate constructs
REFERENCES
COMMON MISTAKES
CAVEAT ON PRECEDENCE
WHY YOU SHOULD ALWAYS use strict
DEBUGGING
CODE EXAMPLES
LISTS OF LISTS
- Declaration of a LIST OF LISTS
-
- Generation of a LIST OF LISTS
-
- Access and Printing of a LIST OF LISTS
-
HASHES OF LISTS
- Declaration of a HASH OF LISTS
-
- Generation of a HASH OF LISTS
-
- Access and Printing of a HASH OF LISTS
-
LISTS OF HASHES
- Declaration of a LIST OF HASHES
-
- Generation of a LIST OF HASHES
-
- Access and Printing of a LIST OF HASHES
-
HASHES OF HASHES
- Declaration of a HASH OF HASHES
-
- Generation of a HASH OF HASHES
-
- Access and Printing of a HASH OF HASHES
-
MORE ELABORATE RECORDS
- Declaration of MORE ELABORATE RECORDS
-
- Declaration of a HASH OF COMPLEX RECORDS
-
- Generation of a HASH OF COMPLEX RECORDS
-
Database Ties
SEE ALSO
AUTHOR
DESCRIPTION
Declaration and Access of Lists of Lists
Growing Your Own
Access and Printing
Slices
SEE ALSO
AUTHOR
DESCRIPTION
Creating a Class
- Object Representation
-
- Class Interface
-
- Constructors and Instance Methods
-
- Planning for the Future: Better Constructors
-
- Destructors
-
- Other Object Methods
-
Class Data
- Accessing Class Data
-
- Debugging Methods
-
- Class Destructors
-
- Documenting the Interface
-
Aggregation
Inheritance
- Overridden Methods
-
- Multiple Inheritance
-
- UNIVERSAL: The Root of All Objects
-
Alternate Object Representations
- Arrays as Objects
-
- Closures as Objects
-
AUTOLOAD: Proxy Methods
- Autoloaded Data Methods
-
- Inherited Autoloaded Data Methods
-
Metaclassical Tools
- Class::Struct
-
- Data Members as Variables
-
- NOTES
-
- Object Terminology
-
SEE ALSO
AUTHOR AND COPYRIGHT
COPYRIGHT
- Acknowledgments
-
DESCRIPTION
- An Object is Simply a Reference
-
- A Class is Simply a Package
-
- A Method is Simply a Subroutine
-
- Method Invocation
-
- Default UNIVERSAL methods
-
isa(CLASS),
can(METHOD),
VERSION(
[NEED] )
- Destructors
-
- WARNING
-
- Summary
-
- Two-Phased Garbage Collection
-
SEE ALSO
SYNOPSIS
DESCRIPTION
- Tying Scalars
-
TIESCALAR classname,
LIST,
FETCH this,
STORE this, value,
DESTROY this
- Tying Arrays
-
TIEARRAY classname,
LIST,
FETCH this, index,
STORE this, index, value,
DESTROY this
- Tying Hashes
-
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
- Tying FileHandles
-
TIEHANDLE classname,
LIST,
WRITE this,
LIST,
PRINT this,
LIST,
PRINTF this,
LIST,
READ this,
LIST,
READLINE this,
GETC this,
CLOSE this,
DESTROY this
- The untie Gotcha
-
SEE ALSO
BUGS
AUTHOR
DESCRIPTION
OO SCALING TIPS
INSTANCE VARIABLES
SCALAR INSTANCE VARIABLES
INSTANCE VARIABLE INHERITANCE
OBJECT RELATIONSHIPS
OVERRIDING SUPERCLASS METHODS
USING RELATIONSHIP WITH SDBM
THINKING OF CODE REUSE
CLASS CONTEXT AND THE OBJECT
INHERITING A CONSTRUCTOR
DELEGATION
DESCRIPTION
Signals
Named Pipes
- WARNING
-
Using open() for IPC
- Filehandles
-
- Background Processes
-
- Complete Dissociation of Child from Parent
-
- Safe Pipe Opens
-
- Bidirectional Communication with Another Process
-
- Bidirectional Communication with Yourself
-
Sockets: Client/Server Communication
- Internet Line Terminators
-
- Internet TCP Clients and Servers
-
- Unix-Domain TCP Clients and Servers
-
TCP Clients with IO::Socket
- A Simple Client
-
Proto , PeerAddr , PeerPort
- A Webget Client
-
- Interactive Client with IO::Socket
-
TCP Servers with IO::Socket
Proto, LocalPort, Listen, Reuse
UDP: Message Passing
SysV IPC
NOTES
BUGS
AUTHOR
SEE ALSO
DESCRIPTION
The Perl Debugger
- Debugger Commands
-
h [command], p expr, x expr,
V [pkg [vars]],
X [vars],
T, s [expr], n [expr],
<CR>, c [line|sub], l, l min+incr, l min-max, l line, l subname, -, w [line], f filename, /pattern/, ?pattern?,
L,
S [[!]pattern], t, t expr, b [line] [condition], b subname [condition], b postpone subname [condition], b load filename, b compile subname, d [line],
D, a [line] command,
A,
W [expr],
W,
O [opt[=val]] [opt``val''] [opt?]..,
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
- Debugger input/output
-
Prompt, Multiline commands, Stack backtrace, Listing, Frame listing
- Debugging compile-time statements
-
- Debugger Customization
-
- Readline Support
-
- Editor Support for Debugging
-
- The Perl Profiler
-
- Debugger support in perl
-
- Debugger Internals
-
- Other resources
-
- BUGS
-
Debugging Perl memory usage
- Using $ENV{PERL_DEBUG_MSTATS}
-
buckets SMALLEST(APPROX)..GREATEST(APPROX) , Free/Used, Total sbrk():
SBRKed/SBRKs:CONTINUOUS , pad: 0 , heads: 2192 , chain: 0 , tail:
6144
- Example of using -DL switch
-
717 , 002 , 054 , 602 , 702 , 704
- -DL details
-
!!! , !! , !
- Limitations of -DL statistic
-
Debugging regular expressions
- Compile-time output
-
anchored STRING at POS, floating STRING at
POS1..POS2, matching floating/anchored , minlen , stclass
TYPE, noscan , isall , GPOS , plus , implicit , with eval ,
anchored(TYPE)
- Types of nodes
-
- Run-time output
-
DESCRIPTION
DESCRIPTION
- Laundering and Detecting Tainted Data
-
- Switches On the "#!" Line
-
- Cleaning Up Your Path
-
- Security Bugs
-
- Protecting Your Programs
-
SEE ALSO
DESCRIPTION
- Awk Traps
-
- C Traps
-
- Sed Traps
-
- Shell Traps
-
- Perl Traps
-
- Perl4 to Perl5 Traps
-
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, and BugFix traps
-
Discontinuance, Deprecation, BugFix, Discontinuance, Discontinuance,
Discontinuance, BugFix, Discontinuance, Discontinuance, BugFix,
Discontinuance, Discontinuance, Deprecation, Discontinuance
- Parsing Traps
-
Parsing, Parsing, Parsing, Parsing
- Numerical Traps
-
Numerical, Numerical, Numerical
- General data type traps
-
(Arrays), (Arrays), (Hashes), (Globs), (Globs), (Scalar String),
(Constants), (Scalars), (Variable Suicide)
- Context Traps - scalar, list contexts
-
(list context), (scalar context), (scalar context), (list, builtin)
- Precedence Traps
-
Precedence, Precedence, Precedence, Precedence, Precedence, Precedence,
Precedence
- General Regular Expression Traps using s///, etc.
-
Regular Expression, Regular Expression, Regular Expression, Regular
Expression, Regular Expression, Regular Expression, Regular Expression,
Regular Expression
- Subroutine, Signal, Sorting Traps
-
(Signals), (Sort Subroutine),
warn() won't let you specify a
filehandle
- OS Traps
-
(SysV), (SysV)
- Interpolation Traps
-
Interpolation, Interpolation, Interpolation, Interpolation, Interpolation,
Interpolation, Interpolation, Interpolation, Interpolation
- DBM Traps
-
DBM,
DBM
- Unclassified Traps
-
require/do trap using returned value, split on empty string with
LIMIT specified
DESCRIPTION
Not all Perl programs have to be portable, The vast majority of Perl is
portable
ISSUES
- Newlines
-
- File Paths
-
- System Interaction
-
- Interprocess Communication (IPC)
-
- External Subroutines (XS)
-
- Standard Modules
-
- Time and Date
-
- System Resources
-
- Security
-
- Style
-
CPAN TESTERS
Mailing list: cpan-testers@perl.org, Testing
results:
http://www.connect.net/gbarr/cpan-test/
PLATFORMS
- Unix
-
- DOS and Derivatives
-
The djgpp environment for
DOS,
http://www.delorie.com/djgpp/ , The
EMX environment for
DOS,
OS/2, etc.
emx@iaehv.nl ,http://www.juge.com/bbs/Hobb.19.html , Build instructions for Win32, perlwin32, The ActiveState Pages,
http://www.activestate.com/
- MacPerl
-
The MacPerl Pages,
http://www.ptf.com/macperl/ , The MacPerl mailing list, mac-perl-request@iis.ee.ethz.ch
- VMS
-
perlvms.pod, vmsperl list,
vmsperl-request@newman.upenn.edu , vmsperl on the web, http://www.sidhe.org/vmsperl/index.html
- EBCDIC Platforms
-
perl-mvs list,
AS/400 Perl information at
http://as400.rochester.ibm.com
- Other perls
-
Atari, Guido Flohr's page
http://stud.uni-sb.de/~gufl0000/ ,
HP 300 MPE/iX http://www.cccd.edu/~markb/perlix.html , Novell Netware
FUNCTION IMPLEMENTATIONS
- Alphabetical Listing of Perl Functions
-
-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
AUTHORS / CONTRIBUTORS
VERSION
DESCRIPTION
DESCRIPTION
- Verbatim Paragraph
-
- Command Paragraph
-
- Ordinary Block of Text
-
- The Intent
-
- Embedding Pods in Perl Modules
-
- Common Pod Pitfalls
-
SEE ALSO
AUTHOR
DESCRIPTION
DESCRIPTION
- PREAMBLE
-
Use C from Perl?, Use a Unix program from Perl?, Use Perl from
Perl?, Use C from C?, Use Perl from C?
- ROADMAP
-
- Compiling your C program
-
- Adding a Perl interpreter to your C program
-
- Calling a Perl subroutine from your C program
-
- Evaluating a Perl statement from your C program
-
- Performing Perl pattern matches and substitutions from your C program
-
- Fiddling with the Perl stack from your C program
-
- Maintaining a persistent interpreter
-
- Maintaining multiple interpreter instances
-
- Using Perl modules, which themselves use C libraries, from your C
program
-
Embedding Perl under Win32
MORAL
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
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()
- Co-existence with stdio
-
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)
DESCRIPTION
- Introduction
-
- On The Road
-
- The Anatomy of an XSUB
-
- The Argument Stack
-
- The RETVAL Variable
-
- The MODULE Keyword
-
- The PACKAGE Keyword
-
- The PREFIX Keyword
-
- The OUTPUT: Keyword
-
- The CODE: Keyword
-
- The INIT: Keyword
-
- The NO_INIT Keyword
-
- Initializing Function Parameters
-
- Default Parameter Values
-
- The PREINIT: Keyword
-
- The SCOPE: Keyword
-
- The INPUT: Keyword
-
- Variable-length Parameter Lists
-
- The C_ARGS: Keyword
-
- The PPCODE: Keyword
-
- Returning Undef And Empty Lists
-
- The REQUIRE: Keyword
-
- The CLEANUP: Keyword
-
- The BOOT: Keyword
-
- The VERSIONCHECK: Keyword
-
- The PROTOTYPES: Keyword
-
- The PROTOTYPE: Keyword
-
- The ALIAS: Keyword
-
- The INTERFACE: Keyword
-
- The INTERFACE_MACRO: Keyword
-
- The INCLUDE: Keyword
-
- The CASE: Keyword
-
- The & Unary Operator
-
- Inserting Comments and C Preprocessor Directives
-
- Using XS With C++
-
- Interface Strategy
-
- Perl Objects And C Structures
-
- The Typemap
-
EXAMPLES
XS VERSION
AUTHOR
DESCRIPTION
- VERSION CAVEAT
-
- DYNAMIC VERSUS STATIC
-
- EXAMPLE 1
-
- EXAMPLE 2
-
- WHAT HAS GONE ON?
-
- WRITING GOOD TEST SCRIPTS
-
- EXAMPLE 3
-
- WHAT'S NEW HERE?
-
- INPUT AND OUTPUT PARAMETERS
-
- THE XSUBPP COMPILER
-
- THE TYPEMAP FILE
-
- WARNING
-
- EXAMPLE 4
-
- WHAT HAS HAPPENED HERE?
-
- SPECIFYING ARGUMENTS TO XSUBPP
-
- THE ARGUMENT STACK
-
- EXTENDING YOUR EXTENSION
-
- DOCUMENTING YOUR EXTENSION
-
- INSTALLING YOUR EXTENSION
-
- SEE ALSO
-
- Author
-
- Last Changed
-
DESCRIPTION
Variables
- Datatypes
-
- What is an "IV"?
-
- Working with SVs
-
- What's Really Stored in an SV?
-
- Working with AVs
-
- Working with HVs
-
- Hash API Extensions
-
- References
-
- Blessed References and Class Objects
-
- Creating New Variables
-
- Reference Counts and Mortality
-
- Stashes and Globs
-
- Double-Typed SVs
-
- Magic Variables
-
- Assigning Magic
-
- Magic Virtual Tables
-
- Finding Magic
-
- Understanding the Magic of Tied Hashes and Arrays
-
- Localizing changes
-
perlman:perlguts, perlman:perlguts, perlman:perlguts, perlman:perlguts,
perlman:perlguts, perlman:perlguts, perlman:perlguts, SAVEFREEOP(OP
*op), perlman:perlguts, perlman:perlguts, SAVEDELETE(HV *hv, char
*key, I32 length), perlman:perlguts, perlman:perlguts,
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)
Subroutines
- XSUBs and the Argument Stack
-
- Calling Perl Routines from within C Programs
-
- Memory Allocation
-
- PerlIO
-
- Putting a C value on Perl stack
-
- Scratchpads
-
- Scratchpads and recursion
-
Compiled code
- Code tree
-
- Examining the tree
-
- Compile pass 1: check routines
-
- Compile pass 1a: constant folding
-
- Compile pass 2: context propagation
-
- Compile pass 3: peephole optimization
-
API LISTING
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
AUTHORS
DESCRIPTION
An Error Handler, An Event Driven Program
THE PERL_CALL FUNCTIONS
perl_call_sv, perl_call_pv, perl_call_method, perl_call_argv
FLAG VALUES
- G_VOID
-
- G_SCALAR
-
- G_ARRAY
-
- G_DISCARD
-
- G_NOARGS
-
- G_EVAL
-
- G_KEEPERR
-
- Determining the Context
-
KNOWN PROBLEMS
EXAMPLES
- No Parameters, Nothing returned
-
- Passing Parameters
-
- Returning a Scalar
-
- Returning a list of values
-
- Returning a list in a scalar context
-
- Returning Data from Perl via the parameter list
-
- Using G_EVAL
-
- Using G_KEEPERR
-
- Using perl_call_sv
-
- Using perl_call_argv
-
- Using perl_call_method
-
- Using GIMME_V
-
- Using Perl to dispose of temporaries
-
- Strategies for storing Callback Context Information
-
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
- Alternate Stack Manipulation
-
- Creating and calling an anonymous subroutine in C
-
SEE ALSO
AUTHOR
DATE
DESCRIPTION
INTRODUCTION
THE KEEPERS OF THE PUMPKIN
- PUMPKIN?
-
THE RECORDS
- SELECTED RELEASE SIZES
-
- SELECTED PATCH SIZES
-
THE KEEPERS OF THE RECORDS
SYNOPSIS
DESCRIPTION
method, locked
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
WARNING
AUTHOR
SEE ALSO
SYNOPSIS
DESCRIPTION
SEE ALSO
SYNOPSIS
DESCRIPTION
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
NOTES
TECHNICAL NOTE
BUGS
AUTHOR
COPYRIGHT
SYNOPSIS
DESCRIPTION
- The diagnostics Pragma
-
- The splain Program
-
EXAMPLES
INTERNALS
BUGS
AUTHOR
SYNOPSIS
DESCRIPTION
SEE ALSO
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
- ADDING DIRECTORIES TO @INC
-
- DELETING DIRECTORIES FROM @INC
-
- RESTORING ORIGINAL @INC
-
SEE ALSO
AUTHOR
SYNOPSIS
DESCRIPTION
SYNOPSIS
CAVEAT SCRIPTOR
DESCRIPTION
- Declaration of overloaded functions
-
- Calling Conventions for Binary Operations
-
FALSE,
TRUE, undef
- Calling Conventions for Unary Operations
-
- Overloadable Operations
-
Arithmetic operations, Comparison operations, Bit operations,
Increment and decrement, Transcendental functions, Boolean, string
and numeric conversion, Special
- Inheritance and overloading
-
Strings as values of
use overload directive, Overloading of an operation is inherited by derived classes
SPECIAL SYMBOLS FOR use overload
- Last Resort
-
- Fallback
-
undef,
TRUE, defined, but
FALSE
- Copy Constructor
-
Example
MAGIC AUTOGENERATION
Assignment forms of arithmetic operations, Conversion operations,
Increment and decrement, abs($a), Unary minus, Negation,
Concatenation, Comparison operations, Copy operator
WARNING
Run-time Overloading
Public functions
overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
Overloading constants
integer, float, binary, q, qr
IMPLEMENTATION
AUTHOR
DIAGNOSTICS
BUGS
SYNOPSIS
DESCRIPTION
OPTIONS
- SIGNAL HANDLERS
-
stack-trace, die, handler your-handler
- SIGNAL LISTS
-
normal-signals, error-signals, old-interface-signals
- OTHER
-
untrapped, any, signal, number
EXAMPLES
SYNOPSIS
DESCRIPTION
strict refs , strict vars , strict subs
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
- DBM Comparisons
-
[0], [1], [2], [3]
SEE ALSO
SYNOPSIS
DESCRIPTION
- Subroutine Stubs
-
- Using AutoLoader's AUTOLOAD Subroutine
-
- Overriding AutoLoader's AUTOLOAD Subroutine
-
- Package Lexicals
-
- AutoLoader vs. SelfLoader
-
CAVEATS
SEE ALSO
SYNOPSIS
DESCRIPTION
$keep, $check, $modtime
- Multiple packages
-
DIAGNOSTICS
SYNOPSIS
DESCRIPTION
OVERVIEW OF CLASSES
- SV-RELATED CLASSES
-
- B::SV METHODS
-
REFCNT,
FLAGS
- B::IV METHODS
-
IV,
IVX, needs64bits, packiv
- B::NV METHODS
-
NV,
NVX
- B::RV METHODS
-
RV
- B::PV METHODS
-
PV
- B::PVMG METHODS
-
MAGIC, SvSTASH
- B::MAGIC METHODS
-
MOREMAGIC,
PRIVATE,
TYPE,
FLAGS,
OBJ,
PTR
- B::PVLV METHODS
-
TARGOFF,
TARGLEN,
TYPE,
TARG
- B::BM METHODS
-
USEFUL,
PREVIOUS,
RARE,
TABLE
- B::GV METHODS
-
NAME,
STASH,
SV,
IO,
FORM,
AV,
HV,
EGV,
CV,
CVGEN,
LINE,
FILEGV, GvREFCNT,
FLAGS
- B::IO METHODS
-
LINES,
PAGE,
PAGE_LEN,
LINES_LEFT,
TOP_NAME,
TOP_GV,
FMT_NAME,
FMT_GV,
BOTTOM_NAME,
BOTTOM_GV,
SUBPROCESS, IoTYPE, IoFLAGS
- B::AV METHODS
-
FILL,
MAX,
OFF,
ARRAY, AvFLAGS
- B::CV METHODS
-
STASH,
START,
ROOT,
GV,
FILEGV,
DEPTH,
PADLIST,
OUTSIDE,
XSUB,
XSUBANY
- B::HV METHODS
-
FILL,
MAX,
KEYS,
RITER,
NAME,
PMROOT,
ARRAY
- OP-RELATED CLASSES
-
- B::OP METHODS
-
next, sibling, ppaddr, desc, targ, type, seq, flags, private
- B::UNOP METHOD
-
first
- B::BINOP METHOD
-
last
- B::LOGOP METHOD
-
other
More...
Return to the Library
|
|