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
OS/2, MS-DOS, Win95/NT, VMS
-0[octal/hexadecimal] , -a , -C [number/list] , -c , -d , -dt, -d:MOD[=bar,baz] , -dt:MOD[=bar,baz], -Dletters , -Dnumber, -e commandline , -E commandline , -f , -Fpattern , -h , -i[extension] , -Idirectory , -l[octnum] , -m[-]module , -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n , -p , -s , -S , -t , -T , -u , -U , -v , -V , -V:configvar, -w , -W , -X , -x , -xdirectory
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_PERTURB_KEYS , PERL_HASH_SEED_DEBUG , PERL_MEM_LOG , PERL_ROOT (specific to the VMS port) , PERL_SIGNALS , PERL_UNICODE , SYS$LOGIN (specific to the VMS port)
arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs
use strict
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
0, 1, 2, 3, 4, 5, 6
Elapsed Real Time, User CPU Time, System CPU Time
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 - Web, Email and Networking
http://www.perl.org/about.html, http://perltraining.com.au/whyperl.html
http://www.perl.org/, http://perldoc.perl.org/, http://learn.perl.org/
http://www.perl.org/, http://learn.perl.org/, http://jobs.perl.org/, http://lists.perl.org/
Basics, perldata - Perl data types, perlvar - Perl pre-defined variables, perlsyn - Perl syntax, perlop - Perl operators and precedence, perlsub - Perl subroutines, Execution, perlrun - how to execute the Perl interpreter, perldebug - Perl debugging, Functions, perlfunc - Perl builtin functions, Objects, perlref - Perl references and nested data structures, perlmod - Perl modules (packages and symbol tables), perlobj - Perl objects, perltie - how to hide an object class in a simple variable, Data Structures, perlref - Perl references and nested data structures, perllol - Manipulating arrays of arrays in Perl, perldsc - Perl Data Structures Cookbook, Modules, perlmod - Perl modules (packages and symbol tables), perlmodlib - constructing new Perl modules and finding existing ones, Regexes, perlre - Perl regular expressions, perlfunc - Perl builtin functions>, perlop - Perl operators and precedence, perllocale - Perl locale handling (internationalization and localization), Moving to perl5, perltrap - Perl traps for the unwary, perl, Linking with C, perlxstut - Tutorial for writing XSUBs, perlxs - XS language reference manual, perlcall - Perl calling conventions from C, perlguts - Introduction to the Perl API, perlembed - how to embed perl in your C program, Various
Eclipse, Enginsite, Kephra, Komodo, Notepad++, Open Perl IDE, OptiPerl, Padre, PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Vim, Vile, MultiEdit, SlickEdit, ConTEXT, bash, zsh, BBEdit and TextWrangler
Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena
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 of the opening token, You can't (easily) have any space in front of the tag, There needs to be at least a line separator after the end token
-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? \G
in a regular expression? 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
the PERLLIB
environment variable, the PERL5LIB
environment variable, the perl -Idir
command line flag, the lib
pragma:, the local::lib module:
Email::Sender::Transport::Sendmail, Email::Sender::Transport::SMTP, Email::Sender::Transport::SMTP::TLS
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1. Empty hashes or arrays match, 2. That is, each element smartmatches the element of the same index in the other array.[3], 3. If a circular reference is found, fall back to referential equality, 4. Either an actual number, or a string that looks like one
unary &, unary *, (TYPE)
[1], [2], [3], [4], [5], [6], [7], [8]
qr/STRING/msixpodualn
, m/PATTERN/msixpodualngc
, /PATTERN/msixpodualngc
, The empty pattern //
, Matching in list context, \G assertion
, m?PATTERN?msixpodualngc
, ?PATTERN?msixpodualngc
, s/PATTERN/REPLACEMENT/msixpodualngcer
q/STRING/
, 'STRING'
, qq/STRING/
, "STRING", qx/STRING/
, `STRING`
, qw/STRING/
, tr/SEARCHLIST/REPLACEMENTLIST/cdsr
, y/SEARCHLIST/REPLACEMENTLIST/cdsr
, <<EOF
, Double Quotes, Single Quotes, Backticks
Finding the end, Interpolation , <<'EOF'
, m''
, the pattern of s'''
, ''
, q//
, tr'''
, y'''
, the replacement of s'''
, tr///
, y///
, ""
, ``
, qq//
, qx//
, <file*glob>
, <<"EOF"
, the replacement of s///
, RE
in ?RE?
, /RE/
, m/RE/
, s/RE/foo/
,, parsing regular expressions , Optimization of regular expressions
documented later in this document, documented in perlmod, documented in perlobj, documented in perltie, documented in PerlIO::via, documented in perlfunc, documented in UNIVERSAL, documented in perldebguts, undocumented, used internally by the overload feature
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-orientation , Low-level socket functions , System V interprocess communication functions , Fetching user and group info , Fetching network info , Time-related functions , Non-function keywords
-X FILEHANDLE , -X EXPR, -X DIRHANDLE, -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, break, caller EXPR , caller, chdir EXPR , chdir FILEHANDLE, chdir DIRHANDLE, chdir, 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 , continue, cos EXPR , cos, crypt PLAINTEXT,SALT , dbmclose HASH , dbmopen HASH,DBNAME,MASK , defined EXPR , defined, delete EXPR , die LIST , do BLOCK , do EXPR , dump LABEL , dump EXPR, dump, each HASH , each ARRAY , each EXPR, eof FILEHANDLE , eof (), eof, eval EXPR , eval BLOCK, eval, evalbytes EXPR , evalbytes, exec LIST , exec PROGRAM LIST, exists EXPR , exit EXPR , exit, exp EXPR , exp, fc EXPR , fc, fcntl FILEHANDLE,FUNCTION,SCALAR , __FILE__ , 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 , gmtime, goto LABEL , goto EXPR, goto &NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR , hex, import LIST , index STR,SUBSTR,POSITION , index STR,SUBSTR, int EXPR , int, ioctl FILEHANDLE,FUNCTION,SCALAR , join EXPR,LIST , keys HASH , keys ARRAY, keys EXPR, kill SIGNAL, LIST, kill SIGNAL , last LABEL , last EXPR, last, lc EXPR , lc, If use bytes
is in effect:, Otherwise, if use locale
for LC_CTYPE
is in effect:, Otherwise, If EXPR has the UTF8 flag set:, Otherwise, if use feature 'unicode_strings'
or use locale ':not_characters'
is in effect:, Otherwise:, lcfirst EXPR , lcfirst, length EXPR , length, __LINE__ , link OLDFILE,NEWFILE , listen SOCKET,QUEUESIZE , local EXPR , localtime EXPR , localtime, lock THING , log EXPR , log, lstat FILEHANDLE , lstat EXPR, lstat DIRHANDLE, lstat, m//, map BLOCK LIST , map EXPR,LIST, mkdir FILENAME,MASK , mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my VARLIST , my TYPE VARLIST, my VARLIST : ATTRS, my TYPE VARLIST : ATTRS, next LABEL , next EXPR, next, no MODULE VERSION LIST , no MODULE VERSION, no MODULE LIST, no MODULE, no VERSION, 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 VARLIST , our TYPE VARLIST, our VARLIST : ATTRS, our TYPE VARLIST : ATTRS, pack TEMPLATE,LIST , package NAMESPACE, package NAMESPACE VERSION , package NAMESPACE BLOCK, package NAMESPACE VERSION BLOCK , __PACKAGE__ , pipe READHANDLE,WRITEHANDLE , pop ARRAY , pop EXPR, pop, pos SCALAR , pos, print FILEHANDLE LIST , print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST , printf FILEHANDLE, printf FORMAT, LIST, printf, prototype FUNCTION , prototype, push ARRAY,LIST , push EXPR,LIST, q/STRING/, qq/STRING/, qw/STRING/, qx/STRING/, qr/STRING/, quotemeta EXPR , quotemeta, rand EXPR , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET , read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR, readline , readlink EXPR , readlink, readpipe EXPR, readpipe , recv SOCKET,SCALAR,LENGTH,FLAGS , redo LABEL , redo EXPR, 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///, say FILEHANDLE LIST , say FILEHANDLE, say LIST, say, 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 EXPR, 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, splice EXPR,OFFSET,LENGTH,LIST, splice EXPR,OFFSET,LENGTH, splice EXPR,OFFSET, splice EXPR, 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 DIRHANDLE, stat, state VARLIST , state TYPE VARLIST, state VARLIST : ATTRS, state TYPE VARLIST : ATTRS, study SCALAR , study, sub NAME BLOCK , sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, __SUB__ , 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, unshift ARRAY,LIST , unshift EXPR,LIST, untie VARIABLE , use Module VERSION LIST , use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST , values HASH , values ARRAY, values EXPR, vec EXPR,OFFSET,BITS , wait , waitpid PID,FLAGS , wantarray , warn LIST , write FILEHANDLE , write EXPR, write, y///
__DATA__, __END__, BEGIN, CHECK, END, INIT, UNITCHECK, DESTROY, and, cmp, eq, ge, gt, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elsif, for, foreach, if, unless, until, while, elseif, default, given, when
OK, HANDLE, MODE, PATHNAME
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", "=begin formatname parameter", "=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:
NAME, SYNOPSIS, DESCRIPTION, OPTIONS, RETURN VALUE, ERRORS, DIAGNOSTICS, EXAMPLES, ENVIRONMENT, FILES, CAVEATS, BUGS, RESTRICTIONS, NOTES, AUTHOR, HISTORY, COPYRIGHT AND LICENSE, SEE ALSO
perl -d program_name, perl -d -e 0, perl -d:ptkdb program_name, perl -dt threaded_program_name
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 [n] , t [n] expr , b , b [line] [condition] , b [file]:[line] [condition] , b subname [condition] , b postpone subname [condition] , b load filename , b compile subname , B line , B * , disable [file]:[line] , disable [line] , enable [file]:[line] , enable [line] , 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
, HistFile
, HistSize
, TTY
, noTTY
, ReadLine
, NonStop
Prompt, Multiline commands, Stack backtrace , Line Listing Format, Frame listing
$ARG, $_ , @ARG, @_ , $LIST_SEPARATOR, $" , $PROCESS_ID, $PID, $$ , $PROGRAM_NAME, $0 , $REAL_GROUP_ID, $GID, $( , $EFFECTIVE_GROUP_ID, $EGID, $) , $REAL_USER_ID, $UID, $< , $EFFECTIVE_USER_ID, $EUID, $> , $SUBSCRIPT_SEPARATOR, $SUBSEP, $; , $a, $b , %ENV , $OLD_PERL_VERSION, $] , $SYSTEM_FD_MAX, $^F , @F , @INC , %INC , $INPLACE_EDIT, $^I , $^M , $OSNAME, $^O , %SIG , $BASETIME, $^T , $PERL_VERSION, $^V , ${^WIN32_SLOPPY_STAT} , $EXECUTABLE_NAME, $^X
$<digits> ($1, $2, ...) , $MATCH, $& , ${^MATCH} , $PREMATCH, $` , ${^PREMATCH} , $POSTMATCH, $' , ${^POSTMATCH} , $LAST_PAREN_MATCH, $+ , $LAST_SUBMATCH_RESULT, $^N , @LAST_MATCH_END, @+ , %LAST_PAREN_MATCH, %+ , @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])
, %LAST_MATCH_START, %- , $LAST_REGEXP_CODE_RESULT, $^R , ${^RE_DEBUG_FLAGS} , ${^RE_TRIE_MAXBUF}
$ARGV , @ARGV , ARGV , ARGVOUT , IO::Handle->output_field_separator( EXPR ), $OUTPUT_FIELD_SEPARATOR, $OFS, $, , HANDLE->input_line_number( EXPR ), $INPUT_LINE_NUMBER, $NR, $. , IO::Handle->input_record_separator( EXPR ), $INPUT_RECORD_SEPARATOR, $RS, $/ , IO::Handle->output_record_separator( EXPR ), $OUTPUT_RECORD_SEPARATOR, $ORS, $\ , HANDLE->autoflush( EXPR ), $OUTPUT_AUTOFLUSH, $| , ${^LAST_FH} , $ACCUMULATOR, $^A , IO::Handle->format_formfeed(EXPR), $FORMAT_FORMFEED, $^L , HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $% , HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $- , IO::Handle->format_line_break_characters EXPR, $FORMAT_LINE_BREAK_CHARACTERS, $: , HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $= , HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^ , HANDLE->format_name(EXPR), $FORMAT_NAME, $~
${^CHILD_ERROR_NATIVE} , $EXTENDED_OS_ERROR, $^E , $EXCEPTIONS_BEING_CAUGHT, $^S , $WARNING, $^W , ${^WARNING_BITS} , $OS_ERROR, $ERRNO, $! , %OS_ERROR, %ERRNO, %! , $CHILD_ERROR, $? , $EVAL_ERROR, $@
$COMPILING, $^C , $DEBUGGING, $^D , ${^ENCODING} , ${^GLOBAL_PHASE} , CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H , %^H , ${^OPEN} , $PERLDB, $^P , 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, ${^TAINT} , ${^UNICODE} , ${^UTF8CACHE} , ${^UTF8LOCALE}
$# , $* , $[
m , s , i , x , p , a, d, l and u , n , Other Modifiers
[1], [2], [3], [4], [5], [6], [7], [8]
(?#text)
, (?adlupimnsx-imnsx)
, (?^alupimnsx)
, (?:pattern)
, (?adluimnsx-imnsx:pattern)
, (?^aluimnsx:pattern)
, (?|pattern)
, Look-Around Assertions , (?=pattern)
, (?!pattern)
, (?<=pattern)
\K
, (?<!pattern)
, (?'NAME'pattern)
, (?<NAME>pattern)
, \k<NAME>
, \k'NAME'
, (?{ code })
, (??{ code })
, (?PARNO)
(?-PARNO)
(?+PARNO)
(?R)
(?0)
, (?&NAME)
, (?(condition)yes-pattern|no-pattern)
, (?(condition)yes-pattern)
, (1) (2) .., (<NAME>) ('NAME'), (?=...) (?!...) (?<=...) (?<!...), (?{ CODE }), (R), (R1) (R2) .., (R&NAME), (DEFINE), (?>pattern)
, (?[ ])
Verbs that take an argument, (*PRUNE)
(*PRUNE:NAME)
, (*SKIP)
(*SKIP:NAME)
, (*MARK:NAME)
(*:NAME)
, (*THEN)
(*THEN:NAME)
, Verbs without an argument, (*COMMIT)
, (*FAIL)
(*F)
, (*ACCEPT)
ST
, S|T
, S{REPEAT_COUNT}
, S{min,max}
, S{min,max}?
, S?
, S*
, S+
, S??
, S*?
, S+?
, (?>S)
, (?=S)
, (?<=S)
, (?!S)
, (?<!S)
, (??{ EXPR })
, (?PARNO)
, (?(condition)yes-pattern|no-pattern)
(?P<NAME>pattern)
, (?P=NAME)
, (?P>NAME)
If the /a
modifier is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., if Unicode rules are in effect .., otherwise .., If the /a
modifier is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., if Unicode rules are in effect .., otherwise .., [1], [2]
[1], [2], [3], [4], [5], [6], If the /a
modifier, is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., word
, ascii
, blank
, if Unicode rules are in effect .., otherwise ..
bless
, blessed
, and ref
isa($class) , DOES($role) , can($method) , VERSION($need)
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 , EOF this , CLOSE this , UNTIE this , DESTROY this
untie
Gotcha filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value
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, Open directory handles, 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
-X, alarm, atan2, binmode, chmod, chown, chroot, crypt, dbmclose, dbmopen, dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid, getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid, getnetbyaddr, getprotobynumber, getservbyport, getpwent, getgrent, gethostbyname, gethostent, getnetent, getprotoent, getservent, seekdir, sethostent, setnetent, setprotoent, setservent, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob, gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat, msgctl, msgget, msgsnd, msgrcv, open, readlink, rename, rewinddir, select, semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent, setsockopt, shmctl, shmget, shmread, shmwrite, sleep, sockatmark, socketpair, stat, symlink, syscall, sysopen, system, telldir, times, truncate, umask, utime, wait, waitpid
Linux (x86, ARM, IA64), HP-UX, AIX, Win32, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Cygwin, Solaris (x86, SPARC), OpenVMS, Alpha (7.2 and later), I64 (8.2 and later), Symbian, NetBSD, FreeBSD, Debian GNU/kFreeBSD, Haiku, Irix (6.5. What else?), OpenBSD, Dragonfly BSD, Midnight BSD, QNX Neutrino RTOS (6.5.0), MirOS BSD, Stratus OpenVOS (17.0 or later), time_t issues that may or may not be fixed, Symbian (Series 60 v3, 3.2 and 5 - what else?), Stratus VOS / OpenVOS, AIX, Android, FreeMINT
Category LC_NUMERIC
: Numeric formatting, Category LC_MONETARY
: Formatting of monetary amounts, Category LC_TIME
: Date/Time formatting, Category LC_MESSAGES
: Error and other messages, Category LC_COLLATE
: Collation, Category LC_CTYPE
: Character Types, Other categories
"use locale"
pragmaNot within the scope of "use locale"
, Lingering effects of use locale
, Under "use locale";
PERL_SKIP_LOCALE_INIT, PERL_BADLANG, LC_ALL
, LANGUAGE
, LC_CTYPE
, LC_COLLATE
, LC_MONETARY
, LC_NUMERIC
, LC_TIME
, LANG
Safest if you use feature 'unicode_strings'
, Input and Output Layers, You should convert your non-ASCII, non-UTF-8 Perl scripts to be UTF-8, use utf8
still needed to enable UTF-8 in scripts, BOM
-marked scripts and UTF-16 scripts autodetected
When the string has been upgraded to UTF-8, There are additional methods for regular expression patterns
\p{All}
, \p{Alnum}
, \p{Any}
, \p{ASCII}
, \p{Assigned}
, \p{Blank}
, \p{Decomposition_Type: Non_Canonical}
(Short: \p{Dt=NonCanon}
), \p{Graph}
, \p{HorizSpace}
, \p{In=*}
, \p{PerlSpace}
, \p{PerlWord}
, \p{Posix...}
, \p{Present_In: *}
(Short: \p{In=*}
), \p{Print}
, \p{SpacePerl}
, \p{Title}
and \p{Titlecase}
, \p{Unicode}
, \p{VertSpace}
, \p{Word}
, \p{XPosix...}
[1] \N{U+...}
and \x{...}
, [2] \p{...}
\P{...}
, [3] supports not only minimal list, but all Unicode character properties (see Unicode Character Properties above), [4] \d
\D
\s
\S
\w
\W
\X
[:prop:]
[:^prop:]
, [5] The experimental feature starting in v5.18 "(?[...])"
accomplishes this, [6] \b
\B
, [7] Note that Perl does Full case-folding in matching, not Simple:, [8] Perl treats \n
as the start- and end-line delimiter. Unicode specifies more characters that should be so-interpreted, [9] But Unicode::LineBreak
is available, [10] UTF-8/UTF-EBDDIC used in Perl allows not only U+10000
to U+10FFFF
but also beyond U+10FFFF
cmp
work on text instead of codepoints§3.13 Default Case Algorithms, page 113; §4.2 Case, pages 120–122; Case Mappings, page 166–172, especially Caseless Matching starting on page 170, UAX #44: Unicode Character Database, UTS #18: Unicode Regular Expressions, UAX #15: Unicode Normalization Forms, UTS #10: Unicode Collation Algorithm, UAX #29: Unicode Text Segmentation, UAX #14: Unicode Line Breaking Algorithm, UAX #11: East Asian Width
decode_utf8
and encode_utf8
?\p{}
and \P{}
Single form (\p{name}
) tighter rules:, white space adjacent to a non-word character, underscores separating digits in numbers, Compound form (\p{name=value}
or \p{name:value}
) tighter rules:, Stabilized, Deprecated, Obsolete
\p{}
and \P{}
constructs that match no characters\p{Canonical_Combining_Class=Attached_Below_Left}, \p{Canonical_Combining_Class=CCC133}, \p{Grapheme_Cluster_Break=Prepend}
Expands_On_NFC (XO_NFC), Expands_On_NFD (XO_NFD), Expands_On_NFKC (XO_NFKC), Expands_On_NFKD (XO_NFKD), Grapheme_Link (Gr_Link), Indic_Matra_Category (InMC), Indic_Syllabic_Category (InSC), Jamo_Short_Name (JSN), Other_Alphabetic (OAlpha), Other_Default_Ignorable_Code_Point (ODI), Other_Grapheme_Extend (OGr_Ext), Other_ID_Continue (OIDC), Other_ID_Start (OIDS), Other_Lowercase (OLower), Other_Math (OMath), Other_Uppercase (OUpper), Script=Katakana_Or_Hiragana (sc=Hrkt), Script_Extensions=Katakana_Or_Hiragana (scx=Hrkt)
auxiliary/GraphemeBreakTest.html, auxiliary/LineBreakTest.html, auxiliary/SentenceBreakTest.html, auxiliary/WordBreakTest.html, auxiliary/LBTest.txt, BidiCharacterTest.txt, BidiTest.txt, NormTest.txt, CJKRadicals.txt, EmojiSources.txt, Index.txt, IndicMatraCategory.txt, IndicSyllabicCategory.txt, NamedSqProv.txt, NamesList.html, NamesList.txt, NormalizationCorrections.txt, Props.txt, ReadMe.txt, StandardizedVariants.html, StandardizedVariants.txt, USourceData.txt, USourceGlyphs.pdf
recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
chr()
, ord()
, pack()
, print()
, printf()
, sort()
, sprintf()
, unpack()
Hash Seed Randomization, Hash Traversal Randomization, Bucket Order Perturbance, New Default Hash Function, Alternative Hash Functions
This doc, perlnewmod, perlmodstyle
arybase, attributes, autodie, autodie::exception, autodie::exception::system, autodie::hints, autodie::skip, autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant, deprecate, diagnostics, encoding, encoding::warnings, experimental, feature, fields, filetest, if, integer, less, lib, locale, mro, ok, open, ops, overload, overloading, parent, re, sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, vmsish, warnings::register
AnyDBM_File, App::Cpan, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Debug, B::Deparse, B::Op_private, B::Showlex, B::Terse, B::Xref, Benchmark, IO::Socket::IP
, Socket
, CORE, CPAN, CPAN::API::HOWTO, CPAN::Debug, CPAN::Distroprefs, CPAN::FirstTime, CPAN::HandleConfig, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter, CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::History::Meta_1_0, CPAN::Meta::History::Meta_1_1, CPAN::Meta::History::Meta_1_2, CPAN::Meta::History::Meta_1_3, CPAN::Meta::History::Meta_1_4, CPAN::Meta::Merge, CPAN::Meta::Prereqs, CPAN::Meta::Requirements, CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox, CPAN::Plugin, CPAN::Plugin::Specfile, CPAN::Queue, CPAN::Tarzip, CPAN::Version, Carp, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config, Config::Perl::V, Cwd, DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows, ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Constant::Base, ExtUtils::Constant::Utils, ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Locale, ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval, ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps, ExtUtils::Typemaps::Cmd, ExtUtils::Typemaps::InputMap, ExtUtils::Typemaps::OutputMap, ExtUtils::Typemaps::Type, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper, 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, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash, I18N::Collate, I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List, I18N::Langinfo, IO, IO::Compress::Base, IO::Compress::Bzip2, IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip, IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress, IO::Uncompress::Base, IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem, IPC::SysV, JSON::PP, JSON::PP::Boolean, List::Util, List::Util::XS, Locale::Codes, Locale::Codes::API, Locale::Codes::Changes, Locale::Codes::Constants, Locale::Codes::Country, Locale::Codes::Currency, Locale::Codes::LangExt, Locale::Codes::LangFam, Locale::Codes::LangFam_Retired, Locale::Codes::LangVar, Locale::Codes::Language, Locale::Codes::Script, Locale::Country, Locale::Currency, Locale::Language, Locale::Maketext, Locale::Maketext::Cookbook, Locale::Maketext::Guts, Locale::Maketext::GutsLoader, Locale::Maketext::Simple, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64, MIME::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigInt::CalcEmu, Math::BigInt::FastCalc, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, Module::CoreList, Module::CoreList::Utils, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::FTP::dataconn, 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, Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO, PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, Pod::Perldoc, Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO, Pod::Perldoc::ToANSI, Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToTerm, Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug, Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML, Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::PullParserEndToken, Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken, Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search, Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text, Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Storable, Sub::Util, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32, TAP::Base, TAP::Formatter::Base, TAP::Formatter::Color, TAP::Formatter::Console, TAP::Formatter::Console::ParallelSession, TAP::Formatter::Console::Session, TAP::Formatter::File, TAP::Formatter::File::Session, TAP::Formatter::Session, TAP::Harness, TAP::Harness::Env, TAP::Object, TAP::Parser, TAP::Parser::Aggregator, TAP::Parser::Grammar, TAP::Parser::Iterator, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer, TAP::Parser::Result, TAP::Parser::Result::Bailout, TAP::Parser::Result::Comment, TAP::Parser::Result::Plan, TAP::Parser::Result::Pragma, TAP::Parser::Result::Test, TAP::Parser::Result::Unknown, TAP::Parser::Result::Version, TAP::Parser::Result::YAML, TAP::Parser::ResultFactory, TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job, TAP::Parser::Scheduler::Spinner, TAP::Parser::Source, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable, TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle, TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::RawTAP, TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Builder::IO::Scalar, Test::Builder::Module, Test::Builder::Tester, Test::Builder::Tester::Color, Test::Harness, Test::Harness::Beyond, Test::More, Test::Simple, Test::Tester, Test::Tester::Capture, Test::Tester::CaptureRunner, Test::Tutorial, Test::use::ok, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece, Time::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Collate::CJK::Big5, Unicode::Collate::CJK::GB2312, Unicode::Collate::CJK::JISX0208, Unicode::Collate::CJK::Korean, Unicode::Collate::CJK::Pinyin, Unicode::Collate::CJK::Stroke, Unicode::Collate::CJK::Zhuyin, Unicode::Collate::Locale, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, VMS::DCLsym, VMS::Filespec, VMS::Stdio, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader, autodie::Scope::Guard, autodie::Scope::GuardStack, autodie::ScopeUtil, version::Internals
South Africa
China, Hong Kong, India, Indonesia, Japan, Republic of Korea, Russia, Singapore, Taiwan, Thailand, Turkey
Costa Rica
Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Malta, Netherlands, Norway, Poland, Portugal, Romania, Russia, Slovakia, Slovenia, Spain, Sweden, Switzerland, Ukraine, United Kingdom
Bahamas, Canada, Mexico, United States, Alabama, Arizona, California, Florida, Idaho, Illinois, Indiana, Massachusetts, Michigan, Minnesota, New Jersey, New York, North Carolina, Oregon, Pennsylvania, South Carolina, Tennessee, Texas, Utah, Virginia, Washington, Wisconsin
Australia, New Zealand
Argentina, Brazil, Chile, Colombia
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!
Decryption Filters
Some Filters Clobber the DATA
Handle
sub-entry(SUBNAME, FILE, LINE, PACKAGE), sub-return(SUBNAME, FILE, LINE, PACKAGE), phase-change(NEWPHASE, OLDPHASE), op-entry(OPNAME), loading-file(FILENAME), loaded-file(FILENAME)
Most frequently called functions, Trace function calls, Function calls during interpreter cleanup, System calls at compile time, Perl functions that execute the most opcodes
DTrace Dynamic Tracing Guide, DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD
accessor methods, actual arguments, address operator, algorithm, alias, alphabetic, alternatives, anonymous, application, architecture, argument, ARGV, arithmetical operator, array, array context, Artistic License, ASCII, assertion, assignment, assignment operator, associative array, associativity, asynchronous, atom, atomic operation, attribute, autogeneration, autoincrement, autoload, autosplit, autovivification, AV, awk
backreference, backtracking, backward compatibility, bareword, base class, big-endian, binary, binary operator, bind, bit, bit shift, bit string, bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint, broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode
C, cache, callback, call by reference, call by value, canonical, capture variables, capturing, cargo cult, case, casefolding, casemapping, character, character class, character property, circumfix operator, class, class method, client, closure, cluster, CODE, code generator, codepoint, code subpattern, collating sequence, co-maintainer, combining character, command, command buffering, command-line arguments, command name, comment, compilation unit, compile, compile phase, compiler, compile time, composer, concatenation, conditional, connection, construct, constructor, context, continuation, core dump, CPAN, C preprocessor, cracker, currently selected output channel, current package, current working directory, CV
dangling statement, datagram, data structure, data type, DBM, declaration, declarator, decrement, default, defined, delimiter, dereference, derived class, descriptor, destroy, destructor, device, directive, directory, directory handle, discipline, dispatch, distribution, dual-lived, dweomer, dwimmer, dynamic scoping
eclectic, element, embedding, empty subclass test, encapsulation, endian, en passant, environment, environment variable, EOF, errno, error, escape sequence, exception, exception handling, exec, executable file, execute, execute bit, exit status, exploit, export, expression, extension
false, FAQ, fatal error, feeping creaturism, field, FIFO, file, file descriptor, fileglob, filehandle, filename, filesystem, file test operator, filter, first-come, flag, floating point, flush, FMTEYEWTK, foldcase, fork, formal arguments, format, freely available, freely redistributable, freeware, function, funny character
garbage collection, GID, glob, global, global destruction, glue language, granularity, grapheme, greedy, grep, group, GV
hacker, handler, hard reference, hash, hash table, header file, here document, hexadecimal, home directory, host, hubris, HV
identifier, impatience, implementation, import, increment, indexing, indirect filehandle, indirection, indirect object, indirect object slot, infix, inheritance, instance, instance data, instance method, instance variable, integer, interface, interpolation, interpreter, invocant, invocation, I/O, IO, I/O layer, IPA, IP, IPC, is-a, iteration, iterator, IV
JAPH
key, keyword
label, laziness, leftmost longest, left shift, lexeme, lexer, lexical analysis, lexical scoping, lexical variable, library, LIFO, line, linebreak, line buffering, line number, link, LIST, list, list context, list operator, list value, literal, little-endian, local, logical operator, lookahead, lookbehind, loop, loop control statement, loop label, lowercase, lvaluable, lvalue, lvalue modifier
magic, magical increment, magical variables, Makefile, man, manpage, matching, member data, memory, metacharacter, metasymbol, method, method resolution order, minicpan, minimalism, mode, modifier, module, modulus, mojibake, monger, mortal, mro, multidimensional array, multiple inheritance
named pipe, namespace, NaN, network address, newline, NFS, normalization, null character, null list, null string, numeric context, numification, NV, nybble
object, octal, offset, one-liner, open source software, operand, operating system, operator, operator overloading, options, ordinal, overloading, overriding, owner
package, pad, parameter, parent class, parse tree, parsing, patch, PATH, pathname, pattern, pattern matching, PAUSE, Perl mongers, permission bits, Pern, pipe, pipeline, platform, pod, pod command, pointer, polymorphism, port, portable, porter, possessive, POSIX, postfix, pp, pragma, precedence, prefix, preprocessing, primary maintainer, procedure, process, program, program generator, progressive matching, property, protocol, prototype, pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin, pumpking, PV
qualified, quantifier
race condition, readable, reaping, record, recursion, reference, referent, regex, regular expression, regular expression modifier, regular file, relational operator, reserved words, return value, RFC, right shift, role, root, RTFM, run phase, runtime, runtime pattern, RV, rvalue
sandbox, scalar, scalar context, scalar literal, scalar value, scalar variable, scope, scratchpad, script, script kiddie, sed, semaphore, separator, serialization, server, service, setgid, setuid, shared memory, shebang, shell, side effects, sigil, signal, signal handler, single inheritance, slice, slurp, socket, soft reference, source filter, stack, standard, standard error, standard input, standard I/O, Standard Library, standard output, statement, statement modifier, static, static method, static scoping, static variable, stat structure, status, STDERR, STDIN, STDIO, STDOUT, stream, string, string context, stringification, struct, structure, subclass, subpattern, subroutine, subscript, substitution, substring, superclass, superuser, SV, switch, switch cluster, switch statement, symbol, symbolic debugger, symbolic link, symbolic reference, symbol table, synchronous, syntactic sugar, syntax, syntax tree, syscall
taint checks, tainted, taint mode, TCP, term, terminator, ternary, text, thread, tie, titlecase, TMTOWTDI, token, tokener, tokenizing, toolbox approach, topic, transliterate, trigger, trinary, troff, true, truncating, type, type casting, typedef, typed lexical, typeglob, typemap
UDP, UID, umask, unary operator, Unicode, Unix, uppercase
value, variable, variable interpolation, variadic, vector, virtual, void context, v-string
warning, watch expression, weak reference, whitespace, word, working directory, wrapper, WYSIWYG
XS, XSUB
yacc
zero width, zombie
Use C from Perl?, Use a Unix program from Perl?, Use Perl from Perl?, Use C from C?, Use Perl from C?
$ENV{PERL_DEBUG_MSTATS}
buckets SMALLEST(APPROX)..GREATEST(APPROX)
, Free/Used, Total sbrk(): SBRKed/SBRKs:CONTINUOUS
, pad: 0
, heads: 2192
, chain: 0
, tail: 6144
length(NAME)
KeywordMY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT, aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl), dMY_CXT_INTERP(my_perl)
Non-locale-aware XS code, Locale-aware XS code
T_SV, T_SVREF, T_SVREF_FIXED, T_AVREF, T_AVREF_REFCOUNT_FIXED, T_HVREF, T_HVREF_REFCOUNT_FIXED, T_CVREF, T_CVREF_REFCOUNT_FIXED, T_SYSRET, T_UV, T_IV, T_INT, T_ENUM, T_BOOL, T_U_INT, T_SHORT, T_U_SHORT, T_LONG, T_U_LONG, T_CHAR, T_U_CHAR, T_FLOAT, T_NV, T_DOUBLE, T_PV, T_PTR, T_PTRREF, T_PTROBJ, T_REF_IV_REF, T_REF_IV_PTR, T_PTRDESC, T_REFREF, T_REFOBJ, T_OPAQUEPTR, T_OPAQUE, Implicit array, T_PACKED, T_PACKEDARRAY, T_DATAUNIT, T_CALLBACK, T_ARRAY, T_STDIO, T_INOUT, T_IN, T_OUT
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)
void bhk_start(pTHX_ int full)
, void bhk_pre_end(pTHX_ OP **o)
, void bhk_post_end(pTHX_ OP **o)
, void bhk_eval(pTHX_ OP *const o)
dump
functionsA, p, d, s, n, r, f, M, o, x, m, X, E, b, others
xop_name, xop_desc, xop_class, OA_BASEOP, OA_UNOP, OA_BINOP, OA_LOGOP, OA_LISTOP, OA_PMOP, OA_SVOP, OA_PADOP, OA_PVOP_OR_SVOP, OA_LOOP, OA_COP, xop_peep
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
/m
- RXf_PMf_MULTILINE, /s
- RXf_PMf_SINGLELINE, /i
- RXf_PMf_FOLD, /x
- RXf_PMf_EXTENDED, /p
- RXf_PMf_KEEPCOPY, Character set, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, RXf_WHITE, RXf_NULL, RXf_NO_INPLACE_SUBST
rx, sv, strbeg, strend, stringarg, minend, data, flags
A. Compilation, 1. Parsing for size, 2. Parsing for construction, 3. Peep-hole optimisation and analysis, B. Execution, 4. Start position and no-match optimisations, 5. Program execution
GIMME , GIMME_V , G_ARRAY , G_DISCARD , G_EVAL , G_NOARGS , G_SCALAR , G_VOID
AvFILL , av_clear , av_create_and_push , av_create_and_unshift_one , av_delete , av_exists , av_extend , av_fetch , av_fill , av_len , av_make , av_pop , av_push , av_shift , av_store , av_tindex , av_top_index , av_undef , av_unshift , get_av , newAV , sortsv , sortsv_flags
xsubpp
variables and internal functionsax , CLASS , dAX , dAXMARK , dITEMS , dUNDERBAR , dXSARGS , dXSI32 , items , ix , RETVAL , ST , THIS , UNDERBAR , XS , XS_EXTERNAL , XS_INTERNAL
call_argv , call_method , call_pv , call_sv , ENTER , eval_pv , eval_sv , FREETMPS , LEAVE , SAVETMPS
toFOLD , toFOLD_uni , toFOLD_utf8 , toLOWER , toLOWER_L1 , toLOWER_LC , toLOWER_uni , toLOWER_utf8 , toTITLE , toTITLE_uni , toTITLE_utf8 , toUPPER , toUPPER_uni , toUPPER_utf8
isALPHA , isALPHANUMERIC , isASCII , isBLANK , isCNTRL , isDIGIT , isGRAPH , isIDCONT , isIDFIRST , isLOWER , isOCTAL , isPRINT , isPSXSPC , isPUNCT , isSPACE , isUPPER , isWORDCHAR , isXDIGIT
perl_clone
BhkDISABLE , BhkENABLE , BhkENTRY_set , blockhook_register
cophh_2hv , cophh_copy , cophh_delete_pv , cophh_delete_pvn , cophh_delete_pvs , cophh_delete_sv , cophh_fetch_pv , cophh_fetch_pvn , cophh_fetch_pvs , cophh_fetch_sv , cophh_free , cophh_new_empty , cophh_store_pv , cophh_store_pvn , cophh_store_pvs , cophh_store_sv
cop_hints_2hv , cop_hints_fetch_pv , cop_hints_fetch_pvn , cop_hints_fetch_pvs , cop_hints_fetch_sv
custom_op_register , custom_op_xop , XopDISABLE , XopENABLE , XopENTRY , XopENTRYCUSTOM , XopENTRY_set , XopFLAGS
caller_cx , CvSTASH , find_runcv , get_cv , get_cvn_flags
dump_all , dump_packsubs , op_dump , sv_dump
pv_display , pv_escape , pv_pretty
cv_clone , cv_name , cv_undef , find_rundefsv , find_rundefsvoffset , intro_my , load_module , newPADNAMELIST , newPADNAMEouter , newPADNAMEpvn , nothreadhook , padnamelist_fetch , padnamelist_store , pad_add_anon , pad_add_name_pv , pad_add_name_pvn , pad_add_name_sv , pad_alloc , pad_findmy_pv , pad_findmy_pvn , pad_findmy_sv , pad_setsv , pad_sv , pad_tidy , perl_alloc , perl_construct , perl_destruct , perl_free , perl_parse , perl_run , require_pv
dXCPT , XCPT_CATCH , XCPT_RETHROW , XCPT_TRY_END , XCPT_TRY_START
PL_check , PL_keyword_plugin
GvAV , GvCV , GvHV , GvSV , gv_const_sv , gv_fetchmeth , gv_fetchmethod_autoload , gv_fetchmeth_autoload , gv_fetchmeth_pv , gv_fetchmeth_pvn , gv_fetchmeth_pvn_autoload , gv_fetchmeth_pv_autoload , gv_fetchmeth_sv , gv_fetchmeth_sv_autoload , gv_init , gv_init_pv , gv_init_pvn , gv_init_sv , gv_stashpv , gv_stashpvn , gv_stashpvs , gv_stashsv , setdefout
Nullav , Nullch , Nullcv , Nullhv , Nullsv
cop_fetch_label , cop_store_label , get_hv , HEf_SVKEY , HeHASH , HeKEY , HeKLEN , HePV , HeSVKEY , HeSVKEY_force , HeSVKEY_set , HeUTF8 , HeVAL , HvENAME , HvENAMELEN , HvENAMEUTF8 , HvNAME , HvNAMELEN , HvNAMEUTF8 , hv_assert , hv_clear , hv_clear_placeholders , hv_copy_hints_hv , hv_delete , hv_delete_ent , hv_exists , hv_exists_ent , hv_fetch , hv_fetchs , hv_fetch_ent , hv_fill , hv_iterinit , hv_iterkey , hv_iterkeysv , hv_iternext , hv_iternextsv , hv_iternext_flags , hv_iterval , hv_magic , hv_scalar , hv_store , hv_stores , hv_store_ent , hv_undef , newHV
wrap_op_checker
lex_bufutf8 , lex_discard_to , lex_grow_linestr , lex_next_chunk , lex_peek_unichar , lex_read_space , lex_read_to , lex_read_unichar , lex_start , lex_stuff_pv , lex_stuff_pvn , lex_stuff_pvs , lex_stuff_sv , lex_unstuff , parse_arithexpr , parse_barestmt , parse_block , parse_fullexpr , parse_fullstmt , parse_label , parse_listexpr , parse_stmtseq , parse_termexpr , PL_parser , PL_parser->bufend , PL_parser->bufptr , PL_parser->linestart , PL_parser->linestr
DECLARATION_FOR_LC_NUMERIC_MANIPULATION , RESTORE_LC_NUMERIC , STORE_LC_NUMERIC_FORCE_TO_UNDERLYING , STORE_LC_NUMERIC_SET_TO_NEEDED , sync_locale
mg_clear , mg_copy , mg_find , mg_findext , mg_free , mg_free_type , mg_get , mg_length , mg_magical , mg_set , SvGETMAGIC , SvLOCK , SvSETMAGIC , SvSetMagicSV , SvSetMagicSV_nosteal , SvSetSV , SvSetSV_nosteal , SvSHARE , SvUNLOCK
Copy , CopyD , Move , MoveD , Newx , Newxc , Newxz , Poison , PoisonFree , PoisonNew , PoisonWith , Renew , Renewc , Safefree , savepv , savepvn , savepvs , savesharedpv , savesharedpvn , savesharedpvs , savesharedsvpv , savesvpv , StructCopy , Zero , ZeroD
dump_c_backtrace , fbm_compile , fbm_instr , foldEQ , foldEQ_locale , form , getcwd_sv , get_c_backtrace_dump , ibcmp , ibcmp_locale , is_safe_syscall , memEQ , memNE , mess , mess_sv , my_snprintf , my_sprintf , my_strlcat , my_strlcpy , my_vsnprintf , PERL_SYS_INIT , PERL_SYS_INIT3 , PERL_SYS_TERM , quadmath_format_needed , quadmath_format_single , READ_XDIGIT , strEQ , strGE , strGT , strLE , strLT , strNE , strnEQ , strnNE , sv_destroyable , sv_nosharing , vmess
mro_get_linear_isa , mro_method_changed_in , mro_register
dMULTICALL , MULTICALL , POP_MULTICALL , PUSH_MULTICALL
grok_bin , grok_hex , grok_infnan , grok_number , grok_number_flags , grok_numeric_radix , grok_oct , isinfnan , Perl_signbit , scan_bin , scan_hex , scan_oct
custom_op_desc , custom_op_name , gv_fetchmethod , is_utf8_char , is_utf8_char_buf , pack_cat , pad_compname_type , sv_2pvbyte_nolen , sv_2pvutf8_nolen , sv_2pv_nolen , sv_catpvn_mg , sv_catsv_mg , sv_force_normal , sv_iv , sv_nolocking , sv_nounlocking , sv_nv , sv_pv , sv_pvbyte , sv_pvbyten , sv_pvn , sv_pvutf8 , sv_pvutf8n , sv_taint , sv_unref , sv_usepvn , sv_usepvn_mg , sv_uv , unpack_str , utf8_to_uvchr , utf8_to_uvuni
newASSIGNOP , newBINOP , newCONDOP , newDEFSVOP , newFOROP , newGIVENOP , newGVOP , newLISTOP , newLOGOP , newLOOPEX , newLOOPOP , newMETHOP , newMETHOP_named , newNULLLIST , newOP , newPADOP , newPMOP , newPVOP , newRANGE , newSLICEOP , newSTATEOP , newSVOP , newUNOP , newUNOP_AUX , newWHENOP , newWHILEOP
alloccopstash , block_end , block_start , ck_entersub_args_list , ck_entersub_args_proto , ck_entersub_args_proto_or_list , cv_const_sv , cv_get_call_checker , cv_set_call_checker , cv_set_call_checker_flags , LINKLIST , newCONSTSUB , newCONSTSUB_flags , newXS , OpHAS_SIBLING , OpLASTSIB_set , OpMAYBESIB_set , OpMORESIB_set , OpSIBLING , op_append_elem , op_append_list , OP_CLASS , op_contextualize , op_convert_list , OP_DESC , op_free , op_linklist , op_lvalue , OP_NAME , op_null , op_parent , op_prepend_elem , op_scope , op_sibling_splice , OP_TYPE_IS , OP_TYPE_IS_OR_WAS , rv2cv_op_cv
packlist , unpackstring
CvPADLIST , PadARRAY , PadlistARRAY , PadlistMAX , PadlistNAMES , PadlistNAMESARRAY , PadlistNAMESMAX , PadlistREFCNT , PadMAX , PadnameLEN , PadnamelistARRAY , PadnamelistMAX , PadnamelistREFCNT , PadnamelistREFCNT_dec , PadnamePV , PadnameREFCNT , PadnameREFCNT_dec , PadnameSV , PadnameUTF8 , pad_add_name_pvs , pad_findmy_pvs , pad_new , PL_comppad , PL_comppad_name , PL_curpad
PL_modglobal , PL_na , PL_opfreehook , PL_peepp , PL_rpeepp , PL_sv_no , PL_sv_undef , PL_sv_yes
SvRX , SvRXOK
dMARK , dORIGMARK , dSP , EXTEND , MARK , mPUSHi , mPUSHn , mPUSHp , mPUSHs , mPUSHu , mXPUSHi , mXPUSHn , mXPUSHp , mXPUSHs , 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_INVLIST , SVt_IV , SVt_NULL , SVt_NV , SVt_PV , SVt_PVAV , SVt_PVCV , SVt_PVFM , SVt_PVGV , SVt_PVHV , SVt_PVIO , SVt_PVIV , SVt_PVLV , SVt_PVMG , SVt_PVNV , SVt_REGEXP
boolSV , croak_xs_usage , get_sv , newRV_inc , newSVpadname , newSVpvn_utf8 , SvCUR , SvCUR_set , SvEND , SvGAMAGIC , 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 , SvIV_set , SvLEN , SvLEN_set , SvMAGIC_set , SvNIOK , SvNIOKp , SvNIOK_off , SvNOK , SvNOKp , SvNOK_off , SvNOK_on , SvNOK_only , SvNV , SvNVX , SvNVx , SvNV_nomg , SvNV_set , SvOK , SvOOK , SvOOK_offset , 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 , SvPV_nomg_nolen , SvPV_set , SvREFCNT , SvREFCNT_dec , SvREFCNT_dec_NN , SvREFCNT_inc , SvREFCNT_inc_NN , SvREFCNT_inc_simple , SvREFCNT_inc_simple_NN , SvREFCNT_inc_simple_void , SvREFCNT_inc_simple_void_NN , SvREFCNT_inc_void , SvREFCNT_inc_void_NN , SvROK , SvROK_off , SvROK_on , SvRV , SvRV_set , SvSTASH , SvSTASH_set , SvTAINT , SvTAINTED , SvTAINTED_off , SvTAINTED_on , SvTRUE , SvTRUE_nomg , SvTYPE , SvUOK , SvUPGRADE , SvUTF8 , SvUTF8_off , SvUTF8_on , SvUV , SvUVX , SvUVx , SvUV_nomg , SvUV_set , SvVOK , sv_catpvn_nomg , sv_catpv_nomg , sv_catsv_nomg , sv_derived_from , sv_derived_from_pv , sv_derived_from_pvn , sv_derived_from_sv , sv_does , sv_does_pv , sv_does_pvn , sv_does_sv , sv_report_used , sv_setsv_nomg , sv_utf8_upgrade_nomg
looks_like_number , newRV_noinc , newSV , newSVhek , newSViv , newSVnv , newSVpv , newSVpvf , newSVpvn , newSVpvn_flags , newSVpvn_share , newSVpvs , newSVpvs_flags , newSVpvs_share , newSVpv_share , newSVrv , newSVsv , newSVuv , newSV_type , sv_2bool , sv_2bool_flags , sv_2cv , sv_2io , sv_2iv_flags , sv_2mortal , sv_2nv_flags , sv_2pvbyte , sv_2pvutf8 , sv_2pv_flags , sv_2uv_flags , sv_backoff , sv_bless , sv_catpv , sv_catpvf , sv_catpvf_mg , sv_catpvn , sv_catpvn_flags , sv_catpvs , sv_catpvs_flags , sv_catpvs_mg , sv_catpvs_nomg , sv_catpv_flags , sv_catpv_mg , sv_catsv , sv_catsv_flags , sv_chop , sv_clear , sv_cmp , sv_cmp_flags , sv_cmp_locale , sv_cmp_locale_flags , sv_collxfrm , sv_collxfrm_flags , sv_copypv_flags , sv_copypv_nomg , sv_dec , sv_dec_nomg , sv_eq , sv_eq_flags , sv_force_normal_flags , sv_free , sv_gets , sv_get_backrefs , sv_grow , sv_inc , sv_inc_nomg , sv_insert , sv_insert_flags , sv_isa , sv_isobject , sv_len , sv_len_utf8 , sv_magic , sv_magicext , sv_mortalcopy , sv_newmortal , sv_newref , sv_pos_b2u , sv_pos_b2u_flags , sv_pos_u2b , sv_pos_u2b_flags , sv_pvbyten_force , sv_pvn_force , sv_pvn_force_flags , sv_pvutf8n_force , sv_reftype , sv_replace , 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_setpvs , sv_setpvs_mg , sv_setpv_mg , sv_setref_iv , sv_setref_nv , sv_setref_pv , sv_setref_pvn , sv_setref_pvs , sv_setref_uv , sv_setsv , sv_setsv_flags , sv_setsv_mg , sv_setuv , sv_setuv_mg , sv_tainted , sv_true , sv_unmagic , sv_unmagicext , sv_unref_flags , sv_untaint , sv_upgrade , sv_usepvn_flags , sv_utf8_decode , sv_utf8_downgrade , sv_utf8_encode , sv_utf8_upgrade , sv_utf8_upgrade_flags , sv_utf8_upgrade_flags_grow , sv_utf8_upgrade_nomg , sv_vcatpvf , sv_vcatpvfn , sv_vcatpvfn_flags , sv_vcatpvf_mg , sv_vsetpvf , sv_vsetpvfn , sv_vsetpvf_mg
bytes_cmp_utf8 , bytes_from_utf8 , bytes_to_utf8 , DO_UTF8 , foldEQ_utf8 , isUTF8_CHAR , is_ascii_string , is_invariant_string , is_utf8_string , is_utf8_string_loc , is_utf8_string_loclen , 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 , UTF8SKIP , utf8_distance , utf8_hop , utf8_length , utf8_to_bytes , utf8_to_uvchr_buf , utf8_to_uvuni_buf , UVCHR_SKIP , uvchr_to_utf8 , uvchr_to_utf8_flags , uvoffuni_to_utf8_flags , uvuni_to_utf8_flags
xsubpp
and xsubpp
internal functionsnewXSproto , XS_APIVERSION_BOOTCHECK , XS_VERSION , XS_VERSION_BOOTCHECK
new_version , prescan_version , scan_version , upg_version , vcmp , vnormal , vnumify , vstringify , vverify
croak , croak_no_modify , croak_sv , die , die_sv , vcroak , vwarn , warn , warn_sv
GetVars , Gv_AMupdate , PerlIO_clearerr , PerlIO_close , PerlIO_context_layers , PerlIO_eof , PerlIO_error , PerlIO_fileno , PerlIO_fill , PerlIO_flush , PerlIO_get_base , PerlIO_get_bufsiz , PerlIO_get_cnt , PerlIO_get_ptr , PerlIO_read , PerlIO_seek , PerlIO_set_cnt , PerlIO_set_ptrcnt , PerlIO_setlinebuf , PerlIO_stderr , PerlIO_stdin , PerlIO_stdout , PerlIO_tell , PerlIO_unread , PerlIO_write , amagic_call , amagic_deref_call , any_dup , atfork_lock , atfork_unlock , av_arylen_p , av_iter_p , block_gimme , call_atexit , call_list , calloc , cast_i32 , cast_iv , cast_ulong , cast_uv , ck_warner , ck_warner_d , ckwarn , ckwarn_d , clone_params_del , clone_params_new , croak_memory_wrap , croak_nocontext , csighandler , cx_dump , cx_dup , cxinc , deb , deb_nocontext , debop , debprofdump , debstack , debstackptrs , delimcpy , despatch_signals , die_nocontext , dirp_dup , do_aspawn , do_binmode , do_close , do_gv_dump , do_gvgv_dump , do_hv_dump , do_join , do_magic_dump , do_op_dump , do_open , do_open9 , do_openn , do_pmop_dump , do_spawn , do_spawn_nowait , do_sprintf , do_sv_dump , doing_taint , doref , dounwind , dowantarray , dump_eval , dump_form , dump_indent , dump_mstats , dump_sub , dump_vindent , filter_add , filter_del , filter_read , foldEQ_latin1 , form_nocontext , fp_dup , fprintf_nocontext , free_global_struct , free_tmps , get_context , get_mstats , get_op_descs , get_op_names , get_ppaddr , get_vtbl , gp_dup , gp_free , gp_ref , gv_AVadd , gv_HVadd , gv_IOadd , gv_SVadd , gv_add_by_type , gv_autoload4 , gv_autoload_pv , gv_autoload_pvn , gv_autoload_sv , gv_check , gv_dump , gv_efullname , gv_efullname3 , gv_efullname4 , gv_fetchfile , gv_fetchfile_flags , gv_fetchpv , gv_fetchpvn_flags , gv_fetchsv , gv_fullname , gv_fullname3 , gv_fullname4 , gv_handler , gv_name_set , he_dup , hek_dup , hv_common , hv_common_key_len , hv_delayfree_ent , hv_eiter_p , hv_eiter_set , hv_free_ent , hv_ksplit , hv_name_set , hv_placeholders_get , hv_placeholders_set , hv_rand_set , hv_riter_p , hv_riter_set , ibcmp_utf8 , init_global_struct , init_stacks , init_tm , instr , is_lvalue_sub , leave_scope , load_module_nocontext , magic_dump , malloc , markstack_grow , mess_nocontext , mfree , mg_dup , mg_size , mini_mktime , moreswitches , mro_get_from_name , mro_get_private_data , mro_set_mro , mro_set_private_data , my_atof , my_atof2 , my_bcopy , my_bzero , my_chsize , my_cxt_index , my_cxt_init , my_dirfd , my_exit , my_failure_exit , my_fflush_all , my_fork , my_lstat , my_memcmp , my_memset , my_pclose , my_popen , my_popen_list , my_setenv , my_socketpair , my_stat , my_strftime , newANONATTRSUB , newANONHASH , newANONLIST , newANONSUB , newATTRSUB , newAVREF , newCVREF , newFORM , newGVREF , newGVgen , newGVgen_flags , newHVREF , newHVhv , newIO , newMYSUB , newPROG , newRV , newSUB , newSVREF , newSVpvf_nocontext , new_stackinfo , ninstr , op_refcnt_lock , op_refcnt_unlock , parser_dup , perl_alloc_using , perl_clone_using , pmop_dump , pop_scope , pregcomp , pregexec , pregfree , pregfree2 , printf_nocontext , ptr_table_fetch , ptr_table_free , ptr_table_new , ptr_table_split , ptr_table_store , push_scope , re_compile , re_dup_guts , re_intuit_start , re_intuit_string , realloc , reentrant_free , reentrant_init , reentrant_retry , reentrant_size , ref , reg_named_buff_all , reg_named_buff_exists , reg_named_buff_fetch , reg_named_buff_firstkey , reg_named_buff_nextkey , reg_named_buff_scalar , regclass_swash , regdump , regdupe_internal , regexec_flags , regfree_internal , reginitcolors , regnext , repeatcpy , rninstr , rsignal , rsignal_state , runops_debug , runops_standard , rvpv_dup , safesyscalloc , safesysfree , safesysmalloc , safesysrealloc , save_I16 , save_I32 , save_I8 , save_adelete , save_aelem , save_aelem_flags , save_alloc , save_aptr , save_ary , save_bool , save_clearsv , save_delete , save_destructor , save_destructor_x , save_freeop , save_freepv , save_freesv , save_generic_pvref , save_generic_svref , save_gp , save_hash , save_hdelete , save_helem , save_helem_flags , save_hints , save_hptr , save_int , save_item , save_iv , save_list , save_long , save_mortalizesv , save_nogv , save_op , save_padsv_and_mortalize , save_pptr , save_pushi32ptr , save_pushptr , save_pushptrptr , save_re_context , save_scalar , save_set_svflags , save_shared_pvref , save_sptr , save_svref , save_vptr , savestack_grow , savestack_grow_cnt , scan_num , scan_vstring , seed , set_context , set_numeric_local , set_numeric_radix , set_numeric_standard , share_hek , si_dup , ss_dup , stack_grow , start_subparse , str_to_version , sv_2iv , sv_2pv , sv_2uv , sv_catpvf_mg_nocontext , sv_catpvf_nocontext , sv_dup , sv_dup_inc , sv_peek , sv_pvn_nomg , sv_setpvf_mg_nocontext , sv_setpvf_nocontext , swash_fetch , swash_init , sys_init , sys_init3 , sys_intern_clear , sys_intern_dup , sys_intern_init , sys_term , taint_env , taint_proper , unlnk , unsharepvn , utf16_to_utf8 , utf16_to_utf8_reversed , uvuni_to_utf8 , vdeb , vform , vload_module , vnewSVpvf , vwarner , warn_nocontext , warner , warner_nocontext , whichsig , whichsig_pv , whichsig_pvn , whichsig_sv
BhkENTRY , BhkFLAGS , CALL_BLOCK_HOOKS
core_prototype
docatch
CvWEAKOUTSIDE
cv_dump , cv_forget_slab , do_dump_pad , padlist_dup , padnamelist_dup , padname_dup , pad_alloc_name , pad_block_start , pad_check_dup , pad_findlex , pad_fixup_inner_anons , pad_free , pad_leavemy , pad_push , pad_reset , pad_swipe
gv_try_downgrade
hv_ename_add , hv_ename_delete , refcounted_he_chain_2hv , refcounted_he_fetch_pv , refcounted_he_fetch_pvn , refcounted_he_fetch_pvs , refcounted_he_fetch_sv , refcounted_he_free , refcounted_he_inc , refcounted_he_new_pv , refcounted_he_new_pvn , refcounted_he_new_pvs , refcounted_he_new_sv
start_glob
validate_proto
magic_clearhint , magic_clearhints , magic_methcall , magic_sethint , mg_localize
free_c_backtrace , get_c_backtrace
mro_get_linear_isa_dfs , mro_isa_changed_in , mro_package_moved
finalize_optree
CX_CURPAD_SAVE , CX_CURPAD_SV , PadnameIsOUR , PadnameIsSTATE , PadnameOURSTASH , PadnameOUTER , PadnameTYPE , PAD_BASE_SV , PAD_CLONE_VARS , PAD_COMPNAME_FLAGS , PAD_COMPNAME_GEN , PAD_COMPNAME_GEN_set , PAD_COMPNAME_OURSTASH , PAD_COMPNAME_PV , PAD_COMPNAME_TYPE , 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
PL_DBsingle , PL_DBsub , PL_DBtrace , PL_dowarn , PL_last_in_gv , PL_ofsgv , PL_rs
djSP , LVRET
SvTHINKFIRST , sv_add_arena , sv_clean_all , sv_clean_objs , sv_free_arenas
sv_2num , sv_copypv , sv_ref
find_uninit_var , report_uninit
PerlIO_restore_errno , PerlIO_save_errno , Slab_Alloc , Slab_Free , Slab_to_ro , Slab_to_rw , _add_range_to_invlist , _core_swash_init , _get_encoding , _get_swash_invlist , _invlist_array_init , _invlist_contains_cp , _invlist_contents , _invlist_dump , _invlist_intersection , _invlist_intersection_maybe_complement_2nd , _invlist_invert , _invlist_len , _invlist_populate_swatch , _invlist_search , _invlist_subtract , _invlist_union , _invlist_union_maybe_complement_2nd , _load_PL_utf8_foldclosures , _new_invlist , _setup_canned_invlist , _swash_inversion_hash , _swash_to_invlist , _to_fold_latin1 , _to_upper_title_latin1 , _warn_problematic_locale , aassign_common_vars , add_cp_to_invlist , alloc_maybe_populate_EXACT , allocmy , amagic_is_enabled , apply , av_extend_guts , av_reify , bind_match , boot_core_PerlIO , boot_core_UNIVERSAL , boot_core_mro , cando , check_utf8_print , ck_anoncode , ck_backtick , ck_bitop , ck_cmp , ck_concat , ck_defined , ck_delete , ck_each , ck_entersub_args_core , ck_eof , ck_eval , ck_exec , ck_exists , ck_ftst , ck_fun , ck_glob , ck_grep , ck_index , ck_join , ck_length , ck_lfun , ck_listiob , ck_match , ck_method , ck_null , ck_open , ck_prototype , ck_readline , ck_refassign , ck_repeat , ck_require , ck_return , ck_rfun , ck_rvconst , ck_sassign , ck_select , ck_shift , ck_smartmatch , ck_sort , ck_spair , ck_split , ck_stringify , ck_subr , ck_substr , ck_svconst , ck_tell , ck_trunc , closest_cop , compute_EXACTish , coresub_op , create_eval_scope , croak_no_mem , croak_popstack , current_re_engine , custom_op_get_field , cv_ckproto_len_flags , cv_clone_into , cv_const_sv_or_av , cv_undef_flags , cvgv_from_hek , cvgv_set , cvstash_set , deb_stack_all , defelem_target , delete_eval_scope , die_unwind , do_aexec , do_aexec5 , do_eof , do_exec , do_exec3 , do_execfree , do_ipcctl , do_ipcget , do_msgrcv , do_msgsnd , do_ncmp , do_open6 , do_open_raw , do_print , do_readline , do_seek , do_semop , do_shmio , do_sysseek , do_tell , do_trans , do_vecget , do_vecset , do_vop , dofile , drand48_init_r , drand48_r , dump_all_perl , dump_packsubs_perl , dump_sub_perl , dump_sv_child , emulate_cop_io , feature_is_enabled , find_lexical_cv , find_runcv_where , find_rundefsv2 , find_script , free_tied_hv_pool , get_and_check_backslash_N_name , get_db_sub , get_debug_opts , get_hash_seed , get_invlist_iter_addr , get_invlist_offset_addr , get_invlist_previous_index_addr , get_no_modify , get_opargs , get_re_arg , getenv_len , grok_atoUV , grok_bslash_x , gv_fetchmeth_internal , gv_override , gv_setref , gv_stashpvn_internal , gv_stashsvpvn_cached , hfree_next_entry , hv_backreferences_p , hv_kill_backrefs , hv_placeholders_p , hv_undef_flags , init_argv_symbols , init_constants , init_dbargs , init_debugger , invert , invlist_array , invlist_clone , invlist_highest , invlist_is_iterating , invlist_iterfinish , invlist_iterinit , invlist_max , invlist_previous_index , invlist_set_len , invlist_set_previous_index , invlist_trim , io_close , is_utf8_common , isinfnansv , jmaybe , keyword , keyword_plugin_standard , list , localize , magic_clear_all_env , magic_cleararylen_p , magic_clearenv , magic_clearisa , magic_clearpack , magic_clearsig , magic_copycallchecker , magic_existspack , magic_freearylen_p , magic_freeovrld , magic_get , magic_getarylen , magic_getdebugvar , magic_getdefelem , magic_getnkeys , magic_getpack , magic_getpos , magic_getsig , magic_getsubstr , magic_gettaint , magic_getuvar , magic_getvec , magic_killbackrefs , magic_nextpack , magic_regdata_cnt , magic_regdatum_get , magic_regdatum_set , magic_scalarpack , magic_set , magic_set_all_env , magic_setarylen , magic_setcollxfrm , magic_setdbline , magic_setdebugvar , magic_setdefelem , magic_setenv , magic_setisa , magic_setlvref , magic_setmglob , magic_setnkeys , magic_setpack , magic_setpos , magic_setregexp , magic_setsig , magic_setsubstr , magic_settaint , magic_setutf8 , magic_setuvar , magic_setvec , magic_sizepack , magic_wipepack , malloc_good_size , malloced_size , mem_collxfrm , mem_log_alloc , mem_log_free , mem_log_realloc , mg_find_mglob , mode_from_discipline , more_bodies , mro_meta_dup , mro_meta_init , multideref_stringify , my_attrs , my_clearenv , my_lstat_flags , my_stat_flags , my_unexec , newATTRSUB_x , newGP , newMETHOP_internal , newSTUB , newSVavdefelem , newXS_deffile , newXS_len_flags , new_warnings_bitfield , nextargv , noperl_die , oopsAV , oopsHV , op_clear , op_integerize , op_lvalue_flags , op_refcnt_dec , op_refcnt_inc , op_relocate_sv , op_std_init , op_unscope , opmethod_stash , opslab_force_free , opslab_free , opslab_free_nopad , package , package_version , pad_add_weakref , padlist_store , padname_free , padnamelist_free , parse_subsignature , parse_unicode_opts , parser_free , parser_free_nexttoke_ops , path_is_searchable , peep , pmruntime , populate_isa , ptr_hash , qerror , re_op_compile , reg_named_buff , reg_named_buff_iter , reg_numbered_buff_fetch , reg_numbered_buff_length , reg_numbered_buff_store , reg_qr_package , reg_skipcomment , reg_temp_copy , regcurly , regpposixcc , regprop , report_evil_fh , report_redefined_cv , report_wrongway_fh , rpeep , rsignal_restore , rsignal_save , rxres_save , same_dirent , save_aliased_sv , save_strlen , sawparens , scalar , scalarvoid , set_caret_X , set_padlist , should_warn_nl , sighandler , softref2xv , ssc_add_range , ssc_clear_locale , ssc_cp_and , ssc_intersection , ssc_union , sub_crush_depth , sv_add_backref , sv_buf_to_ro , sv_del_backref , sv_free2 , sv_kill_backrefs , sv_len_utf8_nomg , sv_magicext_mglob , sv_mortalcopy_flags , sv_only_taint_gmagic , sv_or_pv_pos_u2b , sv_resetpvn , sv_sethek , sv_setsv_cow , sv_unglob , tied_method , tmps_grow_p , translate_substr_offsets , try_amagic_bin , try_amagic_un , unshare_hek , utilize , varname , vivify_defelem , vivify_ref , wait4pid , was_lvalue_sub , watch , win32_croak_not_implemented , write_to_stderr , xs_boot_epilog , xs_handshake , yyerror , yyerror_pv , yyerror_pvn , yylex , yyparse , yyunlex
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_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,...)
Check out the source repository, Ensure you're following the latest advice, Make your change, Test your change, Commit your change, Send your change to perlbug, Thank you, Next time
t/base, t/comp and t/opbasic, t/cmd, t/run, t/io and t/op, Everything else, 1), 2)
make test
targetstest_porting, minitest, test.valgrind check.valgrind, 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, PERL_TEST_Net_Ping, PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS, PERL_TEST_MEMORY
perlsource, perlinterp, perlhacktut, perlhacktips, perlguts, perlxstut and perlxs, perlapi, Porting/pumpkin.pod
lib/, ext/, dist/, cpan/
Module tests, t/base/, t/cmd/, t/comp/, t/io/, t/mro/, t/op/, t/opbasic/, t/re/, t/run/, t/uni/, t/win32/, t/porting/, t/lib/
check*, Maintainers, Maintainers.pl, and Maintainers.pm, podtidy
run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', ptype, print
experimental, deprecated, discouraged, removed
Programming Perl (the "Camel Book"):, The Perl Cookbook (the "Ram Book"):, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book")
Perl 5 Pocket Reference, Perl Debugger Pocket Reference, Regular Expression Pocket Reference
Beginning Perl, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book"), Mastering Perl, Effective Perl Programming
Writing Perl Modules for CPAN, The Perl Cookbook, Automating System Administration with Perl, Real World SQL Server Administration with Perl
Regular Expressions Cookbook, Programming the Perl DBI, Perl Best Practices, Higher-Order Perl, Mastering Regular Expressions, Network Programming with Perl, Perl Template Toolkit, Object Oriented Perl, Data Munging with Perl, Mastering Perl/Tk, Extending and Embedding Perl, Pro Perl Debugging
Programming Pearls, More Programming Pearls
http://perl.com/, http://blogs.perl.org/, http://perlsphere.net/, http://perlweekly.com/, http://use.perl.org/, http://www.perlmonks.org/, http://stackoverflow.com/, http://prepan.org/
-h, -D, -t, -u, -m module, -l, -F, -f perlfunc, -q perlfaq-search-regexp, -a perlapifunc, -v perlvar, -T, -d destination-filename, -o output-formatname, -M module-name, -w option:value or -w option, -X, -L language_code, PageName|ModuleName|ProgramName|URL, -n some-formatter, -r, -i, -V
Darwin, OS X/Darwin, ppc64el, Tru64
Darwin, OS X/Darwin, ppc64el, Tru64
IRIX
\b
boundaries in regular expressionsuse re 'strict'
use locale
can restrict which locale categories are affectedprototype
with no arguments:const
subroutine attributefileno
now works on directory handles&
and \&
prototypes accepts only subsuse encoding
is now lexical\N{}
with a sequence of multiple spaces is now a fatal erroruse UNIVERSAL '...'
is now a fatal error\cX
, X must now be a printable ASCII character(?
and (*
in regular expressions is now a fatal compilation error.qr/foo/x
now ignores all Unicode pattern white space(?[ ])
are now ended only by a \n
(?[...])
operators now follow standard Perl precedence%
and @
on hash and array names is no longer permitted"$!"
text is now in English outside the scope of use locale
"$!"
text will be returned in UTF-8 when appropriate?PATTERN?
without explicit operator has been removeddefined(@array)
and defined(%hash)
are now fatal errors*
prototype${^ENCODING}
to anything but undef
sub () { $var }
with observable side-effects/x
regexp modifiers\N{...}
is now deprecated"{"
should now be escaped in a patternWin32
Android, OpenBSD, Solaris, VMS, Windows
sub
s now take a prototype
attributerand
now uses a consistent random number generator\p{Unicode}
regular expression pattern propertyuse locale
now works on UTF-8 localesuse locale
now compiles on systems without locale ability-DL
runtime option now added for tracing locale settingdo
can no longer be used to call subroutines\p{}
, \P{}
matching has changed for non-Unicode code points.\p{All}
has been expanded to match all possible code pointsuse locale
scopePerlIO_vsprintf
and PerlIO_sprintf
have been removed/\C/
character class$/
CGI and its associated CGI:: packages, inc::latest, Package::Constants, Module::Build and its associated Module::Build:: packages
Win32
AIX, MidnightBSD
${^LAST_FH}
kill
with negative signal names\N{...}
is now a syntax error\N{}
character name aliases are now errors.\N{BELL}
now refers to U+1F514 instead of U+0007/(?{})/
and /(??{})/
have been heavily reworkedgiven
now aliases the global $_
$_
is now experimental$/ = \N
now reads N characters, not N bytesglob
is now passed one argumentstate sub
and our sub
require
dies for unreadable filesgv_fetchmeth_*
and SUPERsplit
's first argument is more consistently interpretedencoding, Archive::Extract, B::Lint, B::Lint::Debug, CPANPLUS and all included CPANPLUS::*
modules, Devel::InnerPackage, Log::Message, Log::Message::Config, Log::Message::Handlers, Log::Message::Item, Log::Message::Simple, Module::Pluggable, Module::Pluggable::Object, Object::Accessor, Pod::LaTeX, Term::UI, Term::UI::History
/x
(?
and (*
in regular expressionsDG/UX, NeXT
configuration should no longer be confused by ls colorization
AIX
fix /\h/ equivalence with /[\h]/
VMS
overloading
pragma and regexp objectsxfork()
, xclose_on_exec()
and xpipe_anon()
$$
no longer caches PID$$
and getppid()
no longer emulate POSIX semantics under LinuxThreads$<
, $>
, $(
and $)
are no longer cachedquotemeta
and \Q
has changedstat
given
and when
glob
operatorsort
operatorsubstr
operatorPL_*
accessor functions under ithreads@_
uses less memory%+
and %-
use less memorymuch less configuration dialog hassle, support for META/MYMETA.json, support for local::lib, support for HTTP::Tiny to reduce the dependency on FTP sites, automatic mirror selection, iron out all known bugs in configure_requires, support for distributions compressed with bzip2(1), allow Foo/Bar.pm on the command line to mean Foo::Bar
, charinfo(), charscript(), charblock()
Closure prototype called, Insecure user-defined property %s, panic: gp_free failed to free glob pointer - something is repeatedly re-creating entries, Parsing code internal error (%s), refcnt: fd %d%s, Regexp modifier "/%c" may not appear twice, Regexp modifiers "/%c" and "/%c" are mutually exclusive, Using !~ with %s doesn't make sense, "\b{" is deprecated; use "\b\{" instead, "\B{" is deprecated; use "\B\{" instead, Operation "%s" returns its argument for .., Use of qw(...) as parentheses is deprecated
Aliasing packages by assigning to globs [perl #77358], Deleting packages by deleting their containing stash elements, Undefining the glob containing a package (undef *Foo::
), Undefining an ISA glob (undef *Foo::ISA
), Deleting an ISA stash element (delete $Foo::{ISA}
), Sharing @ISA arrays between classes (via *Foo::ISA = \@Bar::ISA
or *Foo::ISA = *Bar::ISA
) [perl #77238]
Mac OS X, NetBSD
@_
Linux
keys
, values
work on arraysSolaris, VMS, VOS
package NAME VERSION
syntax...
operator\N
experimental regex escapeconfigure_requires
in CPAN module metadataeach
, keys
, values
are now more flexiblewhen
as a statement modifier$,
flexibilitydelete local
suidperl, Use of :=
to mean an empty attribute list, UNIVERSAL->import()
, Use of "goto" to jump into a construct, Custom character names in \N{name} that don't look like names, Deprecated Modules, Class::ISA, Pod::Plainer, Shell, Switch, Assignment to $[, Use of the attribute :locked on subroutines, Use of "locked" with the attributes pragma, Use of "unique" with the attributes pragma, Perl_pmflag, Numerous Perl 4-era libraries
autodie
, Compress::Raw::Bzip2
, overloading
, parent
, Parse::CPAN::Meta
, VMS::DCLsym
, VMS::Stdio
, XS::APItest::KeywordRPN
base
, bignum
, charnames
, constant
, diagnostics
, feature
, less
, lib
, mro
, overload
, threads
, threads::shared
, version
, warnings
Archive::Extract
, Archive::Tar
, Attribute::Handlers
, AutoLoader
, B::Concise
, B::Debug
, B::Deparse
, B::Lint
, CGI
, Class::ISA
, Compress::Raw::Zlib
, CPAN
, CPANPLUS
, CPANPLUS::Dist::Build
, Data::Dumper
, DB_File
, Devel::PPPort
, Digest
, Digest::MD5
, Digest::SHA
, Encode
, Exporter
, ExtUtils::CBuilder
, ExtUtils::Command
, ExtUtils::Constant
, ExtUtils::Install
, ExtUtils::MakeMaker
, ExtUtils::Manifest
, ExtUtils::ParseXS
, File::Fetch
, File::Path
, File::Temp
, Filter::Simple
, Filter::Util::Call
, Getopt::Long
, IO
, IO::Zlib
, IPC::Cmd
, IPC::SysV
, Locale::Maketext
, Locale::Maketext::Simple
, Log::Message
, Log::Message::Simple
, Math::BigInt
, Math::BigInt::FastCalc
, Math::BigRat
, Math::Complex
, Memoize
, MIME::Base64
, Module::Build
, Module::CoreList
, Module::Load
, Module::Load::Conditional
, Module::Loaded
, Module::Pluggable
, Net::Ping
, NEXT
, Object::Accessor
, Package::Constants
, PerlIO
, Pod::Parser
, Pod::Perldoc
, Pod::Plainer
, Pod::Simple
, Safe
, SelfLoader
, Storable
, Switch
, Sys::Syslog
, Term::ANSIColor
, Term::UI
, Test
, Test::Harness
, Test::Simple
, Text::Balanced
, Text::ParseWords
, Text::Soundex
, Thread::Queue
, Thread::Semaphore
, Tie::RefHash
, Time::HiRes
, Time::Local
, Time::Piece
, Unicode::Collate
, Unicode::Normalize
, Win32
, Win32API::File
, XSLoader
attrs
, CPAN::API::HOWTO
, CPAN::DeferedCode
, CPANPLUS::inc
, DCLsym
, ExtUtils::MakeMaker::bytes
, ExtUtils::MakeMaker::vmsish
, Stdio
, Test::Harness::Assert
, Test::Harness::Iterator
, Test::Harness::Point
, Test::Harness::Results
, Test::Harness::Straps
, Test::Harness::Util
, XSSymSet
autodie
, Compress::Raw::Bzip2
, parent
, Parse::CPAN::Meta
attributes
, attrs
, base
, bigint
, bignum
, bigrat
, charnames
, constant
, feature
, fields
, lib
, open
, overload
, overloading
, version
Archive::Extract
, Archive::Tar
, Attribute::Handlers
, AutoLoader
, AutoSplit
, B
, B::Debug
, B::Deparse
, B::Lint
, B::Xref
, Benchmark
, Carp
, CGI
, Compress::Zlib
, CPAN
, CPANPLUS
, CPANPLUS::Dist::Build
, Cwd
, Data::Dumper
, DB
, DB_File
, Devel::PPPort
, Digest::MD5
, Digest::SHA
, DirHandle
, Dumpvalue
, DynaLoader
, Encode
, Errno
, Exporter
, ExtUtils::CBuilder
, ExtUtils::Command
, ExtUtils::Constant
, ExtUtils::Embed
, ExtUtils::Install
, ExtUtils::MakeMaker
, ExtUtils::Manifest
, ExtUtils::ParseXS
, Fatal
, File::Basename
, File::Compare
, File::Copy
, File::Fetch
, File::Find
, File::Path
, File::Spec
, File::stat
, File::Temp
, FileCache
, FileHandle
, Filter::Simple
, Filter::Util::Call
, FindBin
, GDBM_File
, Getopt::Long
, Hash::Util::FieldHash
, I18N::Collate
, IO
, IO::Compress::*
, IO::Dir
, IO::Handle
, IO::Socket
, IO::Zlib
, IPC::Cmd
, IPC::Open3
, IPC::SysV
, lib
, List::Util
, Locale::MakeText
, Log::Message
, Math::BigFloat
, Math::BigInt
, Math::BigInt::FastCalc
, Math::BigRat
, Math::Complex
, Math::Trig
, Memoize
, Module::Build
, Module::CoreList
, Module::Load
, Module::Load::Conditional
, Module::Loaded
, Module::Pluggable
, NDBM_File
, Net::Ping
, NEXT
, Object::Accessor
, OS2::REXX
, Package::Constants
, PerlIO
, PerlIO::via
, Pod::Man
, Pod::Parser
, Pod::Simple
, Pod::Text
, POSIX
, Safe
, Scalar::Util
, SelectSaver
, SelfLoader
, Socket
, Storable
, Switch
, Symbol
, Sys::Syslog
, Term::ANSIColor
, Term::ReadLine
, Term::UI
, Test::Harness
, Test::Simple
, Text::ParseWords
, Text::Tabs
, Text::Wrap
, Thread::Queue
, Thread::Semaphore
, threads
, threads::shared
, Tie::RefHash
, Tie::StdHandle
, Time::HiRes
, Time::Local
, Time::Piece
, Unicode::Normalize
, Unicode::UCD
, UNIVERSAL
, Win32
, Win32API::File
, XSLoader
h2ph, h2xs, perl5db.pl, perlthanks
panic: sv_chop %s
, Can't locate package %s for the parents of %s
, v-string in use/require is non-portable
, Deep recursion on subroutine "%s"
SVf_UTF8
, SVs_TEMP
t/comp/retainedlines.t, t/io/perlio_fail.t, t/io/perlio_leaks.t, t/io/perlio_open.t, t/io/perlio.t, t/io/pvbm.t, t/mro/package_aliases.t, t/op/dbm.t, t/op/index_thr.t, t/op/pat_thr.t, t/op/qr_gc.t, t/op/reg_email_thr.t, t/op/regexp_qr_embed_thr.t, t/op/regexp_unicode_prop.t, t/op/regexp_unicode_prop_thr.t, t/op/reg_nc_tie.t, t/op/reg_posixcc.t, t/op/re.t, t/op/setpgrpstack.t, t/op/substr_thr.t, t/op/upgrade.t, t/uni/lex_utf8.t, t/uni/tie.t
feature
pragmaRecursive Patterns, Named Capture Buffers, Possessive Quantifiers, Backtracking control verbs, Relative backreferences, \K
escape, Vertical and horizontal whitespace, and linebreak, Optional pre-match and post-match captures with the /p flag
say()
$_
_
prototypemro
no VERSION
chdir
, chmod
and chown
on filehandles${^RE_DEBUG_FLAGS}
, ${^CHILD_ERROR_NATIVE}
, ${^RE_TRIE_MAXBUF}
, ${^WIN32_SLOPPY_STAT}
$*
and $#
variables have been removed-f _
:unique
version
object instead of a v-string(?p{})
has been removedperl -d, ptar, ptardiff, shasum, corelist, h2ph and h2xs, perlivp, find2perl, config_data, cpanp, cpan2dist, pod2html
PERL_DONT_CREATE_GVSV
Engine de-recursivised, Single char char-classes treated as literals, Trie optimisation of literal string alternations, Aho-Corasick start-point optimisation
-Dusesitecustomize
, Relocatable installations, strlcat() and strlcpy(), d_pseudofork
and d_printf_format_null
, Configure help
Parallel build, Borland's compilers support, Static build on Windows, ppport.h files, C++ compatibility, Support for Microsoft 64-bit compiler, Visual C++, Win32 builds
Module auxiliary files
strictures in regexp-eval blocks, Calling CORE::require(), Subscripts of slices, no warnings 'category'
works correctly with -w, threads improvements, chr() and negative values, PERL5SHELL and tainting, Using *FILE{IO}, Overloading and reblessing, Overloading and UTF-8, eval memory leaks fixed, Random device on Windows, PERLIO_DEBUG, PerlIO::scalar and read-only scalars, study() and UTF-8, Critical signals, @INC-hook fix, -t
switch fix, Duping UTF-8 filehandles, Localisation of hash elements
Use of uninitialized value, Deprecated use of my() in false conditional, !=~ should be !~, Newline in left-justified string, Too late for "-T" option, "%s" variable %s masks earlier declaration, readdir()/closedir()/etc. attempted on invalid dirhandle, Opening dirhandle/filehandle %s also as a file/directory, Use of -P is deprecated, v-string in use/require is non-portable, perl -V
no VERSION
${^CHILD_ERROR_NATIVE}
, ${^UTF8CACHE}
readpipe
is now overridableext/DynaLoader/t/DynaLoader.t, t/comp/fold.t, t/io/pvbm.t, t/lib/proxy_constant_subs.t, t/op/attrhand.t, t/op/dbm.t, t/op/inccode-tie.t, t/op/incfilter.t, t/op/kill0.t, t/op/qrstack.t, t/op/qr.t, t/op/regexp_qr_embed.t, t/op/regexp_qr.t, t/op/rxcode.t, t/op/studytied.t, t/op/substT.t, t/op/symbolcache.t, t/op/upgrade.t, t/mro/package_aliases.t, t/pod/twice.t, t/run/cloexec.t, t/uni/cache.t, t/uni/chr.t, t/uni/greek.t, t/uni/latin2.t, t/uni/overload.t, t/uni/tie.t
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-timeuse 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
allowedqw//
operator-T
filetest recognizes UTF-8 encoded files as "text"require
and do
may be overridden-c
switchattributes, 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
allowedqw//
operator-T
filetest recognizes UTF-8 encoded files as "text"require
and do
may be overridden-c
switchattributes, 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 moduleEXPR foreach EXPR
is supported$^E
is meaningful on Win32foreach (1..1000000)
optimizedFoo::
can be used as implicitly quoted package nameexists $Foo::{Bar::}
tests existence of a packageprintf
format conversions are handled internallyINIT
keywordlock
keywordqr//
operatorour
is now a reserved wordAmbiguous 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 undefeval EXPR
determines value of EXPR in scalar contextNo 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
our
can now have an experimental optional attribute unique
, Smart match (~~
), Lexical $_
, Pluggable keywords, Array and hash container functions accept references, Lexical subroutines, Regular Expression Set Operations, Subroutine signatures, Postfix dereference syntax, Aliasing via reference, The "const" attribute, use re 'strict';, String- and number-specific bitwise operators, The <:win32> IO pseudolayer, There is an installhtml
target in the Makefile, Unicode in Perl on EBCDIC
64-bit support, die accepts a reference, DB module, Weak references, Internal file glob, fork() emulation, -Dusemultiplicity -Duseithreads, Support for long doubles, The \N
regex character class, (?{code})
and (??{ code })
, Linux abstract Unix domain sockets, Lvalue subroutines, Backtracking control verbs, The <:pop> IO pseudolayer, \s
in regexp matches vertical tab
5.005-style threading, perlcc, The pseudo-hash data type, GetOpt::Long Options can now take multiple values at once (experimental), Assertions, Test::Harness::Straps, legacy
Microsoft Embedded Visual Tools, Microsoft Visual C++, Rainer Keuchel's celib-sources, Rainer Keuchel's console-sources, go to ./win32 subdirectory, edit file ./win32/ce-helpers/compile.bat, run compile.bat, run compile.bat dist
Rainer Keuchel <coyxc@rainer-keuchel.de>, Vadim Konovalov, Daniel Dragan
-lcrypt
, -lgdbm_compat
(use GDBM_File
), -ldb
(use DB_File
), cygserver
(use IPC::SysV
), -lutil
-Uusedl
, -Dusemymalloc
, -Uuseperlio
, -Dusemultiplicity
, -Uuse64bitint
, -Duselongdouble
, -Uuseithreads
, -Duselargefiles
, -Dmksymlinks
Win9x and d_eofnblk
, Compiler/Preprocessor defines
Pathnames, Text/Binary, PerlIO, .exe, Cygwin vs. Windows process ids, Cygwin vs. Windows errors, rebase errors on fork or system, chown()
, Miscellaneous
Cwd::cwd
, Cygwin::pid_to_winpid
, Cygwin::winpid_to_pid
, Cygwin::win_to_posix_path
, Cygwin::posix_to_win_path
, Cygwin::mount_table()
, Cygwin::mount_flags
, Cygwin::is_binmount
, Cygwin::sync_winenv
Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests
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 lineFile::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, die, 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, $?, $|
http://mingw.org, http://mingw-w64.org
Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2008-2013 Express Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, MinGW release 3 with gcc, Intel C++ Compiler
Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, 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.m.hay@googlemail.com>
:void cannot be used with lexical scope, No user hints defined for %s
Attempts to set_hints_for unidentifiable subroutine, fail hints cannot be provided with either scalar or list hints for %s, %s hint missing for %s
Base class package "%s" is empty, Class 'Foo' tried to inherit from itself
Operator vs literal overloading, ranges, in_effect(), hex()/oct()
Operator vs literal overloading, in_effect(), hex()/oct()