PERLTOC(1) Perl Programmers Reference Guide PERLTOC(1)

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.

perl - The Perl 5 language interpreter

<https://www.perl.org/>, <https://www.perl.com/>, <https://www.cpan.org/>, <https://www.pm.org/>

Running Perl programs
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

#! and quoting on non-Unix systems
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 , -g , -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 , :crlf , :perlio , :stdio , :unix , 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 , PERL_USE_UNSAFE_INC , SYS$LOGIN (specific to the VMS port) , PERL_INTERNAL_RAND_SEED , PERL_RAND_SEED
-I, -M, the PERL5LIB environment variable, combinations of -I, -M and PERL5LIB, the PERL5OPT environment variable, Other complications, arch and version subdirs, sitecustomize.pl

arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs
CAVEAT ON PRECEDENCE

AUTHOR AND COPYRIGHT

AUTHOR AND COPYRIGHT

Declarative sugar, Roles built-in, A miniature type system, Full introspection and manipulation, Self-hosted and extensible, Rich ecosystem, Many more features
Moose, Class::Accessor, Class::Tiny, Role::Tiny

GENERAL GUIDELINES
PROFILING TOOLS
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
AUTHOR AND COPYRIGHT

AUTHOR AND COPYRIGHT

I don't have a C compiler. How can I build my own Perl interpreter?
I copied the Perl binary from one machine to another, but scripts don't work.
I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
<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/>
AUTHOR AND COPYRIGHT

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, IntelliJ IDEA, Kephra, Komodo, Notepad++, Open Perl IDE, OptiPerl, Padre, PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Vim, Vile, MultiEdit, SlickEdit, ConTEXT, bash, zsh, BBEdit and TextWrangler
Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena
Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk
AUTHOR AND COPYRIGHT

AUTHOR AND COPYRIGHT

I still don't get locking. I just want to increment the number in the file. How can I do this?
AUTHOR AND COPYRIGHT

AUTHOR AND COPYRIGHT

Passing Variables and Functions, Passing Filehandles, Passing Regexes, Passing Methods
AUTHOR AND COPYRIGHT

Keyboard, Screen, Mouse
lockfiles, open mode, end of line, flushing output, non-blocking input
STDIN, STDOUT, and STDERR are shared, Signals, Zombies
I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible?
Unix
the "PERLLIB" environment variable, the "PERL5LIB" environment variable, the "perl -Idir" command line flag, the "lib" pragma:, the local::lib module:
AUTHOR AND COPYRIGHT

AUTHOR AND COPYRIGHT

Class Instance Operator
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
C-style Logical And
C-style Logical Or
C-style Logical Xor
List Operators (Rightward)
C Operators Missing From Perl
unary &, unary *, (TYPE)
[1], [2], [3], [4], [5], [6], [7], [8]
"qr/STRING/msixpodualn" , "m/PATTERN/msixpodualngc"


, "/PATTERN/msixpodualngc", The empty pattern "//", Matching in list context, "\G assertion", "m?PATTERN?msixpodualngc"
, "s/PATTERN/REPLACEMENT/msixpodualngcer"

"q/STRING/" , 'STRING', "qq/STRING/" , "STRING", "qx/STRING/" , `STRING`, "qw/STRING/" , "tr/SEARCHLIST/REPLACEMENTLIST/cdsr"
, "y/SEARCHLIST/REPLACEMENTLIST/cdsr", "<<EOF" , Double Quotes, Single Quotes, Backticks, Indented Here-docs
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 "m?RE?", "/RE/", "m/RE/", "s/RE/foo/",, Parsing regular expressions , Optimization of regular expressions
I/O Operators
Integer Arithmetic
List of Extra Paired Delimiters

documented later in this document, documented in perlmod, documented in perlobj, documented in perltie, documented in PerlIO::via, documented in perlfunc, documented in UNIVERSAL, documented in perldebguts, undocumented, used internally by the overload feature

Functions for SCALARs or strings , Regular expressions and pattern matching , Numeric functions , Functions for real @ARRAYs , Functions for list data , Functions for real %HASHes , Input and output functions
, Functions for fixed-length data or records, Functions for filehandles, files, or directories
, Keywords related to the control flow of your Perl program , Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups
, Keywords related to Perl modules , Keywords related to classes and object-orientation
, Low-level socket functions , System V interprocess communication functions
, Fetching user and group info
, Fetching network info , Time-related functions , Non-function keywords
-X FILEHANDLE

, -X EXPR, -X DIRHANDLE, -X, abs VALUE , abs, accept NEWSOCKET,GENERICSOCKET , alarm SECONDS , alarm, atan2 Y,X , bind SOCKET,NAME , binmode FILEHANDLE, LAYER
, binmode FILEHANDLE, bless REF,CLASSNAME , bless REF, Bless the referred-to item into a specific package (recommended form):, Bless the referred-to item into package "main":, Bless the referred-to item into the current package (not inheritable):, 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, class NAMESPACE, class NAMESPACE VERSION, class NAMESPACE BLOCK, class NAMESPACE VERSION BLOCK, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR
, cos, crypt PLAINTEXT,SALT


, dbmclose HASH , dbmopen HASH,DBNAME,MASK , defined EXPR
, defined, delete EXPR , die LIST
, do BLOCK , do EXPR , dump LABEL , dump EXPR, dump, each HASH , each ARRAY , eof FILEHANDLE , eof (), eof, eval EXPR

, eval BLOCK, eval, String eval, Under the "unicode_eval" feature, Outside the "unicode_eval" feature, If upgraded, $v will be "\xc4\x80" (i.e., the "use utf8" has no effect.), If non-upgraded, $v will be "\x{100}", 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__ , field VARNAME , fileno FILEHANDLE , fileno DIRHANDLE, 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, kill SIGNAL, LIST, kill SIGNAL , last LABEL , last EXPR, last, lc EXPR , lc, If "use bytes" is in effect:, Otherwise, if "use locale" for "LC_CTYPE" is in effect:, Otherwise, If EXPR has the UTF8 flag set:, Otherwise, if "use feature 'unicode_strings'" or use locale ':not_characters' is in effect:, Otherwise:, lcfirst EXPR , lcfirst, length EXPR , length, __LINE__ , link OLDFILE,NEWFILE , listen SOCKET,QUEUESIZE , local EXPR , localtime EXPR , localtime, lock THING , log EXPR , log, lstat FILEHANDLE , lstat EXPR, lstat DIRHANDLE, lstat, m//, map BLOCK LIST , map EXPR,LIST, method NAME BLOCK , method NAME : ATTRS BLOCK, mkdir FILENAME,MODE , mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my VARLIST , my TYPE VARLIST, my VARLIST : ATTRS, my TYPE VARLIST : ATTRS, next LABEL , next EXPR, next, no MODULE VERSION LIST , no MODULE VERSION, no MODULE LIST, no MODULE, no VERSION, oct EXPR
, oct, open FILEHANDLE,MODE,EXPR
, open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,EXPR, open FILEHANDLE, Working with files, Simple examples, About filehandles, About modes, Checking the return value, Specifying I/O layers in MODE, Using "undef" for temporary files, Opening a filehandle into an in-memory scalar, Opening a filehandle into a command, Duping filehandles, Legacy usage, Specifying mode and filename as a single argument, Assigning a filehandle to a bareword, Calling "open" with one argument via global variables, Other considerations, Automatic filehandle closure, Automatic pipe flushing, Direct versus by-reference assignment of filehandles, Whitespace and special characters in the filename argument, Invoking C-style "open", Portability issues, opendir DIRHANDLE,EXPR , ord EXPR , ord, our VARLIST , our TYPE VARLIST, our VARLIST : ATTRS, our TYPE VARLIST : ATTRS, pack TEMPLATE,LIST , package NAMESPACE, package NAMESPACE VERSION
, package NAMESPACE BLOCK, package NAMESPACE VERSION BLOCK , __PACKAGE__ , __CLASS__ , pipe READHANDLE,WRITEHANDLE , pop ARRAY , pop, pos SCALAR , pos, print FILEHANDLE LIST , print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST , printf FILEHANDLE, printf FORMAT, LIST, printf, prototype FUNCTION , prototype, push ARRAY,LIST , 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, shmctl ID,CMD,ARG , shmget KEY,SIZE,FLAGS , shmread ID,VAR,POS,SIZE , shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW , sin EXPR , sin, sleep EXPR , sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL , socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL , sort SUBNAME LIST , sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST , splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT , split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST , format parameter index, flags, vector flag, (minimum) width, precision, or maximum width , size, order of arguments, sqrt EXPR , sqrt, srand EXPR , srand, stat FILEHANDLE
, stat EXPR, stat DIRHANDLE, stat, state VARLIST , state TYPE VARLIST, state VARLIST : ATTRS, state TYPE VARLIST : ATTRS, study SCALAR , study, sub NAME BLOCK , sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, __SUB__ , substr EXPR,OFFSET,LENGTH,REPLACEMENT
, substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE , syscall NUMBER, LIST , sysopen FILEHANDLE,FILENAME,MODE , sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET , sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE , system LIST , system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET , syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell FILEHANDLE , tell, telldir DIRHANDLE , tie VARIABLE,CLASSNAME,LIST , tied VARIABLE , time , times , tr///, truncate FILEHANDLE,LENGTH , truncate EXPR,LENGTH, uc EXPR , uc, ucfirst EXPR , ucfirst, umask EXPR , umask, undef EXPR , undef, unlink LIST
, unlink, unpack TEMPLATE,EXPR , unpack TEMPLATE, unshift ARRAY,LIST , untie VARIABLE , use Module VERSION LIST , use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST , values HASH , values ARRAY, 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, isa, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elsif, for, foreach, if, unless, until, while, elseif, default, given, when, try, catch, finally, defer, ADJUST

OK, HANDLE, MODE, PATHNAME
AUTHOR and COPYRIGHT

Template Grouping

"=head1 Heading Text"
, "=head2 Heading Text", "=head3 Heading Text", "=head4 Heading Text", "=head5 Heading Text", "=head6 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", "=head5", "=head6", "=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
Notes on Implementing Pod Processors
First:, Second:, Third:, Fourth:, Fifth:, Sixth:

built-in function, Darwin, macOS, man page, Perl; perl, Perl 5, Perl 6, Perl 5 Porters, the; porters, the; p5p, program, Raku, script, semicolon, Unix

NAME, SYNOPSIS, DESCRIPTION, OPTIONS, RETURN VALUE, ERRORS, DIAGNOSTICS, EXAMPLES, ENVIRONMENT, FILES, CAVEATS, BUGS, RESTRICTIONS, NOTES, AUTHOR, HISTORY, COPYRIGHT AND LICENSE, SEE ALSO
COPYRIGHT AND LICENSE

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
Debugging Compile-Time Statements
Debugging Regular Expressions
Debugging Memory Usage

