NAME

perltoc - perl documentation table of contents

DESCRIPTION

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.

BASIC DOCUMENTATION

perl - The Perl 5 language interpreter

SYNOPSIS
GETTING HELP
Overview
Tutorials
Reference Manual
Internals and C Language Interface
Miscellaneous
Language-Specific
Platform-Specific
Stubs for Deleted Documents
DESCRIPTION
AVAILABILITY
ENVIRONMENT
AUTHOR
FILES
SEE ALSO
DIAGNOSTICS
BUGS
NOTES

perlintro -- a brief introduction and overview of Perl

DESCRIPTION
What is Perl?
Running Perl programs
Safety net
Basic syntax overview
Perl variable types

Scalars, Arrays, Hashes

Variable scoping
Conditional and looping constructs

if, while, for, foreach

Builtin operators and functions

Arithmetic, Numeric comparison, String comparison, Boolean logic, Miscellaneous

Files and I/O
Regular expressions

Simple matching, Simple substitution, More complex regular expressions, Parentheses for capturing, Other regexp features

Writing subroutines
OO Perl
Using Perl modules
AUTHOR

perlrun - how to execute the Perl interpreter

SYNOPSIS
DESCRIPTION
#! and quoting on non-Unix systems

OS/2, MS-DOS, Win95/NT, VMS

Location of Perl
Command Switches

-0[octal/hexadecimal] , -a , -C [number/list] , -c , -c:s , -d , -dt, -d:MOD[=bar,baz] , -dt:MOD[=bar,baz], -Dletters , -Dnumber, -e commandline , -E commandline , -f , -Fpattern , -h , -i[extension] , -Idirectory , -l[octnum] , -m[-]module , -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n , -p , -s , -S , -t , -T , -u , -U , -v , -V , -V:configvar, -w , -W , -X , -x , -xdirectory

ENVIRONMENT

HOME , LOGDIR , PATH , PERL5LIB , PERL5OPT , PERLIO , :bytes , :crlf , :mmap , :perlio , :pop , :raw , :stdio , :unix , :utf8 , :win32 , PERLIO_DEBUG , PERLLIB , PERL5DB , PERL5DB_THREADED , PERL5SHELL (specific to the Win32 port) , PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port) , PERL_DEBUG_MSTATS , PERL_DESTRUCT_LEVEL , PERL_DL_NONLAZY , PERL_ENCODING , PERL_HASH_SEED , PERL_PERTURB_KEYS , PERL_HASH_SEED_DEBUG , PERL_MEM_LOG , PERL_ROOT (specific to the VMS port) , PERL_SIGNALS , PERL_UNICODE , PERL_USE_UNSAFE_INC , SYS$LOGIN (specific to the VMS port) , PERL_INTERNAL_RAND_SEED

perlreftut - Mark's very short tutorial about references

DESCRIPTION
Who Needs Complicated Data Structures?
The Solution
Syntax
Making References
Using References
An Example
Arrow Rule
Solution
The Rest
Summary
Credits
Distribution Conditions

perldsc - Perl Data Structures Cookbook

DESCRIPTION

arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs

REFERENCES
COMMON MISTAKES
CAVEAT ON PRECEDENCE
WHY YOU SHOULD ALWAYS use strict
DEBUGGING
CODE EXAMPLES
ARRAYS OF ARRAYS
Declaration of an ARRAY OF ARRAYS
Generation of an ARRAY OF ARRAYS
Access and Printing of an ARRAY OF ARRAYS
HASHES OF ARRAYS
Declaration of a HASH OF ARRAYS
Generation of a HASH OF ARRAYS
Access and Printing of a HASH OF ARRAYS
ARRAYS OF HASHES
Declaration of an ARRAY OF HASHES
Generation of an ARRAY OF HASHES
Access and Printing of an ARRAY OF HASHES
HASHES OF HASHES
Declaration of a HASH OF HASHES
Generation of a HASH OF HASHES
Access and Printing of a HASH OF HASHES
MORE ELABORATE RECORDS
Declaration of MORE ELABORATE RECORDS
Declaration of a HASH OF COMPLEX RECORDS
Generation of a HASH OF COMPLEX RECORDS
Database Ties
SEE ALSO
AUTHOR

perllol - Manipulating Arrays of Arrays in Perl

DESCRIPTION
Declaration and Access of Arrays of Arrays
Growing Your Own
Access and Printing
Slices
SEE ALSO
AUTHOR

perlrequick - Perl regular expressions quick start

DESCRIPTION
The Guide
Simple word matching
Using character classes
Matching this or that
Grouping things and hierarchical matching
Extracting matches
Matching repetitions
More matching
Search and replace
The split operator
use re 'strict'
BUGS
SEE ALSO
Acknowledgments

perlretut - Perl regular expressions tutorial

DESCRIPTION
Part 1: The basics
Simple word matching
Using character classes
Matching this or that
Grouping things and hierarchical matching

0. Start with the first letter in the string 'a', 1. Try the first alternative in the first group 'abd', 2. Match 'a' followed by 'b'. So far so good, 3. 'd' in the regexp doesn't match 'c' in the string - a dead end. So backtrack two characters and pick the second alternative in the first group 'abc', 4. Match 'a' followed by 'b' followed by 'c'. We are on a roll and have satisfied the first group. Set $1 to 'abc', 5 Move on to the second group and pick the first alternative 'df', 6 Match the 'd', 7. 'f' in the regexp doesn't match 'e' in the string, so a dead end. Backtrack one character and pick the second alternative in the second group 'd', 8. 'd' matches. The second grouping is satisfied, so set $2 to 'd', 9. We are at the end of the regexp, so we are done! We have matched 'abcd' out of the string "abcde"

Extracting matches
Backreferences
Relative backreferences
Named backreferences
Alternative capture group numbering
Position information
Non-capturing groupings
Matching repetitions

0. Start with the first letter in the string 't', 1. The first quantifier '.*' starts out by matching the whole string "the cat in the hat", 2. 'a' in the regexp element 'at' doesn't match the end of the string. Backtrack one character, 3. 'a' in the regexp element 'at' still doesn't match the last letter of the string 't', so backtrack one more character, 4. Now we can match the 'a' and the 't', 5. Move on to the third element '.*'. Since we are at the end of the string and '.*' can match 0 times, assign it the empty string, 6. We are done!

Possessive quantifiers
Building a regexp
Using regular expressions in Perl
Part 2: Power tools
More on characters, strings, and character classes
Compiling and saving regular expressions
Composing regular expressions at runtime
Embedding comments and modifiers in a regular expression
Looking ahead and looking behind
Using independent subexpressions to prevent backtracking
Conditional expressions
Defining named patterns
Recursive patterns
A bit of magic: executing Perl code in a regular expression
Backtracking control verbs
Pragmas and debugging
SEE ALSO
AUTHOR AND COPYRIGHT
Acknowledgments

perlootut - Object-Oriented Programming in Perl Tutorial

DATE
DESCRIPTION
OBJECT-ORIENTED FUNDAMENTALS
Object
Class
Methods
Attributes
Polymorphism
Inheritance
Encapsulation
Composition
Roles
When to Use OO
PERL OO SYSTEMS
Moose

Declarative sugar, Roles built-in, A miniature type system, Full introspection and manipulation, Self-hosted and extensible, Rich ecosystem, Many more features

Class::Accessor
Class::Tiny
Role::Tiny
Dios
OO System Summary

Moose, Class::Accessor, Class::Tiny, Role::Tiny, Dios

Other OO Systems
CONCLUSION

perlperf - Perl Performance and Optimization Techniques

DESCRIPTION
OVERVIEW
ONE STEP SIDEWAYS
ONE STEP FORWARD
ANOTHER STEP SIDEWAYS
GENERAL GUIDELINES
BENCHMARKS
Assigning and Dereferencing Variables.
Search and replace or tr
PROFILING TOOLS
Devel::DProf
Devel::Profiler
Devel::SmallProf
Devel::FastProf
Devel::NYTProf
SORTING

Elapsed Real Time, User CPU Time, System CPU Time

LOGGING
Logging if DEBUG (constant)
POSTSCRIPT
SEE ALSO
PERLDOCS
MAN PAGES
MODULES
URLS
AUTHOR

perlstyle - Perl style guide

DESCRIPTION

perlcheat - Perl 5 Cheat Sheet

DESCRIPTION
The sheet
ACKNOWLEDGEMENTS
AUTHOR
SEE ALSO

perltrap - Perl traps for the unwary

DESCRIPTION
Awk Traps
C/C++ Traps
JavaScript Traps
Sed Traps
Shell Traps
Perl Traps

perldebtut - Perl debugging tutorial

DESCRIPTION
use strict
Looking at data and -w and v
help
Stepping through code
Placeholder for a, w, t, T
REGULAR EXPRESSIONS
OUTPUT TIPS
CGI
GUIs
SUMMARY
SEE ALSO
AUTHOR
CONTRIBUTORS

perlfaq - Frequently asked questions about Perl

VERSION
DESCRIPTION
Where to find the perlfaq
How to use the perlfaq
How to contribute to the perlfaq
What if my question isn't answered in the FAQ?
TABLE OF CONTENTS

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

THE QUESTIONS
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
CREDITS
AUTHOR AND COPYRIGHT

perlfaq1 - General Questions About Perl

VERSION
DESCRIPTION
What is Perl?
Who supports Perl? Who develops it? Why is it free?
Which version of Perl should I use?
What are Perl 4, Perl 5, or Perl 6?
What is Perl 6?
How stable is Perl?
How often are new versions of Perl released?
Is Perl difficult to learn?
How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
Can I do [task] in Perl?
When shouldn't I program in Perl?
What's the difference between "perl" and "Perl"?
What is a JAPH?
How can I convince others to use Perl?

http://www.perl.org/about.html, http://perltraining.com.au/whyperl.html

AUTHOR AND COPYRIGHT

perlfaq2 - Obtaining and Learning about Perl

VERSION
DESCRIPTION
What machines support Perl? Where do I get it?
How can I get a binary version of Perl?
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?
What modules and extensions are available for Perl? What is CPAN?
Where can I get information on Perl?

http://www.perl.org/, http://perldoc.perl.org/, http://learn.perl.org/

What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?

http://www.perl.org/, http://learn.perl.org/, http://jobs.perl.org/, http://lists.perl.org/

Where can I post questions?
Perl Books
Which magazines have Perl content?
Which Perl blogs should I read?
What mailing lists are there for Perl?
Where can I buy a commercial version of Perl?
Where do I send bug reports?
AUTHOR AND COPYRIGHT

perlfaq3 - Programming Tools

VERSION
DESCRIPTION
How do I do (anything)?

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

How can I use Perl interactively?
How do I find which modules are installed on my system?
How do I debug my Perl programs?
How do I profile my Perl programs?
How do I cross-reference my Perl programs?
Is there a pretty-printer (formatter) for Perl?
Is there an IDE or Windows Perl Editor?

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

Where can I get Perl macros for vi?
Where can I get perl-mode or cperl-mode for emacs?
How can I use curses with Perl?
How can I write a GUI (X, Tk, Gtk, etc.) in Perl?

Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena

How can I make my Perl program run faster?
How can I make my Perl program take less memory?

Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk

Is it safe to return a reference to local or lexical data?
How can I free an array or hash so my program shrinks?
How can I make my CGI script more efficient?
How can I hide the source for my Perl program?
How can I compile my Perl program into byte code or C?
How can I get #!perl to work on [MS-DOS,NT,...]?
Can I write useful Perl programs on the command line?
Why don't Perl one-liners work on my DOS/Mac/VMS system?
Where can I learn about CGI or Web programming in Perl?
Where can I learn about object-oriented Perl programming?
Where can I learn about linking C with Perl?
I've read perlembed, perlguts, etc., but I can't embed perl in my C program; what am I doing wrong?
When I tried to run my script, I got this message. What does it mean?
What's MakeMaker?
AUTHOR AND COPYRIGHT

perlfaq4 - Data Manipulation

VERSION
DESCRIPTION
Data: Numbers
Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?
Why is int() broken?
Why isn't my octal data interpreted correctly?
Does Perl have a round() function? What about ceil() and floor()? Trig functions?
How do I convert between numeric representations/bases/radixes?

How do I convert hexadecimal into decimal, How do I convert from decimal to hexadecimal, How do I convert from octal to decimal, How do I convert from decimal to octal, How do I convert from binary to decimal, How do I convert from decimal to binary

Why doesn't & work the way I want it to?
How do I multiply matrices?
How do I perform an operation on a series of integers?
How can I output Roman numerals?
Why aren't my random numbers random?
How do I get a random number between X and Y?
Data: Dates
How do I find the day or week of the year?
How do I find the current century or millennium?
How can I compare two dates and find the difference?
How can I take a string and turn it into epoch seconds?
How can I find the Julian Day?
How do I find yesterday's date?
Does Perl have a Year 2000 or 2038 problem? Is Perl Y2K compliant?
Data: Strings
How do I validate input?
How do I unescape a string?
How do I remove consecutive pairs of characters?
How do I expand function calls in a string?
How do I find matching/nesting anything?
How do I reverse a string?
How do I expand tabs in a string?
How do I reformat a paragraph?
How can I access or change N characters of a string?
How do I change the Nth occurrence of something?
How can I count the number of occurrences of a substring within a string?
How do I capitalize all the words on one line?
How can I split a [character]-delimited string except when inside [character]?
How do I strip blank space from the beginning/end of a string?
How do I pad a string with blanks or pad a number with zeroes?
How do I extract selected columns from a string?
How do I find the soundex value of a string?
How can I expand variables in text strings?
What's wrong with always quoting "$vars"?
Why don't my <<HERE documents work?

There must be no space after the << part, There (probably) should be a semicolon at the end of the opening token, You can't (easily) have any space in front of the tag, There needs to be at least a line separator after the end token

Data: Arrays
What is the difference between a list and an array?
What is the difference between $array[1] and @array[1]?
How can I remove duplicate elements from a list or array?
How can I tell whether a certain element is contained in a list or array?
How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
How do I test whether two arrays or hashes are equal?
How do I find the first array element for which a condition is true?
How do I handle linked lists?
How do I handle circular lists?
How do I shuffle an array randomly?
How do I process/modify each element of an array?
How do I select a random element from an array?
How do I permute N elements of a list?
How do I sort an array by (anything)?
How do I manipulate arrays of bits?
Why does defined() return true on empty arrays and hashes?
Data: Hashes (Associative Arrays)
How do I process an entire hash?
How do I merge two hashes?
What happens if I add or remove keys from a hash while iterating over it?
How do I look up a hash element by value?
How can I know how many entries are in a hash?
How do I sort a hash (optionally by value instead of key)?
How can I always keep my hash sorted?
What's the difference between "delete" and "undef" with hashes?
Why don't my tied hashes make the defined/exists distinction?
How do I reset an each() operation part-way through?
How can I get the unique keys from two hashes?
How can I store a multidimensional array in a DBM file?
How can I make my hash remember the order I put elements into it?
Why does passing a subroutine an undefined element in a hash create it?
How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
How can I use a reference as a hash key?
How can I check if a key exists in a multilevel hash?
How can I prevent addition of unwanted keys into a hash?
Data: Misc
How do I handle binary data correctly?
How do I determine whether a scalar is a number/whole/integer/float?
How do I keep persistent data across program calls?
How do I print out or copy a recursive data structure?
How do I define methods for every class/object?
How do I verify a credit card checksum?
How do I pack arrays of doubles or floats for XS code?
AUTHOR AND COPYRIGHT

perlfaq5 - Files and Formats

VERSION
DESCRIPTION
How do I flush/unbuffer an output filehandle? Why must I do this?
How do I change, delete, or insert a line in a file, or append to the beginning of a file?
How do I count the number of lines in a file?
How do I delete the last N lines from a file?
How can I use Perl's -i option from within a program?
How can I copy a file?
How do I make a temporary file name?
How can I manipulate fixed-record-length files?
How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?
How can I use a filehandle indirectly?
How can I open a filehandle to a string?
How can I write() into a string?
How can I output my numbers with commas added?
How can I translate tildes (~) in a filename?
How come when I open a file read-write it wipes it out?
Why do I sometimes get an "Argument list too long" when I use <*>?
How can I open a file named with a leading ">" or trailing blanks?
How can I reliably rename a file?
How can I lock a file?
Why can't I just open(FH, ">file.lock")?
I still don't get locking. I just want to increment the number in the file. How can I do this?
All I want to do is append a small amount of text to the end of a file. Do I still have to use locking?
How do I randomly update a binary file?
How do I get a file's timestamp in perl?
How do I set a file's timestamp in perl?
How do I print to more than one file at once?
How can I read in an entire file all at once?
How can I read in a file by paragraphs?
How can I read a single character from a file? From the keyboard?
How can I tell whether there's a character waiting on a filehandle?
How do I do a tail -f in perl?
How do I dup() a filehandle in Perl?
How do I close a file descriptor by number?
Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?
Why doesn't glob("*.*") get all the files?
Why does Perl let me delete read-only files? Why does -i clobber protected files? Isn't this a bug in Perl?
How do I select a random line from a file?
Why do I get weird spaces when I print an array of lines?
How do I traverse a directory tree?
How do I delete a directory tree?
How do I copy an entire directory?
AUTHOR AND COPYRIGHT

perlfaq6 - Regular Expressions

VERSION
DESCRIPTION
How can I hope to use regular expressions without creating illegible and unmaintainable code?

Comments Outside the Regex, Comments Inside the Regex, Different Delimiters

I'm having trouble matching over more than one line. What's wrong?
How can I pull out lines between two patterns that are themselves on different lines?
How do I match XML, HTML, or other nasty, ugly things with a regex?
I put a regular expression into $/ but it didn't work. What's wrong?
How do I substitute case-insensitively on the LHS while preserving case on the RHS?
How can I make \w match national character sets?
How can I match a locale-smart version of /[a-zA-Z]/?
How can I quote a variable to use in a regex?
What is /o really for?
How do I use a regular expression to strip C-style comments from a file?
Can I use Perl regular expressions to match balanced text?
What does it mean that regexes are greedy? How can I get around it?
How do I process each word on each line?
How can I print out a word-frequency or line-frequency summary?
How can I do approximate matching?
How do I efficiently match many regular expressions at once?
Why don't word-boundary searches with \b work for me?
Why does using $&, $`, or $' slow my program down?
What good is \G in a regular expression?
Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
What's wrong with using grep in a void context?
How can I match strings with multibyte characters?
How do I match a regular expression that's in a variable?
AUTHOR AND COPYRIGHT

perlfaq7 - General Perl Language Issues

VERSION
DESCRIPTION
Can I get a BNF/yacc/RE for the Perl language?
What are all these $@%&* punctuation signs, and how do I know when to use them?
Do I always/never have to quote my strings or use semicolons and commas?
How do I skip some return values?
How do I temporarily block warnings?
What's an extension?
Why do Perl operators have different precedence than C operators?
How do I declare/create a structure?
How do I create a module?
How do I adopt or take over a module already on CPAN?
How do I create a class?
How can I tell if a variable is tainted?
What's a closure?
What is variable suicide and how can I prevent it?
How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}?

Passing Variables and Functions, Passing Filehandles, Passing Regexes, Passing Methods

How do I create a static variable?
What's the difference between dynamic and lexical (static) scoping? Between local() and my()?
How can I access a dynamic variable while a similarly named lexical is in scope?
What's the difference between deep and shallow binding?
Why doesn't "my($foo) = <$fh>;" work right?
How do I redefine a builtin function, operator, or method?
What's the difference between calling a function as &foo and foo()?
How do I create a switch or case statement?
How can I catch accesses to undefined variables, functions, or methods?
Why can't a method included in this same file be found?
How can I find out my current or calling package?
How can I comment out a large block of Perl code?
How do I clear a package?
How can I use a variable as a variable name?
What does "bad interpreter" mean?
Do I need to recompile XS modules when there is a change in the C library?
AUTHOR AND COPYRIGHT

perlfaq8 - System Interaction

VERSION
DESCRIPTION
How do I find out which operating system I'm running under?
How come exec() doesn't return?
How do I do fancy stuff with the keyboard/screen/mouse?

Keyboard, Screen, Mouse

How do I print something out in color?
How do I read just one key without waiting for a return key?
How do I check whether input is ready on the keyboard?
How do I clear the screen?
How do I get the screen size?
How do I ask the user for a password?
How do I read and write the serial port?

lockfiles, open mode, end of line, flushing output, non-blocking input

How do I decode encrypted password files?
How do I start a process in the background?

STDIN, STDOUT, and STDERR are shared, Signals, Zombies

How do I trap control characters/signals?
How do I modify the shadow password file on a Unix system?
How do I set the time and date?
How can I sleep() or alarm() for under a second?
How can I measure time under a second?
How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?
How can I call my system's unique C functions from Perl?
Where do I get the include files to do ioctl() or syscall()?
Why do setuid perl scripts complain about kernel problems?
How can I open a pipe both to and from a command?
Why can't I get the output of a command with system()?
How can I capture STDERR from an external command?
Why doesn't open() return an error when a pipe open fails?
What's wrong with using backticks in a void context?
How can I call backticks without shell processing?
Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?
How can I convert my shell script to perl?
Can I use perl to run a telnet or ftp session?
How can I write expect in Perl?
Is there a way to hide perl's command line from programs such as "ps"?
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

How do I close a process's filehandle without waiting for it to complete?
How do I fork a daemon process?
How do I find out if I'm running interactively or not?
How do I timeout a slow event?
How do I set CPU limits?
How do I avoid zombies on a Unix system?
How do I use an SQL database?
How do I make a system() exit on control-C?
How do I open a file without blocking?
How do I tell the difference between errors from the shell and perl?
How do I install a module from CPAN?
What's the difference between require and use?
How do I keep my own module/library directory?
How do I add the directory my program lives in to the module/library search path?
How do I add a directory to my include path (@INC) at runtime?

the PERLLIB environment variable, the PERL5LIB environment variable, the perl -Idir command line flag, the lib pragma:, the local::lib module:

Where are modules installed?
What is socket.ph and where do I get it?
AUTHOR AND COPYRIGHT

perlfaq9 - Web, Email and Networking

VERSION
DESCRIPTION
Should I use a web framework?
Which web framework should I use?

Catalyst, Dancer2, Mojolicious, Web::Simple

What is Plack and PSGI?
How do I remove HTML from a string?
How do I extract URLs?
How do I fetch an HTML file?
How do I automate an HTML form submission?
How do I decode or create those %-encodings on the web?
How do I redirect to another page?
How do I put a password on my web pages?
How do I make sure users can't enter values into a form that causes my CGI script to do bad things?
How do I parse a mail header?
How do I check a valid mail address?
How do I decode a MIME/BASE64 string?
How do I find the user's mail address?
How do I send email?

Email::Sender::Transport::Sendmail, Email::Sender::Transport::SMTP

How do I use MIME to make an attachment to a mail message?
How do I read email?
How do I find out my hostname, domainname, or IP address?
How do I fetch/put an (S)FTP file?
How can I do RPC in Perl?
AUTHOR AND COPYRIGHT

perlsyn - Perl syntax

DESCRIPTION
Declarations
Comments
Simple Statements
Statement Modifiers
Compound Statements
Loop Control
For Loops
Foreach Loops
Basic BLOCKs
Switch Statements
Goto
The Ellipsis Statement
PODs: Embedded Documentation
Plain Old Comments (Not!)
Experimental Details on given and when

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

perldata - Perl data types

DESCRIPTION
Variable names
Identifier parsing
Context
Scalar values
Scalar value constructors
List value constructors
Subscripts
Multi-dimensional array emulation
Slices
Typeglobs and Filehandles
Shaped arrays
SEE ALSO

perlop - Perl operators and precedence

DESCRIPTION
Operator Precedence and Associativity
Terms and List Operators (Leftward)
The Arrow Operator
Auto-increment and Auto-decrement
Exponentiation
Symbolic Unary Operators
Binding Operators
Multiplicative Operators
Additive Operators
Shift Operators
Unicode Operators

U+021D2 fatcomma =>, U+02192> arrow ->, U+02044 fraction, U+021D4 <=>, U+02260 !=, U+02265 >=, U+02264 <=, U+022C5 *, U+2219 *, ÷ U+00F7 /, ¹, ², ... pow constants from 0..9 as superscripts

Named Unary Operators
Relational Operators
Equality Operators
Smartmatch 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

Bitwise And
Bitwise Or and Exclusive Or
C-style Logical And
C-style Logical Or
Logical Defined-Or
Range Operators
Conditional Operator
Assignment Operators
Comma Operator
List Operators (Rightward)
Logical Not
Logical And
Logical or and Exclusive Or
C Operators Missing From Perl

unary &, unary *, (TYPE)

Quote and Quote-like Operators

[1], [2], [3], [4], [5], [6], [7], [8]

Regexp Quote-Like Operators

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

Quote-Like Operators

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

Gory details of parsing quoted constructs

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
Constant Folding
No-ops
Bitwise String Operators
Integer Arithmetic
Floating-point Arithmetic
Bigger Numbers

perlsub - Perl subroutines

SYNOPSIS
DESCRIPTION

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

Signatures
Private Variables via my()
Persistent Private Variables
Temporary Values via local()
Lvalue subroutines
Lexical Subroutines
Passing Symbol Table Entries (typeglobs)
When to Still Use local()
Pass by Reference
Prototypes
Constant Functions
Pure Functions
Overriding Built-in Functions
Autoloading
Subroutine Attributes
SEE ALSO

perlfunc - Perl builtin functions

DESCRIPTION
Perl Functions by Category

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

Portability
Alphabetical Listing of Perl Functions

-X FILEHANDLE , -X EXPR, -X DIRHANDLE, -X, abs VALUE , abs, accept NEWSOCKET,GENERICSOCKET , alarm SECONDS , alarm, atan2 Y,X , bind SOCKET,NAME , binmode FILEHANDLE, LAYER , binmode FILEHANDLE, bless REF,CLASSNAME , bless REF, break, caller EXPR , caller, chdir EXPR , chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST , chomp VARIABLE , chomp( LIST ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST , chr NUMBER , chr, chroot FILENAME , chroot, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR , cos, crypt PLAINTEXT,SALT , dbmclose HASH , dbmopen HASH,DBNAME,MASK , defined EXPR , defined, delete EXPR , die LIST , do BLOCK , do EXPR , dump LABEL , dump EXPR, dump, each HASH , each ARRAY , eof FILEHANDLE , eof (), eof, eval EXPR , eval BLOCK, eval, String eval, Under the "unicode_eval" feature, Outside the "unicode_eval" feature, Block eval, evalbytes EXPR , evalbytes, exec LIST , exec PROGRAM LIST, exists EXPR , exit EXPR , exit, exp EXPR , exp, extern sub NAME (); , fc EXPR , fc, fcntl FILEHANDLE,FUNCTION,SCALAR , __FILE__ , 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, 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,EXPR , open FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, opendir DIRHANDLE,EXPR , ord EXPR , ord, our VARLIST , our TYPE VARLIST, our VARLIST : ATTRS, our TYPE VARLIST : ATTRS, pack TEMPLATE,LIST , package NAMESPACE, package NAMESPACE VERSION , package NAMESPACE BLOCK, package NAMESPACE VERSION BLOCK , __PACKAGE__ , pipe READHANDLE,WRITEHANDLE , pop ARRAY , pop, 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 HASH, 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///

Non-function Keywords by Cross-reference

__DATA__, __END__, BEGIN, CHECK, END, INIT, UNITCHECK, DESTROY, and, cmp, eq, ge, gt, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elsif, for, foreach, if, unless, until, while, elseif, default, given, when

perlopentut - simple recipes for opening files and pipes in Perl

DESCRIPTION

OK, HANDLE, MODE, PATHNAME

Opening Text Files
Opening Text Files for Reading
Opening Text Files for Writing
Opening Binary Files
Opening Pipes
Low-level File Opens via sysopen
SEE ALSO

perlpacktut - tutorial on pack and unpack

DESCRIPTION
The Basic Principle
Packing Text
Packing Numbers
Integers
Unpacking a Stack Frame
How to Eat an Egg on a Net
Byte-order modifiers
Floating point Numbers
Exotic Templates
Bit Strings
Uuencoding
Doing Sums
Unicode
Another Portable Binary Encoding
Template Grouping
Lengths and Widths
String Lengths
Dynamic Templates
Counting Repetitions
Intel HEX
Packing and Unpacking C Structures
The Alignment Pit
Dealing with Endian-ness
Alignment, Take 2
Alignment, Take 3
Pointers for How to Use Them
Pack Recipes
Funnies Section
Authors

perlpod - the Plain Old Documentation format

DESCRIPTION
Ordinary Paragraph
Verbatim Paragraph
Command Paragraph

=head1 Heading Text , =head2 Heading Text, =head3 Heading Text, =head4 Heading Text, =over indentlevel , =item stuff..., =back, =cut , =pod , =begin formatname , =end formatname, =for formatname text..., =encoding encodingname

Formatting Codes

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

The Intent
Embedding Pods in Perl Modules
Hints for Writing Pod

SEE ALSO
AUTHOR

perlpodspec - Plain Old Documentation: format specification and notes

DESCRIPTION
Pod Definitions
Pod Commands

"=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item", "=back", "=begin formatname", "=begin formatname parameter", "=end formatname", "=for formatname text...", "=encoding encodingname"

Pod Formatting Codes

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
About L<...> Codes

First:, Second:, Third:, Fourth:, Fifth:, Sixth:

About =over...=back Regions
About Data Paragraphs and "=begin/=end" Regions
SEE ALSO
AUTHOR

perlpodstyle - Perl POD style guide

DESCRIPTION

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

AUTHOR
SEE ALSO

perldiag - various Perl diagnostics

DESCRIPTION
SEE ALSO

perldeprecation - list Perl deprecations

DESCRIPTION
Perl 5.32
Perl 5.30
Perl 5.28
Perl 5.26
Perl 5.24
Perl 5.16
Perl 5.10
SEE ALSO

perllexwarn - Perl Lexical Warnings

DESCRIPTION

perldebug - Perl debugging

DESCRIPTION
The Perl Debugger
Calling the Debugger

perl -d program_name, perl -d -e 0, perl -d:ptkdb program_name, perl -dt threaded_program_name

Debugger Commands

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]

Configurable Options

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

Debugger Input/Output

Prompt, Multiline commands, Stack backtrace , Line Listing Format, Frame listing

Debugging Compile-Time Statements
Debugger Customization
Readline Support / History in the Debugger
Editor Support for Debugging
The Perl Profiler
Debugging Regular Expressions
Debugging Memory Usage
SEE ALSO
BUGS

perlvar - Perl predefined variables

DESCRIPTION
The Syntax of Variable Names
SPECIAL VARIABLES
General Variables

$ARG, $_ , @ARG, @_ , $LIST_SEPARATOR, $" , $PROCESS_ID, $PID, $$ , $PROGRAM_NAME, $0 , $REAL_GROUP_ID, $GID, $( , $EFFECTIVE_GROUP_ID, $EGID, $) , $REAL_USER_ID, $UID, $< , $EFFECTIVE_USER_ID, $EUID, $> , $SUBSCRIPT_SEPARATOR, $SUBSEP, $; , $a, $b , %ENV , $OLD_PERL_VERSION, $] , $SYSTEM_FD_MAX, $^F , @F , @INC , %INC , $INPLACE_EDIT, $^I , @ISA , $^M , $OSNAME, $^O , %SIG , $BASETIME, $^T , $PERL_VERSION, $^V , ${^WIN32_SLOPPY_STAT} , $EXECUTABLE_NAME, $^X

$<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_REGEXP_CODE_RESULT, $^R , ${^RE_DEBUG_FLAGS} , ${^RE_TRIE_MAXBUF}

$ARGV , @ARGV , ARGV , ARGVOUT , IO::Handle->output_field_separator( EXPR ), $OUTPUT_FIELD_SEPARATOR, $OFS, $, , HANDLE->input_line_number( EXPR ), $INPUT_LINE_NUMBER, $NR, $. , IO::Handle->input_record_separator( EXPR ), $INPUT_RECORD_SEPARATOR, $RS, $/ , IO::Handle->output_record_separator( EXPR ), $OUTPUT_RECORD_SEPARATOR, $ORS, $\ , HANDLE->autoflush( EXPR ), $OUTPUT_AUTOFLUSH, $| , ${^LAST_FH} , $ACCUMULATOR, $^A , IO::Handle->format_formfeed(EXPR), $FORMAT_FORMFEED, $^L , HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $% , HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $- , IO::Handle->format_line_break_characters EXPR, $FORMAT_LINE_BREAK_CHARACTERS, $: , HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $= , HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^ , HANDLE->format_name(EXPR), $FORMAT_NAME, $~

Error Variables

${^CHILD_ERROR_NATIVE} , $EXTENDED_OS_ERROR, $^E , $EXCEPTIONS_BEING_CAUGHT, $^S , $WARNING, $^W , ${^WARNING_BITS} , $OS_ERROR, $ERRNO, $! , %OS_ERROR, %ERRNO, %! , $CHILD_ERROR, $? , $EVAL_ERROR, $@

$COMPILING, $^C , $DEBUGGING, $^D , ${^ENCODING} , ${^GLOBAL_PHASE} , CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H , %^H , ${^OPEN} , $PERLDB, $^P , 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, ${^TAINT} , ${^SAFE_LOCALES} , ${^UNICODE} , ${^UTF8CACHE} , ${^UTF8LOCALE}

Deprecated and removed variables

$# , $* , $[

perlre - Perl regular expressions

DESCRIPTION
The Basics
Modifiers

m , s , i , x and xx , p , a, d, l, and u , n , Other Modifiers

Regular Expressions

[1], [2], [3], [4], [5], [6], [7], [8]

Quoting metacharacters
Extended Patterns

(?#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', (?{ 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 }), (R), (R1) (R2) .., (R&NAME), (DEFINE), (?>pattern), (*atomic:pattern) , (?[ ])

Backtracking
Script Runs
Special Backtracking Control Verbs

Verbs, (*PRUNE) (*PRUNE:NAME) , (*SKIP) (*SKIP:NAME) , (*MARK:NAME) (*:NAME) , (*THEN) (*THEN:NAME), (*COMMIT) (*COMMIT:args) , (*FAIL) (*F) (*FAIL:arg) , (*ACCEPT) (*ACCEPT:arg)

Warning on \1 Instead of $1
Repeated Patterns Matching a Zero-length Substring
Combining RE Pieces

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)

Creating Custom RE Engines
Embedded Code Execution Frequency
PCRE/Python Support

(?P<NAME>pattern), (?P=NAME), (?P>NAME)

BUGS
SEE ALSO

perlrebackslash - Perl Regular Expression Backslash Sequences and Escapes

DESCRIPTION
The backslash

[1]

All the sequences and escapes
Character Escapes

[1], [2]

Modifiers
Character classes
Referencing
Assertions

\A, \z, \Z, \G, \b{}, \b, \B{}, \B, \b{gcb} or \b{g}, \b{lb}, \b{sb}, \b{wb}

Misc

\K, \N, \R , \X

perlrecharclass - Perl Regular Expression Character Classes

DESCRIPTION
The dot
Backslash sequences

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]

Bracketed Character Classes

[1], [2], [3], [4], [5], [6], If the /a modifier, is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., word, ascii, blank, if, instead, Unicode rules are in effect .., otherwise ..

perlreref - Perl Regular Expressions Reference

DESCRIPTION
OPERATORS
SYNTAX
ESCAPE SEQUENCES
CHARACTER CLASSES
ANCHORS
QUANTIFIERS
EXTENDED CONSTRUCTS
VARIABLES
FUNCTIONS
TERMINOLOGY
AUTHOR
SEE ALSO
THANKS

perlref - Perl references and nested data structures

NOTE
DESCRIPTION
Making References

1. , 2. , 3. , 4. , 5. , 6. , 7.

Using References
Circular References
Symbolic references
Not-so-symbolic references
Pseudo-hashes: Using an array as a hash
Function Templates
WARNING: Don't use references as hash keys
Postfix Dereference Syntax
Postfix Reference Slicing
Assigning to References
Declaring a Reference to a Variable
SEE ALSO

perlform - Perl formats

DESCRIPTION
Text Fields
Numeric Fields
The Field @* for Variable-Width Multi-Line Text
The Field ^* for Variable-Width One-line-at-a-time Text
Specifying Values
Using Fill Mode
Suppressing Lines Where All Fields Are Void
Repeating Format Lines
Top of Form Processing
Format Variables
NOTES
Footers
Accessing Formatting Internals
WARNINGS

perlobj - Perl object reference

DESCRIPTION
An Object is Simply a Data Structure
A Class is Simply a Package
A Method is Simply a Subroutine
Method Invocation
Inheritance
Writing Constructors
Attributes
An Aside About Smarter and Safer Code
Method Call Variations
Invoking Class Methods
bless, blessed, and ref
The UNIVERSAL Class

isa($class) , DOES($role) , can($method) , VERSION($need)

AUTOLOAD
Destructors
Non-Hash Objects
Inside-Out objects
Pseudo-hashes
SEE ALSO

perlclass - Modern cperl classes and roles

SYNOPSIS
DESCRIPTION
NEW KEYWORDS
CLASS
ROLE
METHOD
MULTI
HAS
LIMITATIONS

Max 65536 fields, field index fixups with roles, eval 'class {}' fails, Array and hash fields cannot be parsed yet, B::class, Performance

perltie - how to hide an object class in a simple variable

SYNOPSIS
DESCRIPTION
Tying Scalars

TIESCALAR classname, LIST , FETCH this , STORE this, value , UNTIE this , DESTROY this

Tying Arrays

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

Tying Hashes

USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST , FETCH this, key , STORE this, key, value , DELETE this, key , CLEAR this , EXISTS this, key , FIRSTKEY this , NEXTKEY this, lastkey , SCALAR this , UNTIE this , DESTROY this

Tying FileHandles

TIEHANDLE classname, LIST , WRITE this, LIST , PRINT this, LIST , PRINTF this, LIST , READ this, LIST , READLINE this , GETC this , EOF this , CLOSE this , UNTIE this , DESTROY this

UNTIE this
The untie Gotcha
SEE ALSO
BUGS
AUTHOR

perldbmfilter - Perl DBM Filters

SYNOPSIS
DESCRIPTION

filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

The Filter
An Example: the NULL termination problem.
Another Example: Key is a C int.
SEE ALSO
AUTHOR

perltypes - Perl type support

DESCRIPTION
Dynamic types
Static types
Why types? Types are unperlish
Type tree
coretypes
native types
Type checker
use types 'strict'
Type inference
FUNCTIONS
typedef (NY)
typeof (NY)
Internals::HvCLASS
More type terminology
nominal type system
subtyping vs subclassing

Contravariance of method arguments in the subtype, Covariance of return types in the subtype, No new exceptions should be thrown by methods of the subtype, Preconditions cannot be strengthened in a subtype, Postconditions cannot be weakened in a subtype, Invariants of the supertype must be preserved in a subtype, History constraint (the "history rule")

Compile-time type optimizations
XXX __PACKAGE__ types questionable
SEE ALSO

"/www.typescriptlang.org/Content/TypeScript%20Language%20Specificati on.pdf" in http: (microsoft's javascript with types), "/code.facebook.com/posts/1505962329687926/flow-a-new-static-type-c hecker-for-javascript/" in https: (facebook's javascript with types), "/github.com/rwaldron/tc39-notes/blob/master/es6/2015-01/JSExperime ntalDirections.pdf" in https: Soundscript, google's javascript with types, https://www.python.org/dev/peps/pep-0484/ (planned python with types), http://www.mypy-lang.org/ (existing python with types), https://news.ycombinator.com/item?id=8620129 (ruby 3.0 planned with types), http://crystal-lang.org/ (a good existing ruby with types), http://hacklang.org/ (facebook's php with types), http://blog.pascal-martin.fr/post/in-favor-of-rfc-scalar-type-hints.html (php 7 types overview), https://wiki.php.net/rfc/scalar_type_hints (php 7), https://wiki.php.net/rfc/return_types (php 7)

perlipc - Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)

DESCRIPTION
Signals
Handling the SIGHUP Signal in Daemons
Deferred Signals (Safe Signals)

Long-running opcodes, Interrupting IO, Restartable system calls, Signals as "faults", Signals triggered by operating system state

Named Pipes
Using open() for IPC
Filehandles
Background Processes
Complete Dissociation of Child from Parent
Safe Pipe Opens
Avoiding Pipe Deadlocks
Bidirectional Communication with Another Process
Bidirectional Communication with Yourself
Sockets: Client/Server Communication
Internet Line Terminators
Internet TCP Clients and Servers
Unix-Domain TCP Clients and Servers
TCP Clients with IO::Socket
A Simple Client

Proto, PeerAddr, PeerPort

A Webget Client
Interactive Client with IO::Socket
TCP Servers with IO::Socket

Proto, LocalPort, Listen, Reuse

UDP: Message Passing
SysV IPC
NOTES
BUGS
AUTHOR
SEE ALSO

perlfork - Perl's fork() emulation

SYNOPSIS
DESCRIPTION
Behavior of other Perl features in forked pseudo-processes

$$ 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

Resource limits
Killing the parent process
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
BUGS
AUTHOR
SEE ALSO

perlnumber - semantics of numbers and numeric operations in Perl

SYNOPSIS
DESCRIPTION
Storing numbers
Numeric operators and numeric conversions
Flavors of Perl numeric operations

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

AUTHOR
SEE ALSO

perlthrtut - Tutorial on threads in Perl

DESCRIPTION
What Is A Thread Anyway?
Threaded Program Models
Boss/Worker
Work Crew
Pipeline
What kind of threads are Perl threads?
Thread-Safe Modules
Thread Basics
Basic Thread Support
A Note about the Examples
Creating Threads
Waiting For A Thread To Exit
Ignoring A Thread
Process and Thread Termination
Threads And Data
Shared And Unshared Data
Thread Pitfalls: Races
Synchronization and control
Controlling access: lock()
A Thread Pitfall: Deadlocks
Queues: Passing Data Around
Semaphores: Synchronizing Data Access
Basic semaphores
Advanced Semaphores
Waiting for a Condition
Giving up control
General Thread Utility Routines
What Thread Am I In?
Thread IDs
Are These Threads The Same?
What Threads Are Running?
A Complete Example
Different implementations of threads
Performance considerations
Process-scope Changes
Thread-Safety of System Libraries
Conclusion
SEE ALSO
Bibliography
Introductory Texts
Other References
Acknowledgements
AUTHOR
Copyrights

perlport - Writing portable Perl

DESCRIPTION

Not all Perl programs have to be portable, Nearly all of Perl already is portable

ISSUES
Newlines
Numbers endianness and Width
Files and Filesystems
System Interaction
Command names versus file pathnames
Networking
Interprocess Communication (IPC)
External Subroutines (XS)
Standard Modules
Time and Date
Character sets and character encoding
Internationalisation
System Resources
Security
Style
CPAN Testers
PLATFORMS
Unix
DOS and Derivatives
VMS
VOS
EBCDIC Platforms
Acorn RISC OS
Other perls
FUNCTION IMPLEMENTATIONS
Alphabetical Listing of Perl Functions

-X FILEHANDLE, -X EXPR, -X, alarm, atan2 Y,X, binmode FILEHANDLE, chmod LIST, chown LIST, chroot FILENAME, chroot, crypt PLAINTEXT,SALT, dbmclose HASH, dbmopen HASH,DBNAME,MODE, dump LABEL, dump FILENAME, exec LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, flock, fork, getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostbyname, gethostent, getnetent, getprotoent, getservent, seekdir, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob, gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE, localtime, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink, rename OLDNAME,NEWNAME, rewinddir, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sleep SECONDS, sockatmark SOCKET, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, stat FILEHANDLE, stat EXPR, stat, symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,PERMS, system LIST, telldir DIRHANDLE, times, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, umask EXPR, umask, utime LIST, wait, waitpid PID,FLAGS

Supported Platforms

Linux (x86, ARM, IA64), HP-UX, AIX, Win32 (x86, Win64), Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows 10, Cygwin, Solaris (x86, SPARC), OpenVMS, Alpha (7.2 and later), I64 (8.2 and later), Symbian, NetBSD, FreeBSD, Debian GNU/kFreeBSD, Haiku, Irix (6.5. What else?), OpenBSD, Dragonfly BSD, Midnight BSD, QNX Neutrino RTOS (6.5.0), MirOS BSD, Stratus OpenVOS (17.0 or later), time_t issues that may or may not be fixed, Symbian (Series 60 v3, 3.2 and 5 - what else?), Stratus VOS / OpenVOS, AIX, Android, FreeMINT

EOL Platforms
(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

Supported Platforms (Perl 5.8)
SEE ALSO
AUTHORS / CONTRIBUTORS

perllocale - Perl locale handling (internationalization and localization)

DESCRIPTION
WHAT IS A LOCALE

Category LC_NUMERIC: Numeric formatting, Category LC_MONETARY: Formatting of monetary amounts, Category LC_TIME: Date/Time formatting, Category LC_MESSAGES: Error and other messages, Category LC_COLLATE: Collation, Category LC_CTYPE: Character Types, Other categories

PREPARING TO USE LOCALES
USING LOCALES
The "use locale" pragma

Not within the scope of "use locale", Lingering effects of use locale, Under "use locale";

The setlocale function
Multi-threaded operation
Finding locales
LOCALE PROBLEMS
Testing for broken locales
Temporarily fixing locale problems
Permanently fixing locale problems
Permanently fixing your system's locale configuration
Fixing system locale configuration
The localeconv function
I18N::Langinfo
LOCALE CATEGORIES
Category LC_COLLATE: Collation: Text Comparisons and Sorting
Category LC_CTYPE: Character Types
Category LC_NUMERIC: Numeric Formatting
Category LC_MONETARY: Formatting of monetary amounts
Category LC_TIME: Respresentation of time
Other categories
SECURITY
ENVIRONMENT

PERL_SKIP_LOCALE_INIT, PERL_BADLANG, LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE, LC_MONETARY, LC_NUMERIC, LC_TIME, LANG

Examples
NOTES
String eval and LC_NUMERIC
Backward compatibility
I18N:Collate obsolete
Sort speed and memory use impacts
Freely available locale definitions
I18n and l10n
An imperfect standard
Unicode and UTF-8
BUGS
Collation of strings containing embedded NUL characters
Multi-threaded
Broken systems
SEE ALSO
HISTORY

perluniintro - Perl Unicode introduction

DESCRIPTION
Unicode
Perl's Unicode Support
Perl's Unicode Model
Unicode and EBCDIC
Creating Unicode
Handling Unicode
Legacy Encodings
Unicode I/O
Displaying Unicode As Text
Special Cases
Advanced Topics
Miscellaneous
Questions With Answers
Hexadecimal Notation
Further Resources
UNICODE IN OLDER PERLS
SEE ALSO
ACKNOWLEDGMENTS

perlunicode - Unicode support in Perl

DESCRIPTION
Important Caveats

Safest if you use feature 'unicode_strings', Input and Output Layers, You should convert your non-ASCII, non-UTF-8 Perl scripts to be UTF-8, use utf8 still needed to enable UTF-8 in scripts, Unicode identifiers follow the Moderately Restrictive Level, BOM-marked scripts and UTF-16 scripts autodetected

Byte and Character Semantics
ASCII Rules versus Unicode Rules

When the string has been upgraded to UTF-8, There are additional methods for regular expression patterns

Extended Grapheme Clusters (Logical characters)
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...}

User-Defined Character Properties
User-Defined Case Mappings (for serious hackers only)
Character Encodings for Input and Output
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 and all other Unicode character properties, as R2.7 asks (see "Unicode Character Properties" above), [3] Perl has \d \D \s \S \w \W \X [:prop:] [:^prop:], plus all the properties specified by http://www.unicode.org/reports/tr18/#Compatibility_Properties. These are described above in "Other Properties", [4], Regular expression lookahead, [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") 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} but we don't have a "Grapheme Cluster Mode", [11] see UAX#29 "Unicode Text Segmentation",, [12] Perl has Unicode::Collate, but it isn't integrated with regular expressions. See UTS#10 "Unicode Collation Algorithms", [13] Perl has (?<=x) and (?=x), but lookaheads or lookbehinds should see outside of the target substring

Unicode Encodings
Noncharacter code points
Beyond Unicode code points
Security Implications of Unicode
Unicode in Perl on EBCDIC
Locales
When Unicode Does Not Happen
The "Unicode Bug"
Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
Using Unicode in XS
Hacking Perl to work on earlier Unicode versions (for very serious hackers only)
Porting code from perl-5.6.X
BUGS
Interaction with Extensions
Speed
range
SEE ALSO

perlunicook - cookbookish examples of handling Unicode in Perl

DESCRIPTION
EXAMPLES
℞ 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
SEE ALSO

§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

AUTHOR
REVISION HISTORY

perlunifaq - Perl Unicode FAQ

Q and A
perlunitut isn't really a Unicode tutorial, is it?
What character encodings does Perl support?
Which version of perl should I use?
What about binary data, like images?
When should I decode or encode?
What if I don't decode?
What if I don't encode?
Is there a way to automatically decode or encode?
What if I don't know which encoding was used?
Can I use Unicode in my Perl sources?
Data::Dumper doesn't restore the UTF8 flag; is it broken?
Why do regex character classes sometimes match only in the ASCII range?
Why do some characters not uppercase or lowercase correctly?
How can I determine if a string is a text string or a binary string?
How do I convert from encoding FOO to encoding BAR?
What are decode_utf8 and encode_utf8?
What is a "wide character"?
INTERNALS
What is "the UTF8 flag"?
What about the use bytes pragma?
What about the use encoding pragma?
What is the difference between :encoding and :utf8?
What's the difference between UTF-8 and utf8?
I lost track; what encoding is the internal format really?
AUTHOR
SEE ALSO

perluniprops - Index of Unicode Version 10.0.0 character properties in Perl

DESCRIPTION
Properties accessible through \p{} and \P{}

Single form (\p{name}) tighter rules:, white space adjacent to a non-word character, underscores separating digits in numbers, Compound form (\p{name=value} or \p{name:value}) tighter rules:, Stabilized, Deprecated, Obsolete, 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}

Properties accessible through Unicode::UCD
Properties accessible through other means
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)

Other information in the Unicode data base

auxiliary/GraphemeBreakTest.html, auxiliary/LineBreakTest.html, auxiliary/SentenceBreakTest.html, auxiliary/WordBreakTest.html, BidiCharacterTest.txt, BidiTest.txt, NormTest.txt, CJKRadicals.txt, EmojiSources.txt, extracted/DName.txt, Index.txt, NamedSqProv.txt, NamesList.html, NamesList.txt, NormalizationCorrections.txt, NushuSources.txt, ReadMe.txt, StandardizedVariants.html, StandardizedVariants.txt, TangutSources.txt, USourceData.txt, USourceGlyphs.pdf

SEE ALSO

perlunitut - Perl Unicode Tutorial

DESCRIPTION
Definitions
Your new toolkit
I/O flow (the actual 5 minute tutorial)
SUMMARY
Q and A (or FAQ)
ACKNOWLEDGEMENTS
AUTHOR
SEE ALSO

perlebcdic - Considerations for running Perl on EBCDIC platforms

DESCRIPTION
COMMON CHARACTER CODE SETS
ASCII
ISO 8859
Latin 1 (ISO 8859-1)
EBCDIC

0037, 1047, POSIX-BC

Unicode code points versus EBCDIC code points
Unicode and UTF
Using Encode
SINGLE OCTET TABLES

recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6

Table in hex, sorted in 1047 order
IDENTIFYING CHARACTER CODE SETS
CONVERSIONS
utf8::unicode_to_native() and utf8::native_to_unicode()
tr///
iconv
C RTL
OPERATOR DIFFERENCES
FUNCTION DIFFERENCES

chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()

REGULAR EXPRESSION DIFFERENCES
SOCKETS
SORTING
Ignore ASCII vs. EBCDIC sort differences.
Use a sort helper function
MONO CASE then sort data (for non-digits, non-underscore)
Perform sorting on one type of platform only.
TRANSFORMATION FORMATS
URL decoding and encoding
uu encoding and decoding
Quoted-Printable encoding and decoding
Caesarean ciphers
Hashing order and checksums
I18N AND L10N
MULTI-OCTET CHARACTER SETS
OS ISSUES
OS/400

PASE, IFS access

OS/390, z/OS

sigaction, chcp, dataset access, iconv, locales

POSIX-BC?
BUGS
SEE ALSO
REFERENCES
HISTORY
AUTHOR

perlsec - Perl security

DESCRIPTION
SECURITY VULNERABILITY CONTACT INFORMATION
SECURITY MECHANISMS AND CONCERNS
Taint mode
Laundering and Detecting Tainted Data
Switches On the "#!" Line
Taint mode and @INC
Cleaning Up Your Path
Shebang Race Condition
Protecting Your Programs
use warnings 'security'
Unicode
Algorithmic Complexity Attacks

Hash Seed Randomization, Hash Traversal Randomization, Bucket Order Perturbance, New Default Hash Function, Alternative Hash Functions, cperl hash security

Using Sudo
SEE ALSO

perlmod - Perl modules (packages and symbol tables)

DESCRIPTION
Is this the document you were after?

This doc, perlnewmod, perlmodstyle

Packages
Symbol Tables
BEGIN, UNITCHECK, CHECK, INIT and END
Perl Classes
Perl Modules
Making your module threadsafe
SEE ALSO

perlmodlib - constructing new Perl modules and finding existing ones

THE PERL MODULE LIBRARY
Pragmatic Modules

arybase, attributes, autodie, autodie::exception, autodie::exception::system, autodie::hints, autodie::skip, autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant, cperl, deprecate, diagnostics, encoding, encoding::warnings, experimental, fake_signatures, feature, ffi, fields, filetest, hashiter, if, integer, less, lib, locale, mro, ok, open, ops, overload, overloading, parent, re, sigtrap, sort, strict, subs, threads, threads::shared, types, utf8, vars, version, vmsish, warnings::register

Standard Modules

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::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Deparse, B::Disassembler, B::Op_private, B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark, ByteLoader, IO::Socket::IP, Socket, CORE, CPAN, CPAN::API::HOWTO, CPAN::Debug, CPAN::Distroprefs, CPAN::FirstTime, CPAN::HandleConfig, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter, CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::History::Meta_1_0, CPAN::Meta::History::Meta_1_1, CPAN::Meta::History::Meta_1_2, CPAN::Meta::History::Meta_1_3, CPAN::Meta::History::Meta_1_4, CPAN::Meta::Merge, CPAN::Meta::Prereqs, CPAN::Meta::Requirements, CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox, CPAN::Plugin, CPAN::Plugin::Specfile, CPAN::Queue, CPAN::Tarzip, CPAN::Version, Carp, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config, Config::Perl::V, Configure, Cpanel::JSON::XS, Cpanel::JSON::XS::Boolean, Cpanel::JSON::XS::Type, Cwd, DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::NYTProf, Devel::NYTProf::Apache, Devel::NYTProf::Core, Devel::NYTProf::Data, Devel::NYTProf::ReadStream, Devel::NYTProf::Run, Devel::NYTProf::Util, 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::ProxySubs, ExtUtils::Constant::Utils, ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Locale, ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval, ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps, ExtUtils::Typemaps::Cmd, ExtUtils::Typemaps::InputMap, ExtUtils::Typemaps::OutputMap, ExtUtils::Typemaps::Type, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec, File::Spec::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::Std, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash, 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, Internals::DumpArenas, 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::CalcEmu, Math::BigInt::FastCalc, Math::BigInt::Lib, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, Metamodel, Module::CoreList, Module::CoreList::Utils, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata, Mu, 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::Find, Pod::Functions, Pod::Html, Pod::InputObjects, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, Pod::Perldoc, Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO, Pod::Perldoc::ToANSI, Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToTerm, Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug, Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML, Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::PullParserEndToken, Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken, Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search, Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text, Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color, Pod::Text::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::ReadKey, Term::ReadLine, Test, Test::Builder, Test::Builder::IO::Scalar, Test::Builder::Module, Test::Builder::Tester, Test::Builder::Tester::Color, Test::Harness, Test::Harness::Beyond, Test::More, Test::Simple, Test::Tester, Test::Tester::Capture, Test::Tester::CaptureRunner, Test::Tutorial, Test::use::ok, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece, Time::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Collate::CJK::Big5, Unicode::Collate::CJK::GB2312, Unicode::Collate::CJK::JISX0208, Unicode::Collate::CJK::Korean, Unicode::Collate::CJK::Pinyin, Unicode::Collate::CJK::Stroke, Unicode::Collate::CJK::Zhuyin, Unicode::Collate::Locale, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, VMS::DCLsym, VMS::Filespec, VMS::Stdio, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader, YAML::LibYAML, YAML::XS, YAML::XS::LibYAML, autodie::Scope::Guard, autodie::Scope::GuardStack, autodie::Util, version::Internals

Extension Modules
CPAN
Africa

Kenya, South Africa, Uganda

Asia

Bangladesh, China, India, Indonesia, Iran, Israel, Japan, Kazakhstan, Philippines, Qatar, Republic of Korea, Singapore, Taiwan, Turkey, United Arab Emirates, Viet Nam

Europe

Austria, Belarus, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Moldova, Netherlands, Norway, Poland, Portugal, Romania, Russian Federation, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland, Ukraine, United Kingdom

North America

Canada, Costa Rica, Mexico, United States, Alabama, Arizona, California, Colorado, Idaho, Illinois, Indiana, Michigan, New Hampshire, New Jersey, New York, North Carolina, Oregon, Pennsylvania, South Carolina, Texas, Utah, Virginia, Washington, Wisconsin

Oceania

Australia, New Caledonia, New Zealand

South America

Argentina, Brazil, Chile

RSYNC Mirrors
Modules: Creation, Use, and Abuse
Guidelines for Module Creation
Guidelines for Converting Perl 4 Library Scripts into Modules
Guidelines for Reusing Application Code
NOTE

perlmodstyle - Perl module style guide

INTRODUCTION
QUICK CHECKLIST
Before you start
The API
Stability
Documentation
Release considerations
BEFORE YOU START WRITING A MODULE
Has it been done before?
Do one thing and do it well
What's in a name?
Get feedback before publishing
DESIGNING AND WRITING YOUR MODULE
To OO or not to OO?
Designing your API

Write simple routines to do simple things, Separate functionality from output, Provide sensible shortcuts and defaults, Naming conventions, Parameter passing

Strictness and warnings
Backwards compatibility
Error handling and messages
DOCUMENTING YOUR MODULE
POD
README, INSTALL, release notes, changelogs

perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, perl Build test, perl Build install

RELEASE CONSIDERATIONS
Version numbering
Pre-requisites
Testing
Packaging
Licensing
COMMON PITFALLS
Reinventing the wheel
Trying to do too much
Inappropriate documentation
SEE ALSO

perlstyle, perlnewmod, perlpod, podchecker, Packaging Tools, Testing tools, http://pause.perl.org/, Any good book on software engineering

AUTHOR

perlmodinstall - Installing CPAN Modules

DESCRIPTION
PREAMBLE

DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module

PORTABILITY
HEY
AUTHOR

perlnewmod - preparing a new module for distribution

DESCRIPTION
Warning
What should I make into a module?
Step-by-step: Preparing the ground

Look around, Check it's new, Discuss the need, Choose a name, Check again

Step-by-step: Making the module

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

Step-by-step: Distributing your module

Get a CPAN user ID, perl Makefile.PL; make test; make distcheck; make dist, Upload the tarball, Fix bugs!

AUTHOR
SEE ALSO

perlpragma - how to write a user pragma

DESCRIPTION
A basic example
Key naming
Implementation details

perlutil - utilities packaged with the Perl distribution

DESCRIPTION
LIST OF UTILITIES
Documentation

perldoc, pod2man and pod2text, pod2html, pod2usage, podselect, podchecker, splain, roffitall

Converters
Administration

libnetcfg, cperlivp

Development

cperlbug, h2ph, c2ph and pstruct, h2xs, enc2xs, xsubpp, prove, corelist

General tools

piconv, ptar, ptardiff, ptargrep, shasum, zipdetails

Installation

cpan, instmodsh

SEE ALSO

perlfilter - Source Filters

DESCRIPTION
CONCEPTS
USING FILTERS
WRITING A SOURCE FILTER
WRITING A SOURCE FILTER IN C

Decryption Filters

CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
WRITING A SOURCE FILTER IN PERL
USING CONTEXT: THE DEBUG FILTER
CONCLUSION
LIMITATIONS
THINGS TO LOOK OUT FOR

Some Filters Clobber the DATA Handle

REQUIREMENTS
AUTHOR
Copyrights

perldtrace - Perl's support for DTrace

SYNOPSIS
DESCRIPTION
HISTORY

5.25.3c

PROBES

sub-entry(SUBNAME, FILE, LINE, PACKAGE), sub-return(SUBNAME, FILE, LINE, PACKAGE), phase-change(NEWPHASE, OLDPHASE), op-entry(OPNAME), load-entry(FILENAME), load-return(FILENAME), glob-entry(MODE, NAME), glob-return(MODE, NAME), hash-entry(MODE, KEY), hash-return(MODE, KEY)

EXAMPLES

Most frequently called functions, Trace function calls, Function calls during interpreter cleanup, System calls at compile time, Perl functions that execute the most opcodes, How much time is spent in an op on average, What hash operations dominate, glob/gv call statistics

REFERENCES

DTrace Dynamic Tracing Guide, DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD

SEE ALSO

Devel::DTrace::Provider

AUTHORS

perlglossary - Perl Glossary

VERSION
DESCRIPTION
A

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

B

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

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

D

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

E

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

F

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

G

garbage collection, GID, glob, global, global destruction, glue language, granularity, grapheme, greedy, grep, group, GV

H

hacker, handler, hard reference, hash, hash table, header file, here document, hexadecimal, home directory, host, hubris, HV

I

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

J

JAPH

K

key, keyword

L

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

M

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

N

named pipe, namespace, NaN, network address, newline, NFS, normalization, null character, null list, null string, numeric context, numification, NV, nybble

O

object, octal, offset, one-liner, open source software, operand, operating system, operator, operator overloading, options, ordinal, overloading, overriding, owner

P

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

Q

qualified, quantifier

R

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

S

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

T

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

U

UDP, UID, umask, unary operator, Unicode, Unix, uppercase

V

value, variable, variable interpolation, variadic, vector, virtual, void context, v-string

W

warning, watch expression, weak reference, whitespace, word, working directory, wrapper, WYSIWYG

X

XS, XSUB

Y

yacc

Z

zero width, zombie

AUTHOR AND COPYRIGHT

perlembed - how to embed perl in your C program

DESCRIPTION
PREAMBLE

Use C from Perl?, Use a Unix program from Perl?, Use Perl from Perl?, Use C from C?, Use Perl from C?

ROADMAP
Compiling your C program
Adding a Perl interpreter to your C program
Calling a Perl subroutine from your C program
Evaluating a Perl statement from your C program
Performing Perl pattern matches and substitutions from your C program
Fiddling with the Perl stack from your C program
Maintaining a persistent interpreter
Execution of END blocks
$0 assignments
Maintaining multiple interpreter instances
Using Perl modules, which themselves use C libraries, from your C program
Using embedded Perl with POSIX locales
Hiding Perl_
MORAL
AUTHOR
COPYRIGHT

perldebguts - Guts of Perl debugging

DESCRIPTION
Debugger Internals
Writing Your Own Debugger
Frame Listing Output Examples
Debugging Regular Expressions
Compile-time Output

anchored STRING at POS, floating STRING at POS1..POS2, matching floating/anchored, minlen, stclass TYPE, noscan, isall, GPOS, plus, implicit, with eval, anchored(TYPE)

Types of Nodes
Run-time Output
Debugging Perl Memory Usage
Using $ENV{PERL_DEBUG_MSTATS}

buckets SMALLEST(APPROX)..GREATEST(APPROX), Free/Used, Total sbrk(): SBRKed/SBRKs:CONTINUOUS, pad: 0, heads: 2192, chain: 0, tail: 6144

SEE ALSO

perlxstut - Tutorial for writing XSUBs

DESCRIPTION
SPECIAL NOTES
make
Version caveat
Dynamic Loading versus Static Loading
Threads and PERL_NO_GET_CONTEXT
TUTORIAL
EXAMPLE 1
EXAMPLE 2
What has gone on?
Writing good test scripts
EXAMPLE 3
What's new here?
Input and Output Parameters
The XSUBPP Program
The TYPEMAP file
Warning about Output Arguments
EXAMPLE 4
What has happened here?
Anatomy of .xs file
Getting the fat out of XSUBs
More about XSUB arguments
The Argument Stack
Extending your Extension
Documenting your Extension
Installing your Extension
EXAMPLE 5
New Things in this Example
EXAMPLE 6
New Things in this Example
EXAMPLE 7 (Coming Soon)
EXAMPLE 8 (Coming Soon)
EXAMPLE 9 Passing open files to XSes
Troubleshooting these Examples
See also
Author
Last Changed

perlxs - XS language reference manual

DESCRIPTION
Introduction
On The Road
The Anatomy of an XSUB
The Argument Stack
The RETVAL Variable
Returning SVs, AVs and HVs through RETVAL
The MODULE Keyword
The PACKAGE Keyword
The PREFIX Keyword
The OUTPUT: Keyword
The NO_OUTPUT Keyword
The CODE: Keyword
The INIT: Keyword
The NO_INIT Keyword
The TYPEMAP: Keyword
Initializing Function Parameters
Default Parameter Values
The PREINIT: Keyword
The SCOPE: Keyword
The INPUT: Keyword
The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
The length(NAME) Keyword
Variable-length Parameter Lists
The C_ARGS: Keyword
The PPCODE: Keyword
Returning Undef And Empty Lists
The REQUIRE: Keyword
The CLEANUP: Keyword
The POSTCALL: Keyword
The BOOT: Keyword
The VERSIONCHECK: Keyword
The PROTOTYPES: Keyword
The PROTOTYPE: Keyword
The ALIAS: Keyword
The OVERLOAD: Keyword
The FALLBACK: Keyword
The INTERFACE: Keyword
The INTERFACE_MACRO: Keyword
The INCLUDE: Keyword
The INCLUDE_COMMAND: Keyword
The CASE: Keyword
The EXPORT_XSUB_SYMBOLS: Keyword
The & Unary Operator
Inserting POD, Comments and C Preprocessor Directives
Using XS With C++
Interface Strategy
Perl Objects And C Structures
Safely Storing Static Data in XS

MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT, aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl), dMY_CXT_INTERP(my_perl)

Thread-aware system interfaces
EXAMPLES
CAVEATS

Non-locale-aware XS code, Locale-aware XS code

XS VERSION
AUTHOR

perlxstypemap - Perl XS C/Perl type mapping

DESCRIPTION
Anatomy of a typemap
The Role of the typemap File in Your Distribution
Sharing typemaps Between CPAN Distributions
Writing typemap Entries
Full Listing of Core Typemaps

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

perlclib - Internal replacements for standard C library functions

DESCRIPTION
Conventions

t, p, n, s

File Operations
File Input and Output
File Positioning
Memory Management and String Handling
Character Class Tests
stdlib.h functions
Miscellaneous functions
SEE ALSO

perlguts - Introduction to the Perl API

DESCRIPTION
Variables
Datatypes
What is an "IV"?
Working with SVs
Offsets
What's Really Stored in an SV?
Working with AVs
Working with HVs
Hash API Extensions
AVs, HVs and undefined values
References
Blessed References and Class Objects
Creating New Variables

GV_ADDMULTI, GV_ADDWARN

Reference Counts and Mortality
Stashes and Globs
Double-Typed SVs
Read-Only Values
Copy on Write
Magic Variables
Assigning Magic
Magic Virtual Tables
Finding Magic
Understanding the Magic of Tied Hashes and Arrays
Localizing changes

SAVEINT(int i), SAVEIV(IV i), SAVEI32(I32 i), SAVELONG(long i), SAVESPTR(s), SAVEPPTR(p), SAVEFREESV(SV *sv), SAVEMORTALIZESV(SV *sv), SAVEFREEOP(OP *op), SAVEFREEPV(p), SAVECLEARSV(SV *sv), SAVEDELETE(HV *hv, char *key, I32 length), SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p), SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p), SAVESTACK_POS(), SV* save_scalar(GV *gv), AV* save_ary(GV *gv), HV* save_hash(GV *gv), void save_item(SV *item), void save_list(SV **sarg, I32 maxsarg), SV* save_svref(SV **sptr), void save_aptr(AV **aptr), void save_hptr(HV **hptr)

Subroutines
XSUBs and the Argument Stack
Autoloading with XSUBs
Calling Perl Routines from within C Programs
Putting a C value on Perl stack
Scratchpads
Scratchpads and recursion
Memory Allocation
Allocation
Reallocation
Moving
PerlIO
Compiled code
Code tree
Examining the tree
Compile pass 1: check routines
Compile pass 1a: constant folding
Compile pass 2: context propagation
Compile pass 3: peephole optimization
Pluggable runops
Compile-time scope hooks

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)

Examining internal data structures with the dump functions
How multiple interpreters and concurrency are supported
Background and PERL_IMPLICIT_CONTEXT
So what happened to dTHR?
How do I use all this in extensions?
Should I do anything special if I call perl from multiple threads?
Future Plans and PERL_IMPLICIT_SYS
Internal Functions

A, p, d, s, n, r, f, M, o, x, m, X, E, b, others

Formatted Printing of IVs, UVs, and NVs
Formatted Printing of Size_t and SSize_t
Pointer-To-Integer and Integer-To-Pointer
Exception Handling
Source Documentation
Backwards compatibility
Unicode Support
What is Unicode, anyway?
How can I recognise a UTF-8 string?
How does UTF-8 represent Unicode characters?
How does Perl store UTF-8 strings?
How do I convert a string to UTF-8?
How do I compare strings?
Various lengths and index types
Is there anything else I need to know?
Custom Operators

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, OA_METHOD, OA_UNOP_AUX, xop_peep

Dynamic Scope and the Context Stack
Introduction to the context stack
Pushing contexts
Popping contexts
Redoing contexts
AUTHORS
SEE ALSO

perlcall - Perl calling conventions from C

DESCRIPTION

An Error Handler, An Event-Driven Program

THE CALL_ FUNCTIONS

call_sv, call_pv, call_method, call_argv

FLAG VALUES
G_VOID
G_SCALAR
G_ARRAY
G_DISCARD
G_NOARGS
G_EVAL
G_KEEPERR
Determining the Context
EXAMPLES
No Parameters, Nothing Returned
Passing Parameters
Returning a Scalar
Returning a List of Values
Returning a List in Scalar Context
Returning Data from Perl via the Parameter List
Using G_EVAL
Using G_KEEPERR
Using call_sv
Using call_argv
Using call_method
Using GIMME_V
Using Perl to Dispose of Temporaries
Strategies for Storing Callback Context Information

1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of callbacks - hard wired limit, 3. Use a parameter to map to the Perl callback

Alternate Stack Manipulation
Creating and Calling an Anonymous Subroutine in C
LIGHTWEIGHT CALLBACKS
SEE ALSO
AUTHOR
DATE

perlmroapi - Perl method resolution plugin interface

DESCRIPTION

resolve, name, length, kflags, hash

Callbacks
Caching
Examples
AUTHORS

perlreapi - Perl regular expression plugin interface

DESCRIPTION
Callbacks
comp

/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

exec

rx, sv, strbeg, strend, stringarg, minend, data, flags

intuit
checkstr
free
Numbered capture callbacks
Named capture callbacks
qr_package
dupe
op_comp
The REGEXP structure
engine
mother_re
extflags
minlen minlenret
gofs
substrs
nparens, lastparen, and lastcloseparen
intflags
pprivate
offs
precomp prelen
paren_names
substrs
subbeg sublen saved_copy suboffset subcoffset
wrapped wraplen
seen_evals
refcnt
HISTORY
AUTHORS
LICENSE

perlreguts - Description of the Perl regular expression engine.

DESCRIPTION
OVERVIEW
A quick note on terms
What is a regular expression engine?
Structure of a Regexp Program

regnode_1, regnode_2, regnode_string, regnode_charclass, regnode_charclass_posixl

Process Overview

A. Compilation, 1. Parsing for size, 2. Parsing for construction, 3. Peep-hole optimisation and analysis, B. Execution, 4. Start position and no-match optimisations, 5. Program execution

Compilation

anchored fixed strings, floating fixed strings, minimum and maximum length requirements, start class, Beginning/End of line positions

Execution
MISCELLANEOUS
Unicode and Localisation Support
Base Structures

offsets, regstclass, data, program

SEE ALSO
AUTHOR
LICENCE
REFERENCES

perlapi - autogenerated documentation for the perl public API

DESCRIPTION
Array Manipulation Functions

av_clear , av_create_and_push , av_create_and_unshift_one , av_delete , av_exists , av_extend , av_fetch , AvFILL , av_fill , av_init_shaped , av_len , av_make , av_pop , av_push , av_shift , av_store , av_study , av_tindex , av_top_index , av_undef , av_unshift , get_av , get_avn_flags , get_avs , newAV , sortsv , sortsv_flags

Callback Functions

call_argv , call_method , call_pv , call_sv , ENTER , ENTER_with_name(name) , eval_pv , eval_sv , FREETMPS , LEAVE , LEAVE_with_name(name) , SAVETMPS

Character case changing

toFOLD , toFOLD_utf8 , toFOLD_utf8_safe , toFOLD_uvchr , toLOWER , toLOWER_L1 , toLOWER_LC , toLOWER_utf8 , toLOWER_utf8_safe , toLOWER_uvchr , toTITLE , toTITLE_utf8 , toTITLE_utf8_safe , toTITLE_uvchr , toUPPER , toUPPER_utf8 , toUPPER_utf8_safe , toUPPER_uvchr

Character classification

isALPHA , isALPHANUMERIC , isASCII , isBLANK , isCNTRL , isDIGIT , isGRAPH , isIDCONT , isIDFIRST , isLOWER , isOCTAL , isPRINT , isPSXSPC , isPUNCT , isSPACE , isUPPER , isWORDCHAR , isXDIGIT

Check routines

ck_entersub_args_list , ck_entersub_args_proto , ck_entersub_args_proto_or_list , ck_entersub_args_signature , cv_get_call_checker , cv_get_call_checker_flags , cv_set_call_checker , cv_set_call_checker_flags , rv2cv_op_cv

Cloning an interpreter

perl_clone

Compile-time scope hooks

BhkDISABLE , BhkENABLE , BhkENTRY_set , blockhook_register , field_index , field_pad , field_pad_add , field_search , fields_size , newPROG void newPROG(OP* o), numfields

COP Hint Hashes

cophh_2hv , cophh_copy , cophh_delete_pv , cophh_delete_pvn , cophh_delete_pvs , cophh_delete_sv , cophh_fetch_pv , cophh_fetch_pvn , cophh_fetch_pvs , cophh_fetch_sv , cophh_free , cophh_new_empty , cophh_store_pv , cophh_store_pvn , cophh_store_pvs , cophh_store_sv

COP Hint Reading

cop_hints_2hv , cop_hints_fetch_pv , cop_hints_fetch_pvn , cop_hints_fetch_pvs , cop_hints_fetch_sv

Custom Operators

custom_op_register , custom_op_xop , XopDISABLE , XopENABLE , XopENTRY , XopENTRYCUSTOM , XopENTRY_set , XopFLAGS

CV Manipulation Functions

caller_cx , CvSTASH , find_runcv , get_cv , get_cvn_flags , get_cvs

xsubpp variables and internal functions

ax , CLASS , dAX , dAXMARK , dITEMS , dUNDERBAR , dXSARGS , dXSI32 , items , ix , RETVAL , ST , THIS , UNDERBAR , XS , XS_EXTERNAL , XS_INTERNAL

Debugging Utilities

debop , do_gvgv_dump , do_gv_dump , do_hv_dump , do_magic_dump , do_op_dump , do_pmop_dump , do_sv_dump , dump_all , dump_all_perl , dump_eval , dump_form , dump_indent void dump_indent(I32 level, PerlIO *file, const char* pat, ...), dump_packsubs , dump_packsubs_perl , dump_sub , dump_sub_cv , dump_sub_perl , dump_vindent , gv_dump , magic_dump , op_class , op_dump , op_dump_cv , pmop_dump , runops_debug , sv_dump

Display and Dump functions

pv_display , pv_escape , pv_pretty , sv_peek

Embedding Functions

cv_clone , cv_name , cv_study , cv_undef , find_rundefsv , find_rundefsvoffset , intro_my , load_module , newPADNAMELIST , newPADNAMEouter , newPADNAMEpvn , newPADNAMEpvn_flags , 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_real , pad_findmy_realoffset , pad_findmy_sv , pad_find_outer , padnamelist_fetch , padnamelist_store , pad_setsv , pad_sv , pad_tidy , perl_alloc , perl_construct , perl_destruct , perl_free , perl_parse , perl_run , require_pv

Exception Handling (simple) Macros

dXCPT , XCPT_CATCH , XCPT_RETHROW , XCPT_TRY_END , XCPT_TRY_START

Functions in file perlio.c

PerlIO_context_layers , PerlIO_debugio , PerlIO_exportFILE , PerlIO_fill , PerlIO_findFILE , PerlIO_releaseFILE , PerlIO_unread

Functions in file pp.c

pp_enterffi

Functions in file regcomp.c

pregfree , re_dup_guts , regdupe_internal , regfree_internal , regnext , re_study

Functions in file scope.c

save_gp

"Gimme" Values

G_ARRAY , G_DISCARD , G_EVAL , GIMME , GIMME_V , G_NOARGS , G_SCALAR , G_VOID

Global Variables

PL_check , PL_keyword_plugin

GV Functions

GvAV , gv_check , gv_const_sv , GvCV , gv_fetchmeth , gv_fetchmethod_autoload , gv_fetchmeth_autoload , gv_fetchmeth_pv , gv_fetchmeth_pvn , gv_fetchmeth_pvn_autoload , gv_fetchmeth_pv_autoload , gv_fetchmeth_sv , gv_fetchmeth_sv_autoload , GvHV , gv_init , gv_init_pv , gv_init_pvn , gv_init_sv , gv_stashpv , gv_stashpvn , gv_stashpvs , gv_stashsv , GvSV , setdefout

Handy Values

Nullav , Nullch , Nullcv , Nullhv , Nullsv

Hash Accessor Macros

HvARRAY , HvAUX , HvCLASS , HvCLASS_on , HvEITER , HvEITER_get , HvEITER_set , HvENAME , HvENAMELEN , HvENAMEUTF8 , HvFIELDS , HvFIELDS_get , HvFILL , HvFLAGS , HvLASTRAND_get , HvMAX , HvNAME , HvNAMELEN , HvNAMEUTF8 , HvPKGTYPE , HvPKGTYPE_NN , HvRAND_get , HvRITER , HvRITER_get , HvRITER_set , HvROLE , HvROLE_on , HvSTATIC

Hash Entries

HEf_SVKEY , HeHASH , HeKEY , HeKLEN , HePV , HeSVKEY , HeSVKEY_force , HeSVKEY_set , HeUTF8 , HeVAL , newHV

Hash Manipulation Functions

cop_fetch_label , cop_store_label , get_hv , get_hvn_flags , get_hvs , hv_assert , hv_bucket_ratio , hv_clear , hv_clear_placeholders , hv_copy_hints_hv , hv_delete , hv_delete_ent , hv_exists , hv_exists_ent , hv_fetch , hv_fetchs , hv_fetch_ent , hv_fill , hv_iterinit , hv_iterkey , hv_iterkeysv , hv_iternext , hv_iternextsv , hv_iternext_flags , hv_iterval , hv_magic , hv_placeholders_get , hv_placeholders_set , hv_scalar , hv_store , hv_stores , hv_store_ent , hv_study , hv_undef , hv_undef_flags , share_hek , unshare_hek , unsharepvn

Hook manipulation

class_role , class_role_finalize , method_field_type , wrap_op_checker

Lexer interface

lex_bufutf8 , lex_discard_to , lex_grow_linestr , lex_next_chunk , lex_peek_unichar , lex_read_space , lex_read_to , lex_read_unichar , lex_start , lex_stuff_pv , lex_stuff_pvn , lex_stuff_pvs , lex_stuff_sv , lex_unstuff , parse_arithexpr , parse_barestmt , parse_block , parse_fullexpr , parse_fullstmt , parse_label , parse_listexpr , parse_stmtseq , parse_termexpr , PL_parser , PL_parser->bufend , PL_parser->bufptr , PL_parser->linestart , PL_parser->linestr , scan_num , scan_vstring , wrap_keyword_plugin

DECLARATION_FOR_LC_NUMERIC_MANIPULATION , Perl_langinfo , Perl_setlocale , RESTORE_LC_NUMERIC , STORE_LC_NUMERIC_FORCE_TO_UNDERLYING , STORE_LC_NUMERIC_SET_TO_NEEDED , switch_to_global_locale , POSIX::localeconv, I18N::Langinfo, items CRNCYSTR and THOUSEP, "Perl_langinfo" in perlapi, items CRNCYSTR and THOUSEP, sync_locale

Magical Functions

mg_clear , mg_copy , mg_find , mg_findext , mg_free , mg_freeext , mg_free_type , mg_get , mg_length , mg_magical , mg_set , SvGETMAGIC , SvLOCK , SvSETMAGIC , SvSetMagicSV , SvSetMagicSV_nosteal , SvSetSV , SvSetSV_nosteal , SvSHARE , sv_string_from_errnum , SvUNLOCK

Memory Management

Copy , CopyD , Move , MoveD , Newx , Newxc , Newxz , Poison , PoisonFree , PoisonNew , PoisonWith , Renew , Renewc , Safefree , savepv , savepvn , savepvs , savesharedpv , savesharedpvn , savesharedpvs , savesharedsvpv , savesvpv , StructCopy , Zero , ZeroD

Miscellaneous Functions

dump_c_backtrace , fastcwd_sv , fbm_compile , fbm_instr , foldEQ , foldEQ_locale , form , getcwd_sv , get_c_backtrace_dump , ibcmp , ibcmp_locale , is_safe_syscall , memEQ , memNE , mess , mess_sv , my_snprintf , my_strlcat , my_strlcpy , my_strnlen , my_vsnprintf , ninstr , PERL_SYS_INIT , PERL_SYS_INIT3 , PERL_SYS_TERM , prep_ffi_ret , prep_ffi_sig , quadmath_format_needed , quadmath_format_single , READ_XDIGIT , rninstr , set_version , strEQ , strGE , strGT , strLE , strLT , strNE , strnEQ , strnNE , sv_destroyable , sv_nosharing , vmess

MRO Functions

mro_get_linear_isa , mro_isa_changed_in , mro_method_changed_in , mro_register

Multicall Functions

dMULTICALL , MULTICALL , POP_MULTICALL , PUSH_MULTICALL

Numeric functions

grok_bin , grok_hex , grok_infnan , grok_number , grok_number_flags , grok_numeric_radix , grok_oct , isinfnan , Perl_signbit , scan_bin , scan_hex , scan_oct

Obsolete backwards compatibility functions

custom_op_desc , custom_op_name , gv_fetchmethod , is_utf8_char , is_utf8_char_buf , pack_cat , pad_compname_type , sv_2pvbyte_nolen , sv_2pvutf8_nolen , sv_2pv_nolen , sv_catpvn_mg , sv_catsv_mg , sv_force_normal , sv_iv , sv_nolocking , sv_nounlocking , sv_nv , sv_pv , sv_pvbyte , sv_pvbyten , sv_pvn , sv_pvutf8 , sv_pvutf8n , sv_taint , sv_unref , sv_usepvn , sv_usepvn_mg , sv_uv , unpack_str , utf8_to_uvuni

Optree construction

newASSIGNOP , newBINOP , newCONDOP , newDEFSVOP , newFOROP , newGIVENOP , newGVOP , newLISTOP , newLOGOP , newLOOPEX , newLOOPOP , newMETHOP , newMETHOP_named , newNULLLIST , newOP , newPADOP , newPMOP , newPVOP , newRANGE , newSLICEOP , newSTATEOP , newSVOP , newUNOP , newUNOP_AUX , newWHENOP , newWHILEOP

Optree Manipulation Functions

alloccopstash , apply_attrs_string , block_end , block_start , cv_const_sv , LINKLIST , newCONSTSUB , newCONSTSUB_flags , newXS , op_append_elem , op_append_list , OP_CLASS , op_contextualize , op_convert_list , OP_DESC , 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 , OP_TYPE_IS , OP_TYPE_IS_OR_WAS , ref

Pack and Unpack

packlist , unpackstring

Pad Data Structures

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 , PadnameSV , PadnameUTF8 , pad_new , PL_comppad , PL_comppad_name , PL_curpad

Per-Interpreter Variables

PL_modglobal , PL_na , PL_opfreehook , PL_peepp , PL_rpeepp , PL_sv_no , PL_sv_undef , PL_sv_yes , PL_sv_zero

REGEXP Functions

SvRX , SvRXOK

Stack Manipulation Macros

dMARK , dORIGMARK , dSP , EXTEND , MARK , mPUSHi , mPUSHn , mPUSHp , mPUSHs , mPUSHu , mXPUSHi , mXPUSHn , mXPUSHp , mXPUSHs , mXPUSHu , ORIGMARK , POPi , POPl , POPn , POPp , POPpbytex , POPpx , POPs , POPu , POPul , PUSHi , PUSHMARK , PUSHmortal , PUSHn , PUSHp , PUSHs , PUSHu , PUTBACK , SP , SPAGAIN , XPUSHi , XPUSHmortal , XPUSHn , XPUSHp , XPUSHs , XPUSHu , XSRETURN , XSRETURN_EMPTY , XSRETURN_IV , XSRETURN_NO , XSRETURN_NV , XSRETURN_PV , XSRETURN_UNDEF , XSRETURN_UV , XSRETURN_YES , XST_mIV , XST_mNO , XST_mNV , XST_mPV , XST_mUNDEF , XST_mYES

SV-Body Allocation

looks_like_number , newRV_noinc , newSV , newSVhek , newSViv , newSVnv , newSVpv , newSVpvf , newSVpvn , newSVpvn_flags , newSVpvn_share , newSVpvs , newSVpvs_flags , newSVpv_share , newSVpvs_share , newSVrv , newSVsv , newSV_type , newSVuv , sv_2bool , sv_2bool_flags , sv_2cv , sv_2io , sv_2iv_flags , sv_2mortal , sv_2nv_flags , sv_2pvbyte , sv_2pvutf8 , sv_2pv_flags , sv_2uv_flags , sv_backoff , sv_bless , sv_catpv , sv_catpvf , sv_catpvf_mg , sv_catpvn , sv_catpvn_flags , sv_catpvs , sv_catpvs_flags , sv_catpvs_mg , sv_catpvs_nomg , sv_catpv_flags , sv_catpv_mg , sv_catsv , sv_catsv_flags , sv_chop , sv_clear , sv_cmp , sv_cmp_flags , sv_cmp_locale , sv_cmp_locale_flags , sv_collxfrm , sv_collxfrm_flags , sv_copypv , sv_copypv_flags , sv_copypv_nomg , sv_dec , sv_dec_nomg , sv_eq , sv_eq_flags , sv_force_normal_flags , sv_free , sv_gets , sv_get_backrefs , sv_grow , sv_inc , sv_inc_nomg , sv_insert , sv_insert_flags , sv_isa , sv_isobject , sv_len , sv_len_utf8 , sv_magic , sv_magicext , sv_mortalcopy , sv_newmortal , sv_newref , sv_pos_b2u , sv_pos_b2u_flags , sv_pos_u2b , sv_pos_u2b_flags , sv_pvbyten_force , sv_pvn_force , sv_pvn_force_flags , sv_pvutf8n_force , sv_ref , sv_reftype , sv_replace , sv_reset , sv_rvunweaken , sv_rvweaken , sv_setiv , sv_setiv_mg , sv_setnv , sv_setnv_mg , sv_setpv , sv_setpvf , sv_setpvf_mg , sv_setpviv , sv_setpviv_mg , sv_setpvn , sv_setpvn_mg , sv_setpvs , sv_setpvs_mg , sv_setpv_bufsize , sv_setpv_mg , sv_setref_iv , sv_setref_nv , sv_setref_pv , sv_setref_pvn , sv_setref_pvs , sv_setref_uv , sv_setsv , sv_setsv_flags , sv_setsv_mg , sv_setuv , sv_setuv_mg , sv_set_undef , sv_tainted , sv_true , sv_uncow , sv_unmagic , sv_unmagicext , sv_unref_flags , sv_untaint , sv_upgrade , sv_usepvn_flags , sv_utf8_decode , sv_utf8_downgrade , sv_utf8_encode , sv_utf8_upgrade , sv_utf8_upgrade_flags , sv_utf8_upgrade_flags_grow , sv_utf8_upgrade_nomg , sv_vcatpvf , sv_vcatpvfn , sv_vcatpvfn_flags , sv_vcatpvf_mg , sv_vsetpvf , sv_vsetpvfn , sv_vsetpvf_mg

SV Flags

SVt_INVLIST , SVt_IV , SVt_NULL , SVt_NV , SVt_PV , SVt_PVAV , SVt_PVCV , SVt_PVFM , SVt_PVGV , SVt_PVHV , SVt_PVIO , SVt_PVIV , SVt_PVLV , SVt_PVMG , SVt_PVNV , SVt_REGEXP , svtype

SV Manipulation Functions

boolSV , croak_xs_usage , get_sv , get_svn_flags , get_svs , newRV_inc , newSVpadname , newSVpvn_utf8 , sv_catpvn_nomg , sv_catpv_nomg , sv_catsv_nomg , sv_clean_objs , SvCUR , SvCUR_set , sv_derived_from , sv_derived_from_pv , sv_derived_from_pvn , sv_derived_from_sv , sv_does , sv_does_pv , sv_does_pvn , sv_does_sv , SvEND , SvGAMAGIC , SvGROW , SvIOK , SvIOK_notUV , SvIOK_off , SvIOK_on , SvIOK_only , SvIOK_only_UV , SvIOKp , SvIOK_UV , SvIsCOW , SvIsCOW_shared_hash , SvIV , SvIV_nomg , SvIV_set , SvIVX , SvIVx , SvLEN , SvLEN_set , SvMAGIC_set , SvNIOK , SvNIOK_off , SvNIOKp , SvNOK , SvNOK_off , SvNOK_on , SvNOK_only , SvNOKp , SvNV , SvNV_nomg , SvNV_set , SvNVX , SvNVx , SvOK , SvOOK , SvOOK_offset , SvPOK , SvPOK_off , SvPOK_on , SvPOK_only , SvPOK_only_UTF8 , SvPOKp , SvPV , SvPVbyte , SvPVbyte_force , SvPVbyte_nolen , SvPVbytex , SvPVbytex_force , SvPVCLEAR , SvPV_force , SvPV_force_nomg , SvPV_nolen , SvPV_nomg , SvPV_nomg_nolen , SvPV_set , SvPVutf8 , SvPVutf8x , SvPVutf8x_force , SvPVutf8_force , SvPVutf8_nolen , SvPVX , SvPVx , SvREADONLY , SvREADONLY_off , SvREADONLY_on , SvREFCNT , SvREFCNT_dec , SvREFCNT_dec_NN , SvREFCNT_inc , SvREFCNT_inc_NN , SvREFCNT_inc_simple , SvREFCNT_inc_simple_NN , SvREFCNT_inc_simple_void , SvREFCNT_inc_simple_void_NN , SvREFCNT_inc_void , SvREFCNT_inc_void_NN , sv_report_used , SvROK , SvROK_off , SvROK_on , SvRV , SvRV_set , sv_setsv_nomg , SvSTASH , SvSTASH_set , SvTAINT , SvTAINTED , SvTAINTED_off , SvTAINTED_on , SvTRUE , SvTRUE_nomg , SvTYPE , SvUOK , SvUPGRADE , SvUTF8 , sv_utf8_upgrade_nomg , SvUTF8_off , SvUTF8_on , SvUV , SvUV_nomg , SvUV_set , SvUVX , SvUVx , SvVOK

Unicode Support

BOM_UTF8 , bytes_cmp_utf8 , bytes_from_utf8 , bytes_to_utf8 , DO_UTF8 , foldEQ_utf8 , is_ascii_string , is_c9strict_utf8_string , is_c9strict_utf8_string_loc , is_c9strict_utf8_string_loclen , isC9_STRICT_UTF8_CHAR , is_invariant_string , isSTRICT_UTF8_CHAR , is_strict_utf8_string , is_strict_utf8_string_loc , is_strict_utf8_string_loclen , is_utf8_fixed_width_buf_flags , is_utf8_fixed_width_buf_loclen_flags , is_utf8_fixed_width_buf_loc_flags , is_utf8_invariant_string , is_utf8_invariant_string_loc , is_utf8_string , is_utf8_string_flags , is_utf8_string_loc , is_utf8_string_loclen , is_utf8_string_loclen_flags , is_utf8_string_loc_flags , is_utf8_valid_partial_char , is_utf8_valid_partial_char_flags , isUTF8_CHAR , isUTF8_CHAR_flags , _is_decomposed_string , pv_uni_display , pv_uni_normalize , REPLACEMENT_CHARACTER_UTF8 , sv_cat_decode , sv_recode_to_utf8 , sv_uni_display , to_utf8_fold , to_utf8_lower , to_utf8_title , to_utf8_upper , 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, utf8n_to_uvuni , UTF8SKIP , utf8_distance , utf8_hop , utf8_hop_back , utf8_hop_forward , utf8_hop_safe , UTF8_IS_INVARIANT , UTF8_IS_NONCHAR , UTF8_IS_SUPER , UTF8_IS_SURROGATE , utf8_length , utf8_to_bytes , utf8_to_uvchr , utf8_to_uvchr_buf , utf8_to_uvuni_buf , UVCHR_IS_INVARIANT , UVCHR_SKIP , uvchr_to_utf8 , uvchr_to_utf8_flags , uvchr_to_utf8_flags_msgs , text, warn_categories, flag, uvoffuni_to_utf8_flags , uvuni_to_utf8_flags , valid_ident , valid_utf8_to_uvchr

Variables created by xsubpp and xsubpp internal functions

newXSproto , XS_APIVERSION_BOOTCHECK , XS_VERSION , XS_VERSION_BOOTCHECK

Versioning

new_version , 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

ckWARN , ckwarn , ckWARN2 , ckWARN3 , ckWARN4 , ckWARN_d , ckwarn_d , ck_warner , ck_warner_d , ckWARN2_d , ckWARN3_d , ckWARN4_d , croak , croak_no_modify , croak_no_modify_sv , croak_sv , die , die_sv , repeatcpy , vcroak , vwarn , vwarner , warn , warner , warn_security , warn_sv

Undocumented functions

GetVars , Gv_AMupdate , _variant_byte_number , amagic_call , amagic_deref_call , any_dup , atfork_lock , atfork_unlock , av_arylen_p , av_iter_p , block_gimme , call_atexit , call_list , calloc , cast_i32 , cast_iv , cast_ulong , cast_uv , clear_defarray , clone_params_del , clone_params_new , croak_memory_wrap , croak_nocontext , csighandler , cx_dump , cx_dup , cxinc , deb , deb_nocontext , debprofdump , debstack , debstackptrs , delimcpy , despatch_signals , die_nocontext , dirp_dup , do_aspawn , do_binmode , do_close , do_join , do_open , do_open9 , do_openn , do_spawn , do_spawn_nowait , do_sprintf , doing_taint , doref , dounwind , dowantarray , dump_mstats , filter_add , filter_del , filter_read , foldEQ_latin1 , form_nocontext , fp_dup , fprintf_nocontext , free_global_struct , free_tmps , get_context , get_mstats , get_op_descs , get_op_names , get_ppaddr , get_vtbl , gp_dup , gp_free , gp_ref , gv_AVadd , gv_HVadd , gv_IOadd , gv_SVadd , gv_add_by_type , gv_autoload4 , gv_autoload_pv , gv_autoload_pvn , gv_autoload_sv , gv_display , gv_efullname , gv_efullname3 , gv_efullname4 , gv_fetchfile , gv_fetchfile_flags , gv_fetchpv , gv_fetchpvn_flags , gv_fetchsv , gv_fullname , gv_fullname3 , gv_fullname4 , gv_handler , gv_name_set , he_dup , hek_dup , hv_common , hv_common_key_len , hv_delayfree_ent , hv_eiter_p , hv_eiter_set , hv_free_ent , hv_ksplit , hv_name_set , hv_rand_set , hv_riter_p , hv_riter_set , ibcmp_utf8 , init_global_struct , init_stacks , init_tm , instr , is_lvalue_sub , leave_scope , load_module_nocontext , malloc , markstack_grow , mess_nocontext , mfree , mg_dup , mg_size , mini_mktime , moreswitches , mro_get_from_name , mro_get_private_data , mro_set_mro , mro_set_private_data , my_atof , my_atof2 , my_chsize , my_cxt_index , my_cxt_init , my_dirfd , my_exit , my_failure_exit , my_fflush_all , my_fork , my_lstat , my_pclose , my_popen , my_popen_list , my_setenv , my_socketpair , my_stat , my_strftime , newANONATTRSUB , newANONHASH , newANONLIST , newANONSUB , newATTRSUB , newAVREF , newCVREF , newFORM , newGVREF , newGVgen , newGVgen_flags , newHVREF , newHVhv , newIO , newMYSUB , newRV , newSUB , newSVREF , newSVpvf_nocontext , new_stackinfo , op_lvalue_flags , op_refcnt_lock , op_refcnt_unlock , parser_dup , perl_alloc_using , perl_clone_using , pop_scope , pregcomp , pregexec , pregfree2 , printf_nocontext , ptr_table_fetch , ptr_table_free , ptr_table_new , ptr_table_split , ptr_table_store , push_scope , re_compile , re_intuit_start , re_intuit_string , re_op_compile , realloc , reentrant_free , reentrant_init , reentrant_retry , reentrant_size , reg_named_buff_all , reg_named_buff_exists , reg_named_buff_fetch , reg_named_buff_firstkey , reg_named_buff_nextkey , reg_named_buff_scalar , regdump , regexec_flags , reginitcolors , rsignal , rsignal_state , runops_standard , rvpv_dup , safesyscalloc , safesysfree , safesysmalloc , safesysrealloc , save_I16 , save_I32 , save_I8 , save_adelete , save_aelem , save_aelem_flags , save_alloc , save_aptr , save_ary , save_bool , save_clearsv , save_delete , save_destructor , save_destructor_x , save_freeop , save_freepv , save_freesv , save_generic_pvref , save_generic_svref , save_hash , save_hdelete , save_helem , save_helem_flags , save_hints , save_hptr , save_int , save_item , save_iv , save_list , save_long , save_mortalizesv , save_nogv , save_op , save_padsv_and_mortalize , save_pptr , save_pushi32ptr , save_pushptr , save_pushptrptr , save_re_context , save_scalar , save_set_svflags , save_shared_pvref , save_sptr , save_svref , save_vptr , savestack_grow , savestack_grow_cnt , seed , set_context , si_dup , ss_dup , stack_grow , start_subparse , str_to_version , sv_2iv , sv_2pv , sv_2uv , sv_catpvf_mg_nocontext , sv_catpvf_nocontext , sv_dup , sv_dup_inc , sv_pvn_nomg , sv_setpvf_mg_nocontext , sv_setpvf_nocontext , sys_init , sys_init3 , sys_intern_clear , sys_intern_dup , sys_intern_init , sys_term , taint_env , taint_proper , unlnk , utf16_to_utf8 , utf16_to_utf8_reversed , uvuni_to_utf8 , vdeb , vform , vload_module , vnewSVpvf , warn_nocontext , warner_nocontext , whichsig , whichsig_pv , whichsig_pvn , whichsig_sv , xs_handshake

AUTHORS
SEE ALSO

perlintern - autogenerated documentation of purely internal Perl functions

DESCRIPTION
Array Manipulation Functions

av_reify

Check routines

aassign_padcheck , aassign_scan , arg_check_type , can_class_typecheck , check_for_bool_cxt , ck_aassign , ck_aelem , ck_anoncode , ck_backtick , ck_bitop , ck_cmp , ck_concat , ck_defined , ck_delete , ck_each , ck_eof , ck_eval , ck_exec , ck_exists , ck_ftst , ck_fun , ck_glob , ck_grep , ck_index , ck_length , ck_lfun , ck_listiob , ck_match , ck_method , ck_negate , ck_nomg , ck_pad , ck_readline , ck_rfun , ck_rvconst , ck_sassign , ck_smartmatch , ck_spair , ck_subr , ck_substr , ck_svconst , ck_tell , ck_trunc , ck_type , cv_type_set , inplace_aassign , io_hints , is_types_strict , match_type , match_type1 , match_type2 , match_user_type , maybe_multideref , maybe_targlex , mderef_uoob_gvsv , mderef_uoob_targ , op_typed_user , _op_check_type , peep void peep(OP* o), peep_leaveloop , ret_check_type , rpeep , stash_to_coretype

Compile-time scope hooks

BhkENTRY , BhkFLAGS , CALL_BLOCK_HOOKS , fold_constants , gen_constant_list , hasterm , jmaybe , localize , op_integerize , op_std_init

Custom Operators

core_prototype , coresub_op , report_redefined_cv

CV Manipulation Functions

check_type_and_open , create_eval_scope , delete_eval_scope , docatch , doeval_compile , doopen_pm , path_is_searchable , require_file , require_version , try_yyparse

CV reference counts and CvOUTSIDE

CvWEAKOUTSIDE

Debugging Utilities

append_gv_name , append_padvar , av_dump , cop_dump , deb_hechain , deb_hek , deb_padvar , hv_dump , multiconcat_stringify , multideref_stringify , sequence_num , signature_stringify

Embedding Functions

cv_clone_padname0 , cv_dump , cv_forget_slab , do_dump_pad , open_script , pad_alloc_name , pad_block_start , pad_check_dup , pad_findlex , pad_find_outeroffset , pad_fixup_inner_anons , pad_free , pad_leavemy , padlist_dup , padname_dup , padnamelist_dup , pad_push , pad_reset , pad_swipe

Functions in file inline.h

strip_spaces

Functions in file op.c

new_slab , no_fh_allowed , op_next_nn , op_prevstart_nn , op_prev_nn , opslab_force_free , opslab_free , opslab_free_nopad , prune_chain_head , Slab_Alloc , Slab_Free , typename

Functions in file pp.c

softref2xv

Functions in file regcomp.c

regprop , reg_temp_copy

GV Functions

gv_magicalize , gv_try_downgrade

Hash Entries

refcounted_he_fetch_pvs , refcounted_he_new_pvs

Hash Manipulation Functions

hv_backreferences_p , hv_ename_add , hv_ename_delete , hv_kill_backrefs , hv_placeholders_p , refcounted_he_chain_2hv , refcounted_he_fetch_pv , refcounted_he_fetch_pvn , refcounted_he_fetch_sv , refcounted_he_free , refcounted_he_inc , refcounted_he_new_pv , refcounted_he_new_pvn , refcounted_he_new_sv

Hook manipulation

add_does_methods , add_isa_fields , class_isamagic , const_av_xsub , const_sv_xsub , do_method_finalize , method_finalize , Mu_av_xsub , Mu_sv_xsub

IO Functions

start_glob

Lexer interface

ao , check_uni , find_in_coretypes , force_ident , force_next , force_version , force_word , incline , lop , missingterm , new_constant , no_op , notify_parser_that_changed_to_utf8 , num_constlistexpr , parse_subsignature , pending_ident , postderef , scan_const , scan_heredoc , scan_inputsymbol , scan_str , scan_word , validate_proto , yylex

Magical Functions

magic_clearhint , magic_clearhints , magic_getffi_encoded int magic_getffi_encoded(SV* sv, MAGIC* mg), magic_methcall , magic_setffi_encoded , magic_sethint , mg_localize

Miscellaneous Functions

closest_cop , free_c_backtrace , get_c_backtrace , get_db_sub , prep_cif

MRO Functions

mro_get_linear_isa_dfs , mro_package_moved

Optree construction

force_list , package

Optree Manipulation Functions

alloc_LOGOP , apply_attrs , apply_attrs_my , attrs_has_const , attrs_runtime , bind_match OP* bind_match(I32 type, OP *left, OP *right), cant_declare void cant_declare(OP* o), check_hash_fields_and_hekify , cv_check_inline , dup_attrlist , finalize_op , finalize_optree , invert , list , listkids , maybe_multiconcat , maybe_op_signature , modkids , move_proto_attr , my_attrs , my_kid OP * my_kid(OP *o, OP *attrs, OP **imopsp), newASSIGNOP_maybe_const , newATTRSUB_x , newXS_len_flags , op_clear , op_clear_gv , op_const_sv , op_gv_set , op_relocate_sv , op_sibling_newUNOP , optimize_op , optimize_optree , op_unscope , process_optree , refkids , sawparens OP* sawparens(OP* o), scalarboolean , scalarkids , scalarseq , scalarvoid , set_boolean

Pad Data Structures

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 , PadnameIsOUR , PadnameIsSTATE , PadnameOURSTASH , PadnameOUTER , PadnameTYPE , PAD_RESTORE_LOCAL , PAD_SAVE_LOCAL , PAD_SAVE_SETNULLPAD , PAD_SETSV , PAD_SET_CUR , PAD_SET_CUR_NOSAVE , PAD_SV , PAD_SVl , SAVECLEARSV , SAVECOMPPAD , SAVEPADSV

Per-Interpreter Variables

PL_DBsingle , PL_DBsub , PL_DBtrace , PL_dowarn , PL_last_in_gv , PL_ofsgv , PL_rs

Stack Manipulation Macros

djSP , LVRET

SV-Body Allocation

anonymise_cv_maybe , sv_2num , sv_add_backref , sv_del_backref , sv_free2 , sv_kill_backrefs , sv_len_utf8_nomg

SV Manipulation Functions

sv_add_arena , sv_clean_all , sv_free_arenas , SvTHINKFIRST

Unicode Support

find_uninit_var , isSCRIPT_RUN , is_utf8_non_invariant_string , report_uninit , utf8_check_script , utf8_error_script , uvuni_get_script , variant_under_utf8_count

Warning and Dieing

find_script , vwarner_security

Undocumented functions

PerlIO_restore_errno , PerlIO_save_errno , PerlLIO_dup2_cloexec , PerlLIO_dup_cloexec , PerlLIO_open3_cloexec , PerlLIO_open_cloexec , PerlProc_pipe_cloexec , PerlSock_accept_cloexec , PerlSock_socket_cloexec , PerlSock_socketpair_cloexec , Slab_to_ro , Slab_to_rw , _add_range_to_invlist , _byte_dump_string , _core_swash_init , _get_encoding , _get_regclass_nonbitmap_data , _get_swash_invlist , _inverse_folds , _invlistEQ , _invlist_array_init , _invlist_contains_cp , _invlist_dump , _invlist_intersection , _invlist_intersection_maybe_complement_2nd , _invlist_invert , _invlist_len , _invlist_populate_swatch , _invlist_search , _invlist_subtract , _invlist_union , _invlist_union_maybe_complement_2nd , _is_grapheme , _is_in_locale_category , _mem_collxfrm , _new_invlist , _new_invlist_C_array , _setup_canned_invlist , _swash_to_invlist , _to_fold_latin1 , _to_upper_title_latin1 , _warn_problematic_locale , abort_execution , add_cp_to_invlist , alloc_maybe_populate_EXACT , allocmy , amagic_is_enabled , append_utf8_from_native_byte , apply , av_extend_guts , av_nonelem , boot_core_PerlIO , boot_core_UNIVERSAL , boot_core_mro , boot_core_xsutils , cando , check_utf8_print , ck_entersub_args_core , ck_join , ck_null , ck_open , ck_prototype , ck_refassign , ck_repeat , ck_require , ck_return , ck_select , ck_shift , ck_sort , ck_split , ck_stringify , compute_EXACTish , core_type_name , croak_no_mem , croak_popstack , croak_shaped_array , ctz , current_re_engine , custom_op_get_field , cv_ckproto_len_flags , cv_clone_into , cv_const_sv_or_av , cv_undef_flags , cvgv_from_hek , cvgv_set , cvstash_set , deb_stack_all , defelem_target , delimcpy_no_escape , die_unwind , do_aexec , do_aexec5 , do_eof , do_exec , do_exec3 , do_ipcctl , do_ipcget , do_msgrcv , do_msgsnd , do_ncmp , do_open6 , do_open_raw , do_print , do_readline , do_seek , do_semop , do_shmio , do_sysseek , do_tell , do_trans , do_vecget , do_vecset , do_vop , does_utf8_overflow , dofile , drand48_init_r , drand48_r , dtrace_probe_call , dtrace_probe_glob , dtrace_probe_hash , dtrace_probe_load , dtrace_probe_op , dtrace_probe_phase , dump_sv_child , emulate_cop_io , feature_is_enabled , fields_padoffset , find_lexical_cv , find_runcv_where , find_rundefsv2 , form_short_octal_warning , free_tied_hv_pool , get_debug_opts , get_hash_seed , get_invlist_iter_addr , get_invlist_offset_addr , get_invlist_previous_index_addr , get_no_modify , get_opargs , get_re_arg , getenv_len , grok_atoUV , grok_bslash_c , grok_bslash_o , grok_bslash_x , gv_fetchmeth_internal , gv_override , gv_setref , gv_stashpvn_internal , gv_stashsvpvn_cached , handle_named_backref , hfree_next_entry , hv_pushkv , init_argv_symbols , init_constants , init_dbargs , init_debugger , init_named_cv , init_uniprops , invlist_array , invlist_clear , invlist_clone , invlist_highest , invlist_is_iterating , invlist_iterfinish , invlist_iterinit , invlist_max , invlist_previous_index , invlist_set_len , invlist_set_previous_index , invlist_trim , io_close , isFF_OVERLONG , isFOO_lc , is_utf8_common , is_utf8_common_with_len , is_utf8_overlong_given_start_byte_ok , isinfnansv , keyword , keyword_plugin_standard , magic_clear_all_env , magic_cleararylen_p , magic_clearenv , magic_clearisa , magic_clearpack , magic_clearsig , magic_copycallchecker , magic_existspack , magic_freearylen_p , magic_freeovrld , magic_get , magic_getarylen , magic_getdebugvar , magic_getdefelem , magic_getnkeys , magic_getpack , magic_getpos , magic_getsig , magic_getsubstr , magic_gettaint , magic_getuvar , magic_getvec , magic_killbackrefs , magic_nextpack , magic_regdata_cnt , magic_regdatum_get , magic_regdatum_set , magic_scalarpack , magic_set , magic_set_all_env , magic_setarylen , magic_setcollxfrm , magic_setdbline , magic_setdebugvar , magic_setdefelem , magic_setenv , magic_setisa , magic_setlvref , magic_setmglob , magic_setnkeys , magic_setnonelem , magic_setpack , magic_setpos , magic_setregexp , magic_setsig , magic_setsubstr , magic_settaint , magic_setutf8 , magic_setuvar , magic_setvec , magic_sizepack , magic_wipepack , malloc_good_size , malloced_size , mem_collxfrm , mem_log_alloc , mem_log_free , mem_log_realloc , mg_find_mglob , mode_from_discipline , more_bodies , mro_meta_dup , mro_meta_init , munge_qwlist_to_paren_list , my_clearenv , my_lstat_flags , my_memrchr , my_mkostemp , my_mkstemp , my_mkstemp_cloexec , my_stat_flags , my_strerror , my_unexec , newGP , newMETHOP_internal , newSTUB , newSVavdefelem , newXS_deffile , new_entersubop , new_warnings_bitfield , nextargv , noperl_die , oopsAV , oopsHV , op_destroy , op_refcnt_dec , op_refcnt_inc , op_typed , opmethod_stash , package_version , pad_add_weakref , padlist_dump , padlist_store , padname_free , padnamelist_free , parse_unicode_opts , parse_uniprop_string , parser_free , parser_free_nexttoke_ops , pmruntime , pn_peek , pnl_dump , populate_isa , ptr_hash , qerror , re_exec_indentf , re_indentf , re_printf , reg_named_buff , reg_named_buff_iter , reg_numbered_buff_fetch , reg_numbered_buff_length , reg_numbered_buff_store , reg_qr_package , reg_skipcomment , regcurly , report_evil_fh , report_wrongway_fh , rsignal_restore , rsignal_save , rxres_save , same_dirent , save_strlen , save_to_buffer , scalar , set_caret_X , set_numeric_standard , set_numeric_underlying , set_padlist , setfd_cloexec , setfd_cloexec_for_nonsysfd , setfd_cloexec_or_inhexec_by_sysfdness , setfd_inhexec , setfd_inhexec_for_sysfd , should_warn_nl , sighandler , ssc_add_range , ssc_clear_locale , ssc_cp_and , ssc_intersection , ssc_union , sub_crush_depth , sv_buf_to_ro , sv_magicext_mglob , sv_mortalcopy_flags , sv_only_taint_gmagic , sv_or_pv_pos_u2b , sv_resetpvn , sv_sethek , sv_setsv_cow , sv_unglob , swash_fetch , swash_init , tied_method , tmps_grow_p , translate_substr_offsets , try_amagic_bin , try_amagic_un , utf8_add_script , utilize , varname , vivify_defelem , vivify_ref , wait4pid , was_lvalue_sub , watch , win32_croak_not_implemented , write_to_stderr , xs_boot_epilog , yyerror , yyerror_pv , yyerror_pvn , yyparse , yyquit , yyunlex

AUTHORS
SEE ALSO

perliol - C API for Perl's implementation of IO in Layers.

SYNOPSIS
DESCRIPTION
History and Background
Basic Structure
Layers vs Disciplines
Data Structures
Functions and Attributes
Per-instance Data
Layers in action.
Per-instance flag bits

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

Utilities
Implementing PerlIO Layers

C implementations, Perl implementations

Core Layers

"unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"

Extension Layers

":encoding", ":scalar", ":via"

TODO

perlapio - perl's IO abstraction interface.

SYNOPSIS
DESCRIPTION

1. USE_STDIO, 2. USE_PERLIO, PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr() , PerlIO_open(path, mode), PerlIO_fdopen(fd,mode) , PerlIO_reopen(path,mode,f) , PerlIO_printf(f,fmt,...), PerlIO_vprintf(f,fmt,a) , PerlIO_stdoutf(fmt,...) , PerlIO_read(f,buf,count), PerlIO_write(f,buf,count) , PerlIO_close(f) , PerlIO_puts(f,s), PerlIO_putc(f,c) , PerlIO_ungetc(f,c) , PerlIO_getc(f) , PerlIO_eof(f) , PerlIO_error(f) , PerlIO_fileno(f) , PerlIO_clearerr(f) , PerlIO_flush(f) , PerlIO_seek(f,offset,whence) , PerlIO_tell(f) , PerlIO_getpos(f,p), PerlIO_setpos(f,p) , PerlIO_rewind(f), PerlIO_tmpfile(), PerlIO_setlinebuf(f)

Co-existence with stdio

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)

Other Functions

PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), '<' read, '>' write, '+' read/write, PerlIO_debug(fmt,...)

perlhack - How to hack on Perl

DESCRIPTION
SUPER QUICK PATCH GUIDE

Check out the source repository, Ensure you're following the latest advice, Make your change, Test your change, Commit your change, Send your change to perlbug, Thank you, Acknowledgement, Next time

BUG REPORTING
PERL 5 PORTERS
perl-changes mailing list
#p5p on IRC
GETTING THE PERL SOURCE
Read access via Git
Read access via the web
Read access via rsync
Write access via git
PATCHING PERL
Submitting patches
Getting your patch accepted

Why, What, How

Patching a core module
Updating perldelta
What makes for a good patch?
TESTING

t/base, t/comp and t/opbasic, t/cmd, t/run, t/io and t/op, Everything else

Special make test targets

test_porting, minitest, test.valgrind check.valgrind, test_harness, test-notty test_notty

Parallel tests
Running tests by hand
Using t/harness for testing

-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

Performance testing
Building perl at older commits
MORE READING FOR GUTS HACKERS

perlsource, perlinterp, perlhacktut, perlhacktips, perlguts, perlxstut and perlxs, perlapi, Porting/pumpkin.pod

CPAN TESTERS AND PERL SMOKERS
CPERL
WHAT NEXT?
"The Road goes ever on and on, down from the door where it began."
Metaphoric Quotations
AUTHOR

perlsource - A guide to the Perl source tree

DESCRIPTION
FINDING YOUR WAY AROUND
C code
Core modules

lib/, ext/, dist/, cpan/

Tests

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/

Documentation
Hacking tools and documentation

check*, Maintainers, Maintainers.pl, and Maintainers.pm, podtidy

Build system
AUTHORS
MANIFEST

perlinterp - An overview of the Perl interpreter

DESCRIPTION
ELEMENTS OF THE INTERPRETER
Startup
Parsing
Optimization
Running
Exception handing
INTERNAL VARIABLE TYPES
OP TREES
STACKS
Argument stack
Mark stack
Save stack
MILLIONS OF MACROS
FURTHER READING

perlhacktut - Walk through the creation of a simple C code patch

DESCRIPTION
EXAMPLE OF A SIMPLE PATCH
Writing the patch
Testing the patch
Documenting the patch
Submit
AUTHOR

perlhacktips - Tips for Perl core C code hacking

DESCRIPTION
COMMON PROBLEMS
Perl environment problems
Portability problems
Problematic System Interfaces
Security problems
DEBUGGING
Poking at Perl
Using a source-level debugger

run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', ptype, print

gdb macro support
Dumping Perl Data Structures
Using gdb to look at specific parts of a program
Using gdb to look at what the parser/lexer are doing
SOURCE CODE STATIC ANALYSIS
lint
Coverity
HP-UX cadvise (Code Advisor)
cpd (cut-and-paste detector)
gcc warnings
Warnings of other C compilers
MEMORY DEBUGGERS
valgrind
AddressSanitizer

-Dcc=clang, -Accflags=-faddress-sanitizer, -Aldflags=-faddress-sanitizer, -Alddlflags=-shared\ -faddress-sanitizer

FUZZING
afl-fuzz
LibFuzzer
PROFILING
Gprof Profiling

-a, -b, -e routine, -f routine, -s, -z

GCC gcov Profiling
MISCELLANEOUS TRICKS
PERL_DESTRUCT_LEVEL
PERL_MEM_LOG
gdb macros
PERL_SV_DEBUG_FIELDS
DDD over gdb
C backtrace

Linux, OS X, get_c_backtrace, free_c_backtrace, get_c_backtrace_dump, dump_c_backtrace

Poison
Read-only optrees
When is a bool not a bool?
The .i Targets
AUTHOR
DESCRIPTION
GOVERNANCE
Perl 5 Porters
MAINTENANCE AND SUPPORT
BACKWARD COMPATIBILITY AND DEPRECATION
Terminology

experimental, deprecated, discouraged, removed

MAINTENANCE BRANCHES
Getting changes into a maint branch
CONTRIBUTED MODULES
A Social Contract about Artistic Control
DOCUMENTATION
STANDARDS OF CONDUCT
CREDITS

perlgit - Detailed information about git and the Perl repository

DESCRIPTION
CLONING THE REPOSITORY
WORKING WITH THE REPOSITORY
Finding out your status
Patch workflow
Committing your changes
Sending patch emails
A note on derived files
Cleaning a working directory
Bisecting
Topic branches and rewriting history
Grafts
WRITE ACCESS TO THE GIT REPOSITORY
Accepting a patch
Committing to blead
On merging and rebasing
Committing to maintenance versions
Merging from a branch via GitHub
Using a smoke-me branch to test changes
A note on camel and dromedary
Using rerere for simplier rebasing
DESCRIPTION

Programming Perl (the "Camel Book"):, The Perl Cookbook (the "Ram Book"):, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book")

References

Perl 5 Pocket Reference, Perl Debugger Pocket Reference, Regular Expression Pocket Reference

Tutorials

Beginning Perl, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book"), Mastering Perl, Effective Perl Programming

Task-Oriented

Writing Perl Modules for CPAN, The Perl Cookbook, Automating System Administration with Perl, Real World SQL Server Administration with Perl

Special Topics

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

Free (as in beer) books
Other interesting, non-Perl books

Programming Pearls, More Programming Pearls

A note on freshness
Get your book listed

perlcommunity - a brief overview of the Perl community

DESCRIPTION
Where to Find the Community
Mailing Lists and Newsgroups
IRC
Websites

http://perl.com/, http://blogs.perl.org/, http://perlsphere.net/, http://perlweekly.com/, http://use.perl.org/, http://www.perlmonks.org/, http://stackoverflow.com/, http://prepan.org/

User Groups
Workshops
Hackathons
Conventions
Calendar of Perl Events
AUTHOR

perldoc - Look up Perl documentation in Pod format.

SYNOPSIS
DESCRIPTION
OPTIONS

-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

SECURITY
ENVIRONMENT
CHANGES
SEE ALSO
AUTHOR

perlhist - the Perl history records

DESCRIPTION
INTRODUCTION
THE KEEPERS OF THE PUMPKIN
PUMPKIN?
THE RECORDS
SELECTED RELEASE MEMORY USAGE
SELECTED RELEASE SIZES
SELECTED PATCH SIZES
THE KEEPERS OF THE RECORDS

perldelta, [ this is a template for a new perldelta file. Any text flagged as XXX needs to be processed before release. ]

DESCRIPTION
Notice
Core Enhancements
The maximum number of times a pattern can match has been doubled to 65535
Security
Incompatible Changes
Assigning non-zero to $[ is fatal
Previously deprecated sysread()/syswrite() on :utf8 handles now fatal
Deprecations
Module removals

XXX

Performance Enhancements
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
XXX
Configuration and Compilation
Testing
Platform Support
New Platforms

XXX-some-platform

Discontinued Platforms

XXX-some-platform

Platform-Specific Notes

XXX-some-platform

Internal Changes
Selected Bug Fixes
Known Problems
Errata From Previous Releases
Obituary
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5294delta, [ this is a template for a new perldelta file. Any text flagged as XXX needs to be processed before release. ]

DESCRIPTION
Notice
Core Enhancements
The maximum number of times a pattern can match has been doubled to 65535
Security
Incompatible Changes
Assigning non-zero to $[ is fatal
Previously deprecated sysread()/syswrite() on :utf8 handles now fatal
Deprecations
Module removals

XXX

Performance Enhancements
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
XXX
Configuration and Compilation
Testing
Platform Support
New Platforms

XXX-some-platform

Discontinued Platforms

XXX-some-platform

Platform-Specific Notes

XXX-some-platform

Internal Changes
Selected Bug Fixes
Known Problems
Errata From Previous Releases
Obituary
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5293delta - what is new for perl v5.29.3

DESCRIPTION
Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
Changes to Existing Documentation
Testing
Platform Support
Platform-Specific Notes

Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5292delta - what is new for perl v5.29.2

DESCRIPTION
Core Enhancements
Unicode 11.0 is supported
Modules and Pragmata
Updated Modules and Pragmata
Platform-Specific Notes

Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5291delta - what is new for perl v5.29.1

DESCRIPTION
Incompatible Changes
Delimiters must now be graphemes
Some formerly deprecated uses of an unescaped left brace "{" in regular expression patterns are now illegal
Performance Enhancements
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Diagnostics
Changes to Existing Diagnostics
Testing
Platform Support
Platform-Specific Notes

HP-UX 11.11, Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5290delta - what is new for perl v5.29.0

DESCRIPTION
Incompatible Changes
Pattern delimiters now must be graphemes
Modules and Pragmata
Updated Modules and Pragmata
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5280delta - what is new for perl v5.28.0

DESCRIPTION
Core Enhancements
Unicode 10.0 is supported
delete on key/value hash slices
Experimentally, there are now alphabetic synonyms for some regular expression assertions
Mixed Unicode scripts are now detectable
In-place editing with perl -i is now safer
Initialisation of aggregate state variables
Full-size inode numbers
The sprintf %j format size modifier is now available with pre-C99 compilers
Close-on-exec flag set atomically
String- and number-specific bitwise ops are no longer experimental
Locales are now thread-safe on systems that support them
New read-only predefined variable ${^SAFE_LOCALES}
Security
[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
Default Hash Function Change
Incompatible Changes
Subroutine attribute and signature order
Comma-less variable lists in formats are no longer allowed
The :locked and :unique attributes have been removed
\N{} with nothing between the braces is now illegal
Opening the same symbol as both a file and directory handle is no longer allowed
Use of bare << to mean <<"" is no longer allowed
Setting $/ to a reference to a non-positive integer no longer allowed
Unicode code points with values exceeding IV_MAX are now fatal
The B::OP::terse method has been removed
Use of inherited AUTOLOAD for non-methods is no longer allowed
Use of strings with code points over 0xFF is not allowed for bitwise string operators
Setting ${^ENCODING} to a defined value is now illegal
Backslash no longer escapes colon in PATH for the -S switch
the -DH (DEBUG_H) misfeature has been removed
Yada-yada is now strictly a statement
Sort algorithm can no longer be specified
Over-radix digits in floating point literals
Return type of unpackstring()
Deprecations
Use of vec on strings with code points above 0xFF is deprecated
Some uses of unescaped "{" in regexes are no longer fatal
Use of unescaped "{" immediately after a "(" in regular expression patterns is deprecated
Assignment to $[ will be fatal in Perl 5.30
hostname() won't accept arguments in Perl 5.32
Module removals

B::Debug, Locale::Codes and its associated Country, Currency and Language modules

Performance Enhancements
Modules and Pragmata
Removal of use vars
Use of DynaLoader changed to XSLoader in many modules
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
Changes to Existing Documentation

"Variable length lookbehind not implemented in regex m/%s/" in perldiag, "Use of state $_ is experimental" in perldiag

Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
perlbug
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

Testing
Packaging
Platform Support
Discontinued Platforms

PowerUX / Power MAX OS

Platform-Specific Notes

CentOS, Cygwin, Darwin, FreeBSD, VMS, Windows

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5262delta - what is new for perl v5.26.2

DESCRIPTION
Security
[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
Assertion failure in Perl__core_swash_init (utf8.c)
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Platform Support
Platform-Specific Notes

Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5261delta - what is new for perl v5.26.1

DESCRIPTION
Security
[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
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Platform Support
Platform-Specific Notes

FreeBSD, Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5260delta - what is new for perl v5.26.0

DESCRIPTION
Notice

"." no longer in @INC, do may now warn, In regular expression patterns, a literal left brace "{" should be escaped

Core Enhancements
Lexical subroutines are no longer experimental
Indented Here-documents
New regular expression modifier /xx
@{^CAPTURE}, %{^CAPTURE}, and %{^CAPTURE_ALL}
Declaring a reference to a variable
Unicode 9.0 is now supported
Use of \p{script} uses the improved Script_Extensions property
Perl can now do default collation in UTF-8 locales on platforms that support it
Better locale collation of strings containing embedded NUL characters
CORE subroutines for hash and array functions callable via reference
New Hash Function For 64-bit Builds
Security
Removal of the current directory (".") from @INC

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

Escaped colons and relative paths in PATH
New -Di switch is now required for PerlIO debugging output
Incompatible Changes
Unescaped literal "{" characters in regular expression patterns are no longer permissible
scalar(%hash) return signature changed
keys returned from an lvalue subroutine
The ${^ENCODING} facility has been removed
POSIX::tmpnam() has been removed
require ::Foo::Bar is now illegal.
Literal control character variable names are no longer permissible
NBSP is no longer permissible in \N{...}
Deprecations
String delimiters that aren't stand-alone graphemes are now deprecated
\cX that maps to a printable is no longer deprecated
Performance Enhancements

New Faster Hash Function on 64 bit builds, readline is faster

Modules and Pragmata
Updated Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
c2ph and pstruct
Porting/pod_lib.pl
Porting/sync-with-cpan
perf/benchmarks
Porting/checkAUTHORS.pl
t/porting/regen.t
utils/h2xs.PL
perlbug
Configuration and Compilation
Testing
Platform Support
New Platforms

NetBSD/VAX

Platform-Specific Notes

Darwin, EBCDIC, HP-UX, Hurd, VAX, VMS, Windows, Linux, OpenBSD 6, FreeBSD, DragonFly BSD

Internal Changes
Selected Bug Fixes
Known Problems
Errata From Previous Releases
Obituary
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

perl5244delta - what is new for perl v5.24.4

DESCRIPTION
Security
[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
Assertion failure in Perl__core_swash_init (utf8.c)
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5243delta - what is new for perl v5.24.3

DESCRIPTION
Security
[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
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Configuration and Compilation
Platform Support
Platform-Specific Notes

VMS, Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5242delta - what is new for perl v5.24.2

DESCRIPTION
Security
Improved handling of '.' in @INC in base.pm
"Escaped" colons and relative paths in PATH
Modules and Pragmata
Updated Modules and Pragmata
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5241delta - what is new for perl v5.24.1

DESCRIPTION
Security
-Di switch is now required for PerlIO debugging output
Core modules and tools no longer search "." for optional modules
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5240delta - what is new for perl v5.24.0

DESCRIPTION
Core Enhancements
Postfix dereferencing is no longer experimental
Unicode 8.0 is now supported
perl will now croak when closing an in-place output file fails
New \b{lb} boundary in regular expressions
qr/(?[ ])/ now works in UTF-8 locales
Integer shift (<< and >>) now more explicitly defined
printf and sprintf now allow reordered precision arguments
More fields provided to sigaction callback with SA_SIGINFO
Hashbang redirection to Perl 6
Security
Set proper umask before calling mkstemp(3)
Fix out of boundary access in Win32 path handling
Fix loss of taint in canonpath
Avoid accessing uninitialized memory in win32 crypt()
Remove duplicate environment variables from environ
Incompatible Changes
The autoderef feature has been removed
Lexical $_ has been removed
qr/\b{wb}/ is now tailored to Perl expectations
Regular expression compilation errors
qr/\N{}/ now disallowed under use re "strict"
Nested declarations are now disallowed
The /\C/ character class has been removed.
chdir('') no longer chdirs home
ASCII characters in variable names must now be all visible
An off by one issue in $Carp::MaxArgNums has been fixed
Only blanks and tabs are now allowed within [...] within (?[...]).
Deprecations
Using code points above the platform's IV_MAX is now deprecated
Doing bitwise operations on strings containing code points above 0xFF is deprecated
sysread(), syswrite(), recv() and send() are deprecated on :utf8 handles
Performance Enhancements
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Configuration and Compilation
Testing
Platform Support
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

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5224delta - what is new for perl v5.22.4

DESCRIPTION
Security
Improved handling of '.' in @INC in base.pm
"Escaped" colons and relative paths in PATH
Modules and Pragmata
Updated Modules and Pragmata
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5223delta - what is new for perl v5.22.3

DESCRIPTION
Security
-Di switch is now required for PerlIO debugging output
Core modules and tools no longer search "." for optional modules
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5222delta - what is new for perl v5.22.2

DESCRIPTION
Security
Fix out of boundary access in Win32 path handling
Fix loss of taint in canonpath()
Set proper umask before calling mkstemp(3)
Avoid accessing uninitialized memory in Win32 crypt()
Remove duplicate environment variables from environ
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Configuration and Compilation
Platform Support
Platform-Specific Notes

Darwin, OS X/Darwin, ppc64el, Tru64

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5221delta - what is new for perl v5.22.1

DESCRIPTION
Incompatible Changes
Bounds Checking Constructs
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Diagnostics
Changes to Existing Diagnostics
Configuration and Compilation
Platform Support
Platform-Specific Notes

IRIX

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5220delta - what is new for perl v5.22.0

DESCRIPTION
Core Enhancements
New bitwise operators
New double-diamond operator
New \b boundaries in regular expressions
Non-Capturing Regular Expression Flag
use re 'strict'
Unicode 7.0 (with correction) is now supported
use locale can restrict which locale categories are affected
Perl now supports POSIX 2008 locale currency additions
Better heuristics on older platforms for determining locale UTF-8ness
Aliasing via reference
prototype with no arguments
New :const subroutine attribute
fileno now works on directory handles
List form of pipe open implemented for Win32
Assignment to list repetition
Infinity and NaN (not-a-number) handling improved
Floating point parsing has been improved
Packing infinity or not-a-number into a character is now fatal
Experimental C Backtrace API
Security
Perl is now compiled with -fstack-protector-strong if available
The Safe module could allow outside packages to be replaced
Perl is now always compiled with -D_FORTIFY_SOURCE=2 if available
Incompatible Changes
Subroutine signatures moved before attributes
& 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
In double-quotish \cX, X must now be a printable ASCII character
Splitting the tokens (? and (* in regular expressions is now a fatal compilation error.
qr/foo/x now ignores all Unicode pattern white space
Comment lines within (?[ ]) are now ended only by a \n
(?[...]) operators now follow standard Perl precedence
Omitting % and @ on hash and array names is no longer permitted
"$!" text is now in English outside the scope of use locale
"$!" text will be returned in UTF-8 when appropriate
Support for ?PATTERN? without explicit operator has been removed
defined(@array) and defined(%hash) are now fatal errors
Using a hash or an array as a reference are now fatal errors
Changes to the * prototype
Deprecations
Setting ${^ENCODING} to anything but undef
Use of non-graphic characters in single-character variable names
Inlining of sub () { $var } with observable side-effects
Use of multiple /x regexp modifiers
Using a NO-BREAK space in a character alias for \N{...} is now deprecated
A literal "{" should now be escaped in a pattern
Making all warnings fatal is discouraged
Performance Enhancements
Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Diagnostic Removals
Utility Changes
find2perl, s2p and a2p removal
h2ph
encguess
Configuration and Compilation
Testing
Platform Support
Regained Platforms

IRIX and Tru64 platforms are working again, z/OS running EBCDIC Code Page 1047

Discontinued Platforms

NeXTSTEP/OPENSTEP

Platform-Specific Notes

EBCDIC, HP-UX, Android, VMS, Win32, OpenBSD, Solaris

Internal Changes
Selected Bug Fixes
Known Problems
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

perl5203delta - what is new for perl v5.20.3

DESCRIPTION
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Utility Changes
h2ph
Testing
Platform Support
Platform-Specific Notes

Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5202delta - what is new for perl v5.20.2

DESCRIPTION
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
Changes to Existing Diagnostics
Testing
Platform Support
Regained Platforms
Selected Bug Fixes
Known Problems
Errata From Previous Releases
Acknowledgements
Reporting Bugs
SEE ALSO

perl5201delta - what is new for perl v5.20.1

DESCRIPTION
Incompatible Changes
Performance Enhancements
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Diagnostics
Changes to Existing Diagnostics
Configuration and Compilation
Platform Support
Platform-Specific Notes

Android, OpenBSD, Solaris, VMS, Windows

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5200delta - what is new for perl v5.20.0

DESCRIPTION
Core Enhancements
Experimental Subroutine signatures
subs now take a prototype attribute
More consistent prototype parsing
rand now uses a consistent random number generator
New slice syntax
Experimental Postfix Dereferencing
Unicode 6.3 now supported
New \p{Unicode} regular expression pattern property
Better 64-bit support
use locale now works on UTF-8 locales
use locale now compiles on systems without locale ability
More locale initialization fallback options
-DL runtime option now added for tracing locale setting
-F now implies -a and -a implies -n
$a and $b warnings exemption
Security
Avoid possible read of free()d memory during parsing
Incompatible Changes
do can no longer be used to call subroutines
Quote-like escape changes
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
Data::Dumper's output may change
Locale decimal point character no longer leaks outside of use locale scope
Assignments of Windows sockets error codes to $! now prefer errno.h values over WSAGetLastError() values
Functions PerlIO_vsprintf and PerlIO_sprintf have been removed
Deprecations
The /\C/ character class
Literal control characters in variable names
References to non-integers and non-positive integers in $/
Character matching routines in POSIX
Interpreter-based threads are now discouraged
Module removals

CGI and its associated CGI:: packages, inc::latest, Package::Constants, Module::Build and its associated Module::Build:: packages

Utility removals

find2perl, s2p, a2p

Performance Enhancements
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
Configuration and Compilation
Testing
Platform Support
New Platforms

Android, Bitrig, FreeMiNT, Synology

Discontinued Platforms

sfio, AT&T 3b1, DG/UX, EBCDIC

Platform-Specific Notes

Cygwin, GNU/Hurd, Linux, Mac OS, MidnightBSD, Mixed-endian platforms, VMS, Win32, WinCE

Internal Changes
Selected Bug Fixes
Regular Expressions
Perl 5 Debugger and -d
Lexical Subroutines
Everything Else
Known Problems
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

perl5184delta - what is new for perl v5.18.4

DESCRIPTION
Modules and Pragmata
Updated Modules and Pragmata
Platform Support
Platform-Specific Notes

Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5182delta - what is new for perl v5.18.2

DESCRIPTION
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5181delta - what is new for perl v5.18.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Platform Support
Platform-Specific Notes

AIX, MidnightBSD

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5180delta - what is new for perl v5.18.0

DESCRIPTION
Core Enhancements
New mechanism for experimental features
Hash overhaul
Upgrade to Unicode 6.2
Character name aliases may now include non-Latin1-range characters
New DTrace probes
${^LAST_FH}
Regular Expression Set Operations
Lexical subroutines
Computed Labels
More CORE:: subs
kill with negative signal names
Security
See also: hash overhaul
Storable security warning in documentation
Locale::Maketext allowed code injection via a malicious template
Avoid calling memset with a negative count
Incompatible Changes
See also: hash overhaul
An unknown character name in \N{...} is now a syntax error
Formerly deprecated characters in \N{} character name aliases are now errors.
\N{BELL} now refers to U+1F514 instead of U+0007
New Restrictions in Multi-Character Case-Insensitive Matching in Regular Expression Bracketed Character Classes
Explicit rules for variable names and identifiers
Vertical tabs are now whitespace
/(?{})/ and /(??{})/ have been heavily reworked
Stricter parsing of substitution replacement
given now aliases the global $_
The smartmatch family of features are now experimental
Lexical $_ is now experimental
readline() with $/ = \N now reads N characters, not N bytes
Overridden glob is now passed one argument
Here doc parsing
Alphanumeric operators must now be separated from the closing delimiter of regular expressions
qw(...) can no longer be used as parentheses
Interaction of lexical and default warnings
state sub and our sub
Defined values stored in environment are forced to byte strings
require dies for unreadable files
gv_fetchmeth_* and SUPER
split's first argument is more consistently interpreted
Deprecations
Module removals

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

Deprecated Utilities

cpanp, cpanp-run-perl, cpan2dist, pod2latex

PL_sv_objcount
Five additional characters should be escaped in patterns with /x
User-defined charnames with surprising whitespace
Various XS-callable functions are now deprecated
Certain rare uses of backslashes within regexes are now deprecated
Splitting the tokens (? and (* in regular expressions
Pre-PerlIO IO implementations
Future Deprecations

DG/UX, NeXT

Performance Enhancements
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
Changes to Existing Documentation
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
Configuration and Compilation
Testing
Platform Support
Discontinued Platforms

BeOS, UTS Global, VM/ESA, MPE/IX, EPOC, Rhapsody

Platform-Specific Notes
Internal Changes
Selected Bug Fixes
Known Problems
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

perl5163delta - what is new for perl v5.16.3

DESCRIPTION
Core Enhancements
Security
CVE-2013-1667: memory exhaustion with arbitrary hash keys
wrap-around with IO on long strings
memory leak in Encode
Incompatible Changes
Deprecations
Modules and Pragmata
Updated Modules and Pragmata
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5162delta - what is new for perl v5.16.2

DESCRIPTION
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Configuration and Compilation

configuration should no longer be confused by ls colorization

Platform Support
Platform-Specific Notes

AIX

Selected Bug Fixes

fix /\h/ equivalence with /[\h]/

Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5161delta - what is new for perl v5.16.1

DESCRIPTION
Security
an off-by-two error in Scalar-List-Util has been fixed
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Configuration and Compilation
Platform Support
Platform-Specific Notes

VMS

Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5160delta - what is new for perl v5.16.0

DESCRIPTION
Notice
Core Enhancements
use VERSION
__SUB__
New and Improved Built-ins
Unicode Support
XS Changes
Changes to Special Variables
Debugger Changes
The CORE Namespace
Other Changes
Security
Use is_utf8_char_buf() and not is_utf8_char()
Malformed UTF-8 input could cause attempts to read beyond the end of the buffer
File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
Privileges are now set correctly when assigning to $(
Deprecations
Don't read the Unicode data base files in lib/unicore
XS functions is_utf8_char(), utf8_to_uvchr() and utf8_to_uvuni()
Future Deprecations
Core Modules
Platforms with no supporting programmers
Other Future Deprecations
Incompatible Changes
Special blocks called in void context
The overloading pragma and regexp objects
Two XS typemap Entries removed
Unicode 6.1 has incompatibilities with Unicode 6.0
Borland compiler
Certain deprecated Unicode properties are no longer supported by default
Dereferencing IO thingies as typeglobs
User-defined case-changing operations
XSUBs are now 'static'
Weakening read-only references
Tying scalars that hold typeglobs
IPC::Open3 no longer provides xfork(), xclose_on_exec() and xpipe_anon()
$$ no longer caches PID
$$ and getppid() no longer emulate POSIX semantics under LinuxThreads
$<, $>, $( and $) are no longer cached
Which Non-ASCII characters get quoted by quotemeta and \Q has changed
Performance Enhancements
Modules and Pragmata
Deprecated Modules

Version::Requirements

New Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Removed Documentation
Diagnostics
New Diagnostics
Removed Errors
Changes to Existing Diagnostics
Utility Changes
Configuration and Compilation
Platform Support
Platform-Specific Notes
Internal Changes
Selected Bug Fixes
Array and hash
C API fixes
Compile-time hints
Copy-on-write scalars
The debugger
Dereferencing operators
Filehandle, last-accessed
Filetests and stat
Formats
given and when
The glob operator
Lvalue subroutines
Overloading
Prototypes of built-in keywords
Regular expressions
Smartmatching
The sort operator
The substr operator
Support for embedded nulls
Threading bugs
Tied variables
Version objects and vstrings
Warnings, redefinition
Warnings, "Uninitialized"
Weak references
Other notable fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5144delta - what is new for perl v5.14.4

DESCRIPTION
Core Enhancements
Security
CVE-2013-1667: memory exhaustion with arbitrary hash keys
memory leak in Encode
[perl #111594] Socket::unpack_sockaddr_un heap-buffer-overflow
[perl #111586] SDBM_File: fix off-by-one access to global ".dir"
off-by-two error in List::Util
[perl #115994] fix segv in regcomp.c:S_join_exact()
[perl #115992] PL_eval_start use-after-free
wrap-around with IO on long strings
Incompatible Changes
Deprecations
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata

Socket, SDBM_File, List::Util

Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
Utility Changes
Configuration and Compilation
Platform Support
New Platforms
Discontinued Platforms
Platform-Specific Notes

VMS

Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5143delta - what is new for perl v5.14.3

DESCRIPTION
Core Enhancements
Security
Digest unsafe use of eval (CVE-2011-3597)
Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)
Incompatible Changes
Deprecations
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Configuration and Compilation
Platform Support
New Platforms
Discontinued Platforms
Platform-Specific Notes

FreeBSD, Solaris and NetBSD, HP-UX, Linux, Mac OS X, GNU/Hurd, NetBSD

Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5142delta - what is new for perl v5.14.2

DESCRIPTION
Core Enhancements
Security
File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
Encode decode_xs n-byte heap-overflow (CVE-2011-2939)
Incompatible Changes
Deprecations
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Platform Support
New Platforms
Discontinued Platforms
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

Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5141delta - what is new for perl v5.14.1

DESCRIPTION
Core Enhancements
Security
Incompatible Changes
Deprecations
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragmata
Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
Configuration and Compilation
Testing
Platform Support
New Platforms
Discontinued Platforms
Platform-Specific Notes
Internal Changes
Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5140delta - what is new for perl v5.14.0

DESCRIPTION
Notice
Core Enhancements
Unicode
Regular Expressions
Syntactical Enhancements
Exception Handling
Other Enhancements

-d:-foo, -d:-foo=bar

New C APIs
Security
User-defined regular expression properties
Incompatible Changes
Regular Expressions and String Escapes
Stashes and Package Variables
Changes to Syntax or to Perl Operators
Threads and Processes
Configuration
Deprecations
Omitting a space between a regular expression and subsequent word
\cX
"\b{" and "\B{"
Perl 4-era .pl libraries
List assignment to $[
Use of qw(...) as parentheses
\N{BELL}
?PATTERN?
Tie functions on scalars holding typeglobs
User-defined case-mapping
Deprecated modules

Devel::DProf

Performance Enhancements
"Safe signals" optimisation
Optimisation of shift() and pop() calls without arguments
Optimisation of regexp engine string comparison work
Regular expression compilation speed-up
String appending is 100 times faster
Eliminate PL_* accessor functions under ithreads
Freeing weak references
Lexical array and hash assignments
@_ uses less memory
Size optimisations to SV and HV structures
Memory consumption improvements to Exporter
Memory savings for weak references
%+ and %- use less memory
Multiple small improvements to threads
Adjacent pairs of nextstate opcodes are now optimized away
Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragma

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()

Removed Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics

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

Changes to Existing Diagnostics
Utility Changes
Configuration and Compilation
Platform Support
New Platforms

AIX

Discontinued Platforms

Apollo DomainOS, MacOS Classic

Platform-Specific Notes
Internal Changes
New APIs
C API Changes
Deprecated C APIs

Perl_ptr_table_clear, sv_compile_2op, find_rundefsvoffset, CALL_FPTR and CPERLscope

Other Internal Changes
Selected Bug Fixes
I/O
Regular Expression Bug Fixes
Syntax/Parsing Bugs
Stashes, Globs and Method Lookup

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]

Unicode
Ties, Overloading and Other Magic
The Debugger
Threads
Scoping and Subroutines
Signals
Miscellaneous Memory Leaks
Memory Corruption and Crashes
Fixes to Various Perl Operators
Bugs Relating to the C API
Known Problems
Errata
keys(), values(), and each() work on arrays
split() and @_
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

perl5125delta - what is new for perl v5.12.5

DESCRIPTION
Security
Encode decode_xs n-byte heap-overflow (CVE-2011-2939)
File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)
Incompatible Changes
Modules and Pragmata
Updated Modules
Changes to Existing Documentation
perlebcdic
perlunicode
perluniprops
Installation and Configuration Improvements
Platform Specific Changes

Mac OS X, NetBSD

Selected Bug Fixes
Errata
split() and @_
Acknowledgements
Reporting Bugs
SEE ALSO

perl5124delta - what is new for perl v5.12.4

DESCRIPTION
Incompatible Changes
Selected Bug Fixes
Modules and Pragmata
Testing
Documentation
Platform Specific Notes

Linux

Acknowledgements
Reporting Bugs
SEE ALSO

perl5123delta - what is new for perl v5.12.3

DESCRIPTION
Incompatible Changes
Core Enhancements
keys, values work on arrays
Bug Fixes
Platform Specific Notes

Solaris, VMS, VOS

Acknowledgements
Reporting Bugs
SEE ALSO

perl5122delta - what is new for perl v5.12.2

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
New Modules and Pragmata
Pragmata Changes
Updated Modules

Carp, CPANPLUS, File::Glob, File::Copy, File::Spec

Utility Changes
Changes to Existing Documentation
Installation and Configuration Improvements
Configuration improvements
Compilation improvements
Selected Bug Fixes
Platform Specific Notes
AIX
Windows
VMS
Acknowledgements
Reporting Bugs
SEE ALSO

perl5121delta - what is new for perl v5.12.1

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Pragmata Changes
Updated Modules
Changes to Existing Documentation
Testing
Testing Improvements
Installation and Configuration Improvements
Configuration improvements
Bug Fixes
Platform Specific Notes
HP-UX
AIX
FreeBSD 7
VMS
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5120delta - what is new for perl v5.12.0

DESCRIPTION
Core Enhancements
New package NAME VERSION syntax
The ... operator
Implicit strictures
Unicode improvements
Y2038 compliance
qr overloading
Pluggable keywords
APIs for more internals
Overridable function lookup
A proper interface for pluggable Method Resolution Orders
\N experimental regex escape
DTrace support
Support for configure_requires in CPAN module metadata
each, keys, values are now more flexible
when as a statement modifier
$, flexibility
// in when clauses
Enabling warnings from your shell environment
delete local
New support for Abstract namespace sockets
32-bit limit on substr arguments removed
Potentially Incompatible Changes
Deprecations warn by default
Version number formats
@INC reorganization
REGEXPs are now first class
Switch statement changes

flip-flop operators, defined-or operator

Smart match changes
Other potentially incompatible changes
Deprecations

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
New Modules and Pragmata

autodie, Compress::Raw::Bzip2, overloading, parent, Parse::CPAN::Meta, VMS::DCLsym, VMS::Stdio, XS::APItest::KeywordRPN

Updated Pragmata

base, bignum, charnames, constant, diagnostics, feature, less, lib, mro, overload, threads, threads::shared, version, warnings

Updated Modules

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

Removed Modules and Pragmata

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

Deprecated Modules and Pragmata
Documentation
New Documentation
Changes to Existing Documentation
Selected Performance Enhancements
Installation and Configuration Improvements
Internal Changes
Testing
Testing improvements

Parallel tests, Test harness flexibility, Test watchdog

New Tests
New or Changed Diagnostics
New Diagnostics
Changed Diagnostics

Illegal character in prototype for %s : %s, Prototype after '%c' for %s : %s

Utility Changes
Selected Bug Fixes
Platform Specific Changes
New Platforms

Haiku, MirOS BSD

Discontinued Platforms

Domain/OS, MiNT, Tenon MachTen

Updated Platforms

AIX, Cygwin, Darwin (Mac OS X), DragonFly BSD, FreeBSD, Irix, NetBSD, OpenVMS, Stratus VOS, Symbian, Windows

Known Problems
Errata
Acknowledgements
Reporting Bugs
SEE ALSO

perl5101delta - what is new for perl v5.10.1

DESCRIPTION
Incompatible Changes
Switch statement changes

flip-flop operators, defined-or operator

Smart match changes
Other incompatible changes
Core Enhancements
Unicode Character Database 5.1.0
A proper interface for pluggable Method Resolution Orders
The overloading pragma
Parallel tests
DTrace support
Support for configure_requires in CPAN module metadata
Modules and Pragmata
New 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

Updated Modules

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

Utility Changes

h2ph, h2xs, perl5db.pl, perlthanks

New Documentation

perlhaiku, perlmroapi, perlperf, perlrepository, perlthanks

Changes to Existing Documentation
Performance Enhancements
Installation and Configuration Improvements
ext/ reorganisation
Configuration improvements
Compilation improvements
Platform Specific Changes

AIX, Cygwin, FreeBSD, Irix, Haiku, MirOS BSD, NetBSD, Stratus VOS, Symbian, Win32, VMS

Selected Bug Fixes
New or Changed Diagnostics

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"

Changed Internals

SVf_UTF8, SVs_TEMP

New Tests

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

Known Problems
Deprecations
Acknowledgements
Reporting Bugs
SEE ALSO

perl5100delta - what is new for perl 5.10.0

DESCRIPTION
Core Enhancements
The feature pragma
New -E command-line switch
Defined-or operator
Switch and Smart Match operator
Regular expressions

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

say()
Lexical $_
The _ prototype
UNITCHECK blocks
New Pragma, mro
readdir() may return a "short filename" on Windows
readpipe() is now overridable
Default argument for readline()
state() variables
Stacked filetest operators
UNIVERSAL::DOES()
Formats
Byte-order modifiers for pack() and unpack()
no VERSION
chdir, chmod and chown on filehandles
OS groups
Recursive sort subs
Exceptions in constant folding
Source filters in @INC
New internal variables

${^RE_DEBUG_FLAGS}, ${^CHILD_ERROR_NATIVE}, ${^RE_TRIE_MAXBUF}, ${^WIN32_SLOPPY_STAT}

Miscellaneous
UCD 5.0.0
MAD
kill() on Windows
Incompatible Changes
Packing and UTF-8 strings
Byte/character count feature in unpack()
The $* and $# variables have been removed
substr() lvalues are no longer fixed-length
Parsing of -f _
:unique
Effect of pragmas in eval
chdir FOO
Handling of .pmc files
$^V is now a version object instead of a v-string
@- and @+ in patterns
$AUTOLOAD can now be tainted
Tainting and printf
undef and signal handlers
strictures and dereferencing in defined()
(?p{}) has been removed
Pseudo-hashes have been removed
Removal of the bytecode compiler and of perlcc
Removal of the JPL
Recursive inheritance detected earlier
warnings::enabled and warnings::warnif changed to favor users of modules
Modules and Pragmata
Upgrading individual core modules
Pragmata Changes

feature, mro, Scoping of the sort pragma, Scoping of bignum, bigint, bigrat, base, strict and warnings, version, warnings, less

New modules
Selected Changes to Core Modules

Attribute::Handlers, B::Lint, B, Thread

Utility Changes

perl -d, ptar, ptardiff, shasum, corelist, h2ph and h2xs, perlivp, find2perl, config_data, cpanp, cpan2dist, pod2html

New Documentation
Performance Enhancements
In-place sorting
Lexical array access
XS-assisted SWASHGET
Constant subroutines
PERL_DONT_CREATE_GVSV
Weak references are cheaper
sort() enhancements
Memory optimisations
UTF-8 cache optimisation
Sloppy stat on Windows
Regular expressions optimisations

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

New Or Improved Platforms
Selected Bug Fixes

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

New or Changed Diagnostics

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

Changed Internals
Reordering of SVt_* constants
Elimination of SVt_PVBM
New type SVt_BIND
Removal of CPP symbols
Less space is used by ops
New parser
Use of const
Mathoms
AvFLAGS has been removed
av_* changes
$^H and %^H
B:: modules inheritance changed
Anonymous hash and array constructors
Known Problems
UTF-8 problems
Platform Specific Problems
Reporting Bugs
SEE ALSO

perl589delta - what is new for perl v5.8.9

DESCRIPTION
Notice
Incompatible Changes
Core Enhancements
Unicode Character Database 5.1.0.
stat and -X on directory handles
Source filters in @INC
Exceptions in constant folding
no VERSION
Improved internal UTF-8 caching code
Runtime relocatable installations
New internal variables

${^CHILD_ERROR_NATIVE}, ${^UTF8CACHE}

readpipe is now overridable
simple exception handling macros
-D option enhancements
XS-assisted SWASHGET
Constant subroutines
New Platforms
Modules and Pragmata
New Modules
Updated Modules
Utility Changes
debugger upgraded to version 1.31
perlthanks
perlbug
h2xs
h2ph
New Documentation
Changes to Existing Documentation
Performance Enhancements
Installation and Configuration Improvements
Relocatable installations
Configuration improvements
Compilation improvements
Installation improvements.
Platform Specific Changes
Selected Bug Fixes
Unicode
PerlIO
Magic
Reblessing overloaded objects now works
strict now propagates correctly into string evals
Other fixes
Platform Specific Fixes
Smaller fixes
New or Changed Diagnostics
panic: sv_chop %s
Maximal count of pending signals (%s) exceeded
panic: attempt to call %s in %s
FETCHSIZE returned a negative value
Can't upgrade %s (%d) to %d
%s argument is not a HASH or ARRAY element or a subroutine
Cannot make the non-overridable builtin %s fatal
Unrecognized character '%s' in column %d
Offset outside string
Invalid escape in the specified encoding in regexp; marked by <-- HERE in m/%s/
Your machine doesn't support dump/undump.
Changed Internals
Macro cleanups
New Tests

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

Known Problems
Platform Specific Notes
Win32
OS/2
VMS
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

perl588delta - what is new for perl v5.8.8

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes
h2xs enhancements
perlivp enhancements
New Documentation
Performance Enhancements
Installation and Configuration Improvements
Selected Bug Fixes
no warnings 'category' works correctly with -w
Remove over-optimisation
sprintf() fixes
Debugger and Unicode slowdown
Smaller fixes
New or Changed Diagnostics
Attempt to set length of freed array
Non-string passed as bitmask
Search pattern not terminated or ternary operator parsed as search pattern
Changed Internals
Platform Specific Problems
Reporting Bugs
SEE ALSO

perl587delta - what is new for perl v5.8.7

DESCRIPTION
Incompatible Changes
Core Enhancements
Unicode Character Database 4.1.0
suidperl less insecure
Optional site customization script
Config.pm is now much smaller.
Modules and Pragmata
Utility Changes
find2perl enhancements
Performance Enhancements
Installation and Configuration Improvements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
Known Problems
Platform Specific Problems
Reporting Bugs
SEE ALSO

perl586delta - what is new for perl v5.8.6

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes
Performance Enhancements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
New Tests
Reporting Bugs
SEE ALSO

perl585delta - what is new for perl v5.8.5

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes
Perl's debugger
h2ph
Installation and Configuration Improvements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
Known Problems
Platform Specific Problems
Reporting Bugs
SEE ALSO

perl584delta - what is new for perl v5.8.4

DESCRIPTION
Incompatible Changes
Core Enhancements
Malloc wrapping
Unicode Character Database 4.0.1
suidperl less insecure
format
Modules and Pragmata
Updated modules

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

Performance Enhancements
Utility Changes
Installation and Configuration Improvements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
Future Directions
Platform Specific Problems
Reporting Bugs
SEE ALSO

perl583delta - what is new for perl v5.8.3

DESCRIPTION
Incompatible Changes
Core Enhancements
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

Utility Changes
New Documentation
Installation and Configuration Improvements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
Configuration and Building
Platform Specific Problems
Known Problems
Future Directions
Obituary
Reporting Bugs
SEE ALSO

perl582delta - what is new for perl v5.8.2

DESCRIPTION
Incompatible Changes
Core Enhancements
Hash Randomisation
Threading
Modules and Pragmata
Updated Modules And Pragmata

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

Selected Bug Fixes
Changed Internals
Platform Specific Problems
Future Directions
Reporting Bugs
SEE ALSO

perl581delta - what is new for perl v5.8.1

DESCRIPTION
Incompatible Changes
Hash Randomisation
UTF-8 On Filehandles No Longer Activated By Locale
Single-number v-strings are no longer v-strings before "=>"
(Win32) The -C Switch Has Been Repurposed
(Win32) The /d Switch Of cmd.exe
Core Enhancements
UTF-8 no longer default under UTF-8 locales
Unsafe signals again available
Tied Arrays with Negative Array Indices
local ${$x}
Unicode Character Database 4.0.0
Deprecation Warnings
Miscellaneous Enhancements
Modules and Pragmata
Updated 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

Utility Changes
New Documentation
Installation and Configuration Improvements
Platform-specific enhancements
Selected Bug Fixes
Closures, eval and lexicals
Generic fixes
Platform-specific fixes
New or Changed Diagnostics
Changed "A thread exited while %d threads were running"
Removed "Attempt to clear a restricted hash"
New "Illegal declaration of anonymous subroutine"
Changed "Invalid range "%s" in transliteration operator"
New "Missing control char name in \c"
New "Newline in left-justified string for %s"
New "Possible precedence problem on bitwise %c operator"
New "Pseudo-hashes are deprecated"
New "read() on %s filehandle %s"
New "5.005 threads are deprecated"
New "Tied variable freed while still in use"
New "To%s: illegal mapping '%s'"
New "Use of freed value in iteration"
Changed Internals
New Tests
Known Problems
Tied hashes in scalar context
Net::Ping 450_service and 510_ping_udp failures
B::C
Platform Specific Problems
EBCDIC Platforms
Cygwin 1.5 problems
HP-UX: HP cc warnings about sendfile and sendpath
IRIX: t/uni/tr_7jis.t falsely failing
Mac OS X: no usemymalloc
Tru64: No threaded builds with GNU cc (gcc)
Win32: sysopen, sysread, syswrite
Future Directions
Reporting Bugs
SEE ALSO

perl58delta - what is new for perl v5.8.0

DESCRIPTION
Highlights In 5.8.0
Incompatible Changes
Binary Incompatibility
64-bit platforms and malloc
AIX Dynaloading
Attributes for my variables now handled at run-time
Socket Extension Dynamic in VMS
IEEE-format Floating Point Default on OpenVMS Alpha
New Unicode Semantics (no more use utf8, almost)
New Unicode Properties
REF(...) Instead Of SCALAR(...)
pack/unpack D/F recycled
glob() now returns filenames in alphabetical order
Deprecations
Core Enhancements
Unicode Overhaul
PerlIO is Now The Default
ithreads
Restricted Hashes
Safe Signals
Understanding of Numbers
Arrays now always interpolate into double-quoted strings [561]
Miscellaneous Changes
Modules and Pragmata
New Modules and Pragmata
Updated And Improved Modules and Pragmata
Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements
Generic Improvements
New Or Improved Platforms
Selected Bug Fixes
Platform Specific Changes and Fixes
New or Changed Diagnostics
Changed Internals
Security Vulnerability Closed [561]
New Tests
Known Problems
The Compiler Suite Is Still Very Experimental
Localising Tied Arrays and Hashes Is Broken
Building Extensions Can Fail Because Of Largefiles
Modifying $_ Inside for(..)
mod_perl 1.26 Doesn't Build With Threaded Perl
lib/ftmp-security tests warn 'system possibly insecure'
libwww-perl (LWP) fails base/date #51
PDL failing some tests
Perl_get_sv
Self-tying Problems
ext/threads/t/libc
Failure of Thread (5.005-style) tests
Timing problems
Tied/Magical Array/Hash Elements Do Not Autovivify
Unicode in package/class and subroutine names does not work
Platform Specific Problems
AIX
Alpha systems with old gccs fail several tests
AmigaOS
BeOS
Cygwin "unable to remap"
Cygwin ndbm tests fail on FAT
DJGPP Failures
FreeBSD built with ithreads coredumps reading large directories
FreeBSD Failing locale Test 117 For ISO 8859-15 Locales
IRIX fails ext/List/Util/t/shuffle.t or Digest::MD5
HP-UX lib/posix Subtest 9 Fails When LP64-Configured
Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint
Linux With Sfio Fails op/misc Test 48
Mac OS X
Mac OS X dyld undefined symbols
OS/2 Test Failures
op/sprintf tests 91, 129, and 130
SCO
Solaris 2.5
Solaris x86 Fails Tests With -Duse64bitint
SUPER-UX (NEC SX)
Term::ReadKey not working on Win32
UNICOS/mk
UTS
VOS (Stratus)
VMS
Win32
XML::Parser not working
z/OS (OS/390)
Unicode Support on EBCDIC Still Spotty
Seen In Perl 5.7 But Gone Now
Reporting Bugs
SEE ALSO
HISTORY

perl561delta - what's new for perl v5.6.1

DESCRIPTION
Summary of changes between 5.6.0 and 5.6.1
Security Issues
Core bug fixes

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

Core features
Configuration issues
Documentation
Bundled modules

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

Platform-specific improvements

NCR MP-RAS, NonStop-UX

Core Enhancements
Interpreter cloning, threads, and concurrency
Lexically scoped warning categories
Unicode and UTF-8 support
Support for interpolating named characters
"our" declarations
Support for strings represented as a vector of ordinals
Improved Perl version numbering system
New syntax for declaring subroutine attributes
File and directory handles can be autovivified
open() with more than two arguments
64-bit support
Large file support
Long doubles
"more bits"
Enhanced support for sort() subroutines
sort $coderef @foo allowed
File globbing implemented internally
Support for CHECK blocks
POSIX character class syntax [: :] supported
Better pseudo-random number generator
Improved qw// operator
Better worst-case behavior of hashes
pack() format 'Z' supported
pack() format modifier '!' supported
pack() and unpack() support counted strings
Comments in pack() templates
Weak references
Binary numbers supported
Lvalue subroutines
Some arrows may be omitted in calls through references
exists() is supported on subroutine names
exists() and delete() are supported on array elements
Pseudo-hashes work better
Automatic flushing of output buffers
Better diagnostics on meaningless filehandle operations
Where possible, buffered data discarded from duped input filehandle
eof() has the same old magic as <>
binmode() can be used to set :crlf and :raw modes
-T filetest recognizes UTF-8 encoded files as "text"
system(), backticks and pipe open now reflect exec() failure
Improved diagnostics
Diagnostics follow STDERR
More consistent close-on-exec behavior
syswrite() ease-of-use
Better syntax checks on parenthesized unary operators
Bit operators support full native integer width
Improved security features
More functional bareword prototype (*)
require and do may be overridden
$^X variables may now have names longer than one character
New variable $^C reflects -c switch
New variable $^V contains Perl version as a string
Optional Y2K warnings
Arrays now always interpolate into double-quoted strings
@- and @+ provide starting/ending offsets of regex submatches
Modules and Pragmata
Modules

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

Pragmata
Utility Changes
dprofpp
find2perl
h2xs
perlcc
perldoc
The Perl Debugger
Improved Documentation

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

Performance enhancements
Simple sort() using { $a <=> $b } and the like are optimized
Optimized assignments to lexical variables
Faster subroutine calls
delete(), each(), values() and hash iteration are faster
Installation and Configuration Improvements
-Dusethreads means something different
New Configure flags
Threadedness and 64-bitness now more daring
Long Doubles
-Dusemorebits
-Duselargefiles
installusrbinperl
SOCKS support
-A flag
Enhanced Installation Directories
gcc automatically tried if 'cc' does not seem to be working
Platform specific changes
Supported platforms
DOS
OS390 (OpenEdition MVS)
VMS
Win32
Significant bug fixes
<HANDLE> on empty files
eval '...' improvements
All compilation errors are true errors
Implicitly closed filehandles are safer
Behavior of list slices is more consistent
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
Failures in DESTROY()
Locale bugs fixed
Memory leaks
Spurious subroutine stubs after failed subroutine calls
Taint failures under -U
END blocks and the -c switch
Potential to leak DATA filehandles
New or Changed Diagnostics

"%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

New tests
Incompatible Changes
Perl Source Incompatibilities

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

Compatible C Source API Changes

PATCHLEVEL is now PERL_VERSION

Binary Incompatibilities
Known Problems
Localizing a tied hash element may leak memory
Known test failures
EBCDIC platforms not fully supported
UNICOS/mk CC failures during Configure run
Arrow operator and arrays
Experimental features

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:

Obsolete Diagnostics

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

Reporting Bugs
SEE ALSO
HISTORY

perl56delta - what's new for perl v5.6.0

DESCRIPTION
Core Enhancements
Interpreter cloning, threads, and concurrency
Lexically scoped warning categories
Unicode and UTF-8 support
Support for interpolating named characters
"our" declarations
Support for strings represented as a vector of ordinals
Improved Perl version numbering system
New syntax for declaring subroutine attributes
File and directory handles can be autovivified
open() with more than two arguments
64-bit support
Large file support
Long doubles
"more bits"
Enhanced support for sort() subroutines
sort $coderef @foo allowed
File globbing implemented internally
Support for CHECK blocks
POSIX character class syntax [: :] supported
Better pseudo-random number generator
Improved qw// operator
Better worst-case behavior of hashes
pack() format 'Z' supported
pack() format modifier '!' supported
pack() and unpack() support counted strings
Comments in pack() templates
Weak references
Binary numbers supported
Lvalue subroutines
Some arrows may be omitted in calls through references
exists() is supported on subroutine names
exists() and delete() are supported on array elements
Pseudo-hashes work better
Automatic flushing of output buffers
Better diagnostics on meaningless filehandle operations
Where possible, buffered data discarded from duped input filehandle
eof() has the same old magic as <>
binmode() can be used to set :crlf and :raw modes
-T filetest recognizes UTF-8 encoded files as "text"
system(), backticks and pipe open now reflect exec() failure
Improved diagnostics
Diagnostics follow STDERR
More consistent close-on-exec behavior
syswrite() ease-of-use
Better syntax checks on parenthesized unary operators
Bit operators support full native integer width
Improved security features
More functional bareword prototype (*)
require and do may be overridden
$^X variables may now have names longer than one character
New variable $^C reflects -c switch
New variable $^V contains Perl version as a string
Optional Y2K warnings
Arrays now always interpolate into double-quoted strings
@- and @+ provide starting/ending offsets of regex matches
Modules and Pragmata
Modules

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

Pragmata
Utility Changes
dprofpp
find2perl
h2xs
perlcc
perldoc
The Perl Debugger
Improved Documentation

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

Performance enhancements
Simple sort() using { $a <=> $b } and the like are optimized
Optimized assignments to lexical variables
Faster subroutine calls
delete(), each(), values() and hash iteration are faster
Installation and Configuration Improvements
-Dusethreads means something different
New Configure flags
Threadedness and 64-bitness now more daring
Long Doubles
-Dusemorebits
-Duselargefiles
installusrbinperl
SOCKS support
-A flag
Enhanced Installation Directories
Platform specific changes
Supported platforms
DOS
OS390 (OpenEdition MVS)
VMS
Win32
Significant bug fixes
<HANDLE> on empty files
eval '...' improvements
All compilation errors are true errors
Implicitly closed filehandles are safer
Behavior of list slices is more consistent
(\$) prototype and $foo{a}
goto &sub and AUTOLOAD
-bareword allowed under use integer
Failures in DESTROY()
Locale bugs fixed
Memory leaks
Spurious subroutine stubs after failed subroutine calls
Taint failures under -U
END blocks and the -c switch
Potential to leak DATA filehandles
New or Changed Diagnostics

"%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

New tests
Incompatible Changes
Perl Source Incompatibilities

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

Compatible C Source API Changes

PATCHLEVEL is now PERL_VERSION

Binary Incompatibilities
Known Problems
Thread test failures
EBCDIC platforms not supported
In 64-bit HP-UX the lib/io_multihomed test may hang
NEXTSTEP 3.3 POSIX test failure
Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with gcc
UNICOS/mk CC failures during Configure run
Arrow operator and arrays
Experimental features

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:

Obsolete Diagnostics

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

Reporting Bugs
SEE ALSO
HISTORY

perl5005delta - what's new for perl5.005

DESCRIPTION
About the new versioning system
Incompatible Changes
WARNING: This version is not binary compatible with Perl 5.004.
Default installation structure has changed
Perl Source Compatibility
C Source Compatibility
Binary Compatibility
Security fixes may affect compatibility
Relaxed new mandatory warnings introduced in 5.004
Licensing
Core Changes
Threads
Compiler
Regular Expressions

Many new and improved optimizations, Many bug fixes, New regular expression constructs, New operator for precompiled regular expressions, Other improvements, Incompatible changes

Improved malloc()
Quicksort is internally implemented
Reliable signals
Reliable stack pointers
More generous treatment of carriage returns
Memory leaks
Better support for multiple interpreters
Behavior of local() on array and hash elements is now well-defined
%! is transparently tied to the Errno module
Pseudo-hashes are supported
EXPR foreach EXPR is supported
Keywords can be globally overridden
$^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
Better locale support
Experimental support for 64-bit platforms
prototype() returns useful results on builtins
Extended support for exception handling
Re-blessing in DESTROY() supported for chaining DESTROY() methods
All printf format conversions are handled internally
New INIT keyword
New lock keyword
New qr// operator
our is now a reserved word
Tied arrays are now fully supported
Tied handles support is better
4th argument to substr
Negative LENGTH argument to splice
Magic lvalues are now more magical
<> now reads in records
Supported Platforms
New Platforms
Changes in existing support
Modules and Pragmata
New Modules

B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, Thread, attrs, fields, re

Changes in existing modules

Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd

Utility Changes
Documentation Changes
New Diagnostics

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

Obsolete Diagnostics

Can't mktemp(), Can't write to temp file for -e: %s, Cannot open temporary file, regexp too big

Configuration Changes
BUGS
SEE ALSO
HISTORY

perl5004delta - what's new for perl5.004

DESCRIPTION
Supported Environments
Core Changes
List assignment to %ENV works
Change to "Can't locate Foo.pm in @INC" error
Compilation option: Binary compatibility with 5.003
$PERL5OPT environment variable
Limitations on -M, -m, and -T options
More precise warnings
Deprecated: Inherited AUTOLOAD for non-methods
Previously deprecated %OVERLOAD is no longer usable
Subroutine arguments created only when they're modified
Group vector changeable with $)
Fixed parsing of $$<digit>, &$<digit>, etc.
Fixed localization of $<digit>, $&, etc.
No resetting of $. on implicit close
wantarray may return undef
eval EXPR determines value of EXPR in scalar context
Changes to tainting checks

No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No spawning if tainted $TERM doesn't look like a terminal name

New Opcode module and revised Safe module
Embedding improvements
Internal change: FileHandle class based on IO::* classes
Internal change: PerlIO abstraction interface
New and changed syntax

$coderef->(PARAMS)

New and changed builtin constants

__PACKAGE__

New and changed builtin variables

$^E, $^H, $^M

New and changed builtin functions

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

New builtin methods

isa(CLASS), can(METHOD), VERSION( [NEED] )

TIEHANDLE now supported

TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this LIST, READLINE this, GETC this, DESTROY this

Malloc enhancements

-DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE

Miscellaneous efficiency enhancements
Support for More Operating Systems
Win32
Plan 9
QNX
AmigaOS
Pragmata

use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use constant NAME => VALUE, use locale, use ops, use vmsish

Modules
Required Updates
Installation directories
Module information summary
Fcntl
IO
Math::Complex
Math::Trig
DB_File
Net::Ping
Object-oriented overrides for builtin operators
Utility Changes
pod2html

Sends converted HTML to standard output

xsubpp

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

New Diagnostics

"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

BUGS
SEE ALSO
HISTORY

perlexperiment - A listing of experimental features in Perl

DESCRIPTION
Current experiments

Smart match (~~), Pluggable keywords, Regular Expression Set Operations, Aliasing via reference, use re 'strict';, The <:win32> IO pseudolayer, Declaring a reference to a variable, There is an installhtml target in the Makefile, Unicode in Perl on EBCDIC, Script runs, Alpabetic assertions

Accepted features

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, Lexical $_, Subroutine signatures, The "const" attribute, String- and number-specific bitwise operators, fc foldcase, current_sub

Removed features

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, our can have an experimental optional attribute unique, Lexical $_, Array and hash container functions accept references, our can have an experimental optional attribute unique

SEE ALSO
AUTHORS
COPYRIGHT
LICENSE

perlcperl - a perl5 with classes, types, compilable, company friendly

SYNOPSIS
DEVELOPMENT SETUP
Incompatible changes

Illegal prototypes die, are not stored, @_ is empty in functions with signatures, Empty signature variables $ die, negative integer modulo, compile-time constant folding overflows with integer literals

Fix breakage and bad design
signatures

Add optional types in signatures, Add subroutine return types, Add call by-ref via \$arg, Improve @_ handling, Support default $self invocant with methods, Add :pure attribute for subroutines, Improved error reporting, Support ... for efficient varargs passing (NY), strict prototype and signature syntax, no pragmas required., no feature signatures or lexsubs or lexical_topical pragmas required

Changed calls to signatures
Fix my $_ handling
Undo B bootstrap breakage
Undo constant folding i_opt de-optimization
Undo support for binary names
Warn on \0shellcode attempts for names
strict names
TR39 confusable names
Undo the double readonly system
Fix the hashes
Compile-time attribute hooks
Run-time attribute variables
coretypes: Int, UInt, Num, Str
native unboxed types: int, uint, num, str (NY)
types
:const for all
Compile-time optimizations
Proper object system
Typed and shaped arrays
Typed and shaped hashes (NY)
Inlined functions (NY)
Rewrote critical core modules in C as builtins

:const for all types, unsigned for all integer types, sets SvIsUV_on|off, existing classes as types are recognized, some new FFI attributes

Added the compiler back to core
Backport core testsuite fixes for the compiler
Plans for further core features
Lexical methods
Remove Attribute::Handler from core
libffi in core
Longer term goals
Faster functions and method calls
tailcall elimination
Macros
Editor integration
Jit
Optimize the vm, the runloop
Better symbol table
Coro support
Untangle the IO layer mess
Bring back proper `match` and `given/when`
clp
Development policies
With classes, types, compilable, company friendly

classes, types, compilable, company friendly

How to detect cperl?

"$^V" =~ /c$/, config.h defines <USE_CPERL>, Config.pm defines usecperl, cperl changed modules end with c, typically _01c, Libraries are installed into /usr/local/lib/cperl, not /usr/local/lib/perl5

"/www.typescriptlang.org/Content/TypeScript%20Language%20Specificati on.pdf" in http: (microsoft's javascript with types), "/code.facebook.com/posts/1505962329687926/flow-a-new-static-type-c hecker-for-javascript/" in https: (facebook's javascript with types), "/github.com/rwaldron/tc39-notes/blob/master/es6/2015-01/JSExperime ntalDirections.pdf" in https: Soundscript, google's javascript with types, https://www.python.org/dev/peps/pep-0484/ (planned python with types), http://www.mypy-lang.org/ (existing python with types), https://news.ycombinator.com/item?id=8620129 (ruby 3.0 planned with types), http://crystal-lang.org/ (a good existing ruby with types), http://hacklang.org/ (facebook's php with types), http://blog.pascal-martin.fr/post/in-favor-of-rfc-scalar-type-hints.html (php 7 types overview), https://wiki.php.net/rfc/scalar_type_hints (php 7), https://wiki.php.net/rfc/return_types (php 7), http://frenchy64.github.io/2015/06/19/gradual-typing.html, http://blogs.perl.org/users/rurban/2012/09/my-perl5-todo-list.html (the old plan, ignored), http://perl11.org/cperl/

perlcdelta - what is new for cperl v5.29.0

DESCRIPTION
Core Enhancements
Check bless name under use strict names
New warning shadow package
extern sub - libffi
Incompatible Changes
Protected hash iterators
Deprecations
Undeprecate "Unescaped left brace in regex" warnings and errors
Performance Enhancements

Improve newSVpvn_share

Modules and Pragmata
New Modules and Pragmata

ffi 0.01c, hashiter

Updated Modules and Pragmata

Archive::Tar 2.32, attributes 1.15c, B 1.71_09, bignum 0.51c, CPAN 2.21_01, Cwd 4.75c, Data::Dumper 2.172, Devel::PPPort 3.43_04, DynaLoader 2.09c, ExtUtils::Manifest 1.71, Errno 1.29_01, File::Path 3.16_02c, Math::BigInt 1.999814, Math::BigInt::FastCalc 0.5008, Opcode 1.40_03c, perlfaq 5.20180915, Storable 3.12_02, version 0.9924_02, warnings 1.43

Removed Modules and Pragmata
Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics

No autovivification of hash slice anymore, Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/%s/

Configuration and Compilation

useffi, ffi_targets, usesafehashiter, doubleinfbytes,doublenanbytes,longdblinfbytes,longdblnanbytes, Porting/do-make-cperl-release

Testing
Platform Support
Platform-Specific Notes

Oracle Linux, Windows, mingw

Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5290cdelta, perlcdelta - what is new for cperl v5.29.0

DESCRIPTION
Core Enhancements
Check bless name under use strict names
New warning shadow package
extern sub - libffi
Incompatible Changes
Protected hash iterators
Deprecations
Undeprecate "Unescaped left brace in regex" warnings and errors
Performance Enhancements

Improve newSVpvn_share

Modules and Pragmata
New Modules and Pragmata

ffi 0.01c, hashiter

Updated Modules and Pragmata

Archive::Tar 2.32, attributes 1.15c, B 1.71_09, bignum 0.51c, CPAN 2.21_01, Cwd 4.75c, Data::Dumper 2.172, Devel::PPPort 3.43_04, DynaLoader 2.09c, ExtUtils::Manifest 1.71, Errno 1.29_01, File::Path 3.16_02c, Math::BigInt 1.999814, Math::BigInt::FastCalc 0.5008, Opcode 1.40_03c, perlfaq 5.20180915, Storable 3.12_02, version 0.9924_02, warnings 1.43

Removed Modules and Pragmata
Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics

No autovivification of hash slice anymore, Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/%s/

Configuration and Compilation

useffi, ffi_targets, usesafehashiter, doubleinfbytes,doublenanbytes,longdblinfbytes,longdblnanbytes, Porting/do-make-cperl-release

Testing
Platform Support
Platform-Specific Notes

Oracle Linux, Windows, mingw

Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5281cdelta - what is new for cperl v5.28.1

DESCRIPTION
Core Enhancements
Check bless name under use strict names
Performance Enhancements

Improve newSVpvn_share

Deprecations
Undeprecate "Unescaped left brace in regex" warnings and errors
Modules and Pragmata
Updated Modules and Pragmata

CPAN 2.21_01, Cwd 4.75c, DynaLoader 2.09c, Errno 1.29_01, File::Path 3.16_02c, Storable 3.12_02

Documentation
Changes to Existing Documentation
Configuration and Compilation
Testing
Platform Support
Platform-Specific Notes

mingw, Fixed Errno from processing some protected intrinsics directly, Undefine i_dlfcn, MSVC 11.0

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5280cdelta - what is new for cperl v5.28.0

DESCRIPTION
Notice
Core Enhancements
study HASH CODE ARRAY
New strict hashpairs
Honor the BOM
Safer perl -c:s cmdline flag
class, role, method, has, fields
Check and normalize stringified names
strict names
Optimize static methods to subs
Named anonymous CV - usenamedanoncv
Dump more COP fields
More unicode ops
' is a valid part of a subroutine name
delete on key/value slices
Unicode 10.0 is supported
Experimentally, there are now alphabetic synonyms for some regular expression assertions
Re-enable warnings illegalproto
In-place editing is now safer
Initialisation of aggregate state variables
Full-size inode numbers
Changed warnings::register handling of all
Computed shaped array sizes
New read-only predefined variable ${^SAFE_LOCALES}
Locales are now thread-safe on systems that support them
Mixed Unicode scripts in strings
String- and number-specific bitwise ops are no longer experimental
Security
[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
Unsigned long stack access of printf format arguments
Disallow illegal glob with embedded NUL
Follow chroot with chdir("/")
Set umask(0600) before calling mkstemp
Note on the perl5 Hash Function Change
Incompatible Changes
Comma-less variable lists in formats are no longer allowed
The :locked and :unique attributes have been removed
\N{} with nothing between the braces is now illegal.
Opening the same symbol as both a file and directory handle is no longer allowed
Use of bare << to mean <<"" is no longer allowed
Setting $/ to a reference to a non-positive integer no longer allowed
Unicode code points with values exceeding IV_MAX are now fatal.
B::OP::terse no longer exists.
Use of inherited AUTOLOAD for non-methods is no longer allowed.
Use of strings with code points over 0xFF is not allowed for bitwise string operators
Backslash no longer escapes colon in PATH for the -S switch
Subroutines no longer need typeglobs
... is a term in cperl, not a statement
Illegal NUL, syntax error
Only B::class is valid
Sort algorithm can no longer be specified
Over-radix digits in floating point literals
Return type of unpackstring()
Deprecations
Use of vec on strings with code points above 0xFF is deprecated.
Some uses of unescaped "{" are no longer fatal
Use of unescaped "{" immediately after a "(" in regular expression patterns is deprecated
Assignment to $[ will be fatal in Perl 5.30
hostname() won't accept arguments in Perl 5.32
No autovivification of hash slice anymore
Module removals

Locale::Codes, B::Debug, DirHandle

Performance Enhancements
Modules and Pragmata
Removal of use vars
Use of DynaLoader changed to XSLoader in many modules
New Modules and Pragmata

Mu 0.01, Metamodel

Updated Modules and Pragmata

Archive::Tar 2.30, arybase 0.15, attributes 1.14c, Attribute::Handlers 1.01_01, B 1.71_08, B::C 1.55_08, B::Concise 1.003c, B::Deparse 1.48_04c, B::Terse 1.09_01, B::Xref 1.07_02, base 2.27c, bignum 0.50c, blib 1.07, bytes 1.06, Carp back to 1.45_01c, charnames 1.45, Compress::Raw::Bzip2 2.081, Compress::Raw::Zlib 2.081, Config::Extensions 0.02, Config::Perl::V 0.30_01, constant 1.34, coretypes 0.03c, CPAN 2.20_01, Cpanel::JSON::XS 4.06, Data::Dumper 2.170_03, Devel::Peek 1.27_03, Devel::NYTProf 6.06, Devel::PPPort 3.42_04, deprecate 0.03_01, Digest::SHA 6.02, DirHandle 1.05, DB_File 1.842, DynaLoader 2.09c, Encode 2.98, experimental 0.020_01, Exporter 5.73, ExtUtils::CBuilder 0.280230, ExtUtils::Constant 0.25_01, ExtUtils::Embed 1.35, ExtUtils::Install 2.14, ExtUtils::MakeMaker 8.35_06, ExtUtils::Miniperl 1.08, ExtUtils::ParseXS 3.39_03, ExtUtils::Typemaps 3.38, ExtUtils::XSSymSet 1.4, feature 1.52_01, fields 2.26c, File::Copy 2.33, File::Fetch 0.56, File::Glob 1.31, File::Path 3.15_01c, File::Spec::Functions 3.36_05, File::stat 1.08, FileCache 1.10, Filter::Simple 0.95, File::Temp 0.2308, Filter::Util::Call 1.59, GDBM_File 1.17, Getopt::Long 2.50, Hash::Util 0.22_01, Hash::Util::FieldHash 1.20, HTTP::Tiny 0.076_01, I18N::Langinfo 0.17, I18N::LangTags 0.43_01, if 0.0608, IO 1.39_01, IO::Compress::Base 2.081, IO::Socket::IP 0.39_02, IPC::Cmd 1.02, JSON::PP 2.97001_04, libnet 3.11_01, List::Util 1.49_10, Locale::Codes 3.55, Locale::Maketext 1.29, Math::BigInt 1.999813, Math::BigInt::FastCalc 0.5007, Math::BigRat 0.2614, Memoize 1.03, Module::CoreList 5.20180622c, Module::Load::Conditional 0.68_02, mro 1.22_01, Mu 0.02c, Net::Ping 2.70, NEXT 0.67_01, O 1.03, ODBM_File 1.15, Opcode 1.43_02c, OS2::Process 1.12_01, overload 1.30, parent 0.237, PathTools 4.68c, PerlIO::encoding 0.26, PerlIO::scalar 0.29_01, PerlIO::via 0.17_01, perl5db 1.52_01c, Pod::Checker 1.73_01, Pod::Functions 1.13, Pod::Man 4.11, Pod::HTML 2.2403c, Pod::Perldoc 3.2801, podlators 4.10, POSIX 1.84_03, re 0.36_01, Scalar::Util 1.50_11, Search::Dict 1.07_01, SelectSaver 1.02_01, SelfLoader 1.25, Socket 2.027_04, sort 2.04, Storable 3.11_01, strict 1.13c, subs 1.03, Symbol 1.08_01, Sys::Hostname 1.22, Term::ReadKey 2.37_03, Term::ReadLine 1.17, Test::Harness 3.42_01, Thread::Queue 3.13, threads 2.22_01, threads::shared 1.58, Tie::Array 1.07, Tie::Hash::NamedCapture 0.10_01, Tie::StdHandle 4.5, Time::gmtime 1.04, Time::HiRes 1.9758_01, Time::Local 1.28, Time::localtime 1.03, Time::Piece 1.33, Unicode::Collate 1.25_01, Unicode::Normalize 1.26, Unicode::UCD 0.70_01, User::grent 1.02, User::pwent 1.01, utf8 2.02c, vars 1.04, version 0.9923_02, VMS::DCLsym 1.09, VMS::Studio 2.44_01, warnings 1.42, Win32 0.52_01, Win32API::File 0.1204, XS::Typemap 0.16, XSLoader 1.04c

Removed Modules and Pragmata

B::Debug 1.25, Locale::Codes 3.55, VMS::stdio

Documentation
New Documentation
Changes to Existing Documentation

"Variable length lookbehind not implemented in regex m/%s/" in perldiag

Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Utility Changes
dtrace
cperlivp
Configuration and Compilation

C89 requirement, -Werror=pointer-arith, relative HTML links, t/porting/regen.t improvements, pgcc, smoker deployments, inc_version_list, -Dusedevel not mandatory, d_builtin_arith_overflow, New probes:, HAS_GETCWD, HAS_GET_CURRENT_DIR_NAME, HAS_GETCWDNULL, HAS_REALPATH, HAS_BUILTIN_CLZ, HAS_THREAD_SAFE_NL_LANGINFO_L, HAS_LOCALECONV_L, HAS_MBRLEN, HAS_MBRTOWC, HAS_MEMRCHR, HAS_NANOSLEEP, HAS_STRNLEN, HAS_STRTOLD_L, I_WCHAR, USE_NAMED_ANONCV, Removed probes and keys, ansi2knr, d_bcmp, d_bcopy, d_bzero, d_index, d_charvspr, d_dbl_dig, d_safebcpy, d_safemcpy, d_sanemcmp, d_sprintf_returns_strlen, d_strctcpy, d_strerrm, i_memory, i_values, i_varargs, i_varhdr, strings, d_memset, d_memchr, d_memcmp, d_memcpy, d_memmove, d_strchr, d_strerror, d_vprintf, d_volatile, i_assert, i_float, i_limits, i_math, i_stdarg, i_stdlib, i_string, prototype, vaproto, git_version.sh, myconfig, make_patchnum: touch the targets

Testing
Packaging
Platform Support
New Platforms

pgcc

Discontinued Platforms

PowerUX / Power MAX OS

Platform-Specific Notes

linux, cygwin, darwin, mingw, VMS, Windows, UMIPS, ULTRIX 4

Internal Changes
Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5264cdelta - what is new for cperl v5.26.4

DESCRIPTION
Modules and Pragmata
Updated Modules and Pragmata

Archive::Tar 2.32, bignum 0.51c, Compress::Raw::Bzip2 2.081, Compress::Raw::Zlib 2.081, Config::Perl::V 0.30_01, Cpanel::JSON::XS 4.06, Cwd 4.75c, Data::Dumper 2.172, DB_File 1.842, Devel::NYTProf 6.06_01, Devel::PPPort 3.43_04, Digest::SHA 6.02, DynaLoader 2.09c, Encode 2.98, experimental 0.020_01, Exporter 5.73, ExtUtils::Constant 0.25_01, ExtUtils::MakeMaker 8.35_06, ExtUtils::Manifest 1.71, File::Path 3.16_02c, File::Temp 0.2308, Filter::Util::Call 1.59, HTTP::Tiny 0.076_01, if 0.0608, IO 1.39_01, IO-Compress 2.081, IPC::Cmd 1.02, Locale::Codes 3.38, Math::BigInt 1.999814, Math::BigInt::FastCalc 0.5008, Math::BigRat 0.2614, Net::Ping 2.70, parent 0.237, perlfaq 5.20180915, Pod::Man 4.11, Scalar::Util 1.50_11, Socket 2.027_04, Storable 3.12_02, Test::Harness 3.42_01, Thread::Queue 3.13, threads 2.22_01, threads::shared 1.58, Time::HiRes 1.9758_01, Time::Local 1.28, Time::Piece 1.33, version 0.9924_02

Documentation
New Documentation
Changes to Existing Documentation
Testing
Platform Support
Platform-Specific Notes

XXX-some-platform

Internal Changes
Selected Bug Fixes
Known Problems
Errata From Previous Releases
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

perl5263cdelta - what is new for cperl v5.26.3

DESCRIPTION
Security
[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
Assertion failure in Perl__core_swash_init (utf8.c)
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata
Documentation
Changes to Existing Documentation
Platform Support
Platform-Specific Notes

Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5262cdelta - what is new for cperl v5.26.2

DESCRIPTION
Security
Set umask(0600) before calling mkstemp
Disallow illegal glob with embedded NUL
Follow chroot with chdir("/")
[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
Updated Modules and Pragmata

B::Debug 1.26, charnames 1.45, Compress::Raw::Zlib 2.076, Config 6.23, Config::Perl::V 0.29_01, Cpanel::JSON::XS 3.0240, Digest::SHA 6.01, Encode 2.93, experimental 0.019_01c, ExtUtils::CBuilder 0.280230, ExtUtils::Constant 0.24_01, ExtUtils::ParseXS 3.36_03, File::Fetch 0.56, Filter 1.58, JSON::PP 2.97001_04, Locale::Codes 3.55, libnet 3.11, Net::Ping 2.63, Pod::Man 4.11, Scalar::Util 1.49, SelfLoader 1.24, Storable 3.05_14, Test::Builder::Tester 1.29c, Time::HiRes 1.9752, Time::Piece 1.3203, Unicode::Collate 1.25_01, version 0.9918_02c, VMS::DCLsym 1.09

Selected Bug Fixes
Platform Support
Platform-Specific Notes

FreeBSD, Windows

Acknowledgements
Reporting Bugs
SEE ALSO

perl5261cdelta - what is new for cperl v5.26.1

DESCRIPTION
Performance Enhancements
Modules and Pragmata
Updated Modules and Pragmata

Archive::Tar 0.26, B 1.68_07, B::C 1.55_04, B::Debug 1.25, Cpanel::JSON::XS 3.0233, Devel::PPPort 3.36_02, Encode 2.92, ExtUtils::CBuilder 0.280226, ExtUtils::Install 2.14, ExtUtils::MakeMaker 8.30_04, ExtUtils::ParseXS 3.35_02, File::Path 3.15_01c, File::Spec::Functions 3.36_05, Filter::Simple 0.94, Getopt::Long 2.50, IO, IPC::Cmd 0.98, JSON::PP 2.94_01, Locale::Codes 3.53, Math::BigRat 0.2613, Memoize 1.03, Net::Ping 2.61, PathTools 4.68c, Search::Dict 1.07_01, SelectSaver 1.02_01, Storable 3.05_13, threads 2.16_01, threads::shared 1.57, Time::HiRes 1.9744_01, VMS::Studio 2.41_01, Win32API::File 0.1204

Documentation
Changes to Existing Documentation
Configuration and Compilation
Utility Changes
cperlivp
Testing
Platform-Specific Notes

mingw

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5260cdelta - what is new for cperl v5.26.0

DESCRIPTION
Notice
Core Enhancements
No magic to undef/yes/no/placeholder SVs
Type-check assignments
HvCLASS
Type-infer bless
Type-infer subroutine return types
Perl can now do default collation in UTF-8 locales on platforms that support it
Better locale collation of strings containing embedded NUL characters
Unescaped literal "{" characters in regular expression patterns are no longer permissible
Literal control character variable names are no longer permissible
New regular expression modifier /xx
NBSP is no longer permissible in \N{...}
CORE subroutines for hash and array functions callable via reference
Unicode 9.0 is now supported
Use of \p{script} uses the improved Script_Extensions property
Declaring a reference to a variable
Indented Here-documents
'.' and @INC
create a safer utf8_hop() called utf8_hop_safe()
@{^CAPTURE}, %{^CAPTURE}, and %{^CAPTURE_ALL}
Improved .pmc loading
Added SAFE_RX_ substrs accessors
Security
Storable stack overflows
"Escaped" colons and relative paths in PATH
Unicode identifiers: Moderately Restrictive Level
chdir heap-buffer-overflow on the perl stack
Improved Hash DDoS prevention
@{ \327 \n } buffer overflows
eval "q" . chr(overlarge) stack overflow
Protect and warn on hash flood DoS
use utf8 'Script'
Unicode normalization of identifiers/names
No binary symbols
hash seed exposure
Warn on metasploit CVE-2015-1592
Warn on metasploit reverse shells
syscalls warnings also security
Deprecations
do_open, do_close macros
Removed ' as package seperator
New items in perldeprecation
Incompatible Changes
String delimiters that aren't stand-alone graphemes are illegal
for state loops still illegal
scalar(%hash) return value changed
keys returned from an lvalue subroutine
Performance Enhancements

Faster scalar assignments, Bigger lexer buffers allowing faster memcmp, Less initial array elements, if length($str) is faster, if ref() is faster, readline is faster, $ref1 = $ref2 has been optimized, Array and hash assignment are faster, Less SvSCREAM, Better do_vop, Better COW in Regex, Speed up AV and HV clearing/undeffing, Converting a single-digit string to a number is now substantially faster, Simplified split, Constant fold with barewords, Less NULL ops, -DPERL_FAKE_SIGNATURE, -flto support, for loops, omit bounds checks for multideref, strEQc, strNEc, padnames, av_fetch, hv_common_magical, pre-allocated hash sizes with aassign, pre-allocate more hashes and stashes, Faster get_[sah]vs API

Modules and Pragmata
New Modules and Pragmata

types 0.01

Updated Modules and Pragmata

Archive-Tar 2.24, B 1.68_06, B-C 1.55_02, B-Debug 1.24, bignum 0.47c, B::Terse 1.07, Carp 1.42c, Config::Perl::V 0.27_01, Compress-Raw-Bzip2 2.074, Compress-Raw-Zlib 2.074, CPAN::Meta 2.150010c, CPAN 2.17, CPAN-Meta-Requirements, Cpanel-JSON-XS 3.0231, Config 6.22, Cwd 4.65c, Data-Dumper 2.163, Devel-NYTProf 6.04, Devel::Peek 1.23_02, Devel-PPPort 3.35_02, Digest::SHA 5.96, DB_File 1.840, DynaLoader 2.07c, Encode 2.88, Exporter, ExtUtils-Constant 0.23_08, ExtUtils::MakeMaker, ExtUtils::Install 2.04_01, ExtUtils::ParseXS 3.34_02, feature 1.47_01, File::DosGlob 1.12_01, File::Fetch 2.52, File::Glob 1.28, Filter 1.57, Getopt::Std 1.12, Getopt::Long 2.49.1, HTTP::Tiny 0.070, Internals::DumpArenas 0.12_07, IO-Compress 2.074, IO::Socket::IP 0.39_01, IPC::Cmd 0.96, JSON::PP 2.27400_02, Locale-Codes 3.51, Locale::Maketext 1.28, Math-BigInt 1.999811_01, Math-BigInt-FastCalc 0.5006, Math-BigRat 0.2612, Module-Load-Conditional 0.68, Module-Metadata 1.000033, Net-Ping 2.59, NEXT 0.67, libnet 3.10, Opcode 1.35_01c, parent 0.236, open 1.11 =item PerlIO 1.10, PathTools 4.67c, PerlIO::encoding 0.24_01, PerlIO::via 0.17, Perl-OSType 1.010, Pod::Html 2.23002c, podlators 4.09, Pod-Perldoc 3.28, Pod-Simple 4.35c, POSIX 1.76_02, Safe 2.40_02c, Scalar-List-Util 1.47_01, Socket 2.024_05, Storable 3.05_12, Sys-Syslog 0.35, Term-ANSIColor 4.06, Term::ReadKey 2.37_01, Test-Harness 3.39_01, Test-Simple, Test::More 1.401015c, threads 2.15, Thread-Queue 3.12, Thread-Semaphore 2.13, threads-shared 1.55, Time-Local 1.25, Time-HiRes 1.9742_01, Unicode-Collate 1.19, version 0.9917_02c, YAML::XS 0.75, XS::APItest 0.80_02, XSLoader 1.03c

Removed Modules and Pragmata

I18N-Collate 1.02

Documentation
New Documentation
Changes to Existing Documentation
Diagnostics
New Diagnostics
Changes to Existing Diagnostics
Configuration and Compilation

sysincpath, syslibpth, rebuild_storable, dlopen, ld, default_inc_excludes_do, arflags, fixed longdblinfbytes probe, cperl build helper scripts, reproducible builds, passcat, fake_signatures, d_llabs, d_setenv, d_attribute_always_inline, sanitize_address, d_attribute_used, i_netinet_in_systm, i_netinet6_in6, d_builtin_prefetch, d_builtin_ctz

Testing
Utility Changes
c2ph
Platform Support
Platform-Specific Notes

Windows, Mingw, Linux, VMS, Hurd, VAX, FreeBSD, Darwin/macOS, EBCDIC, HP-UX, OpenBSD 6, Solaris

Internal Changes
Selected Bug Fixes

No double-free of $_ in loops, packaging: protect sitelib dirs from being uninstalled, type-check list assignments and types, -d with tailcalls, Restore C++ compatibility, $-{$name} leak, split ' ' under use unicode_strings, Fix $# use after free or buffer overflow, Fix lexer with indirect object method calls, Forbid glob as format argument, Fix optimized match to qr, Fix pad access in regex eval code blocks, Fix local in regex eval code blocks, Fix substr with a magic variable, Fix some missing Malformed UTF-8 character warnings, SvREADONLY_off: allow calls as argument, ref assert, c3 linerarization, sv_dump, use utf8, SvIMMORTAL, user-defined Unicode properties broke texinfo, Fix error message for unclosed \N{ in regcomp, Fix scalar lvalues in list assignment, Fix /(?{ s!!! })/, Fix utf8 parsing, Fix firstchar bitmap under utf8 with prefix optimisation, Carp/t/arg_string.t: be liberal in f/p formats, Make do "a\0b" fail silently instead of throwing, Fix nested forward sub declarations, regex crash utf8 =~ utf8, #!perl -i u vs. -u, Wrong regex backtracking, regex_sets assertions, Invalid ref assignments, evalbytes bareword crash, Wrong Use of inherited AUTOLOAD for non-method warning, Fix crash with illegal splice, Fix re_untuit_start overflow, Improve deb_stack_all, Fixed some UAF bugs in yylex, Fixed s///l crash with utf8, Unexpected binary operator '+' with no preceding operand in regex, Fixed &. assert with utf8 and missing nul byte, Check pack_sockaddr_un, Fix scan_heredoc, Fix IN_LC, Fix parser error with :attr(foo, Fix delimcpy, Fix gv_fetchmethod_pvn_flags seperator parsing, Fix some in-place array sorts cases, Wrong Attempt to pack pointer to temporary value warning, Wrong used once warning in the debugger, Wrong Possible unintended interpolation... warnings, Fixed gethostent checks for NUL bytes regression, Fix some defined typeglob leaks, fchown, Wrong constant assertion with sub ub(){0} ub ub, Many hexadecimal floating point printing fixes, tr/\N{U+...}/foo/ regression, S__invlist_len assertion, Invalid utf8 string delimiters, @{x\n crash, %: = 0 assertion, "$foo::$bar" vs "$foo\::$bar" 5.18 parsing regression, -x off by one 5.20 regression, delete $My::{"Foo::"}; \&My::Foo::foo no longer crashes, Wrong sub and filehandle deletion crashes, No $ISA[0][0] assertion, No Subroutine STASH::NAME redefined crash, No format deprecation assertions, Fixed divide by zero crash on windows with collate, Fixed assertions with /(?<=/ or /(?<!/, Non-ASCII string delimiters are now reported correctly in error messages for unterminated strings, Allow lvalue keys %hash, Fixed ${\vec %h, 0, 1}, ${\substr %h, 0}, Fixed the range unicode bug, Fixed -Duseshrplib, a shared libcperl.$so, Fixed sv_dump of VALID,EVALED, Fixed cperl signatures with default blocks, v-strings with a 'c' suffix can now be parsed natively, More I32/IV/SSize_t fixes, Fixed several heap-buffer-overflows detected by asan, Fix -DNODEFAULT_SHAREKEYS regression from 5.9, Fix HEK_TAINTED check for HEf_SVKEY values, Only clear LS_COLORS for glob, Fixed error in error during global destruction, Fixed ck_chift segfault, Handle missing Unicode heredoc terminators correctly, Syntax warnings with until ($x = 1) { ... }, Fixed require : parsing

Known Problems
Errata From Previous Releases
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

perl5244cdelta - what is new for cperl v5.24.4

DESCRIPTION
Security
[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
Assertion failure in Perl__core_swash_init (utf8.c)
Incompatible Changes
Modules and Pragmata
Updated Modules and Pragmata

Archive::Tar 2.30, Attribute::Handlers 1.00_01, B::Xref 1.07_02, bytes 1.06, Compress::Raw::Bzip2 2.081, Compress::Raw::Zlib 2.081, CPAN 2.20_01, Cpanel::JSON::XS 4.06, Data::Dumper 2.170_03, Devel::NYTProf 6.06_01, Devel::PPPort 3.42_04, Digest::SHA 6.02, DB_File 1.842, DynaLoader 2.09c, Encode 2.98, ExtUtils::Constant 1.25_01, ExtUtils::MakeMaker 8.35_06, ExtUtils::Miniperl 1.08, ExtUtils::ParseXS 3.39_03, File::Copy 2.33, File::Glob 1.31, PathTools 4.74c, File::Temp 0.2308, Filter::Util::Call 1.59, GDBM_File 1.17, if 0.0608, IO 1.39_01, IPC::Cmd 1.02, Net::Ping 2.70, NEXT 0.67_01, PerlIO::encoding 0.26_01, PerlIO::scalar 0.29, PerlIO::via 0.17_01, Pod::Man 4.11, Scalar-List-Util 1.50_11, Socket 2.027_04, Term::ReadKey 2.37_03, Term::ReadLine 1.17, Test::Harness 3.42_01, Time::HiRes 1.9758_01, Time::Local 1.28, Time::Piece 1.33, version 0.9923_02, XSLoader 1.04c

Selected Bug Fixes
Acknowledgements cperl 5.24.4 represents approximately 8 months of development since cperl 5.24.3c and contains approximately 33,000 lines of changes across 560 files from 7 authors.
Reporting Bugs
SEE ALSO

perl5243cdelta - what is new for cperl v5.24.3

DESCRIPTION
Security
Set umask(0600) before calling mkstemp
Disallow illegal glob with embedded NUL
Follow chroot with chdir("/")
[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
Updated Modules and Pragmata

Archive::Tar 2.26, Attribute::Handlers 0.99_01, B::C 1.55_06, B::Debug 1.26, bignum 0.47c, Compress::Raw::Bzip2 2.074, Compress::Raw::Zlib 2.076_01, Config 6.23, Config::Perl::V 0.29_01, CPAN 2.18_01, Cpanel::JSON::XS 3.0240, DB_File 1.840, Devel::PPPort 3.36_04, Digest::SHA 6.01, Encode 2.93, experimental 0.019_01c, ExtUtils::CBuilder 0.280230, ExtUtils::Constant 0.24_01, ExtUtils::Install 2.14, ExtUtils::MakeMaker 8.30_04c, ExtUtils::ParseXS 3.36_03, File::Fetch 0.56, File::Path 3.15_01c, Filter::Simple 0.94, Filter 1.58, Getopt::Long 2.5, IO 1.38, IO::Compress::Base 2.074, IO::Socket::IP 0.39_02, IPC::Cmd 0.98, JSON::PP 2.97001_04, Locale::Codes 3.55, Math::BigInt 1.999811_01, Math::BigInt::FastCalc 0.5006, Math::BigRat 0.2613, Module::CoreList 5.20180101c, Net::Domain 3.11_01, Net::Ping 2.63, Pod::Man 4.10, Pod::Perldoc 3.28, Pod::Simple 4.36c, Scalar::Util 1.49_10, Search::Dict 1.07_01, SelectSaver 1.02_01, SelfLoader 1.24, Storable 3.05_14, Test::Harness 3.39, Thread::Queue 3.12, threads 2.18_01, threads::shared 1.57, Time::HiRes 1.9751, Time::Piece 1.3203, Unicode::Collate 1.25_01, version 0.9918_02c, VMS::DCLsym 1.09, VMS::Stdio 2.44_01

Testing
Selected Bug Fixes
Platform Support
Platform-Specific Notes

VMS, Windows

Acknowledgements
Reporting Bugs
SEE ALSO

perl5242cdelta - what is new for cperl v5.24.2

DESCRIPTION
Security
chdir heap-buffer-overflow
Parse-CPAN-Meta security
Deprecations
do_open, do_close macros
Modules and Pragmata
Updated Modules and Pragmata

App::Cpan 1.64_01, Archive-Tar 2.18, base 1.23_01, B 1.62_06, B-C 1.54_15, Compress::Raw::Bzip2 2.069, Compress::Raw::Zlib 2.069, Config 6.22_01, Config::Perl::V 0.27_01, CPAN::Meta 2.150010c, CPAN 2.14c, Cpanel-JSON-XS 3.0225, Data::Dumper 1.162, Devel-NYTProf 6.04, Devel::PPPort 3.35_02, Digest::SHA 5.96, DynaLoader 2.06c, Encode 2.88, File::Fetch 2.52, Getopt::Long 2.49.1, HTTP::Tiny 0.070, Internals-DumpArenas 0.12_05, IO-Socket-IP 0.38, IPC::Cmd 0.96, JSON::PP 2.27400_02, libnet 3.10, Locale-Codes 3.42, Locale::Maketext 1.28, Math-BigInt 1.999726, Module-Load-Conditional 0.68, Module-Metadata 1.000033, Net-Ping 2.55, NEXT 0.67, parent 0.236, Perl-OSType 1.010, podlators 4.09, Pod-Perldoc 3.27, Pod-HTML 2.22c, Scalar-List-Utils 1.46_08, Socket 2.024_05, Sys-Syslog 0.35, Term-ANSIColor 4.06, Term::ReadKey 2.37_01, Thread-Semaphore 2.13, Time-HiRes 1.9741_01, Time-Local 1.25, Unicode-Collate 1.19, version 0.9917_02c, YAML::XS 0.75

Configuration and Compilation

d_llabs

Testing
Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

perl5241cdelta - what is new for cperl v5.24.1

DESCRIPTION
Notice
Security
@{ \327 \n } buffer overflows
eval "q" . chr(overlarge) stack overflow
Protect and warn on hash flood DoS
Warn on metasploit CVE-2015-1592
Warn on metasploit reverse shells
Performance Enhancements
Modules and Pragmata
Updated Modules and Pragmata

Cpanel::JSON::XS 3.027_03, Term::ReadKey 2.35, B 1.62_05, Storable 3.01c, Config 6.22, YAML::XS 0.73, List::Util 1.45_06, Sub::Util 1.45_06, ExtUtils::Liblist::Kid 8.04_06, IO::Socket::IP 0.38, Time::HiRes 1.9739, Socket 2.024_04, DynaLoader 2.05c, B-C 1.54_13, base 2.23_01

Diagnostics
New Diagnostics
Configuration and Compilation
Testing
Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

perl5240cdelta - what is new for cperl v5.24.0

DESCRIPTION
Core Enhancements

Keep the lexical topic feature, Proper signatures, Proper tailcalls, Less experimental needed, Improved fast arithmetic, keep CxFOREACHDEF removed with perl-5.24.0, 2 new OP members, many new public symbols needed for the compiler, better -Dt tracing, auto-created coretypes on demand, -flto support with ~10-20% performance win

Core Enhancements from Perl5

~20% performance improvements with a CX context system rewrite, DESTROY cache moved back from the stash to mro_meta

Security
DynaLoader format string hardening
No Unicode confusables +UFFA0, +U3164
XSLoader relative paths with eval or #line
Modules and Pragmata
New Modules and Pragmata

fake_signatures 0.01

Updated Modules and Pragmata

XSLoader 1.02c, Net::Cmd, Pod::Perldoc, Socket 2.021_02, DynaLoader 2.04c, B::C 1.54_08, B::Deparse 1.37_02c, Test::Simple 1.401014c, File-Path 3.12_01c, PathTools 4.63c, Pod-Simple 4.30c, Pod-Html 2.22c, bignum 0.42c, bigint 0.43c, bigrat 0.42c, CPAN, ExtUtils-MakeMaker, Parse-CPAN-Meta 1.5000c, CPAN-Meta 2.150005c, CPAN::Meta::Requirements 3.140c, Test-Harness 3.36, Hash-Util-FieldHash, YAML-LibYAML 0.70, Filter-Util-Call 0.92, IO-Compress, Devel-Peek 1.23, B 1.62_02, Devel-NYTProf 6.03, perl5db 1.49_04c, Digest::MD5 2.55_01, warnings 1.35, Archive::Tar 2.08, Config 6.21, Config::Perl::V 0.26_01, Cpanel::JSON::XS 3.0217, DB_File 1.838, Devel::PPPort 3.33_02, HTTP::Tiny 0.058, IPC::SysV 2.07, JSON::PP 2.27400, Locale::Codes 3.39, Math::BigInt 1.999722, Math::BigInt::FastCalc 0.42, Math::BigRat 0.260804, Module-Metadata 1.000031-TRIAL, libnet 3.08, Pod::Checker 1.73, Pod::Functions 1.11, Pod::Usage 1.69_01, Sys::Syslog 0.34, Time::HiRes 1.9733, Thread::Queue 3.11, threads 2.09, threads::shared 1.52, Term::ReadKey, Scalar-List-Utils 1.45_04, Data::Dumper 2.162

Not Updated Modules and Pragmata

MakeUtils::MakeMaker 7.11_06, Test2, version 0.9917

Diagnostics
New Diagnostics

Not enough arguments for %s, Invalid type %s for %s %s, Reference parameter cannot take default value, Subroutine signature has more than %d parameters, Wrong type %s, expected %s, Inserting type cast %s to %s, Useless use of :caller, did you mean :-caller instead?

Platform Support
Platform-Specific Notes

Win32, Darwin, Cygwin

Internal Changes
Selected Bug Fixes

handle method calls on protected stashes, fedora: Do not crash when inserting a non-stash into a stash, fedora: Do not treat %: as a stash, fedora: Fix precedence in hv_ename_delete, fedora: Do not use unitialized memory in $h{\const} warnings, fedora: Do not mangle errno from failed socket calls, fedora: Backport memory leak when compiling a regular expression with a POSIX class, suse: perl5.24.0.dif, suse: fix regexp backref overflows, suse: perl-saverecontext.diff RT#76538, Issues with (?0) being wrong in 5.24.0, reginsert recursion, locale race condition when switching to C for error messages, Fix crash with @a &.= etc, Fix leak in c?perl 5.24.0 with strict and regex posix char classes, Fix PERLIO=stdio dup on empty filehandle, Fix crash from empty curcop in gp_free/ckWARN_d, Fix crash when vivifying stub in deleted pkg

Acknowledgements
Reporting Bugs
SEE ALSO

perl5225cdelta - what is new for cperl v5.22.5

DESCRIPTION
Security
@{ \327 \n } buffer overflows
eval "q" . chr(overlarge) stack overflow
Set umask(0600) before calling mkstemp
Disallow illegal glob with embedded NUL
Follow chroot with chdir("/")
Modules and Pragmata
Updated Modules and Pragmata

Archive::Tar 2.26, B::C 1.55_06, B::Debug 1.26, bignum 0.47, Config 6.23, CPAN 2.18_01, CPAN::Meta 2.150010c, Cpanel::JSON::XS 3.0240, experimental 0.019_01c, ExtUtils::MM_Unix 8.04_04, ExtUtils::Liblist::Kid 8.04_06, HTTP::Tiny 0.070, IO 1.38, IO::Socket::IP 0.39, JSON::PP 2.97000_04, Math::BigInt 1.999811, Math::BigRat 0.2613, Module::CoreList 5.20180101c, parent 0.236, Perl::OSType 1.010, podlators 4.09, Pod::Perldoc 3.2801, Pod::Simple 3.35, Pod::Usage 1.69, Scalar::Util 1.49_10, SelfLoader 1.24, SelectSaver 1.02_01, Socket 2.024_02, Sys::Syslog 0.35, Term::ANSIColor 4.06, Term::ReadKey 2.37_03, Test::Harness 3.39, Thread::Queue 3.12, Thread::Semaphore 2.13, threads 2.18_01, threads::shared 1.57, Time::HiRes 1.9747_01, Time::Local 1.25, Time::Piece 1.3203, Unicode::Collate 1.25, version 0.9918_02c, YAML::LibYAML 0.75

Utility Changes
installperl
Testing
Internal Changes
Selected Bug Fixes

aelem_u: fix loop oob for padav, fixed -DH crash on clear, Check for null in pp_ghostent et al, DynaLoader::dl_find_symbol_anywhere

Acknowledgements
Reporting Bugs
SEE ALSO

perl5224cdelta - what is new for cperl v5.22.4

DESCRIPTION
Security
DynaLoader format string hardening
No Unicode confusables +UFFA0, +U3164
Modules and Pragmata
Updated Modules and Pragmata

B::C 1.54_08, B::Deparse 1.37_01c, Config::Perl::V 0.26_01, Cpanel::JSON::XS 3.0217, Devel::PPPort 3.33_02, Socket 2.021_02, DynaLoader 2.04c, Storable, Config 6.21, libnet 3.08, Pod::Checker 1.73, Devel-NYTProf, Digest-MD5

Utility Changes
installperl
Configuration and Compilation
Internal Changes
Selected Bug Fixes

handle method calls on protected stashes, Do not crash when inserting a non-stash into a stash, fedora: Fix precedence in hv_ename_delete, fedora: Do not use unitialized memory in $h{\const} warnings, fedora: Do not mangle errno from failed socket calls, fedora: Backport memory leak when compiling a regular expression with a POSIX class, suse: fix regexp backref overflows, suse: perl-saverecontext.diff RT#76538, locale race condition when switching to C for error messages, Fix crash with @a &.= etc, Fix PERLIO=stdio dup on empty filehandle, Fix crash from empty curcop in gp_free/ckWARN_d, Fix crash when vivifying stub in deleted pkg

Acknowledgements
Reporting Bugs
SEE ALSO

perl5223cdelta - what is new for cperl v5.22.3

DESCRIPTION
Core Enhancements
Modules and Pragmata
Updated Modules and Pragmata

Scalar-List-Utils 1.45_02, B-C 1.54_06, DynaLoader 2.02c

Selected Bug Fixes

Fix for my$var regression, Fix FETCH_type_ATTRIBUTES callbacks, Wrong "Can't find Unicode property definition" error

Acknowledgements
Reporting Bugs
SEE ALSO

perl5222cdelta - what is new for cperl v5.22.2

DESCRIPTION
Core Enhancements
Core Enhancements from Perl5
Modules and Pragmata
New Modules in Core

B-C 1.54_02, Cpanel-JSON-XS 3.0213, Devel-NYTProf 6.03, Internals-DumpArenas 0.12_03, YAML-LibYAML 0.70c, Term::ReadKey 2.33

Updated Modules and Pragmata

B::Debug 1.23_01, podlators 4.0.7, perlfaq 5.021011, if 0.0604, experimental 0.016, base 2.23, autouse 1.11, autodie 2.29, Win32API::File 0.1203, Unicode::Normalize 1.25, Unicode::Collate 1.14, Thread::Queue 3.07, Term::Cap 1.17, Term::ANSIColor 4.05, Pod::Simple 3.32, Perl::OSTyp 1.009, PathTools 3.62, Socket 2.021_01 (private), Net-Ping 2.50 (private), bignum 0.42, Math::BigInt::FastCalc 0.40, Math::BigRat 0.260802, Math::BigInt 1.999716, Locale::Codes 3.38, IPC::SysV 2.06, IPC::Cmd 0.94, Getopt::Long 2.48, File::Path 2.12, ExtUtils::ParseXS 3.30, ExtUtils::Command removed, ExtUtils::CBuilder 0.280224, Digest-MD5 2.55_01, Devel-PPPort 3.32_02, Config-Perl-V 0.25_01, Carp 1.38, CPAN-Meta-YAML 0.018, CPAN-Meta-Requirements 3.140c, Pod::Usage 1.68, Test::Harness 3.36, Filter::Util::Call 1.55, Scalar-List-Utils 1.45, Encode 2.84, Time::HiRes 1.9732, Storable 2.53_03, CPAN::Meta (private), Parse::CPAN::Meta (private), ExtUtils::Constant 0.23_03, Module::CoreList 5.20160225c, CPAN::Meta::Requirements (private), CPAN (private), ExtUtils::MakeMaker 8.04_03 (private), Config 6.19, B::Concise 0.998c, Pod::Simple, threads 2.02_01, ExtUtils::Embed 1.34c, Test::Harness, Time::HiRes 1.9727_02, XSLoader 1.01c, DynaLoader 2.01c, B 1.58_02, Safe 2.39_02c, version, constant 1.34, IPC::SysV, Scalar-List-Utils, IO-Compress, Compress-Raw-{Zlib,Bzip2} 2.069

Not Updated Modules and Pragmata

Pod::Checker 1.71, MakeUtils::MakeMaker 7.11_06, version 0.9916

Platform Support
Platform-Specific Notes

Win32, Darwin, Other

Selected Bug Fixes

Fix CVE-2016-2381 sanitize duplicate environ entries, Fix CVE-2012-3878 [RT#776270] module loading security weakness, uncow on utf8::encode [cperl #50], Fixed double-free with overlong names, esp. Moose [cperl #128], Fixed compilation with -DDEBUGGING and usethreads, Fixed ByteLoader [cperl #75], Fixed ck_pad: PADSV -> CONST corrupts OpSLOT, dump fix SEGV on DESTROY SvSTASH [cperl #59], dump fix assert on SvTAIL and !SvSCREAM, podcheck.t: no memory exhaustion, Fixed out-of-bounds access in dirp_dup(), S_incline avoid overrunning end of parse buffer, [perl #126481] panic for !! with syntax error in /(?[...])/, [perl #126325] don't read past the end of the source for pack [Hh], Enforce strict 'subs' in multideref optimisation, Configure: fix startperl and perlpath

Other
Acknowledgements
Reporting Bugs
SEE ALSO

perl5221cdelta - what is new for cperl v5.22.1

DESCRIPTION
Core Enhancements

coretypes (Int, UInt, Num, Str. lowercase native types accepted), types in signatures as designed and also as attribute, function return types declarations as attribute, new :pure function attributes, shaped arrays with compile-time checks and optims, static loop optims, fast arithmetic overflow, convert static method to subs, strict, attributes, DynaLoader, XSLoader as builtin packages, rewritten in C, changed default hash function to the fastest FNV1A, new enterxsssub OP, -DI and -Dk, add some unicode ops, improved build system, extended dump and Devel::Peek

Unicode 8.0 is now supported
Incompatible Changes
exceptions for i_modulo and i_divide with constants
integer constants behave now as under use integer
The /\C/ character class has been removed.
chdir('') no longer chdirs home
Modules and Pragmata
Updated Modules and Pragmata

strict, attributes, DynaLoader, XSLoader as builtin packages, Config as XS, Safe

Platform Support
Platform-Specific Notes

Win32

Selected Bug Fixes

don't fatalize warnings during unwinding, Ignore ENOTTY on open via the perlio buffer layer, hash keys keep the tainted info, fix ops using lexical $_, readonly packages can now be cloned with threads, fixed some crashing cornercases found by the AFL fuzzer or similar:

Acknowledgements
Reporting Bugs
SEE ALSO

perlartistic - the Perl Artistic License

SYNOPSIS
DESCRIPTION
The "Artistic License"
Preamble
Definitions

"Package", "Standard Version", "Copyright Holder", "You", "Reasonable copying fee", "Freely Available"

Conditions

a), b), c), d), a), b), c), d)

perlgpl - the GNU General Public License, version 1

SYNOPSIS
DESCRIPTION
GNU GENERAL PUBLIC LICENSE

perlaix - Perl version 5 on IBM AIX (UNIX) systems

DESCRIPTION
Compiling Perl 5 on AIX
Supported Compilers
Incompatibility with AIX Toolbox lib gdbm
Perl 5 was successfully compiled and tested on:
Building Dynamic Extensions on AIX
Using Large Files with Perl
Threaded Perl
64-bit Perl
Long doubles
Compiling Perl 5 on AIX 7.1.0
Compiling Perl 5 on older AIX versions up to 4.3.3
OS level
Building Dynamic Extensions on AIX < 5L
The IBM ANSI C Compiler
The usenm option
Using GNU's gcc for building Perl
Using Large Files with Perl < 5L
Threaded Perl < 5L
64-bit Perl < 5L
AIX 4.2 and extensions using C++ with statics
AUTHORS

perlamiga - Perl under AmigaOS 4.1

NOTE
SYNOPSIS
DESCRIPTION
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

Starting Perl programs under AmigaOS 4.1
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

INSTALLATION
Amiga Specific Modules
Amiga::ARexx
Amiga::Exec
BUILDING
CHANGES

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

SEE ALSO

perlandroid - Perl under Android

SYNOPSIS
DESCRIPTION
Cross-compilation
Get the Android Native Development Kit (NDK)
Determine the architecture you'll be cross-compiling for
Set up a standalone toolchain
adb or ssh?
Configure and beyond
Native Builds
AUTHOR

perlbs2000 - building and installing Perl for BS2000.

SYNOPSIS
DESCRIPTION
gzip on BS2000
bison on BS2000
Unpacking Perl Distribution on BS2000
Compiling Perl on BS2000
Testing Perl on BS2000
Installing Perl on BS2000
Using Perl in the Posix-Shell of BS2000
Using Perl in "native" BS2000
Floating point anomalies on BS2000
Using PerlIO and different encodings on ASCII and EBCDIC partitions
AUTHORS
SEE ALSO
Mailing list
HISTORY

perlce - Perl for WinCE

Building Perl for WinCE
WARNING
DESCRIPTION
General explanations on cross-compiling WinCE
CURRENT BUILD INSTRUCTIONS
OLD BUILD INSTRUCTIONS

Microsoft Embedded Visual Tools, Microsoft Visual C++, Rainer Keuchel's celib-sources, Rainer Keuchel's console-sources, go to ./win32 subdirectory, edit file ./win32/ce-helpers/compile.bat, run compile.bat, run compile.bat dist

Using Perl on WinCE
DESCRIPTION
LIMITATIONS
ENVIRONMENT

PERL5LIB, PATH, TMP, UNIXROOTPATH, ROWS/COLS, HOME, CONSOLEFONTSIZE

REGISTRY
XS
BUGS
INSTALLATION
ACKNOWLEDGEMENTS
History of WinCE port
AUTHORS

Rainer Keuchel <coyxc@rainer-keuchel.de>, Vadim Konovalov, Daniel Dragan

perlcygwin - Perl for Cygwin

SYNOPSIS
PREREQUISITES FOR COMPILING PERL ON CYGWIN
Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it)
Cygwin Configuration

PATH, nroff

CONFIGURE PERL ON CYGWIN
Stripping Perl Binaries on Cygwin
Optional Libraries for Perl on Cygwin

-lcrypt, -lgdbm_compat (use GDBM_File), -ldb (use DB_File), cygserver (use IPC::SysV), -lutil

Configure-time Options for Perl on Cygwin

-Uusedl, -Dusemymalloc, -Uuseperlio, -Dusemultiplicity, -Uuse64bitint, -Duselongdouble, -Uuseithreads, -Duselargefiles, -Dmksymlinks

Suspicious Warnings on Cygwin

Win9x and d_eofnblk, Compiler/Preprocessor defines

MAKE ON CYGWIN
TEST ON CYGWIN
File Permissions on Cygwin
NDBM_File and ODBM_File do not work on FAT filesystems
fork() failures in io_* tests
Specific features of the Cygwin port
Script Portability on Cygwin

Pathnames, Text/Binary, PerlIO, .exe, Cygwin vs. Windows process ids, Cygwin vs. Windows errors, rebase errors on fork or system, chown(), Miscellaneous

Prebuilt methods:

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
AUTHORS
HISTORY

perldos - Perl under DOS, W31, W95.

SYNOPSIS
DESCRIPTION
Prerequisites for Compiling Perl on DOS

DJGPP, Pthreads

Shortcomings of Perl under DOS
Building Perl on DOS
Testing Perl on DOS
Installation of Perl on DOS
BUILDING AND INSTALLING MODULES ON DOS
Building Prerequisites for Perl on DOS
Unpacking CPAN Modules on DOS
Building Non-XS Modules on DOS
Building XS Modules on DOS
AUTHOR
SEE ALSO

perlfreebsd - Perl version 5 on FreeBSD systems

DESCRIPTION
FreeBSD core dumps from readdir_r with ithreads
$^X doesn't always contain a full path in FreeBSD
AUTHOR

perlhaiku - Perl version 5.10+ on Haiku

DESCRIPTION
BUILD AND INSTALL
KNOWN PROBLEMS
CONTACT

perlhpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems

DESCRIPTION
Using perl as shipped with HP-UX
Using perl from HP's porting centre
Other prebuilt perl binaries
Compiling Perl 5 on HP-UX
PA-RISC
Portability Between PA-RISC Versions
PA-RISC 1.0
PA-RISC 1.1
PA-RISC 2.0
Itanium Processor Family (IPF) and HP-UX
Itanium, Itanium 2 & Madison 6
HP-UX versions
Building Dynamic Extensions on HP-UX
The HP ANSI C Compiler
The GNU C Compiler
Using Large Files with Perl on HP-UX
Threaded Perl on HP-UX
64-bit Perl on HP-UX
Oracle on HP-UX
GDBM and Threads on HP-UX
NFS filesystems and utime(2) on HP-UX
HP-UX Kernel Parameters (maxdsiz) for Compiling Perl
nss_delete core dump from op/pwent or op/grent
error: pasting ")" and "l" does not give a valid preprocessing token
Redeclaration of "sendpath" with a different storage class specifier
Miscellaneous
AUTHOR

perlhurd - Perl version 5 on Hurd

DESCRIPTION
Known Problems with Perl on Hurd
AUTHOR

perlirix - Perl version 5 on Irix systems

DESCRIPTION
Building 32-bit Perl in Irix
Building 64-bit Perl in Irix
About Compiler Versions of Irix
Linker Problems in Irix
Malloc in Irix
Building with threads in Irix
Irix 5.3
AUTHOR

perllinux - Perl version 5 on Linux systems

DESCRIPTION
Experimental Support for Sun Studio Compilers for Linux OS
AUTHOR

perlmacos - Perl under Mac OS (Classic)

SYNOPSIS
DESCRIPTION
AUTHOR

perlmacosx - Perl under Mac OS X

SYNOPSIS
DESCRIPTION
Installation Prefix
SDK support
Universal Binary support
64-bit PPC support
libperl and Prebinding
Updating Apple's Perl
Known problems
Cocoa
Starting From Scratch
AUTHOR
DATE

perlnetware - Perl for NetWare

DESCRIPTION
BUILD
Tools & SDK
Setup

SetNWBld.bat, Buildtype.bat

Make
Interpreter
Extensions
INSTALL
BUILD NEW EXTENSIONS
ACKNOWLEDGEMENTS
AUTHORS
DATE

perlopenbsd - Perl version 5 on OpenBSD systems

DESCRIPTION
OpenBSD core dumps from getprotobyname_r and getservbyname_r with ithreads
AUTHOR

perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT.

SYNOPSIS
DESCRIPTION
Target
Other OSes
Prerequisites

EMX, RSX, HPFS, pdksh

Starting Perl programs under OS/2 (and DOS and...)
Starting OS/2 (and DOS) programs under Perl
Frequently asked questions
"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.
Cannot start find.exe "pattern" file
INSTALLATION
Automatic binary installation

PERL_BADLANG, PERL_BADFREE, Config.pm

Manual binary installation

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
Accessing documentation
OS/2 .INF file
Plain text
Manpages
HTML
GNU info files
PDF files
LaTeX docs
BUILD
The short story
Prerequisites
Getting perl source
Application of the patches
Hand-editing
Making
Testing

A lot of bad free, Process terminated by SIGTERM/SIGINT, op/fs.t, 18, 25, op/stat.t

Installing the built perl
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
Build FAQ
Some / became \ in pdksh.
'errno' - unresolved external
Problems with tr or sed
Some problem (forget which ;-)
Library ... not found
Segfault in make
op/sprintf test failure
Specific (mis)features of OS/2 port
setpriority, getpriority
system()
extproc on the first line
Additional modules:
Prebuilt methods:

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]])

Prebuilt variables:

$OS2::emx_rev, $OS2::emx_env, $OS2::os_ver, $OS2::is_aout, $OS2::can_fork, $OS2::nsyserror

Misfeatures
Modifications

popen, tmpnam, tmpfile, ctermid, stat, mkdir, rmdir, flock

Identifying DLLs
Centralized management of resources

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

Perl flavors
perl.exe
perl_.exe
perl__.exe
perl___.exe
Why strange names?
Why dynamic linking?
Why chimera build?
ENVIRONMENT
PERLLIB_PREFIX
PERL_BADLANG
PERL_BADFREE
PERL_SH_DIR
USE_PERL_FLOCK
TMP or TEMP
Evolution
Text-mode filehandles
Priorities
DLL name mangling: pre 5.6.2
DLL name mangling: 5.6.2 and beyond

Global DLLs, specific DLLs, BEGINLIBPATH and ENDLIBPATH, . from LIBPATH

DLL forwarder generation
Threading
Calls to external programs
Memory allocation
Threads

COND_WAIT, os2.c

BUGS
AUTHOR
SEE ALSO

perlos390 - building and installing Perl for OS/390 and z/OS

SYNOPSIS
DESCRIPTION
Tools
Unpacking Perl distribution on OS/390
Setup and utilities for Perl on OS/390
Configure Perl on OS/390
Build, Test, Install Perl on OS/390
Build Anomalies with Perl on OS/390
Testing Anomalies with Perl on OS/390
Installation Anomalies with Perl on OS/390
Usage Hints for Perl on OS/390
Floating Point Anomalies with Perl on OS/390
Modules and Extensions for Perl on OS/390
AUTHORS
SEE ALSO
Mailing list for Perl on OS/390
HISTORY

perlos400 - Perl version 5 on OS/400

DESCRIPTION
Compiling Perl for OS/400 PASE
Installing Perl in OS/400 PASE
Using Perl in OS/400 PASE
Known Problems
Perl on ILE
AUTHORS

perlplan9 - Plan 9-specific documentation for Perl

DESCRIPTION
Invoking Perl
What's in Plan 9 Perl
What's not in Plan 9 Perl
Perl5 Functions not currently supported in Plan 9 Perl
Signals in Plan 9 Perl
COMPILING AND INSTALLING PERL ON PLAN 9
Installing Perl Documentation on Plan 9
BUGS
Revision date
AUTHOR

perlqnx - Perl version 5 on QNX

DESCRIPTION
Required Software for Compiling Perl on QNX4

/bin/sh, ar, nm, cpp, make

Outstanding Issues with Perl on QNX4
QNX auxiliary files

qnx/ar, qnx/cpp

Outstanding issues with perl under QNX6
Cross-compilation
AUTHOR

perlriscos - Perl version 5 for RISC OS

DESCRIPTION
BUILD
AUTHOR

perlsolaris - Perl version 5 on Solaris systems

DESCRIPTION
Solaris Version Numbers.
RESOURCES

Solaris FAQ, Precompiled Binaries, Solaris Documentation

SETTING UP
File Extraction Problems on Solaris.
Environment for Compiling perl on Solaris
RUN CONFIGURE.
64-bit perl on Solaris.
Threads in perl on Solaris.
Malloc Issues with perl on Solaris.
MAKE PROBLEMS.

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

MAKE TEST
op/stat.t test 4 in Solaris
nss_delete core dump from op/pwent or op/grent
CROSS-COMPILATION
PREBUILT BINARIES OF PERL FOR SOLARIS.
RUNTIME ISSUES FOR PERL ON SOLARIS.
Limits on Numbers of Open Files on Solaris.
SOLARIS-SPECIFIC MODULES.
SOLARIS-SPECIFIC PROBLEMS WITH MODULES.
Proc::ProcessTable on Solaris
BSD::Resource on Solaris
Net::SSLeay on Solaris
SunOS 4.x
AUTHOR

perlsymbian - Perl version 5 on Symbian OS

DESCRIPTION
Compiling Perl on Symbian
Compilation problems
PerlApp
sisify.pl
Using Perl in Symbian
TO DO
WARNING
NOTE
AUTHOR
COPYRIGHT
LICENSE
HISTORY

perlsynology - Perl 5 on Synology DSM systems

DESCRIPTION
Setting up the build environment
Compiling Perl 5
Known problems

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

Smoke testing Perl 5
Adding libraries
REVISION
AUTHOR

perltru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems

DESCRIPTION
Compiling Perl 5 on Tru64
Using Large Files with Perl on Tru64
Threaded Perl on Tru64
Long Doubles on Tru64
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
ext/ODBM_File/odbm Test Failing With Static Builds
Perl Fails Because Of Unresolved Symbol sockatmark
read_cur_obj_info: bad file magic number
AUTHOR

perlvms - VMS-specific documentation for Perl

DESCRIPTION
Installation
Organization of Perl Images
Core Images
Perl Extensions
Installing static extensions
Installing dynamic extensions
File specifications
Syntax
Filename Case
Wildcard expansion
Pipes
PERL5LIB and PERLLIB
The Perl Forked Debugger
PERL_VMS_EXCEPTION_DEBUG
Command line
I/O redirection and backgrounding
Command line switches

-i, -S, -u

Perl functions

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

Perl variables

%ENV, CRTL_ENV, CLISYM_[LOCAL], Any other string, $!, $^E, $?, $|

Standard modules with VMS-specific differences
SDBM_File
Revision date
AUTHOR

perlvos - Perl for Stratus OpenVOS

SYNOPSIS
BUILDING PERL FOR OPENVOS
INSTALLING PERL IN OPENVOS
USING PERL IN OPENVOS
Restrictions of Perl on OpenVOS
TEST STATUS
SUPPORT STATUS
AUTHOR
LAST UPDATE

perlwin32 - Perl under Windows

SYNOPSIS
DESCRIPTION

http://mingw.org, http://mingw-w64.org

Setting Up Perl on Windows

Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2008-2017 Express/Community Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, GCC, MinGW from strawberry perl, Intel C++ Compiler

Building
Testing Perl on Windows
Installation of Perl on Windows
Usage Hints for 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
ACKNOWLEDGEMENTS
AUTHORS

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>, Reini Urban <rurban@cpan.org>

SEE ALSO
HISTORY
DESCRIPTION
DESCRIPTION
DESCRIPTION
DESCRIPTION
DESCRIPTION
DESCRIPTION

cperl - A Perl 5 variant with classes

SYNOPSIS
GETTING HELP
Overview
Tutorials
Reference Manual
Internals and C Language Interface
Miscellaneous
Language-Specific
Platform-Specific
Stubs for Deleted Documents
DESCRIPTION
AVAILABILITY
ENVIRONMENT
AUTHOR
FILES
SEE ALSO
DIAGNOSTICS
BUGS
NOTES

PRAGMA DOCUMENTATION

arybase - Set indexing base via $[

SYNOPSIS
DESCRIPTION
HISTORY
BUGS
SEE ALSO

attributes - get/set subroutine or variable attributes

SYNOPSIS
DESCRIPTION
What import does
Built-in Attributes

lvalue, method, prototype(..), const, Int, Uint, Num, Str, int, uint, num, str, native =item native(STRING) =item native(STRING, INT or STRING), symbol(STRING), encoded(STRING), nativeconv(STRING), Any other name, shared, const, Int, Uint, Num, Str, int, uint, num, str

Available Subroutines

get, reftype

Package-specific Attribute Handling

CHECK_type_ATTRIBUTES, FETCH_type_ATTRIBUTES, MODIFY_type_ATTRIBUTES

Syntax of Attribute Lists
EXPORTS
Default exports
Available exports
Export tags defined
EXAMPLES
MORE EXAMPLES
SEE ALSO

autodie - Replace functions with ones that succeed or die with lexical scope

SYNOPSIS
DESCRIPTION
EXCEPTIONS
CATEGORIES
FUNCTION SPECIFIC NOTES
print
flock
system/exec
GOTCHAS
DIAGNOSTICS

:void cannot be used with lexical scope, No user hints defined for %s

BUGS
autodie and string eval
REPORTING BUGS
FEEDBACK
AUTHOR
LICENSE
SEE ALSO
ACKNOWLEDGEMENTS

autodie::Scope::Guard - Wrapper class for calling subs at end of scope

SYNOPSIS
DESCRIPTION
Methods
AUTHOR
LICENSE

autodie::Scope::GuardStack - Hook stack for managing scopes via %^H

SYNOPSIS
DESCRIPTION
Methods
AUTHOR
LICENSE

autodie::Util - Internal Utility subroutines for autodie and Fatal

SYNOPSIS
DESCRIPTION
Methods
AUTHOR
LICENSE

autodie::exception - Exceptions from autodying functions.

SYNOPSIS
DESCRIPTION
Common Methods
Advanced methods
SEE ALSO
LICENSE
AUTHOR

autodie::exception::system - Exceptions from autodying system().

SYNOPSIS
DESCRIPTION
stringify
LICENSE
AUTHOR

autodie::hints - Provide hints about user subroutines to autodie

SYNOPSIS
DESCRIPTION
Introduction
What are hints?
Example hints
Manually setting hints from within your program
Adding hints to your module
Insisting on hints
Diagnostics

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

ACKNOWLEDGEMENTS
AUTHOR
LICENSE
SEE ALSO

autodie::skip - Skip a package when throwing autodie exceptions

SYNPOSIS
DESCRIPTION
AUTHOR
LICENSE
SEE ALSO

autouse - postpone load of modules until a function is used

SYNOPSIS
DESCRIPTION
WARNING
AUTHOR
SEE ALSO

base - Establish an ISA relationship with base classes at compile time

SYNOPSIS
DESCRIPTION
DIAGNOSTICS

Base class package "%s" is empty, Class 'Foo' tried to inherit from itself

HISTORY
CAVEATS
SEE ALSO

bigint - Transparent BigInteger support for Perl

SYNOPSIS
DESCRIPTION
use integer vs. use bigint
Options

a or accuracy, p or precision, t or trace, hex, oct, l, lib, try or only, v or version

Math Library
Internal Format
Sign
Method calls
Methods

inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()

CAVEATS

Operator vs literal overloading, ranges, in_effect(), hex()/oct()

MODULES USED
EXAMPLES
BUGS
SUPPORT
LICENSE
SEE ALSO
AUTHORS

bignum - Transparent BigNumber support for Perl

SYNOPSIS
DESCRIPTION
Options

a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version

Methods
Caveats

inf(), NaN(), e, PI(), bexp(), bpi(), upgrade(), in_effect()

Math Library
INTERNAL FORMAT
SIGN
CAVEATS

Operator vs literal overloading, in_effect(), hex()/oct()

MODULES USED
EXAMPLES
BUGS
SUPPORT

RT: CPAN's request tracker, AnnoCPAN: Annotated CPAN documentation, CPAN Ratings, Search CPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

bigrat - Transparent BigNumber/BigRational support for Perl

SYNOPSIS
DESCRIPTION
Modules Used
Math Library
Sign
Methods

inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()

MATH LIBRARY
Caveat
Options

a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version

CAVEATS

Operator vs literal overloading, in_effect(), hex()/oct()

EXAMPLES
BUGS
SUPPORT
LICENSE
SEE ALSO
AUTHORS

blib - Use MakeMaker's uninstalled version of a package

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

bytes - Perl pragma to expose the individual bytes of characters

NOTICE
SYNOPSIS
DESCRIPTION
LIMITATIONS
SEE ALSO

charnames - access to Unicode character names and named character sequences; also define character names

SYNOPSIS
DESCRIPTION
LOOSE MATCHES
ALIASES
CUSTOM ALIASES
charnames::string_vianame(name)
charnames::vianame(name)
charnames::viacode(code)
CUSTOM TRANSLATORS
BUGS

constant - Perl pragma to declare constants

SYNOPSIS
DESCRIPTION
NOTES
List constants
Defining multiple constants at once
Magic constants
TECHNICAL NOTES
CAVEATS
SEE ALSO
BUGS
AUTHORS

cperl - Perl pragma to protect from using unsupported cperl syntax

SYNOPSIS
DESCRIPTION

type in signatures in prefix position, :const with other types than anonsubs

deprecate - Perl pragma for deprecating the core version of a module

SYNOPSIS
DESCRIPTION
EXPORT
SEE ALSO
AUTHOR

diagnostics, splain - produce verbose warning diagnostics

SYNOPSIS
DESCRIPTION
The diagnostics Pragma
The splain Program
EXAMPLES
INTERNALS
BUGS
AUTHOR

encoding - allows you to write your script in non-ASCII and non-UTF-8

WARNING
SYNOPSIS
DESCRIPTION

use encoding ['ENCNAME'] ;, use encoding ENCNAME Filter=>1;, no encoding;

OPTIONS
Setting STDIN and/or STDOUT individually
The :locale sub-pragma
CAVEATS
SIDE EFFECTS
DO NOT MIX MULTIPLE ENCODINGS
Prior to Perl v5.22
Prior to Encode version 1.87
Prior to Perl v5.8.1

"NON-EUC" doublebyte encodings, tr///, Legend of characters above

EXAMPLE - Greekperl
BUGS

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"

HISTORY
SEE ALSO

encoding::warnings - Warn on implicit encoding conversions

VERSION
SYNOPSIS
DESCRIPTION
Overview of the problem
Detecting the problem
Solving 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

CAVEATS
SEE ALSO
AUTHORS
COPYRIGHT

experimental - Experimental features made easy

VERSION
SYNOPSIS
DESCRIPTION

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, const_attr - allow the :const attribute on subs, 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, including in 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, win32_perlio - allows the use of the :win32 IO layer

Ordering matters
Disclaimer
SEE ALSO
AUTHOR

fake_signatures - disallow fake signature optimizations

SYNOPSIS
DESCRIPTION
Diagnostics

feature - Perl pragma to enable new features

SYNOPSIS
DESCRIPTION
Lexical effect
no feature
AVAILABLE FEATURES
The 'say' feature
The 'state' feature
The 'switch' feature
The 'unicode_strings' feature
The 'unicode_eval' and 'evalbytes' features
The 'current_sub' feature
The 'array_base' feature
The 'fc' feature
The 'lexical_subs' feature
The 'postderef' and 'postderef_qq' features
The 'signatures' feature
The 'refaliasing' feature
The 'bitwise' feature
The 'shaped_arrays' feature
The 'declared_refs' feature
FEATURE BUNDLES
IMPLICIT LOADING

ffi - extern sub types and helpers

SYNOPSIS
DESCRIPTION
COPY vs SHARE

fields - compile-time class fields

SYNOPSIS
DESCRIPTION

new, phash

CPERL METHODS

name, package, const, type, get_value, set_value

CAVEATS
SEE ALSO

filetest - Perl pragma to control the filetest permission operators

SYNOPSIS
DESCRIPTION
Consider this carefully
The "access" sub-pragma
Limitation with regard to _

hashiter - allow destructive hash iterators

SYNOPSIS
DESCRIPTION

if - use a Perl module if a condition holds

SYNOPSIS
DESCRIPTION
use if
no if
BUGS
SEE ALSO
AUTHOR

integer - Perl pragma to use integer arithmetic instead of floating point

SYNOPSIS
DESCRIPTION

less - perl pragma to request less of something

SYNOPSIS
DESCRIPTION
FOR MODULE AUTHORS
BOOLEAN = less->of( FEATURE )
FEATURES = less->of()
CAVEATS

This probably does nothing, This works only on 5.10+

lib - manipulate @INC at compile time

SYNOPSIS
DESCRIPTION
Adding directories to @INC
Deleting directories from @INC
Restoring original @INC
CAVEATS
NOTES
SEE ALSO
AUTHOR

locale - Perl pragma to use or avoid POSIX locales for built-in operations

WARNING
SYNOPSIS
DESCRIPTION

mro - Method Resolution Order

SYNOPSIS
DESCRIPTION
OVERVIEW
The C3 MRO
What is C3?
How does C3 work
Functions
mro::get_linear_isa($classname[, $type])
mro::set_mro ($classname, $type)
mro::get_mro($classname)
mro::get_isarev($classname)
mro::is_universal($classname)
mro::invalidate_all_method_caches()
mro::method_changed_in($classname)
mro::get_pkg_gen($classname)
next::method
next::can
maybe::next::method
SEE ALSO
The original Dylan paper

"/citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1 &type=pdf" in http:

Pugs
Parrot

http://use.perl.org/~autrijus/journal/25768

http://www.python.org/2.3/mro.html, http://www.python.org/2.2.2/descrintro.html#mro

Class::C3

Class::C3

AUTHOR

ok - Alternative to Test::More::use_ok

SYNOPSIS
DESCRIPTION
CC0 1.0 Universal

open - perl pragma to set default PerlIO layers for input and output

SYNOPSIS
DESCRIPTION
NONPERLIO FUNCTIONALITY
IMPLEMENTATION DETAILS
SEE ALSO

ops - Perl pragma to restrict unsafe operations when compiling

SYNOPSIS
DESCRIPTION
SEE ALSO

overload - Package for overloading Perl operations

SYNOPSIS
DESCRIPTION
Fundamentals
Overloadable Operations

not, neg, ++, --, Assignments, Non-mutators with a mutator variant, int, String, numeric, boolean, and regexp conversions, Iteration, File tests, Matching, Dereferencing, Special

Magic Autogeneration
Special Keys for use overload

defined, but FALSE, undef, TRUE

How Perl Chooses an Operator Implementation
Losing Overloading
Inheritance and Overloading

Method names in the use overload directive, Overloading of an operation is inherited by derived classes

Run-time Overloading
Public Functions

overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)

Overloading Constants

integer, float, binary, q, qr

IMPLEMENTATION
COOKBOOK
Two-face Scalars
Two-face References
Symbolic Calculator
Really Symbolic Calculator
AUTHOR
SEE ALSO
DIAGNOSTICS

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

overloading - perl pragma to lexically control overloading

SYNOPSIS
DESCRIPTION

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

parent - Establish an ISA relationship with base classes at compile time

SYNOPSIS
DESCRIPTION
HISTORY
CAVEATS
SEE ALSO
AUTHORS AND CONTRIBUTORS
MAINTAINER
LICENSE

re - Perl pragma to alter regular expression behaviour

SYNOPSIS
DESCRIPTION
'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, OFFSETS, OFFSETSDBG, Other useful flags, ALL, All, MORE, More

Exportable Functions

is_regexp($ref), regexp_pattern($ref), regmust($ref), regname($name,$all), regnames($all), regnames_count()

SEE ALSO

sigtrap - Perl pragma to enable simple signal handling

SYNOPSIS
DESCRIPTION
OPTIONS
SIGNAL HANDLERS

stack-trace, die, handler your-handler

SIGNAL LISTS

normal-signals, error-signals, old-interface-signals

OTHER

untrapped, any, signal, number

EXAMPLES

sort - perl pragma to control sort() behaviour

SYNOPSIS
DESCRIPTION
CAVEATS

strict - Perl pragma to restrict unsafe constructs

SYNOPSIS
DESCRIPTION

strict refs, strict vars, strict subs, strict hashpairs

HISTORY

subs - Perl pragma to predeclare sub names

SYNOPSIS
DESCRIPTION

threads - Perl interpreter-based threads

VERSION
WARNING
SYNOPSIS
DESCRIPTION

$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()

EXITING A THREAD

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)

THREAD STATE

$thr->is_running(), $thr->is_joinable(), $thr->is_detached(), threads->is_detached()

THREAD CONTEXT
Explicit context
Implicit context
$thr->wantarray()
threads->wantarray()
THREAD STACK SIZE

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)

THREAD SIGNALLING

$thr->kill('SIG...');

WARNINGS

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

ERRORS

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

REQUIREMENTS
SEE ALSO
AUTHOR
LICENSE
ACKNOWLEDGEMENTS

threads::shared - Perl extension for sharing data structures between threads

VERSION
SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS

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

OBJECTS
NOTES
WARNINGS

cond_broadcast() called on unlocked variable, cond_signal() called on unlocked variable

BUGS AND LIMITATIONS
SEE ALSO
AUTHOR
LICENSE

types - warn on type violations

SYNOPSIS
DESCRIPTION

utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code

SYNOPSIS
DESCRIPTION
Valid scripts
Utility functions

$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), $bool = utf8::valid_script($script), @scripts = utf8::script_aliases($alias), add_script_alias($alias, @scripts)

BUGS
SEE ALSO

vars - Perl pragma to predeclare global variable names

SYNOPSIS
DESCRIPTION

version - Perl extension for Version Objects

SYNOPSIS
DESCRIPTION
TYPES OF VERSION OBJECTS

Decimal Versions, Dotted Decimal Versions

DECLARING VERSIONS
How to convert a module from decimal to dotted-decimal
How to declare() a dotted-decimal version
PARSING AND COMPARING VERSIONS
How to parse() a version

is_lax(), is_strict()

How to compare version objects
OBJECT METHODS
is_alpha()
is_qv()
normal()
numify()
stringify()
EXPORTED FUNCTIONS
qv()
is_lax()
is_strict()
AUTHOR
SEE ALSO

version::Internals - Perl extension for Version Objects

DESCRIPTION
WHAT IS A VERSION?

Decimal Versions, Dotted-Decimal Versions

Decimal Versions
Dotted-Decimal Versions
Alpha Versions
cperl suffix
Regular Expressions for Version Parsing

$version::LAX, $version::STRICT, v1.234.5

IMPLEMENTATION DETAILS
Equivalence between Decimal and Dotted-Decimal Versions
Quoting Rules
What about v-strings?
Version Object Internals

original, qv, alpha, version, cperl

Replacement UNIVERSAL::VERSION
USAGE DETAILS
Using modules that use version.pm

Decimal versions always work, Dotted-Decimal version work sometimes

Object Methods

new(), qv(), Normal Form, Numification, Stringification, Comparison operators, Logical Operators

AUTHOR
SEE ALSO

vmsish - Perl pragma to control VMS-specific language features

SYNOPSIS
DESCRIPTION

vmsish status, vmsish exit, vmsish time, vmsish hushed

SYNOPSIS
DESCRIPTION
Default Warnings and Optional Warnings
What's wrong with -w and $^W
Controlling Warnings from the Command Line

-w , -W , -X

Backward Compatibility
Category Hierarchy
Fatal Warnings
Reporting Warnings from a Module
FUNCTIONS

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)

warnings::register - warnings import function

SYNOPSIS
DESCRIPTION

MODULE DOCUMENTATION

AnyDBM_File - provide framework for multiple DBMs

SYNOPSIS
DESCRIPTION
DBM Comparisons

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

SEE ALSO

App::Cpan - easily interact with CPAN from the command line

SYNOPSIS
DESCRIPTION
Options

-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

Examples
Environment variables

NONINTERACTIVE_TESTING, PERL_MM_USE_DEFAULT, CPAN_OPTS, CPANSCRIPT_LOGLEVEL, GIT_COMMAND

Methods

run()

EXIT VALUES
TO DO
BUGS
SEE ALSO
SOURCE AVAILABILITY
CREDITS
AUTHOR
COPYRIGHT

App::Prove - Implements the prove command.

VERSION
DESCRIPTION
SYNOPSIS
METHODS
Class Methods
Attributes

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

PLUGINS
Sample Plugin
SEE ALSO

App::Prove::State - State storage for the prove command.

VERSION
DESCRIPTION
SYNOPSIS
METHODS
Class Methods

store, extensions (optional), result_class (optional)

result_class
extensions
results
commit
Instance Methods

last, failed, passed, all, hot, todo, slow, fast, new, old, save

App::Prove::State::Result - Individual test suite results.

VERSION
DESCRIPTION
SYNOPSIS
METHODS
Class Methods
state_version
test_class

App::Prove::State::Result::Test - Individual test results.

VERSION
DESCRIPTION
SYNOPSIS
METHODS
Class Methods
Instance Methods

Archive::Tar - module for manipulations of tar archives

SYNOPSIS
DESCRIPTION
Object Methods
Archive::Tar->new( [$file, $compressed] )
$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
Archive::Tar->create_archive($file, $compressed, @filelist)
Archive::Tar->iter( $filename, [ $compressed, {opt => $val} ] )
Archive::Tar->list_archive($file, $compressed, [\@properties])
Archive::Tar->extract_archive($file, $compressed)
$bool = Archive::Tar->has_io_string
$bool = Archive::Tar->has_perlio
$bool = Archive::Tar->has_zlib_support
$bool = Archive::Tar->has_bzip2_support
Archive::Tar->can_handle_compressed_files
GLOBAL VARIABLES
$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
FAQ

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?

CAVEATS
TODO

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

SEE ALSO

The GNU tar specification, The PAX format specification, A comparison of GNU and POSIX tar standards; http://www.delorie.com/gnu/docs/tar/tar_114.html, GNU tar intends to switch to POSIX compatibility, A Comparison between various tar implementations

AUTHOR
ACKNOWLEDGEMENTS
COPYRIGHT

Archive::Tar::File - a subclass for in-memory extracted file from Archive::Tar

SYNOPSIS
DESCRIPTION
Accessors

name, mode, uid, gid, size, mtime, chksum, type, linkname, magic, version, uname, gname, devmajor, devminor, prefix, raw

Methods
Archive::Tar::File->new( file => $path )
Archive::Tar::File->new( data => $path, $data, $opt )
Archive::Tar::File->new( chunk => $chunk )
$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])
Convenience methods

$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

Attribute::Handlers - Simpler definition of attribute handlers

VERSION
SYNOPSIS
DESCRIPTION

[0], [1], [2], [3], [4], [5], [6], [7]

Typed lexicals
Type-specific attribute handlers
Non-interpretive attribute handlers
Phase-specific attribute handlers
Attributes as tie interfaces
EXAMPLES
UTILITY FUNCTIONS

findsym

DIAGNOSTICS

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

AUTHOR
BUGS

AutoLoader - load subroutines only on demand

SYNOPSIS
DESCRIPTION
Subroutine Stubs
Using AutoLoader's AUTOLOAD Subroutine
Overriding AutoLoader's AUTOLOAD Subroutine
Package Lexicals
Not Using AutoLoader
AutoLoader vs. SelfLoader
Forcing AutoLoader to Load a Function
CAVEATS
SEE ALSO
AUTHOR

AutoSplit - split a package for autoloading

SYNOPSIS
DESCRIPTION

$keep, $check, $modtime

Multiple packages
DIAGNOSTICS
AUTHOR

B - The Perl Compiler Backend

SYNOPSIS
DESCRIPTION
OVERVIEW
Utility Functions
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

Exported utility variables

@optype, @specialsv_name

OVERVIEW OF CLASSES
B::SV Methods

REFCNT, FLAGS, object_2svref

B::IV Methods

IV, IVX, UVX, int_value, needs64bits, packiv

B::NV Methods

NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH

B::RV Methods

RV

B::PV Methods

PV, RV, PVX, CUR, LEN

B::PVMG Methods

MAGIC, SvSTASH

B::MAGIC Methods

MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX

B::PVLV Methods

TARGOFF, TARGLEN, TYPE, TARG

B::BM Methods

USEFUL, PREVIOUS, RARE, TABLE

B::REGEXP Methods

REGEX, precomp, qr_anoncv, compflags

B::GV Methods

is_empty, NAME, SAFENAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE, FILEGV, GvREFCNT, FLAGS, GPFLAGS

B::IO Methods

LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD

B::AV Methods

FILL, MAX, ARRAY, ARRAYelt, OFF, AvFLAGS

B::CV Methods

STASH, START, ROOT, GV, PUREGV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, HSCXT, XSUB, XSUBANY, CvFLAGS, const_sv, NAME_HEK, SIGOP

B::HV Methods

FILL, MAX, KEYS, RITER, NAME, ARRAY, PMROOT, STATIC, CLASS, ROLE, Gv_AMG, ENAMES, name_count

B::HE Methods

VAL, SVKEY_force, SVKEY, KEY, HASH, KLEN, FLAGS, UTF8, KWASUTF8, STATIC

B::RHE Methods

HASH, fetch key

B::OP Methods

next, sibling, parent, name, ppaddr, desc, targ, type, opt, flags, private, spare

B::UNOP Method

first

B::UNOP_AUX Methods (since 5.22)

aux_list(cv), string(cv), aux

B::BINOP Method

last

B::LOGOP Method

other

B::LISTOP Method

children

B::PMOP Methods

pmreplroot, pmreplstart, pmnext, pmflags, extflags, precomp, pmoffset, code_list, pmregexp

B::SVOP Methods

sv, gv

B::PADOP Method

padix

B::PVOP Method

pv

B::LOOP Methods

redoop, nextop, lastop

B::COP Methods

label, stash, stashpv, stashoff (threaded only), file, cop_seq, arybase, line, warnings, io, hints, hints_hash

B::METHOP Methods (Since Perl 5.22)

first, meth_sv

B::PADLIST Methods

MAX, ARRAY, ARRAYelt, NAMES, REFCNT, id, outid

B::PADNAMELIST Methods

MAX, ARRAY, ARRAYelt, REFCNT, MAXNAMED

B::PADNAME Methods

PV, PVX, LEN, REFCNT, FLAGS, TYPE, SvSTASH, OURSTASH, PROTOCV, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH, PARENT_PAD_INDEX, PARENT_FAKELEX_FLAGS, GEN

$B::overlay
AUTHOR

B::Asmdata - Autogenerated data about Perl ops, used to generate bytecode

SYNOPSIS
DESCRIPTION

%insn_data, @insn_name, @optype, @specialsv_name

PORTABILITY
CROSS-PLATFORM PORTABILITY
CROSS-VERSION PORTABILITY (TODO - HARD)
AUTHOR

B::Assembler - Assemble Perl bytecode

SYNOPSIS
DESCRIPTION
AUTHORS

B::Bblock - Walk basic blocks

SYNOPSIS
DESCRIPTION
OPTIONS
Functions

find_leaders

AUTHOR

B::Bytecode - Perl compiler's bytecode backend

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS

-H, -i includeall, -b savebegin, -k, -ooutfile, -s, -S, -m, -upackage, -Ffile, -q, -v, -TI, -TF cop file, -Do, -DM, -DG, -DA

KNOWN BUGS
NOTICE
AUTHORS

B::C - Perl compiler's C backend

SYNOPSIS
DESCRIPTION
OPTIONS

-ofilename, -c, -mPackagename (NYI), -ninit_name, -v, --, -uPackage "use Package", -UPackage "unuse" skip Package, -staticxs, -D[OPTIONS], -Dfull, -Do, -DO, -DS, -DP, -Dc, -DA, -DH, -DC, -DG, -DM, -DR, -Dp, -Ds, -DF, -DW, -Du, -Dr, -fOPTIM, -fcog (Ignored), -fav-init, -fav-init2, -fppaddr, -fwarn-sv, -fro-inc, -fsave-data, -fcow, -fconst-strings, -fno-destruct, -fno-walkall, -fno-save-sig-hash, -fno-fold (since 5.14), -fno-warnings (since 5.14), -fstash, -fno-delete-pkg, -fuse-script-name, -fno-dyn-padlist, -fcop, -On, -O0, -O1, -O2, -O3, -O4, -llimit, -e ARG

EXAMPLES
CAVEAT

Warning: Problem with require "$name" - $INC{file.pm}, Warning: C.xs PMOP missing for QR, Warning: DynaLoader broken with 5.15.2-5.15.3, Warning: __DATA__ handle $fullname not stored. Need -O2 or -fsave-data, Warning: Write BEGIN-block $fullname to FileHandle $iotype \&$fd, Warning: Read BEGIN-block $fullname from FileHandle $iotype \&$fd, Warning: -o argument ignored with -c, Warning: unresolved $section symbol s\\xxx

BUGS
AUTHOR
SEE ALSO

B::CC - Perl compiler's optimized C translation backend

SYNOPSIS
DESCRIPTION
OPTIONS

-ofilename, -c, -v, --, -uPackname, -UPackname "unuse" skip Package, -mModulename, -nInitname, -strict, -On, -fOPTIM, -ffreetmps-each-bblock, -ffreetmps-each-loop, -faelem, -fno-inline-ops, -fomit-taint, -fslow-signals, -fno-name-magic, -ftype-attr (DOES NOT WORK YET), -fno-autovivify, -fno-magic, -D, -Dr, -DO, -DT, -Dc, -Dw, -Da, -Dq, -Dl, -Dt, -DF

NOTABLE FUNCTIONS
cc_queue
save_or_restore_lexical_state
load_pad
label
EXAMPLES
TYPES
BUGS
DIFFERENCES
Loops
Context of ".."
Arithmetic
Deprecated features
AUTHORS

B::Concise - Walk Perl syntax tree, printing concise info about ops

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS
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

Other options

-src, -stash="somepackage", -main, -nomain, -nobanner, -banner, -banneris => subref

Option Stickiness
ABBREVIATIONS
OP class abbreviations
OP flags abbreviations
FORMATTING SPECIFICATIONS
Special Patterns

(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, #seqnum, #opt, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum

One-Liner Command tips

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::)->()'

Using B::Concise outside of the O framework
Example: Altering Concise Renderings
set_style()
set_style_standard($name)
add_style ()
add_callback ()
Running B::Concise::compile()
B::Concise::reset_sequence()
Errors
AUTHOR

B::Deparse - Perl compiler backend to produce perl code

SYNOPSIS
DESCRIPTION
OPTIONS

-d, -fFILE, -l, -p, -P, -q, -sLETTERS, C, iNUMBER, T, vSTRING., -xLEVEL

USING B::Deparse AS A MODULE
Synopsis
Description
new
ambient_pragmas

strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits, %^H

coderef2text
BUGS
AUTHOR

B::Disassembler - Disassemble Perl bytecode

SYNOPSIS
DESCRIPTION
disassemble_fh (filehandle, printer_coderef, [ verbose ])
get_header
AUTHORS

B::Op_private - OP op_private flag definitions

SYNOPSIS
DESCRIPTION
%bits
%defines
%labels
%ops_using

B::Showlex - Show lexical variables used in functions or files

SYNOPSIS
DESCRIPTION
EXAMPLES
OPTIONS
SEE ALSO
TODO
AUTHOR

B::Stackobj - Stack and type annotation helper module for the CC backend

SYNOPSIS
DESCRIPTION
AUTHOR

B::Stash - show what stashes are loaded

DESCRIPTION
SYNOPSIS
AUTHOR
SEE ALSO

B::Terse - Walk Perl syntax tree, printing terse info about ops

SYNOPSIS
DESCRIPTION
AUTHOR

B::Xref - Generates cross reference reports for Perl programs

SYNOPSIS
DESCRIPTION

i, &, s, r

OPTIONS

-oFILENAME, -r, -d, -D[tO]

BUGS
AUTHOR

B::perlcompile, perlcompile - Introduction to the Perl Compiler-Translator

DESCRIPTION
Layout

The B::Bytecode backend, The B::C backend, The B::CC backend, B::Lint, B::Deparse, B::Xref

Using The Backends
The Cross Referencing Backend

i, &, s, r

The Decompiling Backend
The Lint Backend
The Simple C Backend
The Bytecode Backend
The Optimized C Backend
Backends For Debugging
Module List for the Compiler Suite

B, O, ByteLoader, B::Asmdata, B::Assembler, B::Bblock, B::Bytecode, B::C, B::CC, B::Concise, B::Debug, B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Terse, B::Xref

KNOWN PROBLEMS
Other perl to exe compilers
AUTHOR
SEE ALSO

B::perloptree, perloptree - The Perl op tree

DESCRIPTION
Brief Summary
The Compiler
Compile pass 1: check routines and constant folding
Compile pass 2: context propagation
Compile pass 3: peephole optimization
basic vs exec order
OP Structure and Inheritance
OP Class Declarations in opcode.pl
BASEOP

op_next, op_sibling, op_ppaddr, op_madprop, op_targ, op_type, op_opt, op_latefree, op_latefreed, op_attached, op_spare, op_static, op_flags, op_private

UNOP
BINOP
LOGOP
LISTOP
PMOP
SVOP
PADOP
PVOP
LOOP
COP
BASEOP_OR_UNOP
FILESTATOP
LOOPEXOP
OP Definition Example
Check Functions
Constant Folding
Lexical Pragmas
Examples
Call a subroutine
Call a method
Hooks
Special execution blocks BEGIN, CHECK, UNITCHECK, INIT, END
B and O module. The perl compiler.
MAD
Pluggable runops
SEE ALSO
Internal and external modifications
Modules
Various Articles
Conclusion

Benchmark - benchmark running times of Perl code

SYNOPSIS
DESCRIPTION
Methods

new, debug, iters

Standard Exports

timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ), timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] )

Optional Exports

clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUNT, CODEHASHREF, [ STYLE ] ), cmpthese ( RESULTSHASHREF, [ STYLE ] ), countit(TIME, CODE), disablecache ( ), enablecache ( ), timesum ( T1, T2 )

:hireswallclock
Benchmark Object

cpu_p, cpu_c, cpu_a, real, iters

NOTES
EXAMPLES
INHERITANCE
CAVEATS
SEE ALSO
AUTHORS
MODIFICATION HISTORY

ByteLoader - load byte compiled perl code

SYNOPSIS
DESCRIPTION
AUTHOR
SEE ALSO

CORE - Namespace for Perl's core routines

SYNOPSIS
DESCRIPTION
OVERRIDING CORE FUNCTIONS
AUTHOR
SEE ALSO

CPAN - query, download and build perl modules from CPAN sites

SYNOPSIS
DESCRIPTION
CPAN::shell([$prompt, $command]) Starting Interactive Mode

Searching for authors, bundles, distribution files and modules, get, make, test, install, clean modules or distributions, readme, perldoc, look module or distribution, ls author, ls globbing_expression, failed, Persistence between sessions, The force and the fforce pragma, Lockfile, Signals

CPAN::Shell
autobundle
hosts

install_tested, is_tested

mkmyconfig
r [Module|/Regexp/]...
recent ***EXPERIMENTAL COMMAND***
recompile
report Bundle|Distribution|Module
smoke ***EXPERIMENTAL COMMAND***
upgrade [Module|/Regexp/]...
The four CPAN::* Classes: Author, Bundle, Module, Distribution
Integrating local directories
Redirection
Plugin support ***EXPERIMENTAL***
CONFIGURATION

completion support, displaying some help: o conf help, displaying current values: o conf [KEY], changing of scalar values: o conf KEY VALUE, changing of list values: o conf KEY SHIFT|UNSHIFT|PUSH|POP|SPLICE|LIST, reverting to saved: o conf defaults, saving the config: o conf commit

Config Variables

o conf <scalar option>, o conf <scalar option> <value>, o conf <list option>, o conf <list option> [shift|pop], o conf <list option> [unshift|push|splice] <list>, interactive editing: o conf init [MATCH|LIST]

CPAN::anycwd($path): Note on config variable getcwd

cwd, getcwd, fastcwd, getdcwd, backtickcwd

Note on the format of the urllist parameter
The urllist parameter has CD-ROM support
Maintaining the urllist parameter
The requires and build_requires dependency declarations
Configuration for individual distributions (Distroprefs)
Filenames
Fallback Data::Dumper and Storable
Blueprint
Language Specs

comment [scalar], cpanconfig [hash], depends [hash] *** EXPERIMENTAL FEATURE ***, disabled [boolean], features [array] *** EXPERIMENTAL FEATURE ***, goto [string], install [hash], make [hash], match [hash], patches [array], pl [hash], test [hash]

Processing Instructions

args [array], commandline, eexpect [hash], env [hash], expect [array]

Schema verification with Kwalify
Example Distroprefs Files
PROGRAMMER'S INTERFACE

expand($type,@things), expandany(@things), Programming Examples

Methods in the other Classes

CPAN::Author::as_glimpse(), CPAN::Author::as_string(), CPAN::Author::email(), CPAN::Author::fullname(), CPAN::Author::name(), CPAN::Bundle::as_glimpse(), CPAN::Bundle::as_string(), CPAN::Bundle::clean(), CPAN::Bundle::contains(), CPAN::Bundle::force($method,@args), CPAN::Bundle::get(), CPAN::Bundle::inst_file(), CPAN::Bundle::inst_version(), CPAN::Bundle::uptodate(), CPAN::Bundle::install(), CPAN::Bundle::make(), CPAN::Bundle::readme(), CPAN::Bundle::test(), CPAN::Distribution::as_glimpse(), CPAN::Distribution::as_string(), CPAN::Distribution::author, CPAN::Distribution::pretty_id(), CPAN::Distribution::base_id(), CPAN::Distribution::clean(), CPAN::Distribution::containsmods(), CPAN::Distribution::cvs_import(), CPAN::Distribution::dir(), CPAN::Distribution::force($method,@args), CPAN::Distribution::get(), CPAN::Distribution::install(), CPAN::Distribution::isa_perl(), CPAN::Distribution::look(), CPAN::Distribution::make(), CPAN::Distribution::perldoc(), CPAN::Distribution::prefs(), CPAN::Distribution::prereq_pm(), CPAN::Distribution::readme(), CPAN::Distribution::reports(), CPAN::Distribution::read_yaml(), CPAN::Distribution::test(), CPAN::Distribution::uptodate(), CPAN::Index::force_reload(), CPAN::Index::reload(), CPAN::InfoObj::dump(), CPAN::Module::as_glimpse(), CPAN::Module::as_string(), CPAN::Module::clean(), CPAN::Module::cpan_file(), CPAN::Module::cpan_version(), CPAN::Module::cvs_import(), CPAN::Module::description(), CPAN::Module::distribution(), CPAN::Module::dslip_status(), CPAN::Module::force($method,@args), CPAN::Module::get(), CPAN::Module::inst_file(), CPAN::Module::available_file(), CPAN::Module::inst_version(), CPAN::Module::available_version(), CPAN::Module::install(), CPAN::Module::look(), CPAN::Module::make(), CPAN::Module::manpage_headline(), CPAN::Module::perldoc(), CPAN::Module::readme(), CPAN::Module::reports(), CPAN::Module::test(), CPAN::Module::uptodate(), CPAN::Module::userid()

Cache Manager
Bundles
PREREQUISITES
UTILITIES
Finding packages and VERSION
Debugging

o debug package.., o debug -package.., o debug all, o debug number

Floppy, Zip, Offline Mode
Basic Utilities for Programmers

has_inst($module), use_inst($module), has_usable($module), instance($module), frontend(), frontend($new_frontend)

SECURITY
Cryptographically signed modules
EXPORT
ENVIRONMENT
POPULATE AN INSTALLATION WITH LOTS OF MODULES
WORKING WITH CPAN.pm BEHIND FIREWALLS
Three basic types of firewalls

http firewall, ftp firewall, One-way visibility, SOCKS, IP Masquerade

Configuring lynx or ncftp for going through a firewall
FAQ

1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18)

COMPATIBILITY
OLD PERL VERSIONS
CPANPLUS
CPANMINUS
SECURITY ADVICE
BUGS
AUTHOR
LICENSE
TRANSLATIONS
SEE ALSO

CPAN::API::HOWTO - a recipe book for programming with CPAN.pm

RECIPES
What distribution contains a particular module?
What modules does a particular distribution contain?
SEE ALSO
LICENSE
AUTHOR

CPAN::Debug - internal debugging for CPAN.pm

LICENSE

CPAN::Distroprefs -- read and match distroprefs

SYNOPSIS
DESCRIPTION
INTERFACE

a CPAN::Distroprefs::Result object, undef, indicating that no prefs files remain to be found

RESULTS
Common
Errors
Successes
PREFS
LICENSE

CPAN::FirstTime - Utility for CPAN::Config file Initialization

SYNOPSIS
DESCRIPTION

auto_commit, build_cache, build_dir, build_dir_reuse, build_requires_install_policy, cache_metadata, check_sigs, cleanup_after_install, colorize_output, colorize_print, colorize_warn, colorize_debug, commandnumber_in_prompt, connect_to_internet_ok, ftp_passive, ftpstats_period, ftpstats_size, getcwd, halt_on_failure, histfile, histsize, inactivity_timeout, index_expire, inhibit_startup_message, keep_source_where, load_module_verbosity, makepl_arg, make_arg, make_install_arg, make_install_make_command, mbuildpl_arg, mbuild_arg, mbuild_install_arg, mbuild_install_build_command, pager, prefer_installer, prefs_dir, prerequisites_policy, randomize_urllist, recommends_policy, scan_cache, shell, show_unparsable_versions, show_upload_date, show_zero_versions, suggests_policy, tar_verbosity, term_is_latin, term_ornaments, test_report, perl5lib_verbosity, prefer_external_tar, trust_test_report_history, use_prompt_default, use_sqlite, version_timeout, yaml_load_code, yaml_module

LICENSE

CPAN::HandleConfig - internal configuration handling for CPAN.pm

CLASS->safe_quote ITEM
LICENSE

CPAN::Kwalify - Interface between CPAN.pm and Kwalify.pm

SYNOPSIS
DESCRIPTION

_validate($schema_name, $data, $file, $doc), yaml($schema_name)

AUTHOR
LICENSE

CPAN::Meta - the distribution metadata for a CPAN dist

VERSION
SYNOPSIS
DESCRIPTION
METHODS
new
create
load_file
load_yaml_string
load_json_string
load_string
save
meta_spec_version
effective_prereqs
should_index_file
should_index_package
features
feature
as_struct
as_string
STRING DATA
LIST DATA
MAP DATA
CUSTOM DATA
BUGS
SEE ALSO
SUPPORT
Bugs / Feature Requests
Source Code
AUTHORS
CONTRIBUTORS

CPAN::Meta::Converter - Convert CPAN distribution metadata structures

VERSION
SYNOPSIS
DESCRIPTION
METHODS
new
convert
upgrade_fragment
BUGS
AUTHORS

CPAN::Meta::Feature - an optional feature provided by a CPAN distribution

VERSION
DESCRIPTION
METHODS
new
identifier
description
prereqs
BUGS
AUTHORS

CPAN::Meta::History - history of CPAN Meta Spec changes

VERSION
DESCRIPTION
HISTORY
Version 2
Version 1.4
Version 1.3
Version 1.2
Version 1.1
Version 1.0
AUTHORS

CPAN::Meta::History::Meta_1_0 - Version 1.0 metadata specification for META.yml

PREFACE
DESCRIPTION
Format
Fields

name, version, license, perl, gpl, lgpl, artistic, bsd, open_source, unrestricted, restrictive, distribution_type, requires, recommends, build_requires, conflicts, dynamic_config, generated_by

DOAP

History

CPAN::Meta::History::Meta_1_1 - Version 1.1 metadata specification for META.yml

PREFACE
DESCRIPTION
Format
Fields

name, version, license, perl, gpl, lgpl, artistic, bsd, open_source, unrestricted, restrictive, license_uri, distribution_type, private, requires, recommends, build_requires, conflicts, dynamic_config, generated_by

Ingy's suggestions

short_description, description, maturity, author_id, owner_id, categorization, keyword, chapter_id, URL for further information, namespaces

History

CPAN::Meta::History::Meta_1_2 - Version 1.2 metadata specification for META.yml

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY

distribution, module

VERSION SPECIFICATIONS
FIELDS
meta-spec
name
version
abstract
author
license

perl, gpl, lgpl, artistic, bsd, open_source, unrestricted, restrictive

distribution_type
requires
recommends
build_requires
conflicts
dynamic_config
private
provides
no_index
keywords
resources

homepage, license, bugtracker

generated_by
SEE ALSO
HISTORY

March 14, 2003 (Pi day), May 8, 2003, November 13, 2003, November 16, 2003, December 9, 2003, December 15, 2003, July 26, 2005, August 23, 2005

CPAN::Meta::History::Meta_1_3 - Version 1.3 metadata specification for META.yml

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY

distribution, module

HEADER
FIELDS
meta-spec
name
version
abstract
author
license

apache, artistic, bsd, gpl, lgpl, mit, mozilla, open_source, perl, restrictive, unrestricted

distribution_type
requires
recommends
build_requires
conflicts
dynamic_config
private
provides
no_index
keywords
resources

homepage, license, bugtracker

generated_by
VERSION SPECIFICATIONS
SEE ALSO
HISTORY

March 14, 2003 (Pi day), May 8, 2003, November 13, 2003, November 16, 2003, December 9, 2003, December 15, 2003, July 26, 2005, August 23, 2005

CPAN::Meta::History::Meta_1_4 - Version 1.4 metadata specification for META.yml

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY

distribution, module

HEADER
FIELDS
meta-spec
name
version
abstract
author
license

apache, artistic, bsd, gpl, lgpl, mit, mozilla, open_source, perl, restrictive, unrestricted

distribution_type
requires
recommends
build_requires
configure_requires
conflicts
dynamic_config
private
provides
no_index
keywords
resources

homepage, license, bugtracker

generated_by
VERSION SPECIFICATIONS
SEE ALSO
HISTORY

March 14, 2003 (Pi day), May 8, 2003, November 13, 2003, November 16, 2003, December 9, 2003, December 15, 2003, July 26, 2005, August 23, 2005, June 12, 2007

CPAN::Meta::Merge - Merging CPAN Meta fragments

VERSION
SYNOPSIS
DESCRIPTION
METHODS
new
merge(@fragments)
MERGE STRATEGIES

identical, set_addition, uniq_map, improvise

AUTHORS

CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type

VERSION
DESCRIPTION
METHODS
new
requirements_for
phases
types_in
with_merged_prereqs
merged_requirements
as_string_hash
is_finalized
finalize
clone
BUGS
AUTHORS

CPAN::Meta::Requirements - a set of version requirements for a CPAN dist

VERSION
SYNOPSIS
DESCRIPTION
METHODS
new
add_minimum
add_maximum
add_exclusion
exact_version
add_requirements
accepts_module
clear_requirement
requirements_for_module
structured_requirements_for_module
required_modules
clone
is_simple
is_finalized
finalize
as_string_hash
add_string_requirement

>= 1.3, <= 1.3, != 1.3, > 1.3, > 1.3c, < 1.3, >= 1.3, != 1.5, <= 2.0

from_string_hash
SUPPORT
Bugs / Feature Requests
Source Code
AUTHORS
CONTRIBUTORS

CPAN::Meta::Spec - specification for CPAN distribution metadata

VERSION
SYNOPSIS
DESCRIPTION
TERMINOLOGY

distribution, module, package, consumer, producer, must, should, may, etc

DATA TYPES
Boolean
String
List
Map
License String
URL
Version
Version Range
STRUCTURE
REQUIRED FIELDS

version, url, stable, testing, unstable

OPTIONAL FIELDS

file, directory, package, namespace, description, prereqs, file, version, homepage, license, bugtracker, repository

DEPRECATED FIELDS
VERSION NUMBERS
Version Formats

Decimal versions, Dotted-integer versions

Version Ranges
PREREQUISITES
Prereq Spec

configure, build, test, runtime, develop, requires, recommends, suggests, conflicts

Merging and Resolving Prerequisites
SERIALIZATION
NOTES FOR IMPLEMENTORS
Extracting Version Numbers from Perl Modules
Comparing Version Numbers
Prerequisites for dynamically configured distributions
Indexing distributions a la PAUSE
SEE ALSO
HISTORY
AUTHORS

CPAN::Meta::Validator - validate CPAN distribution metadata structures

VERSION
SYNOPSIS
DESCRIPTION
METHODS
new
is_valid
errors
Check Methods
Validator Methods
BUGS
AUTHORS

CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files

VERSION
SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHORS
SYNOPSIS
DESCRIPTION

new( LOCAL_FILE_NAME )

continents()

countries( [CONTINENTS] )

mirrors( [COUNTRIES] )

get_mirrors_by_countries( [COUNTRIES] )

get_mirrors_by_continents( [CONTINENTS] )

get_countries_by_continents( [CONTINENTS] )

default_mirror

best_mirrors

get_n_random_mirrors_by_continents( N, [CONTINENTS] )

get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK );

find_best_continents( HASH_REF );

AUTHOR
LICENSE

CPAN::Nox - Wrapper around CPAN.pm without using any XS module

SYNOPSIS
DESCRIPTION
LICENSE
SEE ALSO

CPAN::Plugin - Base class for CPAN shell extensions

SYNOPSIS
DESCRIPTION
Alpha Status
How Plugins work?
METHODS
plugin_requires
distribution_object
distribution
distribution_info
build_dir
is_xs
AUTHOR

CPAN::Plugin::Specfile - Proof of concept implementation of a trivial CPAN::Plugin

SYNOPSIS
DESCRIPTION
OPTIONS
AUTHOR

CPAN::Queue - internal queue support for CPAN.pm

LICENSE

CPAN::Tarzip - internal handling of tar archives for CPAN.pm

LICENSE

CPAN::Version - utility functions to compare CPAN versions

SYNOPSIS
DESCRIPTION
LICENSE

Carp - alternative warn and die for modules

SYNOPSIS
DESCRIPTION
Forcing a Stack Trace
Stack Trace formatting
GLOBAL VARIABLES
$Carp::MaxEvalLen
$Carp::MaxArgLen
$Carp::MaxArgNums
$Carp::Verbose
$Carp::RefArgFormatter
@CARP_NOT
%Carp::Internal
%Carp::CarpInternal
$Carp::CarpLevel
BUGS
SEE ALSO
CONTRIBUTING
AUTHOR
COPYRIGHT
LICENSE

Class::Struct - declare struct-like datatypes as Perl classes

SYNOPSIS
DESCRIPTION
The struct() function
Class Creation at Compile Time
Element Types and Accessor Methods

Scalar ('$' or '*$'), Array ('@' or '*@'), Hash ('%' or '*%'), Class ('Class_Name' or '*Class_Name')

Initializing with new
EXAMPLES

Example 1, Example 2, Example 3

Author and Modification History

Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library

SYNOPSIS
DESCRIPTION
Compression
($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor;

$appendOutput, $blockSize100k, $workfactor

$status = $bz->bzdeflate($input, $output);
$status = $bz->bzflush($output);
$status = $bz->bzclose($output);
Example
Uncompression
($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput;

$appendOutput, $consumeInput, $small, $limitOutput, $verbosity

$status = $z->bzinflate($input, $output);
Misc
my $version = Compress::Raw::Bzip2::bzlibversion();
Constants
SEE ALSO
AUTHOR
MODIFICATION HISTORY

Compress::Raw::Zlib - Low-Level Interface to zlib compression library

SYNOPSIS
DESCRIPTION
Compress::Raw::Zlib::Deflate
($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] )

-Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize, -AppendOutput, -CRC32, -ADLER32

$status = $d->deflate($input, $output)
$status = $d->flush($output [, $flush_type])
$status = $d->deflateReset()
$status = $d->deflateParams([OPT])

-Level, -Strategy, -BufSize

$status = $d->deflateTune($good_length, $max_lazy, $nice_length, $max_chain)
$d->dict_adler()
$d->crc32()
$d->adler32()
$d->msg()
$d->total_in()
$d->total_out()
$d->get_Strategy()
$d->get_Level()
$d->get_BufSize()
Example
Compress::Raw::Zlib::Inflate
($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] )

-WindowBits, -Bufsize, -Dictionary, -AppendOutput, -CRC32, -ADLER32, -ConsumeInput, -LimitOutput

$status = $i->inflate($input, $output [,$eof])
$status = $i->inflateSync($input)
$status = $i->inflateReset()
$i->dict_adler()
$i->crc32()
$i->adler32()
$i->msg()
$i->total_in()
$i->total_out()
$d->get_BufSize()
Examples
CHECKSUM FUNCTIONS
Misc
my $version = Compress::Raw::Zlib::zlib_version();
my $flags = Compress::Raw::Zlib::zlibCompileFlags();
The LimitOutput option.
ACCESSING ZIP FILES
FAQ
Compatibility with Unix compress/uncompress.
Accessing .tar.Z files
Zlib Library Version Support
CONSTANTS
SEE ALSO
AUTHOR
MODIFICATION HISTORY

Compress::Zlib - Interface to zlib compression library

SYNOPSIS
DESCRIPTION
Notes for users of Compress::Zlib version 1
GZIP INTERFACE

$gz = gzopen($filename, $mode), $gz = gzopen($filehandle, $mode), $bytesread = $gz->gzread($buffer [, $size]) ;, $bytesread = $gz->gzreadline($line) ;, $byteswritten = $gz->gzwrite($buffer) ;, $status = $gz->gzflush($flush_type) ;, $offset = $gz->gztell() ;, $status = $gz->gzseek($offset, $whence) ;, $gz->gzclose, $gz->gzsetparams($level, $strategy, $level, $strategy, $gz->gzerror, $gzerrno

Examples
Compress::Zlib::memGzip
Compress::Zlib::memGunzip
COMPRESS/UNCOMPRESS

$dest = compress($source [, $level] ) ;, $dest = uncompress($source) ;

Deflate Interface
($d, $status) = deflateInit( [OPT] )

-Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize

($out, $status) = $d->deflate($buffer)
($out, $status) = $d->flush() =head2 ($out, $status) = $d->flush($flush_type)
$status = $d->deflateParams([OPT])

-Level, -Strategy

$d->dict_adler()
$d->msg()
$d->total_in()
$d->total_out()
Example
Inflate Interface
($i, $status) = inflateInit()

-WindowBits, -Bufsize, -Dictionary

($out, $status) = $i->inflate($buffer)
$status = $i->inflateSync($buffer)
$i->dict_adler()
$i->msg()
$i->total_in()
$i->total_out()
Example
CHECKSUM FUNCTIONS
Misc
my $version = Compress::Zlib::zlib_version();
CONSTANTS
SEE ALSO
AUTHOR
MODIFICATION HISTORY

Config - access Perl configuration information

SYNOPSIS
DESCRIPTION

myconfig(), config_sh(), config_re($regex), config_vars(@names), bincompat_options(), non_bincompat_options(), compile_date(), local_patches(), header_files()

EXAMPLE
WARNING
GLOSSARY
_

_a, _exe, _o

a

afs, afsroot, alignbytes, aphostname, api_revision, api_subversion, api_version, api_versionstring, ar, archlib, archlibexp, archname, archname64, archobjs, asctime_r_proto, awk

b

baserev, bash, bin, bin_ELF, binexp, bison, byacc, byteorder

c

c, castflags, cat, cc, cccdlflags, ccdlflags, ccflags, ccflags_uselargefiles, ccname, ccsymbols, ccversion, cf_by, cf_email, cf_time, charbits, charsize, chgrp, chmod, chown, clocktype, comm, compress, config_arg0, config_argc, config_args, contains, cp, cpio, cpp, cpp_stuff, cppccsymbols, cppflags, cpplast, cppminus, cpprun, cppstdin, cppsymbols, crypt_r_proto, cryptlib, csh, ctermid_r_proto, ctime_r_proto

d

d__fwalk, d_accept4, d_access, d_accessx, d_acosh, d_aintl, d_alarm, d_archlib, d_asctime64, d_asctime_r, d_asinh, d_atanh, d_atolf, d_atoll, d_attribute_deprecated, d_attribute_format, d_attribute_malloc, d_attribute_nonnull, d_attribute_noreturn, d_attribute_pure, d_attribute_unused, d_attribute_warn_unused_result, d_backtrace, d_bsd, d_bsdgetpgrp, d_bsdsetpgrp, d_builtin_arith_overflow, d_builtin_choose_expr, d_builtin_expect, d_builtin_prefetch, d_builtin_clz, d_builtin_ctz, d_c99_variadic_macros, d_casti32, d_castneg, d_cbrt, d_chown, d_chroot, d_chsize, d_class, d_clearenv, d_closedir, d_cmsghdr_s, d_const, d_copysign, d_copysignl, d_cplusplus, d_crypt, d_crypt_r, d_csh, d_ctermid, d_ctermid_r, d_ctime64, d_ctime_r, d_cuserid, d_dbl_dig, d_dbminitproto, d_difftime, d_difftime64, d_dir_dd_fd, d_dirfd, d_dirnamlen, d_dladdr, d_dlerror, d_dlopen, d_dlsymun, d_dosuid, d_double_has_inf, d_double_has_nan, d_double_has_negative_zero, d_double_has_subnormals, d_double_style_cray, d_double_style_ibm, d_double_style_ieee, d_double_style_vax, d_drand48_r, d_drand48proto, d_dup2, d_dup3, d_duplocale, d_eaccess, d_endgrent, d_endgrent_r, d_endhent, d_endhostent_r, d_endnent, d_endnetent_r, d_endpent, d_endprotoent_r, d_endpwent, d_endpwent_r, d_endsent, d_endservent_r, d_eofnblk, d_erf, d_erfc, d_eunice, d_exp2, d_expm1, d_faststdio, d_fchdir, d_fchmod, d_fchmodat, d_fchown, d_fcntl, d_fcntl_can_lock, d_fd_macros, d_fd_set, d_fdim, d_fds_bits, d_fegetround, d_fgetpos, d_finite, d_finitel, d_flexfnam, d_flock, d_flockproto, d_fma, d_fmax, d_fmin, d_fork, d_fp_class, d_fp_classify, d_fp_classl, d_fpathconf, d_fpclass, d_fpclassify, d_fpclassl, d_fpgetround, d_fpos64_t, d_freelocale, d_frexpl, d_fs_data_s, d_fseeko, d_fsetpos, d_fstatfs, d_fstatvfs, d_fsync, d_ftello, d_ftime, d_futimes, d_gai_strerror, d_Gconvert, d_gdbm_ndbm_h_uses_prototypes, d_gdbmndbm_h_uses_prototypes, d_getaddrinfo, d_getcwd, d_get_current_dir_name, d_getespwnam, d_getfsstat, d_getgrent, d_getgrent_r, d_getgrgid_r, d_getgrnam_r, d_getgrps, d_gethbyaddr, d_gethbyname, d_gethent, d_gethname, d_gethostbyaddr_r, d_gethostbyname_r, d_gethostent_r, d_gethostprotos, d_getitimer, d_getlogin, d_getlogin_r, d_getmnt, d_getmntent, d_getnameinfo, d_getnbyaddr, d_getnbyname, d_getnent, d_getnetbyaddr_r, d_getnetbyname_r, d_getnetent_r, d_getnetprotos, d_getpagsz, d_getpbyname, d_getpbynumber, d_getpent, d_getpgid, d_getpgrp, d_getpgrp2, d_getppid, d_getprior, d_getprotobyname_r, d_getprotobynumber_r, d_getprotoent_r, d_getprotoprotos, d_getprpwnam, d_getpwent, d_getpwent_r, d_getpwnam_r, d_getpwuid_r, d_getsbyname, d_getsbyport, d_getsent, d_getservbyname_r, d_getservbyport_r, d_getservent_r, d_getservprotos, d_getspnam, d_getspnam_r, d_gettimeod, d_gmtime64, d_gmtime_r, d_gnulibc, d_grpasswd, d_hasmntopt, d_htonl, d_hypot, d_ilogb, d_ilogbl, d_inc_version_list, d_inetaton, d_inetntop, d_inetpton, d_int64_t, d_ip_mreq, d_ip_mreq_source, d_ipv6_mreq, d_ipv6_mreq_source, d_isascii, d_isblank, d_isfinite, d_isfinitel, d_isinf, d_isinfl, d_isnan, d_isnanl, d_isnormal, d_j0, d_j0l, d_killpg, d_lc_monetary_2008, d_lchown, d_ldbl_dig, d_ldexpl, d_lgamma, d_lgamma_r, d_libm_lib_version, d_libname_unique, d_link, d_linkat, d_llabs, d_llrint, d_llrintl, d_llround, d_llroundl, d_localtime64, d_localtime_r, d_localtime_r_needs_tzset, d_locconv, d_lockf, d_log1p, d_log2, d_logb, d_long_double_style_ieee, d_long_double_style_ieee_doubledouble, d_long_double_style_ieee_extended, d_long_double_style_ieee_std, d_long_double_style_vax, d_longdbl, d_longlong, d_lrint, d_lrintl, d_lround, d_lroundl, d_lseekproto, d_lstat, d_madvise, d_malloc_good_size, d_malloc_size, d_mblen, d_mbstowcs, d_mbtowc, d_memchr, d_memcmp, d_memcpy, d_memmem, d_memmove, d_memset, d_memrchr, d_mkdir, d_mkdtemp, d_mkfifo, d_mkostemp, d_mkstemp, d_mkstemps, d_mktime, d_mktime64, d_mmap, d_modfl, d_modflproto, d_mprotect, d_msg, d_msgctl, d_msgget, d_msghdr_s, d_msgrcv, d_msgsnd, d_msync, d_munmap, d_mymalloc, d_nan, d_ndbm, d_ndbm_h_uses_prototypes, d_nearbyint, d_newlocale, d_nextafter, d_nexttoward, d_nice, d_nl_langinfo, d_nv_preserves_uv, d_nv_zero_is_allbits_zero, d_off64_t, d_old_pthread_create_joinable, d_oldpthreads, d_oldsock, d_open3, d_openat, d_pathconf, d_pause, d_perl_otherlibdirs, d_phostname, d_pipe, d_pipe2, d_poll, d_portable, d_prctl, d_prctl_set_name, d_PRId64, d_PRIeldbl, d_PRIEUldbl, d_PRIfldbl, d_PRIFUldbl, d_PRIgldbl, d_PRIGUldbl, d_PRIi64, d_printf_format_null, d_PRIo64, d_PRIu64, d_PRIx64, d_PRIXU64, d_procselfexe, d_pseudofork, d_pthread_atfork, d_pthread_attr_setscope, d_pthread_yield, d_ptrdiff_t, d_pwage, d_pwchange, d_pwclass, d_pwcomment, d_pwexpire, d_pwgecos, d_pwpasswd, d_pwquota, d_qgcvt, d_quad, d_querylocale, d_random_r, d_re_comp, d_readdir, d_readdir64_r, d_readdir_r, d_readlink, d_readv, d_realpath, d_recvmsg, d_regcmp, d_regcomp, d_remainder, d_remquo, d_rename, d_renameat, d_rewinddir, d_rint, d_rmdir, d_round, d_sbrkproto, d_scalbn, d_scalbnl, d_sched_yield, d_SCNfldbl, d_seekdir, d_select, d_sem, d_semctl, d_semctl_semid_ds, d_semctl_semun, d_semget, d_semop, d_sendmsg, d_setegid, d_seteuid, d_setgrent, d_setgrent_r, d_setgrps, d_sethent, d_sethostent_r, d_setitimer, d_setlinebuf, d_setlocale, d_setlocale_r, d_setnent, d_setnetent_r, d_setpent, d_setpgid, d_setpgrp, d_setpgrp2, d_setprior, d_setproctitle, d_setprotoent_r, d_setpwent, d_setpwent_r, d_setregid, d_setresgid, d_setresuid, d_setreuid, d_setrgid, d_setruid, d_setsent, d_setservent_r, d_setsid, d_setvbuf, d_shm, d_shmat, d_shmatprototype, d_shmctl, d_shmdt, d_shmget, d_sigaction, d_signbit, d_sigprocmask, d_sigsetjmp, d_sin6_scope_id, d_sitearch, d_snprintf, d_sockaddr_in6, d_sockaddr_sa_len, d_sockatmark, d_sockatmarkproto, d_socket, d_socklen_t, d_sockpair, d_socks5_init, d_sqrtl, d_srand48_r, d_srandom_r, d_sresgproto, d_sresuproto, d_stat, d_statblks, d_statfs_f_flags, d_statfs_s, d_static_inline, d_statvfs, d_stdio_cnt_lval, d_stdio_ptr_lval, d_stdio_ptr_lval_nochange_cnt, d_stdio_ptr_lval_sets_cnt, d_stdio_stream_array, d_stdiobase, d_stdstdio, d_strchr, d_strcoll, d_strerrm, d_strerror, d_strerror_l, d_strerror_r, d_strftime, d_strlcat, d_strlcpy, d_strtod, d_strtol, d_strtold, d_strtoll, d_strtoq, d_strtoul, d_strtoull, d_strtouq, d_strxfrm, d_suidsafe, d_symlink, d_syscall, d_syscallproto, d_sysconf, d_sysernlst, d_syserrlst, d_system, d_tcgetpgrp, d_tcsetpgrp, d_telldir, d_telldirproto, d_tgamma, d_time, d_timegm, d_times, d_tm_tm_gmtoff, d_tm_tm_zone, d_tmpnam_r, d_trunc, d_truncate, d_truncl, d_ttyname_r, d_tzname, d_u32align, d_ualarm, d_umask, d_uname, d_union_semun, d_unlinkat, d_unordered, d_setenv, d_unsetenv, d_uselocale, d_usleep, d_usleepproto, d_ustat, d_vendorarch, d_vendorbin, d_vendorlib, d_vendorscript, d_vfork, d_vms_case_sensitive_symbols, d_void_closedir, d_voidsig, d_voidtty, d_volatile, d_vprintf, d_vsnprintf, d_wait4, d_waitpid, d_wcscmp, d_wcstombs, d_wcsxfrm, d_wctomb, d_writev, d_xenix, date, db_hashtype, db_prefixtype, db_version_major, db_version_minor, db_version_patch, default_inc_excludes_dot, direntrytype, dlext, dl_so_eq_ext, dlsrc, doubleinfbytes, doublekind, doublemantbits, doublenanbytes, doublesize, drand01, drand48_r_proto, dtrace, dtraceobject, dtracexnolibs, dynamic_ext

e

eagain, ebcdic, echo, egrep, emacs, endgrent_r_proto, endhostent_r_proto, endnetent_r_proto, endprotoent_r_proto, endpwent_r_proto, endservent_r_proto, eunicefix, exe_ext, expr, extensions, extern_C, extras

f

fake_signatures, ffi_targets, fflushall, fflushNULL, find, firstmakefile, flex, fpossize, fpostype, freetype, from, full_ar, full_csh, full_sed

g

gccansipedantic, gccosandvers, gccversion, getcwdnull, 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, gidformat, gidsign, gidsize, gidtype, glibpth, gmake, gmtime_r_proto, gnulibc_version, grep, groupcat, groupstype, gzip

h

h_fcntl, h_sysfile, hash_func, hint, hostcat, hostgenerate, hostosname, hostperl, html1dir, html1direxp, html3dir, html3direxp

i

i16size, i16type, i32size, i32type, i64size, i64type, i8size, i8type, i_arpainet, i_assert, i_bfd, i_bsdioctl, i_crypt, i_db, i_dbm, i_dirent, i_dlfcn, i_execinfo, i_fcntl, i_fenv, i_fp, i_fp_class, i_gdbm, i_gdbm_ndbm, i_gdbmndbm, i_grp, i_ieeefp, i_inttypes, i_langinfo, i_libutil, i_locale, i_machcthr, i_malloc, i_mallocmalloc, i_math, i_memory, i_mntent, i_ndbm, i_netdb, i_neterrno, i_netinettcp, i_niin, i_poll, i_prot, i_pthread, i_pwd, i_quadmath, i_rpcsvcdbm, i_sgtty, i_shadow, i_socks, i_stdbool, i_stdint, i_stddef, i_string, i_sunmath, i_sysaccess, i_sysdir, i_sysfile, i_sysfilio, i_sysin, i_sysioctl, i_syslog, i_sysmman, i_sysmode, i_sysmount, i_sysndir, i_sysparam, i_syspoll, i_sysresrc, i_syssecrt, i_sysselct, i_syssockio, i_sysstat, i_sysstatfs, i_sysstatvfs, i_systime, i_systimek, i_systimes, i_systypes, i_sysuio, i_sysun, i_sysutsname, i_sysvfs, i_syswait, i_termio, i_termios, i_time, i_unistd, i_ustat, i_utime, i_vfork, i_xlocale, ignore_versioned_solibs, inc_version_list, inc_version_list_init, incpath, incpth, inews, initialinstalllocation, installarchlib, installbin, installhtml1dir, installhtml3dir, installman1dir, installman3dir, installprefix, installprefixexp, installprivlib, installscript, installsitearch, installsitebin, installsitehtml1dir, installsitehtml3dir, installsitelib, installsiteman1dir, installsiteman3dir, installsitescript, installstyle, installusrbinperl, installvendorarch, installvendorbin, installvendorhtml1dir, installvendorhtml3dir, installvendorlib, installvendorman1dir, installvendorman3dir, installvendorscript, intsize, issymlink, ivdformat, ivsize, ivtype

k

known_extensions, ksh

l

ld, ld_can_script, lddlflags, ldflags, ldflags_uselargefiles, ldlibpthname, less, lib_ext, libc, libperl, libpth, libs, libsdirs, libsfiles, libsfound, libspath, libswanted, libswanted_uselargefiles, line, lint, lkflags, ln, lns, localtime_r_proto, locincpth, loclibpth, longdblinfbytes, longdblkind, longdblmantbits, longdblnanbytes, longdblsize, longlongsize, longsize, lp, lpr, ls, lseeksize, lseektype

m

mail, mailx, make, make_set_make, mallocobj, mallocsrc, malloctype, man1dir, man1direxp, man1ext, man3dir, man3direxp, man3ext, mips_type, mistrustnm, mkdir, mmaptype, modetype, more, multiarch, mv, myarchname, mydomain, myhostname, myuname

n

n, need_va_copy, netdb_hlen_type, netdb_host_type, netdb_name_type, netdb_net_type, nm, nm_opt, nm_so_opt, nonxs_ext, nroff, nv_overflows_integers_at, nv_preserves_uv_bits, nveformat, nvEUformat, nvfformat, nvFUformat, nvgformat, nvGUformat, nvmantbits, nvsize, nvtype

o

o_nonblock, obj_ext, old_pthread_create_joinable, optimize, orderlib, osname, osvers, otherlibdirs

p

package, pager, passcat, patchlevel, path_sep, perl, perl5

P

PERL_API_REVISION, PERL_API_SUBVERSION, PERL_API_VERSION, PERL_CONFIG_SH, PERL_PATCHLEVEL, perl_patchlevel, PERL_REVISION, perl_static_inline, PERL_SUBVERSION, PERL_VERSION, perladmin, perldll, perllibs, perlpath, pg, phostname, pidtype, plibpth, pmake, pr, prefix, prefixexp, privlib, privlibexp, procselfexe, prototype, ptrsize

q

quadkind, quadtype

r

randbits, randfunc, random_r_proto, randseedtype, ranlib, rd_nodata, readdir64_r_proto, readdir_r_proto, revision, rm, rm_try, rmail, run, runnm

s

sched_yield, scriptdir, scriptdirexp, sed, seedfunc, selectminbits, selecttype, sendmail, setgrent_r_proto, sethostent_r_proto, setlocale_r_proto, setnetent_r_proto, setprotoent_r_proto, setpwent_r_proto, setservent_r_proto, sGMTIME_max, sGMTIME_min, sh, shar, sharpbang, shmattype, shortsize, shrpenv, shsharp, sig_count, sig_name, sig_name_init, sig_num, sig_num_init, sig_size, signal_t, sitearch, sitearchexp, sitebin, sitebinexp, sitehtml1dir, sitehtml1direxp, sitehtml3dir, sitehtml3direxp, sitelib, sitelib_stem, sitelibexp, siteman1dir, siteman1direxp, siteman3dir, siteman3direxp, siteprefix, siteprefixexp, sitescript, sitescriptexp, sizesize, sizetype, sleep, sLOCALTIME_max, sLOCALTIME_min, smail, so, sockethdr, socketlib, socksizetype, sort, spackage, spitshell, sPRId64, sPRIeldbl, sPRIEUldbl, sPRIfldbl, sPRIFUldbl, sPRIgldbl, sPRIGUldbl, sPRIi64, sPRIo64, sPRIu64, sPRIx64, sPRIXU64, srand48_r_proto, srandom_r_proto, src, sSCNfldbl, ssizetype, st_ino_sign, st_ino_size, startperl, startsh, static_ext, stdchar, stdio_base, stdio_bufsiz, stdio_cnt, stdio_filbuf, stdio_ptr, stdio_stream_array, strerror_r_proto, submit, subversion, sysincpth, syslibpth, sysman, sysroot

t

tail, tar, targetarch, targetdir, targetenv, targethost, targetmkdir, targetport, targetsh, tbl, tee, test, timeincl, timetype, tmpnam_r_proto, to, touch, tr, trnl, troff, ttyname_r_proto

u

u16size, u16type, u32size, u32type, u64size, u64type, u8size, u8type, uidformat, uidsign, uidsize, uidtype, uname, uniq, uquadtype, use5005threads, use64bitall, use64bitint, usecbacktrace, usecperl, usecrosscompile, usedevel, usedl, usedtrace, usefaststdio, useffi, useithreads, usekernprocpathname, uselargefiles, uselongdouble, usemallocwrap, usemorebits, usemultiplicity, usemymalloc, usenm, usensgetexecutablepath, useopcode, useperlio, useposix, usequadmath, usereentrant, userelocatableinc, usesafehashiter, useshrplib, usesitecustomize, usesocks, usethreads, usevendorprefix, useversionedarchname, usevfork, usrinc, uuname, uvoformat, uvsize, uvtype, uvuformat, uvxformat, uvXUformat

v

vaproto, vendorarch, vendorarchexp, vendorbin, vendorbinexp, vendorhtml1dir, vendorhtml1direxp, vendorhtml3dir, vendorhtml3direxp, vendorlib, vendorlib_stem, vendorlibexp, vendorman1dir, vendorman1direxp, vendorman3dir, vendorman3direxp, vendorprefix, vendorprefixexp, vendorscript, vendorscriptexp, version, version_patchlevel_string, versiononly, vi

x

xlibpth

y

yacc, yaccflags

z

zcat, zip

GIT DATA
NOTE
SYNOPSIS
DESCRIPTION

dynamic, nonxs, static

AUTHOR

Config::Perl::V - Structured data retrieval of perl -V output

SYNOPSIS
DESCRIPTION
$conf = myconfig ()
$conf = plv2hash ($text [, ...])
$info = summary ([$conf])
$md5 = signature ([$conf])
The hash structure

build, osname, stamp, options, derived, patches, environment, config, inc

REASONING
BUGS
TODO
AUTHOR

Cpanel::JSON::XS - cPanel fork of JSON::XS, fast and correct serializing

SYNOPSIS
DESCRIPTION
FEATURES

correct Unicode handling, round-trip integrity, strict checking of JSON correctness, fast, simple to use, reasonably versatile output formats

cPanel fork
FUNCTIONAL INTERFACE

$json_text = encode_json $perl_scalar, [json_type], $perl_scalar = decode_json $json_text [, $allow_nonref ], $is_boolean = Cpanel::JSON::XS::is_bool $scalar

DEPRECATED FUNCTIONS

from_json, to_json

A FEW NOTES ON UNICODE AND PERL

1. Perl strings can store characters with ordinal values > 255, 2. Perl does not associate an encoding with your strings, 3. The internal utf-8 flag has no meaning with regards to the encoding of your string, 4. A "Unicode String" is simply a string where each character can be validly interpreted as a Unicode code point, 5. A string containing "high" (> 255) character values is not a UTF-8 string, 6. Unicode noncharacters only warn, as in core, 7. Raw non-Unicode characters above U+10FFFF are disallowed

OBJECT-ORIENTED INTERFACE

$json = new Cpanel::JSON::XS, $json = $json->ascii ([$enable]), $enabled = $json->get_ascii, $json = $json->latin1 ([$enable]), $enabled = $json->get_latin1, $json = $json->binary ([$enable]), $enabled = $json = $json->get_binary, $json = $json->utf8 ([$enable]), $enabled = $json->get_utf8, $json = $json->pretty ([$enable]), $json = $json->indent ([$enable]), $enabled = $json->get_indent, $json = $json->indent_length([$number_of_spaces]), $length = $json->get_indent_length(), $json = $json->space_before ([$enable]), $enabled = $json->get_space_before, $json = $json->space_after ([$enable]), $enabled = $json->get_space_after, $json = $json->relaxed ([$enable]), $enabled = $json->get_relaxed, list items can have an end-comma, shell-style '#'-comments, literal ASCII TAB characters in strings, allow_singlequote, allow_barekey, duplicate keys, $json = $json->canonical ([$enable]), $enabled = $json->get_canonical, $json = $json->sort_by (undef, 0, 1 or a block), $json = $json->escape_slash ([$enable]), $enabled = $json->get_escape_slash, $json = $json->allow_singlequote ([$enable]), $enabled = $json->get_allow_singlequote, $json = $json->allow_barekey ([$enable]), $enabled = $json->get_allow_barekey, $json = $json->allow_bignum ([$enable]), $enabled = $json->get_allow_bignum, $json = $json->allow_bigint ([$enable]), $json = $json->allow_nonref ([$enable]), $enabled = $json->get_allow_nonref, $json = $json->allow_unknown ([$enable]), $enabled = $json->get_allow_unknown, $json = $json->allow_stringify ([$enable]), $enabled = $json->get_allow_stringify, $json = $json->allow_blessed ([$enable]), $enabled = $json->get_allow_blessed, $json = $json->convert_blessed ([$enable]), $enabled = $json->get_convert_blessed, $json = $json->allow_tags ([$enable]), $enabled = $json->get_allow_tags, $json = $json->filter_json_object ([$coderef->($hashref)]), $json = $json->filter_json_single_key_object ($key [=> $coderef->($value)]), $json = $json->shrink ([$enable]), $enabled = $json->get_shrink, $json = $json->max_depth ([$maximum_nesting_depth]), $max_depth = $json->get_max_depth, $json = $json->max_size ([$maximum_string_size]), $max_size = $json->get_max_size, $json->stringify_infnan ([$infnan_mode = 1]), $infnan_mode = $json->get_stringify_infnan, $json_text = $json->encode ($perl_scalar), $perl_scalar = $json->decode ($json_text), ($perl_scalar, $characters) = $json->decode_prefix ($json_text), $json->to_json ($perl_hash_or_arrayref), $json->from_json ($utf8_encoded_json_text)

INCREMENTAL PARSING

[void, scalar or list context] = $json->incr_parse ([$string]), $lvalue_string = $json->incr_text (>5.8 only), $json->incr_skip, $json->incr_reset

LIMITATIONS
EXAMPLES
BOM
MAPPING
JSON -> PERL

object, array, string, number, true, false, null, shell-style comments (# text), tagged values ((tag)value)

PERL -> JSON

hash references, array references, other references, Cpanel::JSON::XS::true, Cpanel::JSON::XS::false, blessed objects, simple scalars

OBJECT SERIALIZATION

1. allow_tags is enabled and the object has a FREEZE method, 2. convert_blessed is enabled and the object has a TO_JSON method, 2. convert_blessed is enabled and the object has a stringification overload, 3. allow_blessed is enabled, 4. none of the above

ENCODING/CODESET FLAG NOTES

utf8 flag disabled, utf8 flag enabled, latin1, binary or ascii flags enabled

JSON and ECMAscript
JSON and YAML
SPEED
INTEROP with JSON and JSON::XS and other JSON modules
TAGGED VALUE SYNTAX AND STANDARD JSON EN/DECODERS
RFC7159
SECURITY CONSIDERATIONS
"OLD" VS. "NEW" JSON (RFC 4627 VS. RFC 7159)
THREADS
BUGS
LICENSE
SEE ALSO
AUTHOR
MAINTAINER

Cpanel::JSON::XS::Boolean - true and false values

SYNOPSIS
DESCRIPTION
AUTHOR

Cpanel::JSON::XS::Type - Type support for JSON encode

SYNOPSIS
DESCRIPTION
JSON type specification for scalars:

JSON_TYPE_BOOL, JSON_TYPE_INT, JSON_TYPE_FLOAT, JSON_TYPE_STRING, JSON_TYPE_NULL

JSON type specification for arrays:

[...], json_type_arrayof

JSON type specification for hashes:

{...}, json_type_hashof

JSON type specification for alternatives:

json_type_anyof, json_type_null_or_anyof, json_type_weaken

AUTHOR

Cwd - get pathname of current working directory

SYNOPSIS
DESCRIPTION
getcwd and friends

getcwd, cwd, fastcwd, fastgetcwd, getdcwd

abs_path and friends

abs_path, realpath, fast_abs_path

$ENV{PWD}
NOTES
AUTHOR
COPYRIGHT
SEE ALSO

DB - programmatic interface to the Perl debugging API

SYNOPSIS
DESCRIPTION
Global Variables
 $DB::sub,  %DB::sub,  $DB::single,  $DB::signal,  $DB::trace,  @DB::args, 
@DB::dbline,  %DB::dbline,  $DB::package,  $DB::filename,  $DB::subname, 
$DB::lineno
API Methods

CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'), CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()

Client Callback Methods

CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(), CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(), CLIENT->output(LIST)

BUGS
AUTHOR

DBM_Filter -- Filter DBM keys/values

SYNOPSIS
DESCRIPTION
What is a DBM Filter?
So what's new?
METHODS
$db->Filter_Push() / $db->Filter_Key_Push() / $db->Filter_Value_Push()

Filter_Push, Filter_Key_Push, Filter_Value_Push

$db->Filter_Pop()
$db->Filtered()
Writing a Filter
Immediate Filters
Canned Filters

"name", params

Filters Included

utf8, encode, compress, int32, null

NOTES
Maintain Round Trip Integrity
Don't mix filtered & non-filtered data in the same database file.
EXAMPLE
SEE ALSO
AUTHOR

DBM_Filter::compress - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

DBM_Filter::encode - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

DBM_Filter::int32 - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

DBM_Filter::null - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

DBM_Filter::utf8 - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

DB_File - Perl5 access to Berkeley DB version 1.x

SYNOPSIS
DESCRIPTION

DB_HASH, DB_BTREE, DB_RECNO

Using DB_File with Berkeley DB version 2 or greater
Interface to Berkeley DB
Opening a Berkeley DB Database File
Default Parameters
In Memory Databases
DB_HASH
A Simple Example
DB_BTREE
Changing the BTREE sort order
Handling Duplicate Keys
The get_dup() Method
The find_dup() Method
The del_dup() Method
Matching Partial Keys
DB_RECNO
The 'bval' Option
A Simple Example
Extra RECNO Methods

$X->push(list) ;, $value = $X->pop ;, $X->shift, $X->unshift(list) ;, $X->length, $X->splice(offset, length, elements);

Another Example
THE API INTERFACE

$status = $X->get($key, $value [, $flags]) ;, $status = $X->put($key, $value [, $flags]) ;, $status = $X->del($key [, $flags]) ;, $status = $X->fd ;, $status = $X->seq($key, $value, $flags) ;, $status = $X->sync([$flags]) ;

DBM FILTERS
DBM Filter Low-level API

filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

The Filter
An Example -- the NULL termination problem.
Another Example -- Key is a C int.
HINTS AND TIPS
Locking: The Trouble with fd
Safe ways to lock a database

Tie::DB_Lock, Tie::DB_LockFile, DB_File::Lock

Sharing Databases With C Applications
The untie() Gotcha
COMMON QUESTIONS
Why is there Perl source in my database?
How do I store complex data structures with DB_File?
What does "wide character in subroutine entry" mean?
What does "Invalid Argument" mean?
What does "Bareword 'DB_File' not allowed" mean?
REFERENCES
HISTORY
BUGS
AVAILABILITY
COPYRIGHT
SEE ALSO
AUTHOR

Data::Dumper - stringified perl data structures, suitable for both printing and eval

SYNOPSIS
DESCRIPTION
Methods

PACKAGE->new(ARRAYREF [, ARRAYREF]), $OBJ->Dump or PACKAGE->Dump(ARRAYREF [, ARRAYREF]), $OBJ->Seen([HASHREF]), $OBJ->Values([ARRAYREF]), $OBJ->Names([ARRAYREF]), $OBJ->Reset

Functions

Dumper(LIST)

Configuration Variables or Methods
Exports

Dumper

EXAMPLES
BUGS
NOTE
AUTHOR
VERSION
SEE ALSO

Devel::MemoryProfiling, MemoryProfiling

Ideas and Plans for Memory Profiling with NYTProf
Email threads
Possibly Relevant Perl Modules

http://metacpan.org/pod/Devel::Mallinfo, http://metacpan.org/pod/Devel::Gladiator, http://metacpan.org/release/Internals-DumpArenas/, http://metacpan.org/release/Internals-GraphArenas/, http://metacpan.org/pod/Devel::DumpSizes, http://metacpan.org/pod/Devel::Arena, http://metacpan.org/pod/Devel::Size, http://metacpan.org/pod/Devel::Size::Report, http://metacpan.org/release/Devel-Memalyzer/, http://metacpan.org/pod/Devel::Memalyzer::Plugin::ProcSmaps, http://metacpan.org/release/B-Stats/, http://metacpan.org/release/B-C/

Other Items of Interest

http://docs.google.com/present/view?id=dg7kgpct_24cjs3c9fv, http://diotalevi.isa-geek.net/~josh/090402/frontend.png, http://netjam.org/spoon/viz/, http://java.dzone.com/announcements/visualvm-12-great-java

Devel::NYTProf - Powerful fast feature-rich Perl source code profiler

SYNOPSIS
DESCRIPTION
Statement Profiling
Subroutine Profiling
Application Profiling
Fast Profiling
Apache Profiling
PROFILING
NYTPROF ENVIRONMENT VARIABLE
addpid=1
addtimestamp=1
trace=N
log=F
start=...
optimize=0
subs=0
blocks=1
stmts=0
calls=N
leave=0
findcaller=1
use_db_sub=1
savesrc=0
slowops=N
usecputime=1
file=...
compress=...
clock=N
sigexit=1
posix_exit=1
libcexit=1
endatexit=1
forkdepth=N
nameevals=0
nameanonsubs=0
RUN-TIME CONTROL OF PROFILING
disable_profile
enable_profile
finish_profile
DATA COLLECTION AND INTERPRETATION
If Statement and Subroutine Timings Don't Match
If Headline Subroutine Timings Don't Match the Called Subs
eval $string
Calls from XSUBs and Opcodes
MAKING NYTPROF FASTER
REPORTS
nytprofhtml
nytprofcg
nytprofcalls
nytprofmerge
LIMITATIONS
Threads and Multiplicity
Coro
FCGI::Engine
For perl < 5.8.8 it may change what caller() returns
For perl < 5.10.1 it can't see some implicit calls and callbacks
#line directives
Freed values in @_ may be mutated
Lvalue subroutines aren't profiled when using use_db_sub=1
CLOCKS
POSIX Clocks
Other Clocks
Clock References
CAVEATS
SMP Systems
Virtual Machines
BUGS
SEE ALSO
TROUBLESHOOTING
"Profile data incomplete, ..." or "Profile format error: ..."
Some source files don't have profile information
Eval ... has unknown invoking fid
Warning: %d subroutine calls had negative time
panic: buffer overflow ...
AUTHORS AND CONTRIBUTORS
Background

Devel::NYTProf::Apache - Profile mod_perl applications with Devel::NYTProf

SYNOPSIS
DESCRIPTION
Example httpd.conf
VIRTUAL HOSTS
LIMITATIONS
TROUBLESHOOTING
SEE ALSO
AUTHOR

Devel::NYTProf::Core - load internals of Devel::NYTProf

DESCRIPTION
SUBROUTINE PROFILER
Before the subroutine call
Make the subroutine call
Completing the measurement
AUTHOR

Devel::NYTProf::Data - Devel::NYTProf data loading and manipulation

SYNOPSIS
DESCRIPTION
METHODS
new
dump_profile_data
normalize_variables
subs_defined_in_file
file_line_range_of_sub
resolve_fid
PROFILE DATA STRUTURE
LIMITATION
SEE ALSO
AUTHOR

Devel::NYTProf::FileInfo

METHODS
sub_call_lines
evals_by_line

Devel::NYTProf::ReadStream - Read Devel::NYTProf data file as a stream

SYNOPSIS
DESCRIPTION

for_chunks( \&callback, %opts )

Chunks

VERSION => $major, $minor, COMMENT => $text, ATTRIBUTE => $key, $value, basetime => $time, xs_version => $ver, perl_version => $ver, clock_id => $num, ticks_per_sec => $num, nv_size => 8, application => $string, OPTION => $key, $value, START_DEFLATE, PID_START => $pid, $parent_pid, $start_time, NEW_FID => $fid, $eval_fid, $eval_line, $flags, $size, $mtime, $name, TIME_BLOCK => $ticks, $fid, $line, $block_line, $sub_line, TIME_LINE => $ticks, $fid, $line, DISCOUNT, SUB_INFO => $fid, $first_line, $last_line, $name, SUB_CALLERS => $fid, $line, $count, $incl_time, $excl_time, $reci_time, $rec_depth, $name, $caller_name, SRC_LINE => $fid, $line, $text, PID_END => $pid, $end_time

SEE ALSO
AUTHOR

Devel::NYTProf::Run - Invoke NYTProf on a piece of code and return the profile

SYNOPSIS
DESCRIPTION

Devel::NYTProf::Util - general utility functions for Devel::NYTProf

SYNOPSIS
DESCRIPTION
FUNCTIONS
SEE ALSO
AUTHOR

Devel::PPPort - Perl/Pollution/Portability

SYNOPSIS
Start using Devel::PPPort for XS projects
DESCRIPTION
Why use ppport.h?
How to use ppport.h
Running ppport.h
FUNCTIONS
WriteFile
GetFileContents
COMPATIBILITY
Provided Perl compatibility API
Perl API not supported by ppport.h

perl 5.24.0, perl 5.23.9, perl 5.23.8, perl 5.22.0, perl 5.21.10, perl 5.21.8, perl 5.21.7, perl 5.21.6, perl 5.21.5, perl 5.21.4, perl 5.21.2, perl 5.21.1, perl 5.19.10, perl 5.19.9, perl 5.19.7, perl 5.19.4, perl 5.19.3, perl 5.19.2, perl 5.19.1, perl 5.18.0, perl 5.17.9, perl 5.17.8, perl 5.17.7, perl 5.17.6, perl 5.17.4, perl 5.17.2, perl 5.15.9, perl 5.15.8, perl 5.15.7, perl 5.15.6, perl 5.15.4, perl 5.15.1, perl 5.14.0, perl 5.13.10, perl 5.13.8, perl 5.13.7, perl 5.13.6, perl 5.13.5, perl 5.13.3, perl 5.13.2, perl 5.13.1, perl 5.11.5, perl 5.11.4, perl 5.11.2, perl 5.11.1, perl 5.11.0, perl 5.10.1, perl 5.10.0, perl 5.9.5, perl 5.9.4, perl 5.9.3, perl 5.9.2, perl 5.9.1, perl 5.9.0, perl 5.8.3, perl 5.8.1, perl 5.8.0, perl 5.7.3, perl 5.7.2, perl 5.7.1, perl 5.6.1, perl 5.6.0, perl 5.005_03, perl 5.005, perl 5.004_05, perl 5.004, perl 5.003_07

BUGS
AUTHORS
COPYRIGHT
SEE ALSO

Devel::Peek - A data debugging tool for the XS programmer

SYNOPSIS
DESCRIPTION
Runtime debugging
Memory footprint debugging
EXAMPLES
A simple scalar string
A simple scalar number
A simple scalar with an extra reference
A reference to a simple scalar
A reference to an array
A reference to a hash
Dumping a large array or hash
A reference to an SV which holds a C pointer
A reference to a subroutine
EXPORTS
BUGS
AUTHOR
SEE ALSO

Devel::SelfStubber - generate stubs for a SelfLoading module

SYNOPSIS
DESCRIPTION

Digest - Modules that calculate message digests

SYNOPSIS
DESCRIPTION

binary, hex, base64

OO INTERFACE

$ctx = Digest->XXX($arg,...), $ctx = Digest->new(XXX => $arg,...), $ctx = Digest::XXX->new($arg,...), $other_ctx = $ctx->clone, $ctx->reset, $ctx->add( $data ), $ctx->add( $chunk1, $chunk2, ... ), $ctx->addfile( $io_handle ), $ctx->add_bits( $data, $nbits ), $ctx->add_bits( $bitstring ), $ctx->digest, $ctx->hexdigest, $ctx->b64digest

Digest speed
SEE ALSO
AUTHOR

Digest::MD5 - Perl interface to the MD5 Algorithm

SYNOPSIS
DESCRIPTION
FUNCTIONS

md5($data,...), md5_hex($data,...), md5_base64($data,...)

METHODS

$md5 = Digest::MD5->new, $md5->reset, $md5->clone, $md5->add($data,...), $md5->addfile($io_handle), $md5->add_bits($data, $nbits), $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest, @ctx = $md5->context, $md5->context(@ctx)

EXAMPLES
SEE ALSO
COPYRIGHT
AUTHORS

Digest::SHA - Perl extension for SHA-1/224/256/384/512

SYNOPSIS
SYNOPSIS (HMAC-SHA)
ABSTRACT
DESCRIPTION
UNICODE AND SIDE EFFECTS
NIST STATEMENT ON SHA-1
PADDING OF BASE64 DIGESTS
EXPORT
EXPORTABLE FUNCTIONS

sha1($data, ...), sha224($data, ...), sha256($data, ...), sha384($data, ...), sha512($data, ...), sha512224($data, ...), sha512256($data, ...), sha1_hex($data, ...), sha224_hex($data, ...), sha256_hex($data, ...), sha384_hex($data, ...), sha512_hex($data, ...), sha512224_hex($data, ...), sha512256_hex($data, ...), sha1_base64($data, ...), sha224_base64($data, ...), sha256_base64($data, ...), sha384_base64($data, ...), sha512_base64($data, ...), sha512224_base64($data, ...), sha512256_base64($data, ...), new($alg), reset($alg), hashsize, algorithm, clone, add($data, ...), add_bits($data, $nbits), add_bits($bits), addfile(*FILE), addfile($filename [, $mode]), getstate, putstate($str), dump($filename), load($filename), digest, hexdigest, b64digest, hmac_sha1($data, $key), hmac_sha224($data, $key), hmac_sha256($data, $key), hmac_sha384($data, $key), hmac_sha512($data, $key), hmac_sha512224($data, $key), hmac_sha512256($data, $key), hmac_sha1_hex($data, $key), hmac_sha224_hex($data, $key), hmac_sha256_hex($data, $key), hmac_sha384_hex($data, $key), hmac_sha512_hex($data, $key), hmac_sha512224_hex($data, $key), hmac_sha512256_hex($data, $key), hmac_sha1_base64($data, $key), hmac_sha224_base64($data, $key), hmac_sha256_base64($data, $key), hmac_sha384_base64($data, $key), hmac_sha512_base64($data, $key), hmac_sha512224_base64($data, $key), hmac_sha512256_base64($data, $key)

SEE ALSO
AUTHOR
ACKNOWLEDGMENTS

Digest::base - Digest base class

SYNOPSIS
DESCRIPTION
SEE ALSO

Digest::file - Calculate digests of files

SYNOPSIS
DESCRIPTION

digest_file( $file, $algorithm, [$arg,...] ), digest_file_hex( $file, $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...] )

SEE ALSO

DirHandle - (obsolete) supply object methods for directory handles

SYNOPSIS
DESCRIPTION

Dumpvalue - provides screen dump of Perl data.

SYNOPSIS
DESCRIPTION
Creation

arrayDepth, hashDepth, compactDump, veryCompact, globPrint, dumpDBFiles, dumpPackages, dumpReused, tick, quoteHighBit, printUndef, usageOnly, unctrl, subdump, bareStringify, quoteHighBit, stopDbSignal

Methods

dumpValue, dumpValues, stringify, dumpvars, set_quote, set_unctrl, compactDump, veryCompact, set, get

DynaLoader - Dynamically load C libraries into Perl code

SYNOPSIS
DESCRIPTION

@dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs, @dl_modules, @dl_shared_objects, dl_error(), $dl_debug, $dl_dlext, dl_findfile(), dl_expandspec(), dl_load_file(), dl_unload_file(), dl_load_flags(), dl_find_symbol(), dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(), bootstrap(), bootstrap_inherit()

CPERL CHANGES

.bs bootstrap files are not supported anymore, More PERL_DL_DEBUG=3 diagnostics, compile-time expansion of Config and ENV vars, $DynaLoader::dl_dlext not honored, dl_load_flags not yet honored

AUTHOR

Encode - character encodings in Perl

SYNOPSIS
Table of Contents

Encode::Alias - Alias definitions to encodings, Encode::Encoding - Encode Implementation Base Class, Encode::Supported - List of Supported Encodings, Encode::CN - Simplified Chinese Encodings, Encode::JP - Japanese Encodings, Encode::KR - Korean Encodings, Encode::TW - Traditional Chinese Encodings

DESCRIPTION
TERMINOLOGY
THE PERL ENCODING API
Basic methods
Listing available encodings
Defining Aliases
Finding IANA Character Set Registry names
Encoding via PerlIO
Handling Malformed Data
List of CHECK values

perlqq mode (CHECK = Encode::FB_PERLQQ), HTML charref mode (CHECK = Encode::FB_HTMLCREF), XML charref mode (CHECK = Encode::FB_XMLCREF)

coderef for CHECK
Defining Encodings
The UTF8 flag

Goal #1:, Goal #2:, Goal #3:, Goal #4:

Messing with Perl's Internals
UTF-8 vs. utf8 vs. UTF8
SEE ALSO
MAINTAINER
COPYRIGHT

Encode::Alias - alias definitions to encodings

SYNOPSIS
DESCRIPTION

As a simple string, As a qr// compiled regular expression, e.g.:, As a code reference, e.g.:

Alias overloading
SEE ALSO

Encode::Byte - Single Byte Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_*

Encode::CN - China-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

Encode::CN::HZ -- internally used by Encode::CN

Encode::Config -- internally used by Encode

Encode::EBCDIC - EBCDIC Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

Encode::Encoder -- Object Oriented Encoder

SYNOPSIS
ABSTRACT
Description
Predefined Methods

$e = Encode::Encoder->new([$data, $encoding]);, encoder(), $e->data([$data]), $e->encoding([$encoding]), $e->bytes([$encoding])

Example: base64 transcoder
Operator Overloading
SEE ALSO

Encode::Encoding - Encode Implementation Base Class

SYNOPSIS
DESCRIPTION
Methods you should implement

->encode($string [,$check]), ->decode($octets [,$check]), ->cat_decode($destination, $octets, $offset, $terminator [,$check])

Other methods defined in Encode::Encodings

->name, ->mime_name, ->renew, ->renewed, ->perlio_ok(), ->needs_lines()

Example: Encode::ROT13
Why the heck Encode API is different?
Compiled Encodings
SEE ALSO

Scheme 1, Scheme 2, Other Schemes

Encode::GSM0338 -- ESTI GSM 03.38 Encoding

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

Encode::Guess -- Guesses encoding from data

SYNOPSIS
ABSTRACT
DESCRIPTION

Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode("Guess" ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects])

CAVEATS
TO DO
SEE ALSO

Encode::JP - Japanese Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
Note on ISO-2022-JP(-1)?
BUGS
SEE ALSO

Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*

Encode::JP::JIS7 -- internally used by Encode::JP

Encode::KR - Korean Encodings

SYNOPSIS
DESCRIPTION
BUGS
SEE ALSO

Encode::KR::2022_KR -- internally used by Encode::KR

Encode::MIME::Header -- MIME encoding for an unstructured email header

SYNOPSIS
ABSTRACT
DESCRIPTION
BUGS
AUTHORS
SEE ALSO

Encode::MIME::Name, Encode::MIME::NAME -- internally used by Encode

SEE ALSO

Encode::PerlIO -- a detailed document on Encode and PerlIO

Overview
How does it work?
Line Buffering
How can I tell whether my encoding fully supports PerlIO ?
SEE ALSO

Encode::Supported -- Encodings supported by Encode

DESCRIPTION
Encoding Names
Supported Encodings
Built-in Encodings
Encode::Unicode -- other Unicode encodings
Encode::Byte -- Extended ASCII

ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world

gsm0338 - Hentai Latin 1

gsm0338 support before 2.19

CJK: Chinese, Japanese, Korean (Multibyte)

Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN

Miscellaneous encodings

Encode::EBCDIC, Encode::Symbols, Encode::MIME::Header, Encode::Guess

Unsupported encodings
  ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings,
Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran
System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS,
Various Mac encodings, (Mac) Indic encodings
Encoding vs. Charset -- terminology
Encoding Classification (by Anton Tagunov and Dan Kogai)

KS_C_5601-1987, GB2312, Big5, Shift_JIS

Glossary

character repertoire, coded character set (CCS), character encoding scheme (CES), charset (in MIME context), EUC, ISO-2022, UCS, UCS-2, Unicode, UTF, UTF-16

See Also
References

ECMA, ECMA-035 (eq ISO-2022), IANA, Assigned Charset Names by IANA, ISO, RFC, UC, Unicode Glossary

Other Notable Sites

czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org: "Introduction to i18n"

Offline sources

CJKV Information Processing by Ken Lunde

Encode::Symbol - Symbol Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

Encode::TW - Taiwan-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

Encode::Unicode -- Various Unicode Transformation Formats

SYNOPSIS
ABSTRACT

http://www.unicode.org/glossary/ says:, Quick Reference

Size, Endianness, and BOM
by size
by endianness

BOM as integer when fetched in network byte order

Surrogate Pairs
Error Checking
SEE ALSO

Encode::Unicode::UTF7 -- UTF-7 encoding

SYNOPSIS
ABSTRACT
In Practice
SEE ALSO

English - use nice English (or awk) names for ugly punctuation variables

SYNOPSIS
DESCRIPTION
PERFORMANCE

Env - perl module that imports environment variables as scalars or arrays

SYNOPSIS
DESCRIPTION
LIMITATIONS
AUTHOR

Errno - System errno constants

SYNOPSIS
DESCRIPTION
CAVEATS
AUTHOR
COPYRIGHT

Exporter - Implements default import method for modules

SYNOPSIS
DESCRIPTION
How to Export
Selecting What to Export
How to Import

use YourModule;, use YourModule ();, use YourModule qw(...);

Advanced Features
Specialised Import Lists
Exporting Without Using Exporter's import Method
Exporting Without Inheriting from Exporter
Module Version Checking
Managing Unknown Symbols
Tag Handling Utility Functions
Generating Combined Tags
AUTOLOADed Constants
Good Practices
Declaring @EXPORT_OK and Friends
Playing Safe
What Not to Export
SEE ALSO
LICENSE

Exporter::Heavy - Exporter guts

SYNOPSIS
DESCRIPTION
SYNOPSIS
DESCRIPTION
METHODS

new, have_compiler, have_cplusplus, compile, object_file, include_dirs, extra_compiler_flags, C++, link, lib_file, module_name, extra_linker_flags, link_executable, exe_file, object_file, lib_file, exe_file, prelink, need_prelink, extra_link_args_after_prelink

TO DO
HISTORY
SUPPORT
AUTHOR
COPYRIGHT
SEE ALSO

ExtUtils::CBuilder::Platform::Windows - Builder class for Windows platforms

DESCRIPTION
AUTHOR
SEE ALSO

ExtUtils::Command - utilities to replace common UNIX commands in Makefiles etc.

SYNOPSIS
DESCRIPTION
FUNCTIONS

cat

eqtime

rm_rf

rm_f

touch

mv

cp

chmod

mkpath

test_f

test_d

dos2unix

SEE ALSO
AUTHOR

ExtUtils::Command::MM - Commands for the MM's to use in Makefiles

SYNOPSIS
DESCRIPTION

test_harness

pod2man

warn_if_old_packlist

perllocal_install

uninstall

test_s

cp_nonempty

ExtUtils::Constant - generate XS code to import C header constants

SYNOPSIS
DESCRIPTION
USAGE

IV, UV, NV, PV, PVN, SV, YES, NO, UNDEF

FUNCTIONS

constant_types

C_constant

XS_constant PACKAGE, TYPES, XS_SUBNAME, C_SUBNAME

autoload PACKAGE, VERSION, AUTOLOADER

WriteMakefileSnippet

WriteConstants ATTRIBUTE => VALUE [, ...], NAME, DEFAULT_TYPE, BREAKOUT_AT, NAMES, PROXYSUBS, C_FH, C_FILE, XS_FH, XS_FILE, XS_SUBNAME, C_SUBNAME

PERFORMANCE
AUTHOR

ExtUtils::Constant::Base - base class for ExtUtils::Constant objects

SYNOPSIS
DESCRIPTION
USAGE

header

memEQ_clause args_hashref

dump_names arg_hashref, ITEM..

assign arg_hashref, VALUE..

return_clause arg_hashref, ITEM

switch_clause arg_hashref, NAMELEN, ITEMHASH, ITEM..

params WHAT

dogfood arg_hashref, ITEM..

normalise_items args, default_type, seen_types, seen_items, ITEM..

C_constant arg_hashref, ITEM.., name, type, value, macro, default, pre, post, def_pre, def_post, utf8, weight

BUGS
AUTHOR

ExtUtils::Constant::ProxySubs - generate XS ProxySubs code

SYNOPSIS
DESCRIPTION
OPTIONS

autoload, push, croak_on_error, croak_on_read

AUTHOR

ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant

SYNOPSIS
DESCRIPTION
USAGE

C_stringify NAME

perl_stringify NAME

AUTHOR

ExtUtils::Constant::XS - generate C code for XS modules' constants.

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications

SYNOPSIS
DESCRIPTION
@EXPORT
FUNCTIONS

xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(), ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)

EXAMPLES
SEE ALSO
AUTHOR

ExtUtils::Install - install files from here to there

SYNOPSIS
VERSION
DESCRIPTION

_chmod($$;$), _warnonce(@), _choke(@)

_move_file_at_boot( $file, $target, $moan )

_unlink_or_rename( $file, $tryhard, $installing )

Functions

_get_install_skip

_have_write_access

_can_write_dir($dir)

_mkpath($dir,$show,$mode,$verbose,$dry_run)

_copy($from,$to,$verbose,$dry_run)

_chdir($from)

install

_do_cleanup

install_rooted_file( $file ), install_rooted_dir( $dir )

forceunlink( $file, $tryhard )

directory_not_empty( $dir )

install_default DISCOURAGED

uninstall

inc_uninstall($filepath,$libdir,$verbose,$dry_run,$ignore,$results)

run_filter($cmd,$src,$dest)

pm_to_blib

_autosplit

_invokant

ENVIRONMENT

PERL_INSTALL_ROOT, EU_INSTALL_IGNORE_SKIP, EU_INSTALL_SITE_SKIPFILE, EU_INSTALL_ALWAYS_COPY

AUTHOR
LICENSE

ExtUtils::Installed - Inventory management of installed modules

SYNOPSIS
DESCRIPTION
USAGE
METHODS

new(), modules(), files(), directories(), directory_tree(), validate(), packlist(), version()

EXAMPLE
AUTHOR

ExtUtils::Liblist - determine libraries to use and how to use them

SYNOPSIS
DESCRIPTION

For static extensions, For dynamic extensions at build/link time, For dynamic extensions at load time

EXTRALIBS
LDLOADLIBS and LD_RUN_PATH
BSLOADLIBS
PORTABILITY
VMS implementation
Win32 implementation
SEE ALSO

ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass

SYNOPSIS
DESCRIPTION

ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods
AUTHOR
SEE ALSO

ExtUtils::MM_Any - Platform-agnostic MM methods

SYNOPSIS
DESCRIPTION
METHODS
Cross-platform helper methods
Targets
Init methods
Tools
File::Spec wrappers
Misc
AUTHOR

ExtUtils::MM_BeOS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

init_linker

ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

cflags

replace_manpage_separator

init_linker

maybe_command

dynamic_lib

install

all_target

ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods

os_flavor

replace_manpage_separator

xs_static_lib_is_xs

AUTHOR
SEE ALSO

ExtUtils::MM_Darwin - special behaviors for OS X

SYNOPSIS
DESCRIPTION
Overridden Methods

ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic

SYNOPSIS
DESCRIPTION

ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

init_platform, platform_constants

static_lib_pure_cmd

xs_static_lib_is_xs

dynamic_lib

ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS

init_dist

init_linker

os_flavor

xs_static_lib_is_xs

ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods
AUTHOR
SEE ALSO

ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods

os_flavor

replace_manpage_separator

AUTHOR
SEE ALSO

ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS
Methods

os_flavor

c_o (o)

xs_obj_opt

dbgoutflag

cflags (o)

const_cccmd (o)

const_config (o)

const_loadlibs (o)

constants (o)

depend (o)

init_DEST

init_dist

dist (o)

dist_basics (o)

dist_ci (o)

dist_core (o)

dist_target

tardist_target

zipdist_target

tarfile_target

zipfile_target

uutardist_target

shdist_target

dlsyms (o)

dynamic_bs (o)

dynamic_lib (o)

xs_dynamic_lib_macros

xs_make_dynamic_lib

exescan

extliblist

find_perl

fixin

force (o)

guess_name

has_link_code

init_dirscan

init_MANPODS

init_MAN1PODS

init_MAN3PODS

init_PM

init_DIRFILESEP

init_main

init_tools

init_linker

init_lib2arch

init_PERL

init_platform, platform_constants

init_PERM

init_xs

install (o)

installbin (o)

linkext (o)

lsdir

macro (o)

makeaperl (o)

xs_static_lib_is_xs (o)

makefile (o)

maybe_command

needs_linking (o)

parse_abstract

parse_version

pasthru (o)

perl_script

perldepend (o)

pm_to_blib

ppd

prefixify

processPL (o)

specify_shell

quote_paren

replace_manpage_separator

cd

oneliner

quote_literal

escape_newlines

max_exec_len

static (o)

xs_make_static_lib

static_lib_closures

static_lib_fixtures

static_lib_pure_cmd

staticmake (o)

subdir_x (o)

subdirs (o)

test (o)

test_via_harness (override)

test_via_script (override)

tool_xsubpp (o)

all_target

top_targets (o)

writedoc

xs_c (o)

xs_cpp (o)

xs_o (o)

SEE ALSO

ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
Methods always loaded

wraplist

Methods

guess_name (override)

find_perl (override)

_fixin_replace_shebang (override)

maybe_command (override)

pasthru (override)

pm_to_blib (override)

perl_script (override)

replace_manpage_separator

init_DEST

init_DIRFILESEP

init_main (override)

init_tools (override)

init_platform (override)

platform_constants

init_VERSION (override)

constants (override)

special_targets

cflags (override)

const_cccmd (override)

tools_other (override)

init_dist (override)

c_o (override)

xs_c (override)

xs_o (override)

_xsbuild_replace_macro (override)

_xsbuild_value (override)

dlsyms (override)

xs_obj_opt

dynamic_lib (override)

xs_make_static_lib (override)

static_lib_pure_cmd (override)

xs_static_lib_is_xs

extra_clean_files

zipfile_target, tarfile_target, shdist_target

install (override)

perldepend (override)

makeaperl (override)

maketext_filter (override)

prefixify (override)

cd

oneliner

echo

quote_literal

escape_dollarsigns

escape_all_dollarsigns

escape_newlines

max_exec_len

init_linker

catdir (override), catfile (override)

eliminate_macros

fixpath

os_flavor

is_make_type (override)

make_type (override)

AUTHOR

ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods
AUTHOR
SEE ALSO

ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
Overridden methods

dlsyms

xs_dlsyms_ext

replace_manpage_separator

maybe_command

init_DIRFILESEP

init_tools

init_others

init_platform, platform_constants

specify_shell

constants

special_targets

static_lib_pure_cmd

dynamic_lib

extra_clean_files

init_linker

perl_script

quote_dep

xs_obj_opt

pasthru

arch_check (override)

oneliner

cd

max_exec_len

os_flavor

dbgoutflag

cflags

make_type

ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X

SYNOPSIS
DESCRIPTION
Overridden methods

max_exec_len

os_flavor

AUTHOR

ExtUtils::MY - ExtUtils::MakeMaker subclass for customization

SYNOPSIS
DESCRIPTION

ExtUtils::MakeMaker - Create a module Makefile

SYNOPSIS
DESCRIPTION
How To Write A Makefile.PL
Default Makefile Behaviour
make test
make testdb
make install
INSTALL_BASE
PREFIX and LIB attribute
AFS users
Static Linking of a new Perl Binary
Determination of Perl Library and Installation Locations
Which architecture dependent directory?
Using Attributes and Parameters

ABSTRACT, ABSTRACT_FROM, AUTHOR, BINARY_LOCATION, BUILD_REQUIRES, C, CCFLAGS, CONFIG, CONFIGURE, CONFIGURE_REQUIRES, DEFINE, DESTDIR, DIR, DISTNAME, DISTVNAME, DLEXT, DL_FUNCS, DL_VARS, EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITEBIN, INSTALLSITELIB, INSTALLSITEMAN1DIR, INSTALLSITEMAN3DIR, INSTALLSITESCRIPT, INSTALLVENDORARCH, INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, INSTALLVENDORMAN3DIR, INSTALLVENDORSCRIPT, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LICENSE, LINKTYPE, MAGICXS, MAKE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, MAP_TARGET, META_ADD, META_MERGE, MIN_PERL_VERSION, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_MYMETA, NO_PACKLIST, NO_PERLLOCAL, NO_VC, OBJECT, OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_DIR, PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PPM_UNINSTALL_EXEC, PPM_UNINSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SIGN, SKIP, TEST_REQUIRES, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM, VERSION_SYM, XS, XSBUILD, XSMULTI, XSOPT, XSPROTOARG, XS_VERSION

Additional lowercase attributes

clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean, test, tool_autosplit

Overriding MakeMaker Methods
The End Of Cargo Cult Programming

MAN3PODS => ' '

Hintsfile support
Distribution Support
   make distcheck,    make skipcheck,    make distclean,    make veryclean,
   make manifest,    make distdir,   make disttest,    make tardist,   
make dist,    make uutardist,    make shdist,    make zipdist,    make ci
Module Meta-Data (META and MYMETA)
Disabling an extension
Other Handy Functions

prompt, os_unsupported

Supported versions of Perl
ENVIRONMENT

PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE

SEE ALSO
AUTHORS
LICENSE

ExtUtils::MakeMaker::Config - Wrapper around Config.pm

SYNOPSIS
DESCRIPTION

ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker

DESCRIPTION
Module Installation

How do I install a module into my home directory?, How do I get MakeMaker and Module::Build to install to the same place?, How do I keep from installing man pages?, How do I use a module without installing it?, How can I organize tests into subdirectories and have them run?, PREFIX vs INSTALL_BASE from Module::Build::Cookbook, Generating *.pm files with substitutions eg of $VERSION

Common errors and problems

"No rule to make target `/usr/lib/perl5/CORE/config.h', needed by `Makefile'"

Philosophy and History

Why not just use <insert other build config tool here>?, What is Module::Build and how does it relate to MakeMaker?, pure perl. no make, no shell commands, easier to customize, cleaner internals, less cruft

Module Writing

How do I keep my $VERSION up to date without resetting it manually?, What's this META.yml thing and how did it get in my MANIFEST?!, How do I delete everything not in my MANIFEST?, Which tar should I use on Windows?, Which zip should I use on Windows for '[ndg]make zipdist'?

XS

How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?, How do I make two or more XS files coexist in the same directory?, XSMULTI, Separate directories, Bootstrapping

DESIGN
MakeMaker object hierarchy (simplified)
MakeMaker object hierarchy (real)
The MM_* hierarchy
PATCHING

make a pull request on the MakeMaker github repository, raise a issue on the MakeMaker github repository, file an RT ticket, email makemaker@perl.org

AUTHOR
SEE ALSO

ExtUtils::MakeMaker::Locale - bundled Encode::Locale

SYNOPSIS
DESCRIPTION

decode_argv( ), decode_argv( Encode::FB_CROAK ), env( $uni_key ), env( $uni_key => $uni_value ), reinit( ), reinit( $encoding ), $ENCODING_LOCALE, $ENCODING_LOCALE_FS, $ENCODING_CONSOLE_IN, $ENCODING_CONSOLE_OUT

NOTES
Windows
Mac OS X
POSIX (Linux and other Unixes)
SEE ALSO
AUTHOR

ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker

SYNOPSIS
DESCRIPTION
The Mantra
The Layout

Makefile.PL, MANIFEST, lib/, t/, Changes, README, INSTALL, MANIFEST.SKIP, bin/

SEE ALSO

ExtUtils::Manifest - Utilities to write and check a MANIFEST file

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS
mkmanifest
manifind
manicheck
filecheck
fullcheck
skipcheck
maniread
maniskip
manicopy
maniadd
MANIFEST
MANIFEST.SKIP

#!include_default, #!include /Path/to/another/manifest.skip

EXPORT_OK
GLOBAL VARIABLES
DIAGNOSTICS

Not in MANIFEST: file, Skipping file, No such file: file, MANIFEST: $!, Added to MANIFEST: file

ENVIRONMENT

PERL_MM_MANIFEST_DEBUG

SEE ALSO
AUTHOR

ExtUtils::Miniperl - write the C code for miniperlmain.c and perlmain.c

SYNOPSIS
DESCRIPTION
SEE ALSO

ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader

SYNOPSIS
DESCRIPTION

ExtUtils::Mksymlists - write linker options files for dynamic extension

SYNOPSIS
DESCRIPTION

DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME

AUTHOR
REVISION

mkfh()

__find_relocations

ExtUtils::Packlist - manage .packlist files

SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS

new(), read(), write(), validate(), packlist_file()

EXAMPLE
AUTHOR

ExtUtils::ParseXS - converts Perl XS code into C code

SYNOPSIS
DESCRIPTION
EXPORT
METHODS

$pxs->new(), $pxs->process_file(), C++, hiertype, except, typemap, prototypes, versioncheck, linenumbers, optimize, inout, argtypes, s, $pxs->report_error_count()

AUTHOR
COPYRIGHT
SEE ALSO

ExtUtils::ParseXS::Constants - Initialization values for some globals

SYNOPSIS
DESCRIPTION

ExtUtils::ParseXS::Eval - Clean package to evaluate code in

SYNOPSIS
SUBROUTINES
$pxs->eval_output_typemap_code($typemapcode, $other_hashref)
$pxs->eval_input_typemap_code($typemapcode, $other_hashref)
TODO

ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS

SYNOPSIS
SUBROUTINES
standard_typemap_locations()

Purpose, Arguments, Return Value

trim_whitespace()

Purpose, Argument, Return Value

C_string()

Purpose, Arguments, Return Value

valid_proto_string()

Purpose, Arguments, Return Value

process_typemaps()

Purpose, Arguments, Return Value

map_type()

Purpose, Arguments, Return Value

standard_XS_defs()

Purpose, Arguments, Return Value

assign_func_args()

Purpose, Arguments, Return Value

analyze_preprocessor_statements()

Purpose, Arguments, Return Value

set_cond()

Purpose, Arguments, Return Value

current_line_number()

Purpose, Arguments, Return Value

Warn()

Purpose, Arguments, Return Value

blurt()

Purpose, Arguments, Return Value

death()

Purpose, Arguments, Return Value

check_conditional_preprocessor_statements()

Purpose, Arguments, Return Value

escape_file_for_line_directive()

Purpose, Arguments, Return Value

report_typemap_failure

Purpose, Arguments, Return Value

ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files

SYNOPSIS
DESCRIPTION
METHODS
new
file
add_typemap
add_inputmap
add_outputmap
add_string
remove_typemap
remove_inputmap
remove_inputmap
get_typemap
get_inputmap
get_outputmap
write
as_string
as_embedded_typemap
merge
is_empty
list_mapped_ctypes
_get_typemap_hash
_get_inputmap_hash
_get_outputmap_hash
_get_prototype_hash
clone
tidy_type
CAVEATS
SEE ALSO
AUTHOR

ExtUtils::Typemaps::Cmd - Quick commands for handling typemaps

SYNOPSIS
DESCRIPTION
EXPORTED FUNCTIONS
embeddable_typemap
SEE ALSO
AUTHOR

ExtUtils::Typemaps::InputMap - Entry in the INPUT section of a typemap

SYNOPSIS
DESCRIPTION
METHODS
new
code
xstype
cleaned_code
SEE ALSO
AUTHOR

ExtUtils::Typemaps::OutputMap - Entry in the OUTPUT section of a typemap

SYNOPSIS
DESCRIPTION
METHODS
new
code
xstype
cleaned_code
targetable
SEE ALSO
AUTHOR

ExtUtils::Typemaps::Type - Entry in the TYPEMAP section of a typemap

SYNOPSIS
DESCRIPTION
METHODS
new
proto
xstype
ctype
tidy_ctype
SEE ALSO
AUTHOR

ExtUtils::XSSymSet - keep sets of symbol names palatable to the VMS linker

SYNOPSIS
DESCRIPTION

new([$maxlen[,$silent]]), addsym($name[,$maxlen[,$silent]]), trimsym($name[,$maxlen[,$silent]]), delsym($name), get_orig($trimmed), get_trimmed($name), all_orig(), all_trimmed()

AUTHOR
REVISION

ExtUtils::testlib - add blib/* directories to @INC

SYNOPSIS
DESCRIPTION

Fatal - Replace functions with equivalents which succeed or die

SYNOPSIS
BEST PRACTICE
DESCRIPTION
DIAGNOSTICS

Bad subroutine name for Fatal: %s, %s is not a Perl subroutine, %s is neither a builtin, nor a Perl subroutine, Cannot make the non-overridable %s fatal, Internal error: %s

BUGS
AUTHOR
LICENSE
SEE ALSO

Fcntl - load the C Fcntl.h defines

SYNOPSIS
DESCRIPTION
NOTE
EXPORTED SYMBOLS

File::Basename - Parse file paths into directory, filename and suffix.

SYNOPSIS
DESCRIPTION

fileparse

basename

dirname

fileparse_set_fstype

SEE ALSO

File::Compare - Compare files or filehandles

SYNOPSIS
DESCRIPTION
RETURN
AUTHOR

File::Copy - Copy files or filehandles

SYNOPSIS
DESCRIPTION

copy , move , syscopy , rmscopy($from,$to[,$date_flag])

RETURN
AUTHOR

File::DosGlob - DOS like globbing and then some

SYNOPSIS
DESCRIPTION
EXPORTS (by request only)
BUGS
AUTHOR
HISTORY
SEE ALSO

File::Fetch - A generic file fetching mechanism

SYNOPSIS
DESCRIPTION
ACCESSORS

$ff->uri, $ff->scheme, $ff->host, $ff->vol, $ff->share, $ff->path, $ff->file, $ff->file_default

$ff->output_file

METHODS
$ff = File::Fetch->new( uri => 'http://some.where.com/dir/file.txt' );
$where = $ff->fetch( [to => /my/output/dir/ | \$scalar] )
$ff->error([BOOL])
HOW IT WORKS
GLOBAL VARIABLES
$File::Fetch::FROM_EMAIL
$File::Fetch::USER_AGENT
$File::Fetch::FTP_PASSIVE
$File::Fetch::TIMEOUT
$File::Fetch::WARN
$File::Fetch::DEBUG
$File::Fetch::BLACKLIST
$File::Fetch::METHOD_FAIL
MAPPING
FREQUENTLY ASKED QUESTIONS
So how do I use a proxy with File::Fetch?
I used 'lynx' to fetch a file, but its contents is all wrong!
Files I'm trying to fetch have reserved characters or non-ASCII characters in them. What do I do?
TODO

Implement $PREFER_BIN

BUG REPORTS
AUTHOR
COPYRIGHT

File::Find - Traverse a directory tree.

SYNOPSIS
DESCRIPTION

find, finddepth

%options

wanted, bydepth, preprocess, postprocess, follow, follow_fast, follow_skip, dangling_symlinks, no_chdir, untaint, untaint_pattern, untaint_skip

The wanted function

$File::Find::dir is the current directory name,, $_ is the current filename within that directory, $File::Find::name is the complete pathname to the file

WARNINGS
CAVEAT

$dont_use_nlink, symlinks

BUGS AND CAVEATS
HISTORY
SEE ALSO

File::Glob - Perl extension for BSD glob routine

SYNOPSIS
DESCRIPTION
META CHARACTERS
EXPORTS
POSIX FLAGS

GLOB_ERR, GLOB_LIMIT, GLOB_MARK, GLOB_NOCASE, GLOB_NOCHECK, GLOB_NOSORT, GLOB_BRACE, GLOB_NOMAGIC, GLOB_QUOTE, GLOB_TILDE, GLOB_CSH, GLOB_ALPHASORT

DIAGNOSTICS

GLOB_NOSPACE, GLOB_ABEND

NOTES
SEE ALSO
AUTHOR

File::GlobMapper - Extend File Glob to Allow Input and Output Files

SYNOPSIS
DESCRIPTION
Behind The Scenes
Limitations
Input File Glob

~, ~user, ., *, ?, \, [], {,}, ()

Output File Glob

"*", #1

Returned Data
EXAMPLES
A Rename script
A few example globmaps
SEE ALSO
AUTHOR

File::Path - Create or remove directory trees

VERSION
SYNOPSIS
DESCRIPTION

make_path( $dir1, $dir2, .... ), make_path( $dir1, $dir2, ...., \%opts ), mode => $num, chmod => $num, verbose => $bool, error => \$err, owner => $owner, user => $owner, uid => $owner, group => $group, mkpath( $dir ), mkpath( $dir, $verbose, $mode ), mkpath( [$dir1, $dir2,...], $verbose, $mode ), mkpath( $dir1, $dir2,..., \%opt ), remove_tree( $dir1, $dir2, .... ), remove_tree( $dir1, $dir2, ...., \%opts ), verbose => $bool, safe => $bool, keep_root => $bool, result => \$res, error => \$err, rmtree( $dir ), rmtree( $dir, $verbose, $safe ), rmtree( [$dir1, $dir2,...], $verbose, $safe ), rmtree( $dir1, $dir2,..., \%opt )

ERROR HANDLING

NOTE:

NOTES

http://cve.circl.lu/cve/CVE-2004-0452, http://cve.circl.lu/cve/CVE-2005-0448

DIAGNOSTICS

mkdir [path]: [errmsg] (SEVERE), No root path(s) specified, No such file or directory, cannot fetch initial working directory: [errmsg], cannot stat initial working directory: [errmsg], cannot chdir to [dir]: [errmsg], directory [dir] changed before chdir, expected dev=[n] ino=[n], actual dev=[n] ino=[n], aborting (FATAL), cannot make directory [dir] read+writeable: [errmsg], cannot read [dir]: [errmsg], cannot reset chmod [dir]: [errmsg], cannot remove [dir] when cwd is [dir], cannot chdir to [parent-dir] from [child-dir]: [errmsg], aborting (FATAL), cannot stat prior working directory [dir]: [errmsg], aborting (FATAL), previous directory [parent-dir] changed before entering [child-dir], expected dev=[n] ino=[n], actual dev=[n] ino=[n], aborting (FATAL), cannot make directory [dir] writeable: [errmsg], cannot remove directory [dir]: [errmsg], cannot restore permissions of [dir] to [0nnn]: [errmsg], cannot make file [file] writeable: [errmsg], cannot unlink file [file]: [errmsg], cannot restore permissions of [file] to [0nnn]: [errmsg], unable to map [owner] to a uid, ownership not changed");, unable to map [group] to a gid, group ownership not changed

SEE ALSO
BUGS AND LIMITATIONS
MULTITHREADED APPLICATIONS
NFS Mount Points
REPORTING BUGS
ACKNOWLEDGEMENTS
AUTHORS
CONTRIBUTORS

<bulkdd@cpan.org>, Charlie Gonzalez <itcharlie@cpan.org>, Craig A. Berry <craigberry@mac.com>, James E Keenan <jkeenan@cpan.org>, John Lightsey <john@perlsec.org>, Nigel Horne <njh@bandsman.co.uk>, Reini Urban <rurban@cpan.org>, Richard Elberger <riche@cpan.org>, Ryan Yee <ryee@cpan.org>, Skye Shaw <shaw@cpan.org>, Tom Lutz <tommylutz@gmail.com>, Will Sheppard <willsheppard@github>

COPYRIGHT
LICENSE

File::Spec - portably perform operations on file names

SYNOPSIS
DESCRIPTION
METHODS

canonpath , catdir , catfile , curdir , devnull , rootdir , tmpdir , updir , no_upwards, case_tolerant, file_name_is_absolute, path , join , splitpath , splitdir , catpath(), abs2rel , rel2abs()

SEE ALSO
AUTHOR
COPYRIGHT

File::Spec::AmigaOS - File::Spec for AmigaOS

SYNOPSIS
DESCRIPTION
METHODS

tmpdir

file_name_is_absolute

File::Spec::Cygwin - methods for Cygwin file specs

SYNOPSIS
DESCRIPTION

canonpath

file_name_is_absolute

tmpdir (override)

case_tolerant

COPYRIGHT

File::Spec::Epoc - methods for Epoc file specs

SYNOPSIS
DESCRIPTION

canonpath()

AUTHOR
COPYRIGHT
SEE ALSO

File::Spec::Functions - portably perform operations on file names

SYNOPSIS
DESCRIPTION
Exports
COPYRIGHT
SEE ALSO

File::Spec::Mac - File::Spec for Mac OS (Classic)

SYNOPSIS
DESCRIPTION
METHODS

canonpath

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

file_name_is_absolute

path

splitpath

splitdir

catpath

abs2rel

rel2abs

AUTHORS
COPYRIGHT
SEE ALSO

File::Spec::OS2 - methods for OS/2 file specs

SYNOPSIS
DESCRIPTION

tmpdir, splitpath

COPYRIGHT

File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules

SYNOPSIS
DESCRIPTION
METHODS

canonpath()

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

no_upwards

case_tolerant

file_name_is_absolute

path

join

splitpath

splitdir

catpath()

abs2rel

rel2abs()

COPYRIGHT
SEE ALSO

File::Spec::VMS - methods for VMS file specs

SYNOPSIS
DESCRIPTION

canonpath (override)

catdir (override)

catfile (override)

curdir (override)

devnull (override)

rootdir (override)

tmpdir (override)

updir (override)

case_tolerant (override)

path (override)

file_name_is_absolute (override)

splitpath (override)

splitdir (override)

catpath (override)

abs2rel (override)

rel2abs (override)

COPYRIGHT
SEE ALSO

File::Spec::Win32 - methods for Win32 file specs

SYNOPSIS
DESCRIPTION

devnull

tmpdir

case_tolerant

file_name_is_absolute

catfile

canonpath

splitpath

splitdir

catpath

Note For File::Spec::Win32 Maintainers
COPYRIGHT
SEE ALSO

File::Temp - return name and handle of a temporary file safely

VERSION
SYNOPSIS
DESCRIPTION
PORTABILITY
OBJECT-ORIENTED INTERFACE

new, newdir, filename, dirname, unlink_on_destroy, DESTROY

FUNCTIONS

tempfile, tempdir

MKTEMP FUNCTIONS

mkstemp, mkstemps, mkdtemp, mktemp

POSIX FUNCTIONS

tmpnam, tmpfile

ADDITIONAL FUNCTIONS

tempnam

UTILITY FUNCTIONS

unlink0, cmpstat, unlink1, cleanup

PACKAGE VARIABLES

safe_level, STANDARD, MEDIUM, HIGH, TopSystemUID, $KEEP_ALL, $DEBUG

WARNING
Temporary files and NFS
Forking
Directory removal
Taint mode
BINMODE
HISTORY
SEE ALSO
SUPPORT
AUTHOR
CONTRIBUTORS

File::stat - by-name interface to Perl's built-in stat() functions

SYNOPSIS
DESCRIPTION
BUGS
ERRORS

-%s is not implemented on a File::stat object

WARNINGS

File::stat ignores use filetest 'access', File::stat ignores VMS ACLs

NOTE
AUTHOR

FileCache - keep more files open than the system permits

SYNOPSIS
DESCRIPTION

cacheout EXPR, cacheout MODE, EXPR

CAVEATS
BUGS

FileHandle - supply object methods for filehandles

SYNOPSIS
DESCRIPTION

$fh->print, $fh->printf, $fh->getline, $fh->getlines

SEE ALSO

Filter::Simple - Simplified source filtering

SYNOPSIS
DESCRIPTION
The Problem
A Solution
Disabling or changing <no> behaviour
All-in-one interface
Filtering only specific components of source code

"code", "code_no_comments", "executable", "executable_no_comments", "quotelike", "string", "regex", "all"

Filtering only the code parts of source code
Using Filter::Simple with an explicit import subroutine
Using Filter::Simple and Exporter together
How it works
AUTHOR
CONTACT

Filter::Util::Call - Perl Source Filter Utility Module

SYNOPSIS
DESCRIPTION
use Filter::Util::Call
import()
filter_add()
filter() and anonymous sub

$_, $status, filter_read and filter_read_exact, filter_del, real_import, unimport()

LIMITATIONS

__DATA__ is ignored, Max. codesize limited to 32-bit

EXAMPLES
Example 1: A simple filter.
Example 2: Using the context
Example 3: Using the context within the filter
Example 4: Using filter_del
Filter::Simple
AUTHOR
DATE
LICENSE

FindBin - Locate directory of original perl script

SYNOPSIS
DESCRIPTION
EXPORTABLE VARIABLES
KNOWN ISSUES
AUTHORS
COPYRIGHT

Getopt::Long - Extended processing of command line options

SYNOPSIS
DESCRIPTION
Command Line Options, an Introduction
Getting Started with Getopt::Long
Simple options
A little bit less simple options
Mixing command line option with other arguments
Options with values
Options with multiple values
Options with hash values
User-defined subroutines to handle options
Options with multiple names
Case and abbreviations
Summary of Option Specifications

!, +, s, i, o, f, : type [ desttype ], : number [ desttype ], : + [ desttype ]

Advanced Possibilities
Object oriented interface
Thread Safety
Documentation and help texts
Parsing options from an arbitrary array
Parsing options from an arbitrary string
Storing options values in a hash
Bundling
The lonesome dash
Argument callback
Configuring Getopt::Long

default, posix_default, auto_abbrev, getopt_compat, gnu_compat, gnu_getopt, require_order, permute, bundling (default: disabled), bundling_override (default: disabled), ignore_case (default: enabled), ignore_case_always (default: disabled), auto_version (default:disabled), auto_help (default:disabled), pass_through (default: disabled), prefix, prefix_pattern, long_prefix_pattern, debug (default: disabled)

Exportable Methods

VersionMessage, -message, -msg, -exitval, -output, HelpMessage

Return values and Errors
Legacy
Default destinations
Alternative option starters
Configuration variables
Tips and Techniques
Pushing multiple values in a hash option
Troubleshooting
GetOptions does not return a false result when an option is not supplied
GetOptions does not split the command line correctly
Undefined subroutine &main::GetOptions called
How do I put a "-?" option into a Getopt::Long?
AUTHOR

Getopt::Std - Process single-character switches with switch clustering

SYNOPSIS
DESCRIPTION
--help and --version

HTTP::Tiny - A small, simple, correct HTTP/1.1 client

VERSION
SYNOPSIS
DESCRIPTION
METHODS
new
get|head|put|post|delete
post_form
mirror
request
www_form_urlencode
can_ssl
connected
SSL SUPPORT
PROXY SUPPORT
LIMITATIONS
SEE ALSO
SUPPORT
Bugs / Feature Requests
Source Code
AUTHORS
CONTRIBUTORS

Hash::Util - A selection of general-utility hash subroutines

SYNOPSIS
DESCRIPTION
Restricted hashes

lock_keys, unlock_keys

lock_keys_plus

lock_value, unlock_value

lock_hash, unlock_hash

lock_hash_recurse, unlock_hash_recurse

hashref_locked, hash_locked

hashref_unlocked, hash_unlocked

legal_keys, hidden_keys, all_keys, hash_seed, hash_value, bucket_info, bucket_stats, bucket_array

bucket_stats_formatted

hv_store, hash_traversal_mask, bucket_ratio, used_buckets, num_buckets

Operating on references to hashes.

lock_ref_keys, unlock_ref_keys, lock_ref_keys_plus, lock_ref_value, unlock_ref_value, lock_hashref, unlock_hashref, lock_hashref_recurse, unlock_hashref_recurse, hash_ref_unlocked, legal_ref_keys, hidden_ref_keys

CAVEATS
BUGS
AUTHOR
SEE ALSO

Hash::Util::FieldHash - Support for Inside-Out Classes

SYNOPSIS
FUNCTIONS

id, id_2obj, register, idhash, idhashes, fieldhash, fieldhashes

DESCRIPTION
The Inside-out Technique
Problems of Inside-out
Solutions
More Problems
The Generic Object
How to use Field Hashes
Garbage-Collected Hashes
EXAMPLES

init(), first(), last(), name(), Name_hash, Name_id, Name_idhash, Name_id_reg, Name_idhash_reg, Name_fieldhash

Example 1
Example 2
GUTS
The PERL_MAGIC_uvar interface for hashes
Weakrefs call uvar magic
How field hashes work
Internal function Hash::Util::FieldHash::_fieldhash
AUTHOR

I18N::LangTags - functions for dealing with RFC3066-style language tags

SYNOPSIS
DESCRIPTION

the function is_language_tag($lang1)

the function extract_language_tags($whatever)

the function same_language_tag($lang1, $lang2)

the function similarity_language_tag($lang1, $lang2)

the function is_dialect_of($lang1, $lang2)

the function super_languages($lang1)

the function locale2language_tag($locale_identifier)

the function encode_language_tag($lang1)

the function alternate_language_tags($lang1)

the function @langs = panic_languages(@accept_languages)

the function implicate_supers( ...languages... ), the function implicate_supers_strictly( ...languages... )

ABOUT LOWERCASING
ABOUT UNICODE PLAINTEXT LANGUAGE TAGS
SEE ALSO
COPYRIGHT
AUTHOR

I18N::LangTags::Detect - detect the user's language preferences

SYNOPSIS
DESCRIPTION
FUNCTIONS
ENVIRONMENT
SEE ALSO
COPYRIGHT
AUTHOR

I18N::LangTags::List -- tags and names for human languages

SYNOPSIS
DESCRIPTION
ABOUT LANGUAGE TAGS
LIST OF LANGUAGES

{ab} : Abkhazian, {ace} : Achinese, {ach} : Acoli, {ada} : Adangme, {ady} : Adyghe, {aa} : Afar, {afh} : Afrihili, {af} : Afrikaans, [{afa} : Afro-Asiatic (Other)], {ak} : Akan, {akk} : Akkadian, {sq} : Albanian, {ale} : Aleut, [{alg} : Algonquian languages], [{tut} : Altaic (Other)], {am} : Amharic, {i-ami} : Ami, [{apa} : Apache languages], {ar} : Arabic, {arc} : Aramaic, {arp} : Arapaho, {arn} : Araucanian, {arw} : Arawak, {hy} : Armenian, {an} : Aragonese, [{art} : Artificial (Other)], {ast} : Asturian, {as} : Assamese, [{ath} : Athapascan languages], [{aus} : Australian languages], [{map} : Austronesian (Other)], {av} : Avaric, {ae} : Avestan, {awa} : Awadhi, {ay} : Aymara, {az} : Azerbaijani, {ban} : Balinese, [{bat} : Baltic (Other)], {bal} : Baluchi, {bm} : Bambara, [{bai} : Bamileke languages], {bad} : Banda, [{bnt} : Bantu (Other)], {bas} : Basa, {ba} : Bashkir, {eu} : Basque, {btk} : Batak (Indonesia), {bej} : Beja, {be} : Belarusian, {bem} : Bemba, {bn} : Bengali, [{ber} : Berber (Other)], {bho} : Bhojpuri, {bh} : Bihari, {bik} : Bikol, {bin} : Bini, {bi} : Bislama, {bs} : Bosnian, {bra} : Braj, {br} : Breton, {bug} : Buginese, {bg} : Bulgarian, {i-bnn} : Bunun, {bua} : Buriat, {my} : Burmese, {cad} : Caddo, {car} : Carib, {ca} : Catalan, [{cau} : Caucasian (Other)], {ceb} : Cebuano, [{cel} : Celtic (Other)], [{cai} : Central American Indian (Other)], {chg} : Chagatai, [{cmc} : Chamic languages], {ch} : Chamorro, {ce} : Chechen, {chr} : Cherokee, {chy} : Cheyenne, {chb} : Chibcha, {ny} : Chichewa, {zh} : Chinese, {chn} : Chinook Jargon, {chp} : Chipewyan, {cho} : Choctaw, {cu} : Church Slavic, {chk} : Chuukese, {cv} : Chuvash, {cop} : Coptic, {kw} : Cornish, {co} : Corsican, {cr} : Cree, {mus} : Creek, [{cpe} : English-based Creoles and pidgins (Other)], [{cpf} : French-based Creoles and pidgins (Other)], [{cpp} : Portuguese-based Creoles and pidgins (Other)], [{crp} : Creoles and pidgins (Other)], {hr} : Croatian, [{cus} : Cushitic (Other)], {cs} : Czech, {dak} : Dakota, {da} : Danish, {dar} : Dargwa, {day} : Dayak, {i-default} : Default (Fallthru) Language, {del} : Delaware, {din} : Dinka, {dv} : Divehi, {doi} : Dogri, {dgr} : Dogrib, [{dra} : Dravidian (Other)], {dua} : Duala, {nl} : Dutch, {dum} : Middle Dutch (ca.1050-1350), {dyu} : Dyula, {dz} : Dzongkha, {efi} : Efik, {egy} : Ancient Egyptian, {eka} : Ekajuk, {elx} : Elamite, {en} : English, {enm} : Old English (1100-1500), {ang} : Old English (ca.450-1100), {i-enochian} : Enochian (Artificial), {myv} : Erzya, {eo} : Esperanto, {et} : Estonian, {ee} : Ewe, {ewo} : Ewondo, {fan} : Fang, {fat} : Fanti, {fo} : Faroese, {fj} : Fijian, {fi} : Finnish, [{fiu} : Finno-Ugrian (Other)], {fon} : Fon, {fr} : French, {frm} : Middle French (ca.1400-1600), {fro} : Old French (842-ca.1400), {fy} : Frisian, {fur} : Friulian, {ff} : Fulah, {gaa} : Ga, {gd} : Scots Gaelic, {gl} : Gallegan, {lg} : Ganda, {gay} : Gayo, {gba} : Gbaya, {gez} : Geez, {ka} : Georgian, {de} : German, {gmh} : Middle High German (ca.1050-1500), {goh} : Old High German (ca.750-1050), [{gem} : Germanic (Other)], {gil} : Gilbertese, {gon} : Gondi, {gor} : Gorontalo, {got} : Gothic, {grb} : Grebo, {grc} : Ancient Greek, {el} : Modern Greek, {gn} : Guarani, {gu} : Gujarati, {gwi} : Gwich'in, {hai} : Haida, {ht} : Haitian, {ha} : Hausa, {haw} : Hawaiian, {he} : Hebrew, {hz} : Herero, {hil} : Hiligaynon, {him} : Himachali, {hi} : Hindi, {ho} : Hiri Motu, {hit} : Hittite, {hmn} : Hmong, {hu} : Hungarian, {hup} : Hupa, {iba} : Iban, {is} : Icelandic, {io} : Ido, {ig} : Igbo, {ijo} : Ijo, {ilo} : Iloko, [{inc} : Indic (Other)], [{ine} : Indo-European (Other)], {id} : Indonesian, {inh} : Ingush, {ia} : Interlingua (International Auxiliary Language Association), {ie} : Interlingue, {iu} : Inuktitut, {ik} : Inupiaq, [{ira} : Iranian (Other)], {ga} : Irish, {mga} : Middle Irish (900-1200), {sga} : Old Irish (to 900), [{iro} : Iroquoian languages], {it} : Italian, {ja} : Japanese, {jv} : Javanese, {jrb} : Judeo-Arabic, {jpr} : Judeo-Persian, {kbd} : Kabardian, {kab} : Kabyle, {kac} : Kachin, {kl} : Kalaallisut, {xal} : Kalmyk, {kam} : Kamba, {kn} : Kannada, {kr} : Kanuri, {krc} : Karachay-Balkar, {kaa} : Kara-Kalpak, {kar} : Karen, {ks} : Kashmiri, {csb} : Kashubian, {kaw} : Kawi, {kk} : Kazakh, {kha} : Khasi, {km} : Khmer, [{khi} : Khoisan (Other)], {kho} : Khotanese, {ki} : Kikuyu, {kmb} : Kimbundu, {rw} : Kinyarwanda, {ky} : Kirghiz, {i-klingon} : Klingon, {kv} : Komi, {kg} : Kongo, {kok} : Konkani, {ko} : Korean, {kos} : Kosraean, {kpe} : Kpelle, {kro} : Kru, {kj} : Kuanyama, {kum} : Kumyk, {ku} : Kurdish, {kru} : Kurukh, {kut} : Kutenai, {lad} : Ladino, {lah} : Lahnda, {lam} : Lamba, {lo} : Lao, {la} : Latin, {lv} : Latvian, {lb} : Letzeburgesch, {lez} : Lezghian, {li} : Limburgish, {ln} : Lingala, {lt} : Lithuanian, {nds} : Low German, {art-lojban} : Lojban (Artificial), {loz} : Lozi, {lu} : Luba-Katanga, {lua} : Luba-Lulua, {lui} : Luiseno, {lun} : Lunda, {luo} : Luo (Kenya and Tanzania), {lus} : Lushai, {mk} : Macedonian, {mad} : Madurese, {mag} : Magahi, {mai} : Maithili, {mak} : Makasar, {mg} : Malagasy, {ms} : Malay, {ml} : Malayalam, {mt} : Maltese, {mnc} : Manchu, {mdr} : Mandar, {man} : Mandingo, {mni} : Manipuri, [{mno} : Manobo languages], {gv} : Manx, {mi} : Maori, {mr} : Marathi, {chm} : Mari, {mh} : Marshall, {mwr} : Marwari, {mas} : Masai, [{myn} : Mayan languages], {men} : Mende, {mic} : Micmac, {min} : Minangkabau, {i-mingo} : Mingo, [{mis} : Miscellaneous languages], {moh} : Mohawk, {mdf} : Moksha, {mo} : Moldavian, [{mkh} : Mon-Khmer (Other)], {lol} : Mongo, {mn} : Mongolian, {mos} : Mossi, [{mul} : Multiple languages], [{mun} : Munda languages], {nah} : Nahuatl, {nap} : Neapolitan, {na} : Nauru, {nv} : Navajo, {nd} : North Ndebele, {nr} : South Ndebele, {ng} : Ndonga, {ne} : Nepali, {new} : Newari, {nia} : Nias, [{nic} : Niger-Kordofanian (Other)], [{ssa} : Nilo-Saharan (Other)], {niu} : Niuean, {nog} : Nogai, {non} : Old Norse, [{nai} : North American Indian], {no} : Norwegian, {nb} : Norwegian Bokmal, {nn} : Norwegian Nynorsk, [{nub} : Nubian languages], {nym} : Nyamwezi, {nyn} : Nyankole, {nyo} : Nyoro, {nzi} : Nzima, {oc} : Occitan (post 1500), {oj} : Ojibwa, {or} : Oriya, {om} : Oromo, {osa} : Osage, {os} : Ossetian; Ossetic, [{oto} : Otomian languages], {pal} : Pahlavi, {i-pwn} : Paiwan, {pau} : Palauan, {pi} : Pali, {pam} : Pampanga, {pag} : Pangasinan, {pa} : Panjabi, {pap} : Papiamento, [{paa} : Papuan (Other)], {fa} : Persian, {peo} : Old Persian (ca.600-400 B.C.), [{phi} : Philippine (Other)], {phn} : Phoenician, {pon} : Pohnpeian, {pl} : Polish, {pt} : Portuguese, [{pra} : Prakrit languages], {pro} : Old Provencal (to 1500), {ps} : Pushto, {qu} : Quechua, {rm} : Raeto-Romance, {raj} : Rajasthani, {rap} : Rapanui, {rar} : Rarotongan, [{qaa - qtz} : Reserved for local use.], [{roa} : Romance (Other)], {ro} : Romanian, {rom} : Romany, {rn} : Rundi, {ru} : Russian, [{sal} : Salishan languages], {sam} : Samaritan Aramaic, {se} : Northern Sami, {sma} : Southern Sami, {smn} : Inari Sami, {smj} : Lule Sami, {sms} : Skolt Sami, [{smi} : Sami languages (Other)], {sm} : Samoan, {sad} : Sandawe, {sg} : Sango, {sa} : Sanskrit, {sat} : Santali, {sc} : Sardinian, {sas} : Sasak, {sco} : Scots, {sel} : Selkup, [{sem} : Semitic (Other)], {sr} : Serbian, {srr} : Serer, {shn} : Shan, {sn} : Shona, {sid} : Sidamo, {sgn-...} : Sign Languages, {bla} : Siksika, {sd} : Sindhi, {si} : Sinhalese, [{sit} : Sino-Tibetan (Other)], [{sio} : Siouan languages], {den} : Slave (Athapascan), [{sla} : Slavic (Other)], {sk} : Slovak, {sl} : Slovenian, {sog} : Sogdian, {so} : Somali, {son} : Songhai, {snk} : Soninke, {wen} : Sorbian languages, {nso} : Northern Sotho, {st} : Southern Sotho, [{sai} : South American Indian (Other)], {es} : Spanish, {suk} : Sukuma, {sux} : Sumerian, {su} : Sundanese, {sus} : Susu, {sw} : Swahili, {ss} : Swati, {sv} : Swedish, {syr} : Syriac, {tl} : Tagalog, {ty} : Tahitian, [{tai} : Tai (Other)], {tg} : Tajik, {tmh} : Tamashek, {ta} : Tamil, {i-tao} : Tao, {tt} : Tatar, {i-tay} : Tayal, {te} : Telugu, {ter} : Tereno, {tet} : Tetum, {th} : Thai, {bo} : Tibetan, {tig} : Tigre, {ti} : Tigrinya, {tem} : Timne, {tiv} : Tiv, {tli} : Tlingit, {tpi} : Tok Pisin, {tkl} : Tokelau, {tog} : Tonga (Nyasa), {to} : Tonga (Tonga Islands), {tsi} : Tsimshian, {ts} : Tsonga, {i-tsu} : Tsou, {tn} : Tswana, {tum} : Tumbuka, [{tup} : Tupi languages], {tr} : Turkish, {ota} : Ottoman Turkish (1500-1928), {crh} : Crimean Turkish, {tk} : Turkmen, {tvl} : Tuvalu, {tyv} : Tuvinian, {tw} : Twi, {udm} : Udmurt, {uga} : Ugaritic, {ug} : Uighur, {uk} : Ukrainian, {umb} : Umbundu, {und} : Undetermined, {ur} : Urdu, {uz} : Uzbek, {vai} : Vai, {ve} : Venda, {vi} : Vietnamese, {vo} : Volapuk, {vot} : Votic, [{wak} : Wakashan languages], {wa} : Walloon, {wal} : Walamo, {war} : Waray, {was} : Washo, {cy} : Welsh, {wo} : Wolof, {x-...} : Unregistered (Semi-Private Use), {xh} : Xhosa, {sah} : Yakut, {yao} : Yao, {yap} : Yapese, {ii} :