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
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, Codewright, MultiEdit, SlickEdit, ConTEXT, Bash, Ksh, Tcsh, Zsh, Affrus, Alpha, BBEdit and BBEdit Lite
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
A sigil, followed solely by digits matching \p{POSIX_Digit}, like $0
, $1
, or $10000
, A sigil, followed by either a caret and a single POSIX uppercase letter, like $^V
or $^W
, or a sigil followed by a literal control character matching the \p{POSIX_Cntrl}
property. Due to a historical oddity, if not running under use utf8
, the 128 extra controls in the [0x80-0xff]
range may also be used in length one variables, Similar to the above, a sigil, followed by bareword text in brackets, where the first character is either a caret followed by an uppercase letter, or a literal control, like ${^GLOBAL_PHASE}
or ${\7LOBAL_PHASE}
, A sigil followed by a single character matching the \p{POSIX_Punct}
property, like $!
or %+
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/msixpodual , m/PATTERN/msixpodualgc , /PATTERN/msixpodualgc, The empty pattern //, Matching in list context, \G assertion, m?PATTERN?msixpodualgc , ?PATTERN?msixpodualgc, s/PATTERN/REPLACEMENT/msixpodualgcer
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
Lvalue subroutines are EXPERIMENTAL
Functions for SCALARs or strings , Regular expressions and pattern matching , Numeric functions , Functions for real @ARRAYs , Functions for list data , Functions for real %HASHes , Input and output functions , Functions for fixed-length data or records, Functions for filehandles, files, or directories , Keywords related to the control flow of your Perl program , Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups , Keywords related to Perl modules , Keywords related to classes and object-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 SUBROUTINE(LIST) , 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
(but not use locale ':not_characters'
) 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 EXPR , my TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : 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 EXPR , our TYPE EXPR, our EXPR : ATTRS, our TYPE EXPR : 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 , 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 or EXPR,OFFSET,LENGTH,LIST , splice ARRAY or EXPR,OFFSET,LENGTH, splice ARRAY or EXPR,OFFSET, splice ARRAY or 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 EXPR , state TYPE EXPR, state EXPR : ATTRS, state TYPE EXPR : 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, if, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elseif, elsif, for, foreach, unless, until, while, default, given, when
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 , $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, ${^TAINT} , ${^UNICODE} , ${^UTF8CACHE} , ${^UTF8LOCALE}
$OFMT, $# , $* , $ARRAY_BASE, $[ , $OLD_PERL_VERSION, $]
m , s , i , x , p , g and c , a, d, l and u
[1], [2], [3], [4], [5], [6], [7], [8]
(?#text)
, (?adlupimsx-imsx)
, (?^alupimsx)
, (?:pattern)
, (?adluimsx-imsx:pattern)
, (?^aluimsx: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 .., 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, 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, 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
Atari MiNT, Apollo Domain/OS, Apple Mac OS 8/9, Tenon Machten, Windows 95, Windows 98, Windows ME, Windows NT4
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
Under use locale ':not_characters';
, Under just plain use locale;
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, use utf8
still needed to enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts autodetected, use encoding
needed to upgrade non-Latin-1 byte strings
\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{VertSpace}
, \p{Word}
, \p{XPosix...}
[1], [2], [3], [4], [5], Regular expression look-ahead, CPAN module Unicode::Regex::Set, "User-Defined Character Properties", [6], [7], [8], [9], [10]
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, * is a wild-card, (\d+) in the info column gives the number of code points matched by this property, D means this is deprecated, O means this is obsolete, S means this is stabilized, T means tighter (stricter) name matching applies, X means use of this form is discouraged, and may not be stable
\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}, \p{Joining_Type=Left_Joining}
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, auxiliary/SBTest.txt, auxiliary/WBTest.txt, BidiTest.txt, NormTest.txt, CJKRadicals.txt, EmojiSources.txt, Index.txt, IndicMatraCategory.txt, IndicSyllabicCategory.txt, NamedSqProv.txt, NamesList.txt, NormalizationCorrections.txt, Props.txt, ReadMe.txt, StandardizedVariants.txt, USourceData.pdf, USourceData.txt
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
arybase, attributes, autodie, autodie::exception, autodie::exception::system, autodie::hints, autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant, deprecate, diagnostics, encoding, encoding::warnings, feature, fields, filetest, if, inc::latest, integer, less, lib, locale, mro, open, ops, overload, overloading, parent, perldoc, perlfaq, perlfaq1, perlfaq2, perlfaq3, perlfaq4, perlfaq5, perlfaq6, perlfaq7, perlfaq8, perlfaq9, perlfunc, perlglossary, perlpodspeccopy, perlvarcopy, perlxs, perlxstut, perlxstypemap, re, sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, vmsish, warnings, warnings::register
AnyDBM_File, App::Cpan, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Extract, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Debug, B::Deparse, B::Lint, B::Lint::Debug, B::Showlex, B::Terse, B::Xref, Benchmark, Socket
, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, 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::Prereqs, CPAN::Meta::Requirements, CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox, CPAN::Queue, CPAN::Tarzip, CPAN::Version, CPANPLUS, CPANPLUS::Backend, CPANPLUS::Backend::RV, CPANPLUS::Config, CPANPLUS::Config::HomeEnv, CPANPLUS::Configure, CPANPLUS::Dist, CPANPLUS::Dist::Autobundle, CPANPLUS::Dist::Base, CPANPLUS::Dist::Build, CPANPLUS::Dist::Build::Constants, CPANPLUS::Dist::MM, CPANPLUS::Dist::Sample, CPANPLUS::Error, CPANPLUS::FAQ, CPANPLUS::Hacking, CPANPLUS::Internals, CPANPLUS::Internals::Extract, CPANPLUS::Internals::Fetch, CPANPLUS::Internals::Report, CPANPLUS::Internals::Search, CPANPLUS::Internals::Source, CPANPLUS::Internals::Source::Memory, CPANPLUS::Internals::Source::SQLite, CPANPLUS::Internals::Utils, CPANPLUS::Module, CPANPLUS::Module::Author, CPANPLUS::Module::Author::Fake, CPANPLUS::Module::Checksums, CPANPLUS::Module::Fake, CPANPLUS::Selfupdate, CPANPLUS::Shell, CPANPLUS::Shell::Classic, CPANPLUS::Shell::Default, CPANPLUS::Shell::Default::Plugins::CustomSource, CPANPLUS::Shell::Default::Plugins::HOWTO, CPANPLUS::Shell::Default::Plugins::Remote, CPANPLUS::Shell::Default::Plugins::Source, 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::InnerPackage, 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::Tutorial, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, 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::CheckTree, 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::Country_Codes, Locale::Codes::Country_Retired, Locale::Codes::Currency, Locale::Codes::Currency_Codes, Locale::Codes::Currency_Retired, Locale::Codes::LangExt, Locale::Codes::LangExt_Codes, Locale::Codes::LangExt_Retired, Locale::Codes::LangFam, Locale::Codes::LangFam_Codes, Locale::Codes::LangFam_Retired, Locale::Codes::LangVar, Locale::Codes::LangVar_Codes, Locale::Codes::LangVar_Retired, Locale::Codes::Language, Locale::Codes::Language_Codes, Locale::Codes::Language_Retired, Locale::Codes::Script, Locale::Codes::Script_Codes, Locale::Codes::Script_Retired, 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, Log::Message, Log::Message::Config, Log::Message::Handlers, Log::Message::Item, Log::Message::Simple, 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::Build, Module::Build::API, Module::Build::Authoring, Module::Build::Base, Module::Build::Bundling, Module::Build::Compat, Module::Build::ConfigData, Module::Build::Cookbook, Module::Build::ModuleInfo, Module::Build::Notes, Module::Build::PPMMaker, Module::Build::Platform::Amiga, Module::Build::Platform::Default, Module::Build::Platform::EBCDIC, Module::Build::Platform::MPEiX, Module::Build::Platform::MacOS, Module::Build::Platform::RiscOS, Module::Build::Platform::Unix, Module::Build::Platform::VMS, Module::Build::Platform::VOS, Module::Build::Platform::Windows, Module::Build::Platform::aix, Module::Build::Platform::cygwin, Module::Build::Platform::darwin, Module::Build::Platform::os2, Module::Build::Version, Module::Build::YAML, Module::CoreList, Module::CoreList::Utils, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata, Module::Pluggable, Module::Pluggable::Object, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O, ODBM_File, Object::Accessor, Opcode, POSIX, Package::Constants, Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO, PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Escapes, Pod::Functions, Pod::Html, Pod::LaTeX, Pod::Man, Pod::ParseLink, 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::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, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Storable, 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::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::Utils, TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Term::UI, Term::UI::History, Test, Test::Builder, Test::Builder::Module, Test::Builder::Tester, Test::Builder::Tester::Color, Test::Harness, Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Soundex, 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::Stdio, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader, 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)
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, screamer, 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
call_argv , call_method , call_pv , call_sv , ENTER , eval_pv , eval_sv , FREETMPS , LEAVE , SAVETMPS
toLOWER , toUPPER
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 , XopENTRY_set , XopFLAGS
CvSTASH , get_cv , get_cvn_flags
cv_clone , cv_undef , find_rundefsv , find_rundefsvoffset , load_module , nothreadhook , pad_add_anon , pad_add_name_pv , pad_add_name_pvn , pad_add_name_sv , pad_alloc , pad_compname_type , 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
pv_display , pv_escape , pv_pretty
custom_op_desc , custom_op_name , gv_fetchmethod , pack_cat , 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
alloccopstash , op_contextualize
PERL_SYS_INIT , PERL_SYS_INIT3 , PERL_SYS_TERM
caller_cx , find_runcv
packlist , unpackstring
setdefout
ibcmp_utf8
ibcmp , ibcmp_locale
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
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
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
fbm_compile , fbm_instr , foldEQ , foldEQ_locale , form , getcwd_sv , mess , mess_sv , my_snprintf , my_sprintf , my_vsnprintf , new_version , prescan_version , READ_XDIGIT , scan_version , strEQ , strGE , strGT , strLE , strLT , strNE , strnEQ , strnNE , sv_destroyable , sv_nosharing , upg_version , vcmp , vmess , vnormal , vnumify , vstringify , vverify
mro_get_linear_isa , mro_method_changed_in , mro_register
dMULTICALL , MULTICALL , POP_MULTICALL , PUSH_MULTICALL
grok_bin , grok_hex , grok_number , grok_numeric_radix , grok_oct , Perl_signbit , scan_bin , scan_hex , scan_oct
newASSIGNOP , newBINOP , newCONDOP , newFOROP , newGIVENOP , newGVOP , newLISTOP , newLOGOP , newLOOPEX , newLOOPOP , newNULLLIST , newOP , newPADOP , newPMOP , newPVOP , newRANGE , newSLICEOP , newSTATEOP , newSVOP , newUNOP , newWHENOP , newWHILEOP
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 , LINKLIST , newCONSTSUB , newCONSTSUB_flags , newXS , op_append_elem , op_append_list , OP_CLASS , OP_DESC , op_linklist , op_lvalue , OP_NAME , op_prepend_elem , op_scope , rv2cv_op_cv
CvPADLIST , PadARRAY , PadlistARRAY , PadlistMAX , PadlistNAMES , PadlistNAMESARRAY , PadlistNAMESMAX , PadlistREFCNT , PadMAX , PadnameLEN , PadnamelistARRAY , PadnamelistMAX , PadnamePV , 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
dXCPT , XCPT_CATCH , XCPT_RETHROW , XCPT_TRY_END , XCPT_TRY_START
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_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_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_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_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 , foldEQ_utf8 , is_ascii_string , is_utf8_char , is_utf8_char_buf , 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 , utf8_distance , utf8_hop , utf8_length , utf8_to_bytes , utf8_to_uvchr , utf8_to_uvchr_buf , utf8_to_uvuni , utf8_to_uvuni_buf , uvchr_to_utf8 , uvuni_to_utf8_flags
xsubpp
and xsubpp
internal functionsax , CLASS , dAX , dAXMARK , dITEMS , dUNDERBAR , dXSARGS , dXSI32 , items , ix , newXSproto , RETVAL , ST , THIS , UNDERBAR , XS , XS_APIVERSION_BOOTCHECK , XS_EXTERNAL , XS_INTERNAL , XS_VERSION , XS_VERSION_BOOTCHECK
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_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_all , dump_eval , dump_fds , dump_form , dump_indent , dump_mstats , dump_packsubs , 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_p , hv_placeholders_set , hv_rand_set , hv_riter_p , hv_riter_set , init_global_struct , init_i18nl10n , init_i18nl14n , 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_htonl , my_lstat , my_memcmp , my_memset , my_ntohl , my_pclose , my_popen , my_popen_list , my_setenv , my_socketpair , my_stat , my_strftime , my_strlcat , my_strlcpy , my_swap , newANONATTRSUB , newANONHASH , newANONLIST , newANONSUB , newATTRSUB , newAVREF , newCVREF , newFORM , newGVREF , newGVgen , newGVgen_flags , newHVREF , newHVhv , newIO , newMYSUB , newPROG , newRV , newSUB , newSVREF , newSVpvf_nocontext , new_collate , new_ctype , new_numeric , new_stackinfo , ninstr , op_dump , op_free , op_null , 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_clear , 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 , screaminstr , 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_dump , sv_dup , sv_dup_inc , sv_peek , sv_pvn_nomg , sv_setpvf_mg_nocontext , sv_setpvf_nocontext , sv_utf8_upgrade_flags_grow , swash_fetch , swash_init , sys_init , sys_init3 , sys_intern_clear , sys_intern_dup , sys_intern_init , sys_term , taint_env , taint_proper , tmps_grow , unlnk , unsharepvn , utf16_to_utf8 , utf16_to_utf8_reversed , uvchr_to_utf8_flags , 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
CvWEAKOUTSIDE
cv_dump , cv_forget_slab , do_dump_pad , intro_my , padlist_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
core_prototype
docatch
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
magic_clearhint , magic_clearhints , magic_methcall , magic_sethint , mg_localize
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_peg , 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
Perl_croak_memory_wrap , Slab_Alloc , Slab_Free , Slab_to_ro , Slab_to_rw , _add_range_to_invlist , _core_swash_init , _get_invlist_len_addr , _get_swash_invlist , _invlist_array_init , _invlist_contains_cp , _invlist_contents , _invlist_intersection , _invlist_intersection_maybe_complement_2nd , _invlist_invert , _invlist_invert_prop , _invlist_len , _invlist_populate_swatch , _invlist_search , _invlist_subtract , _invlist_union , _invlist_union_maybe_complement_2nd , _new_invlist , _swash_inversion_hash , _swash_to_invlist , _to_fold_latin1 , _to_upper_title_latin1 , aassign_common_vars , add_cp_to_invlist , addmad , alloc_maybe_populate_EXACT , allocmy , amagic_is_enabled , append_madprops , apply , av_extend_guts , av_reify , bind_match , block_end , block_start , boot_core_PerlIO , boot_core_UNIVERSAL , boot_core_mro , cando , check_utf8_print , ck_entersub_args_core , compute_EXACTish , convert , coresub_op , create_eval_scope , croak_no_mem , croak_popstack , current_re_engine , cv_ckproto_len_flags , cv_clone_into , cvgv_set , cvstash_set , deb_stack_all , 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_op_xmldump , do_pmop_xmldump , do_print , do_readline , do_seek , do_semop , do_shmio , do_sysseek , do_tell , do_trans , do_vecget , do_vecset , do_vop , dofile , 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_previous_index_addr , get_invlist_version_id_addr , get_invlist_zero_addr , get_no_modify , get_opargs , get_re_arg , getenv_len , grok_bslash_x , hfree_next_entry , hv_backreferences_p , hv_kill_backrefs , 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 , isALNUM_lazy , isIDFIRST_lazy , is_utf8_char_slow , is_utf8_common , jmaybe , keyword , keyword_plugin_standard , list , localize , mad_free , madlex , madparse , 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_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_setdefelem , magic_setenv , magic_setisa , 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 , mode_from_discipline , more_bodies , mro_meta_dup , mro_meta_init , my_attrs , my_betoh16 , my_betoh32 , my_betoh64 , my_betohi , my_betohl , my_betohs , my_clearenv , my_htobe16 , my_htobe32 , my_htobe64 , my_htobei , my_htobel , my_htobes , my_htole16 , my_htole32 , my_htole64 , my_htolei , my_htolel , my_htoles , my_letoh16 , my_letoh32 , my_letoh64 , my_letohi , my_letohl , my_letohs , my_lstat_flags , my_stat_flags , my_swabn , my_unexec , newATTRSUB_flags , newGP , newMADPROP , newMADsv , newSTUB , newTOKEN , newXS_len_flags , new_warnings_bitfield , nextargv , oopsAV , oopsHV , op_clear , op_const_sv , op_getmad , op_getmad_weak , op_integerize , op_lvalue_flags , op_refcnt_dec , op_refcnt_inc , op_std_init , op_unscope , op_xmldump , opslab_force_free , opslab_free , opslab_free_nopad , package , package_version , padlist_store , parse_unicode_opts , parser_free , parser_free_nexttoke_ops , peep , pmop_xmldump , pmruntime , populate_isa , prepend_madprops , 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_temp_copy , regcurly , regpposixcc , regprop , report_evil_fh , report_redefined_cv , report_wrongway_fh , rpeep , rsignal_restore , rsignal_save , rxres_save , same_dirent , sawparens , scalar , scalarvoid , sighandler , softref2xv , sub_crush_depth , sv_add_backref , sv_catxmlpv , sv_catxmlpvn , sv_catxmlsv , sv_del_backref , sv_free2 , sv_kill_backrefs , sv_len_utf8_nomg , sv_mortalcopy_flags , sv_resetpvn , sv_sethek , sv_setsv_cow , sv_unglob , sv_xmlpeek , tied_method , token_free , token_getmad , 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 , xmldump_all , xmldump_all_perl , xmldump_eval , xmldump_form , xmldump_indent , xmldump_packsubs , xmldump_packsubs_perl , xmldump_sub , xmldump_sub_perl , xmldump_vindent , xs_apiversion_bootcheck , xs_version_bootcheck , 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_SFIO, 3. USE_PERLIO, PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr(), PerlIO_open(path, mode), PerlIO_fdopen(fd,mode), PerlIO_reopen(path,mode,f), PerlIO_printf(f,fmt,...), PerlIO_vprintf(f,fmt,a), PerlIO_stdoutf(fmt,...), PerlIO_read(f,buf,count), PerlIO_write(f,buf,count), PerlIO_close(f), PerlIO_puts(f,s), PerlIO_putc(f,c), PerlIO_ungetc(f,c), PerlIO_getc(f), PerlIO_eof(f), PerlIO_error(f), PerlIO_fileno(f), PerlIO_clearerr(f), PerlIO_flush(f), PerlIO_seek(f,offset,whence), PerlIO_tell(f), PerlIO_getpos(f,p), PerlIO_setpos(f,p), PerlIO_rewind(f), PerlIO_tmpfile(), PerlIO_setlinebuf(f)
PerlIO_importFILE(f,mode), PerlIO_exportFILE(f,mode), PerlIO_releaseFILE(p,f), PerlIO_findFILE(f)
PerlIO_fast_gets(f), PerlIO_has_cntptr(f), PerlIO_get_cnt(f), PerlIO_get_ptr(f), PerlIO_set_ptrcnt(f,p,c), PerlIO_canset_cnt(f), PerlIO_set_cnt(f,c), PerlIO_has_base(f), PerlIO_get_base(f), PerlIO_get_bufsiz(f)
PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), '<' read, '>' write, '+' read/write, PerlIO_debug(fmt,...)
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
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/, t/x2p
check*, Maintainers, Maintainers.pl, and Maintainers.pm, podtidy
-Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity, DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
-Dcc=clang, -Accflags=-faddress-sanitizer, -Aldflags=-faddress-sanitizer, -Alddlflags=-shared\ -faddress-sanitizer
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, 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://use.perl.org/, http://www.perlmonks.org/, http://stackoverflow.com/
-h, -D, -t, -u, -m module, -l, -F, -f perlfunc, -q perlfaq-search-regexp, -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
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
VMS
configuration should no longer be confused by ls colorization
AIX
fix /\h/ equivalence with /[\h]/
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
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
-Dusemultiplicity -Duseithreads, Long Doubles Still Don't Work In Solaris, our
can now have an experimental optional attribute unique
, Linux abstract Unix domain sockets, Pod::HTML2Pod, Pod::PXML, The <:pop> IO pseudolayer, The <:win32> IO pseudolayer, MLDBM, internal functions with M flag, lex_start API, internal API for %^H
, alloccopstash, av_create_and_push, av_create_and_unshift_one, av_create_and_unshift_one, cop_store_label, PL_keyword_plugin, gv_fetchmethod_*_flags, hv_iternext_flags, lex_bufutf8, lex_discard_to, lex_grow_linestr, lex_next_chunk, lex_peek_unichar, lex_read_space, lex_read_to, lex_read_unichar, lex_stuff_pv, lex_stuff_pvn, lex_stuff_pvs, lex_stuff_sv, lex_unstuff, op_scope, op_lvalue, parse_fullstmt, parse_stmtseq, PL_parser->bufend, PL_parser->bufptr, PL_parser->linestart, PL_parser->linestr, Perl_signbit, pad_findmy, sv_utf8_decode, sv_utf8_downgrade, bytes_from_utf8, bytes_to_utf8, utf8_to_bytes, Lvalue subroutines, There is an installhtml
target in the Makefile, Unicode in Perl on EBCDIC, (?{code})
, (??{ code })
, Smart match (~~
), Lexical $_
, Backtracking control verbs, Code expressions, conditional expressions, and independent expressions in regexes, gv_try_downgrade, Experimental Support for Sun Studio Compilers for Linux OS, Pluggable keywords, Array and hash container functions accept references, Lexical subroutines, Regular Expression Set Operations
The \N
regex character class, fork() emulation, DB module, Weak references, Internal file glob, die accepts a reference, 64-bit support
legacy
, Assertions, Test::Harness::Straps, GetOpt::Long Options can now take multiple values at once (experimental), The pseudo-hash data type, 5.005-style threading, perlcc
Rainer Keuchel <coyxc@rainer-keuchel.de>, Vadim Konovalov
-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.sf.net
Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2008/2010/2012 Express Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, MinGW release 3 with gcc
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
ranges, in_effect(), hex()/oct()
in_effect(), hex()/oct()
"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle
use encoding [ENCNAME] ;, use encoding ENCNAME [ STDIN => ENCNAME_IN ...] ;, use encoding ENCNAME Filter=>1;, no encoding;
literals in regex that are longer than 127 bytes, EBCDIC, format, Thread safety
use
a Perl module if a condition holdsThis probably does nothing, This works only on 5.10+
http://haahr.tempdomainname.com/dylan/linearization-oopsla96.html
http://www.python.org/2.3/mro.html, http://www.python.org/2.2.2/descrintro.html#mro
not
, neg
, ++
, --
, Assignments, Non-mutators with a mutator variant, int
, String, numeric, boolean, and regexp conversions, Iteration, File tests, Matching, Dereferencing, Special
use overload
defined, but FALSE, undef
, TRUE
Method names in the use overload
directive, Overloading of an operation is inherited by derived classes
overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
integer, float, binary, q, qr
Odd number of arguments for overload::constant, '%s' is not an overloadable type, '%s' is not a code reference, overload arg '%s' is invalid
Class 'Foo' tried to inherit from itself
Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, Execute related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options, EXTRA, BUFFERS, TRIEM, STATE, STACK, OPTIMISEM, OFFSETS, OFFSETSDBG, Other useful flags, ALL, All, MORE, More
is_regexp($ref), regexp_pattern($ref), regmust($ref), regname($name,$all), regnames($all), regnames_count()
$thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(), threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr", threads->object($tid), threads->yield(), threads->list(), threads->list(threads::all), threads->list(threads::running), threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;, $thr->error(), $thr->_handle(), threads->_handle()
threads->exit(), threads->exit(status), die(), exit(status), use threads 'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...), $thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean)
$thr->is_running(), $thr->is_joinable(), $thr->is_detached(), threads->is_detached()
threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size = threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);, $ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE}, FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS)
$thr->kill('SIG...');
Perl exited with active threads:, Thread creation failed: pthread_create returned #, Thread # terminated abnormally: .., Using minimum thread stack size of #, Thread creation failed: pthread_attr_setstacksize(SIZE) returned 22
This Perl not built to support threads, Cannot change stack size of an existing thread, Cannot signal threads without safe signals, Unrecognized signal name: ..
Thread-safe modules, Using non-thread-safe modules, Memory consumption, Current working directory, Environment variables, Catching signals, Parent-child threads, Creating threads inside special blocks, Unsafe signals, Perl has been built with PERL_OLD_SIGNALS
(see perl -V
), The environment variable PERL_SIGNALS
is set to unsafe
(see "PERL_SIGNALS" in perlrun), The module Perl::Unsafe::Signals is used, Returning closures from threads, Returning objects from threads, END blocks in threads, Open directory handles, Perl Bugs and the CPAN Version of threads
share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE
$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[, FAIL_OK]), utf8::encode($string), $success = utf8::decode($string), $flag = utf8::is_utf8(STRING), $flag = utf8::valid(STRING)
Decimal Versions, Dotted Decimal Versions
Decimal Versions, Dotted-Decimal Versions