$ARG, $_ , @ARG, @_ , $LIST_SEPARATOR, $" , $PROCESS_ID, $PID, $$ , $PROGRAM_NAME, $0 , $REAL_GROUP_ID, $GID, $(
, $EFFECTIVE_GROUP_ID, $EGID, $) , $REAL_USER_ID, $UID, $< , $EFFECTIVE_USER_ID, $EUID, $> , $SUBSCRIPT_SEPARATOR, $SUBSEP, $; , $a, $b , %ENV , $OLD_PERL_VERSION, $] , $SYSTEM_FD_MAX, $^F
, @F , @INC , %INC , $INC , $INPLACE_EDIT, $^I , @ISA , $^M , ${^MAX_NESTED_EVAL_BEGIN_BLOCKS}, $OSNAME, $^O , %SIG , %{^HOOK} , require__before, require__after, $BASETIME, $^T , $PERL_VERSION, $^V , $EXECUTABLE_NAME, $^X
Variables related to regular expressions
$<digits> ($1, $2, ...) , @{^CAPTURE}
, $MATCH, $& , ${^MATCH} , $PREMATCH, $` , ${^PREMATCH} , $POSTMATCH, $' , ${^POSTMATCH} , $LAST_PAREN_MATCH, $+ , $LAST_SUBMATCH_RESULT, $^N , @LAST_MATCH_END, @+ , %{^CAPTURE}, %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])", %{^CAPTURE_ALL} , %- , ${^LAST_SUCCESSFUL_PATTERN}, $LAST_REGEXP_CODE_RESULT, $^R , ${^RE_COMPILE_RECURSION_LIMIT} , ${^RE_DEBUG_FLAGS} , ${^RE_TRIE_MAXBUF}
Variables related to filehandles
$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, $@
Variables related to the interpreter state
$COMPILING, $^C , $DEBUGGING, $^D , ${^GLOBAL_PHASE} , CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H , %^H , ${^OPEN} , $PERLDB, $^P
, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, ${^TAINT} , ${^SAFE_LOCALES} , ${^UNICODE} , ${^UTF8CACHE} , ${^UTF8LOCALE}
$# , $* , $[ , ${^ENCODING} , ${^WIN32_SLOPPY_STAT}

"m" , "s" , "i" , "x" and "xx" , "p" , "a", "d", "l", and "u"
, "n" , Other Modifiers
[1], [2], [3], [4], [5], [6], [7], [8]
"(?#text)" , "(?adlupimnsx-imnsx)", "(?^alupimnsx)" , "(?:pattern)" , "(?adluimnsx-imnsx:pattern)", "(?^aluimnsx:pattern)" , "(?|pattern)" , Lookaround Assertions , "(?=pattern)", "(*pla:pattern)", "(*positive_lookahead:pattern)"
, "(?!pattern)", "(*nla:pattern)", "(*negative_lookahead:pattern)"
, "(?<=pattern)", "\K", "(*plb:pattern)", "(*positive_lookbehind:pattern)"

, "(?<!pattern)", "(*nlb:pattern)", "(*negative_lookbehind:pattern)"
, "(?<NAME>pattern)", "(?'NAME'pattern)"
, "\k<NAME>", "\k'NAME'", "\k{NAME}", "(?{ code })" , "(*{ code })" , "(??{ code })"
, "(?PARNO)" "(?-PARNO)" "(?+PARNO)" "(?R)" "(?0)"


, "(?&NAME)" , "(?(condition)yes-pattern|no-pattern)" , "(?(condition)yes-pattern)", an integer in parentheses, a lookahead/lookbehind/evaluate zero-width assertion;, a name in angle brackets or single quotes, the special symbol "(R)", "(1)" "(2)" .., "(<NAME>)" "('NAME')", "(?=...)" "(?!...)" "(?<=...)" "(?<!...)", "(?{ CODE })", "(*{ CODE })", "(R)", "(R1)" "(R2)" .., "(R&NAME)", "(DEFINE)", "(?>pattern)", "(*atomic:pattern)"
, "(?[ ])"

Verbs, "(*PRUNE)" "(*PRUNE:NAME)" , "(*SKIP)" "(*SKIP:NAME)" , "(*MARK:NAME)" "(*:NAME)"
, "(*THEN)" "(*THEN:NAME)", "(*COMMIT)" "(*COMMIT:arg)" , "(*FAIL)" "(*F)" "(*FAIL:arg)" , "(*ACCEPT)" "(*ACCEPT:arg)"
Warning on "\1" Instead of $1
"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)"

[1]
[1], [2]
\A, \z, \Z, \G, \b{}, \b, \B{}, \B, "\b{gcb}" or "\b{g}", "\b{lb}", "\b{sb}", "\b{wb}"
\K, \N, \R , \X

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, instead, 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, instead, Unicode rules are in effect .., otherwise .., [1], [2]
[1], [2], [3], [4], [5], [6], [7], If the "/a" modifier, is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., "word", "ascii", "blank", if, instead, Unicode rules are in effect .., otherwise ..

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

filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

Roles, Parameters to ADJUST blocks, ADJUST blocks as true blocks, More accessor generator attributes, Metaprogramming, Extension Customisation

Long-running opcodes, Interrupting IO, Restartable system calls, Signals as "faults", Signals triggered by operating system state
A Simple Client
"Proto", "PeerAddr", "PeerPort"
A Webget Client
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
Lifetime of the parent process and pseudo-processes
CAVEATS AND LIMITATIONS
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
PORTABILITY CAVEATS

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

Threads And Data
A Complete Example

Not all Perl programs have to be portable, Nearly all of Perl already is portable
CPAN Testers
DOS and Derivatives
EBCDIC Platforms
-X, alarm, atan2, binmode, chdir, chmod, chown, chroot, crypt, dbmclose, dbmopen, dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid, getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid, getnetbyaddr, getprotobynumber, getpwent, getgrent, gethostbyname, gethostent, getnetent, getprotoent, getservent, seekdir, sethostent, setnetent, setprotoent, setservent, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt, glob, gmtime, ioctl, 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, socketpair, stat, symlink, syscall, sysopen, system, telldir, times, truncate, umask, utime, wait, waitpid
Linux (x86, ARM, IA64), HP-UX, AIX, Win32, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Cygwin, Solaris (x86, SPARC), OpenVMS, Alpha (7.2 and later), I64 (8.2 and later), 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, Stratus VOS / OpenVOS, AIX, Android, FreeMINT
(Perl 5.37.1)
Ultrix
(Perl 5.36)
NetWare, DOS/DJGPP, AT&T UWIN
(Perl 5.20)
AT&T 3b1
(Perl 5.14)
Windows 95, Windows 98, Windows ME, Windows NT4
(Perl 5.12)
Atari MiNT, Apollo Domain/OS, Apple Mac OS 8/9, Tenon Machten
AUTHORS / CONTRIBUTORS

Category "LC_NUMERIC": Numeric formatting, Category "LC_MONETARY": Formatting of monetary amounts, Category "LC_TIME": Date/Time formatting, Category "LC_COLLATE": Collation, Category "LC_CTYPE": Character Types, Category "LC_MESSAGES": Error and other messages, Category "LC_TIME": Date/Time formatting, Category "LC_ALL", Other categories
Not within the scope of "use locale", Lingering effects of "use locale", Under ""use locale";"
LOCALE PROBLEMS
LOCALE CATEGORIES
PERL_SKIP_LOCALE_INIT, PERL_BADLANG, "LC_ALL", "LANGUAGE", "LC_CTYPE", "LC_COLLATE", "LC_MONETARY", "LC_NUMERIC", "LC_TIME", "LANG"
Unicode and UTF-8

Safest if you "use feature 'unicode_strings'", Input and Output Layers, You must convert your non-ASCII, non-UTF-8 Perl scripts to be UTF-8, "use utf8" still needed to enable UTF-8 in scripts, UTF-16 scripts autodetected
ASCII Rules versus Unicode Rules
When the string has been upgraded to UTF-8, There are additional methods for regular expression patterns
Unicode Character Properties
"\p{All}", "\p{Alnum}", "\p{Any}", "\p{ASCII}", "\p{Assigned}", "\p{Blank}", "\p{Decomposition_Type: Non_Canonical}" (Short: "\p{Dt=NonCanon}"), "\p{Graph}", "\p{HorizSpace}", "\p{In=*}", "\p{PerlSpace}", "\p{PerlWord}", "\p{Posix...}", "\p{Present_In: *}" (Short: "\p{In=*}"), "\p{Print}", "\p{SpacePerl}", "\p{Title}" and "\p{Titlecase}", "\p{Unicode}", "\p{VertSpace}", "\p{Word}", "\p{XPosix...}"
[1], [2], [3], [4], [5]
Unicode Regular Expression Support Level
[1] "\N{U+...}" and "\x{...}", [2] "\p{...}" "\P{...}". This requirement is for a minimal list of properties. Perl supports these. See R2.7 for other properties, [3], [4], [5] "\b" "\B" meet most, but not all, the details of this requirement, but "\b{wb}" and "\B{wb}" do, as well as the stricter R2.3, [6], [7], [8] UTF-8/UTF-EBDDIC used in Perl allows not only "U+10000" to "U+10FFFF" but also beyond "U+10FFFF", [9] Unicode has rewritten this portion of UTS#18 to say that getting canonical equivalence (see UAX#15 "Unicode Normalization Forms" <https://www.unicode.org/reports/tr15>) is basically to be done at the programmer level. Use NFD to write both your regular expressions and text to match them against (you can use Unicode::Normalize), [10] Perl has "\X" and "\b{gcb}". Unicode has retracted their "Grapheme Cluster Mode", and recently added string properties, which Perl does not yet support, [11] see UAX#29 "Unicode Text Segmentation" <https://www.unicode.org/reports/tr29>,, [12] see "Wildcards in Property Values" in perlunicode above, [13] Perl supports all the properties in the Unicode Character Database (UCD). It does not yet support the listed properties that come from other Unicode sources, [14] The only optional property that Perl supports is Named Sequence. None of these properties are in the UCD
Unicode Encodings
Security Implications of Unicode
Unicode in Perl on EBCDIC

℞ 0: Standard preamble
℞ 1: Generic Unicode-savvy filter
℞ 2: Fine-tuning Unicode warnings
℞ 3: Declare source in utf8 for identifiers and literals
℞ 4: Characters and their numbers
℞ 5: Unicode literals by character number
℞ 6: Get character name by number
℞ 7: Get character number by name
℞ 8: Unicode named characters
℞ 9: Unicode named sequences
℞ 10: Custom named characters
℞ 11: Names of CJK codepoints
℞ 12: Explicit encode/decode
℞ 13: Decode program arguments as utf8
℞ 14: Decode program arguments as locale encoding
℞ 15: Declare STD{IN,OUT,ERR} to be utf8
℞ 16: Declare STD{IN,OUT,ERR} to be in locale encoding
℞ 17: Make file I/O default to utf8
℞ 18: Make all I/O and args default to utf8
℞ 19: Open file with specific encoding
℞ 20: Unicode casing
℞ 21: Unicode case-insensitive comparisons
℞ 22: Match Unicode linebreak sequence in regex
℞ 23: Get character category
℞ 24: Disabling Unicode-awareness in builtin charclasses
℞ 25: Match Unicode properties in regex with \p, \P
℞ 26: Custom character properties
℞ 27: Unicode normalization
℞ 28: Convert non-ASCII Unicode numerics
℞ 29: Match Unicode grapheme cluster in regex
℞ 30: Extract by grapheme instead of by codepoint (regex)
℞ 31: Extract by grapheme instead of by codepoint (substr)
℞ 32: Reverse string by grapheme
℞ 33: String length in graphemes
℞ 34: Unicode column-width for printing
℞ 35: Unicode collation
℞ 36: Case- and accent-insensitive Unicode sort
℞ 37: Unicode locale collation
℞ 38: Making "cmp" work on text instead of codepoints
℞ 39: Case- and accent-insensitive comparisons
℞ 40: Case- and accent-insensitive locale comparisons
℞ 41: Unicode linebreaking
℞ 42: Unicode text in DBM hashes, the tedious way
℞ 43: Unicode text in DBM hashes, the easy way
℞ 44: PROGRAM: Demo of Unicode collation and printing
§3.13 Default Case Algorithms, page 113; §4.2 Case, pages 120–122; Case Mappings, page 166–172, especially Caseless Matching starting on page 170, UAX #44: Unicode Character Database, UTS #18: Unicode Regular Expressions, UAX #15: Unicode Normalization Forms, UTS #10: Unicode Collation Algorithm, UAX #29: Unicode Text Segmentation, UAX #14: Unicode Line Breaking Algorithm, UAX #11: East Asian Width
COPYRIGHT AND LICENCE
REVISION HISTORY

Q and A

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, Discouraged, * is a wild-card, (\d+) in the info column gives the number of Unicode 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{Canonical_Combining_Class=Attached_Below_Left}, \p{Canonical_Combining_Class=CCC133}, \p{Grapheme_Cluster_Break=E_Base}, \p{Grapheme_Cluster_Break=E_Base_GAZ}, \p{Grapheme_Cluster_Break=E_Modifier}, \p{Grapheme_Cluster_Break=Glue_After_Zwj}, \p{Word_Break=E_Base}, \p{Word_Break=E_Base_GAZ}, \p{Word_Break=E_Modifier}, \p{Word_Break=Glue_After_Zwj}
Unicode character properties that are NOT accepted by Perl
Expands_On_NFC (XO_NFC), Expands_On_NFD (XO_NFD), Expands_On_NFKC (XO_NFKC), Expands_On_NFKD (XO_NFKD), Grapheme_Link (Gr_Link), 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, BidiCharacterTest.txt, BidiTest.txt, CJKRadicals.txt, confusables.txt, confusablesSummary.txt, intentional.txt, emoji/ReadMe.txt, ReadMe.txt, EmojiSources.txt, extracted/DName.txt, Index.txt, NamedSqProv.txt, NamesList.html, NamesList.txt, NormalizationCorrections.txt, NushuSources.txt, StandardizedVariants.html, StandardizedVariants.txt, TangutSources.txt, USourceData.txt, USourceGlyphs.pdf

I/O flow (the actual 5 minute tutorial)
Q and A (or FAQ)

0037, 1047, POSIX-BC
Unicode code points versus EBCDIC code points
Unicode and UTF
recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6
chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
PASE, IFS access
"sigaction", "chcp", dataset access, "iconv", locales

SECURITY VULNERABILITY CONTACT INFORMATION
SECURITY MECHANISMS AND CONCERNS
Hash Seed Randomization, Hash Traversal Randomization, Bucket Order Perturbance, New Default Hash Function, Alternative Hash Functions

Bugs that may qualify as security issues in Perl
Bugs that do not qualify as security issues in Perl
Bugs that require special categorization

attributes, autodie, autodie::exception, autodie::exception::system, autodie::hints, autodie::skip, autouse, base, bigfloat, bigint, bignum, bigrat, blib, builtin, bytes, charnames, constant, deprecate, diagnostics, encoding, encoding::warnings, experimental, feature, fields, filetest, if, integer, less, lib, locale, mro, ok, open, ops, overload, overloading, parent, re, sigtrap, sort, stable, strict, subs, threads, threads::shared, utf8, vars, version, vmsish, warnings, warnings::register
Amiga::ARexx, Amiga::Exec, AnyDBM_File, App::Cpan, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Deparse, B::Op_private, B::Showlex, B::Terse, B::Xref, Benchmark, "IO::Socket::IP", "Socket", "Test2::Tools::Refcount", CORE, CPAN, CPAN::API::HOWTO, CPAN::Debug, CPAN::Distroprefs, CPAN::FirstTime, CPAN::HandleConfig, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter, CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::History::Meta_1_0, CPAN::Meta::History::Meta_1_1, CPAN::Meta::History::Meta_1_2, CPAN::Meta::History::Meta_1_3, CPAN::Meta::History::Meta_1_4, CPAN::Meta::Merge, CPAN::Meta::Prereqs, CPAN::Meta::Requirements, CPAN::Meta::Requirements::Range, CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox, CPAN::Plugin, CPAN::Plugin::Specfile, CPAN::Queue, CPAN::Tarzip, CPAN::Version, Carp, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config, Config::Extensions, Config::Perl::V, Cwd, DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows, ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Constant::Base, ExtUtils::Constant::Utils, ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_OS390, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Locale, ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::PL2Bat, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval, ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps, ExtUtils::Typemaps::Cmd, ExtUtils::Typemaps::InputMap, ExtUtils::Typemaps::OutputMap, ExtUtils::Typemaps::Type, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec, File::Spec::AmigaOS, 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::Long::Parser, 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, Internals, JSON::PP, JSON::PP::Boolean, List::Util, List::Util::XS, Locale::Maketext, Locale::Maketext::Cookbook, Locale::Maketext::Guts, Locale::Maketext::GutsLoader, Locale::Maketext::Simple, Locale::Maketext::TPJ13, MIME::Base64, MIME::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigInt::FastCalc, Math::BigInt::Lib, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, Module::CoreList, Module::CoreList::Utils, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::FTP::dataconn, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO, PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker, Pod::Escapes, Pod::Functions, Pod::Html, Pod::Html::Util, 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::JustPod, 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::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Storable, Sub::Util, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32, TAP::Base, TAP::Formatter::Base, TAP::Formatter::Color, TAP::Formatter::Console, TAP::Formatter::Console::ParallelSession, TAP::Formatter::Console::Session, TAP::Formatter::File, TAP::Formatter::File::Session, TAP::Formatter::Session, TAP::Harness, TAP::Harness::Env, TAP::Object, TAP::Parser, TAP::Parser::Aggregator, TAP::Parser::Grammar, TAP::Parser::Iterator, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer, TAP::Parser::Result, TAP::Parser::Result::Bailout, TAP::Parser::Result::Comment, TAP::Parser::Result::Plan, TAP::Parser::Result::Pragma, TAP::Parser::Result::Test, TAP::Parser::Result::Unknown, TAP::Parser::Result::Version, TAP::Parser::Result::YAML, TAP::Parser::ResultFactory, TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job, TAP::Parser::Scheduler::Spinner, TAP::Parser::Source, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable, TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle, TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::RawTAP, TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Term::Table, Term::Table::Cell, Term::Table::CellStack, Term::Table::HashBase, Term::Table::LineBreak, Term::Table::Util, Test, Test2, Test2::API, Test2::API::Breakage, Test2::API::Context, Test2::API::Instance, Test2::API::InterceptResult, Test2::API::InterceptResult::Event, Test2::API::InterceptResult::Hub, Test2::API::InterceptResult::Squasher, Test2::API::Stack, Test2::AsyncSubtest, Test2::AsyncSubtest::Event::Attach, Test2::AsyncSubtest::Event::Detach, Test2::AsyncSubtest::Hub, Test2::Bundle, Test2::Bundle::Extended, Test2::Bundle::More, Test2::Bundle::Simple, Test2::Compare, Test2::Compare::Array, Test2::Compare::Bag, Test2::Compare::Base, Test2::Compare::Bool, Test2::Compare::Custom, Test2::Compare::DeepRef, Test2::Compare::Delta, Test2::Compare::Event, Test2::Compare::EventMeta, Test2::Compare::Float, Test2::Compare::Hash, Test2::Compare::Isa, Test2::Compare::Meta, Test2::Compare::Negatable, Test2::Compare::Number, Test2::Compare::Object, Test2::Compare::OrderedSubset, Test2::Compare::Pattern, Test2::Compare::Ref, Test2::Compare::Regex, Test2::Compare::Scalar, Test2::Compare::Set, Test2::Compare::String, Test2::Compare::Undef, Test2::Compare::Wildcard, Test2::Event, Test2::Event::Bail, Test2::Event::Diag, Test2::Event::Encoding, Test2::Event::Exception, Test2::Event::Fail, Test2::Event::Generic, Test2::Event::Note, Test2::Event::Ok, Test2::Event::Pass, Test2::Event::Plan, Test2::Event::Skip, Test2::Event::Subtest, Test2::Event::TAP::Version, Test2::Event::V2, Test2::Event::Waiting, Test2::EventFacet, Test2::EventFacet::About, Test2::EventFacet::Amnesty, Test2::EventFacet::Assert, Test2::EventFacet::Control, Test2::EventFacet::Error, Test2::EventFacet::Hub, Test2::EventFacet::Info, Test2::EventFacet::Info::Table, Test2::EventFacet::Meta, Test2::EventFacet::Parent, Test2::EventFacet::Plan, Test2::EventFacet::Render, Test2::EventFacet::Trace, Test2::Formatter, Test2::Formatter::TAP, Test2::Hub, Test2::Hub::Interceptor, Test2::Hub::Interceptor::Terminator, Test2::Hub::Subtest, Test2::IPC, Test2::IPC::Driver, Test2::IPC::Driver::Files, Test2::Manual, Test2::Manual::Anatomy, Test2::Manual::Anatomy::API, Test2::Manual::Anatomy::Context, Test2::Manual::Anatomy::Event, Test2::Manual::Anatomy::Hubs, Test2::Manual::Anatomy::IPC, Test2::Manual::Anatomy::Utilities, Test2::Manual::Concurrency, Test2::Manual::Contributing, Test2::Manual::EndToEnd, Test2::Manual::Testing, Test2::Manual::Testing::Introduction, Test2::Manual::Testing::Migrating, Test2::Manual::Testing::Planning, Test2::Manual::Testing::Todo, Test2::Manual::Tooling, Test2::Manual::Tooling::FirstTool, Test2::Manual::Tooling::Formatter, Test2::Manual::Tooling::Nesting, Test2::Manual::Tooling::Plugin::TestExit, Test2::Manual::Tooling::Plugin::TestingDone, Test2::Manual::Tooling::Plugin::ToolCompletes, Test2::Manual::Tooling::Plugin::ToolStarts, Test2::Manual::Tooling::Subtest, Test2::Manual::Tooling::TestBuilder, Test2::Manual::Tooling::Testing, Test2::Mock, Test2::Plugin, Test2::Plugin::BailOnFail, Test2::Plugin::DieOnFail, Test2::Plugin::ExitSummary, Test2::Plugin::SRand, Test2::Plugin::Times, Test2::Plugin::UTF8, Test2::Require, Test2::Require::AuthorTesting, Test2::Require::AutomatedTesting, Test2::Require::EnvVar, Test2::Require::ExtendedTesting, Test2::Require::Fork, Test2::Require::Module, Test2::Require::NonInteractiveTesting, Test2::Require::Perl, Test2::Require::RealFork, Test2::Require::ReleaseTesting, Test2::Require::Threads, Test2::Suite, Test2::Todo, Test2::Tools, Test2::Tools::AsyncSubtest, Test2::Tools::Basic, Test2::Tools::Class, Test2::Tools::ClassicCompare, Test2::Tools::Compare, Test2::Tools::Defer, Test2::Tools::Encoding, Test2::Tools::Event, Test2::Tools::Exception, Test2::Tools::Exports, Test2::Tools::GenTemp, Test2::Tools::Grab, Test2::Tools::Mock, Test2::Tools::Ref, Test2::Tools::Spec, Test2::Tools::Subtest, Test2::Tools::Target, Test2::Tools::Tester, Test2::Tools::Tiny, Test2::Tools::Warnings, Test2::Transition, Test2::Util, Test2::Util::ExternalMeta, Test2::Util::Facets2Legacy, Test2::Util::Grabber, Test2::Util::Guard, Test2::Util::HashBase, Test2::Util::Importer, Test2::Util::Ref, Test2::Util::Stash, Test2::Util::Sub, Test2::Util::Table, Test2::Util::Table::LineBreak, Test2::Util::Times, Test2::Util::Trace, Test2::V0, Test2::Workflow, Test2::Workflow::BlockBase, Test2::Workflow::Build, Test2::Workflow::Runner, Test2::Workflow::Task, Test2::Workflow::Task::Action, Test2::Workflow::Task::Group, Test::Builder, Test::Builder::Formatter, Test::Builder::IO::Scalar, Test::Builder::Module, Test::Builder::Tester, Test::Builder::Tester::Color, Test::Builder::TodoDiag, Test::Harness, Test::Harness::Beyond, Test::More, Test::Simple, Test::Tester, Test::Tester::Capture, Test::Tester::CaptureRunner, Test::Tutorial, Test::use::ok, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece, Time::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Collate::CJK::Big5, Unicode::Collate::CJK::GB2312, Unicode::Collate::CJK::JISX0208, Unicode::Collate::CJK::Korean, Unicode::Collate::CJK::Pinyin, Unicode::Collate::CJK::Stroke, Unicode::Collate::CJK::Zhuyin, Unicode::Collate::Locale, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, VMS::DCLsym, VMS::Filespec, VMS::Stdio, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader, autodie::Scope::Guard, autodie::Scope::GuardStack, autodie::Util, version::Internals

Write simple routines to do simple things, Separate functionality from output, Provide sensible shortcuts and defaults, Naming conventions, Parameter passing
perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, perl Build test, perl Build install
perlstyle, perlnewmod, perlpod, podchecker, Packaging Tools, Testing tools, <https://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, Write Changes
Get a CPAN user ID, Make the tarball, Upload the tarball, Fix bugs!

A basic example

perldoc, pod2man, pod2text, pod2html, pod2usage, podchecker, splain, roffitall
pl2pm
libnetcfg, perlivp
perlbug, perlthanks, h2ph, h2xs, enc2xs, xsubpp, prove, corelist
encguess, json_pp, piconv, ptar, ptardiff, ptargrep, shasum, streamzip, zipdetails
cpan, instmodsh

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
Devel::DTrace::Provider

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, UTF-8 string
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
AUTHOR AND COPYRIGHT

Debugging Regular Expressions
"anchored" STRING "at" POS, "floating" STRING "at" POS1..POS2, "matching floating/anchored", "minlen", "stclass" TYPE, "noscan", "isall", "GPOS", "plus", "implicit", "with eval", anchored(TYPE)
Debugging Perl Memory Usage
"buckets SMALLEST(APPROX)..GREATEST(APPROX)", Free/Used, "Total sbrk(): SBRKed/SBRKs:CONTINUOUS", "pad: 0", "heads: 2192", "chain: 0", tail: 6144

Version caveat
Threads and PERL_NO_GET_CONTEXT
EXAMPLE 1
EXAMPLE 2
EXAMPLE 3
Input and Output Parameters
Warning about Output Arguments
EXAMPLE 4
EXAMPLE 5
EXAMPLE 6
EXAMPLE 7 (Coming Soon)
EXAMPLE 8 (Coming Soon)
EXAMPLE 9 Passing open files to XSes
Troubleshooting these Examples

XS VERSION
AUTHOR DIAGNOSTICS

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

Functions always unsuitable for use under multi-threads
Functions which must be called at least once before starting threads
Functions that are thread-safe when called with appropriate arguments
Functions vulnerable to signals
For items marked "*", For the remaining items, If you #define PERL_REENTRANT, If you don't enable automatic substitution
Functions that need the environment to be constant

SvIV(SV*) ("IV") and SvUV(SV*) ("UV"), SvNV(SV*) ("double"), Strings are a bit complicated:, Byte string: "SvPVbyte(SV*, STRLEN len)" or SvPVbyte_nolen(SV*), UTF-8 string: "SvPVutf8(SV*, STRLEN len)" or SvPVutf8_nolen(SV*), You can also use "SvPV(SV*, STRLEN len)" or SvPV_nolen(SV*) to fetch the SV's raw internal buffer. This is tricky, though; if your Perl string is "\xff\xff", then depending on the SV's internal encoding you might get back a 2-byte OR a 4-byte "char*". Moreover, if it's the 4-byte string, that could come from either Perl "\xff\xff" stored UTF-8 encoded, or Perl "\xc3\xbf\xc3\xbf" stored as raw octets. To differentiate between these you MUST look up the SV's UTF8 bit (cf. "SvUTF8") to know whether the source Perl string is 2 characters ("SvUTF8" would be on) or 4 characters ("SvUTF8" would be off)
"av_store_simple", "av_fetch_simple", "av_push_simple", are not magical, are not readonly, are "real" (refcounted) AVs, have an av_top_index value > -2
GV_ADDMULTI, GV_ADDWARN
Reference Counts and Mortality
I/O Handles
Magic Variables
Magic Virtual Tables
"SAVEINT(int i)", "SAVEIV(IV i)", "SAVEI32(I32 i)", "SAVELONG(long i)", "SAVEI8(I8 i)", "SAVEI16(I16 i)", "SAVEBOOL(int i)", "SAVESTRLEN(STRLEN i)", SAVESPTR(s), SAVEPPTR(p), "SAVERCPV(char **ppv)", "SAVEGENERICSV(SV **psv)", "SAVEFREESV(SV *sv)", "SAVEMORTALIZESV(SV *sv)", "SAVEFREEOP(OP *op)", SAVEFREEPV(p), "SAVEFREERCPV(char *pv)", "SAVECLEARSV(SV *sv)", "SAVEDELETE(HV *hv, char *key, I32 length)", "SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)", "SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)", "MORTALSVFUNC_X(SVFUNC_t f, SV *sv)", "MORTALDESTRUCTOR_SV(SV *coderef, SV *args)", SAVESTACK_POS(), "SV* save_scalar(GV *gv)", "AV* save_ary(GV *gv)", "HV* save_hash(GV *gv)", "void save_item(SV *item)", "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)"
Unicode Support
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
Introduction to the context stack
Reference counted stack states
not reference-counted, fully reference-counted, partially reference-counted (split)
(Re)writing a PP function using the rpp_() API

An Error Handler, An Event-Driven Program
call_sv, call_pv, call_method, call_argv

resolve, name, length, kflags, hash

"/m" - RXf_PMf_MULTILINE, "/s" - RXf_PMf_SINGLELINE, "/i" - RXf_PMf_FOLD, "/x" - RXf_PMf_EXTENDED, "/p" - RXf_PMf_KEEPCOPY, Character set, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, RXf_WHITE, RXf_NULL, RXf_NO_INPLACE_SUBST
rx, sv, strbeg, strend, stringarg, minend, data, flags
"engine"
"mother_re"
"extflags"
"minlen" "minlenret"
"gofs"
"substrs"
"nparens", "logical_nparens"
"logical_to_parno", "parno_to_logical", "parno_to_logical_next"
"lastparen", and "lastcloseparen"
"intflags"
"pprivate"
"offs"
"RX_PRECOMP" "RX_PRELEN"
"paren_names"
"substrs"
"subbeg" "sublen" "saved_copy" "suboffset" "subcoffset"
"RX_WRAPPED" "RX_WRAPLEN"

A quick note on terms
"regnode_1", "regnode_2", "regnode_string", "regnode_charclass", "regnode_charclass_posixl", "REGNODE_AFTER", "regnext"
A. Compilation, 1. Parsing, 2. Peep-hole optimisation and analysis, B. Execution, 3. Start position and no-match optimisations, 4. Program execution
anchored fixed strings, floating fixed strings, minimum and maximum length requirements, start class, Beginning/End of line positions
Unicode and Localisation Support
"regstclass", "data", "code_blocks", "proglen", "name_list_idx", "program"

Class Manipulation
Object Instances
$self Access During Methods

"AV Handling" in perlapi, "Callback Functions" in perlapi, "Casting" in perlapi, "Character case changing" in perlapi, "Character classification" in perlapi, "Compiler and Preprocessor information" in perlapi, "Compiler directives" in perlapi, "Compile-time scope hooks" in perlapi, "Concurrency" in perlapi, "COPs and Hint Hashes" in perlapi, "Custom Operators" in perlapi, "CV Handling" in perlapi, "Debugging" in perlapi, "Display functions" in perlapi, "Embedding, Threads, and Interpreter Cloning" in perlapi, "Errno" in perlapi, "Exception Handling (simple) Macros" in perlapi, "Filesystem configuration values" in perlapi, "Floating point" in perlapi, "General Configuration" in perlapi, "Global Variables" in perlapi, "GV Handling and Stashes" in perlapi, "Hook manipulation" in perlapi, "HV Handling" in perlapi, "Input/Output" in perlapi, "Integer" in perlapi, "I/O Formats" in perlapi, "Lexer interface" in perlapi, "Locales" in perlapi, "Magic" in perlapi, "Memory Management" in perlapi, "MRO" in perlapi, "Multicall Functions" in perlapi, "Numeric Functions" in perlapi, "Optrees" in perlapi, "Pack and Unpack" in perlapi, "Pad Data Structures" in perlapi, "Password and Group access" in perlapi, "Paths to system commands" in perlapi, "Prototype information" in perlapi, "Reference-counted stack manipulation" in perlapi, "REGEXP Functions" in perlapi, "Reports and Formats" in perlapi, "Signals" in perlapi, "Site configuration" in perlapi, "Sockets configuration values" in perlapi, "Source Filters" in perlapi, "Stack Manipulation Macros" in perlapi, "String Handling" in perlapi, "SV Flags" in perlapi, "SV Handling" in perlapi, "Tainting" in perlapi, "Time" in perlapi, "Typedef names" in perlapi, "Unicode Support" in perlapi, "Utility Functions" in perlapi, "Versioning" in perlapi, "Warning and Dieing" in perlapi, "XS" in perlapi, "Undocumented elements" in perlapi
"AV", "AvALLOC", "AvARRAY" , "av_clear" , "av_count" , "av_create_and_push" , "av_create_and_unshift_one" , "av_delete" , "av_exists" , "av_extend" , "av_fetch" , "AvFILL" , "av_fill" , "av_len" , "av_make" , "av_pop" , "av_push" , "av_push_simple" , "av_shift" , "av_store" , "av_tindex", "av_top_index" , "av_undef" , "av_unshift" , "get_av" , "newAV", "newAV_mortal", "newAV_alloc_x", "newAV_alloc_xz" , "newAV" form, "newAV_mortal" form, "newAV_alloc_x" form, "newAV_alloc_xz" form, "newAVav" , "newAVhv" , "Nullav"
"call_argv" , "call_method" , "call_pv" , "call_sv" , "DESTRUCTORFUNC_NOCONTEXT_t", "DESTRUCTORFUNC_t", "ENTER" , "ENTER_with_name" , "eval_pv" , "eval_sv" , "FREETMPS" , "G_DISCARD", "G_EVAL", "GIMME" , "GIMME_V" , "G_KEEPERR", "G_LIST", "G_NOARGS", "G_SCALAR", "G_VOID", "is_lvalue_sub" , "LEAVE" , "LEAVE_with_name" , "MORTALDESTRUCTOR_SV", "mortal_destructor_sv" , "MORTALSVFUNC_X", "PL_errgv", "save_aelem", "save_aelem_flags" , "save_aptr", "save_ary", "SAVEBOOL", "SAVEDELETE", "SAVEDESTRUCTOR", "SAVEDESTRUCTOR_X", "SAVEFREEOP", "SAVEFREEPV", "SAVEFREERCPV", "SAVEFREESV", "SAVEGENERICSV", "save_hash", "save_helem", "save_helem_flags" , "save_hptr", "SAVEINT", "save_item", "SAVEIV", "SAVEI8", "SAVEI16", "SAVEI32", "SAVELONG", "SAVEMORTALIZESV", "SAVEPPTR", "SAVERCPV", "save_scalar", "SAVESPTR", "SAVESTACK_POS", "SAVESTRLEN", "save_svref", "SAVETMPS"
"Atof" , "cBOOL" , "INT2PTR", "I_V" , "I_32" , "PTR2IV", "PTR2nat", "PTR2NV", "PTR2ul", "PTR2UV", "PTRV", "U_V" , "U_32"
"toFOLD", "toFOLD_A", "toFOLD_utf8", "toFOLD_utf8_safe", "toFOLD_uvchr" , "toLOWER", "toLOWER_A", "toLOWER_LATIN1", "toLOWER_LC", "toLOWER_L1", "toLOWER_utf8", "toLOWER_utf8_safe", "toLOWER_uvchr" , "toTITLE", "toTITLE_A", "toTITLE_utf8", "toTITLE_utf8_safe", "toTITLE_uvchr" , "toUPPER", "toUPPER_A", "toUPPER_utf8", "toUPPER_utf8_safe", "toUPPER_uvchr"
"isALNUM", "isALNUM_A", "isALNUM_LC", "isALNUM_LC_uvchr" , "isALNUMC", "isALNUMC_A", "isALNUMC_LC", "isALNUMC_LC_uvchr", "isALNUMC_L1" , "isALPHA", "isALPHA_A", "isALPHA_LC", "isALPHA_LC_utf8_safe", "isALPHA_LC_uvchr", "isALPHA_L1", "isALPHA_utf8", "isALPHA_utf8_safe", "isALPHA_uvchr" , "isALPHANUMERIC", "isALPHANUMERIC_A", "isALPHANUMERIC_LC", "isALPHANUMERIC_LC_utf8_safe", "isALPHANUMERIC_LC_uvchr", "isALPHANUMERIC_L1", "isALPHANUMERIC_utf8", "isALPHANUMERIC_utf8_safe", "isALPHANUMERIC_uvchr" , "isASCII", "isASCII_A", "isASCII_LC", "isASCII_LC_utf8_safe", "isASCII_LC_uvchr", "isASCII_L1", "isASCII_utf8", "isASCII_utf8_safe", "isASCII_uvchr" , "isBLANK", "isBLANK_A", "isBLANK_LC", "isBLANK_LC_utf8_safe", "isBLANK_LC_uvchr", "isBLANK_L1", "isBLANK_utf8", "isBLANK_utf8_safe", "isBLANK_uvchr" , "isCNTRL", "isCNTRL_A", "isCNTRL_LC", "isCNTRL_LC_utf8_safe", "isCNTRL_LC_uvchr", "isCNTRL_L1", "isCNTRL_utf8", "isCNTRL_utf8_safe", "isCNTRL_uvchr" , "isDIGIT", "isDIGIT_A", "isDIGIT_LC", "isDIGIT_LC_utf8_safe", "isDIGIT_LC_uvchr", "isDIGIT_L1", "isDIGIT_utf8", "isDIGIT_utf8_safe", "isDIGIT_uvchr" , "isGRAPH", "isGRAPH_A", "isGRAPH_LC", "isGRAPH_LC_utf8_safe", "isGRAPH_LC_uvchr", "isGRAPH_L1", "isGRAPH_utf8", "isGRAPH_utf8_safe", "isGRAPH_uvchr" , "isIDCONT", "isIDCONT_A", "isIDCONT_LC", "isIDCONT_LC_utf8_safe", "isIDCONT_LC_uvchr", "isIDCONT_L1", "isIDCONT_utf8", "isIDCONT_utf8_safe", "isIDCONT_uvchr"

, "isIDFIRST", "isIDFIRST_A", "isIDFIRST_LC", "isIDFIRST_LC_utf8_safe", "isIDFIRST_LC_uvchr", "isIDFIRST_L1", "isIDFIRST_utf8", "isIDFIRST_utf8_safe", "isIDFIRST_uvchr" , "isLOWER", "isLOWER_A", "isLOWER_LC", "isLOWER_LC_utf8_safe", "isLOWER_LC_uvchr", "isLOWER_L1", "isLOWER_utf8", "isLOWER_utf8_safe", "isLOWER_uvchr" , "isOCTAL", "isOCTAL_A", "isOCTAL_L1" , "isPRINT", "isPRINT_A", "isPRINT_LC", "isPRINT_LC_utf8_safe", "isPRINT_LC_uvchr", "isPRINT_L1", "isPRINT_utf8", "isPRINT_utf8_safe", "isPRINT_uvchr" , "isPSXSPC", "isPSXSPC_A", "isPSXSPC_LC", "isPSXSPC_LC_utf8_safe", "isPSXSPC_LC_uvchr", "isPSXSPC_L1", "isPSXSPC_utf8", "isPSXSPC_utf8_safe", "isPSXSPC_uvchr"

, "isPUNCT", "isPUNCT_A", "isPUNCT_LC", "isPUNCT_LC_utf8_safe", "isPUNCT_LC_uvchr", "isPUNCT_L1", "isPUNCT_utf8", "isPUNCT_utf8_safe", "isPUNCT_uvchr" , "isSPACE", "isSPACE_A", "isSPACE_LC", "isSPACE_LC_utf8_safe", "isSPACE_LC_uvchr", "isSPACE_L1", "isSPACE_utf8", "isSPACE_utf8_safe", "isSPACE_uvchr" , "isUPPER", "isUPPER_A", "isUPPER_LC", "isUPPER_LC_utf8_safe", "isUPPER_LC_uvchr", "isUPPER_L1", "isUPPER_utf8", "isUPPER_utf8_safe", "isUPPER_uvchr" , "isWORDCHAR", "isWORDCHAR_A", "isWORDCHAR_LC", "isWORDCHAR_LC_utf8_safe", "isWORDCHAR_LC_uvchr", "isWORDCHAR_L1", "isWORDCHAR_utf8", "isWORDCHAR_utf8_safe", "isWORDCHAR_uvchr" X <isWORDCHAR_uvchr>, "isXDIGIT", "isXDIGIT_A", "isXDIGIT_LC", "isXDIGIT_LC_utf8_safe", "isXDIGIT_LC_uvchr", "isXDIGIT_L1", "isXDIGIT_utf8", "isXDIGIT_utf8_safe", "isXDIGIT_uvchr"

Compiler and Preprocessor information
"CPPLAST" , "CPPMINUS" , "CPPRUN" , "CPPSTDIN" , "HASATTRIBUTE_ALWAYS_INLINE" , "HASATTRIBUTE_DEPRECATED" , "HASATTRIBUTE_FORMAT" , "HASATTRIBUTE_NONNULL" , "HASATTRIBUTE_NORETURN" , "HASATTRIBUTE_PURE" , "HASATTRIBUTE_UNUSED" , "HASATTRIBUTE_VISIBILITY" , "HASATTRIBUTE_WARN_UNUSED_RESULT" , "HAS_BUILTIN_ADD_OVERFLOW" , "HAS_BUILTIN_CHOOSE_EXPR" , "HAS_BUILTIN_EXPECT" , "HAS_BUILTIN_MUL_OVERFLOW" , "HAS_BUILTIN_SUB_OVERFLOW" , "HAS_C99_VARIADIC_MACROS" , "HAS_STATIC_INLINE" , "MEM_ALIGNBYTES" , "PERL_STATIC_INLINE" , "PERL_THREAD_LOCAL" , "U32_ALIGNMENT_REQUIRED"
Compiler directives
"__ASSERT_" , "ASSUME" , "dNOOP" , "END_EXTERN_C" , "EXTERN_C" , "LIKELY" , "NOOP" , "PERL_UNUSED_ARG" , "PERL_UNUSED_CONTEXT" , "PERL_UNUSED_DECL" , "PERL_UNUSED_RESULT" , "PERL_UNUSED_VAR" , "START_EXTERN_C" , "STATIC", "STMT_END", "STMT_START" , "UNLIKELY"
"BhkDISABLE" , "BhkENABLE" , "BhkENTRY_set" , "blockhook_register"
"aTHX", "aTHX_", "CPERLscope" , "dTHR", "dTHX", "dTHXa" , "dTHXoa" , "dVAR" , "GETENV_PRESERVES_OTHER_THREAD" , "HAS_PTHREAD_ATFORK" , "HAS_PTHREAD_ATTR_SETSCOPE" , "HAS_PTHREAD_YIELD" , "HAS_SCHED_YIELD" , "I_MACH_CTHREADS" , "I_PTHREAD" , "MULTIPLICITY", "OLD_PTHREAD_CREATE_JOINABLE" , "OLD_PTHREADS_API" , "PERL_IMPLICIT_CONTEXT", "PERL_NO_GET_CONTEXT", "pTHX", "pTHX_", "SCHED_YIELD"
"cop_fetch_label" , "CopFILE" , "CopFILEAV" , "CopFILEAVn" , "CopFILE_copy" , "CopFILE_free" , "CopFILEGV" , "CopFILEGV_set" , "CopFILE_LEN" , "CopFILE_set" , "CopFILE_setn" , "CopFILESV" , "cophh_copy" , "cophh_delete_pv", "cophh_delete_pvn", "cophh_delete_pvs", "cophh_delete_sv" , "cophh_exists_pvn" , "cophh_fetch_pv", "cophh_fetch_pvn", "cophh_fetch_pvs", "cophh_fetch_sv" , "cophh_free" , "cophh_2hv" , "cophh_new_empty" , "cophh_store_pv", "cophh_store_pvn", "cophh_store_pvs", "cophh_store_sv" , "cop_hints_exists_pv", "cop_hints_exists_pvn", "cop_hints_exists_pvs", "cop_hints_exists_sv" , "cop_hints_fetch_pv", "cop_hints_fetch_pvn", "cop_hints_fetch_pvs", "cop_hints_fetch_sv" , "cop_hints_2hv" , "CopLABEL", "CopLABEL_len", "CopLABEL_len_flags" , "CopLINE" , "CopSTASH" , "CopSTASH_eq" , "CopSTASHPV" , "CopSTASHPV_set" , "CopSTASH_set" , "cop_store_label" , "PERL_SI" , "PL_curcop" , "RCPV_LEN" , "RCPV_REFCNT_dec" , "RCPV_REFCNT_inc" , "RCPV_REFCOUNT" , "RCPVx"
"custom_op_register" , "Perl_custom_op_xop" , "XopDISABLE" , "XopENABLE" , "XopENTRY" , "XopENTRYCUSTOM" , "XopENTRY_set" , "XopFLAGS"
"caller_cx" , "CvDEPTH" , "CvGV" , "CvSTASH" , "find_runcv" , "get_cv", "get_cvn_flags", "get_cvs" , "Nullcv"
"av_dump" , "deb", "deb_nocontext" , "debstack" , "dump_all" , "dump_c_backtrace" , "dump_eval", "dump_form" , "dump_packsubs" , "dump_sub", "get_c_backtrace_dump" , "gv_dump" , "HAS_BACKTRACE" , "hv_dump" , "magic_dump" , "op_class" , "op_dump" , "PL_op", "PL_runops", "PL_sv_serial", "pmop_dump" , "sv_dump" , "sv_dump_depth" , "vdeb"
"form", "form_nocontext" , "mess", "mess_nocontext" , "mess_sv" , "pv_display" , "pv_escape" , "pv_pretty" , "vform" , "vmess"
"call_atexit" , "cv_clone" , "cv_name" , "cv_undef" , "find_rundefsv" , "get_op_descs" , "get_op_names" , "HAS_SKIP_LOCALE_INIT", "intro_my" , "load_module", "load_module_nocontext" , "my_exit" , "my_failure_exit" , "my_strlcat" , "my_strlcpy" , "newPADNAMELIST" , "newPADNAMEouter" , "newPADNAMEpvn" , "nothreadhook" , "pad_add_anon" , "pad_add_name_pv" , "pad_add_name_pvn" , "pad_add_name_sv" , "pad_alloc" , "pad_findmy_pv" , "pad_findmy_pvn" , "pad_findmy_sv" , "padnamelist_fetch" , "padnamelist_store" , "pad_tidy" , "perl_alloc" , "PERL_ASYNC_CHECK", "perl_clone" , "perl_construct" , "perl_destruct" , "perl_free" , "PERL_GET_CONTEXT", "PerlInterpreter", "perl_parse" , "perl_run" , "PERL_SET_CONTEXT", "PERL_SYS_INIT", "PERL_SYS_INIT3" , "PERL_SYS_TERM" , "PL_exit_flags" , "PERL_EXIT_DESTRUCT_END", "PERL_EXIT_ABORT", "PERL_EXIT_WARN", "PERL_EXIT_EXPECTED", "PL_origalen", "PL_perl_destruct_level" , 0 - none, 1 - full, 2 or greater - full with checks, "ptr_table_fetch" , "ptr_table_free" , "ptr_table_new" , "ptr_table_split" , "ptr_table_store" , "require_pv" , "vload_module"
"sv_string_from_errnum"
"dXCPT" , "JMPENV_JUMP", "JMPENV_PUSH", "PL_restartop", "XCPT_CATCH" , "XCPT_RETHROW" , "XCPT_TRY_END" , "XCPT_TRY_START"
"DIRNAMLEN" , "DOSUID" , "EOF_NONBLOCK" , "FCNTL_CAN_LOCK" , "FFLUSH_ALL" , "FFLUSH_NULL" , "FILE_base" , "FILE_bufsiz" , "FILE_cnt" , "FILE_ptr" , "FLEXFILENAMES" , "HAS_DIR_DD_FD" , "HAS_DUP2" , "HAS_DUP3" , "HAS_FAST_STDIO" , "HAS_FCHDIR" , "HAS_FCNTL" , "HAS_FDCLOSE" , "HAS_FPATHCONF" , "HAS_FPOS64_T" , "HAS_FSTATFS" , "HAS_FSTATVFS" , "HAS_GETFSSTAT" , "HAS_GETMNT" , "HAS_GETMNTENT" , "HAS_HASMNTOPT" , "HAS_LSEEK_PROTO" , "HAS_MKDIR" , "HAS_OFF64_T" , "HAS_OPENAT" , "HAS_OPEN3" , "HAS_POLL" , "HAS_READDIR" , "HAS_READDIR64_R" , "HAS_REWINDDIR" , "HAS_RMDIR" , "HAS_SEEKDIR" , "HAS_SELECT" , "HAS_SETVBUF" , "HAS_STDIO_STREAM_ARRAY" , "HAS_STRUCT_FS_DATA" , "HAS_STRUCT_STATFS" , "HAS_STRUCT_STATFS_F_FLAGS" , "HAS_TELLDIR" , "HAS_USTAT" , "I_FCNTL" , "I_SYS_DIR" , "I_SYS_FILE" , "I_SYS_NDIR" , "I_SYS_STATFS" , "LSEEKSIZE" , "RD_NODATA" , "READDIR64_R_PROTO" , "STDCHAR" , "STDIO_CNT_LVALUE" , "STDIO_PTR_LVAL_NOCHANGE_CNT" , "STDIO_PTR_LVAL_SETS_CNT" , "STDIO_PTR_LVALUE" , "STDIO_STREAM_ARRAY" , "ST_INO_SIGN" , "ST_INO_SIZE" , "VAL_EAGAIN" , "VAL_O_NONBLOCK" , "VOID_CLOSEDIR"
"CASTFLAGS" , "CASTNEGFLOAT" , "DOUBLE_HAS_INF" , "DOUBLE_HAS_NAN" , "DOUBLE_HAS_NEGATIVE_ZERO" , "DOUBLE_HAS_SUBNORMALS" , "DOUBLEINFBYTES" , "DOUBLEKIND" , "DOUBLEMANTBITS" , "DOUBLENANBYTES" , "DOUBLESIZE" , "DOUBLE_STYLE_CRAY" , "DOUBLE_STYLE_IBM" , "DOUBLE_STYLE_IEEE" , "DOUBLE_STYLE_VAX" , "HAS_ATOLF" , "HAS_CLASS" , "HAS_FINITE" , "HAS_FINITEL" , "HAS_FPCLASS" , "HAS_FP_CLASS" , "HAS_FPCLASSIFY" , "HAS_FP_CLASSIFY" , "HAS_FPCLASSL" , "HAS_FP_CLASSL" , "HAS_FPGETROUND" , "HAS_FREXPL" , "HAS_ILOGB" , "HAS_ISFINITE" , "HAS_ISFINITEL" , "HAS_ISINF" , "HAS_ISINFL" , "HAS_ISNAN" , "HAS_ISNANL" , "HAS_ISNORMAL" , "HAS_J0L" , "HAS_J0" , "HAS_LDBL_DIG" , "HAS_LDEXPL" , "HAS_LLRINT" , "HAS_LLRINTL" , "HAS_LLROUNDL" , "HAS_LONG_DOUBLE" , "HAS_LRINT" , "HAS_LRINTL" , "HAS_LROUNDL" , "HAS_MODFL" , "HAS_NAN" , "HAS_NEXTTOWARD" , "HAS_REMAINDER" , "HAS_SCALBN" , "HAS_SIGNBIT" , "HAS_SQRTL" , "HAS_STRTOD_L" , "HAS_STRTOLD" , "HAS_STRTOLD_L" , "HAS_TRUNC" , "HAS_UNORDERED" , "I_FENV" , "I_QUADMATH" , "LONGDBLINFBYTES" , "LONGDBLMANTBITS" , "LONGDBLNANBYTES" , "LONG_DOUBLEKIND" , "LONG_DOUBLESIZE" , "LONG_DOUBLE_STYLE_IEEE" , "LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE" , "LONG_DOUBLE_STYLE_IEEE_EXTENDED" , "LONG_DOUBLE_STYLE_IEEE_STD" , "LONG_DOUBLE_STYLE_VAX" , "NV", "NVMANTBITS" , "NV_OVERFLOWS_INTEGERS_AT" , "NV_PRESERVES_UV" , "NV_PRESERVES_UV_BITS" , "NVSIZE" , "NVTYPE" , "NV_ZERO_IS_ALLBITS_ZERO"
"ASCIIish" , "BYTEORDER" , "CHARBITS" , "DB_VERSION_MAJOR_CFG" , "DB_VERSION_MINOR_CFG" , "DB_VERSION_PATCH_CFG" , "DEFAULT_INC_EXCLUDES_DOT" , "DLSYM_NEEDS_UNDERSCORE" , "EBCDIC" , "HAS_CSH" , "HAS_GETHOSTNAME" , "HAS_GNULIBC" , "HAS_LGAMMA" , "HAS_LGAMMA_R" , "HAS_NON_INT_BITFIELDS" , "HAS_PRCTL_SET_NAME" , "HAS_PROCSELFEXE" , "HAS_PSEUDOFORK" , "HAS_REGCOMP" , "HAS_SETPGID" , "HAS_SIGSETJMP" , "HAS_STRUCT_CMSGHDR" , "HAS_STRUCT_MSGHDR" , "HAS_TGAMMA" , "HAS_UNAME" , "HAS_UNION_SEMUN" , "I_DIRENT" , "I_POLL" , "I_SYS_RESOURCE" , "LIBM_LIB_VERSION" , "NEED_VA_COPY", "OSNAME" , "OSVERS" , "PERL_USE_GCC_BRACE_GROUPS" , "PHOSTNAME" , "PROCSELFEXE_PATH" , "PTRSIZE" , "RANDBITS" , "SELECT_MIN_BITS" , "SETUID_SCRIPTS_ARE_SECURE_NOW" , "ST_DEV_SIGN" , "ST_DEV_SIZE"
List of capability "HAS_foo" symbols
List of "#include" needed symbols
"PL_check" , "PL_infix_plugin" , "PL_keyword_plugin" , "PL_phase"
"amagic_call" , "AMGf_noleft", "AMGf_noright", "AMGf_unary", "AMGf_assign", "amagic_deref_call" , "gv_add_by_type" , "Gv_AMupdate" , 1 on success and there is some overload, 0 if there is no overload, -1 if some error occurred and it couldn't croak (because "destructing" is true), "gv_autoload_pv", "gv_autoload_pvn", "gv_autoload_sv" , "gv_autoload4" , "GvAV" , "gv_AVadd", "gv_HVadd", "gv_IOadd", "gv_SVadd" , "gv_const_sv" , "GvCV" , "gv_efullname3", "gv_efullname4", "gv_fullname3", "gv_fullname4" , "gv_fetchfile", "gv_fetchfile_flags" , "gv_fetchmeth", "gv_fetchmeth_pv", "gv_fetchmeth_pvn", "gv_fetchmeth_sv" , "gv_fetchmeth_autoload" , "gv_fetchmethod" , "gv_fetchmethod_autoload" , "gv_fetchmeth_pv_autoload" , "gv_fetchmeth_pvn_autoload" , "gv_fetchmeth_sv_autoload" , "gv_fetchpv", "gv_fetchpvn", "gv_fetchpvn_flags", "gv_fetchpvs", "gv_fetchsv", "gv_fetchsv_nomg" X <gv_fetchsv_nomg>, "GvHV" , "gv_init" , "gv_init_pv" , "gv_init_pvn" , "gv_init_sv" , "gv_name_set" , "gv_stashpv" , "gv_stashpvn" , "gv_stashpvs" , "gv_stashsv" , "GvSV" , "GvSVn" , "newGVgen", "newGVgen_flags" , "PL_curstash" , "PL_defgv" , "PL_defoutgv" , "PL_defstash", "save_gp" , "setdefout"
"rcpv_copy" , "rcpv_free" , "rcpv_new" , "wrap_op_checker"
"get_hv" , "HE", "HEf_SVKEY" , "HeHASH" , "HeKEY" , "HeKLEN" , "HePV" , "HeSVKEY" , "HeSVKEY_force" , "HeSVKEY_set" , "HeUTF8" , "HeVAL" , "HV", "hv_assert" , "hv_bucket_ratio" , "hv_clear" , "hv_clear_placeholders" , "hv_copy_hints_hv" , "hv_delete", "hv_deletes" , "hv_delete_ent" , "HvENAME" , "HvENAMELEN" , "HvENAMEUTF8" , "hv_exists", "hv_existss" , "hv_exists_ent" , "hv_fetch", "hv_fetchs" , "hv_fetch_ent" , "hv_fetchs" , "HvFILL" , "HvHasAUX" , "hv_iterinit" , "hv_iterkey" , "hv_iterkeysv" , "hv_iternext" , "hv_iternext_flags" , "hv_iternextsv" , "hv_iterval" , "hv_ksplit" , "hv_magic" , "HvNAME" , "HvNAMELEN" , "hv_name_set", "hv_name_sets" , "HvNAMEUTF8" , "hv_scalar" , "hv_store", "hv_stores" , "hv_store_ent" , "hv_undef" , "newHV" , "newHVhv" , "Nullhv" , "PERL_HASH", "PL_modglobal"
"do_close" , "IoDIRP", "IOf_FLUSH", "IoFLAGS", "IOf_UNTAINT", "IoIFP", "IoOFP", "IoTYPE", "my_chsize" , "my_dirfd" , "my_pclose" , "my_popen" , "newIO" , "PERL_FLUSHALL_FOR_CHILD" , "PerlIO_apply_layers", "PerlIO_binmode", "PerlIO_canset_cnt", "PerlIO_clearerr", "PerlIO_close", "PerlIO_debug", "PerlIO_eof", "PerlIO_error", "PerlIO_exportFILE", "PerlIO_fast_gets", "PerlIO_fdopen", "PerlIO_fileno", "PerlIO_fill", "PerlIO_findFILE", "PerlIO_flush", "PerlIO_get_base", "PerlIO_get_bufsiz", "PerlIO_get_cnt", "PerlIO_get_ptr", "PerlIO_getc", "PerlIO_getpos", "PerlIO_has_base", "PerlIO_has_cntptr", "PerlIO_importFILE", "PerlIO_open", "PerlIO_printf", "PerlIO_putc", "PerlIO_puts", "PerlIO_read", "PerlIO_releaseFILE", "PerlIO_reopen", "PerlIO_rewind", "PerlIO_seek", "PerlIO_set_cnt", "PerlIO_set_ptrcnt", "PerlIO_setlinebuf", "PerlIO_setpos", "PerlIO_stderr", "PerlIO_stdin", "PerlIO_stdout", "PerlIO_stdoutf", "PerlIO_tell", "PerlIO_ungetc", "PerlIO_unread", "PerlIO_vprintf", "PerlIO_write", "PERLIO_F_APPEND", "PERLIO_F_CANREAD", "PERLIO_F_CANWRITE", "PERLIO_F_CRLF", "PERLIO_F_EOF", "PERLIO_F_ERROR", "PERLIO_F_FASTGETS", "PERLIO_F_LINEBUF", "PERLIO_F_OPEN", "PERLIO_F_RDBUF", "PERLIO_F_TEMP", "PERLIO_F_TRUNCATE", "PERLIO_F_UNBUF", "PERLIO_F_UTF8", "PERLIO_F_WRBUF", "PERLIO_FUNCS_CAST" , "PERLIO_FUNCS_DECL" , "PERLIO_K_BUFFERED", "PERLIO_K_CANCRLF", "PERLIO_K_FASTGETS", "PERLIO_K_MULTIARG", "PERLIO_K_RAW", "PERLIO_NOT_STDIO", "PL_maxsysfd", "repeatcpy" , "USE_STDIO"
"CASTI32" , "HAS_INT64_T" , "HAS_LONG_LONG" , "HAS_QUAD" , "I32df" , "INT16_C", "INT32_C", "INT64_C" , "INTMAX_C" , "INTSIZE" , "I8SIZE" , "I16SIZE" , "I32SIZE" , "I64SIZE" , "I8TYPE" , "I16TYPE" , "I32TYPE" , "I64TYPE" , "IV", "I8", "I16", "I32", "I64", "IV_MAX" , "IV_MIN" , "IVSIZE" , "IVTYPE" , "line_t" , "LONGLONGSIZE" , "LONGSIZE" , "memzero" , "PERL_INT_FAST8_T", "PERL_INT_FAST16_T", "PERL_UINT_FAST8_T", "PERL_UINT_FAST16_T" , "PERL_INT_MAX", "PERL_INT_MIN", "PERL_LONG_MAX", "PERL_LONG_MIN", "PERL_QUAD_MAX", "PERL_QUAD_MIN", "PERL_SHORT_MAX", "PERL_SHORT_MIN", "PERL_UCHAR_MAX", "PERL_UCHAR_MIN", "PERL_UINT_MAX", "PERL_UINT_MIN", "PERL_ULONG_MAX", "PERL_ULONG_MIN", "PERL_UQUAD_MAX", "PERL_UQUAD_MIN", "PERL_USHORT_MAX", "PERL_USHORT_MIN" , "SHORTSIZE" , "UINT16_C", "UINT32_C", "UINT64_C" , "UINTMAX_C" , "U32of" , "U8SIZE" , "U16SIZE" , "U32SIZE" , "U64SIZE" , "U8TYPE" , "U16TYPE" , "U32TYPE" , "U64TYPE" , "U32uf" , "UV", "U8", "U16", "U32", "U64", "UV_MAX" , "UV_MIN" , "UVSIZE" , "UVTYPE" , "U32Xf" , "U32xf" , "WIDEST_UTYPE"
I/O Formats
"HvNAMEf", "HvNAMEf_QUOTEDPREFIX", "IVdf" , "NVef" , "NVff" , "NVgf" , "PERL_PRIeldbl" , "PERL_PRIfldbl" , "PERL_PRIgldbl" , "PERL_SCNfldbl" , "PRINTF_FORMAT_NULL_OK" , "SVf", "SVfARG", "SVf_QUOTEDPREFIX", "UTF8f", "UTF8fARG", "UTF8f_QUOTEDPREFIX", "UVf" , "UVof" , "UVuf" , "UVXf" , "UVxf"
"BHK", "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_subsignature" , "parse_termexpr" , "PL_parser" , "PL_parser->bufend" , "PL_parser->bufptr" , "PL_parser->linestart" , "PL_parser->linestr" , "suspend_compcv" , "wrap_infix_plugin" , "wrap_keyword_plugin"
"DECLARATION_FOR_LC_NUMERIC_MANIPULATION" , "foldEQ_locale" , "HAS_DUPLOCALE" , "HAS_FREELOCALE" , "HAS_LC_MONETARY_2008" , "HAS_LOCALECONV" , "HAS_LOCALECONV_L" , "HAS_NEWLOCALE" , "HAS_NL_LANGINFO" , "HAS_NL_LANGINFO_L" , "HAS_QUERYLOCALE" , "HAS_SETLOCALE" , "HAS_SETLOCALE_R" , "HAS_USELOCALE" , "I_LANGINFO" , "I_LOCALE" , "IN_LOCALE" , "IN_LOCALE_COMPILETIME" , "IN_LOCALE_RUNTIME" , "I_XLOCALE" , "NEED_XLOCALE_H" , "Perl_langinfo", "Perl_langinfo8" , a, b, c, d, e, "PERL_LC_ALL_CATEGORY_POSITIONS_INIT" , "PERL_LC_ALL_SEPARATOR" , "PERL_LC_ALL_USES_NAME_VALUE_PAIRS" , "Perl_localeconv" , "Perl_setlocale" , "RESTORE_LC_NUMERIC" , "SETLOCALE_ACCEPTS_ANY_LOCALE_NAME" , "STORE_LC_NUMERIC_FORCE_TO_UNDERLYING" , "STORE_LC_NUMERIC_SET_TO_NEEDED" , "STORE_LC_NUMERIC_SET_TO_NEEDED_IN" , "sv_langinfo" , "switch_to_global_locale" , POSIX::localeconv, I18N::Langinfo, items "CRNCYSTR" and "THOUSEP", "sv_langinfo" in perlapi, items "CRNCYSTR" and "THOUSEP", "sync_locale" , "WITH_LC_NUMERIC_SET_TO_NEEDED" , "WITH_LC_NUMERIC_SET_TO_NEEDED_IN"
"mg_clear" , "mg_copy" , "MGf_COPY", "MGf_DUP", "MGf_LOCAL", "mg_find" , "mg_findext" , "mg_free" , "mg_freeext" , "mg_free_type" , "mg_get" , "mg_magical" , "mg_set" , "MGVTBL", "PERL_MAGIC_arylen", "PERL_MAGIC_arylen_p", "PERL_MAGIC_backref", "PERL_MAGIC_bm", "PERL_MAGIC_checkcall", "PERL_MAGIC_collxfrm", "PERL_MAGIC_dbfile", "PERL_MAGIC_dbline", "PERL_MAGIC_debugvar", "PERL_MAGIC_defelem", "PERL_MAGIC_destruct", "PERL_MAGIC_env", "PERL_MAGIC_envelem", "PERL_MAGIC_ext", "PERL_MAGIC_extvalue", "PERL_MAGIC_fm", "PERL_MAGIC_hints", "PERL_MAGIC_hintselem", "PERL_MAGIC_hook", "PERL_MAGIC_hookelem", "PERL_MAGIC_isa", "PERL_MAGIC_isaelem", "PERL_MAGIC_lvref", "PERL_MAGIC_nkeys", "PERL_MAGIC_nonelem", "PERL_MAGIC_overload_table", "PERL_MAGIC_pos", "PERL_MAGIC_qr", "PERL_MAGIC_regdata", "PERL_MAGIC_regdatum", "PERL_MAGIC_regex_global", "PERL_MAGIC_rhash", "PERL_MAGIC_shared", "PERL_MAGIC_shared_scalar", "PERL_MAGIC_sig", "PERL_MAGIC_sigelem", "PERL_MAGIC_substr", "PERL_MAGIC_sv", "PERL_MAGIC_symtab", "PERL_MAGIC_taint", "PERL_MAGIC_tied", "PERL_MAGIC_tiedelem", "PERL_MAGIC_tiedscalar", "PERL_MAGIC_utf8", "PERL_MAGIC_uvar", "PERL_MAGIC_uvar_elem", "PERL_MAGIC_vec", "PERL_MAGIC_vstring", "SvTIED_obj"
"dump_mstats" , "HASATTRIBUTE_MALLOC" , "HAS_MALLOC_GOOD_SIZE" , "HAS_MALLOC_SIZE" , "I_MALLOCMALLOC" , "MYMALLOC" , "Newx", "safemalloc" , "Newxc" , "Newxz", "safecalloc" , "PERL_MALLOC_WRAP" , "Renew", "saferealloc" , "Renewc" , "Safefree" , "safesyscalloc" , "safesysfree" , "safesysmalloc" , "safesysrealloc"
"HvMROMETA", "mro_get_from_name" , "mro_get_linear_isa" , "MRO_GET_PRIVATE_DATA", "mro_method_changed_in" , "mro_register" , "mro_set_mro" , "mro_set_private_data"
"dMULTICALL" , "MULTICALL" , "POP_MULTICALL" , "PUSH_MULTICALL"
"Atol", "Atoul", "Drand01" , "Gconvert" , "grok_atoUV" , "grok_bin" , "grok_hex" , "grok_infnan" , "grok_number" , "grok_number_flags" , "GROK_NUMERIC_RADIX" , "grok_numeric_radix" , "grok_oct" , "isinfnan" , "my_atof" , "my_strtod" , "PERL_ABS" , "Perl_acos", "Perl_asin", "Perl_atan", "Perl_atan2", "Perl_ceil", "Perl_cos", "Perl_cosh", "Perl_exp", "Perl_floor", "Perl_fmod", "Perl_frexp", "Perl_isfinite", "Perl_isinf", "Perl_isnan", "Perl_ldexp", "Perl_log", "Perl_log10", "Perl_modf", "Perl_pow", "Perl_sin", "Perl_sinh", "Perl_sqrt", "Perl_tan", "Perl_tanh" X <Perl_isinf>X <Perl_pow>, "Perl_signbit" , "PL_hexdigit" , "READ_XDIGIT" , "scan_bin" , "scan_hex" , "scan_oct" , "seedDrand01" , "Strtod" , "Strtol" , "Strtoul"
"alloccopstash" , "BINOP", "block_end" , "block_start" , "ck_entersub_args_list" , "ck_entersub_args_proto" , "ck_entersub_args_proto_or_list" , "cv_const_sv" , "cv_get_call_checker" , "cv_get_call_checker_flags" , "cv_set_call_checker" , "cv_set_call_checker_flags" , "finalize_optree" , "forbid_outofblock_ops" , "LINKLIST" , "LISTOP", "LOGOP", "LOOP", "newANONATTRSUB" , "newANONHASH" , "newANONLIST" , "newANONSUB" , "newARGDEFELEMOP" , "newASSIGNOP" , "newATTRSUB" , "newAVREF" , "newBINOP" , "newCONDOP" , "newCONSTSUB", "newCONSTSUB_flags" , "newCVREF" , "newDEFEROP" , "newDEFSVOP" , "newFOROP" , "newGIVENOP" , "newGVOP" , "newGVREF" , "newHVREF" , "newLISTOP" , "newLISTOPn" , "newLOGOP" , "newLOOPEX" , "newLOOPOP" , "newMETHOP" , "newMETHOP_named" , "newNULLLIST" , "newOP" , "newPADOP" , "newPMOP" , "newPVOP" , "newRANGE" , "newSLICEOP" , "newSTATEOP" , "newSUB" , "newSVOP" , "newSVREF" , "newTRYCATCHOP" , "newUNOP" , "newUNOP_AUX" , "newWHENOP" , "newWHILEOP" , "newXS" , "OA_BASEOP", "OA_BINOP", "OA_COP", "OA_LISTOP", "OA_LOGOP", "OA_LOOP", "OA_PADOP", "OA_PMOP", "OA_PVOP_OR_SVOP", "OA_SVOP", "OA_UNOP", "OP", "op_append_elem" , "op_append_list" , "OP_CLASS" , "op_contextualize" , "op_convert_list" , "OP_DESC" , "op_force_list" , "op_free" , "OpHAS_SIBLING" , "OpLASTSIB_set" , "op_linklist" , "op_lvalue" , "OpMAYBESIB_set" , "OpMORESIB_set" , "OP_NAME" , "op_null" , "op_parent" , "op_prepend_elem" , "op_scope" , "OpSIBLING" , "op_sibling_splice" , "optimize_optree" , "OP_TYPE_IS" , "OP_TYPE_IS_OR_WAS" , "op_wrap_finally" , "peep_t", "Perl_cpeep_t", "PL_opfreehook" , "PL_peepp" , "PL_rpeepp" , "PMOP", "rv2cv_op_cv" , "UNOP", "XOP"
"packlist" , "unpackstring"
"CvPADLIST" , "pad_add_name_pvs" , "PadARRAY" , "pad_findmy_pvs" , "PadlistARRAY" , "PadlistMAX" , "PadlistNAMES" , "PadlistNAMESARRAY" , "PadlistNAMESMAX" , "PadlistREFCNT" , "PadMAX" , "PadnameLEN" , "PadnamelistARRAY" , "PadnamelistMAX" , "PadnamelistREFCNT" , "PadnamelistREFCNT_dec" , "PadnamePV" , "PadnameREFCNT" , "PadnameREFCNT_dec" , "PadnameREFCNT_inc" , "PadnameSV" , "PadnameUTF8" , "pad_new" , "PL_comppad" , "PL_comppad_name" , "PL_curpad" , "SVs_PADMY", "SVs_PADTMP"
"GRPASSWD" , "HAS_ENDGRENT" , "HAS_ENDGRENT_R" , "HAS_ENDPWENT" , "HAS_ENDPWENT_R" , "HAS_GETGRENT" , "HAS_GETGRENT_R" , "HAS_GETPWENT" , "HAS_GETPWENT_R" , "HAS_SETGRENT" , "HAS_SETGRENT_R" , "HAS_SETPWENT" , "HAS_SETPWENT_R" , "PWAGE" , "PWCHANGE" , "PWCLASS" , "PWCOMMENT" , "PWEXPIRE" , "PWGECOS" , "PWPASSWD" , "PWQUOTA"
"CSH" , "LOC_SED" , "SH_PATH"
"CRYPT_R_PROTO" , "CTERMID_R_PROTO" , "DRAND48_R_PROTO" , "ENDGRENT_R_PROTO" , "ENDHOSTENT_R_PROTO" , "ENDNETENT_R_PROTO" , "ENDPROTOENT_R_PROTO" , "ENDPWENT_R_PROTO" , "ENDSERVENT_R_PROTO" , "GDBMNDBM_H_USES_PROTOTYPES" , "GDBM_NDBM_H_USES_PROTOTYPES" , "GETGRENT_R_PROTO" , "GETGRGID_R_PROTO" , "GETGRNAM_R_PROTO" , "GETHOSTBYADDR_R_PROTO" , "GETHOSTBYNAME_R_PROTO" , "GETHOSTENT_R_PROTO" , "GETLOGIN_R_PROTO" , "GETNETBYADDR_R_PROTO" , "GETNETBYNAME_R_PROTO" , "GETNETENT_R_PROTO" , "GETPROTOBYNAME_R_PROTO" , "GETPROTOBYNUMBER_R_PROTO" , "GETPROTOENT_R_PROTO" , "GETPWENT_R_PROTO" , "GETPWNAM_R_PROTO" , "GETPWUID_R_PROTO" , "GETSERVBYNAME_R_PROTO" , "GETSERVBYPORT_R_PROTO" , "GETSERVENT_R_PROTO" , "GETSPNAM_R_PROTO" , "HAS_DBMINIT_PROTO" , "HAS_DRAND48_PROTO" , "HAS_FLOCK_PROTO" , "HAS_GETHOST_PROTOS" , "HAS_GETNET_PROTOS" , "HAS_GETPROTO_PROTOS" , "HAS_GETSERV_PROTOS" , "HAS_MODFL_PROTO" , "HAS_SBRK_PROTO" , "HAS_SETRESGID_PROTO" , "HAS_SETRESUID_PROTO" , "HAS_SHMAT_PROTOTYPE" , "HAS_SOCKATMARK_PROTO" , "HAS_SYSCALL_PROTO" , "HAS_TELLDIR_PROTO" , "NDBM_H_USES_PROTOTYPES" , "RANDOM_R_PROTO" , "READDIR_R_PROTO" , "SETGRENT_R_PROTO" , "SETHOSTENT_R_PROTO" , "SETLOCALE_R_PROTO" , "SETNETENT_R_PROTO" , "SETPROTOENT_R_PROTO" , "SETPWENT_R_PROTO" , "SETSERVENT_R_PROTO" , "SRANDOM_R_PROTO" , "SRAND48_R_PROTO" , "STRERROR_R_PROTO" , "TMPNAM_R_PROTO" , "TTYNAME_R_PROTO"
"rpp_context" , "rpp_extend" , "rpp_invoke_xs" , "rpp_is_lone" , "rpp_popfree_1_NN" , "rpp_popfree_2_NN" , "rpp_popfree_to" , "rpp_popfree_to_NN" , "rpp_popfree_1" , "rpp_popfree_2" , "rpp_pop_1_norc" , "rpp_push_1_norc" , "rpp_push_1", "rpp_push_IMM", "rpp_push_2", "rpp_xpush_1", "rpp_xpush_IMM", "rpp_xpush_2" , "rpp_replace_at" , "rpp_replace_at_NN" , "rpp_replace_at_norc" , "rpp_replace_at_norc_NN" , "rpp_replace_1_1", "rpp_replace_1_1_NN", "rpp_replace_1_IMM_NN" , "rpp_replace_2_1", "rpp_replace_2_1_NN", "rpp_replace_2_IMM_NN" , "rpp_stack_is_rc" , "rpp_try_AMAGIC_1", "rpp_try_AMAGIC_2" , "XSPP_wrapped"
"pregcomp", "pregexec", "re_compile" , "re_dup_guts" , "REGEX_LOCALE_CHARSET", "REGEXP", "regexp_engine" , "regexp_paren_pair", "regmatch_info" , "REXEC_COPY_SKIP_POST", "REXEC_COPY_SKIP_PRE", "REXEC_COPY_STR", "RXapif_ALL", "RXapif_CLEAR", "RXapif_DELETE", "RXapif_EXISTS", "RXapif_FETCH", "RXapif_FIRSTKEY", "RXapif_NEXTKEY", "RXapif_ONE", "RXapif_REGNAME", "RXapif_REGNAMES", "RXapif_REGNAMES_COUNT", "RXapif_SCALAR", "RXapif_STORE", "RX_BUFF_IDX_CARET_FULLMATCH", "RX_BUFF_IDX_CARET_POSTMATCH", "RX_BUFF_IDX_CARET_PREMATCH", "RX_BUFF_IDX_FULLMATCH", "RX_BUFF_IDX_POSTMATCH", "RX_BUFF_IDX_PREMATCH", "RXf_NO_INPLACE_SUBST", "RXf_NULL", "RXf_SKIPWHITE", "RXf_SPLIT", "RXf_START_ONLY", "RXf_WHITE", "RXf_PMf_EXTENDED", "RXf_PMf_FOLD", "RXf_PMf_KEEPCOPY", "RXf_PMf_MULTILINE", "RXf_PMf_SINGLELINE", "RX_MATCH_COPIED", "struct regexp", "SvRX" , "SvRXOK" , "SV_SAVED_COPY"
"IoBOTTOM_GV", "IoBOTTOM_NAME", "IoFMT_GV", "IoFMT_NAME", "IoLINES", "IoLINES_LEFT", "IoPAGE", "IoPAGE_LEN", "IoTOP_GV", "IoTOP_NAME"
"HAS_SIGINFO_SI_ADDR" , "HAS_SIGINFO_SI_BAND" , "HAS_SIGINFO_SI_ERRNO" , "HAS_SIGINFO_SI_PID" , "HAS_SIGINFO_SI_STATUS" , "HAS_SIGINFO_SI_UID" , "HAS_SIGINFO_SI_VALUE" , "PERL_SIGNALS_UNSAFE_FLAG" , "rsignal" , "rsignal_state" , "Sigjmp_buf" , "Siglongjmp" , "SIG_NAME" , "SIG_NUM" , "Sigsetjmp" , "SIG_SIZE" , "whichsig", "whichsig_pv", "whichsig_pvn", "whichsig_sv"
"ARCHLIB" , "ARCHLIB_EXP" , "ARCHNAME" , "BIN" , "BIN_EXP" , "INSTALL_USR_BIN_PERL" , "MULTIARCH" , "PERL_INC_VERSION_LIST" , "PERL_OTHERLIBDIRS" , "PERL_RELOCATABLE_INC" , "PERL_TARGETARCH" , "PERL_USE_DEVEL" , "PERL_VENDORARCH" , "PERL_VENDORARCH_EXP" , "PERL_VENDORLIB_EXP" , "PERL_VENDORLIB_STEM" , "PRIVLIB" , "PRIVLIB_EXP" , "SITEARCH" , "SITEARCH_EXP" , "SITELIB" , "SITELIB_EXP" , "SITELIB_STEM" , "STARTPERL" , "USE_64_BIT_ALL" , "USE_64_BIT_INT" , "USE_BSD_GETPGRP" , "USE_BSD_SETPGRP" , "USE_C_BACKTRACE" , "USE_CPLUSPLUS" , "USE_CROSS_COMPILE" , "USE_DTRACE" , "USE_DYNAMIC_LOADING" , "USE_FAST_STDIO" , "USE_ITHREADS" , "USE_KERN_PROC_PATHNAME" , "USE_LARGE_FILES" , "USE_LONG_DOUBLE" , "USE_MORE_BITS" , "USE_NSGETEXECUTABLEPATH" , "USE_PERLIO" , "USE_QUADMATH" , "USE_REENTRANT_API" , "USE_SEMCTL_SEMID_DS" , "USE_SEMCTL_SEMUN" , "USE_SITECUSTOMIZE" , "USE_SOCKS" , "USE_STAT_BLOCKS" , "USE_STDIO_BASE" , "USE_STDIO_PTR" , "USE_STRICT_BY_DEFAULT" , "USE_THREADS"
"HAS_SOCKADDR_IN6" , "HAS_SOCKADDR_SA_LEN" , "HAS_SOCKADDR_STORAGE" , "HAS_SOCKATMARK" , "HAS_SOCKET" , "HAS_SOCKETPAIR" , "HAS_SOCKS5_INIT" , "I_SOCKS" , "I_SYS_SOCKIO"
"apply_builtin_cv_attributes" , "filter_add", "filter_del" , "filter_read", "scan_vstring" , "start_subparse"
"dMARK" , "dORIGMARK" , "dSP" , "dTARGET" , "EXTEND" , "MARK" , "mPUSHi" , "mPUSHn" , "mPUSHp" , "mPUSHpvs" , "mPUSHs" , "mPUSHu" , "mXPUSHi" , "mXPUSHn" , "mXPUSHp" , "mXPUSHpvs" , "mXPUSHs" , "mXPUSHu" , "newXSproto" , "ORIGMARK" , "PL_markstack", "PL_markstack_ptr", "PL_savestack", "PL_savestack_ix", "PL_scopestack", "PL_scopestack_ix", "PL_scopestack_name", "PL_stack_base", "PL_stack_sp", "PL_tmps_floor", "PL_tmps_ix", "PL_tmps_stack", "POPi" , "POPl" , "POPn" , "POPp" , "POPpbytex" , "POPpx" , "POPs" , "POPu" , "POPul" , "PUSHi" , "PUSHMARK" , "PUSHmortal" , "PUSHn" , "PUSHp" , "PUSHpvs" , "PUSHs" , "PUSHu" , "PUTBACK" , "SAVEt_INT", "SP" , "SPAGAIN" , "SSNEW", "SSNEWa", "SSNEWat", "SSNEWt" , "SSPTR", "SSPTRt" , "TARG" , "TOPs", "XPUSHi" , "XPUSHmortal" , "XPUSHn" , "XPUSHp" , "XPUSHpvs" , "XPUSHs" , "XPUSHu" , "XS_APIVERSION_BOOTCHECK" , "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_mUV" , "XST_mYES" , "XS_VERSION" , "XS_VERSION_BOOTCHECK"
String Handling
"CAT2" , "Copy", "CopyD" , "delimcpy" , "do_join" , "do_sprintf" , "fbm_compile" , "fbm_instr" , "foldEQ" , "ibcmp" , "ibcmp_locale" , "ibcmp_utf8" , "instr" , "memCHRs" , "memEQ" , "memEQs" , "memNE" , "memNEs" , "Move", "MoveD" , "my_snprintf" , "my_sprintf" , "my_strnlen" , "my_vsnprintf" , "NewCopy" , "ninstr" , "Nullch" , "PL_na" , "rninstr" , "savepv" , "savepvn" , "savepvs" , "savesharedpv" , "savesharedpvn" , "savesharedpvs" , "savesharedsvpv" , "savesvpv" , "strEQ" , "strGE" , "strGT" , "STRINGIFY" , "strLE" , "STRLEN", "strLT" , "strNE" , "strnEQ" , "strnNE" , "STR_WITH_LEN" , "Zero", "ZeroD"
"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_PVOBJ" , "SVt_REGEXP" , "svtype"
"AV_FROM_REF", "CV_FROM_REF", "HV_FROM_REF" , "BOOL_INTERNALS_sv_isbool" , "BOOL_INTERNALS_sv_isbool_false" , "BOOL_INTERNALS_sv_isbool_true" , "boolSV" , "croak_xs_usage" , "DEFSV" , "DEFSV_set" , "get_sv" , "isGV_with_GP" , "looks_like_number" , "MUTABLE_AV", "MUTABLE_CV", "MUTABLE_GV", "MUTABLE_HV", "MUTABLE_IO", "MUTABLE_PTR", "MUTABLE_SV" , "newRV", "newRV_inc" , "newRV_noinc" , "newSV" , "newSVbool" , "newSV_false" , "newSVhek" , "newSVhek_mortal" , "newSViv" , "newSVnv" , "newSVpadname" , "newSVpv" , "newSVpvf" , "newSVpvf_nocontext" , "newSVpvn" , "newSVpvn_flags" , "newSVpvn_share" , "newSVpvn_utf8" , "newSVpvs" , "newSVpvs_flags" , "newSVpv_share" , "newSVpvs_share" , "newSVrv" , "newSVsv", "newSVsv_flags", "newSVsv_nomg" , "newSV_true" , "newSV_type" , "newSV_type_mortal" , "newSVuv" , "Nullsv" , "PL_sv_no" , "PL_sv_undef" , "PL_sv_yes" , "PL_sv_zero" , "SAVE_DEFSV" , "sortsv" , "sortsv_flags" , "SV", "SvAMAGIC" , "SvAMAGIC_off" , "SvAMAGIC_on" , "sv_backoff" , "sv_bless" , "SvBoolFlagsOK" , "sv_catpv", "sv_catpv_flags", "sv_catpv_mg", "sv_catpv_nomg" , "sv_catpvf", "sv_catpvf_mg", "sv_catpvf_mg_nocontext", "sv_catpvf_nocontext" , "sv_catpvn", "sv_catpvn_flags", "sv_catpvn_mg", "sv_catpvn_nomg" , "sv_catpvs" , "sv_catpvs_flags" , "sv_catpvs_mg" , "sv_catpvs_nomg" , "sv_catsv", "sv_catsv_flags", "sv_catsv_mg", "sv_catsv_nomg" , "SV_CHECK_THINKFIRST" , "SV_CHECK_THINKFIRST_COW_DROP" , "sv_chop" , "sv_clear" , "sv_cmp" , "sv_cmp_flags" , "sv_cmp_locale" , "sv_cmp_locale_flags" , "sv_collxfrm" , "sv_collxfrm_flags" , "sv_copypv", "sv_copypv_flags", "sv_copypv_nomg" , "SvCUR" , "SvCUR_set" , "sv_2cv" , "sv_dec", "sv_dec_nomg" , "sv_derived_from" , "sv_derived_from_hv" , "sv_derived_from_pv" , "sv_derived_from_pvn" , "sv_derived_from_sv" , "sv_does" , "sv_does_pv" , "sv_does_pvn" , "sv_does_sv" , "SvEND" , "sv_eq", "sv_eq_flags" , "sv_force_normal" , "sv_force_normal_flags" , "sv_free" , "SvGAMAGIC" , "sv_get_backrefs" , "SvGETMAGIC" , "sv_gets" , "SvGROW" , "SvIandPOK" , "SvIandPOK_off" , "SvIandPOK_on" , "sv_inc", "sv_inc_nomg" , "sv_insert", "sv_insert_flags" , "sv_2io" , "SvIOK" , "SvIOK_notUV" , "SvIOK_off" , "SvIOK_on" , "SvIOK_only" , "SvIOK_only_UV" , "SvIOKp" , "SvIOK_UV" , "sv_isa" , "sv_isa_sv" , "SvIsBOOL" , "SvIsCOW" , "SvIsCOW_shared_hash" , "sv_isobject" , "SvIV", "SvIV_nomg", "SvIVx" , "sv_2iv_flags" , "SvIV_set" , "SvIVX" , "SvLEN" , "sv_len" , "SvLEN_set" , "sv_len_utf8", "sv_len_utf8_nomg" , "SvLOCK" , "sv_magic" , "sv_magicext" , "SvMAGIC_set" , "sv_2mortal" , "sv_mortalcopy" , "sv_mortalcopy_flags" , "sv_newmortal" , "SvNIOK" , "SvNIOK_off" , "SvNIOKp" , "SvNOK" , "SvNOK_off" , "SvNOK_on" , "SvNOK_only" , "SvNOKp" , "sv_nolocking" , "sv_nounlocking" , "sv_numeq" , "sv_numeq_flags" , "SvNV", "SvNV_nomg", "SvNVx" , "sv_2nv_flags" , "SvNV_set" , "SvNVX" , "SvOK" , "SvOOK" , "SvOOK_off" , "SvOOK_offset" , "SvPOK" , "SvPOK_off" , "SvPOK_on" , "SvPOK_only" , "SvPOK_only_UTF8" , "SvPOKp" , "sv_pos_b2u" , "sv_pos_b2u_flags" , "sv_pos_u2b" , "sv_pos_u2b_flags" , "SvPV", "SvPV_const", "SvPV_flags", "SvPV_flags_const", "SvPV_flags_mutable", "SvPV_mutable", "SvPV_nolen", "SvPV_nolen_const", "SvPV_nomg", "SvPV_nomg_const", "SvPV_nomg_const_nolen", "SvPV_nomg_nolen", "SvPVbyte", "SvPVbyte_nolen", "SvPVbyte_nomg", "SvPVbyte_or_null", "SvPVbyte_or_null_nomg", "SvPVbytex", "SvPVbytex_nolen", "SvPVutf8", "SvPVutf8_nolen", "SvPVutf8_nomg", "SvPVutf8_or_null", "SvPVutf8_or_null_nomg", "SvPVutf8x", "SvPVx", "SvPVx_const", "SvPVx_nolen", "SvPVx_nolen_const"

, "sv_2pv", "sv_2pv_flags" , "sv_2pvbyte", "sv_2pvbyte_flags" , "SvPVCLEAR" , "SvPVCLEAR_FRESH" , "SvPV_force", "SvPV_force_flags", "SvPV_force_flags_mutable", "SvPV_force_flags_nolen", "SvPV_force_mutable", "SvPV_force_nolen", "SvPV_force_nomg", "SvPV_force_nomg_nolen", "SvPVbyte_force", "SvPVbytex_force", "SvPVutf8_force", "SvPVutf8x_force", "SvPVx_force" , "SvPV_free" , "sv_pvn_force_flags" , "SvPV_renew" , "SvPV_set" , "SvPV_shrink_to_cur" , "sv_2pvutf8", "sv_2pvutf8_flags" , "SvPVX", "SvPVX_const", "SvPVX_mutable", "SvPVXx" , "SvPVXtrue" , "SvREADONLY" , "SvREADONLY_off" , "SvREADONLY_on" , "sv_ref" , "SvREFCNT" , "SvREFCNT_dec", "SvREFCNT_dec_set_NULL", "SvREFCNT_dec_ret_NULL", "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" , "sv_reftype" , "sv_replace" , "sv_report_used" , "sv_reset" , "SvROK" , "SvROK_off" , "SvROK_on" , "SvRV" , "SvRV_set" , "sv_rvunweaken" , "sv_rvweaken" , "sv_setbool", "sv_setbool_mg" , "sv_set_bool" , "sv_set_false" , "sv_setiv", "sv_setiv_mg" , "SvSETMAGIC" , "SvSetMagicSV", "SvSetMagicSV_nosteal", "SvSetSV", "SvSetSV_nosteal" , "sv_setnv", "sv_setnv_mg" , "sv_setpv", "sv_setpv_mg", "sv_setpvn", "sv_setpvn_fresh", "sv_setpvn_mg", "sv_setpvs", "sv_setpvs_mg" , "sv_setpv_bufsize" , "sv_setpvf", "sv_setpvf_mg", "sv_setpvf_mg_nocontext", "sv_setpvf_nocontext" , "sv_setref_iv" , "sv_setref_nv" , "sv_setref_pv" , "sv_setref_pvn" , "sv_setref_pvs" , "sv_setref_uv" , "sv_setrv_inc", "sv_setrv_inc_mg" , "sv_setrv_noinc", "sv_setrv_noinc_mg" , "sv_setsv", "sv_setsv_flags", "sv_setsv_mg", "sv_setsv_nomg" , "sv_set_true" , "sv_set_undef" , "sv_setuv", "sv_setuv_mg" , "SvSHARE" , "SvSHARED_HASH" , "SvSTASH" , "SvSTASH_set" , "sv_streq" , "sv_streq_flags" , "SvTRUE", "SvTRUE_NN", "SvTRUE_nomg", "SvTRUE_nomg_NN", "SvTRUEx" , "SvTYPE" , "SvUNLOCK" , "sv_unmagic" , "sv_unmagicext" , "sv_unref" , "sv_unref_flags" , "SvUOK" , "SvUPGRADE" , "sv_upgrade" , "sv_usepvn", "sv_usepvn_flags", "sv_usepvn_mg" , "sv_utf8_decode" , "sv_utf8_downgrade", "sv_utf8_downgrade_flags", "sv_utf8_downgrade_nomg" , "sv_utf8_encode" , "SvUTF8_off" , "SvUTF8_on" , "sv_utf8_upgrade", "sv_utf8_upgrade_flags", "sv_utf8_upgrade_flags_grow", "sv_utf8_upgrade_nomg" , "SvUTF8" , "SvUV", "SvUV_nomg", "SvUVx" , "sv_2uv_flags" , "SvUV_set" , "SvUVX" , "SvUVXx" , "sv_vcatpvf", "sv_vcatpvf_mg" , "sv_vcatpvfn", "sv_vcatpvfn_flags" , "SvVOK" , "sv_vsetpvf", "sv_vsetpvf_mg" , "sv_vsetpvfn" , "SvVSTRING_mg" , "vnewSVpvf"

"SvTAINT" , "SvTAINTED" , "SvTAINTED_off" , "SvTAINTED_on"
"ASCTIME_R_PROTO" , "CTIME_R_PROTO" , "GMTIME_MAX" , "GMTIME_MIN" , "GMTIME_R_PROTO" , "HAS_ASCTIME_R" , "HAS_ASCTIME64" , "HAS_CTIME_R" , "HAS_CTIME64" , "HAS_DIFFTIME" , "HAS_DIFFTIME64" , "HAS_FUTIMES" , "HAS_GETITIMER" , "HAS_GETTIMEOFDAY" , "HAS_GMTIME_R" , "HAS_GMTIME64" , "HAS_LOCALTIME_R" , "HAS_LOCALTIME64" , "HAS_MKTIME" , "HAS_MKTIME64" , "HAS_NANOSLEEP" , "HAS_SETITIMER" , "HAS_STRFTIME" , "HAS_TIME" , "HAS_TIMEGM" , "HAS_TIMES" , "HAS_TM_TM_GMTOFF" , "HAS_TM_TM_ZONE" , "HAS_TZNAME" , "HAS_USLEEP" , "HAS_USLEEP_PROTO" , "I_TIME" , "I_UTIME" , "LOCALTIME_MAX" , "LOCALTIME_MIN" , "LOCALTIME_R_NEEDS_TZSET" , "LOCALTIME_R_PROTO" , "L_R_TZSET" , "mini_mktime" , "sv_strftime_tm", "my_strftime"
"DB_Hash_t" , "DB_Prefix_t" , "Direntry_t" , "Fpos_t" , "Free_t" , "Gid_t" , "Gid_t_f" , "Gid_t_sign" , "Gid_t_size" , "Groups_t" , "Malloc_t" , "Mmap_t" , "Mode_t" , "Netdb_hlen_t" , "Netdb_host_t" , "Netdb_name_t" , "Netdb_net_t" , "Off_t" , "Off_t_size" , "Pid_t" , "Rand_seed_t" , "Select_fd_set_t" , "Shmat_t" , "Signal_t" , "Size_t" , "Size_t_size" , "Sock_size_t" , "SSize_t" , "Time_t" , "Uid_t" , "Uid_t_f" , "Uid_t_sign" , "Uid_t_size"
Unicode Support X <UNICODE_DISALLOW_ILLEGAL_INTERCHANGE>
"BOM_UTF8" , "bytes_cmp_utf8" , "bytes_from_utf8" , "bytes_to_utf8" , "DO_UTF8" , "foldEQ_utf8" , "is_ascii_string" , "isC9_STRICT_UTF8_CHAR" , "is_c9strict_utf8_string" , "is_c9strict_utf8_string_loc" , "is_c9strict_utf8_string_loclen" , "is_invariant_string" , "isSTRICT_UTF8_CHAR" , "is_strict_utf8_string" , "is_strict_utf8_string_loc" , "is_strict_utf8_string_loclen" , "isUTF8_CHAR" , "is_utf8_char_buf" , "isUTF8_CHAR_flags" , "is_utf8_fixed_width_buf_flags" , "is_utf8_fixed_width_buf_loc_flags" , "is_utf8_fixed_width_buf_loclen_flags" , "is_utf8_invariant_string" , "is_utf8_invariant_string_loc" , "is_utf8_string" , "is_utf8_string_flags" , "is_utf8_string_loc" , "is_utf8_string_loc_flags" , "is_utf8_string_loclen" , "is_utf8_string_loclen_flags" , "is_utf8_valid_partial_char" , "is_utf8_valid_partial_char_flags" , "LATIN1_TO_NATIVE" , "NATIVE_TO_LATIN1" , "NATIVE_TO_UNI" , "pv_uni_display" , "REPLACEMENT_CHARACTER_UTF8" , "sv_cat_decode" , "sv_recode_to_utf8" , "sv_uni_display" , "UNICODE_IS_NONCHAR" , "UNICODE_IS_REPLACEMENT" , "UNICODE_IS_SUPER" , "UNICODE_IS_SURROGATE" , "UNICODE_REPLACEMENT" , "UNI_TO_NATIVE" , "UTF8_CHK_SKIP" , "utf8_distance" , "utf8_hop" , "utf8_hop_back" , "utf8_hop_forward" , "utf8_hop_safe" , "UTF8_IS_INVARIANT" , "UTF8_IS_NONCHAR" , "UTF8_IS_REPLACEMENT" , "UTF8_IS_SUPER" , "UTF8_IS_SURROGATE" , "utf8_length" , "UTF8_MAXBYTES" , "UTF8_MAXBYTES_CASE" , "utf8ness_t" , "UTF8NESS_YES", "UTF8NESS_NO", "UTF8NESS_IMMATERIAL", "UTF8NESS_UNKNOWN", "0 <= enum value <= UTF8NESS_IMMATERIAL", "UTF8NESS_IMMATERIAL <= <enum value", "utf8n_to_uvchr" , "utf8n_to_uvchr_error" , "UTF8_GOT_PERL_EXTENDED", "UTF8_GOT_CONTINUATION", "UTF8_GOT_EMPTY", "UTF8_GOT_LONG", "UTF8_GOT_NONCHAR", "UTF8_GOT_NON_CONTINUATION", "UTF8_GOT_OVERFLOW", "UTF8_GOT_SHORT", "UTF8_GOT_SUPER", "UTF8_GOT_SURROGATE", "utf8n_to_uvchr_msgs" , "text", "warn_categories", "flag", "UTF8_SAFE_SKIP" , "UTF8SKIP" , ""UTF8_SAFE_SKIP" in perlapi" if you know the maximum ending pointer in the buffer pointed to by "s"; or, ""UTF8_CHK_SKIP" in perlapi" if you don't know it, "UTF8_SKIP" , "utf8_to_bytes" , "utf8_to_uvchr" , "utf8_to_uvchr_buf" , "UVCHR_IS_INVARIANT" , "UVCHR_SKIP" , "uvchr_to_utf8_flags" , "uvchr_to_utf8_flags_msgs" , "text", "warn_categories", "flag", "uvchr_to_utf8"
"C_ARRAY_END" , "C_ARRAY_LENGTH" , "getcwd_sv" , "IN_PERL_COMPILETIME" , "IN_PERL_RUNTIME" , "IS_SAFE_SYSCALL" , "is_safe_syscall" , "my_setenv" , "newPADxVOP" , "phase_name" , "Poison" , "PoisonFree" , "PoisonNew" , "PoisonWith" , "StructCopy" , "sv_destroyable" , "sv_nosharing"
"new_version" , "PERL_REVISION" , "PERL_SUBVERSION" , "PERL_VERSION" , "PERL_VERSION_EQ", "PERL_VERSION_GE", "PERL_VERSION_GT", "PERL_VERSION_LE", "PERL_VERSION_LT", "PERL_VERSION_NE" , "prescan_version" , "scan_version" , "upg_version" , "vcmp" , "vnormal" , "vnumify" , "vstringify" , "vverify" , The SV is an HV or a reference to an HV, The hash contains a "version" key, The "version" key has a reference to an AV as its value
Warning and Dieing X <WARN_LAYER>
"ckWARN", "ckWARN2", "ckWARN3", "ckWARN4" , "ckWARN_d", "ckWARN2_d", "ckWARN3_d", "ckWARN4_d" , "ck_warner", "ck_warner_d" , "CLEAR_ERRSV" , "croak", "croak_nocontext" , "croak_no_modify" , "croak_sv" , "die", "die_nocontext" , "die_sv" , "ERRSV" , "fatal_warner" , "packWARN", "packWARN2", "packWARN3", "packWARN4" , "SANE_ERRSV" , "vcroak" , "vfatal_warner" , "vwarn" , "vwarner" , "warn", "warn_nocontext" , "warner", "warner_nocontext" , "warn_sv"
"aMY_CXT", "_aMY_CXT", "aMY_CXT_", "ax" , "CLASS" , "dAX" , "dAXMARK" , "dITEMS" , "dMY_CXT", "dMY_CXT_SV" , "dUNDERBAR" , "dXSARGS" , "dXSI32" , "items" , "ix" , "MY_CXT", "MY_CXT_CLONE", "MY_CXT_INIT", "pMY_CXT", "_pMY_CXT", "pMY_CXT_", "RETVAL" , "ST" , "START_MY_CXT", "THIS" , "UNDERBAR" , "XS" , "XS_EXTERNAL" , "XS_INTERNAL" , "XSPROTO"

"av_fetch_simple" , "AvFILLp" , "av_new_alloc" , "av_store_simple"
"dowantarray" , "leave_scope" , "magic_freedestruct" , "mortal_svfunc_x" , "pop_scope" , "push_scope" , "save_adelete" , "save_freercpv" , "save_generic_pvref" , "save_generic_svref" , "save_hdelete" , "save_hints" , "save_op" , "save_padsv_and_mortalize" , "save_pushptr" , "save_rcpv" , "save_scalar_at" , "save_set_svflags" , "save_shared_pvref" , "save_vptr"
Compiler and Preprocessor information
Compiler directives
"BhkENTRY" , "BhkFLAGS" , "CALL_BLOCK_HOOKS"
"CVf_SLABBED", "CvROOT", "CvSTART", "CX_CUR", "CXINC", "CX_LEAVE_SCOPE", "CX_POP", "cxstack", "cxstack_ix", "CXt_BLOCK", "CXt_EVAL", "CXt_FORMAT", "CXt_GIVEN", "CXt_LOOP_ARY", "CXt_LOOP_LAZYIV", "CXt_LOOP_LAZYSV", "CXt_LOOP_LIST", "CXt_LOOP_PLAIN", "CXt_NULL", "CXt_SUB", "CXt_SUBST", "CXt_WHEN", "cx_type", "dounwind", "my_fork" , "PERL_CONTEXT"
"core_prototype"
"CvREFCOUNTED_ANYSV" , "CvREFCOUNTED_ANYSV_off" , "CvREFCOUNTED_ANYSV_on" , "CvWEAKOUTSIDE" , "docatch"
"comma_aDEPTH" , "comma_pDEPTH" , "debop" , "debprof" , "debprofdump" , "debug_aDEPTH" , "debug_pDEPTH" , "free_c_backtrace" , "get_c_backtrace" , "PL_DBsingle" , "PL_DBsub" , "PL_DBtrace" , "runops_debug", "runops_standard"
"sv_peek"
"cv_dump" , "cv_forget_slab" , "do_dump_pad" , "get_context" , "pad_alloc_name" , "pad_block_start" , "pad_check_dup" , "pad_findlex" , "pad_fixup_inner_anons" , "pad_free" , "pad_leavemy" , "padlist_dup" , "padname_dup" , "padnamelist_dup" , "pad_push" , "pad_reset" , "pad_setsv" , "pad_sv" , "pad_swipe" , "set_context" , "si_dup" , "ss_dup"
"dSAVEDERRNO" , "dSAVE_ERRNO" , "RESTORE_ERRNO" , "SAVE_ERRNO" , "SETERRNO"
"amagic_applies" , "gp_dup" , "gv_handler" , "gv_stashsvpvn_cached" , "gv_try_downgrade"
"hv_eiter_p" , "hv_eiter_set" , "hv_ename_add" , "hv_ename_delete" , "hv_fill" , "hv_placeholders_get" , "hv_placeholders_set" , "hv_riter_p" , "hv_riter_set" , "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" , "unsharepvn"
"dirp_dup" , "fp_dup" , "my_fflush_all" , "my_mkostemp" , "my_mkstemp" , "PL_last_in_gv" , "PL_ofsgv" , "PL_rs" , "start_glob"
I/O Formats
"resume_compcv_and_save" , "resume_compcv_final" , "validate_proto"
"magic_clearhint" , "magic_clearhints" , "magic_methcall" , "magic_sethint" , "mg_dup" , "mg_localize"
"calloc" , "malloc" , "mfree" , "realloc"
"mro_get_linear_isa_dfs" , "mro_isa_changed_in" , "mro_package_moved"
"isinfnansv"
"newATTRSUB_x" , "newMYSUB" , "newXS_len_flags" , "op_refcnt_lock" , "op_refcnt_unlock" , "traverse_op_tree"
"CX_CURPAD_SAVE" , "CX_CURPAD_SV" , "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" , "PadnameIsFIELD" , "PadnameIsOUR" , "PadnameIsSTATE" , "PadnameOURSTASH" , "PadnameOUTER" , "PadnameTYPE" , "PAD_RESTORE_LOCAL" , "PAD_SAVE_LOCAL" , "PAD_SAVE_SETNULLPAD" , "PAD_SET_CUR" , "PAD_SET_CUR_NOSAVE" , "PAD_SETSV" , "PAD_SV" , "PAD_SVl" , "SAVECLEARSV" , "SAVECOMPPAD" , "SAVEPADSV"
"regnode"
"djSP" , "LVRET" , "save_alloc"
String Handling
"delimcpy_no_escape" , "my_cxt_init" , "quadmath_format_needed" , "quadmath_format_valid"
"SVt_INVLIST"
"PL_Sv" , "sv_add_arena" , "sv_2bool" , "sv_2bool_flags" , "sv_clean_all" , "sv_clean_objs" , "sv_free_arenas" , "sv_grow" , "sv_grow_fresh" , "sv_newref" , "sv_2num" , "sv_pv" , "sv_pvbyte" , "sv_pvbyten_force" , "sv_2pvbyte_nolen" , "sv_pvn_force" , "sv_2pv_nolen" , "sv_pvutf8n_force" , "sv_2pvutf8_nolen" , "sv_pvutf8" , "sv_tainted" , "SvTHINKFIRST" , "sv_true" , "sv_untaint"
"sv_taint" , "TAINT" , "TAINT_ENV" , "taint_env" , "TAINT_get" , "TAINT_IF" , "TAINTING_get" , "TAINTING_set" , "TAINT_NOT" , "TAINT_PROPER" , "taint_proper" , "TAINT_set" , "TAINT_WARN_get" , "TAINT_WARN_set"
Unicode Support
"bytes_from_utf8_loc" , "find_uninit_var" , "isSCRIPT_RUN" , "is_utf8_non_invariant_string" , "utf8n_to_uvuni" , "utf8_to_uvuni" , "uvoffuni_to_utf8_flags" , "valid_utf8_to_uvchr" , "variant_under_utf8_count"
"my_popen_list" , "my_socketpair"
Warning and Dieing
"deprecate" , "deprecate_disappears_in" , "deprecate_fatal_in" , "PL_dowarn" , "report_uninit"

History and Background
Layers vs Disciplines
Functions and Attributes
Layers in action
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
Methods in Detail
fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF, PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode, Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof, Error, Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt, Set_ptrcnt
C implementations, Perl implementations
"unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"
":encoding", ":scalar", ":via"

1. USE_STDIO, 2. USE_PERLIO, PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr(), PerlIO_open(path, mode), PerlIO_fdopen(fd,mode), PerlIO_reopen(path,mode,f), PerlIO_printf(f,fmt,...), PerlIO_vprintf(f,fmt,a), PerlIO_stdoutf(fmt,...), PerlIO_read(f,buf,count), PerlIO_write(f,buf,count), PerlIO_fill(f), PerlIO_close(f), PerlIO_puts(f,s), PerlIO_putc(f,c), PerlIO_ungetc(f,c), PerlIO_unread(f,buf,count), 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)
"Fast gets" Functions
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(aTHX_ f,mode,layers), PerlIO_binmode(aTHX_ f,ptype,imode,layers), '<' read, '>' write, '+' read/write, PerlIO_debug(fmt,...)

Check out the source repository, Ensure you're following the latest advice, Create a branch for your change, Make your change, Test your change, Commit your change, Send your change to the Perl issue tracker, Thank you, Acknowledgement, Next time
PATCHING PERL
t/base, t/comp and t/opbasic, All other subdirectories of t/, Test files not found under t/
test_porting, minitest, test.valgrind check.valgrind, test_harness, test-notty test_notty
Running tests by hand
-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
Building perl at older commits
perlsource, perlinterp, perlhacktut, perlhacktips, perlguts, perlxstut and perlxs, perlapi, Porting/pumpkin.pod
CPAN TESTERS AND PERL SMOKERS
"The Road goes ever on and on, down from the door where it began."

C code
lib/, ext/, dist/, cpan/
Module tests, t/base/, t/cmd/, t/comp/, t/io/, t/mro/, t/op/, t/opbasic/, t/re/, t/run/, t/uni/, t/win32/, t/porting/, t/lib/
check*, Maintainers, Maintainers.pl, and Maintainers.pm, podtidy
AUTHORS
MANIFEST

level 2: perl-level exit() and internals my_exit(), level 3: perl-level die() and internals croak(), level 1: unused, level 0: normal return

EXAMPLE OF A SIMPLE PATCH

AIX, HP/UX, Solaris
Don't begin a symbol name with an underscore; (e.g., don't use: "_FOOBAR"), Don't use two consecutive underscores in a symbol name; (e.g., don't use "FOO__BAR")
Portability problems
Security problems
SOURCE CODE STATIC ANALYSIS
HP-UX cadvise (Code Advisor)
Warnings of other C compilers
MEMORY DEBUGGERS
-Dcc=clang, -Accflags=-fsanitize=address, -Aldflags=-fsanitize=address, -Alddlflags=-shared\ -fsanitize=address, -fsanitize-blacklist=`pwd`/asan_ignore
-a, -b, -e routine, -f routine, -s, -z
--threshold, --auto
"profiler" profiling (Cygwin)
MISCELLANEOUS TRICKS

experimental, deprecated, discouraged, removed
A Social Contract about Artistic Control

"Core Team", "Steering Council", "Vote Administrator"
Graham Knop, Paul Evans, Philippe Bruhat
Chad Granum <exodist7@gmail.com>, Chris 'BinGOs' Williams <chris@bingosnet.co.uk>, Craig Berry <craigberry@mac.com>, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>, David Mitchell <davem@iabyn.com>, Graham Knop <haarg@haarg.org>, H. Merijn Brand <perl5@tux.freedom.nl>, Hugo van der Sanden <hv@crypt.org>, James E Keenan <jkeenan@cpan.org>, Karen Etheridge <ether@cpan.org>, Karl Williamson <khw@cpan.org>, Leon Timmermans <fawaka@gmail.com>, Matthew Horsfall <wolfsage@gmail.com>, Max Maischein <cpan@corion.net>, Neil Bowers <neilb@neilb.org>, Nicholas Clark <nick@ccl4.org>, Nicolas R <atoomic@cpan.org>, Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>, Philippe "BooK" Bruhat <book@cpan.org>, Ricardo Signes <rjbs@semiotic.systems>, Steve Hay <steve.m.hay@googlemail.com>, Stuart Mackintosh <stuart@perlfoundation.org>, Todd Rinaldo <toddr@cpanel.net>, Tony Cook <tony@develop-help.com>, Yves Orton <demerphq@gmail.com>
Abhijit Menon-Sen <ams@toroid.org>, Andy Dougherty <doughera@lafayette.edu>, David Golden <xdg@xdg.me>, Jan Dubois <jan@jandubois.com>, Jason McIntosh <jmac@jmac.org>, Jesse Vincent <jesse@fsck.com>

":reader" attribute for field variables
"try"/"catch" feature is no longer experimental
"for" iterating over multiple values at a time is no longer experimental
"builtin" module is no longer experimental
"use v5.40;" imports builtin functions
"return" no longer allows an indirect object
Class barewords no longer resolved as file handles in method calls under "no feature "bareword_filehandles""
Modules and Pragmata
Configuration and Compilation
Serenity OS
Platform-Specific Notes
Windows, Linux, MacOS/Darwin, VMS, Oracle Developer Studio (Solaris, Oracle Linux)
perlivp is missing streamzip on Windows
Errata From Previous Releases

perl5400delta, perldelta - what is new for perl v5.40.0

":reader" attribute for field variables
"try"/"catch" feature is no longer experimental
"for" iterating over multiple values at a time is no longer experimental
"builtin" module is no longer experimental
"use v5.40;" imports builtin functions
"return" no longer allows an indirect object
Class barewords no longer resolved as file handles in method calls under "no feature "bareword_filehandles""
Modules and Pragmata
Configuration and Compilation
Serenity OS
Platform-Specific Notes
Windows, Linux, MacOS/Darwin, VMS, Oracle Developer Studio (Solaris, Oracle Linux)
perlivp is missing streamzip on Windows
Errata From Previous Releases

perl5400delta, perldelta - what is new for perl v5.40.0

":reader" attribute for field variables
"try"/"catch" feature is no longer experimental
"for" iterating over multiple values at a time is no longer experimental
"builtin" module is no longer experimental
"use v5.40;" imports builtin functions
"return" no longer allows an indirect object
Class barewords no longer resolved as file handles in method calls under "no feature "bareword_filehandles""
Modules and Pragmata
Configuration and Compilation
Serenity OS
Platform-Specific Notes
Windows, Linux, MacOS/Darwin, VMS, Oracle Developer Studio (Solaris, Oracle Linux)
perlivp is missing streamzip on Windows
Errata From Previous Releases

"INIT" blocks no longer run after an exit() in "BEGIN"
Syntax errors no longer produce "phantom error messages"
Modules and Pragmata
Configuration and Compilation
Ultrix
Platform-Specific Notes
DragonflyBSD, FreeBSD, Solaris, Synology, Windows
"newSVbool(const bool bool_val)", newSV_true(), newSV_false(), "sv_set_true(SV *sv)", "sv_set_false(SV *sv)", "sv_set_bool(SV *sv, const bool bool_val)", SvIandPOK(sv), SvIandPOK_off(sv), "SvIandPOK_on", I32df -- Like %d, U32of -- Like %o, U32uf -- Like %u, U32xf -- Like %x, U32Xf -- Like %X

Modules and Pragmata
Configuration and Compilation

"use v5.36"
-g command-line flag
Unicode 14.0 is supported
builtin::trim, builtin::indexed, builtin::true, builtin::false, builtin::is_bool, builtin::weaken, builtin::unweaken, builtin::is_weak, builtin::blessed, builtin::refaddr, builtin::reftype, builtin::ceil, builtin::floor
"defer" blocks (experimental)
@_ is now experimental within signatured subs
A physically empty sort is now a compile-time error
"use VERSION" (where VERSION is below v5.11) after "use v5.11" is deprecated
Modules and Pragmata
Configuration and Compilation
"keys %ENV" on VMS returns consistent results
AT&T UWIN, DOS/DJGPP, NetWare
Platform-Specific Notes
z/OS
Errata From Previous Releases

Modules and Pragmata
Platform-Specific Notes
Windows

"qr/{,n}/" is now accepted
Modules and Pragmata
New option: "HistItemMinLength", Fix to "i" and "l" commands
Configuration and Compilation
stadtx hash support has been removed, Configure, "-Dusedefaultstrict"
9front
Plan9, MacOS (Darwin)
Symbian
Platform-Specific Notes
DragonFlyBSD, Mac OS X, Windows, z/OS
pack/unpack format 'D' now works on all systems that could support it
Errata From Previous Releases

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
MacOS (Darwin), Minix

[CVE-2020-10543] Buffer overflow caused by a crafted regular expression
[CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression
[CVE-2020-12723] Buffer overflow caused by a crafted regular expression
Modules and Pragmata
"caller", "__FILE__", "__LINE__", "return", "open"
The bug tracker homepage URL now points to GitHub
Configuration and Compilation
Windows CE
Platform-Specific Notes
Linux, NetBSD 8.0, Windows, Solaris, VMS, z/OS

[CVE-2020-10543] Buffer overflow caused by a crafted regular expression
[CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression
[CVE-2020-12723] Buffer overflow caused by a crafted regular expression
Modules and Pragmata

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
Windows

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
Win32

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
HP-UX 11.11, Mac OS X, Minix3, Cygwin, Win32 Mingw, Windows

[CVE-2020-10543] Buffer overflow caused by a crafted regular expression
[CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression
[CVE-2020-12723] Buffer overflow caused by a crafted regular expression
Modules and Pragmata

Modules and Pragmata
Platform-Specific Notes
Windows, Mac OS X

[CVE-2018-18311] Integer overflow leading to buffer overflow and segmentation fault
[CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c)
Modules and Pragmata

[CVE-2017-12837] Heap buffer overflow in regular expression compiler
[CVE-2017-12883] Buffer over-read in regular expression parser
[CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows
Modules and Pragmata
"Variable length lookbehind not implemented in regex m/%s/" in perldiag, "Use of state $_ is experimental" in perldiag
Configuration and Compilation
C89 requirement, New probes, HAS_BUILTIN_ADD_OVERFLOW, HAS_BUILTIN_MUL_OVERFLOW, HAS_BUILTIN_SUB_OVERFLOW, HAS_THREAD_SAFE_NL_LANGINFO_L, HAS_LOCALECONV_L, HAS_MBRLEN, HAS_MBRTOWC, HAS_MEMRCHR, HAS_NANOSLEEP, HAS_STRNLEN, HAS_STRTOLD_L, I_WCHAR
PowerUX / Power MAX OS
Platform-Specific Notes
CentOS, Cygwin, Darwin, FreeBSD, VMS, Windows

[CVE-2018-12015] Directory traversal in module Archive::Tar
[CVE-2018-18311] Integer overflow leading to buffer overflow and segmentation fault
[CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c)
[CVE-2018-18313] Heap-buffer-overflow read in S_grok_bslash_N (regcomp.c)
[CVE-2018-18314] Heap-buffer-overflow write in S_regatom (regcomp.c)
Modules and Pragmata

[CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c)
[CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c)
[CVE-2018-6913] heap-buffer-overflow in S_pack_rec
Modules and Pragmata
Platform-Specific Notes
Windows

[CVE-2017-12837] Heap buffer overflow in regular expression compiler
[CVE-2017-12883] Buffer over-read in regular expression parser
[CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows
Modules and Pragmata
Platform-Specific Notes
FreeBSD, Windows

"." no longer in @INC, "do" may now warn, In regular expression patterns, a literal left brace "{" should be escaped
Configure -Udefault_inc_excludes_dot, "PERL_USE_UNSAFE_INC", A new deprecation warning issued by "do", Script authors, Installing and using CPAN modules, Module Authors
String delimiters that aren't stand-alone graphemes are now deprecated
"\cX" that maps to a printable is no longer deprecated
New Faster Hash Function on 64 bit builds, readline is faster
Modules and Pragmata
Configuration and Compilation
NetBSD/VAX
Platform-Specific Notes
Darwin, EBCDIC, HP-UX, Hurd, VAX, VMS, Windows, Linux, OpenBSD 6, FreeBSD, DragonFly BSD
Errata From Previous Releases

[CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c)
[CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c)
[CVE-2018-6913] heap-buffer-overflow in S_pack_rec
Modules and Pragmata

[CVE-2017-12837] Heap buffer overflow in regular expression compiler
[CVE-2017-12883] Buffer over-read in regular expression parser
[CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows
Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
VMS, Windows

"Escaped" colons and relative paths in PATH
Modules and Pragmata

Modules and Pragmata

Unicode 8.0 is now supported
"qr/(?[ ])/" now works in UTF-8 locales
Integer shift ("<<" and ">>") now more explicitly defined
printf and sprintf now allow reordered precision arguments
Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
AmigaOS, Cygwin, EBCDIC, UTF-EBCDIC extended, EBCDIC cmp() and sort() fixed for UTF-EBCDIC strings, EBCDIC "tr///" and "y///" fixed for "\N{}", and "use utf8" ranges, FreeBSD, IRIX, MacOS X, Solaris, Tru64, VMS, Win32, ppc64el, floating point

"Escaped" colons and relative paths in PATH
Modules and Pragmata

Modules and Pragmata

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
Darwin, OS X/Darwin, ppc64el, Tru64

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
IRIX

"&" and "\&" prototypes accepts only subs
"use encoding" is now lexical
List slices returning empty lists
"\N{}" with a sequence of multiple spaces is now a fatal error
"use UNIVERSAL '...'" is now a fatal error
"qr/foo/x" now ignores all Unicode pattern white space
"(?[...])" operators now follow standard Perl precedence
"$!" text is now in English outside the scope of "use locale"
"$!" text will be returned in UTF-8 when appropriate
Modules and Pragmata
find2perl, s2p and a2p removal
Configuration and Compilation
IRIX and Tru64 platforms are working again, z/OS running EBCDIC Code Page 1047
NeXTSTEP/OPENSTEP
Platform-Specific Notes
EBCDIC, HP-UX, Android, VMS, Win32, OpenBSD, Solaris

Modules and Pragmata
Platform-Specific Notes
Win32

Modules and Pragmata
Errata From Previous Releases

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
Android, OpenBSD, Solaris, VMS, Windows

"sub"s now take a "prototype" attribute
"rand" now uses a consistent random number generator
Unicode 6.3 now supported
"use locale" now works on UTF-8 locales
"use locale" now compiles on systems without locale ability
"-DL" runtime option now added for tracing locale setting
-F now implies -a and -a implies -n
$a and $b warnings exemption
"do" can no longer be used to call subroutines
Tainting happens under more circumstances; now conforms to documentation
"\p{}", "\P{}" matching has changed for non-Unicode code points.
"\p{All}" has been expanded to match all possible code points
Functions "PerlIO_vsprintf" and "PerlIO_sprintf" have been removed
References to non-integers and non-positive integers in $/
CGI and its associated CGI:: packages, inc::latest, Package::Constants, Module::Build and its associated Module::Build:: packages
find2perl, s2p, a2p
Modules and Pragmata
Configuration and Compilation
Android, Bitrig, FreeMiNT, Synology
"sfio", AT&T 3b1, DG/UX, EBCDIC
Platform-Specific Notes
Cygwin, GNU/Hurd, Linux, Mac OS, MidnightBSD, Mixed-endian platforms, VMS, Win32, WinCE

Modules and Pragmata
Platform-Specific Notes
Win32

Modules and Pragmata

Modules and Pragmata
Platform-Specific Notes
AIX, MidnightBSD

"Storable" security warning in documentation
"Locale::Maketext" allowed code injection via a malicious template
encoding, 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
cpanp, "cpanp-run-perl", cpan2dist, pod2latex
DG/UX, NeXT
Modules and Pragmata
Configuration and Compilation
BeOS, UTS Global, VM/ESA, MPE/IX, EPOC, Rhapsody
Platform-Specific Notes

Modules and Pragmata

Modules and Pragmata
Configuration and Compilation
configuration should no longer be confused by ls colorization
Platform-Specific Notes
AIX
fix /\h/ equivalence with /[\h]/

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
VMS

XS functions is_utf8_char(), utf8_to_uvchr() and utf8_to_uvuni()
Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes

[perl #111594] Socket::unpack_sockaddr_un heap-buffer-overflow
[perl #111586] SDBM_File: fix off-by-one access to global ".dir"
[perl #115994] fix segv in regcomp.c:S_join_exact()
[perl #115992] PL_eval_start use-after-free
Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
VMS

"Digest" unsafe use of eval (CVE-2011-3597)
Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes
FreeBSD, Solaris and NetBSD, HP-UX, Linux, Mac OS X, GNU/Hurd, NetBSD

"Encode" decode_xs n-byte heap-overflow (CVE-2011-2939)
Modules and Pragmata
Platform-Specific Notes
HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode 4 works again

Modules and Pragmata
Configuration and Compilation
Platform-Specific Notes

"\cX"
"\b{" and "\B{"
List assignment to $[
"\N{BELL}"
"?PATTERN?"
Tie functions on scalars holding typeglobs
Devel::DProf
Modules and Pragmata
much 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
Configuration and Compilation
AIX
Apollo DomainOS, MacOS Classic
Platform-Specific Notes
C API Changes
"Perl_ptr_table_clear", "sv_compile_2op", "find_rundefsvoffset", "CALL_FPTR" and "CPERLscope"
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]
Miscellaneous Memory Leaks
Bugs Relating to the C API

Modules and Pragmata
Installation and Configuration Improvements
Mac OS X, NetBSD

Modules and Pragmata
Linux

"keys", "values" work on arrays
Solaris, VMS, VOS

Modules and Pragmata
Pragmata Changes
"Carp", "CPANPLUS", "File::Glob", "File::Copy", "File::Spec"
Installation and Configuration Improvements
Configuration improvements
Compilation improvements

Modules and Pragmata
Pragmata Changes
Testing Improvements
Installation and Configuration Improvements
Configuration improvements

Unicode improvements
A proper interface for pluggable Method Resolution Orders
"\N" experimental regex escape
"each", "keys", "values" are now more flexible
"when" as a statement modifier
$, flexibility
// in when clauses
"delete local"
32-bit limit on substr arguments removed
Deprecations warn by default
Version number formats
@INC reorganization
flip-flop operators, defined-or operator
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
Unicode overhaul
Modules and Pragmata
"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"
Installation and Configuration Improvements
Testing improvements
Parallel tests, Test harness flexibility, Test watchdog
"Illegal character in prototype for %s : %s", "Prototype after '%c' for %s : %s"
Haiku, MirOS BSD
Domain/OS, MiNT, Tenon MachTen
AIX, Cygwin, Darwin (Mac OS X), DragonFly BSD, FreeBSD, Irix, NetBSD, OpenVMS, Stratus VOS, Symbian, Windows

Unicode Character Database 5.1.0
A proper interface for pluggable Method Resolution Orders
Modules and Pragmata
"autodie", "Compress::Raw::Bzip2", "parent", "Parse::CPAN::Meta"
Pragmata Changes
"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
perlhaiku, perlmroapi, perlperf, perlrepository, perlthanks
Installation and Configuration Improvements
Configuration improvements
Compilation improvements
AIX, Cygwin, FreeBSD, Irix, Haiku, MirOS BSD, NetBSD, Stratus VOS, Symbian, Win32, VMS
"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

Recursive Patterns, Named Capture Buffers, Possessive Quantifiers, Backtracking control verbs, Relative backreferences, "\K" escape, Vertical and horizontal whitespace, and linebreak, Optional pre-match and post-match captures with the /p flag
"no VERSION"
"chdir", "chmod" and "chown" on filehandles
"${^RE_DEBUG_FLAGS}", "${^CHILD_ERROR_NATIVE}", "${^RE_TRIE_MAXBUF}", "${^WIN32_SLOPPY_STAT}"
Modules and Pragmata
Pragmata Changes
"feature", "mro", Scoping of the "sort" pragma, Scoping of "bignum", "bigint", "bigrat", "base", "strict" and "warnings", "version", "warnings", "less"
"Attribute::Handlers", "B::Lint", "B", "Thread"
perl -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
Installation and Configuration Improvements
Configuration improvements
"-Dusesitecustomize", Relocatable installations, strlcat() and strlcpy(), "d_pseudofork" and "d_printf_format_null", Configure help
Compilation improvements
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
Installation improvements
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

Modules and Pragmata
Installation and Configuration Improvements
Configuration improvements
Compilation improvements
Installation improvements
ext/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

Modules and Pragmata
"h2xs" enhancements
"perlivp" enhancements
Installation and Configuration Improvements

Unicode Character Database 4.1.0
"Config.pm" is now much smaller
Modules and Pragmata
find2perl enhancements
Installation and Configuration Improvements

Modules and Pragmata

Modules and Pragmata
Installation and Configuration Improvements

Unicode Character Database 4.0.1
Modules and Pragmata
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
Installation and Configuration Improvements

Modules and Pragmata
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
Installation and Configuration Improvements
Configuration and Building

Modules and Pragmata
Devel::PPPort, Digest::MD5, I18N::LangTags, libnet, MIME::Base64, Pod::Perldoc, strict, Tie::Hash, Time::HiRes, Unicode::Collate, Unicode::Normalize, UNIVERSAL

Modules and Pragmata
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
Installation and Configuration Improvements
Net::Ping 450_service and 510_ping_udp failures

Modules and Pragmata
Installation and Configuration Improvements
Security Vulnerability Closed [561]

Summary of changes between 5.6.0 and 5.6.1
Security Issues
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
Configuration issues
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
Unicode and UTF-8 support
"our" declarations
64-bit support
"more bits"
"sort $coderef @foo" allowed
Comments in pack() templates
Boolean assignment operators are legal lvalues
Pseudo-hashes work better
"-T" filetest recognizes UTF-8 encoded files as "text"
system(), backticks and pipe open now reflect exec() failure
Diagnostics follow STDERR
"require" and "do" may be overridden
$^X variables may now have names longer than one character
@- and @+ provide starting/ending offsets of regex submatches
Modules and Pragmata
attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
Installation and Configuration Improvements
"%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
C Source Incompatibilities
"PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC"
"PATCHLEVEL" is now "PERL_VERSION"
EBCDIC platforms not fully supported
UNICOS/mk CC failures during Configure run
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

Unicode and UTF-8 support
"our" declarations
64-bit support
"more bits"
"sort $coderef @foo" allowed
Comments in pack() templates
Boolean assignment operators are legal lvalues
Pseudo-hashes work better
"-T" filetest recognizes UTF-8 encoded files as "text"
system(), backticks and pipe open now reflect exec() failure
Diagnostics follow STDERR
"require" and "do" may be overridden
$^X variables may now have names longer than one character
@- and @+ provide starting/ending offsets of regex matches
Modules and Pragmata
attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod
Installation and Configuration Improvements
"%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
C Source Incompatibilities
"PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC"
"PATCHLEVEL" is now "PERL_VERSION"
EBCDIC platforms not supported
UNICOS/mk CC failures during Configure run
Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:
Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated

Many new and improved optimizations, Many bug fixes, New regular expression constructs, New operator for precompiled regular expressions, Other improvements, Incompatible changes
"%!" is transparently tied to the Errno module
Pseudo-hashes are supported
"EXPR foreach EXPR" is supported
$^E is meaningful on Win32
"foreach (1..1000000)" optimized
"Foo::" can be used as implicitly quoted package name
"exists $Foo::{Bar::}" tests existence of a package
"our" is now a reserved word
4th argument to substr
Magic lvalues are now more magical
<> now reads in records
Modules and Pragmata
B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, Thread, attrs, fields, re
Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd
Documentation Changes
Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index while coercing array into hash, Bareword "%s" refers to nonexistent package, Can't call method "%s" on an undefined value, Can't check filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't goto subroutine from an eval-string, Can't localize pseudo-hash element, Can't use %%! because Errno.pm is not available, Cannot find an opnumber for "%s", Character class syntax [. .] is reserved for future extensions, Character class syntax [: :] is reserved for future extensions, Character class syntax [= =] is reserved for future extensions, %s: Eval-group in insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s: Eval-group not allowed at run time, Explicit blessing to '' (assuming package main), Illegal hex digit ignored, No such array field, No such field "%s" in variable %s of type %s, Out of memory during ridiculously large request, Range iterator outside integer range, Recursive inheritance detected while looking for method '%s' %s, Reference found where even-sized list expected, Undefined value assigned to typeglob, Use of reserved word "%s" is deprecated, perl: warning: Setting locale failed
Can't mktemp(), Can't write to temp file for -e: %s, Cannot open temporary file, regexp too big
Configuration Changes

List assignment to %ENV works
Compilation option: Binary compatibility with 5.003
$PERL5OPT environment variable
Limitations on -M, -m, and -T options
"wantarray" may return undef
"eval EXPR" determines value of EXPR in scalar context
No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No spawning if tainted $TERM doesn't look like a terminal name
$coderef->(PARAMS)
__PACKAGE__
$^E, $^H, $^M
delete on slices, flock, printf and sprintf, keys as an lvalue, my() in Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module VERSION LIST, prototype(FUNCTION), srand, $_ as Default, "m//gc" does not reset search position on failure, "m//x" ignores whitespace before ?*+{}, nested "sub{}" closures work now, formats work right on changing lexicals
isa(CLASS), can(METHOD), VERSION( [NEED] )
TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this LIST, READLINE this, GETC this, DESTROY this
-DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
Miscellaneous efficiency enhancements
use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use constant NAME => VALUE, use locale, use ops, use vmsish
Sends converted HTML to standard output
"void" XSUBs now default to returning nothing
C Language API Changes
"gv_fetchmethod" and "perl_call_sv", "perl_eval_pv", Extended API for manipulating hashes
Documentation Changes
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

Programming Perl (the "Camel Book"):, The Perl Cookbook (the "Ram Book"):, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book")
Perl 5 Pocket Reference, Perl Debugger Pocket Reference, Regular Expression Pocket Reference
Beginning Perl, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book"), Mastering Perl, Effective Perl Programming
Writing Perl Modules for CPAN, The Perl Cookbook, Automating System Administration with Perl, Real World SQL Server Administration with Perl
Regular Expressions Cookbook, Programming the Perl DBI, Perl Best Practices, Higher-Order Perl, Mastering Regular Expressions, Network Programming with Perl, Perl Template Toolkit, Object Oriented Perl, Data Munging with Perl, Mastering Perl/Tk, Extending and Embedding Perl, Pro Perl Debugging
Programming Pearls, More Programming Pearls
A note on freshness

<https://perl.com/>, <https://blogs.perl.org/>, <https://perl.theplanetarium.org/>, <https://perlweekly.com/>, <https://www.perlmonks.org/>, <https://stackoverflow.com/>
The Perl Conference, OSCON

-h, -D, -t, -u, -m module, -l, -U, -F, -f perlfunc, -q perlfaq-search-regexp, -a perlapifunc, -v perlvar, -T, -d destination-filename, -o output-formatname, -M module-name, -w option:value or -w option, -X, -L language_code, PageName|ModuleName|ProgramName|URL, -n some-formatter, -r, -i, -V

Smart match ("~~"), Pluggable keywords, Aliasing via reference, use re 'strict';, Declaring a reference to a variable, There is an "installhtml" target in the Makefile, (Limited) Variable-length look-behind, Unicode private use character hooks, Unicode property wildcards, try/catch control structure, Use of @_ within subroutine signatures, The builtin namespace, The defer block modifier, Extra paired delimiters for quote-like operators
64-bit support, die accepts a reference, DB module, Weak references, Internal file glob, fork() emulation, -Dusemultiplicity -Duseithreads, Support for long doubles, The "\N" regex character class, "(?{code})" and "(??{ code })", Linux abstract Unix domain sockets, Lvalue subroutines, Backtracking control verbs, The ":pop" IO pseudolayer, "\s" in regexp matches vertical tab, Postfix dereference syntax, Lexical subroutines, String- and number-specific bitwise operators, Alphabetic assertions, Script runs, The infix "isa" operator, Subroutine signatures, Regular Expression Set Operations, try/catch control structure, The "const" attribute, for loop with multiple iteration variables
5.005-style threading, perlcc, The pseudo-hash data type, GetOpt::Long Options can now take multiple values at once (experimental), Assertions, Test::Harness::Straps, "legacy", Lexical $_, Array and hash container functions accept references, "our" can have an experimental optional attribute "unique", The ":win32" IO pseudolayer

"Package", "Standard Version", "Copyright Holder", "You", "Reasonable copying fee", "Freely Available"
a), b), c), d), a), b), c), d)

Prerequisites for running Perl 5.22.1 under AmigaOS 4.1
AmigaOS 4.1 update 6 with all updates applied as of 9th October 2013, newlib.library version 53.28 or greater, AmigaOS SDK, abc-shell
Limitations of Perl under AmigaOS 4.1
Nested Piped programs can crash when run from older abc-shells, Incorrect or unexpected command line unescaping, Starting subprocesses via open has limitations, If you find any other limitations or bugs then let me know
August 2015, Port to Perl 5.22, Add handling of NIL: to afstat(), Fix inheritance of environment variables by subprocesses, Fix exec, and exit in "forked" subprocesses, Fix issue with newlib's unlink, which could cause infinite loops, Add flock() emulation using IDOS->LockRecord thanks to Tony Cook for the suggestion, Fix issue where kill was using the wrong kind of process ID, 27th November 2013, Create new installation system based on installperl links and Amiga protection bits now set correctly, Pod now defaults to text, File::Spec should now recognise an Amiga style absolute path as well as an Unix style one. Relative paths must always be Unix style, 20th November 2013, Configured to use SDK:Local/C/perl to start standard scripts, Added Amiga::Exec module with support for Wait() and AmigaOS signal numbers, 10th October 13

PREREQUISITES FOR COMPILING PERL ON CYGWIN
"-lcrypt", "-lgdbm_compat" ("use GDBM_File"), "-ldb" ("use DB_File"), "cygserver" ("use IPC::SysV"), "-lutil"
"-Uusedl", "-Dusemymalloc", "-Uuseperlio", "-Dusemultiplicity", "-Uuse64bitint", "-Duselongdouble", "-Uuseithreads", "-Duselargefiles", "-Dmksymlinks"
Pathnames, Text/Binary, PerlIO, .exe, Cygwin vs. Windows process ids, Cygwin vs. Windows errors, rebase errors on fork or system, 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"
INSTALL PERL ON CYGWIN
MANIFEST ON CYGWIN
Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests
BUGS ON CYGWIN

$^X doesn't always contain a full path in FreeBSD

BUILD AND INSTALL

Building 32-bit Perl in Irix
Building 64-bit Perl in Irix
Building with threads in Irix

"It does not work"
I cannot run external programs
I cannot embed perl into my program, or use perl.dll from my program.
Is your program EMX-compiled with "-Zmt -Zcrtdll"?, Did you use ExtUtils::Embed?
`` and pipe-"open" do not work under DOS
"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
Warning
OS/2 .INF file
"LaTeX" docs
A lot of "bad free", Process terminated by SIGTERM/SIGINT, op/fs.t, 18, 25, op/stat.t
"a.out"-style build
Building a binary distribution
Building custom .EXE files
Making executables with a custom collection of statically loaded extensions
Making executables with a custom search-paths
"setpriority", "getpriority"
"extproc" on the first line
"File::Copy::syscopy", "DynaLoader::mod2fname", Cwd::current_drive(),
Cwd::sys_chdir(name), Cwd::change_drive(name), Cwd::sys_is_absolute(name), Cwd::sys_is_rooted(name), Cwd::sys_is_relative(name), Cwd::sys_cwd(name), "Cwd::sys_abspath(name, dir)", Cwd::extLibpath([type]), "Cwd::extLibpath_set( path [, type ] )", "OS2::Error(do_harderror,do_exception)", OS2::Errors2Drive(drive), OS2::SysInfo(), OS2::BootDrive(), OS2::MorphPM(serve), OS2::UnMorphPM(serve), OS2::Serve_Messages(force), "OS2::Process_Messages(force [, cnt])", "OS2::_control87(new,mask)", OS2::get_control87(), "OS2::set_control87_em(new=MCW_EM,mask=MCW_EM)", "OS2::DLLname([how [, \&xsub]])"
$OS2::emx_rev, $OS2::emx_env, $OS2::os_ver, $OS2::is_aout, $OS2::can_fork, $OS2::nsyserror
"popen", "tmpnam", "tmpfile", "ctermid", "stat", "mkdir", "rmdir", "flock"
"HAB", "HMQ", Treating errors reported by OS/2 API, CheckOSError(expr), CheckWinError(expr), SaveWinError(expr), "SaveCroakWinError(expr,die,name1,name2)", "WinError_2_Perl_rc", "FillWinError", FillOSError(rc), Loading DLLs and ordinals in DLLs
"PERLLIB_PREFIX"
"PERL_BADLANG"
"PERL_BADFREE"
"PERL_SH_DIR"
"USE_PERL_FLOCK"
"TMP" or "TEMP"

Building a 64-bit Dynamic ASCII Perl
Building a 64-bit Dynamic EBCDIC Perl
Testing Anomalies with Perl on OS/390
Modules and Extensions for Perl on z/OS (Static Only)
Running Perl on z/OS
For ASCII Only:, For ASCII or EBCDIC:
OTHER SITES

Solaris FAQ, Precompiled Binaries, Solaris Documentation
64-bit perl on Solaris
Threads in perl on Solaris
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

Error message "No error definitions found", ext/DynaLoader/t/DynaLoader.t

DB_File tests failing on Tru64
64-bit Perl on Tru64
Warnings about floating-point overflow when compiling Perl on Tru64
Testing Perl on Tru64

I/O redirection and backgrounding
-i, -S, -u
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, $?, $|

BUILDING PERL FOR OPENVOS
SUPPORT STATUS

<https://osdn.net/projects/mingw/>, <https://mingw-w64.org>
Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2015-2022 Community Edition, Microsoft C++ Build Tools, GCC, Intel C++ Compiler
Testing Perl on Windows
Installation of Perl on Windows
Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Notes on 64-bit Windows
Running Perl Scripts
Miscellaneous Things
BUGS AND CAVEATS
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>

lvalue, method, prototype(..), const, shared
get, reftype
FETCH_type_ATTRIBUTES, MODIFY_type_ATTRIBUTES
Syntax of Attribute Lists
Export tags defined

:void cannot be used with lexical scope, No user hints defined for %s
Importing autodie into another namespace than "caller"

Common Methods

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

a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version
inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect()
Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version
inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect()
Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

a or accuracy, p or precision, l, lib, try, or only, hex, oct, v or version
inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect()
The upgrade() and downgrade() methods, Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version
inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect()
Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

Version Bundles

List constants
Magic constants
COPYRIGHT & LICENSE

COPYRIGHT AND LICENSE

"use encoding ['ENCNAME'] ;", "use encoding ENCNAME, Filter=>1;", "no encoding;"
"NON-EUC" doublebyte encodings, "tr///", Legend of characters above
EXAMPLE - Greekperl
Thread safety, Can't be used by more than one module in a single program, Other modules using "STDIN" and "STDOUT" get the encoded stream, literals in regex that are longer than 127 bytes, EBCDIC, "format", See also "CAVEATS" in encoding

Overview of the problem
Upgrade both sides to unicode-strings, Downgrade both sides to byte-strings, Specify the encoding for implicit byte-string upgrading, PerlIO layers for STDIN and STDOUT, Literal conversions, Implicit upgrading for byte-strings

"args_array_with_signatures" - allow @_ to be used in signatured subs, "array_base" - allow the use of $[ to change the starting index of @array, "autoderef" - allow push, each, keys, and other built-ins on references, "bitwise" - allow the new stringwise bit operators, "builtin" - allow the use of the functions in the builtin:: namespace, "const_attr" - allow the :const attribute on subs, "declared_refs" - enables aliasing via assignment to references, "defer" - enables the use of defer blocks, "extra_paired_delimiters" - enables the use of more paired string delimiters than the traditional four, "<  >", "( )", "{ }", and "[ ]", "for_list" - allows iterating over multiple values at a time with "for", "isa" - allow the use of the "isa" infix operator, "lexical_topic" - allow the use of lexical $_ via "my $_", "lexical_subs" - allow the use of lexical subroutines, "postderef" - allow the use of postfix dereferencing expressions, "postderef_qq" - allow the use of postfix dereferencing expressions inside interpolating strings, "re_strict" - enables strict mode in regular expressions, "refaliasing" - allow aliasing via "\$x = \$y", "regex_sets" - allow extended bracketed character classes in regexps, "signatures" - allow subroutine signatures (for named arguments), "smartmatch" - allow the use of "~~", "switch" - allow the use of "~~", given, and when, "try" - allow the use of "try" and "catch", "win32_perlio" - allows the use of the :win32 IO layer
COPYRIGHT AND LICENSE

"no feature"
feature_enabled($feature), feature_enabled($feature, $depth), features_enabled(), features_enabled($depth), feature_bundle(), feature_bundle($depth)

new, phash

"use if"
"no if"
COPYRIGHT AND LICENCE

"BOOLEAN = less->of( FEATURE )"
"FEATURES = less->of()"
This probably does nothing, This works only on 5.10+

COPYRIGHT AND LICENSE

"/citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1 &type=pdf" in http:
<https://www.python.org/download/releases/2.3/mro/>
Class::C3

IMPLEMENTATION DETAILS

"not", "neg", "++", "--", Assignments, Non-mutators with a mutator variant, "int", String, numeric, boolean, and regexp conversions, Iteration, File tests, Matching, Dereferencing, Special
Magic Autogeneration
defined, but FALSE, "undef", TRUE
Inheritance and Overloading
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)
Overloading Constants
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
BUGS AND PITFALLS

"no overloading", "no overloading @ops", "use overloading", "use overloading @ops"

base, parent::versioned
AUTHORS AND CONTRIBUTORS

'taint' mode
'eval' mode
'strict' mode
'/flags' mode
'debug' mode
'Debug' mode
Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, FLAGS, TEST, Execute related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options, EXTRA, BUFFERS, TRIEM, STATE, STACK, GPOS, OPTIMISEM, DUMP_PRE_OPTIMIZE, WILDCARD, Other useful flags, ALL, All, MORE, More
is_regexp($ref), regexp_pattern($ref), regname($name,$all), regnames($all), regnames_count(), regmust($ref), optimization($ref), minlen, minlenret, gofs, noscan, isall, anchor SBOL, anchor MBOL, anchor GPOS, skip, implicit, anchored/floating, anchored utf8/floating utf8, anchored min offset/floating min offset, anchored max offset/floating max offset, anchored end shift/floating end shift, checking, stclass

SIGNAL HANDLERS
stack-trace, die, handler your-handler
SIGNAL LISTS
normal-signals, error-signals, old-interface-signals
untrapped, any, signal, number

"bitwise" - stable as of perl 5.22, available via stable 0.031, "isa" - stable as of perl 5.32, available via stable 0.031, "lexical_subs" - stable as of perl 5.22, available via stable 0.031, "postderef" - stable as of perl 5.20, available via stable 0.031, "const_attr" - stable as of perl 5.22, available via stable 0.032, "for_list" - stable as of perl 5.36, available via stable 0.032
COPYRIGHT AND LICENSE

"strict refs", "strict vars", "strict subs"

$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: ..
BUGS AND LIMITATIONS
Thread-safe modules, Using non-thread-safe modules, Memory consumption, Current working directory, Locales, Environment variables, Catching signals, Parent-child threads, 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, Identity of objects returned from threads, Returning blessed objects from threads, END blocks in threads, Open directory handles, Detached threads and global destruction, 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
cond_broadcast() called on unlocked variable, cond_signal() called on unlocked variable
BUGS AND LIMITATIONS

"$num_octets = utf8::upgrade($string)", "$success = utf8::downgrade($string[, $fail_ok])", utf8::encode($string), "$success = utf8::decode($string)", $unicode = utf8::native_to_unicode($code_point), $native = utf8::unicode_to_native($code_point), "$flag = utf8::is_utf8($string)", "$flag = utf8::valid($string)"

Decimal Versions, Dotted Decimal Versions

Decimal versions, Dotted-Decimal versions
IMPLEMENTATION DETAILS
USAGE DETAILS
Decimal versions always work, Dotted-Decimal version work sometimes
Object Methods
new(), qv(), Normal Form, Numification, Stringification, Comparison operators, Logical Operators

"vmsish status", "vmsish exit", "vmsish time", "vmsish hushed"

use warnings::register, warnings::enabled(), warnings::enabled($category), warnings::enabled($object), warnings::enabled_at_level($category, $level), warnings::fatal_enabled(), warnings::fatal_enabled($category), warnings::fatal_enabled($object), warnings::fatal_enabled_at_level($category, $level), warnings::warn($message), warnings::warn($category, $message), warnings::warn($object, $message), warnings::warn_at_level($category, $level, $message), warnings::warnif($message), warnings::warnif($category, $message), warnings::warnif($object, $message), warnings::warnif_at_level($category, $level, $message), warnings::register_categories(@names)

[0], [1], [2], [3]

-a, -A module [ module ... ], -c module, -C module [ module ... ], -D module [ module ... ], -f, -F, -g module [ module ... ], -G module [ module ... ], -h, -i module [ module ... ], -I, -j Config.pm, -J, -l, -L author [ author ... ], -m, -M mirror1,mirror2,.., -n, -O, -p, -P, -r, -s, -t module [ module ... ], -T, -u, -v, -V, -w, -x module [ module ... ], -X
NONINTERACTIVE_TESTING, PERL_MM_USE_DEFAULT, CPAN_OPTS, CPANSCRIPT_LOGLEVEL, GIT_COMMAND

run( ARGS )

SOURCE AVAILABILITY

Class Methods
"archive", "argv", "backwards", "blib", "color", "directives", "dry", "exec", "extensions", "failures", "comments", "formatter", "harness", "ignore_exit", "includes", "jobs", "lib", "merge", "modules", "parse", "plugins", "quiet", "really_quiet", "recurse", "rules", "show_count", "show_help", "show_man", "show_version", "shuffle", "state", "state_class", "taint_fail", "taint_warn", "test_args", "timer", "verbose", "warnings_fail", "warnings_warn", "tapversion", "trap"

Class Methods
"store", "extensions" (optional), "result_class" (optional)
"result_class"
"extensions"
"results"
"commit"
"last", "failed", "passed", "all", "hot", "todo", "slow", "fast", "new", "old", "save"

Class Methods
"state_version"
"test_class"

Class Methods

Object Methods
$tar->read ( $filename|$handle, [$compressed, {opt => 'val'}] )
limit, filter, md5, extract
$tar->contains_file( $filename )
$tar->extract( [@filenames] )
$tar->extract_file( $file, [$extract_path] )
$tar->list_files( [\@properties] )
$tar->get_files( [@filenames] )
$tar->get_content( $file )
$tar->replace_content( $file, $content )
$tar->rename( $file, $new_name )
$tar->chmod( $file, $mode )
$tar->chown( $file, $uname [, $gname] )
$tar->remove (@filenamelist)
$tar->clear
$tar->write ( [$file, $compressed, $prefix] )
$tar->add_files( @filenamelist )
$tar->add_data ( $filename, $data, [$opthashref] )
FILE, HARDLINK, SYMLINK, CHARDEV, BLOCKDEV, DIR, FIFO, SOCKET
$tar->error( [$BOOL] )
$tar->setcwd( $cwd );
Class Methods
$bool = Archive::Tar->has_io_string
$bool = Archive::Tar->has_perlio
$bool = Archive::Tar->has_zlib_support
$bool = Archive::Tar->has_bzip2_support
$bool = Archive::Tar->has_xz_support
$Archive::Tar::FOLLOW_SYMLINK
$Archive::Tar::CHOWN
$Archive::Tar::CHMOD
$Archive::Tar::SAME_PERMISSIONS
$Archive::Tar::DO_NOT_USE_PREFIX
$Archive::Tar::DEBUG
$Archive::Tar::WARN
$Archive::Tar::error
$Archive::Tar::INSECURE_EXTRACT_MODE
$Archive::Tar::HAS_PERLIO
$Archive::Tar::HAS_IO_STRING
$Archive::Tar::ZERO_PAD_NUMBERS
none, speed (default), memory
$Archive::Tar::EXTRACT_BLOCK_SIZE
What's the minimum perl version required to run Archive::Tar?, Isn't Archive::Tar slow?, Isn't Archive::Tar heavier on memory than /bin/tar?, Can you lazy-load data instead?, How much memory will an X kb tar file need?, What do you do with unsupported filetypes in an archive?, I'm using WinZip, or some other non-POSIX client, and files are not being extracted properly!, How do I extract only files that have property X from an archive?, How do I access .tar.Z files?, How do I handle Unicode strings?
Check if passed in handles are open for read/write, Allow archives to be passed in as string, Facilitate processing an opened filehandle of a compressed archive
The GNU tar specification, The PAX format specification

name, mode, uid, gid, size, mtime, chksum, type, linkname, magic, version, uname, gname, devmajor, devminor, prefix, raw
$bool = $file->extract( [ $alternative_name ] )
$path = $file->full_path
$bool = $file->validate
$bool = $file->has_content
$content = $file->get_content
$cref = $file->get_content_by_ref
$bool = $file->replace_content( $content )
$bool = $file->rename( $new_name )
$bool = $file->chmod( $mode )
$bool = $file->chown( $user [, $group])
$file->is_file, $file->is_dir, $file->is_hardlink, $file->is_symlink, $file->is_chardev, $file->is_blockdev, $file->is_fifo, $file->is_socket, $file->is_longlink, $file->is_label, $file->is_unknown

[0], [1], [2], [3], [4], [5], [6], [7]
findsym
"Bad attribute type: ATTR(%s)", "Attribute handler %s doesn't handle %s attributes", "Declaration of %s attribute in package %s may clash with future reserved word", "Can't have two ATTR specifiers on one subroutine", "Can't autotie a %s", "Internal error: %s symbol went missing", "Won't be able to apply END handler"
COPYRIGHT AND LICENSE

COPYRIGHT AND LICENSE

$keep, $check, $modtime
COPYRIGHT AND LICENSE

Functions Returning "B::SV", "B::AV", "B::HV", and "B::CV" objects
sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, check_av, unitcheck_av, begin_av, end_av, comppadlist, regex_padav, main_cv
Functions for Examining the Symbol Table
walksymtable(SYMREF, METHOD, RECURSE, PREFIX)
Functions Returning "B::OP" objects or for walking op trees
main_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG)
Miscellaneous Utility Functions
ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), perlstring(STR), safename(STR), class(OBJ), threadsv_names
@optype, @specialsv_name
OVERVIEW OF CLASSES
REFCNT, FLAGS, IsBOOL, object_2svref, TRUE, TRUE_nomg
IV, IVX, UVX, int_value, needs64bits, packiv
NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH
RV
PV, RV, PVX, CUR, LEN
MAGIC, SvSTASH
MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX
prev_index, is_offset, array_len, get_invlist_array
TARGOFF, TARGLEN, TYPE, TARG
USEFUL, PREVIOUS, RARE, TABLE
REGEX, precomp, qr_anoncv, compflags
is_empty, NAME, SAFENAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE, FILEGV, GvREFCNT, FLAGS, GPFLAGS
LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD
FILL, MAX, ARRAY, ARRAYelt
STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS, const_sv, NAME_HEK
FILL, MAX, KEYS, RITER, NAME, ARRAY
next, sibling, parent, name, ppaddr, desc, targ, type, opt, flags, private, spare
first
aux_list(cv), string(cv)
last
other
children
pmreplroot, pmreplstart, pmflags, precomp, pmoffset, code_list, pmregexp
sv, gv
padix
pv
redoop, nextop, lastop
label, stash, stashpv, stashoff (threaded only), file, cop_seq, line, warnings, io, hints, hints_hash
first, meth_sv
MAX, ARRAY, ARRAYelt, NAMES, REFCNT, id, outid
MAX, ARRAY, ARRAYelt, REFCNT
PV, PVX, LEN, REFCNT, GEN, FLAGS, TYPE, SvSTASH, OURSTASH, PROTOCV, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH, PARENT_PAD_INDEX, PARENT_FAKELEX_FLAGS, IsUndef
$B::overlay

Options for Opcode Ordering
-basic, -exec, -tree
Options for Line-Style
-concise, -terse, -linenoise, -debug, -env
Options for tree-specific formatting
-compact, -loose, -vt, -ascii
Options controlling sequence numbering
-basen, -bigendian, -littleendian
-src, -stash="somepackage", -main, -nomain, -nobanner, -banner, -banneris => subref
(x(exec_text;basic_text)x), (*(text)*), (*(text1;text2)*), (?(text1#varText2)?), ~
# Variables
#var, #varN, #Var, #addr, #arg, #class, #classsym, #coplabel, #exname, #extarg, #firstaddr, #flags, #flagval, #hints, #hintsval, #hyphseq, #label, #lastaddr, #name, #NAME, #next, #nextaddr, #noise, #private, #privval, #seq, #opt, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum
perl -MO=Concise,bar foo.pl, perl -MDigest::MD5=md5 -MO=Concise,md5 -e1, perl -MPOSIX -MO=Concise,_POSIX_ARG_MAX -e1, perl -MPOSIX -MO=Concise,a -e 'print _POSIX_SAVED_IDS', perl -MPOSIX -MO=Concise,a -e 'sub a{_POSIX_SAVED_IDS}', perl -MB::Concise -e 'B::Concise::compile("-exec","-src", \%B::Concise::)->()'

-d, -fFILE, -l, -p, -P, -q, -sLETTERS, C, iNUMBER, T, vSTRING., -xLEVEL
strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits, %^H

%bits
%defines
%labels
%ops_using