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

# 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
History
Miscellaneous
Language-Specific
Platform-Specific
Stubs for Deleted Documents

DESCRIPTION
AVAILABILITY
ENVIRONMENT
AUTHOR
FILES
SEE ALSO
  <https://www.perl.org/>, <https://www.perl.com/>, <https://www.cpan.org/>, <https://www.pm.org/>
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 , -d , -dt, -d: MOD[=bar,baz] , -dt: MOD[=bar,baz], -Dletters , -Dnumber, -e commandline , -E commandline , -f
  , -Fpattern , -g , -h , -? , -i[extension] , -Idirectory , -l[octnum] , -m[-]module , -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n , -p , -s , -S , -t , -T , -u , -U , -v , -V , -V: configvar, -w , -W , -X , -x , -xdirectory

ENVIRONMENT
  HOME , LOGDIR , PATH , PERL5LIB , PERL5OPT , PERLIO , :crlf , :perlio , :stdio , :unix , PERLIO_DEBUG , PERLLIB , PERL5DB , PERL5DB_THREADED , PERL5SHELL (specific to the Win32 port) , PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port) , PERL_DEBUG_MSTATS , PERL_DESTRUCT_LEVEL , PERL_DL_NONLAZY , PERL_ENCODING , PERL_HASH_SEED , PERL_PERTURB_KEYS , PERL_HASH_SEED_DEBUG , PERL_MEM_LOG , PERL_ROOT (specific to the VMS port) , PERL_SIGNALS , PERL_UNICODE , PERL_USE_UNSAFE_INC , SYS$LOGIN (specific to the VMS port) , PERL_INTERNAL_RAND_SEED , PERL_RAND_SEED
ORDER OF APPLICATION
  -I, -M, the PERL5LIB environment variable, combinations of -I, -M and PERL5LIB, the PERL5OPT environment variable, Other complications, arch and version subdirs, sitecustomize.pl

## 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 VERSION"
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
AUTHOR AND COPYRIGHT

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
Extracting matches
Backreferences
Relative backreferences
Named backreferences
Alternative capture group numbering
Position information
Non-capturing groupings
Matching repetitions
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
OO System Summary
  Moose, Class::Accessor, Class::Tiny, Role::Tiny
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 is Raku (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?
Does Perl have anything like Ruby's #{} or Python's f string?
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 set up a footer format to be used with write()?
How can I write() into a string?
How can I output my numbers with commas added?
How can I translate tildes (~) in a filename?
When I open a file read-write, why does it wipe 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?
Why does exec() not 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: declarations, statements, comments

DESCRIPTION

Declarations
Comments
Simple Statements
Statement Modifiers
Compound Statements
Loop Control
For Loops
Foreach Loops
Try Catch Exception Handling
Basic BLOCKs
defer 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

SEE ALSO

## perlop - Perl expressions: operators, precedence, string literals

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
Named Unary Operators
Relational Operators
Equality Operators
Class Instance Operator
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
C-style Logical Xor
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

APPENDIX

List of Extra Paired Delimiters

## perlsub - Perl subroutines (user-defined functions)

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
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, Bless the referred-to item into a specific package (recommended form):, Bless the referred-to item into package "main":, Bless the referred-to item into the current package (not inheritable):, break, caller EXPR , caller, chdir EXPR
  , chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST , chomp VARIABLE
  , chomp( LIST ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST
  , chr NUMBER , chr, chroot FILENAME , chroot, class NAMESPACE, class NAMESPACE VERSION, class NAMESPACE BLOCK, class NAMESPACE VERSION BLOCK, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR
  , cos, crypt PLAINTEXT,SALT

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

  , eval BLOCK, eval, String eval, Under the "unicode_eval" feature, Outside the "unicode_eval" feature, If upgraded, $v will be "\xc4\x80" (i.e., the "use utf8" has no effect.), If non-upgraded, $v will be "\x{100}", Block eval, evalbytes EXPR , evalbytes, exec LIST , exec PROGRAM LIST, exists EXPR
  , exit EXPR , exit, exp EXPR , exp, fc EXPR , fc, fcntl FILEHANDLE,FUNCTION,SCALAR , __FILE__ , field VARNAME , fileno FILEHANDLE , fileno DIRHANDLE, flock FILEHANDLE,OPERATION , fork , format , formline PICTURE,LIST , getc FILEHANDLE , getc, getlogin
  , getpeername SOCKET , getpgrp PID , getppid , getpriority WHICH,WHO , getpwnam NAME

  , getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockname SOCKET , getsockopt SOCKET,LEVEL,OPTNAME , glob EXPR
  , glob, gmtime EXPR
  , gmtime, goto LABEL , goto EXPR, goto &NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR
  , hex, import LIST , index STR,SUBSTR,POSITION , index STR,SUBSTR, int EXPR , int, ioctl FILEHANDLE,FUNCTION,SCALAR , join EXPR,LIST , keys HASH
  , keys ARRAY, kill SIGNAL, LIST, kill SIGNAL , last LABEL , last EXPR, last, lc EXPR , lc, If "use bytes" is in effect:, Otherwise, if "use locale" for "LC_CTYPE" is in effect:, Otherwise, If EXPR has the UTF8 flag set:, Otherwise, if "use feature 'unicode_strings'" or use locale ':not_characters' is in effect:, Otherwise:, lcfirst EXPR , lcfirst, length EXPR , length, __LINE__ , link OLDFILE,NEWFILE , listen SOCKET,QUEUESIZE , local EXPR , localtime EXPR , localtime, lock THING , log EXPR , log, lstat FILEHANDLE , lstat EXPR, lstat DIRHANDLE, lstat, m//, map BLOCK LIST , map EXPR,LIST, method NAME BLOCK , method NAME : ATTRS BLOCK, mkdir FILENAME,MODE , mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my VARLIST , my TYPE VARLIST, my VARLIST : ATTRS, my TYPE VARLIST : ATTRS, next LABEL , next EXPR, next, no MODULE VERSION LIST , no MODULE VERSION, no MODULE LIST, no MODULE, no VERSION, oct EXPR
  , oct, open FILEHANDLE,MODE,EXPR
  , open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,EXPR, open FILEHANDLE, Working with files, Simple examples, About filehandles, About modes, Checking the return value, Specifying I/O layers in MODE, Using "undef" for temporary files, Opening a filehandle into an in-memory scalar, Opening a filehandle into a command, Duping filehandles, Legacy usage, Specifying mode and filename as a single argument, Assigning a filehandle to a bareword, Calling "open" with one argument via global variables, Other considerations, Automatic filehandle closure, Automatic pipe flushing, Direct versus by-reference assignment of filehandles, Whitespace and special characters in the filename argument, Invoking C-style "open", Portability issues, opendir DIRHANDLE,EXPR , ord EXPR , ord, our VARLIST , our TYPE VARLIST, our VARLIST : ATTRS, our TYPE VARLIST : ATTRS, pack TEMPLATE,LIST , package NAMESPACE, package NAMESPACE VERSION
  , package NAMESPACE BLOCK, package NAMESPACE VERSION BLOCK , __PACKAGE__ , __CLASS__ , pipe READHANDLE,WRITEHANDLE , pop ARRAY , pop, pos SCALAR , pos, print FILEHANDLE LIST , print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST , printf FILEHANDLE, printf FORMAT, LIST, printf, prototype FUNCTION , prototype, push ARRAY,LIST , q/STRING/, qq/STRING/, qw/STRING/, qx/STRING/, qr/STRING/, quotemeta EXPR , quotemeta, rand EXPR , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET , read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR, readline , readlink EXPR , readlink, readpipe EXPR, readpipe , recv SOCKET,SCALAR,LENGTH,FLAGS , redo LABEL , redo EXPR, redo, ref EXPR , ref, rename OLDNAME,NEWNAME , require VERSION , require EXPR, require, reset EXPR , reset, return EXPR , return, reverse LIST , rewinddir DIRHANDLE , rindex STR,SUBSTR,POSITION , rindex STR,SUBSTR, rmdir FILENAME , rmdir, s///, say FILEHANDLE LIST , say FILEHANDLE, say LIST, say, scalar EXPR , seek FILEHANDLE,POSITION,WHENCE , seekdir DIRHANDLE,POS , select FILEHANDLE , select, select RBITS,WBITS,EBITS,TIMEOUT , semctl ID,SEMNUM,CMD,ARG , semget KEY,NSEMS,FLAGS , semop KEY,OPSTRING , send SOCKET,MSG,FLAGS,TO , send SOCKET,MSG,FLAGS, setpgrp PID,PGRP
  , setpriority WHICH,WHO,PRIORITY
  , setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL , shift ARRAY , shift, shmctl ID,CMD,ARG , shmget KEY,SIZE,FLAGS , shmread ID,VAR,POS,SIZE , shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW , sin EXPR , sin, sleep EXPR , sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL , socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL , sort SUBNAME LIST , sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST , splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT , split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST , format parameter index, flags, vector flag, (minimum) width, precision, or maximum width , size, order of arguments, sqrt EXPR , sqrt, srand EXPR , srand, stat FILEHANDLE
  , stat EXPR, stat DIRHANDLE, stat, state VARLIST , state TYPE VARLIST, state VARLIST : ATTRS, state TYPE VARLIST : ATTRS, study SCALAR , study, sub NAME BLOCK , sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, __SUB__ , substr EXPR,OFFSET,LENGTH,REPLACEMENT
  , substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE , syscall NUMBER, LIST , sysopen FILEHANDLE,FILENAME,MODE , sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET , sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE , system LIST , system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET , syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell FILEHANDLE , tell, telldir DIRHANDLE , tie VARIABLE,CLASSNAME,LIST , tied VARIABLE , time , times , tr///, truncate FILEHANDLE,LENGTH , truncate EXPR,LENGTH, uc EXPR , uc, ucfirst EXPR , ucfirst, umask EXPR , umask, undef EXPR , undef, unlink LIST
  , unlink, unpack TEMPLATE,EXPR , unpack TEMPLATE, unshift ARRAY,LIST , untie VARIABLE , use Module VERSION LIST , use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST , values HASH , values ARRAY, vec EXPR,OFFSET,BITS , wait , waitpid PID,FLAGS , wantarray , warn LIST
  , write FILEHANDLE , write EXPR, write, y///

Non-function Keywords by Cross-reference
  __DATA__, __END__, BEGIN, CHECK, END, INIT, UNITCHECK, DESTROY, and, cmp, eq, ge, gt, isa, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elsif, for, foreach, if, unless, until, while, elseif, default, given, when, try, catch, finally, defer, ADJUST

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

Opening a pipe for reading
Opening a pipe for writing
Expressing the command as a list

SEE ALSO
AUTHOR and COPYRIGHT

## 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", "=head5 Heading Text", "=head6 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", "=head5", "=head6", "=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

## perldocstyle - A style guide for writing Perl's documentation

DESCRIPTION

Purpose of this guide
Intended audience
Status of this document

FUNDAMENTALS

Choice of markup: Pod
Choice of language: American English
Choice of encoding: UTF-8
Choice of underlying style guide: CMOS
Contributing to Perl's documentation

FORMATTING AND STRUCTURE

Document structure
Formatting rules
Adding comments
Perlfunc has special rules

TONE AND STYLE

Apply one of the four documentation modes
Assume readers' intelligence, but not their knowledge
Use meaningful variable and symbol names in examples
Write in English, but not just for English-speakers
Omit placeholder text or commentary
Apply section-breaks and examples generously
Lead with common cases and best practices
Document Perl's present
The documentation speaks with one voice

INDEX OF PREFERRED TERMS
  built-in function, Darwin, macOS, man page, Perl; perl, Perl 5, Perl 6, Perl 5 Porters, the; porters, the; p5p, program, Raku, script, semicolon, Unix
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
COPYRIGHT AND LICENSE
SEE ALSO

## perldiag - various Perl diagnostics

DESCRIPTION
SEE ALSO

## perldeprecation - list Perl deprecations

DESCRIPTION

Unscheduled Deprecations
Perl 5.44
Perl 5.42
Perl 5.40
Perl 5.38
Perl 5.34
Perl 5.32
Perl 5.30
Perl 5.28
Perl 5.26
Perl 5.24
Perl 5.16

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 , $INC , $INPLACE_EDIT, $^I , @ISA , $^M , ${^MAX_NESTED_EVAL_BEGIN_BLOCKS}, $OSNAME, $^O , %SIG , %{^HOOK} , require__before, require__after, $BASETIME, $^T , $PERL_VERSION, $^V , $EXECUTABLE_NAME, $^X
Variables related to regular expressions
  $<digits> ($1, $2, ...) , @{^CAPTURE}
  , $MATCH, $& , ${^MATCH} , $PREMATCH, $` , ${^PREMATCH} , $POSTMATCH, $' , ${^POSTMATCH} , $LAST_PAREN_MATCH, $+ , $LAST_SUBMATCH_RESULT, $^N , @LAST_MATCH_END, @+ , %{^CAPTURE}, %LAST_PAREN_MATCH, %+ , @LAST_MATCH_START, @- , "$`" is the same as "substr($var, 0, $-[0])", $& is the same as "substr($var, $-[0], $+[0] - $-[0])", "$'" is the same as "substr($var, $+[0])", $1 is the same as "substr($var, $-[1], $+[1] - $-[1])", $2 is the same as "substr($var, $-[2], $+[2] - $-[2])", $3 is the same as "substr($var, $-[3], $+[3] - $-[3])", %{^CAPTURE_ALL} , %- , ${^LAST_SUCCESSFUL_PATTERN}, $LAST_REGEXP_CODE_RESULT, $^R , ${^RE_COMPILE_RECURSION_LIMIT} , ${^RE_DEBUG_FLAGS} , ${^RE_TRIE_MAXBUF}
Variables related to filehandles
  $ARGV , @ARGV , ARGV , ARGVOUT , IO::Handle->output_field_separator( EXPR ), $OUTPUT_FIELD_SEPARATOR, $OFS, $, , HANDLE->input_line_number( EXPR ), $INPUT_LINE_NUMBER, $NR, $. , IO::Handle->input_record_separator( EXPR ), $INPUT_RECORD_SEPARATOR, $RS, $/ , IO::Handle->output_record_separator( EXPR ), $OUTPUT_RECORD_SEPARATOR, $ORS, $\ , HANDLE->autoflush( EXPR ), $OUTPUT_AUTOFLUSH, $| , ${^LAST_FH} , $ACCUMULATOR, $^A , IO::Handle->format_formfeed(EXPR), $FORMAT_FORMFEED, $^L , HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $% , HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $- , IO::Handle->format_line_break_characters EXPR, $FORMAT_LINE_BREAK_CHARACTERS, $: , HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $= , HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^ , HANDLE->format_name(EXPR), $FORMAT_NAME, $~
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, $@
Variables related to the interpreter state
  $COMPILING, $^C , $DEBUGGING, $^D , ${^GLOBAL_PHASE} , CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H , %^H , ${^OPEN} , $PERLDB, $^P
  , 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, ${^TAINT} , ${^SAFE_LOCALES} , ${^UNICODE} , ${^UTF8CACHE} , ${^UTF8LOCALE}
Deprecated and removed variables
  $# , $* , $[ , ${^ENCODING} , ${^WIN32_SLOPPY_STAT}

## 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'", "\k{NAME}", "(?{ code })" , "(*{ code })" , "(??{ code })"
  , "(?PARNO)" "(?-PARNO)" "(?+PARNO)" "(?R)" "(?0)"

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

Backtracking
Script Runs
Special Backtracking Control Verbs
  Verbs, "(*PRUNE)" "(*PRUNE: NAME)" , "(*SKIP)" "(*SKIP: NAME)" , "(*MARK: NAME)" "(*:NAME)"
  , "(*THEN)" "(*THEN: NAME)", "(*COMMIT)" "(*COMMIT: arg)" , "(*FAIL)" "(*F)" "(*FAIL: arg)" , "(*ACCEPT)" "(*ACCEPT: arg)"
Warning on "\1" Instead of $1
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], [7], If the "/a" modifier, is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., "word", "ascii", "blank", if, instead, Unicode rules are in effect .., otherwise ..

## 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
Using References
Circular References
Symbolic references
Not-so-symbolic references
Pseudo-hashes: Using an array as a hash
Function Templates
Postfix Dereference Syntax
Postfix Reference Slicing
Assigning to References
Declaring a Reference to a Variable

WARNING: Don't use references as hash keys
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

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

## perlclass - Perl class syntax reference

SYNOPSIS
DESCRIPTION

History

KEYWORDS

class
field
method

ATTRIBUTES

Class attributes
Field attributes
Method attributes

OBJECT LIFECYCLE

Construction
Adjustment
Lifetime
Destruction

TODO
  Roles, Parameters to ADJUST blocks, ADJUST blocks as true blocks, More accessor generator attributes, Metaprogramming, Extension Customisation
KNOWN BUGS
AUTHORS

## 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
OS-Related References
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, alarm, atan2, binmode, chdir, chmod, chown, chroot, crypt, dbmclose, dbmopen, dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid, getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid, getnetbyaddr, getprotobynumber, getpwent, getgrent, gethostbyname, gethostent, getnetent, getprotoent, getservent, seekdir, sethostent, setnetent, setprotoent, setservent, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt, glob, gmtime, ioctl, kill, link, localtime, lstat, msgctl, msgget, msgsnd, msgrcv, open, readlink, rename, rewinddir, select, semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent, setsockopt, shmctl, shmget, shmread, shmwrite, sleep, socketpair, stat, symlink, syscall, sysopen, system, telldir, times, truncate, umask, utime, wait, waitpid

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

(Perl 5.37.1)
  Ultrix
(Perl 5.36)
  NetWare, DOS/DJGPP, AT&T UWIN
(Perl 5.20)
  AT&T 3b1
(Perl 5.14)
  Windows 95, Windows 98, Windows ME, Windows NT4
(Perl 5.12)
  Atari MiNT, Apollo Domain/OS, Apple Mac OS 8/9, Tenon Machten

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_COLLATE": Collation, Category "LC_CTYPE": Character Types, Category "LC_MESSAGES": Error and other messages, Category "LC_TIME": Date/Time formatting, Category "LC_ALL", Other categories
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
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
Category "LC_MESSAGES": System messages
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
"LANGUAGE"
Embedded perls and 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
AUTHOR, COPYRIGHT, AND LICENSE

## perlunicode - Unicode support in Perl

DESCRIPTION

Important Caveats
  Safest if you "use feature 'unicode_strings'", Input and Output Layers, You must convert your non-ASCII, non-UTF-8 Perl scripts to be UTF-8, "use utf8" still needed to enable UTF-8 in scripts, UTF-16 scripts autodetected
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...}"
Comparison of "\N{...}" and "\p{name=...}"
  [1], [2], [3], [4], [5]
Wildcards in Property Values
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. See R2.7 for other properties, [3], [4], [5] "\b" "\B" meet most, but not all, the details of this requirement, but "\b{wb}" and "\B{wb}" do, as well as the stricter R2.3, [6], [7], [8] UTF-8/UTF-EBDDIC used in Perl allows not only "U+10000" to "U+10FFFF" but also beyond "U+10FFFF", [9] Unicode has rewritten this portion of UTS#18 to say that getting canonical equivalence (see UAX#15 "Unicode Normalization Forms" <https://www.unicode.org/reports/tr15>) is basically to be done at the programmer level. Use NFD to write both your regular expressions and text to match them against (you can use Unicode::Normalize), [10] Perl has "\X" and "\b{gcb}". Unicode has retracted their "Grapheme Cluster Mode", and recently added string properties, which Perl does not yet support, [11] see UAX#29 "Unicode Text Segmentation" <https://www.unicode.org/reports/tr29>,, [12] see "Wildcards in Property Values" in perlunicode above, [13] Perl supports all the properties in the Unicode Character Database (UCD). It does not yet support the listed properties that come from other Unicode sources, [14] The only optional property that Perl supports is Named Sequence. None of these properties are in the UCD
Unicode Encodings
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

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
COPYRIGHT AND LICENCE
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?
  If the string's characters are all code point 255 or lower, Perl outputs bytes that match those code points. This is what happens with encoded strings. It can also, though, happen with unencoded strings that happen to be all code point 255 or lower, Otherwise, Perl outputs the string encoded as UTF-8. This only happens with strings you neglected to encode. Since that should not happen, Perl also throws a "wide character" warning in this case
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 15.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

Legal "\p{}" and "\P{}" constructs that match no characters
  \p{Canonical_Combining_Class=Attached_Below_Left}, \p{Canonical_Combining_Class=CCC133}, \p{Grapheme_Cluster_Break=E_Base}, \p{Grapheme_Cluster_Break=E_Base_GAZ}, \p{Grapheme_Cluster_Break=E_Modifier}, \p{Grapheme_Cluster_Break=Glue_After_Zwj}, \p{Word_Break=E_Base}, \p{Word_Break=E_Base_GAZ}, \p{Word_Break=E_Modifier}, \p{Word_Break=Glue_After_Zwj}

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, CJKRadicals.txt, confusables.txt, confusablesSummary.txt, intentional.txt, emoji/ReadMe.txt, ReadMe.txt, EmojiSources.txt, extracted/DName.txt, Index.txt, NamedSqProv.txt, NamesList.html, NamesList.txt, NormalizationCorrections.txt, NushuSources.txt, StandardizedVariants.html, StandardizedVariants.txt, TangutSources.txt, USourceData.txt, USourceGlyphs.pdf
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
Unicode
Algorithmic Complexity Attacks
  Hash Seed Randomization, Hash Traversal Randomization, Bucket Order Perturbance, New Default Hash Function, Alternative Hash Functions
Using Sudo

SEE ALSO

## perlsecpolicy - Perl security report handling policy

DESCRIPTION
REPORTING SECURITY ISSUES IN PERL
WHAT ARE SECURITY ISSUES

Software covered by the Perl security team
Bugs that may qualify as security issues in Perl
Bugs that do not qualify as security issues in Perl
Bugs that require special categorization

HOW WE DEAL WITH SECURITY ISSUES

Perl's vulnerability remediation workflow
Publicly known and zero-day security issues
Vulnerability credit and bounties

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

CPAN
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, <https://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
COPYRIGHT

## 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, Make the tarball, 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, pod2text, pod2html, pod2usage, podchecker, splain, roffitall
Converters
  pl2pm
Administration
  libnetcfg, perlivp
Development
  perlbug, perlthanks, h2ph, h2xs, enc2xs, xsubpp, prove, corelist
General tools
  encguess, json_pp, piconv, ptar, ptardiff, ptargrep, shasum, streamzip, 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
PROBES
  sub-entry(SUBNAME, FILE, LINE, PACKAGE), sub-return(SUBNAME, FILE, LINE, PACKAGE), phase-change(NEWPHASE, OLDPHASE), op-entry(OPNAME), loading-file(FILENAME), loaded-file(FILENAME)
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
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, UTF-8 string
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)

EXAMPLES
CAVEATS

Use of standard C library functions
Event loops and control flow

XS VERSION
AUTHOR DIAGNOSTICS
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 - Interacting with standard C library functions

DESCRIPTION
libc functions to avoid

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

Dealing with locales
Dealing with embedded perls and threads

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

SEE ALSO

## perlguts - Introduction to the Perl API

DESCRIPTION
Variables

Datatypes
What is an "IV"?
Working with SVs
  SvIV(SV*) ("IV") and SvUV(SV*) ("UV"), SvNV(SV*) ("double"), Strings are a bit complicated:, Byte string: "SvPVbyte(SV*, STRLEN len)" or SvPVbyte_nolen(SV*), UTF-8 string: "SvPVutf8(SV*, STRLEN len)" or SvPVutf8_nolen(SV*), You can also use "SvPV(SV*, STRLEN len)" or SvPV_nolen(SV*) to fetch the SV's raw internal buffer. This is tricky, though; if your Perl string is "\xff\xff", then depending on the SV's internal encoding you might get back a 2-byte OR a 4-byte "char*". Moreover, if it's the 4-byte string, that could come from either Perl "\xff\xff" stored UTF-8 encoded, or Perl "\xc3\xbf\xc3\xbf" stored as raw octets. To differentiate between these you MUST look up the SV's UTF8 bit (cf. "SvUTF8") to know whether the source Perl string is 2 characters ("SvUTF8" would be on) or 4 characters ("SvUTF8" would be off)
Offsets
What's Really Stored in an SV?
Working with AVs
  "av_store_simple", "av_fetch_simple", "av_push_simple", are not magical, are not readonly, are "real" (refcounted) AVs, have an av_top_index value > -2
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
I/O Handles
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)", "SAVEI8(I8 i)", "SAVEI16(I16 i)", "SAVEBOOL(int i)", "SAVESTRLEN(STRLEN i)", SAVESPTR(s), SAVEPPTR(p), "SAVERCPV(char **ppv)", "SAVEGENERICSV(SV **psv)", "SAVEFREESV(SV *sv)", "SAVEMORTALIZESV(SV *sv)", "SAVEFREEOP(OP *op)", SAVEFREEPV(p), "SAVEFREERCPV(char *pv)", "SAVECLEARSV(SV *sv)", "SAVEDELETE(HV *hv, char *key, I32 length)", "SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)", "SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)", "MORTALSVFUNC_X(SVFUNC_t f, SV *sv)", "MORTALDESTRUCTOR_SV(SV *coderef, SV *args)", SAVESTACK_POS(), "SV* save_scalar(GV *gv)", "AV* save_ary(GV *gv)", "HV* save_hash(GV *gv)", "void save_item(SV *item)", "SV* save_svref(SV **sptr)", "void save_aptr(AV **aptr)", "void save_hptr(HV **hptr)"

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

Formatted Printing of IVs, UVs, and NVs
Formatted Printing of SVs
Formatted Printing of Strings

Formatted Printing of "Size_t" and "SSize_t"
Formatted Printing of "Ptrdiff_t", "intmax_t", "short" and other special sizes
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 pass a Perl string to a C library?
  bytes: 0x64 0x78 0x8c, UTF-8: 0x64 0x78 0xc2 0x8c
How do I convert a string to UTF-8?
How do I compare strings?
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, xop_peep
Stacks

Value Stack
Mark Stack
Temporaries Stack
Save Stack
Scope Stack

Dynamic Scope and the Context Stack

Introduction to the context stack
Pushing contexts
Popping contexts
Redoing contexts

Reference-counted argument stack

Introduction
Reference counted stack states
  not reference-counted, fully reference-counted, partially reference-counted (split)
Wrapping
(Re)writing a PP function using the rpp_() API

Slab-based operator allocation
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_LIST
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", "logical_nparens"
"logical_to_parno", "parno_to_logical", "parno_to_logical_next"
"lastparen", and "lastcloseparen"
"intflags"
"pprivate"
"offs"
"RX_PRECOMP" "RX_PRELEN"
"paren_names"
"substrs"
"subbeg" "sublen" "saved_copy" "suboffset" "subcoffset"
"RX_WRAPPED" "RX_WRAPLEN"
RX_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", "REGNODE_AFTER", "regnext"

Process Overview
  A. Compilation, 1. Parsing, 2. Peep-hole optimisation and analysis, B. Execution, 3. Start position and no-match optimisations, 4. 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
  "regstclass", "data", "code_blocks", "proglen", "name_list_idx", "program"

SEE ALSO
AUTHOR
LICENCE
REFERENCES

## perlclassguts - Internals of how "feature 'class'" and class syntax works

DESCRIPTION
DATA STORAGE

Classes
Fields
Methods
Instances

API

Class Manipulation
Field Manipulation
Method Manipulation
Object Instances

OPCODES

OP_METHSTART
OP_INITFIELD

COMPILE-TIME BEHAVIOUR

"ADJUST" Phasers
Attributes
Field Initializing Expressions

RUNTIME BEHAVIOUR

Constructor
$self Access During Methods

AUTHORS

## perlapi - autogenerated documentation for the perl public API

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

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

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

Compiler and Preprocessor information
  "CPPLAST" , "CPPMINUS" , "CPPRUN" , "CPPSTDIN" , "HASATTRIBUTE_ALWAYS_INLINE" , "HASATTRIBUTE_DEPRECATED" , "HASATTRIBUTE_FORMAT" , "HASATTRIBUTE_NONNULL" , "HASATTRIBUTE_NORETURN" , "HASATTRIBUTE_PURE" , "HASATTRIBUTE_UNUSED" , "HASATTRIBUTE_VISIBILITY" , "HASATTRIBUTE_WARN_UNUSED_RESULT" , "HAS_BUILTIN_ADD_OVERFLOW" , "HAS_BUILTIN_CHOOSE_EXPR" , "HAS_BUILTIN_EXPECT" , "HAS_BUILTIN_MUL_OVERFLOW" , "HAS_BUILTIN_SUB_OVERFLOW" , "HAS_C99_VARIADIC_MACROS" , "HAS_STATIC_INLINE" , "MEM_ALIGNBYTES" , "PERL_STATIC_INLINE" , "PERL_THREAD_LOCAL" , "U32_ALIGNMENT_REQUIRED"
Compiler directives
  "__ASSERT_" , "ASSUME" , "dNOOP" , "END_EXTERN_C" , "EXTERN_C" , "LIKELY" , "NOOP" , "PERL_UNUSED_ARG" , "PERL_UNUSED_CONTEXT" , "PERL_UNUSED_DECL" , "PERL_UNUSED_RESULT" , "PERL_UNUSED_VAR" , "START_EXTERN_C" , "STATIC", "STMT_END", "STMT_START" , "UNLIKELY"
Compile-time scope hooks
  "BhkDISABLE" , "BhkENABLE" , "BhkENTRY_set" , "blockhook_register"
Concurrency
  "aTHX", "aTHX_", "CPERLscope" , "dTHR", "dTHX", "dTHXa" , "dTHXoa" , "dVAR" , "GETENV_PRESERVES_OTHER_THREAD" , "HAS_PTHREAD_ATFORK" , "HAS_PTHREAD_ATTR_SETSCOPE" , "HAS_PTHREAD_YIELD" , "HAS_SCHED_YIELD" , "I_MACH_CTHREADS" , "I_PTHREAD" , "MULTIPLICITY", "OLD_PTHREAD_CREATE_JOINABLE" , "OLD_PTHREADS_API" , "PERL_IMPLICIT_CONTEXT", "PERL_NO_GET_CONTEXT", "pTHX", "pTHX_", "SCHED_YIELD"
COPs and Hint Hashes
  "cop_fetch_label" , "CopFILE" , "CopFILEAV" , "CopFILEAVn" , "CopFILE_copy" , "CopFILE_free" , "CopFILEGV" , "CopFILEGV_set" , "CopFILE_LEN" , "CopFILE_set" , "CopFILE_setn" , "CopFILESV" , "cophh_copy" , "cophh_delete_pv", "cophh_delete_pvn", "cophh_delete_pvs", "cophh_delete_sv" , "cophh_exists_pvn" , "cophh_fetch_pv", "cophh_fetch_pvn", "cophh_fetch_pvs", "cophh_fetch_sv" , "cophh_free" , "cophh_2hv" , "cophh_new_empty" , "cophh_store_pv", "cophh_store_pvn", "cophh_store_pvs", "cophh_store_sv" , "cop_hints_exists_pv", "cop_hints_exists_pvn", "cop_hints_exists_pvs", "cop_hints_exists_sv" , "cop_hints_fetch_pv", "cop_hints_fetch_pvn", "cop_hints_fetch_pvs", "cop_hints_fetch_sv" , "cop_hints_2hv" , "CopLABEL", "CopLABEL_len", "CopLABEL_len_flags" , "CopLINE" , "CopSTASH" , "CopSTASH_eq" , "CopSTASHPV" , "CopSTASHPV_set" , "CopSTASH_set" , "cop_store_label" , "PERL_SI" , "PL_curcop" , "RCPV_LEN" , "RCPV_REFCNT_dec" , "RCPV_REFCNT_inc" , "RCPV_REFCOUNT" , "RCPVx"
Custom Operators
  "custom_op_register" , "Perl_custom_op_xop" , "XopDISABLE" , "XopENABLE" , "XopENTRY" , "XopENTRYCUSTOM" , "XopENTRY_set" , "XopFLAGS"
CV Handling
  "caller_cx" , "CvDEPTH" , "CvGV" , "CvSTASH" , "find_runcv" , "get_cv", "get_cvn_flags", "get_cvs" , "Nullcv"
Debugging
  "av_dump" , "deb", "deb_nocontext" , "debstack" , "dump_all" , "dump_c_backtrace" , "dump_eval", "dump_form" , "dump_packsubs" , "dump_sub", "get_c_backtrace_dump" , "gv_dump" , "HAS_BACKTRACE" , "hv_dump" , "magic_dump" , "op_class" , "op_dump" , "PL_op", "PL_runops", "PL_sv_serial", "pmop_dump" , "sv_dump" , "sv_dump_depth" , "vdeb"
Display functions
  "form", "form_nocontext" , "mess", "mess_nocontext" , "mess_sv" , "pv_display" , "pv_escape" , "pv_pretty" , "vform" , "vmess"
Embedding, Threads, and Interpreter Cloning
  "call_atexit" , "cv_clone" , "cv_name" , "cv_undef" , "find_rundefsv" , "get_op_descs" , "get_op_names" , "HAS_SKIP_LOCALE_INIT", "intro_my" , "load_module", "load_module_nocontext" , "my_exit" , "my_failure_exit" , "my_strlcat" , "my_strlcpy" , "newPADNAMELIST" , "newPADNAMEouter" , "newPADNAMEpvn" , "nothreadhook" , "pad_add_anon" , "pad_add_name_pv" , "pad_add_name_pvn" , "pad_add_name_sv" , "pad_alloc" , "pad_findmy_pv" , "pad_findmy_pvn" , "pad_findmy_sv" , "padnamelist_fetch" , "padnamelist_store" , "pad_tidy" , "perl_alloc" , "PERL_ASYNC_CHECK", "perl_clone" , "perl_construct" , "perl_destruct" , "perl_free" , "PERL_GET_CONTEXT", "PerlInterpreter", "perl_parse" , "perl_run" , "PERL_SET_CONTEXT", "PERL_SYS_INIT", "PERL_SYS_INIT3" , "PERL_SYS_TERM" , "PL_exit_flags" , "PERL_EXIT_DESTRUCT_END", "PERL_EXIT_ABORT", "PERL_EXIT_WARN", "PERL_EXIT_EXPECTED", "PL_origalen", "PL_perl_destruct_level" , 0 - none, 1 - full, 2 or greater - full with checks, "ptr_table_fetch" , "ptr_table_free" , "ptr_table_new" , "ptr_table_split" , "ptr_table_store" , "require_pv" , "vload_module"
Errno
  "sv_string_from_errnum"
Exception Handling (simple) Macros
  "dXCPT" , "JMPENV_JUMP", "JMPENV_PUSH", "PL_restartop", "XCPT_CATCH" , "XCPT_RETHROW" , "XCPT_TRY_END" , "XCPT_TRY_START"
Filesystem configuration values
  "DIRNAMLEN" , "DOSUID" , "EOF_NONBLOCK" , "FCNTL_CAN_LOCK" , "FFLUSH_ALL" , "FFLUSH_NULL" , "FILE_base" , "FILE_bufsiz" , "FILE_cnt" , "FILE_ptr" , "FLEXFILENAMES" , "HAS_DIR_DD_FD" , "HAS_DUP2" , "HAS_DUP3" , "HAS_FAST_STDIO" , "HAS_FCHDIR" , "HAS_FCNTL" , "HAS_FDCLOSE" , "HAS_FPATHCONF" , "HAS_FPOS64_T" , "HAS_FSTATFS" , "HAS_FSTATVFS" , "HAS_GETFSSTAT" , "HAS_GETMNT" , "HAS_GETMNTENT" , "HAS_HASMNTOPT" , "HAS_LSEEK_PROTO" , "HAS_MKDIR" , "HAS_OFF64_T" , "HAS_OPENAT" , "HAS_OPEN3" , "HAS_POLL" , "HAS_READDIR" , "HAS_READDIR64_R" , "HAS_REWINDDIR" , "HAS_RMDIR" , "HAS_SEEKDIR" , "HAS_SELECT" , "HAS_SETVBUF" , "HAS_STDIO_STREAM_ARRAY" , "HAS_STRUCT_FS_DATA" , "HAS_STRUCT_STATFS" , "HAS_STRUCT_STATFS_F_FLAGS" , "HAS_TELLDIR" , "HAS_USTAT" , "I_FCNTL" , "I_SYS_DIR" , "I_SYS_FILE" , "I_SYS_NDIR" , "I_SYS_STATFS" , "LSEEKSIZE" , "RD_NODATA" , "READDIR64_R_PROTO" , "STDCHAR" , "STDIO_CNT_LVALUE" , "STDIO_PTR_LVAL_NOCHANGE_CNT" , "STDIO_PTR_LVAL_SETS_CNT" , "STDIO_PTR_LVALUE" , "STDIO_STREAM_ARRAY" , "ST_INO_SIGN" , "ST_INO_SIZE" , "VAL_EAGAIN" , "VAL_O_NONBLOCK" , "VOID_CLOSEDIR"
Floating point
  "CASTFLAGS" , "CASTNEGFLOAT" , "DOUBLE_HAS_INF" , "DOUBLE_HAS_NAN" , "DOUBLE_HAS_NEGATIVE_ZERO" , "DOUBLE_HAS_SUBNORMALS" , "DOUBLEINFBYTES" , "DOUBLEKIND" , "DOUBLEMANTBITS" , "DOUBLENANBYTES" , "DOUBLESIZE" , "DOUBLE_STYLE_CRAY" , "DOUBLE_STYLE_IBM" , "DOUBLE_STYLE_IEEE" , "DOUBLE_STYLE_VAX" , "HAS_ATOLF" , "HAS_CLASS" , "HAS_FINITE" , "HAS_FINITEL" , "HAS_FPCLASS" , "HAS_FP_CLASS" , "HAS_FPCLASSIFY" , "HAS_FP_CLASSIFY" , "HAS_FPCLASSL" , "HAS_FP_CLASSL" , "HAS_FPGETROUND" , "HAS_FREXPL" , "HAS_ILOGB" , "HAS_ISFINITE" , "HAS_ISFINITEL" , "HAS_ISINF" , "HAS_ISINFL" , "HAS_ISNAN" , "HAS_ISNANL" , "HAS_ISNORMAL" , "HAS_J0L" , "HAS_J0" , "HAS_LDBL_DIG" , "HAS_LDEXPL" , "HAS_LLRINT" , "HAS_LLRINTL" , "HAS_LLROUNDL" , "HAS_LONG_DOUBLE" , "HAS_LRINT" , "HAS_LRINTL" , "HAS_LROUNDL" , "HAS_MODFL" , "HAS_NAN" , "HAS_NEXTTOWARD" , "HAS_REMAINDER" , "HAS_SCALBN" , "HAS_SIGNBIT" , "HAS_SQRTL" , "HAS_STRTOD_L" , "HAS_STRTOLD" , "HAS_STRTOLD_L" , "HAS_TRUNC" , "HAS_UNORDERED" , "I_FENV" , "I_QUADMATH" , "LONGDBLINFBYTES" , "LONGDBLMANTBITS" , "LONGDBLNANBYTES" , "LONG_DOUBLEKIND" , "LONG_DOUBLESIZE" , "LONG_DOUBLE_STYLE_IEEE" , "LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE" , "LONG_DOUBLE_STYLE_IEEE_EXTENDED" , "LONG_DOUBLE_STYLE_IEEE_STD" , "LONG_DOUBLE_STYLE_VAX" , "NV", "NVMANTBITS" , "NV_OVERFLOWS_INTEGERS_AT" , "NV_PRESERVES_UV" , "NV_PRESERVES_UV_BITS" , "NVSIZE" , "NVTYPE" , "NV_ZERO_IS_ALLBITS_ZERO"
General Configuration
  "ASCIIish" , "BYTEORDER" , "CHARBITS" , "DB_VERSION_MAJOR_CFG" , "DB_VERSION_MINOR_CFG" , "DB_VERSION_PATCH_CFG" , "DEFAULT_INC_EXCLUDES_DOT" , "DLSYM_NEEDS_UNDERSCORE" , "EBCDIC" , "HAS_CSH" , "HAS_GETHOSTNAME" , "HAS_GNULIBC" , "HAS_LGAMMA" , "HAS_LGAMMA_R" , "HAS_NON_INT_BITFIELDS" , "HAS_PRCTL_SET_NAME" , "HAS_PROCSELFEXE" , "HAS_PSEUDOFORK" , "HAS_REGCOMP" , "HAS_SETPGID" , "HAS_SIGSETJMP" , "HAS_STRUCT_CMSGHDR" , "HAS_STRUCT_MSGHDR" , "HAS_TGAMMA" , "HAS_UNAME" , "HAS_UNION_SEMUN" , "I_DIRENT" , "I_POLL" , "I_SYS_RESOURCE" , "LIBM_LIB_VERSION" , "NEED_VA_COPY", "OSNAME" , "OSVERS" , "PERL_USE_GCC_BRACE_GROUPS" , "PHOSTNAME" , "PROCSELFEXE_PATH" , "PTRSIZE" , "RANDBITS" , "SELECT_MIN_BITS" , "SETUID_SCRIPTS_ARE_SECURE_NOW" , "ST_DEV_SIGN" , "ST_DEV_SIZE"

List of capability "HAS_foo" symbols
List of "#include" needed symbols

Global Variables
  "PL_check" , "PL_infix_plugin" , "PL_keyword_plugin" , "PL_phase"
GV Handling and Stashes
  "amagic_call" , "AMGf_noleft", "AMGf_noright", "AMGf_unary", "AMGf_assign", "amagic_deref_call" , "gv_add_by_type" , "Gv_AMupdate" , 1 on success and there is some overload, 0 if there is no overload, -1 if some error occurred and it couldn't croak (because "destructing" is true), "gv_autoload_pv", "gv_autoload_pvn", "gv_autoload_sv" , "gv_autoload4" , "GvAV" , "gv_AVadd", "gv_HVadd", "gv_IOadd", "gv_SVadd" , "gv_const_sv" , "GvCV" , "gv_efullname3", "gv_efullname4", "gv_fullname3", "gv_fullname4" , "gv_fetchfile", "gv_fetchfile_flags" , "gv_fetchmeth", "gv_fetchmeth_pv", "gv_fetchmeth_pvn", "gv_fetchmeth_sv" , "gv_fetchmeth_autoload" , "gv_fetchmethod" , "gv_fetchmethod_autoload" , "gv_fetchmeth_pv_autoload" , "gv_fetchmeth_pvn_autoload" , "gv_fetchmeth_sv_autoload" , "gv_fetchpv", "gv_fetchpvn", "gv_fetchpvn_flags", "gv_fetchpvs", "gv_fetchsv", "gv_fetchsv_nomg" X <gv_fetchsv_nomg>, "GvHV" , "gv_init" , "gv_init_pv" , "gv_init_pvn" , "gv_init_sv" , "gv_name_set" , "gv_stashpv" , "gv_stashpvn" , "gv_stashpvs" , "gv_stashsv" , "GvSV" , "GvSVn" , "newGVgen", "newGVgen_flags" , "PL_curstash" , "PL_defgv" , "PL_defoutgv" , "PL_defstash", "save_gp" , "setdefout"
Hook manipulation
  "rcpv_copy" , "rcpv_free" , "rcpv_new" , "wrap_op_checker"
HV Handling
  "get_hv" , "HE", "HEf_SVKEY" , "HeHASH" , "HeKEY" , "HeKLEN" , "HePV" , "HeSVKEY" , "HeSVKEY_force" , "HeSVKEY_set" , "HeUTF8" , "HeVAL" , "HV", "hv_assert" , "hv_bucket_ratio" , "hv_clear" , "hv_clear_placeholders" , "hv_copy_hints_hv" , "hv_delete", "hv_deletes" , "hv_delete_ent" , "HvENAME" , "HvENAMELEN" , "HvENAMEUTF8" , "hv_exists", "hv_existss" , "hv_exists_ent" , "hv_fetch", "hv_fetchs" , "hv_fetch_ent" , "hv_fetchs" , "HvFILL" , "HvHasAUX" , "hv_iterinit" , "hv_iterkey" , "hv_iterkeysv" , "hv_iternext" , "hv_iternext_flags" , "hv_iternextsv" , "hv_iterval" , "hv_ksplit" , "hv_magic" , "HvNAME" , "HvNAMELEN" , "hv_name_set", "hv_name_sets" , "HvNAMEUTF8" , "hv_scalar" , "hv_store", "hv_stores" , "hv_store_ent" , "hv_undef" , "newHV" , "newHVhv" , "Nullhv" , "PERL_HASH", "PL_modglobal"
Input/Output
  "do_close" , "IoDIRP", "IOf_FLUSH", "IoFLAGS", "IOf_UNTAINT", "IoIFP", "IoOFP", "IoTYPE", "my_chsize" , "my_dirfd" , "my_pclose" , "my_popen" , "newIO" , "PERL_FLUSHALL_FOR_CHILD" , "PerlIO_apply_layers", "PerlIO_binmode", "PerlIO_canset_cnt", "PerlIO_clearerr", "PerlIO_close", "PerlIO_debug", "PerlIO_eof", "PerlIO_error", "PerlIO_exportFILE", "PerlIO_fast_gets", "PerlIO_fdopen", "PerlIO_fileno", "PerlIO_fill", "PerlIO_findFILE", "PerlIO_flush", "PerlIO_get_base", "PerlIO_get_bufsiz", "PerlIO_get_cnt", "PerlIO_get_ptr", "PerlIO_getc", "PerlIO_getpos", "PerlIO_has_base", "PerlIO_has_cntptr", "PerlIO_importFILE", "PerlIO_open", "PerlIO_printf", "PerlIO_putc", "PerlIO_puts", "PerlIO_read", "PerlIO_releaseFILE", "PerlIO_reopen", "PerlIO_rewind", "PerlIO_seek", "PerlIO_set_cnt", "PerlIO_set_ptrcnt", "PerlIO_setlinebuf", "PerlIO_setpos", "PerlIO_stderr", "PerlIO_stdin", "PerlIO_stdout", "PerlIO_stdoutf", "PerlIO_tell", "PerlIO_ungetc", "PerlIO_unread", "PerlIO_vprintf", "PerlIO_write", "PERLIO_F_APPEND", "PERLIO_F_CANREAD", "PERLIO_F_CANWRITE", "PERLIO_F_CRLF", "PERLIO_F_EOF", "PERLIO_F_ERROR", "PERLIO_F_FASTGETS", "PERLIO_F_LINEBUF", "PERLIO_F_OPEN", "PERLIO_F_RDBUF", "PERLIO_F_TEMP", "PERLIO_F_TRUNCATE", "PERLIO_F_UNBUF", "PERLIO_F_UTF8", "PERLIO_F_WRBUF", "PERLIO_FUNCS_CAST" , "PERLIO_FUNCS_DECL" , "PERLIO_K_BUFFERED", "PERLIO_K_CANCRLF", "PERLIO_K_FASTGETS", "PERLIO_K_MULTIARG", "PERLIO_K_RAW", "PERLIO_NOT_STDIO", "PL_maxsysfd", "repeatcpy" , "USE_STDIO"
Integer
  "CASTI32" , "HAS_INT64_T" , "HAS_LONG_LONG" , "HAS_QUAD" , "I32df" , "INT16_C", "INT32_C", "INT64_C" , "INTMAX_C" , "INTSIZE" , "I8SIZE" , "I16SIZE" , "I32SIZE" , "I64SIZE" , "I8TYPE" , "I16TYPE" , "I32TYPE" , "I64TYPE" , "IV", "I8", "I16", "I32", "I64", "IV_MAX" , "IV_MIN" , "IVSIZE" , "IVTYPE" , "line_t" , "LONGLONGSIZE" , "LONGSIZE" , "memzero" , "PERL_INT_FAST8_T", "PERL_INT_FAST16_T", "PERL_UINT_FAST8_T", "PERL_UINT_FAST16_T" , "PERL_INT_MAX", "PERL_INT_MIN", "PERL_LONG_MAX", "PERL_LONG_MIN", "PERL_QUAD_MAX", "PERL_QUAD_MIN", "PERL_SHORT_MAX", "PERL_SHORT_MIN", "PERL_UCHAR_MAX", "PERL_UCHAR_MIN", "PERL_UINT_MAX", "PERL_UINT_MIN", "PERL_ULONG_MAX", "PERL_ULONG_MIN", "PERL_UQUAD_MAX", "PERL_UQUAD_MIN", "PERL_USHORT_MAX", "PERL_USHORT_MIN" , "SHORTSIZE" , "UINT16_C", "UINT32_C", "UINT64_C" , "UINTMAX_C" , "U32of" , "U8SIZE" , "U16SIZE" , "U32SIZE" , "U64SIZE" , "U8TYPE" , "U16TYPE" , "U32TYPE" , "U64TYPE" , "U32uf" , "UV", "U8", "U16", "U32", "U64", "UV_MAX" , "UV_MIN" , "UVSIZE" , "UVTYPE" , "U32Xf" , "U32xf" , "WIDEST_UTYPE"
I/O Formats
  "HvNAMEf", "HvNAMEf_QUOTEDPREFIX", "IVdf" , "NVef" , "NVff" , "NVgf" , "PERL_PRIeldbl" , "PERL_PRIfldbl" , "PERL_PRIgldbl" , "PERL_SCNfldbl" , "PRINTF_FORMAT_NULL_OK" , "SVf", "SVfARG", "SVf_QUOTEDPREFIX", "UTF8f", "UTF8fARG", "UTF8f_QUOTEDPREFIX", "UVf" , "UVof" , "UVuf" , "UVXf" , "UVxf"
Lexer interface
  "BHK", "lex_bufutf8" , "lex_discard_to" , "lex_grow_linestr" , "lex_next_chunk" , "lex_peek_unichar" , "lex_read_space" , "lex_read_to" , "lex_read_unichar" , "lex_start" , "lex_stuff_pv" , "lex_stuff_pvn" , "lex_stuff_pvs" , "lex_stuff_sv" , "lex_unstuff" , "parse_arithexpr" , "parse_barestmt" , "parse_block" , "parse_fullexpr" , "parse_fullstmt" , "parse_label" , "parse_listexpr" , "parse_stmtseq" , "parse_subsignature" , "parse_termexpr" , "PL_parser" , "PL_parser->bufend" , "PL_parser->bufptr" , "PL_parser->linestart" , "PL_parser->linestr" , "suspend_compcv" , "wrap_infix_plugin" , "wrap_keyword_plugin"
Locales
  "DECLARATION_FOR_LC_NUMERIC_MANIPULATION" , "foldEQ_locale" , "HAS_DUPLOCALE" , "HAS_FREELOCALE" , "HAS_LC_MONETARY_2008" , "HAS_LOCALECONV" , "HAS_LOCALECONV_L" , "HAS_NEWLOCALE" , "HAS_NL_LANGINFO" , "HAS_NL_LANGINFO_L" , "HAS_QUERYLOCALE" , "HAS_SETLOCALE" , "HAS_SETLOCALE_R" , "HAS_USELOCALE" , "I_LANGINFO" , "I_LOCALE" , "IN_LOCALE" , "IN_LOCALE_COMPILETIME" , "IN_LOCALE_RUNTIME" , "I_XLOCALE" , "NEED_XLOCALE_H" , "Perl_langinfo", "Perl_langinfo8" , a, b, c, d, e, "PERL_LC_ALL_CATEGORY_POSITIONS_INIT" , "PERL_LC_ALL_SEPARATOR" , "PERL_LC_ALL_USES_NAME_VALUE_PAIRS" , "Perl_localeconv" , "Perl_setlocale" , "RESTORE_LC_NUMERIC" , "SETLOCALE_ACCEPTS_ANY_LOCALE_NAME" , "STORE_LC_NUMERIC_FORCE_TO_UNDERLYING" , "STORE_LC_NUMERIC_SET_TO_NEEDED" , "STORE_LC_NUMERIC_SET_TO_NEEDED_IN" , "sv_langinfo" , "switch_to_global_locale" , POSIX::localeconv, I18N::Langinfo, items "CRNCYSTR" and "THOUSEP", "sv_langinfo" in perlapi, items "CRNCYSTR" and "THOUSEP", "sync_locale" , "WITH_LC_NUMERIC_SET_TO_NEEDED" , "WITH_LC_NUMERIC_SET_TO_NEEDED_IN"
Magic
  "mg_clear" , "mg_copy" , "MGf_COPY", "MGf_DUP", "MGf_LOCAL", "mg_find" , "mg_findext" , "mg_free" , "mg_freeext" , "mg_free_type" , "mg_get" , "mg_magical" , "mg_set" , "MGVTBL", "PERL_MAGIC_arylen", "PERL_MAGIC_arylen_p", "PERL_MAGIC_backref", "PERL_MAGIC_bm", "PERL_MAGIC_checkcall", "PERL_MAGIC_collxfrm", "PERL_MAGIC_dbfile", "PERL_MAGIC_dbline", "PERL_MAGIC_debugvar", "PERL_MAGIC_defelem", "PERL_MAGIC_destruct", "PERL_MAGIC_env", "PERL_MAGIC_envelem", "PERL_MAGIC_ext", "PERL_MAGIC_extvalue", "PERL_MAGIC_fm", "PERL_MAGIC_hints", "PERL_MAGIC_hintselem", "PERL_MAGIC_hook", "PERL_MAGIC_hookelem", "PERL_MAGIC_isa", "PERL_MAGIC_isaelem", "PERL_MAGIC_lvref", "PERL_MAGIC_nkeys", "PERL_MAGIC_nonelem", "PERL_MAGIC_overload_table", "PERL_MAGIC_pos", "PERL_MAGIC_qr", "PERL_MAGIC_regdata", "PERL_MAGIC_regdatum", "PERL_MAGIC_regex_global", "PERL_MAGIC_rhash", "PERL_MAGIC_shared", "PERL_MAGIC_shared_scalar", "PERL_MAGIC_sig", "PERL_MAGIC_sigelem", "PERL_MAGIC_substr", "PERL_MAGIC_sv", "PERL_MAGIC_symtab", "PERL_MAGIC_taint", "PERL_MAGIC_tied", "PERL_MAGIC_tiedelem", "PERL_MAGIC_tiedscalar", "PERL_MAGIC_utf8", "PERL_MAGIC_uvar", "PERL_MAGIC_uvar_elem", "PERL_MAGIC_vec", "PERL_MAGIC_vstring", "SvTIED_obj"
Memory Management
  "dump_mstats" , "HASATTRIBUTE_MALLOC" , "HAS_MALLOC_GOOD_SIZE" , "HAS_MALLOC_SIZE" , "I_MALLOCMALLOC" , "MYMALLOC" , "Newx", "safemalloc" , "Newxc" , "Newxz", "safecalloc" , "PERL_MALLOC_WRAP" , "Renew", "saferealloc" , "Renewc" , "Safefree" , "safesyscalloc" , "safesysfree" , "safesysmalloc" , "safesysrealloc"
MRO
  "HvMROMETA", "mro_get_from_name" , "mro_get_linear_isa" , "MRO_GET_PRIVATE_DATA", "mro_method_changed_in" , "mro_register" , "mro_set_mro" , "mro_set_private_data"
Multicall Functions
  "dMULTICALL" , "MULTICALL" , "POP_MULTICALL" , "PUSH_MULTICALL"
Numeric Functions
  "Atol", "Atoul", "Drand01" , "Gconvert" , "grok_atoUV" , "grok_bin" , "grok_hex" , "grok_infnan" , "grok_number" , "grok_number_flags" , "GROK_NUMERIC_RADIX" , "grok_numeric_radix" , "grok_oct" , "isinfnan" , "my_atof" , "my_strtod" , "PERL_ABS" , "Perl_acos", "Perl_asin", "Perl_atan", "Perl_atan2", "Perl_ceil", "Perl_cos", "Perl_cosh", "Perl_exp", "Perl_floor", "Perl_fmod", "Perl_frexp", "Perl_isfinite", "Perl_isinf", "Perl_isnan", "Perl_ldexp", "Perl_log", "Perl_log10", "Perl_modf", "Perl_pow", "Perl_sin", "Perl_sinh", "Perl_sqrt", "Perl_tan", "Perl_tanh" X <Perl_isinf>X <Perl_pow>, "Perl_signbit" , "PL_hexdigit" , "READ_XDIGIT" , "scan_bin" , "scan_hex" , "scan_oct" , "seedDrand01" , "Strtod" , "Strtol" , "Strtoul"
Optrees
  "alloccopstash" , "BINOP", "block_end" , "block_start" , "ck_entersub_args_list" , "ck_entersub_args_proto" , "ck_entersub_args_proto_or_list" , "cv_const_sv" , "cv_get_call_checker" , "cv_get_call_checker_flags" , "cv_set_call_checker" , "cv_set_call_checker_flags" , "finalize_optree" , "forbid_outofblock_ops" , "LINKLIST" , "LISTOP", "LOGOP", "LOOP", "newANONATTRSUB" , "newANONHASH" , "newANONLIST" , "newANONSUB" , "newARGDEFELEMOP" , "newASSIGNOP" , "newATTRSUB" , "newAVREF" , "newBINOP" , "newCONDOP" , "newCONSTSUB", "newCONSTSUB_flags" , "newCVREF" , "newDEFEROP" , "newDEFSVOP" , "newFOROP" , "newGIVENOP" , "newGVOP" , "newGVREF" , "newHVREF" , "newLISTOP" , "newLISTOPn" , "newLOGOP" , "newLOOPEX" , "newLOOPOP" , "newMETHOP" , "newMETHOP_named" , "newNULLLIST" , "newOP" , "newPADOP" , "newPMOP" , "newPVOP" , "newRANGE" , "newSLICEOP" , "newSTATEOP" , "newSUB" , "newSVOP" , "newSVREF" , "newTRYCATCHOP" , "newUNOP" , "newUNOP_AUX" , "newWHENOP" , "newWHILEOP" , "newXS" , "OA_BASEOP", "OA_BINOP", "OA_COP", "OA_LISTOP", "OA_LOGOP", "OA_LOOP", "OA_PADOP", "OA_PMOP", "OA_PVOP_OR_SVOP", "OA_SVOP", "OA_UNOP", "OP", "op_append_elem" , "op_append_list" , "OP_CLASS" , "op_contextualize" , "op_convert_list" , "OP_DESC" , "op_force_list" , "op_free" , "OpHAS_SIBLING" , "OpLASTSIB_set" , "op_linklist" , "op_lvalue" , "OpMAYBESIB_set" , "OpMORESIB_set" , "OP_NAME" , "op_null" , "op_parent" , "op_prepend_elem" , "op_scope" , "OpSIBLING" , "op_sibling_splice" , "optimize_optree" , "OP_TYPE_IS" , "OP_TYPE_IS_OR_WAS" , "op_wrap_finally" , "peep_t", "Perl_cpeep_t", "PL_opfreehook" , "PL_peepp" , "PL_rpeepp" , "PMOP", "rv2cv_op_cv" , "UNOP", "XOP"
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" , "PadnameREFCNT_inc" , "PadnameSV" , "PadnameUTF8" , "pad_new" , "PL_comppad" , "PL_comppad_name" , "PL_curpad" , "SVs_PADMY", "SVs_PADTMP"
Password and Group access
  "GRPASSWD" , "HAS_ENDGRENT" , "HAS_ENDGRENT_R" , "HAS_ENDPWENT" , "HAS_ENDPWENT_R" , "HAS_GETGRENT" , "HAS_GETGRENT_R" , "HAS_GETPWENT" , "HAS_GETPWENT_R" , "HAS_SETGRENT" , "HAS_SETGRENT_R" , "HAS_SETPWENT" , "HAS_SETPWENT_R" , "PWAGE" , "PWCHANGE" , "PWCLASS" , "PWCOMMENT" , "PWEXPIRE" , "PWGECOS" , "PWPASSWD" , "PWQUOTA"
Paths to system commands
  "CSH" , "LOC_SED" , "SH_PATH"
Prototype information
  "CRYPT_R_PROTO" , "CTERMID_R_PROTO" , "DRAND48_R_PROTO" , "ENDGRENT_R_PROTO" , "ENDHOSTENT_R_PROTO" , "ENDNETENT_R_PROTO" , "ENDPROTOENT_R_PROTO" , "ENDPWENT_R_PROTO" , "ENDSERVENT_R_PROTO" , "GDBMNDBM_H_USES_PROTOTYPES" , "GDBM_NDBM_H_USES_PROTOTYPES" , "GETGRENT_R_PROTO" , "GETGRGID_R_PROTO" , "GETGRNAM_R_PROTO" , "GETHOSTBYADDR_R_PROTO" , "GETHOSTBYNAME_R_PROTO" , "GETHOSTENT_R_PROTO" , "GETLOGIN_R_PROTO" , "GETNETBYADDR_R_PROTO" , "GETNETBYNAME_R_PROTO" , "GETNETENT_R_PROTO" , "GETPROTOBYNAME_R_PROTO" , "GETPROTOBYNUMBER_R_PROTO" , "GETPROTOENT_R_PROTO" , "GETPWENT_R_PROTO" , "GETPWNAM_R_PROTO" , "GETPWUID_R_PROTO" , "GETSERVBYNAME_R_PROTO" , "GETSERVBYPORT_R_PROTO" , "GETSERVENT_R_PROTO" , "GETSPNAM_R_PROTO" , "HAS_DBMINIT_PROTO" , "HAS_DRAND48_PROTO" , "HAS_FLOCK_PROTO" , "HAS_GETHOST_PROTOS" , "HAS_GETNET_PROTOS" , "HAS_GETPROTO_PROTOS" , "HAS_GETSERV_PROTOS" , "HAS_MODFL_PROTO" , "HAS_SBRK_PROTO" , "HAS_SETRESGID_PROTO" , "HAS_SETRESUID_PROTO" , "HAS_SHMAT_PROTOTYPE" , "HAS_SOCKATMARK_PROTO" , "HAS_SYSCALL_PROTO" , "HAS_TELLDIR_PROTO" , "NDBM_H_USES_PROTOTYPES" , "RANDOM_R_PROTO" , "READDIR_R_PROTO" , "SETGRENT_R_PROTO" , "SETHOSTENT_R_PROTO" , "SETLOCALE_R_PROTO" , "SETNETENT_R_PROTO" , "SETPROTOENT_R_PROTO" , "SETPWENT_R_PROTO" , "SETSERVENT_R_PROTO" , "SRANDOM_R_PROTO" , "SRAND48_R_PROTO" , "STRERROR_R_PROTO" , "TMPNAM_R_PROTO" , "TTYNAME_R_PROTO"
Reference-counted stack manipulation
  "rpp_context" , "rpp_extend" , "rpp_invoke_xs" , "rpp_is_lone" , "rpp_popfree_1_NN" , "rpp_popfree_2_NN" , "rpp_popfree_to" , "rpp_popfree_to_NN" , "rpp_popfree_1" , "rpp_popfree_2" , "rpp_pop_1_norc" , "rpp_push_1_norc" , "rpp_push_1", "rpp_push_IMM", "rpp_push_2", "rpp_xpush_1", "rpp_xpush_IMM", "rpp_xpush_2" , "rpp_replace_at" , "rpp_replace_at_NN" , "rpp_replace_at_norc" , "rpp_replace_at_norc_NN" , "rpp_replace_1_1", "rpp_replace_1_1_NN", "rpp_replace_1_IMM_NN" , "rpp_replace_2_1", "rpp_replace_2_1_NN", "rpp_replace_2_IMM_NN" , "rpp_stack_is_rc" , "rpp_try_AMAGIC_1", "rpp_try_AMAGIC_2" , "XSPP_wrapped"
REGEXP Functions
  "pregcomp", "pregexec", "re_compile" , "re_dup_guts" , "REGEX_LOCALE_CHARSET", "REGEXP", "regexp_engine" , "regexp_paren_pair", "regmatch_info" , "REXEC_COPY_SKIP_POST", "REXEC_COPY_SKIP_PRE", "REXEC_COPY_STR", "RXapif_ALL", "RXapif_CLEAR", "RXapif_DELETE", "RXapif_EXISTS", "RXapif_FETCH", "RXapif_FIRSTKEY", "RXapif_NEXTKEY", "RXapif_ONE", "RXapif_REGNAME", "RXapif_REGNAMES", "RXapif_REGNAMES_COUNT", "RXapif_SCALAR", "RXapif_STORE", "RX_BUFF_IDX_CARET_FULLMATCH", "RX_BUFF_IDX_CARET_POSTMATCH", "RX_BUFF_IDX_CARET_PREMATCH", "RX_BUFF_IDX_FULLMATCH", "RX_BUFF_IDX_POSTMATCH", "RX_BUFF_IDX_PREMATCH", "RXf_NO_INPLACE_SUBST", "RXf_NULL", "RXf_SKIPWHITE", "RXf_SPLIT", "RXf_START_ONLY", "RXf_WHITE", "RXf_PMf_EXTENDED", "RXf_PMf_FOLD", "RXf_PMf_KEEPCOPY", "RXf_PMf_MULTILINE", "RXf_PMf_SINGLELINE", "RX_MATCH_COPIED", "struct regexp", "SvRX" , "SvRXOK" , "SV_SAVED_COPY"
Reports and Formats
  "IoBOTTOM_GV", "IoBOTTOM_NAME", "IoFMT_GV", "IoFMT_NAME", "IoLINES", "IoLINES_LEFT", "IoPAGE", "IoPAGE_LEN", "IoTOP_GV", "IoTOP_NAME"
Signals
  "HAS_SIGINFO_SI_ADDR" , "HAS_SIGINFO_SI_BAND" , "HAS_SIGINFO_SI_ERRNO" , "HAS_SIGINFO_SI_PID" , "HAS_SIGINFO_SI_STATUS" , "HAS_SIGINFO_SI_UID" , "HAS_SIGINFO_SI_VALUE" , "PERL_SIGNALS_UNSAFE_FLAG" , "rsignal" , "rsignal_state" , "Sigjmp_buf" , "Siglongjmp" , "SIG_NAME" , "SIG_NUM" , "Sigsetjmp" , "SIG_SIZE" , "whichsig", "whichsig_pv", "whichsig_pvn", "whichsig_sv"
Site configuration
  "ARCHLIB" , "ARCHLIB_EXP" , "ARCHNAME" , "BIN" , "BIN_EXP" , "INSTALL_USR_BIN_PERL" , "MULTIARCH" , "PERL_INC_VERSION_LIST" , "PERL_OTHERLIBDIRS" , "PERL_RELOCATABLE_INC" , "PERL_TARGETARCH" , "PERL_USE_DEVEL" , "PERL_VENDORARCH" , "PERL_VENDORARCH_EXP" , "PERL_VENDORLIB_EXP" , "PERL_VENDORLIB_STEM" , "PRIVLIB" , "PRIVLIB_EXP" , "SITEARCH" , "SITEARCH_EXP" , "SITELIB" , "SITELIB_EXP" , "SITELIB_STEM" , "STARTPERL" , "USE_64_BIT_ALL" , "USE_64_BIT_INT" , "USE_BSD_GETPGRP" , "USE_BSD_SETPGRP" , "USE_C_BACKTRACE" , "USE_CPLUSPLUS" , "USE_CROSS_COMPILE" , "USE_DTRACE" , "USE_DYNAMIC_LOADING" , "USE_FAST_STDIO" , "USE_ITHREADS" , "USE_KERN_PROC_PATHNAME" , "USE_LARGE_FILES" , "USE_LONG_DOUBLE" , "USE_MORE_BITS" , "USE_NSGETEXECUTABLEPATH" , "USE_PERLIO" , "USE_QUADMATH" , "USE_REENTRANT_API" , "USE_SEMCTL_SEMID_DS" , "USE_SEMCTL_SEMUN" , "USE_SITECUSTOMIZE" , "USE_SOCKS" , "USE_STAT_BLOCKS" , "USE_STDIO_BASE" , "USE_STDIO_PTR" , "USE_STRICT_BY_DEFAULT" , "USE_THREADS"
Sockets configuration values
  "HAS_SOCKADDR_IN6" , "HAS_SOCKADDR_SA_LEN" , "HAS_SOCKADDR_STORAGE" , "HAS_SOCKATMARK" , "HAS_SOCKET" , "HAS_SOCKETPAIR" , "HAS_SOCKS5_INIT" , "I_SOCKS" , "I_SYS_SOCKIO"
Source Filters
  "apply_builtin_cv_attributes" , "filter_add", "filter_del" , "filter_read", "scan_vstring" , "start_subparse"
Stack Manipulation Macros
  "dMARK" , "dORIGMARK" , "dSP" , "dTARGET" , "EXTEND" , "MARK" , "mPUSHi" , "mPUSHn" , "mPUSHp" , "mPUSHpvs" , "mPUSHs" , "mPUSHu" , "mXPUSHi" , "mXPUSHn" , "mXPUSHp" , "mXPUSHpvs" , "mXPUSHs" , "mXPUSHu" , "newXSproto" , "ORIGMARK" , "PL_markstack", "PL_markstack_ptr", "PL_savestack", "PL_savestack_ix", "PL_scopestack", "PL_scopestack_ix", "PL_scopestack_name", "PL_stack_base", "PL_stack_sp", "PL_tmps_floor", "PL_tmps_ix", "PL_tmps_stack", "POPi" , "POPl" , "POPn" , "POPp" , "POPpbytex" , "POPpx" , "POPs" , "POPu" , "POPul" , "PUSHi" , "PUSHMARK" , "PUSHmortal" , "PUSHn" , "PUSHp" , "PUSHpvs" , "PUSHs" , "PUSHu" , "PUTBACK" , "SAVEt_INT", "SP" , "SPAGAIN" , "SSNEW", "SSNEWa", "SSNEWat", "SSNEWt" , "SSPTR", "SSPTRt" , "TARG" , "TOPs", "XPUSHi" , "XPUSHmortal" , "XPUSHn" , "XPUSHp" , "XPUSHpvs" , "XPUSHs" , "XPUSHu" , "XS_APIVERSION_BOOTCHECK" , "XSRETURN" , "XSRETURN_EMPTY" , "XSRETURN_IV" , "XSRETURN_NO" , "XSRETURN_NV" , "XSRETURN_PV" , "XSRETURN_UNDEF" , "XSRETURN_UV" , "XSRETURN_YES" , "XST_mIV" , "XST_mNO" , "XST_mNV" , "XST_mPV" , "XST_mUNDEF" , "XST_mUV" , "XST_mYES" , "XS_VERSION" , "XS_VERSION_BOOTCHECK"
String Handling
  "CAT2" , "Copy", "CopyD" , "delimcpy" , "do_join" , "do_sprintf" , "fbm_compile" , "fbm_instr" , "foldEQ" , "ibcmp" , "ibcmp_locale" , "ibcmp_utf8" , "instr" , "memCHRs" , "memEQ" , "memEQs" , "memNE" , "memNEs" , "Move", "MoveD" , "my_snprintf" , "my_sprintf" , "my_strnlen" , "my_vsnprintf" , "NewCopy" , "ninstr" , "Nullch" , "PL_na" , "rninstr" , "savepv" , "savepvn" , "savepvs" , "savesharedpv" , "savesharedpvn" , "savesharedpvs" , "savesharedsvpv" , "savesvpv" , "strEQ" , "strGE" , "strGT" , "STRINGIFY" , "strLE" , "STRLEN", "strLT" , "strNE" , "strnEQ" , "strnNE" , "STR_WITH_LEN" , "Zero", "ZeroD"
SV Flags
  "SVt_IV" , "SVt_NULL" , "SVt_NV" , "SVt_PV" , "SVt_PVAV" , "SVt_PVCV" , "SVt_PVFM" , "SVt_PVGV" , "SVt_PVHV" , "SVt_PVIO" , "SVt_PVIV" , "SVt_PVLV" , "SVt_PVMG" , "SVt_PVNV" , "SVt_PVOBJ" , "SVt_REGEXP" , "svtype"
SV Handling
  "AV_FROM_REF", "CV_FROM_REF", "HV_FROM_REF" , "BOOL_INTERNALS_sv_isbool" , "BOOL_INTERNALS_sv_isbool_false" , "BOOL_INTERNALS_sv_isbool_true" , "boolSV" , "croak_xs_usage" , "DEFSV" , "DEFSV_set" , "get_sv" , "isGV_with_GP" , "looks_like_number" , "MUTABLE_AV", "MUTABLE_CV", "MUTABLE_GV", "MUTABLE_HV", "MUTABLE_IO", "MUTABLE_PTR", "MUTABLE_SV" , "newRV", "newRV_inc" , "newRV_noinc" , "newSV" , "newSVbool" , "newSV_false" , "newSVhek" , "newSVhek_mortal" , "newSViv" , "newSVnv" , "newSVpadname" , "newSVpv" , "newSVpvf" , "newSVpvf_nocontext" , "newSVpvn" , "newSVpvn_flags" , "newSVpvn_share" , "newSVpvn_utf8" , "newSVpvs" , "newSVpvs_flags" , "newSVpv_share" , "newSVpvs_share" , "newSVrv" , "newSVsv", "newSVsv_flags", "newSVsv_nomg" , "newSV_true" , "newSV_type" , "newSV_type_mortal" , "newSVuv" , "Nullsv" , "PL_sv_no" , "PL_sv_undef" , "PL_sv_yes" , "PL_sv_zero" , "SAVE_DEFSV" , "sortsv" , "sortsv_flags" , "SV", "SvAMAGIC" , "SvAMAGIC_off" , "SvAMAGIC_on" , "sv_backoff" , "sv_bless" , "SvBoolFlagsOK" , "sv_catpv", "sv_catpv_flags", "sv_catpv_mg", "sv_catpv_nomg" , "sv_catpvf", "sv_catpvf_mg", "sv_catpvf_mg_nocontext", "sv_catpvf_nocontext" , "sv_catpvn", "sv_catpvn_flags", "sv_catpvn_mg", "sv_catpvn_nomg" , "sv_catpvs" , "sv_catpvs_flags" , "sv_catpvs_mg" , "sv_catpvs_nomg" , "sv_catsv", "sv_catsv_flags", "sv_catsv_mg", "sv_catsv_nomg" , "SV_CHECK_THINKFIRST" , "SV_CHECK_THINKFIRST_COW_DROP" , "sv_chop" , "sv_clear" , "sv_cmp" , "sv_cmp_flags" , "sv_cmp_locale" , "sv_cmp_locale_flags" , "sv_collxfrm" , "sv_collxfrm_flags" , "sv_copypv", "sv_copypv_flags", "sv_copypv_nomg" , "SvCUR" , "SvCUR_set" , "sv_2cv" , "sv_dec", "sv_dec_nomg" , "sv_derived_from" , "sv_derived_from_hv" , "sv_derived_from_pv" , "sv_derived_from_pvn" , "sv_derived_from_sv" , "sv_does" , "sv_does_pv" , "sv_does_pvn" , "sv_does_sv" , "SvEND" , "sv_eq", "sv_eq_flags" , "sv_force_normal" , "sv_force_normal_flags" , "sv_free" , "SvGAMAGIC" , "sv_get_backrefs" , "SvGETMAGIC" , "sv_gets" , "SvGROW" , "SvIandPOK" , "SvIandPOK_off" , "SvIandPOK_on" , "sv_inc", "sv_inc_nomg" , "sv_insert", "sv_insert_flags" , "sv_2io" , "SvIOK" , "SvIOK_notUV" , "SvIOK_off" , "SvIOK_on" , "SvIOK_only" , "SvIOK_only_UV" , "SvIOKp" , "SvIOK_UV" , "sv_isa" , "sv_isa_sv" , "SvIsBOOL" , "SvIsCOW" , "SvIsCOW_shared_hash" , "sv_isobject" , "SvIV", "SvIV_nomg", "SvIVx" , "sv_2iv_flags" , "SvIV_set" , "SvIVX" , "SvLEN" , "sv_len" , "SvLEN_set" , "sv_len_utf8", "sv_len_utf8_nomg" , "SvLOCK" , "sv_magic" , "sv_magicext" , "SvMAGIC_set" , "sv_2mortal" , "sv_mortalcopy" , "sv_mortalcopy_flags" , "sv_newmortal" , "SvNIOK" , "SvNIOK_off" , "SvNIOKp" , "SvNOK" , "SvNOK_off" , "SvNOK_on" , "SvNOK_only" , "SvNOKp" , "sv_nolocking" , "sv_nounlocking" , "sv_numeq" , "sv_numeq_flags" , "SvNV", "SvNV_nomg", "SvNVx" , "sv_2nv_flags" , "SvNV_set" , "SvNVX" , "SvOK" , "SvOOK" , "SvOOK_off" , "SvOOK_offset" , "SvPOK" , "SvPOK_off" , "SvPOK_on" , "SvPOK_only" , "SvPOK_only_UTF8" , "SvPOKp" , "sv_pos_b2u" , "sv_pos_b2u_flags" , "sv_pos_u2b" , "sv_pos_u2b_flags" , "SvPV", "SvPV_const", "SvPV_flags", "SvPV_flags_const", "SvPV_flags_mutable", "SvPV_mutable", "SvPV_nolen", "SvPV_nolen_const", "SvPV_nomg", "SvPV_nomg_const", "SvPV_nomg_const_nolen", "SvPV_nomg_nolen", "SvPVbyte", "SvPVbyte_nolen", "SvPVbyte_nomg", "SvPVbyte_or_null", "SvPVbyte_or_null_nomg", "SvPVbytex", "SvPVbytex_nolen", "SvPVutf8", "SvPVutf8_nolen", "SvPVutf8_nomg", "SvPVutf8_or_null", "SvPVutf8_or_null_nomg", "SvPVutf8x", "SvPVx", "SvPVx_const", "SvPVx_nolen", "SvPVx_nolen_const"

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

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

## perlintern - autogenerated documentation of purely internal Perl functions

DESCRIPTION
AV Handling
  "av_fetch_simple" , "AvFILLp" , "av_new_alloc" , "av_store_simple"
Callback Functions
  "dowantarray" , "leave_scope" , "magic_freedestruct" , "mortal_svfunc_x" , "pop_scope" , "push_scope" , "save_adelete" , "save_freercpv" , "save_generic_pvref" , "save_generic_svref" , "save_hdelete" , "save_hints" , "save_op" , "save_padsv_and_mortalize" , "save_pushptr" , "save_rcpv" , "save_scalar_at" , "save_set_svflags" , "save_shared_pvref" , "save_vptr"
Casting
Character case changing
Character classification
Compiler and Preprocessor information
Compiler directives
Compile-time scope hooks
  "BhkENTRY" , "BhkFLAGS" , "CALL_BLOCK_HOOKS"
Concurrency
  "CVf_SLABBED", "CvROOT", "CvSTART", "CX_CUR", "CXINC", "CX_LEAVE_SCOPE", "CX_POP", "cxstack", "cxstack_ix", "CXt_BLOCK", "CXt_EVAL", "CXt_FORMAT", "CXt_GIVEN", "CXt_LOOP_ARY", "CXt_LOOP_LAZYIV", "CXt_LOOP_LAZYSV", "CXt_LOOP_LIST", "CXt_LOOP_PLAIN", "CXt_NULL", "CXt_SUB", "CXt_SUBST", "CXt_WHEN", "cx_type", "dounwind", "my_fork" , "PERL_CONTEXT"
COPs and Hint Hashes
Custom Operators
  "core_prototype"
CV Handling
  "CvREFCOUNTED_ANYSV" , "CvREFCOUNTED_ANYSV_off" , "CvREFCOUNTED_ANYSV_on" , "CvWEAKOUTSIDE" , "docatch"
Debugging
  "comma_aDEPTH" , "comma_pDEPTH" , "debop" , "debprof" , "debprofdump" , "debug_aDEPTH" , "debug_pDEPTH" , "free_c_backtrace" , "get_c_backtrace" , "PL_DBsingle" , "PL_DBsub" , "PL_DBtrace" , "runops_debug", "runops_standard"
Display functions
  "sv_peek"
Embedding, Threads, and Interpreter Cloning
  "cv_dump" , "cv_forget_slab" , "do_dump_pad" , "get_context" , "pad_alloc_name" , "pad_block_start" , "pad_check_dup" , "pad_findlex" , "pad_fixup_inner_anons" , "pad_free" , "pad_leavemy" , "padlist_dup" , "padname_dup" , "padnamelist_dup" , "pad_push" , "pad_reset" , "pad_setsv" , "pad_sv" , "pad_swipe" , "set_context" , "si_dup" , "ss_dup"
Errno
  "dSAVEDERRNO" , "dSAVE_ERRNO" , "RESTORE_ERRNO" , "SAVE_ERRNO" , "SETERRNO"
Exception Handling (simple) Macros
Filesystem configuration values
Floating point
General Configuration
Global Variables
GV Handling and Stashes
  "amagic_applies" , "gp_dup" , "gv_handler" , "gv_stashsvpvn_cached" , "gv_try_downgrade"
Hook manipulation
HV Handling
  "hv_eiter_p" , "hv_eiter_set" , "hv_ename_add" , "hv_ename_delete" , "hv_fill" , "hv_placeholders_get" , "hv_placeholders_set" , "hv_riter_p" , "hv_riter_set" , "refcounted_he_chain_2hv" , "refcounted_he_fetch_pv" , "refcounted_he_fetch_pvn" , "refcounted_he_fetch_pvs" , "refcounted_he_fetch_sv" , "refcounted_he_free" , "refcounted_he_inc" , "refcounted_he_new_pv" , "refcounted_he_new_pvn" , "refcounted_he_new_pvs" , "refcounted_he_new_sv" , "unsharepvn"
Input/Output
  "dirp_dup" , "fp_dup" , "my_fflush_all" , "my_mkostemp" , "my_mkstemp" , "PL_last_in_gv" , "PL_ofsgv" , "PL_rs" , "start_glob"
Integer
I/O Formats
Lexer interface
  "resume_compcv_and_save" , "resume_compcv_final" , "validate_proto"
Locales
Magic
  "magic_clearhint" , "magic_clearhints" , "magic_methcall" , "magic_sethint" , "mg_dup" , "mg_localize"
Memory Management
  "calloc" , "malloc" , "mfree" , "realloc"
MRO
  "mro_get_linear_isa_dfs" , "mro_isa_changed_in" , "mro_package_moved"
Multicall Functions
Numeric Functions
  "isinfnansv"
Optrees
  "newATTRSUB_x" , "newMYSUB" , "newXS_len_flags" , "op_refcnt_lock" , "op_refcnt_unlock" , "traverse_op_tree"
Pack and Unpack
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" , "PadnameIsFIELD" , "PadnameIsOUR" , "PadnameIsSTATE" , "PadnameOURSTASH" , "PadnameOUTER" , "PadnameTYPE" , "PAD_RESTORE_LOCAL" , "PAD_SAVE_LOCAL" , "PAD_SAVE_SETNULLPAD" , "PAD_SET_CUR" , "PAD_SET_CUR_NOSAVE" , "PAD_SETSV" , "PAD_SV" , "PAD_SVl" , "SAVECLEARSV" , "SAVECOMPPAD" , "SAVEPADSV"
Password and Group access
Paths to system commands
Prototype information
Reference-counted stack manipulation
REGEXP Functions
  "regnode"
Reports and Formats
Signals
Site configuration
Sockets configuration values
Source Filters
Stack Manipulation Macros
  "djSP" , "LVRET" , "save_alloc"
String Handling
  "delimcpy_no_escape" , "my_cxt_init" , "quadmath_format_needed" , "quadmath_format_valid"
SV Flags
  "SVt_INVLIST"
SV Handling
  "PL_Sv" , "sv_add_arena" , "sv_2bool" , "sv_2bool_flags" , "sv_clean_all" , "sv_clean_objs" , "sv_free_arenas" , "sv_grow" , "sv_grow_fresh" , "sv_newref" , "sv_2num" , "sv_pv" , "sv_pvbyte" , "sv_pvbyten_force" , "sv_2pvbyte_nolen" , "sv_pvn_force" , "sv_2pv_nolen" , "sv_pvutf8n_force" , "sv_2pvutf8_nolen" , "sv_pvutf8" , "sv_tainted" , "SvTHINKFIRST" , "sv_true" , "sv_untaint"
Tainting
  "sv_taint" , "TAINT" , "TAINT_ENV" , "taint_env" , "TAINT_get" , "TAINT_IF" , "TAINTING_get" , "TAINTING_set" , "TAINT_NOT" , "TAINT_PROPER" , "taint_proper" , "TAINT_set" , "TAINT_WARN_get" , "TAINT_WARN_set"
Time
Typedef names
Unicode Support
  "bytes_from_utf8_loc" , "find_uninit_var" , "isSCRIPT_RUN" , "is_utf8_non_invariant_string" , "utf8n_to_uvuni" , "utf8_to_uvuni" , "uvoffuni_to_utf8_flags" , "valid_utf8_to_uvchr" , "variant_under_utf8_count"
Utility Functions
  "my_popen_list" , "my_socketpair"
Versioning
Warning and Dieing
  "deprecate" , "deprecate_disappears_in" , "deprecate_fatal_in" , "PL_dowarn" , "report_uninit"
XS
Undocumented elements
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_fill(f), PerlIO_close(f), PerlIO_puts(f,s), PerlIO_putc(f,c), PerlIO_ungetc(f,c), PerlIO_unread(f,buf,count), PerlIO_getc(f), PerlIO_eof(f), PerlIO_error(f), PerlIO_fileno(f), PerlIO_clearerr(f), PerlIO_flush(f), PerlIO_seek(f,offset,whence), PerlIO_tell(f), PerlIO_getpos(f,p), PerlIO_setpos(f,p), PerlIO_rewind(f), PerlIO_tmpfile(), PerlIO_setlinebuf(f)

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(aTHX_ f,mode,layers), PerlIO_binmode(aTHX_ 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, Create a branch for your change, Make your change, Test your change, Commit your change, Send your change to the Perl issue tracker, Thank you, Acknowledgement, Next time
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
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, All other subdirectories of t/, Test files not found under t/

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
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
  level 2: perl-level exit() and internals my_exit(), level 3: perl-level die() and internals croak(), level 1: unused, level 0: normal return
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
C99
  AIX, HP/UX, Solaris
Symbol Names and Namespace Pollution
  Don't begin a symbol name with an underscore; (e.g., don't use: "_FOOBAR"), Don't use two consecutive underscores in a symbol name; (e.g., don't use "FOO__BAR")
Writing safer macros
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=-fsanitize=address, -Aldflags=-fsanitize=address, -Alddlflags=-shared\ -fsanitize=address, -fsanitize-blacklist=`pwd`/asan_ignore
Dr Memory

PROFILING

Gprof Profiling
  -a, -b, -e routine, -f routine, -s, -z
GCC gcov Profiling
callgrind profiling
  --threshold, --auto
"profiler" profiling (Cygwin)
Visual Studio Profiling

MISCELLANEOUS TRICKS

PERL_DESTRUCT_LEVEL
Leaked SV spotting: sv_mark_arenas() and sv_sweep_arenas()
PERL_MEM_LOG
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?
Finding unsafe truncations
The .i Targets

AUTHOR

## perlpolicy - Various and sundry policies and commitments related to the Perl core

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

## perlgov - Perl Rules of Governance

PREAMBLE
Mandate
Definitions
  "Core Team", "Steering Council", "Vote Administrator"

The Core Team
The Steering Council
The Vote Administrator

Steering Council and Core Team Members
Steering Council Members
  Graham Knop, Paul Evans, Philippe Bruhat
Core Team Members

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

## perlgit - Detailed information about git and the Perl repository

DESCRIPTION
CLONING THE REPOSITORY
WORKING WITH THE REPOSITORY

Finding out your status
Patch workflow
A note on derived files
Cleaning a working directory
Bisecting
Topic branches and rewriting history
Grafts

WRITE ACCESS TO THE GIT REPOSITORY

Working with Github pull requests
Accepting a patch
Committing to blead
On merging and rebasing
Committing to maintenance versions
Using a smoke-me branch to test changes

## perlhist - the Perl history records

DESCRIPTION
INTRODUCTION
THE KEEPERS OF THE PUMPKIN

PUMPKIN?

THE RECORDS

SELECTED RELEASE SIZES
SELECTED PATCH SIZES

THE KEEPERS OF THE RECORDS

## perldelta - what is new for perl v5.40.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Documentation

Changes to Existing Documentation

Configuration and Compilation
Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5401delta, perldelta - what is new for perl v5.40.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Documentation

Changes to Existing Documentation

Configuration and Compilation
Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5400delta - what is new for perl v5.40.0

DESCRIPTION
Core Enhancements

New "__CLASS__" Keyword
":reader" attribute for field variables
Permit a space in "-M" command-line option
Restrictions to "use VERSION" declarations
New "builtin::inf" and "builtin::nan" functions (experimental)
New "^^" logical xor operator
"try"/"catch" feature is no longer experimental
"for" iterating over multiple values at a time is no longer experimental
"builtin" module is no longer experimental
The ":5.40" feature bundle adds "try"
"use v5.40;" imports builtin functions

Security

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

Incompatible Changes

reset EXPR now calls set-magic on scalars
Calling the import method of an unknown package produces a warning
"return" no longer allows an indirect object
Class barewords no longer resolved as file handles in method calls under "no feature "bareword_filehandles""

Deprecations
Performance Enhancements
Modules and Pragmata

New 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

New Platforms
  Serenity OS
Platform-Specific Notes
  Windows, Linux, MacOS/Darwin, VMS, Oracle Developer Studio (Solaris, Oracle Linux)

Internal Changes
Selected Bug Fixes
Known Problems
  perlivp is missing streamzip on Windows
Errata From Previous Releases
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5382delta - what is new for perl v5.38.2

DESCRIPTION
Security

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5381delta - what is new for perl v5.38.1

DESCRIPTION
Security

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5380delta - what is new for perl v5.38.0

DESCRIPTION
Core Enhancements

New "class" Feature
Unicode 15.0 is supported
Deprecation warnings now have specific subcategories
%{^HOOK} API introduced
PERL_RAND_SEED
Defined-or and logical-or assignment default expressions in signatures
@INC Hook Enhancements and $INC and INCDIR
Forbidden control flow out of "defer" or "finally" now detected at compile-time
Optimistic Eval in Patterns
REG_INF has been raised from 65,536 to 2,147,483,647
New API functions optimize_optree and finalize_optree
Some "goto"s are now permitted in "defer" and "finally" blocks
New regexp variable ${^LAST_SUCCESSFUL_PATTERN}
Locale category LC_NAME now supported on participating platforms

Incompatible Changes

readline() no longer clears the stream error and eof flags
"INIT" blocks no longer run after an exit() in "BEGIN"
Syntax errors no longer produce "phantom error messages"
utf8::upgrade()
Changes to "thread-safe" locales

Deprecations

Use of "'" as a package name separator is deprecated
Switch and Smart Match operator

Performance Enhancements
Modules and Pragmata

Updated Modules and Pragmata

Documentation

New Documentation
Changes to Existing Documentation

Diagnostics

New Diagnostics
Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support

Discontinued Platforms
  Ultrix
Platform-Specific Notes
  DragonflyBSD, FreeBSD, Solaris, Synology, Windows

Internal Changes
  "newSVbool(const bool bool_val)", newSV_true(), newSV_false(), "sv_set_true(SV *sv)", "sv_set_false(SV *sv)", "sv_set_bool(SV *sv, const bool bool_val)", SvIandPOK(sv), SvIandPOK_off(sv), "SvIandPOK_on", I32df -- Like %d, U32of -- Like %o, U32uf -- Like %u, U32xf -- Like %x, U32Xf -- Like %X
Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5363delta - what is new for perl v5.36.3

DESCRIPTION
Security

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5362delta - what is new for perl v5.36.2

DESCRIPTION
Security

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5361delta - what is new for perl v5.36.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Configuration and Compilation
Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5360delta - what is new for perl v5.36.0

DESCRIPTION
Core Enhancements

"use v5.36"
-g command-line flag
Unicode 14.0 is supported
regex sets are no longer considered experimental
Variable length lookbehind is mostly no longer considered experimental
SIGFPE no longer deferred
Stable boolean tracking
iterating over multiple values at a time (experimental)
builtin functions (experimental)
  builtin::trim, builtin::indexed, builtin::true, builtin::false, builtin::is_bool, builtin::weaken, builtin::unweaken, builtin::is_weak, builtin::blessed, builtin::refaddr, builtin::reftype, builtin::ceil, builtin::floor
"defer" blocks (experimental)
try/catch can now have a "finally" block (experimental)
non-ASCII delimiters for quote-like operators (experimental)
@_ is now experimental within signatured subs

Incompatible Changes

A physically empty sort is now a compile-time error

Deprecations

"use VERSION" (where VERSION is below v5.11) after "use v5.11" is deprecated

Performance Enhancements
Modules and Pragmata

Updated Modules and Pragmata

Documentation

New Documentation
Changes to Existing Documentation

Diagnostics

New Diagnostics
Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support

Windows
VMS
  "keys %ENV" on VMS returns consistent results
Discontinued Platforms
  AT&T UWIN, DOS/DJGPP, NetWare
Platform-Specific Notes
  z/OS

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

## perl5343delta - what is new for perl v5.34.3

DESCRIPTION
Security

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5342delta - what is new for perl v5.34.2

DESCRIPTION
Security

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property
CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5341delta - what is new for perl v5.34.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Testing

Platform-Specific Notes
  Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5340delta - what is new for perl v5.34.0

DESCRIPTION
Core Enhancements

Experimental Try/Catch Syntax
"qr/{,n}/" is now accepted

Blanks freely allowed within but adjacent to curly braces
New octal syntax "0oddddd"
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

perl5db.pl (the debugger)
  New option: "HistItemMinLength", Fix to "i" and "l" commands

Configuration and Compilation
  stadtx hash support has been removed, Configure, "-Dusedefaultstrict"
Testing
Platform Support

New Platforms
  9front
Updated Platforms
  Plan9, MacOS (Darwin)
Discontinued Platforms
  Symbian
Platform-Specific Notes
  DragonFlyBSD, Mac OS X, Windows, z/OS

Internal Changes
Selected Bug Fixes
  pack/unpack format 'D' now works on all systems that could support it
Known Problems
Errata From Previous Releases
Obituary
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5321delta - what is new for perl v5.32.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Documentation

New Documentation
Changes to Existing Documentation

Diagnostics

Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support

Platform-Specific Notes
  MacOS (Darwin), Minix

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5320delta - what is new for perl v5.32.0

DESCRIPTION
Core Enhancements

The isa Operator
Unicode 13.0 is supported
Chained comparisons capability
New Unicode properties "Identifier_Status" and "Identifier_Type" supported
It is now possible to write "qr/\p{Name=...}/", or "qr!\p{na=/(SMILING|GRINNING) FACE/}!"
Improvement of POSIX::mblen(), "mbtowc", and "wctomb"
Alpha assertions are no longer experimental
Script runs are no longer experimental
Feature checks are now faster
Perl is now developed on GitHub
Compiled patterns can now be dumped before optimization

Security

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

Incompatible Changes

Certain pattern matching features are now prohibited in compiling Unicode property value wildcard subpatterns
Unused functions "POSIX::mbstowcs" and "POSIX::wcstombs" are removed
A bug fix for "(?[...])" may have caused some patterns to no longer compile
"\p{user-defined}" properties now always override official Unicode ones
Modifiable variables are no longer permitted in constants
Use of "vec" on strings with code points above 0xFF is forbidden
Use of code points over 0xFF in string bitwise operators
Sys::Hostname::hostname() does not accept arguments
Plain "0" string now treated as a number for range operator
"\K" now disallowed in look-ahead and look-behind assertions

Performance Enhancements
Modules and Pragmata

Updated Modules and Pragmata
Removed Modules and Pragmata

Documentation

Changes to Existing Documentation
  "caller", "__FILE__", "__LINE__", "return", "open"

Diagnostics

New Diagnostics
Changes to Existing Diagnostics

Utility Changes

perlbug
  The bug tracker homepage URL now points to GitHub
streamzip

Configuration and Compilation

Configure

Testing
Platform Support

Discontinued Platforms
  Windows CE
Platform-Specific Notes
  Linux, NetBSD 8.0, Windows, Solaris, VMS, z/OS

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

## perl5303delta - what is new for perl v5.30.3

DESCRIPTION
Security

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

Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5302delta - what is new for perl v5.30.2

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Documentation

Changes to Existing Documentation

Configuration and Compilation
Testing
Platform Support

Platform-Specific Notes
  Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5301delta - what is new for perl v5.30.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Documentation

Changes to Existing Documentation

Configuration and Compilation
Testing
Platform Support

Platform-Specific Notes
  Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5300delta - what is new for perl v5.30.0

DESCRIPTION
Notice
Core Enhancements

Limited variable length lookbehind in regular expression pattern matching is now experimentally supported
The upper limit "n" specifiable in a regular expression quantifier of the form "{m,n}" has been doubled to 65534
Unicode 12.1 is supported
Wildcards in Unicode property value specifications are now partially supported
qr'\N{name}' is now supported
Turkic UTF-8 locales are now seamlessly supported
It is now possible to compile perl to always use thread-safe locale operations
Eliminate opASSIGN macro usage from core
"-Drv" now means something on "-DDEBUGGING" builds

Incompatible Changes

Assigning non-zero to $[ is fatal
Delimiters must now be graphemes
Some formerly deprecated uses of an unescaped left brace "{" in regular expression patterns are now illegal
Previously deprecated sysread()/syswrite() on :utf8 handles is now fatal
my() in false conditional prohibited
Fatalize $* and $#
Fatalize unqualified use of dump()
Remove File::Glob::glob()
pack() no longer can return malformed UTF-8
Any set of digits in the Common script are legal in a script run of another script
JSON::PP enables allow_nonref by default

Deprecations

In XS code, use of various macros dealing with UTF-8

Performance Enhancements
Modules and Pragmata

Updated Modules and Pragmata
Removed Modules and Pragmata

Documentation

Changes to Existing Documentation

Diagnostics

Changes to Existing Diagnostics

Utility Changes

xsubpp

Configuration and Compilation
Testing
Platform Support

Platform-Specific Notes
  HP-UX 11.11, Mac OS X, Minix3, Cygwin, Win32 Mingw, Windows

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

## perl5283delta - what is new for perl v5.28.3

DESCRIPTION
Security

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

Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5282delta - what is new for perl v5.28.2

DESCRIPTION
Incompatible Changes

Any set of digits in the Common script are legal in a script run of another script

Modules and Pragmata

Updated Modules and Pragmata

Platform Support

Platform-Specific Notes
  Windows, Mac OS X

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

## perl5281delta - what is new for perl v5.28.1

DESCRIPTION
Security

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

Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Selected Bug Fixes
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

## perl5263delta - what is new for perl v5.26.3

DESCRIPTION
Security

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

Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Diagnostics

New Diagnostics
Changes to Existing Diagnostics

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
"sub"s 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
Removal of "package;" ("package" without arguments)

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
Boolean assignment operators are legal lvalues
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
Boolean assignment operators are legal lvalues
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

## perlbook - Books about and related to Perl

DESCRIPTION

The most popular books
  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
  <https://perl.com/>, <https://blogs.perl.org/>, <https://perl.theplanetarium.org/>, <https://perlweekly.com/>, <https://www.perlmonks.org/>, <https://stackoverflow.com/>
User Groups
Workshops
Hackathons
Conventions
  The Perl Conference, OSCON
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

## perlexperiment - A listing of experimental features in Perl

DESCRIPTION

Current experiments
  Smart match ("~~"), Pluggable keywords, Aliasing via reference, use re 'strict';, Declaring a reference to a variable, There is an "installhtml" target in the Makefile, (Limited) Variable-length look-behind, Unicode private use character hooks, Unicode property wildcards, try/catch control structure, Use of @_ within subroutine signatures, The builtin namespace, The defer block modifier, Extra paired delimiters for quote-like operators
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, String- and number-specific bitwise operators, Alphabetic assertions, Script runs, The infix "isa" operator, Subroutine signatures, Regular Expression Set Operations, try/catch control structure, The "const" attribute, for loop with multiple iteration variables
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", Lexical $_, Array and hash container functions accept references, "our" can have an experimental optional attribute "unique", The ":win32" IO pseudolayer

SEE ALSO
AUTHORS
COPYRIGHT
LICENSE

## 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
Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit)
Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit)
Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit)
Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)
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

CCTools
Termux

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

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

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

## 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
PA-RISC 1.0
PA-RISC 1.1
PA-RISC 2.0
Portability Between PA-RISC Versions
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

Deploying Perl on Linux
Experimental Support for Sun Studio Compilers for Linux OS

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

## 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 z/OS (previously called OS/390)

SYNOPSIS
DESCRIPTION

Tools
Building a 64-bit Dynamic ASCII Perl
Building a 64-bit Dynamic EBCDIC Perl
Setup and utilities for Perl on OS/390
Useful files for trouble-shooting
Build Anomalies with Perl on OS/390
Testing Anomalies with Perl on OS/390
Usage Hints for Perl on z/OS
Modules and Extensions for Perl on z/OS (Static Only)
Running Perl on z/OS
  For ASCII Only:, For ASCII or EBCDIC:

AUTHORS
OTHER SITES
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
Compiler and Related Tools 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

## 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
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
Symbolic Links
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
  <https://osdn.net/projects/mingw/>, <https://mingw-w64.org>

Setting Up Perl on Windows
  Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2015-2022 Community Edition, Microsoft C++ Build Tools, GCC, 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>
SEE ALSO
HISTORY

## perlboot - Links to information on object-oriented programming in Perl

DESCRIPTION

## perlbot - Links to information on object-oriented programming in Perl

DESCRIPTION

## perlrepository - Links to current information on the Perl source repository

DESCRIPTION

## perltodo - Link to the Perl to-do list

DESCRIPTION

## perltooc - Links to information on object-oriented programming in Perl

DESCRIPTION

## perltoot - Links to information on object-oriented programming in Perl

DESCRIPTION

# PRAGMA DOCUMENTATION

## attributes - get/set subroutine or variable attributes

SYNOPSIS
DESCRIPTION

What "import" does
Built-in Attributes
  lvalue, method, prototype(..), const, shared
Available Subroutines
  get, reftype
Package-specific Attribute Handling
  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
Tips and Tricks

Importing autodie into another namespace than "caller"

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

## bigfloat - transparent big floating point number support for Perl

SYNOPSIS
DESCRIPTION

Options
  a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version
Math Library
Method calls
Methods
  inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect()

CAVEATS
  Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
EXAMPLES
BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
SEE ALSO
AUTHORS

## bigint - transparent big integer support for Perl

SYNOPSIS
DESCRIPTION

use integer vs. use bigint
Options
  a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version
Math Library
Method calls
Methods
  inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect()

CAVEATS
  Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
EXAMPLES
BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
SEE ALSO
AUTHORS

## bignum - transparent big number support for Perl

SYNOPSIS
DESCRIPTION

Literal numeric constants
Upgrading and downgrading
Overloading
Options
  a or accuracy, p or precision, l, lib, try, or only, hex, oct, v or version
Math Library
Method calls
Methods
  inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect()

CAVEATS
  The upgrade() and downgrade() methods, Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
EXAMPLES
BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
SEE ALSO
AUTHORS

## bigrat - transparent big rational number support for Perl

SYNOPSIS
DESCRIPTION

Options
  a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version
Math Library
Method calls
Methods
  inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect()

CAVEATS
  Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()
EXAMPLES
BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
SEE ALSO
AUTHORS

## blib - Use MakeMaker's uninstalled version of a package

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

## builtin - Perl pragma to import built-in utility functions

SYNOPSIS
DESCRIPTION

Lexical Import
Version Bundles

FUNCTIONS

true
false
is_bool
inf
nan
weaken
unweaken
is_weak
blessed
refaddr
reftype
created_as_string
created_as_number
stringify
ceil
floor
indexed
trim
is_tainted
export_lexically
load_module

SEE ALSO

## 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
COPYRIGHT & LICENSE

## deprecate - Perl pragma for deprecating the inclusion of a module in core

SYNOPSIS
DESCRIPTION

Important Caveat

EXPORT
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## 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" in encoding
HISTORY
SEE ALSO

## encoding::warnings - Warn on implicit encoding conversions

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

Ordering matters
Disclaimer

SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## 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 'declared_refs' feature
The 'isa' feature
The 'indirect' feature
The 'multidimensional' feature
The 'bareword_filehandles' feature
The 'try' feature
The 'defer' feature
The 'extra_paired_delimiters' feature
The 'module_true' feature
The 'class' feature

FEATURE BUNDLES
IMPLICIT LOADING
CHECKING FEATURES
  feature_enabled($feature), feature_enabled($feature, $depth), features_enabled(), features_enabled($depth), feature_bundle(), feature_bundle($depth)

## fields - compile-time class fields

SYNOPSIS
DESCRIPTION
  new, phash
SEE ALSO

## filetest - Perl pragma to control the filetest permission operators

SYNOPSIS
DESCRIPTION

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

## if - "use" a Perl module if a condition holds

SYNOPSIS
DESCRIPTION

"use if"
"no if"

BUGS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENCE

## 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
COPYRIGHT AND LICENSE

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

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:
Python 2.3 MRO
  <https://www.python.org/download/releases/2.3/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
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
  base, parent::versioned
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, DUMP_PRE_OPTIMIZE, WILDCARD, Other useful flags, ALL, All, MORE, More
Exportable Functions
  is_regexp($ref), regexp_pattern($ref), regname($name,$all), regnames($all), regnames_count(), regmust($ref), optimization($ref), minlen, minlenret, gofs, noscan, isall, anchor SBOL, anchor MBOL, anchor GPOS, skip, implicit, anchored/floating, anchored utf8/floating utf8, anchored min offset/floating min offset, anchored max offset/floating max offset, anchored end shift/floating end shift, checking, stclass

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

## stable - Experimental features made easy, once we know they're stable

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

## strict - Perl pragma to restrict unsafe constructs

SYNOPSIS
DESCRIPTION
  "strict refs", "strict vars", "strict subs"
HISTORY

## subs - Perl pragma to predeclare subroutine 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

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

SYNOPSIS
DESCRIPTION

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

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
How to check for a legal version string
  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
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
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"

## warnings - Perl pragma to control optional warnings

SYNOPSIS
DESCRIPTION

Default Warnings and Optional Warnings
"Negative 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( ARGS )

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
$bool = Archive::Tar->has_xz_support
Archive::Tar->can_handle_compressed_files
GLOBAL VARIABLES

$Archive::Tar::FOLLOW_SYMLINK
$Archive::Tar::CHOWN
$Archive::Tar::CHMOD
$Archive::Tar::SAME_PERMISSIONS
$Archive::Tar::DO_NOT_USE_PREFIX
$Archive::Tar::DEBUG
$Archive::Tar::WARN
$Archive::Tar::error
$Archive::Tar::INSECURE_EXTRACT_MODE
$Archive::Tar::HAS_PERLIO
$Archive::Tar::HAS_IO_STRING
$Archive::Tar::ZERO_PAD_NUMBERS
Tuning the way RESOLVE_SYMLINK will works
  none, speed (default), memory
$Archive::Tar::EXTRACT_BLOCK_SIZE

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
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
COPYRIGHT AND LICENSE

## 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
COPYRIGHT AND LICENSE

## AutoSplit - split a package for autoloading

SYNOPSIS
DESCRIPTION
  $keep, $check, $modtime

Multiple packages

DIAGNOSTICS
AUTHOR
COPYRIGHT AND LICENSE

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

SV-RELATED CLASSES
B::SV Methods
  REFCNT, FLAGS, IsBOOL, object_2svref, TRUE, TRUE_nomg
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::INVLIST Methods
  prev_index, is_offset, array_len, get_invlist_array
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
B::CV Methods
  STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS, const_sv, NAME_HEK
B::HV Methods
  FILL, MAX, KEYS, RITER, NAME, ARRAY
OP-RELATED CLASSES
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)
B::BINOP Method
  last
B::LOGOP Method
  other
B::LISTOP Method
  children
B::PMOP Methods
  pmreplroot, pmreplstart, pmflags, 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, line, warnings, io, hints, hints_hash
B::METHOP Methods (Since Perl 5.22)
  first, meth_sv
PAD-RELATED CLASSES
B::PADLIST Methods
  MAX, ARRAY, ARRAYelt, NAMES, REFCNT, id, outid
B::PADNAMELIST Methods
  MAX, ARRAY, ARRAYelt, REFCNT
B::PADNAME Methods
  PV, PVX, LEN, REFCNT, GEN, FLAGS, TYPE, SvSTASH, OURSTASH, PROTOCV, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH, PARENT_PAD_INDEX, PARENT_FAKELEX_FLAGS, IsUndef
$B::overlay

AUTHOR

## 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, #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::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::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

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

## 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 of the allow_installing_* parameters
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), 19)
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

allow_installing_module_downgrades, allow_installing_outdated_dists, 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, pushy_https, 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, urllist_ping_external, urllist_ping_verbose, 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
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

new
convert
upgrade_fragment

BUGS
AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
DESCRIPTION
METHODS

new
identifier
description
prereqs

BUGS
AUTHORS
COPYRIGHT AND LICENSE

## 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
COPYRIGHT AND LICENSE

## 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
Related Projects
  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
HEADER
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
COPYRIGHT AND LICENSE

## 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
COPYRIGHT AND LICENSE

## 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
version_range_for_module
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.3, >= 1.3, != 1.5, <= 2.0
from_string_hash

SUPPORT

Bugs / Feature Requests
Source Code

AUTHORS
CONTRIBUTORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

with_string_requirement
  >= 1.3, <= 1.3, != 1.3, > 1.3, < 1.3, >= 1.3, != 1.5, <= 2.0
with_range
with_exact_version
with_minimum
with_maximum
with_exclusion
as_struct
as_string
accepts
is_simple

AUTHORS
COPYRIGHT AND LICENSE

## 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
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

new
is_valid
errors
Check Methods
Validator Methods

BUGS
AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHORS
COPYRIGHT AND LICENSE
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, %ARGS );

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
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## Compress::Raw::Zlib - Low-Level Interface to zlib or zlib-ng 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 $version = Compress::Raw::Zlib::zlibng_version();
my $flags = Compress::Raw::Zlib::zlibCompileFlags();
is_zlib_native(); =head2 is_zlibng_native(); =head2 is_zlibng_compat(); =head2 is_zlibng();

The LimitOutput option.
ACCESSING ZIP FILES
FAQ

Compatibility with Unix compress/uncompress.
Accessing .tar.Z files
Zlib Library Version Support

CONSTANTS
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## 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
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## Config, =for comment Generated by configpm. Any changes made here will be lost!

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
P
  "PERL_API_REVISION", "PERL_API_SUBVERSION", "PERL_API_VERSION", "PERL_CONFIG_SH", "PERL_PATCHLEVEL", "PERL_REVISION", "PERL_SUBVERSION", "PERL_VERSION"
_
  "_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", "compiler_warning", "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_Gconvert", "d_PRIEUldbl", "d_PRIFUldbl", "d_PRIGUldbl", "d_PRIXU64", "d_PRId64", "d_PRIeldbl", "d_PRIfldbl", "d_PRIgldbl", "d_PRIi64", "d_PRIo64", "d_PRIu64", "d_PRIx64", "d_SCNfldbl", "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_always_inline", "d_attribute_deprecated", "d_attribute_format", "d_attribute_malloc", "d_attribute_nonnull", "d_attribute_noreturn", "d_attribute_pure", "d_attribute_unused", "d_attribute_visibility", "d_attribute_warn_unused_result", "d_backtrace", "d_bsd", "d_bsdgetpgrp", "d_bsdsetpgrp", "d_builtin_add_overflow", "d_builtin_choose_expr", "d_builtin_expect", "d_builtin_mul_overflow", "d_builtin_sub_overflow", "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_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_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_fdclose", "d_fdim", "d_fds_bits", "d_fegetround", "d_ffs", "d_ffsl", "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_gdbm_ndbm_h_uses_prototypes", "d_gdbmndbm_h_uses_prototypes", "d_getaddrinfo", "d_getcwd", "d_getenv_preserves_other_thread", "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_has_C_UTF8", "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_isless", "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_llrint", "d_llrintl", "d_llround", "d_llroundl", "d_localeconv_l", "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_malloc_usable_size", "d_mblen", "d_mbrlen", "d_mbrtowc", "d_mbstowcs", "d_mbtowc", "d_memmem", "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_msg_ctrunc", "d_msg_dontroute", "d_msg_oob", "d_msg_peek", "d_msg_proxy", "d_msgctl", "d_msgget", "d_msghdr_s", "d_msgrcv", "d_msgsnd", "d_msync", "d_munmap", "d_mymalloc", "d_nan", "d_nanosleep", "d_ndbm", "d_ndbm_h_uses_prototypes", "d_nearbyint", "d_newlocale", "d_nextafter", "d_nexttoward", "d_nice", "d_nl_langinfo", "d_nl_langinfo_l", "d_non_int_bitfields", "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_lc_all_category_positions_init", "d_perl_lc_all_separator", "d_perl_lc_all_uses_name_value_pairs", "d_perl_otherlibdirs", "d_phostname", "d_pipe", "d_pipe2", "d_poll", "d_portable", "d_prctl", "d_prctl_set_name", "d_printf_format_null", "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_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_scm_rights", "d_seekdir", "d_select", "d_sem", "d_semctl", "d_semctl_semid_ds", "d_semctl_semun", "d_semget", "d_semop", "d_sendmsg", "d_setegid", "d_setenv", "d_seteuid", "d_setgrent", "d_setgrent_r", "d_setgrps", "d_sethent", "d_sethostent_r", "d_setitimer", "d_setlinebuf", "d_setlocale", "d_setlocale_accepts_any_locale_name", "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_siginfo_si_addr", "d_siginfo_si_band", "d_siginfo_si_errno", "d_siginfo_si_fd", "d_siginfo_si_pid", "d_siginfo_si_status", "d_siginfo_si_uid", "d_siginfo_si_value", "d_signbit", "d_sigprocmask", "d_sigsetjmp", "d_sin6_scope_id", "d_sitearch", "d_snprintf", "d_sockaddr_in6", "d_sockaddr_sa_len", "d_sockaddr_storage", "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_strcoll", "d_strerror_l", "d_strerror_r", "d_strftime", "d_strlcat", "d_strlcpy", "d_strnlen", "d_strtod", "d_strtod_l", "d_strtol", "d_strtold", "d_strtold_l", "d_strtoll", "d_strtoq", "d_strtoul", "d_strtoull", "d_strtouq", "d_strxfrm", "d_strxfrm_l", "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_thread_local", "d_time", "d_timegm", "d_times", "d_tm_tm_gmtoff", "d_tm_tm_zone", "d_tmpnam_r", "d_towlower", "d_towupper", "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_unsetenv", "d_uselocale", "d_usleep", "d_usleepproto", "d_ustat", "d_vendorarch", "d_vendorbin", "d_vendorlib", "d_vendorscript", "d_vfork", "d_void_closedir", "d_voidsig", "d_voidtty", "d_vsnprintf", "d_wait4", "d_waitpid", "d_wcrtomb", "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", "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
  "fflushNULL", "fflushall", "find", "firstmakefile", "flex", "fpossize", "fpostype", "freetype", "from", "full_ar", "full_csh", "full_sed"
g
  "gccansipedantic", "gccosandvers", "gccversion", "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", "hint", "hostcat", "hostgenerate", "hostosname", "hostperl", "html1dir", "html1direxp", "html3dir", "html3direxp"
i
  "i16size", "i16type", "i32dformat", "i32size", "i32type", "i64size", "i64type", "i8size", "i8type", "i_arpainet", "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_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_stdlib", "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_syssyscall", "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_wchar", "i_wctype", "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", "nvEUformat", "nvFUformat", "nvGUformat", "nv_overflows_integers_at", "nv_preserves_uv_bits", "nveformat", "nvfformat", "nvgformat", "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", "perl_lc_all_category_positions_init", "perl_lc_all_separator", "perl_patchlevel", "perl_static_inline", "perl_thread_local", "perladmin", "perllibs", "perlpath", "pg", "phostname", "pidtype", "plibpth", "pmake", "pr", "prefix", "prefixexp", "privlib", "privlibexp", "procselfexe", "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
  "sGMTIME_max", "sGMTIME_min", "sLOCALTIME_max", "sLOCALTIME_min", "sPRIEUldbl", "sPRIFUldbl", "sPRIGUldbl", "sPRIXU64", "sPRId64", "sPRIeldbl", "sPRIfldbl", "sPRIgldbl", "sPRIi64", "sPRIo64", "sPRIu64", "sPRIx64", "sSCNfldbl", "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", "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", "smail", "so", "sockethdr", "socketlib", "socksizetype", "sort", "spackage", "spitshell", "srand48_r_proto", "srandom_r_proto", "src", "ssizetype", "st_dev_sign", "st_dev_size", "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", "sysman", "sysroot"
t
  "tail", "taint_disabled", "taint_support", "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", "u32XUformat", "u32oformat", "u32size", "u32type", "u32uformat", "u32xformat", "u64size", "u64type", "u8size", "u8type", "uidformat", "uidsign", "uidsize", "uidtype", "uname", "uniq", "uquadtype", "use64bitall", "use64bitint", "usecbacktrace", "usecrosscompile", "usedefaultstrict", "usedevel", "usedl", "usedtrace", "usefaststdio", "useithreads", "usekernprocpathname", "uselanginfo", "uselargefiles", "uselongdouble", "usemallocwrap", "usemorebits", "usemultiplicity", "usemymalloc", "usenm", "usensgetexecutablepath", "useopcode", "useperlio", "useposix", "usequadmath", "usereentrant", "userelocatableinc", "useshrplib", "usesitecustomize", "usesocks", "usethreads", "usevendorprefix", "useversionedarchname", "usevfork", "usrinc", "uuname", "uvXUformat", "uvoformat", "uvsize", "uvtype", "uvuformat", "uvxformat"
v
  "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", "xlocale_needed"
y
  "yacc", "yaccflags"
z
  "zcat", "zip"
GIT DATA
NOTE

## Config::Extensions - hash lookup of which core extensions were built.

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
COPYRIGHT AND LICENSE

## 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
SUPPORT
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::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
Supported Perl API, sorted by version
  perl 5.35.9, perl 5.35.8, perl 5.35.7, perl 5.35.6, perl 5.35.5, perl 5.35.4, perl 5.35.1, perl 5.33.8, perl 5.33.7, perl 5.33.5, perl 5.33.2, perl 5.32.1, perl 5.31.9, perl 5.31.7, perl 5.31.5, perl 5.31.4, perl 5.31.3, perl 5.29.10, perl 5.29.9, perl 5.27.11, perl 5.27.9, perl 5.27.8, perl 5.27.7, perl 5.27.6, perl 5.27.5, perl 5.27.4, perl 5.27.3, perl 5.27.2, perl 5.27.1, perl 5.25.11, perl 5.25.10, perl 5.25.9, perl 5.25.8, perl 5.25.7, perl 5.25.6, perl 5.25.5, perl 5.25.4, perl 5.25.3, perl 5.25.2, perl 5.25.1, perl 5.24.0, perl 5.23.9, perl 5.23.8, perl 5.23.6, perl 5.23.5, perl 5.23.2, perl 5.23.0, perl 5.21.10, perl 5.21.9, perl 5.21.8, perl 5.21.7, perl 5.21.6, perl 5.21.5, perl 5.21.4, perl 5.21.3, perl 5.21.2, perl 5.21.1, perl 5.19.10, perl 5.19.9, perl 5.19.7, perl 5.19.5, perl 5.19.4, perl 5.19.3, perl 5.19.2, perl 5.19.1, perl 5.18.0, perl 5.17.11, perl 5.17.8, perl 5.17.7, perl 5.17.6, perl 5.17.5, perl 5.17.4, perl 5.17.2, perl 5.17.1, perl 5.16.0, perl 5.15.8, perl 5.15.7, perl 5.15.6, perl 5.15.4, perl 5.15.3, perl 5.15.2, perl 5.15.1, perl 5.13.10, perl 5.13.9, perl 5.13.8, perl 5.13.7, perl 5.13.6, perl 5.13.5, perl 5.13.4, perl 5.13.3, perl 5.13.2, perl 5.13.1, perl 5.13.0, perl 5.11.5, perl 5.11.4, perl 5.11.2, 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.9, perl 5.8.8, 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.7.0, 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 (or maybe earlier), Backported version unknown

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, $ctx->base64_padded_digest
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
COPYRIGHT AND LICENSE

## 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()
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 -- ETSI GSM 03.38 Encoding

SYNOPSIS
DESCRIPTION

Septets

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::Symbol, 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)

Microsoft-related naming mess
  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
"AUTOLOAD"ed Constants

Good Practices

Declaring @EXPORT_OK and Friends
Playing Safe
What Not to Export

SEE ALSO
LICENSE

## Exporter::Heavy - Exporter guts

SYNOPSIS
DESCRIPTION

## ExtUtils::CBuilder - Compile and link C code for Perl modules

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

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

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

## 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_OS390 - OS390 specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION

Overriden methods
  xs_make_dynamic_lib

AUTHOR
SEE ALSO

## 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
COPYRIGHT AND LICENSE

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

## ExtUtils::PL2Bat - Batch file creation to run perl scripts on Windows

VERSION
OVERVIEW
FUNCTIONS

pl2bat(%opts)
  "in", "out", "ntargs", "otherargs", "stripsuffix", "usewarnings", "update"

ACKNOWLEDGEMENTS
AUTHOR
COPYRIGHT AND LICENSE

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, die_on_error, $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
WarnHint()
  Purpose, Arguments, Return Value
_MsgHint()
  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_outputmap
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
COPYRIGHT & LICENSE

## ExtUtils::Typemaps::Cmd - Quick commands for handling typemaps

SYNOPSIS
DESCRIPTION
EXPORTED FUNCTIONS

embeddable_typemap

SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

## ExtUtils::Typemaps::InputMap - Entry in the INPUT section of a typemap

SYNOPSIS
DESCRIPTION
METHODS
new
code
xstype
cleaned_code
SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

## ExtUtils::Typemaps::OutputMap - Entry in the OUTPUT section of a typemap

SYNOPSIS
DESCRIPTION
METHODS
new
code
xstype
cleaned_code
targetable
SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

## ExtUtils::Typemaps::Type - Entry in the TYPEMAP section of a typemap

SYNOPSIS
DESCRIPTION
METHODS
new
proto
xstype
ctype
tidy_ctype
SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

## 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 - various flag constants and helper functions from C's fcntl.h

SYNOPSIS
DESCRIPTION
EXPORTED SYMBOLS

Default exports and export tags
  ":DEFAULT", ":flock", ":mode", ":seek", ":Fcompat"
Symbols for use with "fcntl"
  "F_ALLOCSP", "F_ALLOCSP64", "F_DUP2FD", "F_DUPFD", "F_FREESP", "F_FREESP64", "F_FSYNC", "F_FSYNC64", "F_GETFD", "FD_CLOEXEC", "F_GETFL", "F_GETLEASE", "F_RDLCK", "F_WRLCK", "F_UNLCK", "F_GETLK", "F_GETLK64", "F_GETOWN", "F_GETPIPE_SZ", "F_GETSIG", "F_NOTIFY", "DN_ACCESS", "DN_ATTRIB", "DN_CREATE", "DN_DELETE", "DN_MODIFY", "DN_MULTISHOT", "DN_RENAME", "F_SETFD", "F_SETFL", "F_SETLEASE", "F_RDLCK", "F_WRLCK", "F_UNLCK", "F_SETLK", "F_SETLK64", "F_SETLKW", "F_SETLKW64", "F_SETOWN", "F_SETPIPE_SZ", "F_SETSIG", "F_SHARE", "F_UNSHARE", "F_COMPAT", "F_EXLCK", "F_NODNY", "F_POSIX", "F_RDACC", "F_RDDNY", "F_RWACC", "F_RWDNY", "F_SHLCK", "F_WRACC", "F_WRDNY"
Symbols for use with "flock"
  "LOCK_EX", "LOCK_MAND", "LOCK_NB", "LOCK_READ", "LOCK_RW", "LOCK_SH", "LOCK_UN", "LOCK_WRITE"
Symbols for use with "sysopen"
  "O_ACCMODE", "O_ALIAS", "O_ALT_IO", "O_APPEND", "O_ASYNC", "O_BINARY", "O_CREAT", "O_DEFER", "O_DIRECT", "O_DIRECTORY", "O_DSYNC", "O_EVTONLY", "O_EXCL", "O_EXLOCK", "O_IGNORE_CTTY", "O_LARGEFILE", "O_NDELAY", "O_NOATIME", "O_NOCTTY", "O_NOFOLLOW", "O_NOINHERIT", "O_NOLINK", "O_NONBLOCK", "O_NOSIGPIPE", "O_NOTRANS", "O_RANDOM", "O_RAW", "O_RDONLY", "O_RDWR", "O_RSRC", "O_RSYNC", "O_SEQUENTIAL", "O_SHLOCK", "O_SYMLINK", "O_SYNC", "O_TEMPORARY", "O_TEXT", "O_TMPFILE", "O_TRUNC", "O_TTY_INIT", "O_WRONLY", "FAPPEND", "FASYNC", "FCREAT", "FDEFER", "FDSYNC", "FEXCL", "FLARGEFILE", "FNDELAY", "FNONBLOCK", "FRSYNC", "FSYNC", "FTRUNC"
Symbols for use with "seek" and "sysseek"
  "SEEK_CUR", "SEEK_END", "SEEK_SET"
Symbols for use with "stat" and "chmod"
  "S_ENFMT", "S_IEXEC", "S_IFBLK", "S_IFCHR", "S_IFDIR", "S_IFIFO", "S_IFLNK", "S_IFMT", "_S_IFMT", "S_IFREG", "S_IFSOCK", "S_IFWHT", "S_IMODE", "S_IREAD", "S_IRGRP", "S_IROTH", "S_IRUSR", "S_IRWXG", "S_IRWXO", "S_IRWXU", "S_ISBLK", "S_ISCHR", "S_ISDIR", "S_ISENFMT", "S_ISFIFO", "S_ISGID", "S_ISLNK", "S_ISREG", "S_ISSOCK", "S_ISTXT", "S_ISUID", "S_ISVTX", "S_ISWHT", "S_IWGRP", "S_IWOTH", "S_IWRITE", "S_IWUSR", "S_IXGRP", "S_IXOTH", "S_IXUSR"

SEE ALSO
APPENDIX A

## 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
NOTES
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
BUGS AND CAVEATS
  $dont_use_nlink, Symlinks
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
COPYRIGHT AND LICENSE

## 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>, 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
COPYRIGHT AND LICENSE

## 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
COPYRIGHT AND LICENSE

## 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
  $Bin or $Dir, $Script, $RealBin or $RealDir, $RealScript
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
Callback object
  name, given
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
COPYRIGHT AND DISCLAIMER

## Getopt::Long::Parser - Getopt::Long object oriented interface

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  config
METHODS

configure

getoptionsfromarray
getoptions
SEE ALSO
AUTHOR
COPYRIGHT AND DISCLAIMER

## 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|patch|delete
post_form
mirror
request
www_form_urlencode
can_ssl
connected

TLS/SSL SUPPORT
PROXY SUPPORT
LIMITATIONS
SEE ALSO
SUPPORT

Bugs / Feature Requests
Source Code

AUTHORS
CONTRIBUTORS
COPYRIGHT AND LICENSE

## 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
COPYRIGHT AND LICENSE

## I18N::Collate - compare 8-bit scalar data according to the current locale

SYNOPSIS
DESCRIPTION

## 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} : Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd} : Zande, [{zap} : Zapotec], {zen} : Zenaga, {za} : Zhuang, {zu} : Zulu, {zun} : Zuni
SEE ALSO
COPYRIGHT AND DISCLAIMER
AUTHOR

## I18N::Langinfo - query locale information

SYNOPSIS
DESCRIPTION
  "-", "+", ".", "_NL_ADDRESS_POSTAL_FMT", "_NL_ADDRESS_COUNTRY_NAME", "_NL_ADDRESS_COUNTRY_POST", "_NL_ADDRESS_COUNTRY_AB2", "_NL_ADDRESS_COUNTRY_AB3", "_NL_ADDRESS_COUNTRY_CAR", "_NL_ADDRESS_COUNTRY_NUM", "_NL_ADDRESS_COUNTRY_ISBN", "_NL_ADDRESS_LANG_NAME", "_NL_ADDRESS_LANG_AB", "_NL_ADDRESS_LANG_TERM", "_NL_ADDRESS_LANG_LIB", "_NL_IDENTIFICATION_TITLE", "_NL_IDENTIFICATION_SOURCE", "_NL_IDENTIFICATION_ADDRESS", "_NL_IDENTIFICATION_CONTACT", "_NL_IDENTIFICATION_EMAIL", "_NL_IDENTIFICATION_TEL", "_NL_IDENTIFICATION_FAX", "_NL_IDENTIFICATION_LANGUAGE", "_NL_IDENTIFICATION_TERRITORY", "_NL_IDENTIFICATION_AUDIENCE", "_NL_IDENTIFICATION_APPLICATION", "_NL_IDENTIFICATION_ABBREVIATION", "_NL_IDENTIFICATION_REVISION", "_NL_IDENTIFICATION_DATE", "_NL_IDENTIFICATION_CATEGORY", "_NL_MEASUREMENT_MEASUREMENT", "_NL_NAME_NAME_FMT", "_NL_NAME_NAME_GEN", "_NL_NAME_NAME_MR", "_NL_NAME_NAME_MRS", "_NL_NAME_NAME_MISS", "_NL_NAME_NAME_MS", "_NL_PAPER_HEIGHT", "_NL_PAPER_WIDTH", "_NL_TELEPHONE_TEL_INT_FMT", "_NL_TELEPHONE_TEL_DOM_FMT", "_NL_TELEPHONE_INT_SELECT", "_NL_TELEPHONE_INT_PREFIX"

For systems without "nl_langinfo"
  "ERA", "CODESET", "YESEXPR", "YESSTR", "NOEXPR", "NOSTR", "ALT_DIGITS", "D_FMT", "T_FMT", "D_T_FMT", "CRNCYSTR", "ERA_D_FMT", "ERA_T_FMT", "ERA_D_T_FMT", "T_FMT_AMPM", All "_NL_foo" items
EXPORT

BUGS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## IO - load various IO modules

SYNOPSIS
DESCRIPTION
DEPRECATED

## IO::Compress::Base - Base Class for IO::Compress modules

SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Compress::Bzip2 - Write bzip2 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

bzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle
Oneshot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "BlockSize100K => number", "WorkFactor => number", "Strict => 0|1"
Examples

Methods

print
printf
syswrite
write
flush
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
newStream([OPTS])

Importing
  :all
EXAMPLES

Apache::GZip Revisited
Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Compress::Deflate - Write RFC 1950 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

deflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle
Oneshot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Merge => 0|1", -Level, -Strategy, "Strict => 0|1"
Examples

Methods

print
printf
syswrite
write
flush
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
newStream([OPTS])
deflateParams

Importing
  :all, :constants, :flush, :level, :strategy
EXAMPLES

Apache::GZip Revisited
Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Compress::FAQ -- Frequently Asked Questions about IO::Compress

DESCRIPTION
GENERAL

Compatibility with Unix compress/uncompress.
Accessing .tar.Z files
How do I recompress using a different compression?

ZIP

What Compression Types do IO::Compress::Zip & IO::Uncompress::Unzip support?
  Store (method 0), Deflate (method 8), Bzip2 (method 12), Lzma (method 14)
Can I Read/Write Zip files larger the 4 Gig?
Can I write more that 64K entries is a Zip files?
Zip Resources

GZIP

Gzip Resources
Dealing with concatenated gzip files
Reading bgzip files with IO::Uncompress::Gunzip

ZLIB

Zlib Resources

Bzip2

Bzip2 Resources
Dealing with Concatenated bzip2 files
Interoperating with Pbzip2

HTTP & NETWORK

Apache::GZip Revisited
Compressed files and Net::FTP

MISC

Using "InputLength" to uncompress data embedded in a larger file/buffer.

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Compress::Gzip - Write RFC 1952 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

gzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle
Oneshot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Merge => 0|1", -Level, -Strategy, "Minimal => 0|1", "Comment => $comment", "Name => $string", "Time => $number", "TextFlag => 0|1", "HeaderCRC => 0|1", "OS_Code => $value", "ExtraField => $data", "ExtraFlags => $value", "Strict => 0|1"
Examples

Methods

print
printf
syswrite
write
flush
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
newStream([OPTS])
deflateParams

Importing
  :all, :constants, :flush, :level, :strategy
EXAMPLES

Apache::GZip Revisited
Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Compress::RawDeflate - Write RFC 1951 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

rawdeflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle
Oneshot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Merge => 0|1", -Level, -Strategy, "Strict => 0|1"
Examples

Methods

print
printf
syswrite
write
flush
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
newStream([OPTS])
deflateParams

Importing
  :all, :constants, :flush, :level, :strategy
EXAMPLES

Apache::GZip Revisited
Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Compress::Zip - Write zip files/buffers

SYNOPSIS
DESCRIPTION
  Store (0), Deflate (8), Bzip2 (12), Lzma (14), Zstandard (93), Xz (95)
Functional Interface

zip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, the full filename contained in $input_filename_or_reference, the file protection attributes, the UID/GID for the file, the file timestamps, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle
Oneshot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Name => $string", If the $input parameter is not a filename, the archive member name will be an empty string, "CanonicalName => 0|1", "FilterName => sub { ... }", "Efs => 0|1", "Minimal => 1|0", "Stream => 0|1", "Zip64 => 0|1", -Level, -Strategy, "BlockSize100K => number", "WorkFactor => number", "Preset => number", "Extreme => 0|1", "Time => $number", "ExtAttr => $attr", "exTime => [$atime, $mtime, $ctime]", "exUnix2 => [$uid, $gid]", "exUnixN => [$uid, $gid]", Comment => $comment, "ZipComment => $comment", "Method => $method", "TextFlag => 0|1", "ExtraFieldLocal => $data", "ExtraFieldCentral => $data", "Strict => 0|1"
Examples

Methods

print
printf
syswrite
write
flush
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
newStream([OPTS])
deflateParams

Importing
  :all, :constants, :flush, :level, :strategy, :zip_method
EXAMPLES

Apache::GZip Revisited
Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Dir - supply object methods for directory handles

SYNOPSIS
DESCRIPTION
  new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]
SEE ALSO
AUTHOR
COPYRIGHT

## IO::File - supply object methods for filehandles

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile
METHODS
  open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS )
NOTE
SEE ALSO
HISTORY

## IO::Handle - supply object methods for I/O handles

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new (), new_from_fd ( FD, MODE )
METHODS
  $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines, $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error, $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ), $io->blocking ( [ BOOL ] ), binmode( [LAYER] ), $io->untaint
NOTE
SEE ALSO
BUGS
HISTORY

## IO::Pipe - supply object methods for pipes

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [READER, WRITER] )
METHODS
  reader ([ARGS]), writer ([ARGS]), handles ()
SEE ALSO
AUTHOR
COPYRIGHT

## IO::Poll - Object interface to system poll call

SYNOPSIS
DESCRIPTION
METHODS
  mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove ( IO ), handles( [ EVENT_MASK ] )
SEE ALSO
AUTHOR
COPYRIGHT

## IO::Seekable - supply seek based methods for I/O objects

SYNOPSIS
DESCRIPTION
  $io->getpos, $io->setpos, $io->seek ( POS, WHENCE ), WHENCE=0 (SEEK_SET), WHENCE=1 (SEEK_CUR), WHENCE=2 (SEEK_END), $io->sysseek( POS, WHENCE ), $io->tell
SEE ALSO
HISTORY

## IO::Select - OO interface to the "select" system call

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ HANDLES ] )
METHODS
  add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )
EXAMPLE
AUTHOR
COPYRIGHT

## IO::Socket - Object interface to socket communications

SYNOPSIS
DESCRIPTION
CONSTRUCTOR ARGUMENTS

Blocking
Domain
Listen
Timeout
Type

CONSTRUCTORS

new

METHODS

accept
atmark
autoflush
bind
connected
getsockopt
listen
peername
protocol
recv
send
setsockopt
shutdown
sockdomain
socket
socketpair
sockname
sockopt
socktype
timeout

EXAMPLES
LIMITATIONS
SEE ALSO
AUTHOR
COPYRIGHT

## IO::Socket::INET - Object interface for AF_INET domain sockets

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )

METHODS
  sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost ()

SEE ALSO
AUTHOR
COPYRIGHT

## IO::Socket::IP, "IO::Socket::IP" - Family-neutral IP socket supporting both IPv4 and IPv6

SYNOPSIS
DESCRIPTION
REPLACING "IO::Socket" DEFAULT BEHAVIOUR
CONSTRUCTORS
new
  PeerHost => STRING, PeerService => STRING, PeerAddr => STRING, PeerPort => STRING, PeerAddrInfo => ARRAY, LocalHost => STRING, LocalService => STRING, LocalAddr => STRING, LocalPort => STRING, LocalAddrInfo => ARRAY, Family => INT, Type => INT, Proto => STRING or INT, GetAddrInfoFlags => INT, Listen => INT, ReuseAddr => BOOL, ReusePort => BOOL, Broadcast => BOOL, Sockopts => ARRAY, V6Only => BOOL, MultiHomed, Blocking => BOOL, Timeout => NUM
new (one arg)
METHODS
sockhost_service
sockhost
sockport
sockhostname
sockservice
sockaddr
peerhost_service
peerhost
peerport
peerhostname
peerservice
peeraddr
as_inet
NON-BLOCKING
"PeerHost" AND "LocalHost" PARSING

split_addr

join_addr
"IO::Socket::INET" INCOMPATIBILITES
TODO
AUTHOR

## IO::Socket::UNIX - Object interface for AF_UNIX domain sockets

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )
METHODS
  hostpath(), peerpath()
SEE ALSO
AUTHOR
COPYRIGHT

## IO::Uncompress::AnyInflate - Uncompress zlib-based (zip, gzip) file/buffer

SYNOPSIS
DESCRIPTION
  RFC 1950, RFC 1951 (optionally), gzip (RFC 1952), zip
Functional Interface

anyinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"
OneShot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "RawInflate => 0|1", "ParseExtra => 0|1" If the gzip FEXTRA header field is present and this option is set, it will force the module to check that it conforms to the sub-field structure as defined in RFC 1952

Methods

read
read
getline
getc
ungetc
inflateSync
getHeaderInfo
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
nextStream
trailingData

Importing
  :all
EXAMPLES

Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2, zstd, xz, lzma, lzip, lzf or lzop file/buffer

SYNOPSIS
DESCRIPTION
  RFC 1950, RFC 1951 (optionally), gzip (RFC 1952), zip, zstd (Zstandard), bzip2, lzop, lzf, lzma, lzip, xz
Functional Interface

anyuncompress $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"
OneShot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "RawInflate => 0|1", "UnLzma => 0|1"

Methods

read
read
getline
getc
ungetc
getHeaderInfo
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
nextStream
trailingData

Importing
  :all
EXAMPLES
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Uncompress::Base - Base Class for IO::Uncompress modules

SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Uncompress::Bunzip2 - Read bzip2 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

bunzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"
OneShot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "Small => 0|1"

Methods

read
read
getline
getc
ungetc
getHeaderInfo
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
nextStream
trailingData

Importing
  :all
EXAMPLES

Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Uncompress::Gunzip - Read RFC 1952 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

gunzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"
OneShot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "ParseExtra => 0|1" If the gzip FEXTRA header field is present and this option is set, it will force the module to check that it conforms to the sub-field structure as defined in RFC 1952

Methods

read
read
getline
getc
ungetc
inflateSync
getHeaderInfo
  Name, Comment
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
nextStream
trailingData

Importing
  :all
EXAMPLES

Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Uncompress::Inflate - Read RFC 1950 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

inflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"
OneShot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1"

Methods

read
read
getline
getc
ungetc
inflateSync
getHeaderInfo
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
nextStream
trailingData

Importing
  :all
EXAMPLES

Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Uncompress::RawInflate - Read RFC 1951 files/buffers

SYNOPSIS
DESCRIPTION
Functional Interface

rawinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"
OneShot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1"

Methods

read
read
getline
getc
ungetc
inflateSync
getHeaderInfo
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
nextStream
trailingData

Importing
  :all
EXAMPLES

Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Uncompress::Unzip - Read zip files/buffers

SYNOPSIS
DESCRIPTION
  Store (0), Deflate (8), Bzip2 (12), Lzma (14), Xz (95), Zstandard (93)
Functional Interface

unzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
  A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob
Notes
Optional Parameters
  "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"
OneShot Examples

OO Interface

Constructor
  A filename, A filehandle, A scalar reference
Constructor Options
  "Name => "membername"", "Efs => 0| 1", "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", "InputLength => $size", "Append => 0|1", "Strict => 0|1"

Methods

read
read
getline
getc
ungetc
inflateSync
getHeaderInfo
tell
eof
seek
binmode
opened
autoflush
input_line_number
fileno
close
nextStream
trailingData

Importing
  :all
EXAMPLES

Simple Read
Walking through a zip file
Unzipping a complete zip file to disk
Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

## IO::Zlib - IO:: style interface to Compress::Zlib

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
  new ( [ARGS] )
OBJECT METHODS
  open ( FILENAME, MODE ), opened, close, getc, getline, getlines, print ( ARGS... ), read ( BUF, NBYTES, [OFFSET] ), eof, seek ( OFFSET, WHENCE ), tell, setpos ( POS ), getpos ( POS )
USING THE EXTERNAL GZIP
CLASS METHODS
  has_Compress_Zlib, gzip_external, gzip_used, gzip_read_open, gzip_write_open
DIAGNOSTICS
  IO::Zlib::getlines: must be called in list context, IO::Zlib::gzopen_external: mode '...' is illegal, IO::Zlib::import: '...' is illegal, IO::Zlib::import: ':gzip_external' requires an argument, IO::Zlib::import: 'gzip_read_open' requires an argument, IO::Zlib::import: 'gzip_read' '...' is illegal, IO::Zlib::import: 'gzip_write_open' requires an argument, IO::Zlib::import: 'gzip_write_open' '...' is illegal, IO::Zlib::import: no Compress::Zlib and no external gzip, IO::Zlib::open: needs a filename, IO::Zlib::READ: NBYTES must be specified, IO::Zlib::WRITE: too long LENGTH
SEE ALSO
HISTORY
COPYRIGHT

## IPC::Cmd - finding and running system commands made easy

SYNOPSIS
DESCRIPTION
CLASS METHODS

$ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] )

$ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] )
$bool = IPC::Cmd->can_capture_buffer
$bool = IPC::Cmd->can_use_run_forked
FUNCTIONS

$path = can_run( PROGRAM );

$ok | ($ok, $err, $full_buf, $stdout_buff, $stderr_buff) = run( command => COMMAND, [verbose => BOOL, buffer => \$SCALAR, timeout => DIGIT] );
  command, verbose, buffer, timeout, success, error message, full_buffer, out_buffer, error_buffer
$hashref = run_forked( COMMAND, { child_stdin => SCALAR, timeout => DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );
  "timeout", "child_stdin", "stdout_handler", "stderr_handler", "wait_loop_callback", "discard_output", "terminate_on_parent_sudden_death", "exit_code", "timeout", "stdout", "stderr", "merged", "err_msg"
$q = QUOTE
HOW IT WORKS
Global Variables

$IPC::Cmd::VERBOSE
$IPC::Cmd::USE_IPC_RUN
$IPC::Cmd::USE_IPC_OPEN3
$IPC::Cmd::WARN
$IPC::Cmd::INSTANCES
$IPC::Cmd::ALLOW_NULL_ARGS

Caveats
  Whitespace and IPC::Open3 / system(), Whitespace and IPC::Run, IO Redirect, Interleaving STDOUT/STDERR
See Also
ACKNOWLEDGEMENTS
BUG REPORTS
AUTHOR
COPYRIGHT

## IPC::Msg - SysV Msg IPC object class

SYNOPSIS
DESCRIPTION
METHODS
  new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [, FLAGS ] ), stat
SEE ALSO
AUTHORS
COPYRIGHT

## IPC::Open2 - open a process for both reading and writing using open2()

SYNOPSIS
DESCRIPTION
WARNING
SEE ALSO

## IPC::Open3 - open a process for reading, writing, and error handling using open3()

SYNOPSIS
DESCRIPTION
See Also
  IPC::Open2, IPC::Run
WARNING

## IPC::Semaphore - SysV Semaphore IPC object class

SYNOPSIS
DESCRIPTION
METHODS
  new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ), getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N , VALUE ), stat
SEE ALSO
AUTHORS
COPYRIGHT

## IPC::SharedMem - SysV Shared Memory IPC object class

SYNOPSIS
DESCRIPTION
METHODS
  new ( KEY , SIZE , FLAGS ), id, read ( POS, SIZE ), write ( STRING, POS, SIZE ), remove, is_removed, stat, attach ( [FLAG] ), detach, addr
SEE ALSO
AUTHORS
COPYRIGHT

## IPC::SysV - System V IPC constants and system calls

SYNOPSIS
DESCRIPTION
  ftok( PATH ), ftok( PATH, ID ), shmat( ID, ADDR, FLAG ), shmdt( ADDR ), memread( ADDR, VAR, POS, SIZE ), memwrite( ADDR, STRING, POS, SIZE )
SEE ALSO
AUTHORS
COPYRIGHT

## Internals - Reserved special namespace for internals related functions

SYNOPSIS
DESCRIPTION

FUNCTIONS
  SvREFCNT(THING [, $value]), SvREADONLY(THING, [, $value]), hv_clear_placeholders(%hash), stack_refcounted

AUTHOR
SEE ALSO

## JSON::PP - JSON::XS compatible pure-Perl module.

SYNOPSIS
DESCRIPTION
FUNCTIONAL INTERFACE

encode_json
decode_json
JSON::PP::is_bool

OBJECT-ORIENTED INTERFACE

new
ascii
latin1
utf8
pretty
indent
space_before
space_after
relaxed
  list items can have an end-comma, shell-style '#'-comments, C-style multiple-line '/* */'-comments (JSON::PP only), C++-style one-line '//'-comments (JSON::PP only), literal ASCII TAB characters in strings
canonical
allow_nonref
allow_unknown
allow_blessed
convert_blessed
allow_tags
boolean_values
core_bools
filter_json_object
filter_json_single_key_object
shrink
max_depth
max_size
encode
decode
decode_prefix

FLAGS FOR JSON::PP ONLY

allow_singlequote
allow_barekey
allow_bignum
loose
escape_slash
indent_length
sort_by

INCREMENTAL PARSING

incr_parse
incr_text
incr_skip
incr_reset

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, JSON::PP::true, JSON::PP::false, JSON::PP::null, blessed objects, simple scalars
OBJECT SERIALISATION
  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, 3. "allow_bignum" is enabled and the object is a "Math::BigInt" or "Math::BigFloat", 4. "allow_blessed" is enabled, 5. none of the above

ENCODING/CODESET FLAG NOTES
  "utf8" flag disabled, "utf8" flag enabled, "latin1" or "ascii" flags enabled
BUGS
SEE ALSO
AUTHOR
CURRENT MAINTAINER
COPYRIGHT AND LICENSE

## JSON::PP::Boolean - dummy module providing JSON::PP::Boolean

SYNOPSIS
DESCRIPTION
AUTHOR
LICENSE

## List::Util - A selection of general-utility list subroutines

SYNOPSIS
DESCRIPTION
LIST-REDUCTION FUNCTIONS
reduce
reductions
any
all
none
notall
first
max
maxstr
min
minstr
product
sum
sum0
KEY/VALUE PAIR LIST FUNCTIONS
pairs
unpairs
pairkeys
pairvalues
pairgrep
pairfirst
pairmap
OTHER FUNCTIONS
shuffle
sample
uniq
uniqint
uniqnum
uniqstr
head
tail
zip
mesh
CONFIGURATION VARIABLES

$RAND

KNOWN BUGS

RT #95409
uniqnum() on oversized bignums

SUGGESTED ADDITIONS
SEE ALSO
COPYRIGHT

## List::Util::XS - Indicate if List::Util was compiled with a C compiler

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT

## Locale::Maketext - framework for localization

SYNOPSIS
DESCRIPTION
QUICK OVERVIEW
METHODS

Construction Methods
The "maketext" Method
  $lh->fail_with or $lh->fail_with(PARAM), $lh->failure_handler_auto, $lh->denylist(@list) <or> $lh->blacklist(@list), $lh->allowlist(@list) <or> $lh->whitelist(@list)
Utility Methods
  $language->quant($number, $singular), $language->quant($number, $singular, $plural), $language->quant($number, $singular, $plural, $negative), $language->numf($number), $language->numerate($number, $singular, $plural, $negative), $language->sprintf($format, @items), $language->language_tag(), $language->encoding()
Language Handle Attributes and Internals

LANGUAGE CLASS HIERARCHIES
ENTRIES IN EACH LEXICON
BRACKET NOTATION
BRACKET NOTATION SECURITY
AUTO LEXICONS
READONLY LEXICONS
CONTROLLING LOOKUP FAILURE
HOW TO USE MAKETEXT
SEE ALSO
COPYRIGHT AND DISCLAIMER
AUTHOR

## Locale::Maketext::Cookbook - recipes for using Locale::Maketext

INTRODUCTION
ONESIDED LEXICONS
DECIMAL PLACES IN NUMBER FORMATTING

## Locale::Maketext::Guts - Deprecated module to load Locale::Maketext utf8 code

SYNOPSIS
DESCRIPTION

## Locale::Maketext::GutsLoader - Deprecated module to load Locale::Maketext utf8 code

SYNOPSIS
DESCRIPTION

## Locale::Maketext::Simple - Simple interface to Locale::Maketext::Lexicon

VERSION
SYNOPSIS
DESCRIPTION
OPTIONS

Class
Path
Style
Export
Subclass
Decode
Encoding

ACKNOWLEDGMENTS
SEE ALSO
AUTHORS
COPYRIGHT

The "MIT" License

## Locale::Maketext::TPJ13 -- article about software localization

SYNOPSIS
DESCRIPTION
Localization and Perl: gettext breaks, Maketext fixes

A Localization Horror Story: It Could Happen To You
The Linguistic View
Breaking gettext
Replacing gettext
Buzzwords: Abstraction and Encapsulation
Buzzword: Isomorphism
Buzzword: Inheritance
Buzzword: Concision
The Devil in the Details
The Proof in the Pudding: Localizing Web Sites
References

## MIME::Base64 - Encoding and decoding of base64 strings

SYNOPSIS
DESCRIPTION
  encode_base64( $bytes ), encode_base64( $bytes, $eol );, decode_base64( $str ), encode_base64url( $bytes ), decode_base64url( $str ), encoded_base64_length( $bytes ), encoded_base64_length( $bytes, $eol ), decoded_base64_length( $str )
EXAMPLES
COPYRIGHT
SEE ALSO

## MIME::QuotedPrint - Encoding and decoding of quoted-printable strings

SYNOPSIS
DESCRIPTION
  encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol, $binmode ), decode_qp( $str )
COPYRIGHT
SEE ALSO

## Math::BigFloat - arbitrary size floating point math package

SYNOPSIS
DESCRIPTION

Input
Output

METHODS

Configuration methods
  accuracy(), precision()
Constructor methods
  from_hex(), from_oct(), from_bin(), from_ieee754(), bpi()
Arithmetic methods
  bmuladd(), binv(), bdiv(), bmod(), bexp(), bnok(), bsin(), bcos(), batan(), batan2(), as_float(), to_ieee754()
ACCURACY AND PRECISION
Rounding
  bfround ( +$scale ), bfround ( -$scale ), bfround ( 0 ), bround ( +$scale ), bround ( -$scale ) and bround ( 0 )

NUMERIC LITERALS

Hexadecimal, octal, and binary floating point literals
Math library

EXPORTS
  stringify, bstr(), brsft(), Modifying and =, precision() vs. accuracy()
BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
SEE ALSO
AUTHORS

## Math::BigInt - arbitrary size integer math package

SYNOPSIS
DESCRIPTION

Input
Output

METHODS

Configuration methods
  accuracy(), precision(), div_scale(), round_mode(), trap_inf(), trap_nan(), upgrade(), downgrade(), modify(), config()
Constructor methods
  new(), from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(), from_base(), from_base_num(), bzero(), bone(), binf(), bnan(), bpi(), copy(), as_int(), as_number(), as_float(), as_rat()
Boolean methods
  is_zero(), is_one( [ SIGN ]), is_finite(), is_inf( [ SIGN ] ), is_nan(), is_positive(), is_pos(), is_negative(), is_neg(), is_non_positive(), is_non_negative(), is_odd(), is_even(), is_int()
Comparison methods
  bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge()
Arithmetic methods
  bneg(), babs(), bsgn(), bnorm(), binc(), bdec(), badd(), bsub(), bmul(), bmuladd(), binv(), bdiv(), btdiv(), bmod(), btmod(), bmodinv(), bmodpow(), bpow(), blog(), bexp(), bilog2(), bilog10(), bclog2(), bclog10(), bnok(), buparrow(), uparrow(), backermann(), ackermann(), bsin(), bcos(), batan(), batan2(), bsqrt(), broot(), bfac(), bdfac(), btfac(), bmfac(), bfib(), blucas(), brsft(), blsft()
Bitwise methods
  bbrsft(), bblsft(), band(), bior(), bxor(), bnot()
Rounding methods
  round(), bround(), bfround(), bfloor(), bceil(), bint()
Other mathematical methods
  bgcd(), blcm()
Object property methods
  sign(), digit(), digitsum(), bdigitsum(), length(), mantissa(), exponent(), parts(), sparts(), nparts(), eparts(), dparts(), fparts(), numerator(), denominator()
String conversion methods
  bstr(), bsstr(), bnstr(), bestr(), bdstr(), bfstr(), to_hex(), to_bin(), to_oct(), to_bytes(), to_base(), to_base_num(), as_hex(), as_bin(), as_oct(), as_bytes()
Other conversion methods
  numify()
Utility methods
  dec_str_to_dec_flt_str(), hex_str_to_dec_flt_str(), oct_str_to_dec_flt_str(), bin_str_to_dec_flt_str(), dec_str_to_dec_str(), hex_str_to_dec_str(), oct_str_to_dec_str(), bin_str_to_dec_str()

ACCURACY and PRECISION

Precision P
Accuracy A
Fallback F
Rounding mode R
  'trunc', 'even', 'odd', '+inf', '-inf', 'zero', 'common', Precision, Accuracy (significant digits), Setting/Accessing, Creating numbers, Usage, Precedence, Overriding globals, Local settings, Rounding, Default values, Remarks

Infinity and Not a Number
  oct()/hex()
INTERNALS

MATH LIBRARY
SIGN

EXAMPLES
NUMERIC LITERALS

Hexadecimal, octal, and binary floating point literals

PERFORMANCE

Alternative math libraries

SUBCLASSING

Subclassing Math::BigInt

UPGRADING

Auto-upgrade

EXPORTS
CAVEATS
  Comparing numbers as strings, int(), Modifying and =, Overloading -$x, Mixing different object types
BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
SEE ALSO
AUTHORS

## Math::BigInt::Calc - pure Perl module to support Math::BigInt

SYNOPSIS
DESCRIPTION
OPTIONS
  base_len, use_int
METHODS
  _base_len()
SEE ALSO

## Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed

SYNOPSIS
DESCRIPTION
STORAGE
METHODS
BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
AUTHORS
SEE ALSO

## Math::BigInt::Lib - virtual parent class for Math::BigInt libraries

SYNOPSIS
DESCRIPTION

General Notes
  CLASS->api_version(), CLASS->_new(STR), CLASS->_zero(), CLASS->_one(), CLASS->_two(), CLASS->_ten(), CLASS->_from_bin(STR), CLASS->_from_oct(STR), CLASS->_from_hex(STR), CLASS->_from_bytes(STR), CLASS->_from_base(STR, BASE, COLLSEQ), CLASS->_from_base_num(ARRAY, BASE), CLASS->_add(OBJ1, OBJ2), CLASS->_mul(OBJ1, OBJ2), CLASS->_div(OBJ1, OBJ2), CLASS->_sub(OBJ1, OBJ2, FLAG), CLASS->_sub(OBJ1, OBJ2), CLASS->_sadd(OBJ1, SIGN1, OBJ2, SIGN2), CLASS->_ssub(OBJ1, SIGN1, OBJ2, SIGN2), CLASS->_dec(OBJ), CLASS->_inc(OBJ), CLASS->_mod(OBJ1, OBJ2), CLASS->_sqrt(OBJ), CLASS->_root(OBJ, N), CLASS->_fac(OBJ), CLASS->_dfac(OBJ), CLASS->_pow(OBJ1, OBJ2), CLASS->_modinv(OBJ1, OBJ2), CLASS->_modpow(OBJ1, OBJ2, OBJ3), CLASS->_rsft(OBJ, N, B), CLASS->_lsft(OBJ, N, B), CLASS->_log_int(OBJ, B), CLASS->_ilog2(OBJ), CLASS->_ilog10(OBJ), CLASS->_clog2(OBJ), CLASS->_clog10(OBJ), CLASS->_gcd(OBJ1, OBJ2), CLASS->_lcm(OBJ1, OBJ2), CLASS->_fib(OBJ), CLASS->_lucas(OBJ), CLASS->_and(OBJ1, OBJ2), CLASS->_or(OBJ1, OBJ2), CLASS->_xor(OBJ1, OBJ2), CLASS->_sand(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_sor(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_sxor(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_is_zero(OBJ), CLASS->_is_one(OBJ), CLASS->_is_two(OBJ), CLASS->_is_ten(OBJ), CLASS->_is_even(OBJ), CLASS->_is_odd(OBJ), CLASS->_acmp(OBJ1, OBJ2), CLASS->_str(OBJ), CLASS->_to_bin(OBJ), CLASS->_to_oct(OBJ), CLASS->_to_hex(OBJ), CLASS->_to_bytes(OBJ), CLASS->_to_base(OBJ, BASE, COLLSEQ), CLASS->_to_base_num(OBJ, BASE), CLASS->_as_bin(OBJ), CLASS->_as_oct(OBJ), CLASS->_as_hex(OBJ), CLASS->_as_bytes(OBJ), CLASS->_num(OBJ), CLASS->_copy(OBJ), CLASS->_len(OBJ), CLASS->_zeros(OBJ), CLASS->_digit(OBJ, N), CLASS->_digitsum(OBJ), CLASS->_check(OBJ), CLASS->_set(OBJ)
API version 2
  CLASS->_1ex(N), CLASS->_nok(OBJ1, OBJ2), CLASS->_alen(OBJ)

WRAP YOUR OWN
BUGS
SUPPORT
  GitHub Source Repository, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
AUTHOR
SEE ALSO

## Math::BigRat - arbitrary size rational number math package

SYNOPSIS
DESCRIPTION

MATH LIBRARY

METHODS
  new(), numerator(), denominator(), parts(), dparts(), fparts(), numify(), as_int(), as_number(), as_float(), as_hex(), as_bin(), as_oct(), from_hex(), from_oct(), from_bin(), bnan(), bzero(), binf(), bone(), length(), digit(), bnorm(), bfac(), bround()/round()/bfround(), bmod(), bmodinv(), bmodpow(), bneg(), is_one(), is_zero(), is_pos()/is_positive(), is_neg()/is_negative(), is_int(), is_odd(), is_even(), bceil(), bfloor(), bint(), bsqrt(), broot(), badd(), bmul(), bsub(), bdiv(), binv(), bdec(), binc(), copy(), bstr()/bsstr(), bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge(), blsft()/brsft(), band(), bior(), bxor(), bnot(), bpow(), blog(), bexp(), bnok(), config()
NUMERIC LITERALS

Hexadecimal, octal, and binary floating point literals

BUGS
SUPPORT
  GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix
LICENSE
SEE ALSO
AUTHORS

## Math::Complex - complex numbers and associated mathematical functions

SYNOPSIS
DESCRIPTION
OPERATIONS
CREATION
DISPLAYING

CHANGED IN PERL 5.6

USAGE
CONSTANTS

PI
Inf

ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO
ERRORS DUE TO INDIGESTIBLE ARGUMENTS
BUGS
SEE ALSO
AUTHORS
LICENSE

## Math::Trig - trigonometric functions

SYNOPSIS
DESCRIPTION
TRIGONOMETRIC FUNCTIONS
  tan

ERRORS DUE TO DIVISION BY ZERO
SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS

PLANE ANGLE CONVERSIONS
  deg2rad, grad2rad, rad2deg, grad2deg, deg2grad, rad2grad, rad2rad, deg2deg, grad2grad
RADIAL COORDINATE CONVERSIONS

COORDINATE SYSTEMS
3-D ANGLE CONVERSIONS
  cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian, cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical

GREAT CIRCLE DISTANCES AND DIRECTIONS

great_circle_distance
great_circle_direction
great_circle_bearing
great_circle_destination
great_circle_midpoint
great_circle_waypoint

EXAMPLES

CAVEAT FOR GREAT CIRCLE FORMULAS
Real-valued asin and acos
  asin_real, acos_real

BUGS
SEE ALSO
AUTHORS
LICENSE

## Memoize - Make functions faster by trading space for time

SYNOPSIS
DESCRIPTION
EXAMPLE
DETAILS
OPTIONS

INSTALL
NORMALIZER
"SCALAR_CACHE", "LIST_CACHE"
  "MEMORY", "HASH", "TIE", "FAULT", "MERGE"

OTHER FACILITIES

"unmemoize"
"flush_cache"

CAVEATS
PERSISTENT CACHE SUPPORT
EXPIRATION SUPPORT
BUGS
SEE ALSO
THANK YOU
AUTHOR
COPYRIGHT AND LICENSE

## Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use

DESCRIPTION

## Memoize::Expire - Plug-in module for automatic expiration of memoized values

SYNOPSIS
DESCRIPTION
INTERFACE

       TIEHASH,  EXISTS,  STORE

ALTERNATIVES
CAVEATS
AUTHOR
SEE ALSO

## Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for Storable use

DESCRIPTION

## Memoize::SDBM_File - DEPRECATED compability shim

DESCRIPTION

## Memoize::Storable - store Memoized data in Storable database

DESCRIPTION

## Module::CoreList - what modules shipped with versions of perl

SYNOPSIS
DESCRIPTION
FUNCTIONS API
  first_release( MODULE ), first_release_by_date( MODULE ), "find_modules( REGEX, [ LIST OF PERLS ] )", find_version( PERL_VERSION ), "is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] )", "is_deprecated( MODULE, PERL_VERSION )", deprecated_in( MODULE ), removed_from( MODULE ), removed_from_by_date( MODULE ), "changes_between( PERL_VERSION, PERL_VERSION )"
DATA STRUCTURES
  %Module::CoreList::version, %Module::CoreList::delta, %Module::CoreList::released, %Module::CoreList::families, %Module::CoreList::deprecated, %Module::CoreList::upstream, %Module::CoreList::bug_tracker
CAVEATS
HISTORY
AUTHOR
LICENSE
SEE ALSO

## Module::CoreList::Utils - what utilities shipped with versions of perl

SYNOPSIS
DESCRIPTION
FUNCTIONS API
  "utilities", first_release( UTILITY ), first_release_by_date( UTILITY ), removed_from( UTILITY ), removed_from_by_date( UTILITY )
DATA STRUCTURES
  %Module::CoreList::Utils::utilities
AUTHOR
LICENSE
SEE ALSO

## Module::Load - runtime require of both modules and files

SYNOPSIS
DESCRIPTION

Difference between "load" and "autoload"

FUNCTIONS
  load, autoload, load_remote, autoload_remote
Rules
IMPORTS THE FUNCTIONS
  "load","autoload","load_remote","autoload_remote", 'all', '','none',undef
Caveats
SEE ALSO
ACKNOWLEDGEMENTS
BUG REPORTS
AUTHOR
COPYRIGHT

## Module::Load::Conditional - Looking up module information / loading at runtime

SYNOPSIS
DESCRIPTION
Methods

$href = check_install( module => NAME [, version => VERSION, verbose => BOOL ] );
  module, version, verbose, file, dir, version, uptodate

$bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL, autoload => BOOL] )
  modules, verbose, nocache, autoload
@list = requires( MODULE );
Global Variables

$Module::Load::Conditional::VERBOSE
$Module::Load::Conditional::FIND_VERSION
$Module::Load::Conditional::CHECK_INC_HASH
$Module::Load::Conditional::FORCE_SAFE_INC
$Module::Load::Conditional::CACHE
$Module::Load::Conditional::ERROR
$Module::Load::Conditional::DEPRECATED

See Also
BUG REPORTS
AUTHOR
COPYRIGHT

## Module::Loaded - mark modules as loaded or unloaded

SYNOPSIS
DESCRIPTION
FUNCTIONS

$bool = mark_as_loaded( PACKAGE );

$bool = mark_as_unloaded( PACKAGE );
$loc = is_loaded( PACKAGE );
BUG REPORTS
AUTHOR
COPYRIGHT

## Module::Metadata - Gather package and POD information from perl module files

VERSION
SYNOPSIS
DESCRIPTION
CLASS METHODS

"new_from_file($filename, collect_pod => 1, decode_pod => 1)"
"new_from_handle($handle, $filename, collect_pod => 1, decode_pod => 1)"
"new_from_module($module, collect_pod => 1, inc => \@dirs, decode_pod => 1)"
"find_module_by_name($module, \@dirs)"
"find_module_dir_by_name($module, \@dirs)"
provides( %options )
  version (required), dir, files, prefix
"package_versions_from_directory($dir, \@files?)"
"log_info (internal)"

OBJECT METHODS

name()
version($package)
filename()
packages_inside()
pod_inside()
contains_pod()
pod($section)
is_indexable($package) or is_indexable()

SUPPORT
AUTHOR
CONTRIBUTORS
COPYRIGHT & LICENSE

## NDBM_File - Tied access to ndbm files

SYNOPSIS
DESCRIPTION
  "O_RDONLY", "O_WRONLY", "O_RDWR"
DIAGNOSTICS

"ndbm store returned -1, errno 22, key "..." at ..."

SECURITY AND PORTABILITY
BUGS AND WARNINGS

## NEXT - Provide a pseudo-class NEXT (et al) that allows method redispatch

SYNOPSIS
DESCRIPTION

Enforcing redispatch
Avoiding repetitions
Invoking all versions of a method with a single call
Using "EVERY" methods

SEE ALSO
AUTHOR
BUGS AND IRRITATIONS
COPYRIGHT

## Net::Cmd - Network Command class (as used by FTP, SMTP etc)

SYNOPSIS
DESCRIPTION

Public Methods
  debug($level), message(), code(), ok(), status(), datasend($data), dataend()
Protected Methods
  "debug_print($dir, $text)", "debug_text($dir, $text)", "command($cmd[, $args, ... ])", unsupported(), response(), parse_response($text), getline(), ungetline($text), rawdatasend($data), read_until_dot(), tied_fh()
Pseudo Responses
  Initial value, Connection closed, Timeout

EXPORTS
  Default Exports, Optional Exports, Export Tags
KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::Config - Local configuration data for libnet

SYNOPSIS
DESCRIPTION

Class Methods
  requires_firewall($host)
NetConfig Values
  nntp_hosts, snpp_hosts, pop3_hosts, smtp_hosts, ph_hosts, daytime_hosts, time_hosts, inet_domain, ftp_firewall, ftp_firewall_type, 0, 1, 2, 3, 4, 5, 6, 7, ftp_ext_passive, ftp_int_passive, local_netmask, test_hosts, test_exists

EXPORTS
  Default Exports, Optional Exports, Export Tags
KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::Domain - Attempt to evaluate the current host's internet name and domain

SYNOPSIS
DESCRIPTION

Functions
  hostfqdn(), domainname(), hostname(), hostdomain()

EXPORTS
  Default Exports, Optional Exports, Export Tags
KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::FTP - FTP Client class

SYNOPSIS
DESCRIPTION

Overview
Class Methods
  "new([$host][, %options])"
Object Methods
  "login([$login[, $password[, $account]]])", starttls(), stoptls(), prot($level), host(), account($acct), "authorize([$auth[, $resp]])", site($args), ascii(), binary(), type([$type]), "rename($oldname, $newname)", delete($filename), cwd([$dir]), cdup(), passive([$passive]), pwd(), restart($where), "rmdir($dir[, $recurse])", "mkdir($dir[, $recurse])", "alloc($size[, $record_size])", ls([$dir]), dir([$dir]), "get($remote_file[, $local_file[, $where]])", "put($local_file[, $remote_file])", "put_unique($local_file[, $remote_file])", "append($local_file[, $remote_file])", unique_name(), mdtm($file), size($file), supported($cmd), "hash([$filehandle_glob_ref[, $bytes_per_hash_mark]])", feature($name), nlst([$dir]), list([$dir]), retr($file), stor($file), stou($file), appe($file), port([$port]), eprt([$port]), pasv(), epsv(), "pasv_xfer($src_file, $dest_server[, $dest_file ])", "pasv_xfer_unique($src_file, $dest_server[, $dest_file ])", pasv_wait($non_pasv_server), abort(), quit()
Methods for the Adventurous
  "quot($cmd[, $args])", can_inet6(), can_ssl()
The dataconn Class
Unimplemented
  "SMNT", "HELP", "MODE", "SYST", "STAT", "STRU", "REIN"

EXPORTS
KNOWN BUGS

Reporting Bugs

SEE ALSO
ACKNOWLEDGEMENTS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::NNTP - NNTP Client class

SYNOPSIS
DESCRIPTION

Class Methods
  "new([$host][, %options])"
Object Methods
  host(), starttls(), "article([{$msgid|$msgnum}[, $fh]])", "body([{$msgid|$msgnum}[, [$fh]])", "head([{$msgid|$msgnum}[, [$fh]])", articlefh([{$msgid|$msgnum}]), bodyfh([{$msgid|$msgnum}]), headfh([{$msgid|$msgnum}]), nntpstat([{$msgid|$msgnum}]), group([$group]), help(), "ihave($msgid[, $message])", last(), date(), postok(), "authinfo($user, $pass)", "authinfo_simple($user, $pass)", list(), "newgroups($since[, $distributions])", "newnews($since[, $groups[, $distributions]])", next(), post([$message]), postfh(), slave(), quit(), can_inet6(), can_ssl()
Extension Methods
  newsgroups([$pattern]), distributions(), distribution_patterns(), subscriptions(), overview_fmt(), active_times(), active([$pattern]), xgtitle($pattern), "xhdr($header, $message_spec)", xover($message_spec), xpath($message_id), "xpat($header, $pattern, $message_spec)", xrover($message_spec), listgroup([$group]), reader()
Unsupported
Definitions
  $message_spec, $pattern, Examples, "[^]-]", *bdc, "[0-9a-zA-Z]", "a??d"

EXPORTS
KNOWN BUGS
SEE ALSO
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::Netrc - OO interface to users netrc file

SYNOPSIS
DESCRIPTION

The .netrc File
  machine name, default, login name, password string, account string, macdef name
Class Methods
  "lookup($machine[, $login])"
Object Methods
  login(), password(), account(), lpa()

EXPORTS
KNOWN BUGS
SEE ALSO
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::POP3 - Post Office Protocol 3 Client class (RFC1939)

SYNOPSIS
DESCRIPTION

Class Methods
  "new([$host][, %options])"
Object Methods
  host(), "auth($username, $password)", user($user), pass($pass), "login([$user[, $pass]])", starttls(%sslargs), "apop([$user[, $pass]])", banner(), capa(), capabilities(), "top($msgnum[, $numlines])", list([$msgnum]), "get($msgnum[, $fh])", getfh($msgnum), last(), popstat(), ping($user), uidl([$msgnum]), delete($msgnum), reset(), quit(), can_inet6(), can_ssl()
Notes

EXPORTS
KNOWN BUGS
SEE ALSO
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::Ping - check a remote host for reachability

SYNOPSIS
DESCRIPTION

Functions
  Net::Ping->new([proto, timeout, bytes, device, tos, ttl, family, host, port, bind, gateway, retrans, pingstring,
  source_verify econnrefused dontfrag IPV6_USE_MIN_MTU IPV6_RECVPATHMTU]) , $p->ping($host [, $timeout [, $family]]); , $p->source_verify( { 0 | 1 } ); , $p->service_check( { 0 | 1 } ); , $p->tcp_service_check( { 0 | 1 } ); , $p->hires( { 0 | 1 } ); , $p->time , $p->socket_blocking_mode( $fh, $mode ); , $p->IPV6_USE_MIN_MTU , $p->IPV6_RECVPATHMTU , $p->IPV6_HOPLIMIT , $p->IPV6_REACHCONF NYI , $p->bind($local_addr); , $p->message_type([$ping_type]); , $p->open($host); , $p->ack( [ $host ] ); , $p->nack( $failed_ack_host ); , $p->ack_unfork($host) , $p->ping_icmp([$host, $timeout, $family]) , $p->ping_icmpv6([$host, $timeout, $family]) , $p->ping_stream([$host, $timeout, $family]) , $p->ping_syn([$host, $ip, $start_time, $stop_time]) , $p->ping_syn_fork([$host, $timeout, $family]) , $p->ping_tcp([$host, $timeout, $family]) , $p->ping_udp([$host, $timeout, $family]) , $p->ping_external([$host, $timeout, $family]) , $p->tcp_connect([$ip, $timeout]) , $p->tcp_echo([$ip, $timeout, $pingstring]) , $p->close(); , $p->port_number([$port_number]) , $p->mselect , $p->ntop , $p->checksum($msg) , $p->icmp_result , pingecho($host [, $timeout]); , wakeonlan($mac, [$host, [$port]])

NOTES
INSTALL
BUGS
AUTHORS
COPYRIGHT

## Net::SMTP - Simple Mail Transfer Protocol Client

SYNOPSIS
DESCRIPTION

Class Methods
  "new([$host][, %options])"

Object Methods
  banner(), domain(), hello($domain), host(), etrn($domain), starttls(%sslargs), "auth($username, $password)", auth($sasl), "mail($address[, %options])", send($address), send_or_mail($address), send_and_mail($address), reset(), "recipient($address[, $address[, ...]][, %options])", "to($address[, $address[, ...]])", "cc($address[, $address[, ...]])", "bcc($address[, $address[, ...]])", data([$data]), bdat($data), bdatlast($data), expand($address), verify($address), help([$subject]), quit(), can_inet6(), can_ssl()

Addresses

EXAMPLES
EXPORTS
KNOWN BUGS
SEE ALSO
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::Time - time and daytime network client interface

SYNOPSIS
DESCRIPTION

Functions
  "inet_time([$host[, $protocol[, $timeout]]])", "inet_daytime([$host[, $protocol[, $timeout]]])"

EXPORTS
  Default Exports, Optional Exports, Export Tags
KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Net::hostent - by-name interface to Perl's built-in gethost*() functions

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

## Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions

DESCRIPTION

Where to get this document
How to contribute to this document

Author and Copyright Information

Disclaimer

Obtaining and installing libnet

What is libnet ?
Which version of perl do I need ?
What other modules do I need ?
What machines support libnet ?
Where can I get the latest libnet release

Using Net::FTP

How do I download files from an FTP server ?
How do I transfer files in binary mode ?
How can I get the size of a file on a remote FTP server ?
How can I get the modification time of a file on a remote FTP server ?
How can I change the permissions of a file on a remote server ?
Can I do a reget operation like the ftp command ?
How do I get a directory listing from an FTP server ?
Changing directory to "" does not fail ?
I am behind a SOCKS firewall, but the Firewall option does not work ?
I am behind an FTP proxy firewall, but cannot access machines outside ?
My ftp proxy firewall does not listen on port 21
Is it possible to change the file permissions of a file on an FTP server ?
I have seen scripts call a method message, but cannot find it documented ?
Why does Net::FTP not implement mput and mget methods

Using Net::SMTP

Why can't the part of an Email address after the @ be used as the hostname ?
Why does Net::SMTP not do DNS MX lookups ?
The verify method always returns true ?

Debugging scripts

How can I debug my scripts that use Net::* modules ?

AUTHOR AND COPYRIGHT

## Net::netent - by-name interface to Perl's built-in getnet*() functions

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

## Net::protoent - by-name interface to Perl's built-in getproto*() functions

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## Net::servent - by-name interface to Perl's built-in getserv*() functions

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

## O - Generic interface to Perl Compiler backends

SYNOPSIS
DESCRIPTION
CONVENTIONS
IMPLEMENTATION
BUGS
AUTHOR

## Opcode - Disable named opcodes when compiling perl code

SYNOPSIS
DESCRIPTION
NOTE
WARNING
Operator Names and Operator Lists
  an operator name (opname), an operator tag name (optag), a negated opname or optag, an operator set (opset)
Opcode Functions
  opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET), full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...), define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...), opdump (PAT)
Manipulating Opsets
TO DO (maybe)
Predefined Opcode Tags
  :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math, :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write, :subprocess, :ownprocess, :others, :load, :still_to_be_decided, :dangerous
SEE ALSO
AUTHORS
SYNOPSIS
DESCRIPTION

EXPORT
Exportable functions

SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

## OpenBSD::Pledge - Perl interface to OpenBSD pledge(2)

SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS

pledge

BUGS AND LIMITATIONS
SEE ALSO
AUTHOR
LICENSE AND COPYRIGHT

## OpenBSD::Unveil - Perl interface to OpenBSD unveil(2)

SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS

unveil

SEE ALSO
AUTHOR
LICENSE AND COPYRIGHT

## POSIX - Perl interface to IEEE Std 1003.1

SYNOPSIS
DESCRIPTION
CAVEATS
FUNCTIONS
  "_exit", "abort", "abs", "access", "acos", "acosh", "alarm", "asctime", "asin", "asinh", "assert", "atan", "atanh", "atan2", "atexit", "atof", "atoi", "atol", "bsearch", "calloc", "cbrt", "ceil", "chdir", "chmod", "chown", "clearerr", "clock", "close", "closedir", "cos", "cosh", "copysign", "creat", "ctermid", "ctime", "cuserid" [POSIX.1-1988], "difftime", "div", "dup", "dup2", "erf", "erfc", "errno", "execl", "execle", "execlp", "execv", "execve", "execvp", "exit", "exp", "expm1", "fabs", "fcntl", "fdopen", "feof", "ferror", "fflush", "fgetc", "fgetpos", "fgets", "fileno", "floor", "fdim", "fegetround", "fesetround", "fma", "fmax", "fmin", "fmod", "fopen", "fork", "fpathconf", "fpclassify", "fprintf", "fputc", "fputs", "fread", "free", "freopen", "frexp", "fscanf", "fseek", "fsetpos", "fstat", "fsync", "ftell", "fwrite", "getc", "getchar", "getcwd", "getegid", "getenv", "geteuid", "getgid", "getgrgid", "getgrnam", "getgroups", "getlogin", "getpayload", "getpgrp", "getpid", "getppid", "getpwnam", "getpwuid", "gets", "getuid", "gmtime", "hypot", "ilogb", "Inf", "isalnum", "isalpha", "isatty", "iscntrl", "isdigit", "isfinite", "isgraph", "isgreater", "isinf", "islower", "isnan", "isnormal", "isprint", "ispunct", "issignaling", "isspace", "isupper", "isxdigit", "j0", "j1", "jn", "y0", "y1", "yn", "kill", "labs", "lchown", "ldexp", "ldiv", "lgamma", "log1p", "log2", "logb", "link", "localeconv", "localtime", "log", "log10", "longjmp", "lseek", "lrint", "lround", "malloc", "mblen", "mbtowc", "memchr", "memcmp", "memcpy", "memmove", "memset", "mkdir", "mkfifo", "mktime", "modf", "NaN", "nan", "nearbyint", "nextafter", "nexttoward", "nice", "offsetof", "open", "opendir", "pathconf", "pause", "perror", "pipe", "pow", "printf", "putc", "putchar", "puts", "qsort", "raise", "rand", "read", "readdir", "realloc", "remainder", "remove", "remquo", "rename", "rewind", "rewinddir", "rint", "rmdir", "round", "scalbn", "scanf", "setgid", "setjmp", "setlocale", "setpayload", "setpayloadsig", "setpgid", "setsid", "setuid", "sigaction", "siglongjmp", "signbit", "sigpending", "sigprocmask", "sigsetjmp", "sigsuspend", "sin", "sinh", "sleep", "sprintf", "sqrt", "srand", "sscanf", "stat", "strcat", "strchr", "strcmp", "strcoll", "strcpy", "strcspn", "strerror", "strftime", "strlen", "strncat", "strncmp", "strncpy", "strpbrk", "strrchr", "strspn", "strstr", "strtod", "strtok", "strtol", "strtold", "strtoul", "strxfrm", "sysconf", "system", "tan", "tanh", "tcdrain", "tcflow", "tcflush", "tcgetpgrp", "tcsendbreak", "tcsetpgrp", "tgamma", "time", "times", "tmpfile", "tmpnam", "tolower", "toupper", "trunc", "ttyname", "tzname", "tzset", "umask", "uname", "ungetc", "unlink", "utime", "vfprintf", "vprintf", "vsprintf", "wait", "waitpid", "wctomb", "write"
CLASSES

"POSIX::SigAction"
  "new", "handler", "mask", "flags", "safe"
"POSIX::SigRt"
  %SIGRT, "SIGRTMIN", "SIGRTMAX"
"POSIX::SigSet"
  "new", "addset", "delset", "emptyset", "fillset", "ismember"
"POSIX::Termios"
  "new", "getattr", "getcc", "getcflag", "getiflag", "getispeed", "getlflag", "getoflag", "getospeed", "setattr", "setcc", "setcflag", "setiflag", "setispeed", "setlflag", "setoflag", "setospeed", Baud rate values, Terminal interface values, "c_cc" field values, "c_cflag" field values, "c_iflag" field values, "c_lflag" field values, "c_oflag" field values

PATHNAME CONSTANTS
  Constants
POSIX CONSTANTS
  Constants
RESOURCE CONSTANTS
  Constants
SYSTEM CONFIGURATION
  Constants
ERRNO
  Constants
FCNTL
  Constants
FLOAT
  Constants
FLOATING-POINT ENVIRONMENT
  Constants
LIMITS
  Constants
LOCALE
  Constants
MATH
  Constants
SIGNAL
  Constants
STAT
  Constants, Macros
STDLIB
  Constants
STDIO
  Constants
TIME
  Constants
UNISTD
  Constants
WAIT
  Constants, "WNOHANG", "WUNTRACED", Macros, "WIFEXITED", "WEXITSTATUS", "WIFSIGNALED", "WTERMSIG", "WIFSTOPPED", "WSTOPSIG"
WINSOCK
  Constants

## Params::Check - A generic input parsing/checking mechanism.

SYNOPSIS
DESCRIPTION
Template
  default, required, strict_type, defined, no_override, store, allow
Functions

check( \%tmpl, \%args, [$verbose] );
  Template, Arguments, Verbose

allow( $test_me, \@criteria );
  string, regexp, subroutine, array ref
last_error()
Global Variables

$Params::Check::VERBOSE
$Params::Check::STRICT_TYPE
$Params::Check::ALLOW_UNKNOWN
$Params::Check::STRIP_LEADING_DASHES
$Params::Check::NO_DUPLICATES
$Params::Check::PRESERVE_CASE
$Params::Check::ONLY_ALLOW_DEFINED
$Params::Check::SANITY_CHECK_TEMPLATE
$Params::Check::WARNINGS_FATAL
$Params::Check::CALLER_DEPTH

Acknowledgements
BUG REPORTS
AUTHOR
COPYRIGHT

## Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files

VERSION
SYNOPSIS
DESCRIPTION
METHODS

load_file
load_yaml_string
load_json_string
load_string
yaml_backend
json_backend
json_decoder

FUNCTIONS

Load
LoadFile

ENVIRONMENT

CPAN_META_JSON_DECODER
CPAN_META_JSON_BACKEND
PERL_JSON_BACKEND
PERL_YAML_BACKEND

AUTHORS
COPYRIGHT AND LICENSE

## Perl::OSType - Map Perl operating system names to generic types

VERSION
SYNOPSIS
DESCRIPTION
USAGE

os_type()
is_os_type()

SEE ALSO
SUPPORT

Bugs / Feature Requests
Source Code

AUTHOR
CONTRIBUTORS
COPYRIGHT AND LICENSE

## PerlIO - On demand loader for PerlIO layers and root of PerlIO::* name space

SYNOPSIS
DESCRIPTION

Layers
  :unix, :stdio, :perlio, :crlf, :utf8, :bytes, :raw, :pop
Custom Layers
  :encoding, :mmap, :via, :scalar
Alternatives to raw
Defaults and how to override them
Querying the layers of filehandles

AUTHOR
SEE ALSO

## PerlIO::encoding - encoding layer

SYNOPSIS
DESCRIPTION
SEE ALSO

## PerlIO::mmap - Memory mapped IO

SYNOPSIS
DESCRIPTION
IMPLEMENTATION NOTE

## PerlIO::scalar - in-memory IO, scalar IO

SYNOPSIS
DESCRIPTION
IMPLEMENTATION NOTE

## PerlIO::via - Helper class for PerlIO layers implemented in perl

SYNOPSIS
DESCRIPTION
EXPECTED METHODS
  $class->PUSHED([$mode,[$fh]]), $obj->POPPED([$fh]), $obj->UTF8($belowFlag,[$fh]), $obj->OPEN($path,$mode,[$fh]), $obj->BINMODE([$fh]), $obj->FDOPEN($fd,[$fh]), $obj->SYSOPEN($path,$imode,$perm,[$fh]), $obj->FILENO($fh), $obj->READ($buffer,$len,$fh), $obj->WRITE($buffer,$fh), $obj->FILL($fh), $obj->CLOSE($fh), $obj->SEEK($posn,$whence,$fh), $obj->TELL($fh), $obj->UNREAD($buffer,$fh), $obj->FLUSH($fh), $obj->SETLINEBUF($fh), $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh)
EXAMPLES

Example - a Hexadecimal Handle

## PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings

SYNOPSIS
DESCRIPTION
EXPORTS
KNOWN BUGS
FEEDBACK
SEE ALSO
ACKNOWLEDGEMENTS
AVAILABILITY
INSTALLATION
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Pod::Checker - check pod documents for syntax errors

SYNOPSIS
OPTIONS/ARGUMENTS

podchecker()
  -warnings => val, -quiet => val

DESCRIPTION
DIAGNOSTICS

Errors
  empty =headn, =over on line N without closing =back, You forgot a '=back' before '=headN', =over is the last thing in the document?!, '=item' outside of any '=over', =back without =over, Can't have a 0 in =over N, =over should be: '=over' or '=over positive_number', =begin TARGET without matching =end TARGET, =begin without a target?, =end TARGET without matching =begin, '=end' without a target?, '=end TARGET' is invalid, =end CONTENT doesn't match =begin TARGET, =for without a target?, unresolved internal link NAME, Unknown directive: CMD, Deleting unknown formatting code SEQ, Unterminated SEQ<> sequence, An E<...> surrounding strange content, An empty E<>, An empty "L<>", An empty X<>, Spurious text after =pod / =cut, =back doesn't take any parameters, but you said =back ARGUMENT, =pod directives shouldn't be over one line long! Ignoring all N lines of content, =cut found outside a pod block, Invalid =encoding syntax: CONTENT
Warnings
  nested commands CMD<...CMD<...>...>, multiple occurrences (N) of link target name, line containing nothing but whitespace in paragraph, =item has no contents, You can't have =items (as at line N) unless the first thing after the =over is an =item, Expected '=item EXPECTED VALUE', Expected '=item *', Possible =item type mismatch: 'x' found leading a supposed definition =item, You have '=item x' instead of the expected '=item N', Unknown E content in E<CONTENT>, empty =over/=back block, empty section in previous paragraph, Verbatim paragraph in NAME section, =headn without preceding higher level, A non-empty Z<>
Hyperlinks
  ignoring leading/trailing whitespace in link, alternative text/node '%s' contains non-escaped | or /

RETURN VALUE
EXAMPLES
SCRIPTS
INTERFACE
  end_B, end_C, end_Document, end_F, end_I, end_L, end_Para, end_S, end_X, end_fcode, end_for, end_head, end_head1, end_head2, end_head3, end_head4, end_item, end_item_bullet, end_item_number, end_item_text, handle_pod_and_cut, handle_text, handle_whiteline, hyperlink, scream, start_B, start_C, start_Data, start_F, start_I, start_L, start_Para, start_S, start_Verbatim, start_X, start_fcode, start_for, start_head, start_head1, start_head2, start_head3, start_head4, start_item_bullet, start_item_number, start_item_text, start_over, start_over_block, start_over_bullet, start_over_empty, start_over_number, start_over_text, whine

"Pod::Checker->new( %options )"

"$checker->poderror( @args )", "$checker->poderror( {%opts}, @args )"

"$checker->num_errors()"

"$checker->num_warnings()"

"$checker->name()"

"$checker->node()"

"$checker->idx()"

"$checker->hyperlinks()"

line()

type()

page()

node()

AUTHOR

## Pod::Escapes - for resolving Pod E<...> sequences

SYNOPSIS
DESCRIPTION
GOODIES
  e2char($e_content), e2charnum($e_content), $Name2character{name}, $Name2character_number{name}, $Latin1Code_to_fallback{integer}, $Latin1Char_to_fallback{character}, $Code2USASCII{integer}
CAVEATS
SEE ALSO
REPOSITORY
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Html - module to convert pod files to HTML

SYNOPSIS
DESCRIPTION
FUNCTIONS

pod2html
  backlink, cachedir, css, flush, header, help, htmldir, htmlroot, index, infile, outfile, poderrors, podpath, podroot, quiet, recurse, title, verbose
Formerly Exported Auxiliary Functions
  htmlify() (by default), anchorify() (upon request), relativize_url() (upon request)

ENVIRONMENT
AUTHOR
SEE ALSO
COPYRIGHT

## Pod::Html::Util - helper functions for Pod-Html

SUBROUTINES
process_command_line()
usage()
unixify()
relativize_url()
html_escape()
htmlify()
anchorify()
trim_leading_whitespace()

## Pod::Man - Convert POD data to formatted *roff input

SYNOPSIS
DESCRIPTION
CLASS METHODS
  new(ARGS), center, date, encoding, errors, fixed, fixedbold, fixeditalic, fixedbolditalic, guesswork, functions, manref, quoting, variables, language, lquote, rquote, name, nourls, quotes, release, section, stderr, utf8
INSTANCE METHODS
  output_fh(FH), output_string(REF), parse_file(PATH), parse_from_file(INPUT, OUTPUT), parse_from_filehandle(FH, OUTPUT), parse_lines(LINES[, ...[, undef]]), parse_string_document(INPUT)
ENCODING

History
Testing results
  [1], [2], [3]

DIAGNOSTICS
  roff font should be 1 or 2 chars, not "%s", Invalid errors setting "%s", Invalid quote specification "%s", POD document had syntax errors
ENVIRONMENT
  PERL_CORE, POD_MAN_DATE, SOURCE_DATE_EPOCH
COMPATIBILITY
BUGS
CAVEATS

Sentence spacing
Hyphens

AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

## Pod::ParseLink - Parse an L<> formatting code in POD text

SYNOPSIS
DESCRIPTION
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

## Pod::Perldoc - Look up Perl documentation in Pod format.

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc

SYNOPSIS
DESCRIPTION
  Call Pod::Perldoc::GetOptsOO::getopts($object, \@ARGV, $truth), Given -n, if there's a opt_n_with, it'll call $object->opt_n_with( ARGUMENT ) (e.g., "-n foo" => $object->opt_n_with('foo'). Ditto "-nfoo"), Otherwise (given -n) if there's an opt_n, we'll call it $object->opt_n($truth) (Truth defaults to 1), Otherwise we try calling $object->handle_unknown_option('n') (and we increment the error count by the return value of it), If there's no handle_unknown_option, then we just warn, and then increment the error counter
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToANSI - render Pod with ANSI color escapes

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToChecker - let Perldoc check Pod for errors

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToMan - let Perldoc render Pod as man pages

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToPod - let Perldoc render Pod as ... Pod!

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToRtf - let Perldoc render Pod as RTF

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToTerm - render Pod with terminal escapes

SYNOPSIS
DESCRIPTION
PAGER FORMATTING
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToText - let Perldoc render Pod as plaintext

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Perldoc::ToTk - let Perldoc use Tk::Pod to render Pod

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

## Pod::Perldoc::ToXml - let Perldoc render Pod as XML

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

## Pod::Simple - framework for parsing Pod

SYNOPSIS
DESCRIPTION
MAIN METHODS
  "$parser = SomeClass->new();", "$parser->output_fh( *OUT );", "$parser->output_string( \$somestring );", "$parser->parse_file( $some_filename );", "$parser->parse_file( *INPUT_FH );", "$parser->parse_string_document( $all_content );", "$parser->parse_lines( ...@lines..., undef );", "$parser->content_seen", "SomeClass->filter( $filename );", "SomeClass->filter( *INPUT_FH );", "SomeClass->filter( \$document_content );"
SECONDARY METHODS
  "$parser->parse_characters( SOMEVALUE )", "$parser->no_whining( SOMEVALUE )", "$parser->no_errata_section( SOMEVALUE )", "$parser->complain_stderr( SOMEVALUE )", "$parser->source_filename", "$parser->doc_has_started", "$parser->source_dead", "$parser->strip_verbatim_indent( SOMEVALUE )", "$parser->expand_verbatim_tabs( n )"
TERTIARY METHODS
  "$parser->abandon_output_fh()", "$parser->abandon_output_string()", "$parser->accept_code( @codes )", "$parser->accept_codes( @codes )", "$parser->accept_directive_as_data( @directives )", "$parser->accept_directive_as_processed( @directives )", "$parser->accept_directive_as_verbatim( @directives )", "$parser->accept_target( @targets )", "$parser->accept_target_as_text( @targets )", "$parser->accept_targets( @targets )", "$parser->accept_targets_as_text( @targets )", "$parser->any_errata_seen()", "$parser->errata_seen()", "$parser->detected_encoding()", "$parser->encoding()", "$parser->parse_from_file( $source, $to )", "$parser->scream( @error_messages )", "$parser->unaccept_code( @codes )", "$parser->unaccept_codes( @codes )", "$parser->unaccept_directive( @directives )", "$parser->unaccept_directives( @directives )", "$parser->unaccept_target( @targets )", "$parser->unaccept_targets( @targets )", "$parser->version_report()", "$parser->whine( @error_messages )"
ENCODING
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org", Karl Williamson "khw@cpan.org", Gabor Szabo "szabgab@gmail.com", Shawn H Corey "SHCOREY at cpan.org"

## Pod::Simple::Checker -- check the Pod syntax of a document

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::Debug -- put Pod::Simple into trace/debug mode

SYNOPSIS
DESCRIPTION
CAVEATS
GUTS
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::DumpAsText -- dump Pod-parsing events as text

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::DumpAsXML -- turn Pod into XML

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::HTML - convert Pod to HTML

SYNOPSIS
DESCRIPTION
CALLING FROM THE COMMAND LINE
CALLING FROM PERL

Minimal code
More detailed example

METHODS

html_css
html_javascript
title_prefix
title_postfix
html_header_before_title
top_anchor
html_h_level
index
html_header_after_title
html_footer

SUBCLASSING
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
ACKNOWLEDGEMENTS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::HTMLBatch - convert several Pod files to several HTML files

SYNOPSIS
DESCRIPTION

FROM THE COMMAND LINE

MAIN METHODS
  $batchconv = Pod::Simple::HTMLBatch->new;, $batchconv->batch_convert( indirs, outdir );, $batchconv->batch_convert( undef , ...);, $batchconv->batch_convert( q{@INC}, ...);, $batchconv->batch_convert( \@dirs , ...);, $batchconv->batch_convert( "somedir" , ...);, $batchconv->batch_convert( 'somedir:someother:also' , ...);, $batchconv->batch_convert( ... , undef );, $batchconv->batch_convert( ... , 'somedir' );

ACCESSOR METHODS
  $batchconv->verbose( nonnegative_integer );, $batchconv->index( true-or-false );, $batchconv->contents_file( filename );, $batchconv->contents_page_start( HTML_string );, $batchconv->contents_page_end( HTML_string );, $batchconv->add_css( $url );, $batchconv->add_javascript( $url );, $batchconv->css_flurry( true-or-false );, $batchconv->javascript_flurry( true-or-false );, $batchconv->no_contents_links( true-or-false );, $batchconv->html_render_class( classname );, $batchconv->search_class( classname );

NOTES ON CUSTOMIZATION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::JustPod -- just the Pod, the whole Pod, and nothing but the Pod

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::LinkSection -- represent "section" attributes of L codes

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::Methody -- turn Pod::Simple events into method calls

SYNOPSIS
DESCRIPTION
METHOD CALLING
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::PullParser -- a pull-parser interface to parsing Pod

SYNOPSIS
DESCRIPTION
METHODS
  my $token = $parser->get_token, $parser->unget_token( $token ), $parser->unget_token( $token1, $token2, ... ), $parser->set_source( $filename ), $parser->set_source( $filehandle_object ), $parser->set_source( \$document_source ), $parser->set_source( \@document_lines ), $parser->parse_file(...), $parser->parse_string_document(...), $parser->filter(...), $parser->parse_from_file(...), my $title_string = $parser->get_title, my $title_string = $parser->get_short_title, $author_name = $parser->get_author, $description_name = $parser->get_description, $version_block = $parser->get_version
NOTE
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::PullParserEndToken -- end-tokens from Pod::Simple::PullParser

SYNOPSIS
DESCRIPTION
  $token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring)
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::PullParserStartToken -- start-tokens from Pod::Simple::PullParser

SYNOPSIS
DESCRIPTION
  $token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring), $token->attr(attrname), $token->attr(attrname, newvalue), $token->attr_hash
SEE ALSO
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::PullParserTextToken -- text-tokens from Pod::Simple::PullParser

SYNOPSIS
DESCRIPTION
  $token->text, $token->text(somestring), $token->text_r()
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::PullParserToken -- tokens from Pod::Simple::PullParser

SYNOPSIS
DESCRIPTION
  $token->type, $token->is_start, $token->is_text, $token->is_end, $token->dump
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::RTF -- format Pod as RTF

SYNOPSIS
DESCRIPTION
FORMAT CONTROL ATTRIBUTES
  $parser->head1_halfpoint_size( halfpoint_integer );, $parser->head2_halfpoint_size( halfpoint_integer );, $parser->head3_halfpoint_size( halfpoint_integer );, $parser->head4_halfpoint_size( halfpoint_integer );, $parser->codeblock_halfpoint_size( halfpoint_integer );, $parser->header_halfpoint_size( halfpoint_integer );, $parser->normal_halfpoint_size( halfpoint_integer );, $parser->no_proofing_exemptions( true_or_false );, $parser->doc_lang( microsoft_decimal_language_code )
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::Search - find POD documents in directory trees

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
ACCESSORS
  $search->inc( true-or-false );, $search->verbose( nonnegative-number );, $search->limit_glob( some-glob-string );, $search->callback( \&some_routine );, $search->laborious( true-or-false );, $search->recurse( true-or-false );, $search->shadows( true-or-false );, $search->is_case_insensitive( true-or-false );, $search->limit_re( some-regxp );, $search->dir_prefix( some-string-value );, $search->progress( some-progress-object );, $name2path = $self->name2path;, $path2name = $self->path2name;
MAIN SEARCH METHODS

"$search->survey( @directories )"
  "name2path", "path2name"
"$search->simplify_name( $str )"
"$search->find( $pod )"
"$search->find( $pod, @search_dirs )"
"$self->contains_pod( $file )"

SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::SimpleTree -- parse Pod into a simple parse tree

SYNOPSIS
DESCRIPTION
METHODS
Tree Contents
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::Subclassing -- write a formatter as a Pod::Simple subclass

SYNOPSIS
DESCRIPTION
  Pod::Simple, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::SimpleTree
Events
  "$parser->_handle_element_start( element_name, attr_hashref )", "$parser->_handle_element_end( element_name )", "$parser->_handle_text( text_string )", events with an element_name of Document, events with an element_name of Para, events with an element_name of B, C, F, or I, events with an element_name of S, events with an element_name of X, events with an element_name of L, events with an element_name of E or Z, events with an element_name of Verbatim, events with an element_name of head1 .. head4, events with an element_name of encoding, events with an element_name of over-bullet, events with an element_name of over-number, events with an element_name of over-text, events with an element_name of over-block, events with an element_name of over-empty, events with an element_name of item-bullet, events with an element_name of item-number, events with an element_name of item-text, events with an element_name of for, events with an element_name of Data
More Pod::Simple Methods
  "$parser->accept_targets( SOMEVALUE )", "$parser->accept_targets_as_text( SOMEVALUE )", "$parser->accept_codes( Codename, Codename... )", "$parser->accept_directive_as_data( directive_name )", "$parser->accept_directive_as_verbatim( directive_name )", "$parser->accept_directive_as_processed( directive_name )", "$parser->nbsp_for_S( BOOLEAN );", "$parser->version_report()", "$parser->pod_para_count()", "$parser->line_count()", "$parser->nix_X_codes( SOMEVALUE )", "$parser->keep_encoding_directive( SOMEVALUE )", "$parser->merge_text( SOMEVALUE )", "$parser->code_handler( CODE_REF )", "$parser->cut_handler( CODE_REF )", "$parser->pod_handler( CODE_REF )", "$parser->whiteline_handler( CODE_REF )", "$parser->whine( linenumber, complaint string )", "$parser->scream( linenumber, complaint string )", "$parser->source_dead(1)", "$parser->hide_line_numbers( SOMEVALUE )", "$parser->no_whining( SOMEVALUE )", "$parser->no_errata_section( SOMEVALUE )", "$parser->complain_stderr( SOMEVALUE )", "$parser->bare_output( SOMEVALUE )", "$parser->preserve_whitespace( SOMEVALUE )", "$parser->parse_empty_lists( SOMEVALUE )"
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::Text -- format Pod as plaintext

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::TextContent -- get the text content of Pod

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::XHTML -- format Pod as validating XHTML

SYNOPSIS
DESCRIPTION

Minimal code

METHODS

perldoc_url_prefix
perldoc_url_postfix
man_url_prefix
man_url_postfix
title_prefix, title_postfix
html_css
html_javascript
html_doctype
html_charset
html_header_tags
html_h_level
default_title
force_title
html_header, html_footer
index
anchor_items
backlink

SUBCLASSING
handle_text
handle_code
accept_targets_as_html
resolve_pod_page_link
resolve_man_page_link
idify
batch_mode_page_object_init
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
ACKNOWLEDGEMENTS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Simple::XMLOutStream -- turn Pod into XML

SYNOPSIS
DESCRIPTION
SEE ALSO
ABOUT EXTENDING POD
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
  Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

## Pod::Text - Convert POD data to formatted text

SYNOPSIS
DESCRIPTION

Encoding

CLASS METHODS
  new(ARGS), alt, code, encoding, errors, guesswork, quoting, indent, loose, margin, nourls, quotes, sentence, stderr, utf8, width
INSTANCE METHODS
  output_fh(FH), output_string(REF), parse_file(PATH), parse_from_file(INPUT, OUTPUT), parse_from_filehandle(FH, OUTPUT), parse_lines(LINES[, ...[, undef]]), parse_string_document(INPUT)
FUNCTIONS
  pod2text([[-a,] [-NNN,]] INPUT[, OUTPUT])
DIAGNOSTICS
  Bizarre space in item, Item called without tag, Can't open %s for reading: %s, Invalid errors setting "%s", Invalid quote specification "%s", POD document had syntax errors
COMPATIBILITY
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

## Pod::Text::Color - Convert POD data to formatted color ASCII text

SYNOPSIS
DESCRIPTION
COMPATIBILITY
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

## Pod::Text::Overstrike - Convert POD data to formatted overstrike text

SYNOPSIS
DESCRIPTION
BUGS
COMPATIBILITY
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

## Pod::Text::Termcap - Convert POD data to ASCII text with format escapes

SYNOPSIS
DESCRIPTION
COMPATIBILITY
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

## Pod::Usage - extracts POD documentation and shows usage information

SYNOPSIS
ARGUMENTS
  "-message" string, "-msg" string, "-exitval" value, "-verbose" value, "-sections" spec, "-output" handle, "-input" handle, "-pathlist" string, "-noperldoc", "-perlcmd", "-perldoc" path-to-perldoc, "-perldocopt" string

Formatting base class
Pass-through options

DESCRIPTION

Scripts

EXAMPLES

Recommended Use

CAVEATS
SUPPORT
AUTHOR
LICENSE
ACKNOWLEDGMENTS
SEE ALSO

## SDBM_File - Tied access to sdbm files

SYNOPSIS
DESCRIPTION

Tie

EXPORTS
DIAGNOSTICS

"sdbm store returned -1, errno 22, key "..." at ..."

SECURITY WARNING
BUGS AND WARNINGS

## Safe - Compile and execute code in restricted compartments

SYNOPSIS
DESCRIPTION
  a new namespace, an operator mask
WARNING
METHODS

permit (OP, ...)
permit_only (OP, ...)
deny (OP, ...)
deny_only (OP, ...)
trap (OP, ...), untrap (OP, ...)
share (NAME, ...)
share_from (PACKAGE, ARRAYREF)
varglob (VARNAME)
reval (STRING, STRICT)
rdo (FILENAME)
root (NAMESPACE)
mask (MASK)
wrap_code_ref (CODEREF)
wrap_code_refs_within (...)

RISKS
  Memory, CPU, Snooping, Signals, State Changes
AUTHOR

## Scalar::Util - A selection of general-utility scalar subroutines

SYNOPSIS
DESCRIPTION

Core Perl "builtin" Functions

FUNCTIONS FOR REFERENCES

blessed
refaddr
reftype
weaken
unweaken
isweak

OTHER FUNCTIONS

dualvar
isdual
isvstring
looks_like_number
openhandle
readonly
set_prototype
tainted

DIAGNOSTICS
  Vstrings are not implemented in this version of perl
KNOWN BUGS
SEE ALSO
COPYRIGHT

## Search::Dict - look - search for key in dictionary file

SYNOPSIS
DESCRIPTION

## SelectSaver - save and restore selected file handle

SYNOPSIS
DESCRIPTION

## SelfLoader - load functions only on demand

SYNOPSIS
DESCRIPTION

The __DATA__ token
SelfLoader autoloading
Autoloading and package lexicals
SelfLoader and AutoLoader
__DATA__, __END__, and the FOOBAR::DATA filehandle
Classes and inherited methods

Multiple packages and fully qualified subroutine names
AUTHOR
COPYRIGHT AND LICENSE
  a), b)

## Socket, "Socket" - networking constants and support functions

SYNOPSIS
DESCRIPTION
CONSTANTS
PF_INET, PF_INET6, PF_UNIX, ...
AF_INET, AF_INET6, AF_UNIX, ...
SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ...
SOCK_NONBLOCK. SOCK_CLOEXEC
SOL_SOCKET
SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ...
IP_OPTIONS, IP_TOS, IP_TTL, ...
IP_PMTUDISC_WANT, IP_PMTUDISC_DONT, ...
IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY, ...
MSG_BCAST, MSG_OOB, MSG_TRUNC, ...
SHUT_RD, SHUT_RDWR, SHUT_WR
INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE
IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP, ...
TCP_CORK, TCP_KEEPALIVE, TCP_NODELAY, ...
IN6ADDR_ANY, IN6ADDR_LOOPBACK
IPV6_ADD_MEMBERSHIP, IPV6_MTU, IPV6_V6ONLY, ...
STRUCTURE MANIPULATORS
$family = sockaddr_family $sockaddr
$sockaddr = pack_sockaddr_in $port, $ip_address
($port, $ip_address) = unpack_sockaddr_in $sockaddr
$sockaddr = sockaddr_in $port, $ip_address
($port, $ip_address) = sockaddr_in $sockaddr
$sockaddr = pack_sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]]
($port, $ip6_address, $scope_id, $flowinfo) = unpack_sockaddr_in6 $sockaddr
$sockaddr = sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]]
($port, $ip6_address, $scope_id, $flowinfo) = sockaddr_in6 $sockaddr
$sockaddr = pack_sockaddr_un $path
($path) = unpack_sockaddr_un $sockaddr
$sockaddr = sockaddr_un $path
($path) = sockaddr_un $sockaddr
$ip_mreq = pack_ip_mreq $multiaddr, $interface
($multiaddr, $interface) = unpack_ip_mreq $ip_mreq
$ip_mreq_source = pack_ip_mreq_source $multiaddr, $source, $interface
($multiaddr, $source, $interface) = unpack_ip_mreq_source $ip_mreq
$ipv6_mreq = pack_ipv6_mreq $multiaddr6, $ifindex
($multiaddr6, $ifindex) = unpack_ipv6_mreq $ipv6_mreq
FUNCTIONS
$ip_address = inet_aton $string
$string = inet_ntoa $ip_address
$address = inet_pton $family, $string
$string = inet_ntop $family, $address
($err, @result) = getaddrinfo $host, $service, [$hints]
  flags => INT, family => INT, socktype => INT, protocol => INT, family => INT, socktype => INT, protocol => INT, addr => STRING, canonname => STRING, AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST
($err, $hostname, $servicename) = getnameinfo $sockaddr, [$flags, [$xflags]]
  NI_NUMERICHOST, NI_NUMERICSERV, NI_NAMEREQD, NI_DGRAM, NIx_NOHOST, NIx_NOSERV
getaddrinfo() / getnameinfo() ERROR CONSTANTS
  EAI_AGAIN, EAI_BADFLAGS, EAI_FAMILY, EAI_NODATA, EAI_NONAME, EAI_SERVICE
EXAMPLES

Lookup for connect()
Making a human-readable string out of an address
Resolving hostnames into IP addresses
Accessing socket options

AUTHOR

## Storable - persistence for Perl data structures

SYNOPSIS
DESCRIPTION
MEMORY STORE
ADVISORY LOCKING
SPEED
CANONICAL REPRESENTATION
CODE REFERENCES
FORWARD COMPATIBILITY
  utf8 data, restricted hashes, huge objects, files from future versions of Storable
ERROR REPORTING
WIZARDS ONLY

Hooks
  "STORABLE_freeze" obj, cloning, "STORABLE_thaw" obj, cloning, serialized, .., "STORABLE_attach" class, cloning, serialized
Predicates
  "Storable::last_op_in_netorder", "Storable::is_storing", "Storable::is_retrieving"
Recursion
Deep Cloning

Storable magic
  $info = Storable::file_magic( $filename ), "version", "version_nv", "major", "minor", "hdrsize", "netorder", "byteorder", "intsize", "longsize", "ptrsize", "nvsize", "file", $info = Storable::read_magic( $buffer ), $info = Storable::read_magic( $buffer, $must_be_file )
EXAMPLES
SECURITY WARNING
WARNING
REGULAR EXPRESSIONS
BUGS

64 bit data in perl 5.6.0 and 5.6.1

CREDITS
AUTHOR
SEE ALSO

## Sub::Util - A selection of utility subroutines for subs and CODE references

SYNOPSIS
DESCRIPTION
FUNCTIONS
prototype
set_prototype
subname
set_subname
AUTHOR

## Symbol - manipulate Perl symbols and their names

SYNOPSIS
DESCRIPTION
BUGS

## Sys::Hostname - Try every conceivable way to get hostname

SYNOPSIS
DESCRIPTION
AUTHOR

## Sys::Syslog - Perl interface to the UNIX syslog(3) calls

VERSION
SYNOPSIS
DESCRIPTION
EXPORTS
FUNCTIONS
  openlog($ident, $logopt, $facility), syslog($priority, $message), syslog($priority, $format, @args), Note, setlogmask($mask_priority), setlogsock(), Note, closelog()
THE RULES OF SYS::SYSLOG
EXAMPLES
CONSTANTS

Facilities
Levels

DIAGNOSTICS
  "Invalid argument passed to setlogsock", "eventlog passed to setlogsock, but no Win32 API available", "no connection to syslog available", "stream passed to setlogsock, but %s is not writable", "stream passed to setlogsock, but could not find any device", "tcp passed to setlogsock, but tcp service unavailable", "syslog: expecting argument %s", "syslog: invalid level/facility: %s", "syslog: too many levels given: %s", "syslog: too many facilities given: %s", "syslog: level must be given", "udp passed to setlogsock, but udp service unavailable", "unix passed to setlogsock, but path not available"
HISTORY
SEE ALSO

Other modules
Manual Pages
RFCs
Articles
Event Log

AUTHORS & ACKNOWLEDGEMENTS
BUGS
SUPPORT
  Perl Documentation, MetaCPAN, Search CPAN, AnnoCPAN: Annotated CPAN documentation, CPAN Ratings, RT: CPAN's request tracker
COPYRIGHT
LICENSE

## TAP::Base - Base class that provides common functionality to TAP::Parser and TAP::Harness

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

## TAP::Formatter::Base - Base class for harness output delegates

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods
  "verbosity", "verbose", "timer", "failures", "comments", "quiet", "really_quiet", "silent", "errors", "directives", "stdout", "color", "jobs", "show_count"

## TAP::Formatter::Color - Run Perl test scripts with color

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods

## TAP::Formatter::Console - Harness output delegate for default console output

VERSION
DESCRIPTION
SYNOPSIS

"open_test"

## TAP::Formatter::Console::ParallelSession - Harness output delegate for parallel console output

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods

## TAP::Formatter::Console::Session - Harness output delegate for default console output

VERSION
DESCRIPTION
"clear_for_close"
"close_test"
"header"
"result"

## TAP::Formatter::File - Harness output delegate for file output

VERSION
DESCRIPTION
SYNOPSIS

"open_test"

## TAP::Formatter::File::Session - Harness output delegate for file output

VERSION
DESCRIPTION
METHODS

result

close_test

## TAP::Formatter::Session - Abstract base class for harness output delegate

VERSION
METHODS

Class Methods
  "formatter", "parser", "name", "show_count"

## TAP::Harness - Run test scripts with statistics

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods
  "verbosity", "timer", "failures", "comments", "show_count", "normalize", "lib", "switches", "test_args", "color", "exec", "merge", "sources", "aggregator_class", "version", "formatter_class", "multiplexer_class", "parser_class", "scheduler_class", "formatter", "errors", "directives", "ignore_exit", "jobs", "rules", "rulesfiles", "stdout", "trap"

Instance Methods

the source name of a test to run, a reference to a [ source name, display name ] array

CONFIGURING

Plugins
"Module::Build"
"ExtUtils::MakeMaker"
"prove"

WRITING PLUGINS
  Customize how TAP gets into the parser, Customize how TAP results are output from the parser
SUBCLASSING

Methods
  "new" in TAP::Harness, "runtests" in TAP::Harness, "summary" in TAP::Harness

REPLACING
SEE ALSO

## TAP::Harness::Beyond, Test::Harness::Beyond - Beyond make test

Beyond make test

Saved State
Parallel Testing
Non-Perl Tests
Mixing it up
Rolling My Own
Deeper Customisation
Callbacks
Parsing TAP
Getting Support

## TAP::Harness::Env - Parsing harness related environmental variables where appropriate

VERSION
SYNOPSIS
DESCRIPTION
METHODS
  create( \%args )
ENVIRONMENTAL VARIABLES
  "HARNESS_PERL_SWITCHES", "HARNESS_VERBOSE", "HARNESS_SUBCLASS", "HARNESS_OPTIONS", "j<n>", "c", "a<file.tgz>", "fPackage-With-Dashes", "HARNESS_TIMER", "HARNESS_COLOR", "HARNESS_IGNORE_EXIT"

## TAP::Object - Base class that provides common functionality to all "TAP::*" modules

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods

## TAP::Parser - Parse TAP output

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods
  "source", "tap", "exec", "sources", "callback", "switches", "test_args", "spool", "merge", "grammar_class", "result_factory_class", "iterator_factory_class"

Instance Methods
INDIVIDUAL RESULTS

Result types
  Version, Plan, Pragma, Test, Comment, Bailout, Unknown
Common type methods
"plan" methods
"pragma" methods
"comment" methods
"bailout" methods
"unknown" methods
"test" methods

TOTAL RESULTS

Individual Results

Pragmas
Summary Results
"ignore_exit"

Misplaced plan, No plan, More than one plan, Test numbers out of sequence

CALLBACKS
  "test", "version", "plan", "comment", "bailout", "yaml", "unknown", "ELSE", "ALL", "EOF"
TAP GRAMMAR
BACKWARDS COMPATIBILITY

Differences
  TODO plans, 'Missing' tests

SUBCLASSING

Parser Components
  option 1, option 2

ACKNOWLEDGMENTS
  Michael Schwern, Andy Lester, chromatic, GEOFFR, Shlomi Fish, Torsten Schoenfeld, Jerry Gay, Aristotle, Adam Kennedy, Yves Orton, Adrian Howard, Sean & Lil, Andreas J. Koenig, Florian Ragwitz, Corion, Mark Stosberg, Matt Kraai, David Wheeler, Alex Vandiver, Cosimo Streppone, Ville Skyttä
AUTHORS
BUGS
COPYRIGHT & LICENSE

## TAP::Parser::Aggregator - Aggregate TAP::Parser results

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
Summary methods
  failed, parse_errors, passed, planned, skipped, todo, todo_passed, wait, exit

Failed tests, Parse errors, Bad exit or wait status

See Also

## TAP::Parser::Grammar - A grammar for the Test Anything Protocol.

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
TAP GRAMMAR
SUBCLASSING
SEE ALSO

## TAP::Parser::Iterator - Base class for TAP source iterators

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods
Instance Methods

SUBCLASSING

Example

SEE ALSO

## TAP::Parser::Iterator::Array - Iterator for array-based TAP sources

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods
Instance Methods

ATTRIBUTION
SEE ALSO

## TAP::Parser::Iterator::Process - Iterator for process-based TAP sources

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods
Instance Methods

ATTRIBUTION
SEE ALSO

## TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
ATTRIBUTION
SEE ALSO

## TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to use for a given Source

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
SUBCLASSING

Example

AUTHORS
ATTRIBUTION
SEE ALSO

## TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
See Also

## TAP::Parser::Result - Base class for TAP::Parser output objects

VERSION
SYNOPSIS

DESCRIPTION
METHODS

Boolean methods
  "is_plan", "is_pragma", "is_test", "is_comment", "is_bailout", "is_version", "is_unknown", "is_yaml"
SUBCLASSING

Example

SEE ALSO

## TAP::Parser::Result::Bailout - Bailout result token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS
  "as_string"
Instance Methods

## TAP::Parser::Result::Comment - Comment result token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS
  "as_string"
Instance Methods

## TAP::Parser::Result::Plan - Plan result token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS
  "as_string", "raw"
Instance Methods

## TAP::Parser::Result::Pragma - TAP pragma token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS
  "as_string", "raw"
Instance Methods

## TAP::Parser::Result::Test - Test result token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS

Instance Methods

## TAP::Parser::Result::Unknown - Unknown result token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS
  "as_string", "raw"

## TAP::Parser::Result::Version - TAP syntax version token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS
  "as_string", "raw"
Instance Methods

## TAP::Parser::Result::YAML - YAML result token.

VERSION
DESCRIPTION
OVERRIDDEN METHODS
  "as_string", "raw"
Instance Methods

## TAP::Parser::ResultFactory - Factory for creating TAP::Parser output objects

SYNOPSIS
VERSION
DESCRIPTION
METHODS
Class Methods
SUBCLASSING

Example

SEE ALSO

## TAP::Parser::Scheduler - Schedule tests during parallel testing

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods
Rules data structure
  By default, all tests are eligible to be run in parallel. Specifying any of your own rules removes this one, "First match wins". The first rule that matches a test will be the one that applies, Any test which does not match a rule will be run in sequence at the end of the run, The existence of a rule does not imply selecting a test. You must still specify the tests to run, Specifying a rule to allow tests to run in parallel does not make the run in parallel. You still need specify the number of parallel "jobs" in your Harness object

Instance Methods

## TAP::Parser::Scheduler::Job - A single testing job.

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
Attributes

## TAP::Parser::Scheduler::Spinner - A no-op job.

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
SEE ALSO

## TAP::Parser::Source - a TAP source & meta data about it

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

Instance Methods
AUTHORS
SEE ALSO

## TAP::Parser::SourceHandler - Base class for different TAP source handlers

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

SUBCLASSING

Example

AUTHORS
SEE ALSO

## TAP::Parser::SourceHandler::Executable - Stream output from an executable TAP source

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

SUBCLASSING

Example

SEE ALSO

## TAP::Parser::SourceHandler::File - Stream TAP from a text file.

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

CONFIGURATION
SUBCLASSING
SEE ALSO

## TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle or a GLOB.

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

SUBCLASSING
SEE ALSO

## TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

SUBCLASSING

Example

SEE ALSO

## TAP::Parser::SourceHandler::RawTAP - Stream output from raw TAP in a scalar/array ref.

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

SUBCLASSING
SEE ALSO

## TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods
Instance Methods

AUTHOR
SEE ALSO
COPYRIGHT

## TAP::Parser::YAMLish::Writer - Write YAMLish data

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods
Instance Methods
  a reference to a scalar to append YAML to, the handle of an open file, a reference to an array into which YAML will be pushed, a code reference

AUTHOR
SEE ALSO
COPYRIGHT

## Term::ANSIColor - Color screen output using ANSI escape sequences

SYNOPSIS
DESCRIPTION

Supported Colors
Function Interface
  color(ATTR[, ATTR ...]), colored(STRING, ATTR[, ATTR ...]), colored(ATTR-REF, STRING[, STRING...]), uncolor(ESCAPE), colorstrip(STRING[, STRING ...]), colorvalid(ATTR[, ATTR ...]), coloralias(ALIAS[, ATTR ...])
Constant Interface
The Color Stack
Supporting CLICOLOR

DIAGNOSTICS
  Bad color mapping %s, Bad escape sequence %s, Bareword "%s" not allowed while "strict subs" in use, Cannot alias standard color %s, Cannot alias standard color %s in %s, Invalid alias name %s, Invalid alias name %s in %s, Invalid attribute name %s, Invalid attribute name %s in %s, Name "%s" used only once: possible typo, No comma allowed after filehandle, No name for escape sequence %s
ENVIRONMENT
  ANSI_COLORS_ALIASES, ANSI_COLORS_DISABLED, NO_COLOR
COMPATIBILITY
RESTRICTIONS
NOTES
AUTHORS
COPYRIGHT AND LICENSE
SEE ALSO

## Term::Cap - Perl termcap interface

SYNOPSIS
DESCRIPTION

METHODS

Tgetent, OSPEED, TERM

Tpad, $string, $cnt, $FH

Tputs, $cap, $cnt, $FH

Tgoto, $cap, $col, $row, $FH

Trequire

EXAMPLES
COPYRIGHT AND LICENSE
AUTHOR
SEE ALSO

## Term::Complete - Perl word completion module

SYNOPSIS
DESCRIPTION
  <tab>, ^D, ^U, <del>, <bs>
DIAGNOSTICS
BUGS
AUTHOR

## Term::ReadKey - A perl module for simple terminal control

SYNOPSIS
DESCRIPTION
  ReadMode MODE [, Filehandle], ReadKey MODE [, Filehandle], ReadLine MODE [, Filehandle], GetTerminalSize [Filehandle], SetTerminalSize WIDTH,HEIGHT,XPIX,YPIX [, Filehandle], GetSpeed [, Filehandle], GetControlChars [, Filehandle], SetControlChars [, Filehandle]
AUTHOR
SUPPORT
LICENSE

## Term::ReadLine - Perl interface to various "readline" packages. If no real package is found, substitutes stubs instead of basic functions.

SYNOPSIS
DESCRIPTION
Minimal set of supported functions
  "ReadLine", "new", "readline", "addhistory", "IN", "OUT", "MinLine", "findConsole", Attribs, "Features"
Additional supported functions
  "tkRunning", "event_loop", "ornaments", "newTTY"
EXPORTS
ENVIRONMENT

## Term::Table - Format a header and rows into a table

DESCRIPTION
SYNOPSIS
INTERFACE

OPTIONS
  header => [ ... ], rows => [ [...], [...], ... ], collapse => $bool, max_width => $num, pad => $num, allow_overflow => $bool, sanitize => $bool, mark_tail => $bool, show_header => $bool, auto_columns => $bool, no_collapse => [ $col_num_a, $col_num_b, ... ], no_collapse => [ $col_name_a, $col_name_b, ... ], no_collapse => { $col_num_a => 1, $col_num_b => 1, ... }, no_collapse => { $col_name_a => 1, $col_name_b => 1, ... }

NOTE ON UNICODE/WIDE CHARACTERS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Term::Table::Cell - Representation of a cell in a table.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Term::Table::CellStack - Combine several cells into one (vertical)

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Term::Table::HashBase - Build hash based classes.

SYNOPSIS
DESCRIPTION
THIS IS A BUNDLED COPY OF HASHBASE
METHODS

PROVIDED BY HASH BASE
  $it = $class->new(%PAIRS), $it = $class->new(\%PAIRS), $it = $class->new(\@ORDERED_VALUES)
HOOKS
  $self->init()

ACCESSORS

READ/WRITE
  foo(), set_foo(), FOO()
READ ONLY
  set_foo()
DEPRECATED SETTER
  set_foo()
NO SETTER
NO READER
CONSTANT ONLY

SUBCLASSING
GETTING A LIST OF ATTRIBUTES FOR A CLASS
  @list = Term::Table::HashBase::attr_list($class), @list = $class->Term::Table::HashBase::attr_list()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Term::Table::LineBreak - Break up lines for use in tables.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Term::Table::Util - Utilities for Term::Table.

DESCRIPTION
EXPORTS

CONSTANTS
  $bool = USE_GCS, $bool = USE_TERM_READKEY
UTILITIES
  $width = term_size(), $width = uni_length($string)

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test - provides a simple framework for writing test scripts

SYNOPSIS
DESCRIPTION
QUICK START GUIDE

Functions
  plan(...), "tests => number", "todo => [1,5,14]", "onfail => sub { ... }", "onfail => \&some_sub"

_to_value

ok(...)

"skip(skip_if_true, args...)"

TEST TYPES
  NORMAL TESTS, SKIPPED TESTS, TODO TESTS
ONFAIL
BUGS and CAVEATS
ENVIRONMENT
NOTE
SEE ALSO
AUTHOR

## Test2 - Framework for writing test tools that all work together.

DESCRIPTION

WHAT IS NEW?
  Easier to test new testing tools, Better diagnostics capabilities, Event driven, More complete API, Support for output other than TAP, Subtest implementation is more sane, Support for threading/forking

GETTING STARTED

## Test2, This describes the namespace layout for the Test2 ecosystem. Not all the namespaces listed here are part of the Test2 distribution, some are implemented in Test2::Suite.

Test2::Tools::
Test2::Plugin::
Test2::Bundle::
Test2::Require::
Test2::Formatter::
Test2::Event::
Test2::Hub::
Test2::IPC::
Test2::Util::
Test2::API::
Test2::
SEE ALSO
CONTACTING US
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API - Primary interface for writing Test2 based testing tools.

***INTERNALS NOTE***
DESCRIPTION
SYNOPSIS

WRITING A TOOL
TESTING YOUR TOOLS
OTHER API FUNCTIONS

MAIN API EXPORTS

context(...)
  $ctx = context(), $ctx = context(%params), level => $int, wrapped => $int, stack => $stack, hub => $hub, on_init => sub { ... }, on_release => sub { ... }
release($;$)
  release $ctx;, release $ctx, ...;
context_do(&;@)
no_context(&;$)
  no_context { ... };, no_context { ... } $hid;
intercept(&)
run_subtest(...)
  $NAME, \&CODE, $BUFFERED or \%PARAMS, 'buffered' => $bool, 'inherit_trace' => $bool, 'no_fork' => $bool, @ARGS, Things not affected by this flag, Things that are affected by this flag, Things that are formatter dependent

OTHER API EXPORTS

STATUS AND INITIALIZATION STATE
  $bool = test2_init_done(), $bool = test2_load_done(), test2_set_is_end(), test2_set_is_end($bool), $bool = test2_get_is_end(), $stack = test2_stack(), $bool = test2_is_testing_done(), test2_ipc_disable, $bool = test2_ipc_disabled, test2_ipc_wait_enable(), test2_ipc_wait_disable(), $bool = test2_ipc_wait_enabled(), $bool = test2_no_wait(), test2_no_wait($bool), $fh = test2_stdout(), $fh = test2_stderr(), test2_reset_io()
BEHAVIOR HOOKS
  test2_add_callback_exit(sub { ... }), test2_add_callback_post_load(sub { ... }), test2_add_callback_testing_done(sub { ... }), test2_add_callback_context_acquire(sub { ... }), test2_add_callback_context_init(sub { ... }), test2_add_callback_context_release(sub { ... }), test2_add_callback_pre_subtest(sub { ... }), @list = test2_list_context_acquire_callbacks(), @list = test2_list_context_init_callbacks(), @list = test2_list_context_release_callbacks(), @list = test2_list_exit_callbacks(), @list = test2_list_post_load_callbacks(), @list = test2_list_pre_subtest_callbacks(), test2_add_uuid_via(sub { ... }), $sub = test2_add_uuid_via()
IPC AND CONCURRENCY
  $bool = test2_has_ipc(), $ipc = test2_ipc(), test2_ipc_add_driver($DRIVER), @drivers = test2_ipc_drivers(), $bool = test2_ipc_polling(), test2_ipc_enable_polling(), test2_ipc_disable_polling(), test2_ipc_enable_shm(), test2_ipc_set_pending($uniq_val), $pending = test2_ipc_get_pending(), $timeout = test2_ipc_get_timeout(), test2_ipc_set_timeout($timeout)
MANAGING FORMATTERS
  $formatter = test2_formatter, test2_formatter_set($class_or_instance), @formatters = test2_formatters(), test2_formatter_add($class_or_instance)
TIME STAMPS
  test2_enable_trace_stamps(), test2_disable_trace_stamps(), $bool = test2_trace_stamps_enabled()

OTHER EXAMPLES
SEE ALSO
MAGIC
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API::Breakage - What breaks at what version

DESCRIPTION
FUNCTIONS
  %mod_ver = upgrade_suggested(), %mod_ver = Test2::API::Breakage->upgrade_suggested(), %mod_ver = upgrade_required(), %mod_ver = Test2::API::Breakage->upgrade_required(), %mod_ver = known_broken(), %mod_ver = Test2::API::Breakage->known_broken()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API::Context - Object to represent a testing context.

DESCRIPTION
SYNOPSIS
CRITICAL DETAILS
  you MUST always use the context() sub from Test2::API, You MUST always release the context when done with it, You MUST NOT pass context objects around, You MUST NOT store or cache a context for later, You SHOULD obtain your context as soon as possible in a given tool
METHODS
  $ctx->done_testing;, $clone = $ctx->snapshot(), $ctx->release(), $ctx->throw($message), $ctx->alert($message), $stack = $ctx->stack(), $hub = $ctx->hub(), $dbg = $ctx->trace(), $ctx->do_in_context(\&code, @args);, $ctx->restore_error_vars(), $! = $ctx->errno(), $? = $ctx->child_error(), $@ = $ctx->eval_error()

EVENT PRODUCTION METHODS
  $event = $ctx->pass(), $event = $ctx->pass($name), $true = $ctx->pass_and_release(), $true = $ctx->pass_and_release($name), my $event = $ctx->fail(), my $event = $ctx->fail($name), my $event = $ctx->fail($name, @diagnostics), my $false = $ctx->fail_and_release(), my $false = $ctx->fail_and_release($name), my $false = $ctx->fail_and_release($name, @diagnostics), $event = $ctx->ok($bool, $name), $event = $ctx->ok($bool, $name, \@on_fail), $event = $ctx->note($message), $event = $ctx->diag($message), $event = $ctx->plan($max), $event = $ctx->plan(0, 'SKIP', $reason), $event = $ctx->skip($name, $reason);, $event = $ctx->bail($reason), $event = $ctx->send_ev2(%facets), $event = $ctx->build_e2(%facets), $event = $ctx->send_ev2_and_release($Type, %parameters), $event = $ctx->send_event($Type, %parameters), $event = $ctx->build_event($Type, %parameters), $event = $ctx->send_event_and_release($Type, %parameters)

HOOKS

INIT HOOKS
RELEASE HOOKS

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>
COPYRIGHT

## Test2::API::Instance - Object used by Test2::API under the hood

DESCRIPTION
SYNOPSIS
  $pid = $obj->pid, $obj->tid, $obj->reset(), $obj->load(), $bool = $obj->loaded, $arrayref = $obj->post_load_callbacks, $obj->add_post_load_callback(sub { ... }), $hashref = $obj->contexts(), $arrayref = $obj->context_acquire_callbacks, $arrayref = $obj->context_init_callbacks, $arrayref = $obj->context_release_callbacks, $arrayref = $obj->pre_subtest_callbacks, $obj->add_context_init_callback(sub { ... }), $obj->add_context_release_callback(sub { ... }), $obj->add_pre_subtest_callback(sub { ... }), $obj->set_exit(), $obj->set_ipc_pending($val), $pending = $obj->get_ipc_pending(), $timeout = $obj->ipc_timeout;, $obj->set_ipc_timeout($timeout);, $drivers = $obj->ipc_drivers, $obj->add_ipc_driver($DRIVER_CLASS), $bool = $obj->ipc_polling, $obj->enable_ipc_polling, $obj->disable_ipc_polling, $bool = $obj->no_wait, $bool = $obj->set_no_wait($bool), $arrayref = $obj->exit_callbacks, $obj->add_exit_callback(sub { ... }), $bool = $obj->finalized, $ipc = $obj->ipc, $obj->ipc_disable, $bool = $obj->ipc_disabled, $stack = $obj->stack, $formatter = $obj->formatter, $bool = $obj->formatter_set(), $obj->add_formatter($class), $obj->add_formatter($obj), $obj->set_add_uuid_via(sub { ... }), $sub = $obj->add_uuid_via()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API::InterceptResult - Representation of a list of events.

DESCRIPTION
SYNOPSIS
METHODS

CONSTRUCTION
  $events = Test2::API::InterceptResult->new(@EVENTS), $events = Test2::API::InterceptResult->new_from_ref(\@EVENTS), $clone = $events->clone()
NORMALIZATION
  @events = $events->event_list, $hub = $events->hub, $state = $events->state, $new = $events->upgrade, $events->upgrade(in_place => $BOOL), $new = $events->squash_info, $events->squash_info(in_place => $BOOL)
FILTERING
  in_place => $BOOL, args => \@ARGS, $events->grep($CALL, %PARAMS), $events->asserts(%PARAMS), $events->subtests(%PARAMS), $events->diags(%PARAMS), $events->notes(%PARAMS), $events->errors(%PARAMS), $events->plans(%PARAMS), $events->causes_fail(%PARAMS), $events->causes_failure(%PARAMS)
MAPPING
  $arrayref = $events->map($CALL, %PARAMS), $arrayref = $events->flatten(%PARAMS), $arrayref = $events->briefs(%PARAMS), $arrayref = $events->summaries(%PARAMS), $arrayref = $events->subtest_results(%PARAMS), $arrayref = $events->diag_messages(%PARAMS), $arrayref = $events->note_messages(%PARAMS), $arrayref = $events->error_messages(%PARAMS)

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API::InterceptResult::Event - Representation of an event for use in testing other test tools.

DESCRIPTION
SYNOPSIS
METHODS

!!! IMPORTANT NOTES ON DESIGN !!!
ATTRIBUTES
  $hashref = $event->facet_data, $class = $event->result_class
DUPLICATION
  $copy = $event->clone
CONDENSED MULTI-FACET DATA
  $bool = $event->causes_failure, $bool = $event->causes_fail, STRING_OR_EMPTY_LIST = $event->brief, $hashref = $event->flatten, $hashref = $event->flatten(include_subevents => 1), always present, Present if the event has a trace facet, If an assertion is present, If a plan is present:, If amnesty facets are present, If Info (note/diag) facets are present, If error facets are present, Present if the event is a subtest, If a bail-out is being requested, $hashref = $event->summary()
DIRECT ARBITRARY FACET ACCESS
  @list_of_facets = $event->facet($name), $undef_or_facet = $event->the_facet($name)
TRACE FACET
  @list_of_facets = $event->trace, $undef_or_hashref = $event->the_trace, $undef_or_arrayref = $event->frame, $undef_or_string = $event->trace_details, $undef_or_string = $event->trace_package, $undef_or_string = $event->trace_file, $undef_or_integer = $event->trace_line, $undef_or_string = $event->trace_subname, $undef_or_string = $event->trace_tool, $undef_or_string = $event->trace_signature
ASSERT FACET
  $bool = $event->has_assert, $undef_or_hashref = $event->the_assert, @list_of_facets = $event->assert, EMPTY_LIST_OR_STRING = $event->assert_brief
SUBTESTS (PARENT FACET)
  $bool = $event->has_subtest, $undef_or_hashref = $event->the_subtest, @list_of_facets = $event->subtest, EMPTY_LIST_OR_OBJECT = $event->subtest_result
CONTROL FACET (BAILOUT, ENCODING)
  $bool = $event->has_bailout, $undef_hashref = $event->the_bailout, EMPTY_LIST_OR_HASHREF = $event->bailout, EMPTY_LIST_OR_STRING = $event->bailout_brief, EMPTY_LIST_OR_STRING = $event->bailout_reason
PLAN FACET
  $bool = $event->has_plan, $undef_or_hashref = $event->the_plan, @list_if_hashrefs = $event->plan, EMPTY_LIST_OR_STRING $event->plan_brief
AMNESTY FACET (TODO AND SKIP)
  $event->has_amnesty, $event->the_amnesty, $event->amnesty, $event->amnesty_reasons, $event->has_todos, $event->todos, $event->todo_reasons, $event->has_skips, $event->skips, $event->skip_reasons, $event->has_other_amnesty, $event->other_amnesty, $event->other_amnesty_reasons
ERROR FACET (CAPTURED EXCEPTIONS)
  $event->has_errors, $event->the_errors, $event->errors, $event->error_messages, $event->error_brief
INFO FACET (DIAG, NOTE)
  $event->has_info, $event->the_info, $event->info, $event->info_messages, $event->has_diags, $event->diags, $event->diag_messages, $event->has_notes, $event->notes, $event->note_messages, $event->has_other_info, $event->other_info, $event->other_info_messages

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API::InterceptResult::Hub - Hub used by InterceptResult.

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API::InterceptResult::Squasher - Encapsulation of the algorithm that squashes diags into assertions.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::API::Stack - Object to manage a stack of Test2::Hub instances.

***INTERNALS NOTE***
DESCRIPTION
SYNOPSIS
METHODS
  $stack = Test2::API::Stack->new(), $hub = $stack->new_hub(), $hub = $stack->new_hub(%params), $hub = $stack->new_hub(%params, class => $class), $hub = $stack->top(), $hub = $stack->peek(), $stack->cull, @hubs = $stack->all, $stack->clear, $stack->push($hub), $stack->pop($hub)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::AsyncSubtest - Object representing an async subtest.

DESCRIPTION
SYNOPSIS
CONSTRUCTION
  name => $name (required), send_to => $hub (optional), trace => $trace (optional), hub => $hub (optional)
METHODS

SIMPLE ACCESSORS
  $bool = $ast->active, $arrayref = $ast->children, $arrayref = $ast->events, $bool = $ast->finished, $hub = $ast->hub, $int = $ast->id, $str = $ast->name, $pid = $ast->pid, $tid = $ast->tid, $hub = $ast->send_to, $arrayref = $ast->stack, $trace = $ast->trace
INTERFACE
  $ast->attach($id), $id = $ast->cleave, $ctx = $ast->context, $ast->detach, $ast->finish, $ast->finish(%options), collapse => 1, silent => 1, no_plan => 1, skip => "reason", $out = $ast->fork, $bool = $ast->pending, $bool = $ast->ready, $ast->run(sub { ... }), $pid = $ast->run_fork(sub { ... }), my $thr = $ast->run_thread(sub { ... });, $passing = $ast->start, $ast->stop, $ast->wait

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::AsyncSubtest::Event::Attach - Event to attach a subtest to the parent.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::AsyncSubtest::Event::Detach - Event to detach a subtest from the parent.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::AsyncSubtest::Hub - Hub used by async subtests.

DESCRIPTION
SYNOPSIS
METHODS
  $ast = $hub->ast
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Bundle - Documentation for bundles.

DESCRIPTION
FAQ
  Should my bundle subclass Test2::Bundle?
HOW DO I WRITE A BUNDLE?
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Bundle::Extended - Old name for Test2::V0

*** DEPRECATED ***
DESCRIPTION
SYNOPSIS
RESOLVING CONFLICTS WITH MOOSE

TAGS
  :v1, :DEFAULT
RENAMING ON IMPORT
  ':v1', '!ok', ok => {-as => 'my_ok'}

PRAGMAS

STRICT
WARNINGS
UTF8

PLUGINS

SRAND
UTF8
EXIT SUMMARY

API FUNCTIONS
  $ctx = context(), $events = intercept { ... }
TOOLS

TARGET
  $CLASS, $class = CLASS()
DEFER
  def $func => @args;, do_def()
BASIC
  ok($bool, $name), pass($name), fail($name), diag($message), note($message), $todo = todo($reason), todo $reason => sub { ... }, skip($reason, $count), plan($count), skip_all($reason), done_testing(), bail_out($reason)
COMPARE
  is($got, $want, $name), isnt($got, $do_not_want, $name), like($got, qr/match/, $name), unlike($got, qr/mismatch/, $name), $check = match(qr/pattern/), $check = mismatch(qr/pattern/), $check = validator(sub { return $bool }), $check = hash { ... }, $check = array { ... }, $check = bag { ... }, $check = object { ... }, $check = meta { ... }, $check = number($num), $check = string($str), $check = check_isa($class_name), $check = in_set(@things), $check = not_in_set(@things), $check = check_set(@things), $check = item($thing), $check = item($idx => $thing), $check = field($name => $val), $check = call($method => $expect), $check = call_list($method => $expect), $check = call_hash($method => $expect), $check = prop($name => $expect), $check = check($thing), $check = T(), $check = F(), $check = D(), $check = DF(), $check = E(), $check = DNE(), $check = FDNE(), $check = U(), $check = L(), $check = exact_ref($ref), end(), etc(), filter_items { grep { ... } @_ }, $check = event $type => .., @checks = fail_events $type => ..
CLASSIC COMPARE
  cmp_ok($got, $op, $want, $name)
SUBTEST
  subtest $name => sub { ... }
CLASS
  can_ok($thing, @methods), isa_ok($thing, @classes), DOES_ok($thing, @roles)
ENCODING
  set_encoding($encoding)
EXPORTS
  imported_ok('function', '$scalar', ...), not_imported_ok('function', '$scalar', ...)
REF
  ref_ok($ref, $type), ref_is($got, $want), ref_is_not($got, $do_not_want)
MOCK
  $control = mock .., $bool = mocked($thing)
EXCEPTION
  $exception = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }
WARNINGS
  $count = warns { ... }, $warning = warning { ... }, $warnings_ref = warnings { ... }, $bool = no_warnings { ... }

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Bundle::More - ALMOST a drop-in replacement for Test::More.

DESCRIPTION
SYNOPSIS
PLUGINS
TOOLS
  ok($bool, $name), pass($name), fail($name), skip($why, $count), $todo = todo($why), diag($message), note($message), plan($count), skip_all($why), done_testing(), BAIL_OUT($why), is($got, $want, $name), isnt($got, $donotwant, $name), like($got, qr/match/, $name), unlike($got, qr/mismatch/, $name), is_deeply($got, $want, "Deep compare"), cmp_ok($got, $op, $want, $name), isa_ok($thing, @classes), can_ok($thing, @subs), subtest $name => sub { ... }
KEY DIFFERENCES FROM Test::More
  You cannot plan at import, You have three subs imported for use in planning, isa_ok accepts different arguments

THESE FUNCTIONS AND VARIABLES HAVE BEEN REMOVED
  $TODO, use_ok(), require_ok(), todo_skip(), eq_array(), eq_hash(), eq_set(), explain(), new_ok()

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Bundle::Simple - ALMOST a drop-in replacement for Test::Simple.

DESCRIPTION
SYNOPSIS
PLUGINS
TOOLS
  ok($bool, $name), plan($count), skip_all($reason), done_testing();
KEY DIFFERENCES FROM Test::Simple
  You cannot plan at import, You have three subs imported for use in planning
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare - Test2 extension for writing deep comparison tools.

DESCRIPTION
SYNOPSIS
EXPORTS
  $delta = compare($got, $expect, \&convert), $build = get_build(), push_build($build), $build = pop_build($build), build($class, sub { ... }), $check = convert($thing), $check = convert($thing, $config), implicit_end => 1, use_regex => 1, use_code => 0, $check = strict_convert($thing), implicit_end => 1, use_code => 0, use_regex => 0, $compare = relaxed_convert($thing), implicit_end => 0, use_code => 1, use_regex => 1
WRITING A VARIANT OF IS/LIKE
  compare(), \&convert, $delta
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Array - Internal representation of an array comparison.

DESCRIPTION
METHODS
  $ref = $arr->inref(), $bool = $arr->ending, $arr->set_ending($bool), $hashref = $arr->items(), $arr->set_items($hashref), $arrayref = $arr->order(), $arr->set_order($arrayref), $name = $arr->name(), $bool = $arr->verify(got => $got, exists => $bool), $idx = $arr->top_index(), $arr->add_item($item), $arr->add_item($idx => $item), $arr->add_filter(sub { ... }), @deltas = $arr->deltas(got => $got, convert => \&convert, seen => \%seen)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Bag - Internal representation of a bag comparison.

DESCRIPTION
METHODS
  $bool = $arr->ending, $arr->set_ending($bool), $arrayref = $arr->items(), $arr->set_items($arrayref), $name = $arr->name(), $bool = $arr->verify(got => $got, exists => $bool), $arr->add_item($item), @deltas = $arr->deltas(got => $got, convert => \&convert, seen => \%seen)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>, Gianni Ceccarelli <dakkar@thenautilus.net>
AUTHORS
  Chad Granum <exodist@cpan.org>, Gianni Ceccarelli <dakkar@thenautilus.net>
COPYRIGHT

## Test2::Compare::Base - Base class for comparison classes.

DESCRIPTION
SYNOPSIS
METHODS
  $dclass = $check->delta_class, @deltas = $check->deltas(id => $id, exists => $bool, got => $got, convert => \&convert, seen => \%seen), @lines = $check->got_lines($got), $op = $check->operator(), $op = $check->operator($got), $bool = $check->verify(id => $id, exists => $bool, got => $got, convert => \&convert, seen => \%seen), $name = $check->name, $display = $check->render, $delta = $check->run(id => $id, exists => $bool, got => $got, convert => \&convert, seen => \%seen)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Bool - Compare two values as booleans

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Custom - Custom field check for comparisons.

DESCRIPTION
SYNOPSIS
ARGUMENTS
  got, $_, exists, operator, name
METHODS
  $code = $cus->code, $name = $cus->name, $op = $cus->operator, $stringify = $cus->stringify_got, $bool = $cus->verify(got => $got, exists => $bool)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>, Daniel Böhmer <dboehmer@cpan.org>
COPYRIGHT

## Test2::Compare::DeepRef - Ref comparison

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Delta - Representation of differences between nested data structures.

DESCRIPTION
METHODS

CLASS METHODS
  $class->add_column($NAME => sub { ... }), $class->add_column($NAME, %PARAMS), $bool = $class->remove_column($NAME), $class->set_column_alias($NAME, $ALIAS)
ATTRIBUTES
  $bool = $delta->verified, $delta->set_verified($bool), $aref = $delta->id, $delta->set_id([$type, $name]), $val = $delta->got, $delta->set_got($val), $check = $delta->chk, $check = $delta->check, $delta->set_chk($check), $delta->set_check($check), $aref = $delta->children, $delta->set_children([$delta1, $delta2, ...]), $dne = $delta->dne, $delta->set_dne($dne), $e = $delta->exception, $delta->set_exception($e)
OTHER
  $string = $delta->render_got, $string = $delta->render_check, $bool = $delta->should_show, $aref = $delta->filter_visible, $aref = $delta->table_header, $string = $delta->table_op, $string = $delta->table_check_lines, $string = $delta->table_got_lines, $aref = $delta->table_rows, @table_lines = $delta->table

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Event - Event specific Object subclass.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::EventMeta - Meta class for events in deep comparisons

DESCRIPTION
DEFINED CHECKS
  file, line, package, subname, debug, tid, pid
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Float - Compare two values as numbers with tolerance.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Andrew Grangaard <spazm@cpan.org>
COPYRIGHT

## Test2::Compare::Hash - Representation of a hash in a deep comparison.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Isa - Check if the value is an instance of the class.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>, TOYAMA Nao <nanto@moon.email.ne.jp>
COPYRIGHT

## Test2::Compare::Meta - Check library for meta-checks

DESCRIPTION
DEFINED CHECKS
  blessed, reftype, isa, this, size
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Negatable - Poor mans 'role' for compare objects that can be negated.

DESCRIPTION
WHY?
ATTRIBUTES
  $bool = $obj->negate, $obj->set_negate($bool), $attr = NEGATE()
METHODS
  $clone = $obj->clone_negate(), $obj->toggle_negate()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Number - Compare two values as numbers

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Object - Representation of an object during deep comparison.

DESCRIPTION
METHODS
  $class = $obj->meta_class, $class = $obj->object_base, $obj->add_prop(...), $obj->add_field(...), $obj->add_item(...), $obj->add_call($method, $check), $obj->add_call($method, $check, $name), $obj->add_call($method, $check, $name, $context)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::OrderedSubset - Internal representation of an ordered subset.

DESCRIPTION
METHODS
  $ref = $arr->inref(), $arrayref = $arr->items(), $arr->set_items($arrayref), $name = $arr->name(), $bool = $arr->verify(got => $got, exists => $bool), $arr->add_item($item), @deltas = $arr->deltas(got => $got, convert => \&convert, seen => \%seen)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Pattern - Use a pattern to validate values in a deep comparison.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Ref - Ref comparison

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Regex - Regex direct comparison

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Scalar - Representation of a Scalar Ref in deep comparisons

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Set - Allows a field to be matched against a set of checks.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::String - Compare two values as strings

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Undef - Check that something is undefined

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Compare::Wildcard - Placeholder check.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event - Base class for events

DESCRIPTION
SYNOPSIS
METHODS

GENERAL
  $trace = $e->trace, $bool_or_undef = $e->related($e2), $e->add_amnesty({tag => $TAG, details => $DETAILS});, $uuid = $e->uuid, $class = $e->load_facet($name), @classes = $e->FACET_TYPES(), @classes = Test2::Event->FACET_TYPES()
NEW API
  $hashref = $e->common_facet_data();, $hashref = $e->facet_data(), $hashref = $e->facets(), @errors = $e->validate_facet_data();, @errors = $e->validate_facet_data(%params);, @errors = $e->validate_facet_data(\%facets, %params);, @errors = Test2::Event->validate_facet_data(%params);, @errors = Test2::Event->validate_facet_data(\%facets, %params);, require_facet_class => $BOOL, about => {...}, assert => {...}, control => {...}, meta => {...}, parent => {...}, plan => {...}, trace => {...}, amnesty => [{...}, ...], errors => [{...}, ...], info => [{...}, ...]
LEGACY API
  $bool = $e->causes_fail, $bool = $e->increments_count, $e->callback($hub), $num = $e->nested, $bool = $e->global, $code = $e->terminate, $msg = $e->summary, ($count, $directive, $reason) = $e->sets_plan(), $bool = $e->diagnostics, $bool = $e->no_display, $id = $e->in_subtest, $id = $e->subtest_id

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Bail - Bailout!

DESCRIPTION
SYNOPSIS
METHODS
  $reason = $e->reason
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Diag - Diag event type

DESCRIPTION
SYNOPSIS
ACCESSORS
  $diag->message
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Encoding - Set the encoding for the output stream

DESCRIPTION
SYNOPSIS
METHODS
  $encoding = $e->encoding
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Exception - Exception event

DESCRIPTION
SYNOPSIS
METHODS
  $reason = $e->error
CAVEATS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Fail - Event for a simple failed assertion

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Generic - Generic event type.

DESCRIPTION
SYNOPSIS
METHODS
  $e->facet_data($data), $data = $e->facet_data, $e->callback($hub), $e->set_callback(sub { ... }), $bool = $e->causes_fail, $e->set_causes_fail($bool), $bool = $e->diagnostics, $e->set_diagnostics($bool), $bool_or_undef = $e->global, @bool_or_empty = $e->global, $e->set_global($bool_or_undef), $bool = $e->increments_count, $e->set_increments_count($bool), $bool = $e->no_display, $e->set_no_display($bool), @plan = $e->sets_plan, $e->set_sets_plan(\@plan), $summary = $e->summary, $e->set_summary($summary_or_undef), $int_or_undef = $e->terminate, @int_or_empty = $e->terminate, $e->set_terminate($int_or_undef)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Note - Note event type

DESCRIPTION
SYNOPSIS
ACCESSORS
  $note->message
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Ok - Ok event type

DESCRIPTION
SYNOPSIS
ACCESSORS
  $rb = $e->pass, $name = $e->name, $b = $e->effective_pass
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Pass - Event for a simple passing assertion

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Plan - The event of a plan

DESCRIPTION
SYNOPSIS
ACCESSORS
  $num = $plan->max, $dir = $plan->directive, $reason = $plan->reason
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Skip - Skip event type

DESCRIPTION
SYNOPSIS
ACCESSORS
  $reason = $e->reason
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Subtest - Event for subtest types

DESCRIPTION
ACCESSORS
  $arrayref = $e->subevents, $bool = $e->buffered
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::TAP::Version - Event for TAP version.

DESCRIPTION
SYNOPSIS
METHODS
  $version = $e->version
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::V2 - Second generation event.

DESCRIPTION
SYNOPSIS

USING A CONTEXT
USING THE CONSTRUCTOR

METHODS
  $fd = $e->facet_data(), $about = $e->about(), $trace = $e->trace()

MUTATION
  $e->add_amnesty({...}), $e->add_hub({...}), $e->set_uuid($UUID), $e->set_trace($trace)
LEGACY SUPPORT METHODS
  causes_fail, diagnostics, global, increments_count, no_display, sets_plan, subtest_id, summary, terminate

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Event::Waiting - Tell all procs/threads it is time to be done

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet - Base class for all event facets.

DESCRIPTION
METHODS
  $key = $facet_class->facet_key(), $bool = $facet_class->is_list(), $clone = $facet->clone(), $clone = $facet->clone(%replace)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::About - Facet with event details.

DESCRIPTION
FIELDS
  $string = $about->{details}, $string = $about->details(), $package = $about->{package}, $package = $about->package(), $bool = $about->{no_display}, $bool = $about->no_display(), $uuid = $about->{uuid}, $uuid = $about->uuid(), $uuid = $about->{eid}, $uuid = $about->eid()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Amnesty - Facet for assertion amnesty.

DESCRIPTION
NOTES
FIELDS
  $string = $amnesty->{details}, $string = $amnesty->details(), $short_string = $amnesty->{tag}, $short_string = $amnesty->tag(), $bool = $amnesty->{inherited}, $bool = $amnesty->inherited()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Assert - Facet representing an assertion.

DESCRIPTION
FIELDS
  $string = $assert->{details}, $string = $assert->details(), $bool = $assert->{pass}, $bool = $assert->pass(), $bool = $assert->{no_debug}, $bool = $assert->no_debug(), $int = $assert->{number}, $int = $assert->number()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Control - Facet for hub actions and behaviors.

DESCRIPTION
FIELDS
  $string = $control->{details}, $string = $control->details(), $bool = $control->{global}, $bool = $control->global(), $exit = $control->{terminate}, $exit = $control->terminate(), $bool = $control->{halt}, $bool = $control->halt(), $bool = $control->{has_callback}, $bool = $control->has_callback(), $encoding = $control->{encoding}, $encoding = $control->encoding(), $phase = $control->{phase}, $phase = $control->phase()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Error - Facet for errors that need to be shown.

DESCRIPTION
NOTES
FIELDS
  $string = $error->{details}, $string = $error->details(), $short_string = $error->{tag}, $short_string = $error->tag(), $bool = $error->{fail}, $bool = $error->fail()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Hub - Facet for the hubs an event passes through.

DESCRIPTION
FACET FIELDS
  $string = $trace->{details}, $string = $trace->details(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Info - Facet for information a developer might care about.

DESCRIPTION
NOTES
FIELDS
  $string_or_structure = $info->{details}, $string_or_structure = $info->details(), $structure = $info->{table}, $structure = $info->table(), $short_string = $info->{tag}, $short_string = $info->tag(), $bool = $info->{debug}, $bool = $info->debug(), $bool = $info->{important}, $bool = $info->important
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Info::Table - Intermediary representation of a table.

DESCRIPTION
SYNOPSIS
ATTRIBUTES
  $header_aref = $t->header(), $rows_aref = $t->rows(), $bool = $t->collapse(), $aref = $t->no_collapse(), $str = $t->as_string(), $href = $t->as_hash(), %args = $t->info_args()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Meta - Facet for meta-data

DESCRIPTION
METHODS AND FIELDS
  $anything = $meta->{anything}, $anything = $meta->anything()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Parent - Facet for events contains other events

DESCRIPTION
FIELDS
  $string = $parent->{details}, $string = $parent->details(), $hid = $parent->{hid}, $hid = $parent->hid(), $arrayref = $parent->{children}, $arrayref = $parent->children(), $bool = $parent->{buffered}, $bool = $parent->buffered()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Plan - Facet for setting the plan

DESCRIPTION
FIELDS
  $string = $plan->{details}, $string = $plan->details(), $positive_int = $plan->{count}, $positive_int = $plan->count(), $bool = $plan->{skip}, $bool = $plan->skip(), $bool = $plan->{none}, $bool = $plan->none()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Render - Facet that dictates how to render an event.

DESCRIPTION
FIELDS
  $string = $render->[#]->{details}, $string = $render->[#]->details(), $string = $render->[#]->{tag}, $string = $render->[#]->tag(), $string = $render->[#]->{facet}, $string = $render->[#]->facet(), $mode = $render->[#]->{mode}, $mode = $render->[#]->mode(), calculated, replace
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::EventFacet::Trace - Debug information for events

DESCRIPTION
SYNOPSIS
FACET FIELDS
  $string = $trace->{details}, $string = $trace->details(), $frame = $trace->{frame}, $frame = $trace->frame(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $id = $trace->{cid}, $id = $trace->cid(), $uuid = $trace->{uuid}, $uuid = $trace->uuid(), ($pkg, $file, $line, $subname) = $trace->call, @caller = $trace->full_call, $warning_bits = $trace->warning_bits

DISCOURAGED HUB RELATED FIELDS
  $hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered()

METHODS
  $trace->set_detail($msg), $msg = $trace->detail, $str = $trace->debug, $trace->alert($MESSAGE), $trace->throw($MESSAGE), ($package, $file, $line, $subname) = $trace->call(), $pkg = $trace->package, $file = $trace->file, $line = $trace->line, $subname = $trace->subname, $sig = trace->signature
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Formatter - Namespace for formatters.

DESCRIPTION
CREATING FORMATTERS
  The number of tests that were planned, The number of tests actually seen, The number of tests which failed, A boolean indicating whether or not the test suite passed, A boolean indicating whether or not this call is for a subtest
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Formatter::TAP - Standard TAP formatter

DESCRIPTION
SYNOPSIS
METHODS
  $bool = $tap->no_numbers, $tap->set_no_numbers($bool), $arrayref = $tap->handles, $tap->set_handles(\@handles);, $encoding = $tap->encoding, $tap->encoding($encoding), $tap->write($e, $num)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>
COPYRIGHT

## Test2::Hub - The conduit through which all events flow.

SYNOPSIS
DESCRIPTION
COMMON TASKS

SENDING EVENTS
ALTERING OR REMOVING EVENTS
LISTENING FOR EVENTS
POST-TEST BEHAVIORS
SETTING THE FORMATTER

METHODS
  $hub->send($event), $hub->process($event), $old = $hub->format($formatter), $sub = $hub->listen(sub { ... }, %optional_params), $hub->unlisten($sub), $sub = $hub->filter(sub { ... }, %optional_params), $sub = $hub->pre_filter(sub { ... }, %optional_params), $hub->unfilter($sub), $hub->pre_unfilter($sub), $hub->follow_op(sub { ... }), $sub = $hub->add_context_acquire(sub { ... });, $hub->remove_context_acquire($sub);, $sub = $hub->add_context_init(sub { ... });, $hub->remove_context_init($sub);, $sub = $hub->add_context_release(sub { ... });, $hub->remove_context_release($sub);, $hub->cull(), $pid = $hub->pid(), $tid = $hub->tid(), $hud = $hub->hid(), $uuid = $hub->uuid(), $ipc = $hub->ipc(), $hub->set_no_ending($bool), $bool = $hub->no_ending, $bool = $hub->active, $hub->set_active($bool)

STATE METHODS
  $hub->reset_state(), $num = $hub->count, $num = $hub->failed, $bool = $hub->ended, $bool = $hub->is_passing, $hub->is_passing($bool), $hub->plan($plan), $plan = $hub->plan, $bool = $hub->check_plan

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Hub::Interceptor - Hub used by interceptor to grab results.

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Hub::Interceptor::Terminator - Exception class used by Test2::Hub::Interceptor

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Hub::Subtest - Hub used by subtests

DESCRIPTION
TOGGLES
  $bool = $hub->manual_skip_all, $hub->set_manual_skip_all($bool)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::IPC - Turn on IPC for threading or forking support.

SYNOPSIS

DISABLING IT

EXPORTS
  cull()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::IPC::Driver - Base class for Test2 IPC drivers.

SYNOPSIS
METHODS
  $self->abort($msg), $self->abort_trace($msg)
LOADING DRIVERS
WRITING DRIVERS

METHODS SUBCLASSES MUST IMPLEMENT
  $ipc->is_viable, $ipc->add_hub($hid), $ipc->drop_hub($hid), $ipc->send($hid, $event);, $ipc->send($hid, $event, $global);, @events = $ipc->cull($hid), $ipc->waiting()
METHODS SUBCLASSES MAY IMPLEMENT OR OVERRIDE
  $ipc->driver_abort($msg)

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::IPC::Driver::Files - Temp dir + Files concurrency model.

DESCRIPTION
SYNOPSIS
ENVIRONMENT VARIABLES
  T2_KEEP_TEMPDIR=0, T2_TEMPDIR_TEMPLATE='test2-XXXXXX'
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual - Documentation hub for Test2 and Test2-Suite.

DESCRIPTION
WRITING TESTS
WRITING TOOLS
GUTS AND INNER WORKINGS
A NOTE ON CONCURRENCY (SUPPORT FOR FORKING AND THREADING)
CONTRIBUTING
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy - The hub for documentation of the inner workings of Test2 components.

DESCRIPTION
END TO END
EVENTS
THE CONTEXT
THE API AND THE API INSTANCE
HUBS
THE IPC SYSTEM
INTERNAL UTILITIES
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy::API - Internals documentation for the API.

DESCRIPTION
IMPLEMENTATION DETAILS

Test2::API
Test2::API::Instance

SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy::Context - Internals documentation for the Context objects.

DESCRIPTION
WHAT IS THE CONTEXT OBJECT?

PRIMARY INTERFACE FOR TEST TOOLS
TRACK FILE AND LINE NUMBERS FOR ERROR REPORTING
PRESERVE $?, $!, $^E AND $@
FINALIZE THE API STATE
FIND/CREATE THE CURRENT/ROOT HUB
PROVIDE HOOKS

SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy::EndToEnd, Test2::Manual::EndToEnd - Overview of Test2 from load to finish.

DESCRIPTION
WHAT HAPPENS WHEN I LOAD THE API?
  A singleton instance of Test2::API::Instance is created, Several API functions are defined that use the singleton instance, Then what?
WHAT HAPPENS WHEN I USE A TOOL?
  A tool function is run, The tool acquires a context object, The tool uses the context object to create, send, and return events, When done the tool MUST release the context, The tool returns
WHAT HAPPENS WHEN I ACQUIRE A CONTEXT?
  $!, $@, $? and $^E are captured and preserved, The API state is changed to 'loaded', The current hub is found, Context acquire hooks fire, Any existing context is found, Stack depth is measured, A new context is created (if no existing context was found), Context init hooks fire (if no existing context was found), $!, $@, $?, and $^E are restored, The context is returned
WHAT HAPPENS WHEN I SEND AN EVENT?
  The Test2::Event::Ok module is loaded, A new instance of Test2::Event::Ok is created, The event object is sent to the hub, The hub runs the event through any filters, The global test state is updated to reflect the event, The event is sent to the formatter, The event is sent to all listeners
WHAT HAPPENS WHEN I RELEASE A CONTEXT?
  The current context clone is released, If this was the canonical context, it will actually release, Release hooks are called, The context is cleared, $!, $@, $?, and $^E are restored
WHAT HAPPENS WHEN I USE done_testing()?
  Any pending IPC events will be culled, Follow-up hooks are run, The final plan event is generated and processed, The current hub is finalized
WHAT HAPPENS WHEN A TEST SCRIPT IS DONE?
  API Versions are checked, Any remaining context objects are cleaned up, Child processes are sent a 'waiting' event, The script will wait for all child processes and/or threads to complete, The hub stack is cleaned up, The root hub is finalized, Exit callbacks are called, The scripts exit value ($?) is set, Broken module diagnostics
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy::Event - The internals of events

DESCRIPTION
HISTORY
THE EVENT OBJECT
THE FACET API
  assert => {details => $name, pass => $bool, no_debug => $bool, number => $maybe_int}, about => {details => $string, no_display => $bool, package => $pkg}, amnesty => [{details => $string, tag => $short_string, inherited => $bool}], control => {details => $string, global => $bool, terminate => $maybe_int, halt => $bool, has_callback => $bool, encoding => $enc}, errors => [{details => $string, tag => $short_string, fail => $bool}], info => [{details => $string, tag => $short_string, debug => $bool, important => $bool}], parent => {details => $string, hid => $hid, children => [...], buffered => 1}, plan => {details => $string, count => $int, skip => $bool, none => $bool}, trace => {details => $string, frame => [$pkg, $file, $line, $sub], pid => $int, tid => $int, cid => $cid, hid => $hid, nested => $int, buffered => $bool}

CUSTOM FACETS
  $string = $facet_class->facet_key, $bool = $facet_class->is_list

THE OLD API
  $bool = $e->causes_fail, $bool = $e->increments_count, $e->callback($hub), $num = $e->nested, $bool = $e->global, $code = $e->terminate, $msg = $e->summary, ($count, $directive, $reason) = $e->sets_plan(), $bool = $e->diagnostics, $bool = $e->no_display
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy::Hubs - Internals documentation for the hub stack, and hubs.

DESCRIPTION
WHAT IS A HUB?
WHY DO WE HAVE A HUB STACK?
  subtests, testing your test tools
WHEN SHOULD I ADD A HUB TO THE STACK?
WHERE IS THE STACK?
WHAT ABOUT THE ROOT HUB?
HOW DO HUBS HANDLE IPC?
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy::IPC - Manual for the IPC system.

DESCRIPTION
WHAT IS THE IPC SYSTEM
HOW DOES THE IPC SYSTEM EFFECT EVERYTHING?
WHAT DOES AN IPC DRIVER DO?
HOW DOES THE DEFAULT IPC DRIVER WORK?
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Anatomy::Utilities - Overview of utilities for Test2.

DESCRIPTION
Test2::Util
Test2::Util::ExternalMeta
Test2::Util::Facets2Legacy
Test2::Util::HashBase
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Concurrency - Documentation for Concurrency support.

FORKING

Test2
Test::Builder
Test2::Suite
Test::SharedFork
Others

THREADING

Test2
Test::Builder
Test2::Suite

SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Contributing - How to contribute to the Test2 project.

DESCRIPTION
WAYS TO HELP

REPORT BUGS
  Test2/Test-Builder/Test-More, Test2-Suite, Test2-Harness
SUBMIT PATCHES
ADD/UPDATE DOCUMENTATION
ANSWER QUESTIONS ON IRC/SLACK
WRITE NEW TOOLS USING TEST2
PORT OLD TOOLS TO TEST2

SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Testing - Hub for documentation about writing tests with Test2.

DESCRIPTION

## Test2::Manual::Testing, When writing tests there are a couple namespaces to focus on:

Test2::Tools::*, Test2::Plugins::*, Test2::Bundle::*, Test2::Require::*

LISTING DEPENDENCIES
TUTORIALS

SIMPLE/INTRODUCTION TUTORIAL
MIGRATING FROM TEST::BUILDER and TEST::MORE
ADVANCED PLANNING
TODO TESTS
SUBTESTS
COMPARISONS
TESTING EXPORTERS
TESTING CLASSES
TRAPPING
DEFERRED TESTING
MANAGING ENCODINGS
AUTO-ABORT ON FAILURE
CONTROLLING RANDOM BEHAVIOR
WRITING YOUR OWN BUNDLE

TOOLSET DOCUMENTATION
PLUGIN DOCUMENTATION
BUNDLE DOCUMENTATION
REQUIRE DOCUMENTATION
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Testing::Introduction - Introduction to testing with Test2.

DESCRIPTION
BOILERPLATE

THE TEST FILE
  use Test2::V0;, done_testing;
DIST CONFIG

MAKING ASSERTIONS
RUNNING THE TEST

RUN DIRECTLY
USING YATH
USING PROVE

THE "PLAN"
  done_testing(), plan($COUNT)
ADDITIONAL ASSERTION TOOLS
  is($a, $b, $description), like($a, $b, $description)
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Testing::Migrating - How to migrate existing tests from Test::More to Test2.

DESCRIPTION
LEGACY TEST
BOILERPLATE
  Replace Test::More with Test2::V0, NOTE: srand, Stop using use_ok(), Stop using require_ok(), Remove strict/warnings (optional), Change where the plan is set
SIMPLE ASSERTIONS
TODO
  todo $reason => sub { ... }, { my $TODO = todo $reason; ... }
DEEP COMPARISONS
COMPARING REFERENCES
TOOLS THAT ARE GONE
TOOLS THAT HAVE CHANGED
FINAL VERSION
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Testing::Planning - The many ways to set a plan.

DESCRIPTION
TEST COUNT
DONE TESTING
SKIP ALL
CUSTOM PLAN EVENT
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Testing::Todo - Tutorial for marking tests as TODO.

DESCRIPTION
THE TOOL

TODO BLOCK
TODO VARIABLE

MANUAL TODO EVENTS
HOW THE TODO TOOLS WORK UNDER THE HOOD
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling - Manual page for tool authors.

DESCRIPTION
TOOL TUTORIALS

FIRST TOOL
MOVING FROM Test::Builder
NESTING TOOLS
TOOLS WITH SUBTESTS
TESTING YOUR TEST TOOLS

PLUGIN TUTORIALS

TAKING ACTION WHEN A NEW TOOL STARTS
TAKING ACTION AFTER A TOOL IS DONE
TAKING ACTION AT THE END OF TESTING
TAKING ACTION JUST BEFORE EXIT

WRITING A SIMPLE JSONL FORMATTER
WHERE TO FIND HOOKS AND APIS
  global API, In hubs
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::FirstTool - Write your first tool with Test2.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
  sub ok($;$@) {, my ($bool, $name, @diag) = @_;, my $ctx = context();, return $ctx->pass_and_release($name) if $bool;, return $ctx->fail_and_release($name, @diag);
CONTEXT OBJECT DOCUMENTATION
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Formatter - How to write a custom formatter, in our case a JSONL formatter.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
  use base qw/Test2::Formatter/;, sub new { bless {}, shift }, sub encoding {};, sub write { ... }, my ($self, $e, $num, $f) = @_;, $self, $e, $num, $f, $f ||= $e->facet_data;, print encode_json($f), "\n";
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Nesting - Tutorial for using other tools within your own.

DESCRIPTION
NAIVE WAY

WHATS WRONG WITH IT?
HOW TO FIX IT

SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Plugin::TestExit - How to safely add pre-exit behaviors.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
  use Test2::API qw{test2_add_callback_exit};, test2_add_callback_exit(sub { ... });, my ($ctx, $orig_code, $new_exit_code_ref) = @_, return if $orig_code == 42, $$new_exit_code_ref = 42
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Plugin::TestingDone - Run code when the test file is finished, or when done_testing is called.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
  use Test2::API qw{test2_add_callback_testing_done};, test2_add_callback_testing_done(sub { ... });, ok(!$some_global, '$some_global was not set'), print "The test file is done, or done_testing was just called\n"
UNDER THE HOOD
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Plugin::ToolCompletes - How to add behaviors that occur when a tool completes work.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
  use Test2::API qw{test2_add_callback_context_release};, test2_add_callback_context_release(sub { ... }), my $ctx_ref = shift, print "Context was released\n"
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Plugin::ToolStarts - How to add behaviors that occur when a tool starts work.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
  use Test2::API qw{test2_add_callback_context_init test2_add_callback_context_acquire};, test2_add_callback_context_acquire(sub { ... }), my $params_ref = shift, print "A tool has requested the context\n", test2_add_callback_context_init(sub { ... }), my $ctx_ref = shift, print "A new context was created\n"
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Subtest - How to implement a tool that makes use of subtests.

DESCRIPTION
WHICH TYPE OF SUBTEST DO I NEED?

SUBTEST WITH USER SUPPLIED CODEREF
  @args, \%params, buffered => $bool, inherit_trace => $bool, no_fork => $bool
SUBTEST WITH TOOL-SIDE CODEREF

SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::TestBuilder - This section maps Test::Builder methods to Test2 concepts.

DESCRIPTION
CONTEXT
TEST BUILDER METHODS
  $tb->BAIL_OUT($reason), $tb->diag($string), $tb->note($string), $tb->done_testing, $tb->like, $tb->unlike, $tb->ok($bool, $name), $tb->subtest, $tb->todo_start, $tb->todo_end, $tb->output, $tb->failure_output, and $tb->todo_output
LEVEL
TODO
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Manual::Tooling::Testing - Tutorial on how to test your testing tools.

DESCRIPTION
THE HOLY GRAIL OF TESTING YOUR TOOLS
ADDITIONAL HELPERS

Test2::Tools::Tester
Test2::Tools::HarnessTester
Test2::Tools::Compare
  event $TYPE => .., fail_events $TYPE => ..

SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Mock - Module for managing mocked classes and instances.

DESCRIPTION
SYNOPSIS
CONSTRUCTION
METHODS
  $mock = Test2::Mock->new(class => $CLASS, ...), $mock->track($bool), $hashref = $mock->sub_tracking, $arrayref = $mock->call_tracking, $mock->clear_sub_tracking(), $mock->clear_sub_tracking(\@subnames), $mock->clear_call_tracking(), $mock->add('symbol' => ..., 'symbol2' => ...), $mock->override('symbol1' => ..., 'symbol2' => ...), $mock->set('symbol1' => ..., 'symbol2' => ...), $mock->restore($SYMBOL), $mock->reset($SYMBOL), $mock->orig($SYMBOL), $mock->current($SYMBOL), $mock->reset_all, $mock->add_constructor($NAME => $TYPE), $mock->override_constructor($NAME => $TYPE), $mock->before($NAME, sub { ... }), $mock->after($NAME, sub { ... }), $mock->around($NAME, sub { ... }), $mock->autoload, $mock->block_load, $pm_file = $mock->file, $bool = $mock->purge_on_destroy($bool), $stash = $mock->stash, $class = $mock->class, $p = $mock->parent, $c = $mock->child
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Plugin - Documentation for plugins

DESCRIPTION
FAQ
  Should I subclass Test2::Plugin?
HOW DO I WRITE A PLUGIN?
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Plugin::BailOnFail - Automatically bail out of testing on the first test failure.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Plugin::DieOnFail - Automatically die on the first test failure.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Plugin::ExitSummary - Add extra diagnostics on failure at the end of the test.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Plugin::SRand - Control the random seed for more controlled test environments.

DESCRIPTION
SYNOPSIS
NOTE ON LOAD ORDER
CAVEATS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Plugin::Times - Output timing data at the end of the test.

CAVEAT
DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Plugin::UTF8 - Test2 plugin to test with utf8.

DESCRIPTION
SYNOPSIS
import options

encoding_only

NOTES
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require - Base class and documentation for skip-unless type test packages.

DESCRIPTION
HOW DO I WRITE A 'REQUIRE' MODULE?

AS A SUBCLASS
STAND-ALONE

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::AuthorTesting - Only run a test when the AUTHOR_TESTING environment variable is set.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::AutomatedTesting - Only run a test when the AUTOMATED_TESTING environment variable is set.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::EnvVar - Only run a test when a specific environment variable is set.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::ExtendedTesting - Only run a test when the EXTENDED_TESTING environment variable is set.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::Fork - Skip a test file unless the system supports forking

DESCRIPTION
SYNOPSIS
EXPLANATION
SEE ALSO
  Test2::Require::CanReallyfork, Test2::Require::CanThread
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::Module - Skip tests if certain packages are not installed, or insufficient versions.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::NonInteractiveTesting - Only run a test when the NONINTERACTIVE_TESTING environment variable is set.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::Perl - Skip the test unless the necessary version of Perl is installed.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::RealFork - Skip a test file unless the system supports true forking

DESCRIPTION
SYNOPSIS
SEE ALSO
  Test2::Require::Canfork, Test2::Require::CanThread
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::ReleaseTesting - Only run a test when the RELEASE_TESTING environment variable is set.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Require::Threads - Skip a test file unless the system supports threading

DESCRIPTION
SYNOPSIS
EXPLANATION
SEE ALSO
  Test2::Require::CanFork, Test2
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Suite - Distribution with a rich set of tools built upon the Test2 framework.

DESCRIPTION

WHAT ARE TOOLS, PLUGINS, AND BUNDLES?
  TOOLS, PLUGINS, BUNDLES

INCLUDED BUNDLES
  Test2::V#, Extended, More, Simple
INCLUDED TOOLS
  Basic, Compare, ClassicCompare, Class, Defer, Encoding, Exports, Mock, Ref, Spec, Subtest, Target
INCLUDED PLUGINS
  BailOnFail, DieOnFail, ExitSummary, SRand, UTF8
INCLUDED REQUIREMENT CHECKERS
  AuthorTesting, EnvVar, Fork, RealFork, Module, Perl, Threads
SEE ALSO
CONTACTING US
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Todo - TODO extension for Test2.

DESCRIPTION
SYNOPSIS
CONSTRUCTION OPTIONS
  reason (required), hub (optional)
INSTANCE METHODS
  $todo->end
CLASS METHODS
  $count = Test2::Todo->hub_in_todo($hub)
OTHER NOTES

How it works
$todo->end is called at destruction
Can I use multiple instances?

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools - Documentation for Tools.

DESCRIPTION
FAQ
  Why is it called Test2::Tools, and not Test2::Tool?, Should my tools subclass Test2::Tools?
HOW DO I WRITE A 'TOOLS' MODULE?
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::AsyncSubtest - Tools for writing async subtests.

DESCRIPTION
SYNOPSIS
EXPORTS
  $ast = async_subtest $name, $ast = async_subtest $name => sub { ... }, $ast = async_subtest $name => \%hub_params, sub { ... }, $ast = fork_subtest $name => sub { ... }, $ast = fork_subtest $name => \%hub_params, sub { ... }, $ast = thread_subtest $name => sub { ... }, $ast = thread_subtest $name => \%hub_params, sub { ... }
NOTES
  Async Subtests are always buffered, Do not use done_testing() yourself
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Basic - Test2 implementation of the basic testing tools.

DESCRIPTION
SYNOPSIS
EXPORTS

PLANNING
  plan($num), plan('tests' => $num), plan('skip_all' => $reason), skip_all($reason), done_testing, bail_out($reason)
ASSERTIONS
  ok($bool), ok($bool, $name), ok($bool, $name, @diag), pass(), pass($name), fail(), fail($name), fail($name, @diag)
DIAGNOSTICS
  diag(@messages), note(@messages)
META
  $todo = todo($reason), todo $reason => sub { ... }, skip($why), skip($why, $count)

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Class - Test2 implementation of the tools for testing classes.

DESCRIPTION
SYNOPSIS
EXPORTS
  can_ok($thing, @methods), can_ok($thing, \@methods, $test_name), isa_ok($thing, @classes), isa_ok($thing, \@classes, $test_name), DOES_ok($thing, @roles), DOES_ok($thing, \@roles, $test_name)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::ClassicCompare - Classic (Test::More style) comparison tools.

DESCRIPTION
SYNOPSIS
EXPORTS
  $bool = is($got, $expect), $bool = is($got, $expect, $name), $bool = is($got, $expect, $name, @diag), $bool = isnt($got, $dont_expect), $bool = isnt($got, $dont_expect, $name), $bool = isnt($got, $dont_expect, $name, @diag), $bool = like($got, $pattern), $bool = like($got, $pattern, $name), $bool = like($got, $pattern, $name, @diag), $bool = unlike($got, $pattern), $bool = unlike($got, $pattern, $name), $bool = unlike($got, $pattern, $name, @diag), $bool = is_deeply($got, $expect), $bool = is_deeply($got, $expect, $name), $bool = is_deeply($got, $expect, $name, @diag), cmp_ok($got, $op, $expect), cmp_ok($got, $op, $expect, $name), cmp_ok($got, $op, $expect, $name, @diag), != (num), >= (num), <= (num), > (num), <
  (num), <=> (num), eq (str), ne (str), gt (str), lt (str), ge (str), le (str), cmp (str), !~ (str), &&, ||, xor, or, and, //, &, |, ~~
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Compare - Tools for comparing deep data structures.

DESCRIPTION
SYNOPSIS

ADVANCED

COMPARISON TOOLS
  $bool = is($got, $expect), $bool = is($got, $expect, $name), $bool = is($got, $expect, $name, @diag), $bool = isnt($got, $expect), $bool = isnt($got, $expect, $name), $bool = isnt($got, $expect, $name, @diag), $bool = like($got, $expect), $bool = like($got, $expect, $name), $bool = like($got, $expect, $name, @diag), $bool = unlike($got, $expect), $bool = unlike($got, $expect, $name), $bool = unlike($got, $expect, $name, @diag)

QUICK CHECKS
  $check = T(), $check = F(), $check = D(), $check = U(), $check = DF(), $check = E(), $check = DNE(), $check = FDNE(), $check = L()
VALUE SPECIFICATIONS
  $check = string "...", $check = !string "...", $check = number ...;, $check = !number ...;, $check = number_lt ...;, $check = number_le ...;, $check = number_ge ...;, $check = number_gt ...;, $check = float ...;, $check = !float ...;, $check = within($num, $tolerance);, $check = !within($num, $tolerance);, $check = rounded($num, $precision);, $check = !rounded($num, $precision);, $check = bool ...;, $check = !bool ...;, $check = check_isa ...;, $check = !check_isa ...;, $check = match qr/.../, $check = !mismatch qr/.../, $check = !match qr/.../, $check = mismatch qr/.../, $check = validator(sub{ ... }), $check = validator($NAME => sub{ ... }), $check = validator($OP, $NAME, sub{ ... }), $check = exact_ref($ref)
SET BUILDERS
  my $check = check_set($check1, $check2, ...), my $check = in_set($check1, $check2, ...), not_in_set($check1, $check2, ...), check $thing
HASH BUILDER
  $check = hash { ... }, field $NAME => $VAL, field $NAME => $CHECK, all_keys($CHECK1, $CHECK2, ...), all_vals($CHECK1, $CHECK2, ...), all_values($CHECK1, $CHECK2, ...), end(), etc(), DNE()
ARRAY BUILDER
  $check = array { ... }, item $VAL, item $CHECK, item $IDX, $VAL, item $IDX, $CHECK, filter_items { my @remaining = @_; ...; return @filtered }, all_items($CHECK1, $CHECK2, ...), end(), etc(), DNE()
BAG BUILDER
  $check = bag { ... }, item $VAL, item $CHECK, all_items($CHECK1, $CHECK2, ...), end(), etc()
ORDERED SUBSET BUILDER
  $check = subset { ... }, item $VAL, item $CHECK
META BUILDER
  meta { ... }, meta_check { ... }, prop $NAME => $VAL, prop $NAME => $CHECK, 'blessed', 'reftype', 'isa', 'this', 'size'
OBJECT BUILDER
  $check = object { ... }, call $METHOD_NAME => $RESULT, call $METHOD_NAME => $CHECK, call [$METHOD_NAME, @METHOD_ARGS] => $RESULT, call [$METHOD_NAME, @METHOD_ARGS] => $CHECK, call sub { ... }, $RESULT, call sub { ... }, $CHECK, call_list $METHOD_NAME => $RESULT, call_list $METHOD_NAME => $CHECK, call_list [$METHOD_NAME, @METHOD_ARGS] => $RESULT, call_list [$METHOD_NAME, @METHOD_ARGS] => $CHECK, call_list sub { ... }, $RESULT, call_list sub { ... }, $CHECK, call_hash $METHOD_NAME => $RESULT, call_hash $METHOD_NAME => $CHECK, call_hash [$METHOD_NAME, @METHOD_ARGS] => $RESULT, call_hash [$METHOD_NAME, @METHOD_ARGS] => $CHECK, call_hash sub { ... }, $RESULT, call_hash sub { ... }, $CHECK, field $NAME => $VAL, item $VAL, item $IDX, $VAL, prop $NAME => $VAL, prop $NAME => $CHECK, 'blessed', 'reftype', 'isa', 'this', 'size', DNE(), end(), etc()
EVENT BUILDERS
  $check = event $TYPE;, $check = event $TYPE => sub { ... };, $check = event $TYPE => { ... };, 'file', 'line', 'package', 'subname', 'skip', 'todo', 'trace', 'tid', 'pid', @checks = fail_events $TYPE;, @checks = fail_events $TYPE => sub { ... };, @checks = fail_events $TYPE => { ... };

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Defer - Write tests that get executed at a later time

DESCRIPTION
SYNOPSIS
EXPORTS
  def function => @args;, do_def()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Encoding - Tools for managing the encoding of Test2 based tests.

DESCRIPTION
SYNOPSIS
EXPORTS
  set_encoding($encoding)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Event - Tools for generating test events.

DESCRIPTION
EXPORTS
  $e = gen_event($TYPE), $e = gen_event($TYPE, %FIELDS), $e = gen_event 'Ok';, $e = gen_event Ok => ( ... ), $e = gen_event '+Test2::Event::Ok' => ( ... )
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Exception - Test2 based tools for checking exceptions

DESCRIPTION
SYNOPSIS
EXPORTS
  $e = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }, $bool = try_ok { ... } "Test Description"
DIFFERENCES FROM TEST::FATAL
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Exports - Tools for validating exporters.

DESCRIPTION
SYNOPSIS
EXPORTS
  imported_ok(@SYMBOLS), not_imported_ok(@SYMBOLS)
CAVEATS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::GenTemp - Tool for generating a populated temp directory.

DESCRIPTION
SYNOPSIS
EXPORTS
  gen_temp(file => 'content', subdir => [ sub_dir_file => 'content', ...], ...), gen_temp(-tempdir => \@TEMPDIR_ARGS, file => 'content', subdir => [ sub_dir_file => 'content', ...], ...)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Grab - Temporarily intercept all events without adding a scope level.

DESCRIPTION
SYNOPSIS
EXPORTS
  $grab = grab()
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Mock - Class/Instance mocking for Test2.

DESCRIPTION
SYNOPSIS
EXPORTS

DEFAULT
  mock, @mocks = mocked($object), @mocks = mocked($class), $mock = mock $class => ( ... );, $mock = mock $instance => ( ... ), $mock = mock 'class', $class => ( ... ), $obj = mock(), $obj = mock { ... }, $obj = mock 'obj', ...;, mock $mock => sub { ... }, mock $method => ( ... )
BY REQUEST
  $obj = mock_obj( ... ), $obj = mock_obj { ... } => ( ... ), $obj = mock_obj sub { ... }, $obj = mock_obj { ... } => sub { ... }, $mock = mock_class $class => ( ... ), $mock = mock_class $instance => ( ... ), $mock = mock_class ... => sub { ... }, mock_build $mock => sub { ... }, $mock = mock_building(), mock_do $method => $args, $sub = mock_accessor $field, $sub = mock_getter $field, $sub = mock_setter $field, %pairs = mock_accessors(qw/name1 name2 name3/), %pairs = mock_getters(qw/name1 name2 name3/), %pairs = mock_setters(qw/name1 name2 name3/)

MOCK CONTROL OBJECTS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Ref - Tools for validating references.

DESCRIPTION
SYNOPSIS
EXPORTS
  ref_ok($thing), ref_ok($thing, $type), ref_ok($thing, $type, $name), ref_is($ref1, $ref2, $name), ref_is_not($ref1, $ref2, $name)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Refcount, "Test2::Tools::Refcount" - assert reference counts on objects

SYNOPSIS
DESCRIPTION
FUNCTIONS
is_refcount
is_oneref
refcount
EXAMPLE
BUGS
  Temporaries created on the stack
ACKNOWLEDGEMENTS
AUTHOR

## Test2::Tools::Spec - RSPEC implementation on top of Test2::Workflow

DESCRIPTION
SYNOPSIS
EXPORTS
  NAME, PARAMS, flat => $bool, async => $bool, iso => $bool, todo => $reason, skip => $reason, CODEREF

ESSENTIALS
  tests NAME => sub { ... }, tests NAME => \%params, sub { ... }, tests($NAME, \%PARAMS, \&CODE), it NAME => sub { ... }, it NAME => \%params, sub { ... }, it($NAME, \%PARAMS, \&CODE), case NAME => sub { ... }, case NAME => \%params, sub { ... }, case($NAME, \%PARAMS, \&CODE), before_each NAME => sub { ... }, before_each NAME => \%params, sub { ... }, before_each($NAME, \%PARAMS, \&CODE), before_case NAME => sub { ... }, before_case NAME => \%params, sub { ... }, before_case($NAME, \%PARAMS, \&CODE), before_all NAME => sub { ... }, before_all NAME => \%params, sub { ... }, before_all($NAME, \%PARAMS, \&CODE), around_each NAME => sub { ... }, around_each NAME => \%params, sub { ... }, around_each($NAME, \%PARAMS, \&CODE), around_case NAME => sub { ... }, around_case NAME => \%params, sub { ... }, around_case($NAME, \%PARAMS, \&CODE), around_all NAME => sub { ... }, around_all NAME => \%params, sub { ... }, around_all($NAME, \%PARAMS, \&CODE), after_each NAME => sub { ... }, after_each NAME => \%params, sub { ... }, after_each($NAME, \%PARAMS, \&CODE), after_case NAME => sub { ... }, after_case NAME => \%params, sub { ... }, after_case($NAME, \%PARAMS, \&CODE), after_all NAME => sub { ... }, after_all NAME => \%params, sub { ... }, after_all($NAME, \%PARAMS, \&CODE)
SHORTCUTS
  mini NAME => sub { ... }, iso NAME => sub { ... }, miso NAME => sub { ... }, async NAME => sub { ... }, masync NAME => sub { ... }
CUSTOM ATTRIBUTE DEFAULTS

EXECUTION ORDER
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Subtest - Tools for writing subtests

DESCRIPTION
SYNOPSIS

BUFFERED
STREAMED

IMPORTANT NOTE
EXPORTS
  subtest_streamed $name => $sub, subtest_streamed($name, $sub, @args), subtest_streamed $name => \%params, $sub, subtest_streamed($name, \%params, $sub, @args), subtest_buffered $name => $sub, subtest_buffered($name, $sub, @args), subtest_buffered $name => \%params, $sub, subtest_buffered($name, \%params, $sub, @args)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Target - Alias the testing target package.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Tester - Tools to help you test other testing tools.

DESCRIPTION
SYNOPSIS
EXPORTS
  $array_ref = filter $events => $PACKAGE, $array_ref = filter $events => $PACKAGE1, $PACKAGE2, $array_ref = filter $events => qr/match/, $array_ref = filter $events => qr/match/, $PACKAGE, $grouped = group_events($events), $arrayref = facets TYPE => $events
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Tiny - Tiny set of tools for unfortunate souls who cannot use Test2::Suite.

DESCRIPTION
USE Test2::Suite INSTEAD
EXPORTS
  ok($bool, $name), ok($bool, $name, @diag), is($got, $want, $name), is($got, $want, $name, @diag), isnt($got, $do_not_want, $name), isnt($got, $do_not_want, $name, @diag), like($got, $regex, $name), like($got, $regex, $name, @diag), unlike($got, $regex, $name), unlike($got, $regex, $name, @diag), is_deeply($got, $want, $name), is_deeply($got, $want, $name, @diag), diag($msg), note($msg), skip_all($reason), todo $reason => sub { ... }, plan($count), done_testing(), $warnings = warnings { ... }, $exception = exception { ... }, tests $name => sub { ... }, $output = capture { ... }
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Tools::Warnings - Tools to verify warnings.

DESCRIPTION
SYNOPSIS
EXPORTS
  $count = warns { ... }, $warning = warning { ... }, $warnings_ref = warnings { ... }, $bool = no_warnings { ... }
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Transition - Transition notes when upgrading to Test2

DESCRIPTION
THINGS THAT BREAK

Test::Builder1.5/2 conditionals
Replacing the Test::Builder singleton
Directly Accessing Hash Elements
Subtest indentation

DISTRIBUTIONS THAT BREAK OR NEED TO BE UPGRADED

WORKS BUT TESTS WILL FAIL
  Test::DBIx::Class::Schema, Device::Chip
UPGRADE SUGGESTED
  Test::Exception, Data::Peek, circular::require, Test::Module::Used, Test::Moose::More, Test::FITesque, Test::Kit, autouse
NEED TO UPGRADE
  Test::SharedFork, Test::Builder::Clutch, Test::Dist::VersionSync, Test::Modern, Test::UseAllModules, Test::More::Prefix
STILL BROKEN
  Test::Aggregate, Test::Wrapper, Test::ParallelSubtest, Test::Pretty, Net::BitTorrent, Test::Group, Test::Flatten, Log::Dispatch::Config::TestLog, Test::Able

MAKE ASSERTIONS -> SEND EVENTS

LEGACY
TEST2
  ok($bool, $name), diag(@messages), note(@messages), subtest($name, $code)

WRAP EXISTING TOOLS

LEGACY
TEST2

USING UTF8

LEGACY
TEST2

AUTHORS, CONTRIBUTORS AND REVIEWERS
  Chad Granum (EXODIST) <exodist@cpan.org>
SOURCE
MAINTAINER
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util - Tools used by Test2 and friends.

DESCRIPTION
EXPORTS
  ($success, $error) = try { ... }, protect { ... }, CAN_FORK, CAN_REALLY_FORK, CAN_THREAD, USE_THREADS, get_tid, my $file = pkg_to_file($package), $string = ipc_separator(), $string = gen_uid(), ($ok, $err) = do_rename($old_name, $new_name), ($ok, $err) = do_unlink($filename), ($ok, $err) = try_sig_mask { ... }, SIGINT, SIGALRM, SIGHUP, SIGTERM, SIGUSR1, SIGUSR2
NOTES && CAVEATS
  Devel::Cover
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>
COPYRIGHT

## Test2::Util::ExternalMeta - Allow third party tools to safely attach meta-data to your instances.

DESCRIPTION
SYNOPSIS
WHERE IS THE DATA STORED?
EXPORTS
  $val = $obj->meta($key), $val = $obj->meta($key, $default), $val = $obj->get_meta($key), $val = $obj->delete_meta($key), $obj->set_meta($key, $val)
META-KEY RESTRICTIONS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Facets2Legacy - Convert facet data to the legacy event API.

DESCRIPTION
SYNOPSIS

AS METHODS
AS FUNCTIONS

NOTE ON CYCLES
EXPORTS
  $bool = $e->causes_fail(), $bool = causes_fail($f), $bool = $e->diagnostics(), $bool = diagnostics($f), $bool = $e->global(), $bool = global($f), $bool = $e->increments_count(), $bool = increments_count($f), $bool = $e->no_display(), $bool = no_display($f), ($max, $directive, $reason) = $e->sets_plan(), ($max, $directive, $reason) = sets_plan($f), $id = $e->subtest_id(), $id = subtest_id($f), $string = $e->summary(), $string = summary($f), $undef_or_int = $e->terminate(), $undef_or_int = terminate($f), $uuid = $e->uuid(), $uuid = uuid($f)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Grabber - Object used to temporarily intercept all events.

DESCRIPTION
SYNOPSIS
EXPORTS
  $grab = grab()
METHODS
  $grab = $class->new(), $ar = $grab->flush(), $ar = $grab->events(), $ar = $grab->finish(), $hub = $grab->hub()
ENDING BEHAVIOR
SEE ALSO
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Guard - Inline copy of Scope::Guard

SEE ALSO
ORIGINAL AUTHOR
  chocolateboy <chocolate@cpan.org>

INLINE AND MODIFICATION AUTHOR
  Chad Granum <exodist@cpan.org>

COPYRIGHT

## Test2::Util::HashBase - Build hash based classes.

SYNOPSIS
DESCRIPTION
THIS IS A BUNDLED COPY OF HASHBASE
METHODS

PROVIDED BY HASH BASE
  $it = $class->new(%PAIRS), $it = $class->new(\%PAIRS), $it = $class->new(\@ORDERED_VALUES)
HOOKS
  $self->init()

ACCESSORS

READ/WRITE
  foo(), set_foo(), FOO()
READ ONLY
  set_foo()
DEPRECATED SETTER
  set_foo()
NO SETTER
NO READER
CONSTANT ONLY

SUBCLASSING
GETTING A LIST OF ATTRIBUTES FOR A CLASS
  @list = Test2::Util::HashBase::attr_list($class), @list = $class->Test2::Util::HashBase::attr_list()
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Importer - Inline copy of Importer.

DESCRIPTION
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Ref - Tools for inspecting or manipulating references.

DESCRIPTION
EXPORTS
  $type = rtype($ref), $addr_str = render_ref($ref)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>
COPYRIGHT

## Test2::Util::Stash - Utilities for manipulating stashes and globs.

DESCRIPTION
EXPORTS
  $stash = get_stash($package), $sym_spec = parse_symbol($symbol), $sym_spec = parse_symbol($symbol, $package), $glob_ref = get_glob($symbol), $glob_ref = get_glob($symbol, $package), $ref = get_symbol($symbol), $ref = get_symbol($symbol, $package), $ref = purge_symbol($symbol), $ref = purge_symbol($symbol, $package), $sig = slot_to_sig($slot), $slot = sig_to_slot($sig)
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Sub - Tools for inspecting and manipulating subs.

DESCRIPTION
EXPORTS
  $name = sub_name(\&sub), my $hr = sub_info(\&code), $info->{ref} => \&code, $info->{cobj} => $cobj, $info->{name} => "Some::Mod::code", $info->{file} => "Some/Mod.pm", $info->{package} => "Some::Mod", $info->{start_line} => 22, $info->{end_line} => 42, $info->{lines} => [22, 42], $info->{all_lines} => [23, 25, ..., 39, 41]
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>
COPYRIGHT

## Test2::Util::Table - Format a header and rows into a table

DESCRIPTION
SYNOPSIS
EXPORTS

@rows = table(...)
  header => [ ... ], rows => [ [...], [...], ... ], collapse => $bool, max_width => $num, sanitize => $bool, mark_tail => $bool
my $cols = term_size()

NOTE ON UNICODE/WIDE CHARACTERS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Table::LineBreak - Break up lines for use in tables.

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Times - Format timing/benchmark information.

DESCRIPTION
EXPORTS
  $str = render_bench($start, $end, $user, $system, $cuser, $csystem), $str = render_bench($start, time(), times())
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Util::Trace - Legacy wrapper fro Test2::EventFacet::Trace.

DESCRIPTION
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::V0 - 0Th edition of the Test2 recommended bundle.

DESCRIPTION
NAMING, USING, DEPENDING
SYNOPSIS
RESOLVING CONFLICTS WITH MOOSE

TAGS
  :DEFAULT
RENAMING ON IMPORT
  '!ok', ok => {-as => 'my_ok'}

PRAGMAS

STRICT
WARNINGS
UTF8

PLUGINS

SRAND
UTF8
EXIT SUMMARY

API FUNCTIONS
  $ctx = context(), $events = intercept { ... }
TOOLS

TARGET
  $CLASS, $class = CLASS()
DEFER
  def $func => @args;, do_def()
BASIC
  ok($bool, $name), ok($bool, $name, @diag), pass($name), pass($name, @diag), fail($name), fail($name, @diag), diag($message), note($message), $todo = todo($reason), todo $reason => sub { ... }, skip($reason, $count), plan($count), skip_all($reason), done_testing(), bail_out($reason)
COMPARE
  is($got, $want, $name), isnt($got, $do_not_want, $name), like($got, qr/match/, $name), unlike($got, qr/mismatch/, $name), $check = match(qr/pattern/), $check = mismatch(qr/pattern/), $check = validator(sub { return $bool }), $check = hash { ... }, $check = array { ... }, $check = bag { ... }, $check = object { ... }, $check = meta { ... }, $check = number($num), $check = string($str), $check = bool($bool), $check = check_isa($class_name), $check = in_set(@things), $check = not_in_set(@things), $check = check_set(@things), $check = item($thing), $check = item($idx => $thing), $check = field($name => $val), $check = call($method => $expect), $check = call_list($method => $expect), $check = call_hash($method => $expect), $check = prop($name => $expect), $check = check($thing), $check = T(), $check = F(), $check = D(), $check = DF(), $check = E(), $check = DNE(), $check = FDNE(), $check = U(), $check = L(), $check = exact_ref($ref), end(), etc(), filter_items { grep { ... } @_ }, $check = event $type => .., @checks = fail_events $type => ..
CLASSIC COMPARE
  cmp_ok($got, $op, $want, $name)
SUBTEST
  subtest $name => sub { ... };
CLASS
  can_ok($thing, @methods), isa_ok($thing, @classes), DOES_ok($thing, @roles)
ENCODING
  set_encoding($encoding)
EXPORTS
  imported_ok('function', '$scalar', ...), not_imported_ok('function', '$scalar', ...)
REF
  ref_ok($ref, $type), ref_is($got, $want), ref_is_not($got, $do_not_want), is_refcount($ref, $count, $description), is_oneref($ref, $description), $count = refcount($ref)
MOCK
  $control = mock .., $bool = mocked($thing)
EXCEPTION
  $exception = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }
WARNINGS
  $count = warns { ... }, $warning = warning { ... }, $warnings_ref = warnings { ... }, $bool = no_warnings { ... }

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Workflow - A test workflow is a way of structuring tests using composable units.

DESCRIPTION
IMPORTANT CONCEPTS

BUILD
RUNNER
TASK

EXPORTS
  $parsed = parse_args(args => \@args), $parsed = parse_args(args => \@args, level => $L), $parsed = parse_args(args => \@args, caller => [caller($L)]), $build = init_root($pkg, %args), $build = root_build($pkg), $build = current_build(), $build = build($name, \%params, sub { ... })
SEE ALSO
  Test2::Tools::Spec
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Workflow::BlockBase - Base class for all workflow blocks.

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Workflow::Build - Represents a build in progress.

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Workflow::Runner - Runs the workflows.

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Workflow::Task - Encapsulation of a Task

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Workflow::Task::Action - Encapsulation of an action.

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test2::Workflow::Task::Group - Encapsulation of a group (describe).

SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test::Builder - Backend for building test libraries

SYNOPSIS
DESCRIPTION

Construction
  new, create, subtest, name, reset
Setting up tests
  plan, expected_tests, no_plan, done_testing, has_plan, skip_all, exported_to
Running tests
  ok, is_eq, is_num, isnt_eq, isnt_num, like, unlike, cmp_ok
Other Testing Methods
  BAIL_OUT, skip, todo_skip, skip_rest
Test building utility methods
  maybe_regex, is_fh

Test style
  level, use_numbers, no_diag, no_ending, no_header
Output
  diag, note, explain, output, failure_output, todo_output, reset_outputs, carp, croak
Test Status and Info
  no_log_results, current_test, is_passing, summary, details, todo, find_TODO, in_todo, todo_start, "todo_end", caller
EXIT CODES
THREADS
MEMORY
EXAMPLES
SEE ALSO

INTERNALS
LEGACY
EXTERNAL

AUTHORS
MAINTAINERS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test::Builder::Formatter - Test::Builder subclass of Test2::Formatter::TAP

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test::Builder::IO::Scalar - A copy of IO::Scalar for Test::Builder

DESCRIPTION
COPYRIGHT and LICENSE
Construction

new [ARGS...]

open [SCALARREF]

opened

close

Input and output

flush

getc

getline

getlines

print ARGS..

read BUF, NBYTES, [OFFSET]

write BUF, NBYTES, [OFFSET]

sysread BUF, LEN, [OFFSET]

syswrite BUF, NBYTES, [OFFSET]

Seeking/telling and other attributes

autoflush

binmode

clearerr

eof

seek OFFSET, WHENCE

sysseek OFFSET, WHENCE

tell

     use_RS [YESNO]

setpos POS

getpos

sref

WARNINGS
VERSION
AUTHORS

Primary Maintainer
Principal author
Other contributors

SEE ALSO

## Test::Builder::Module - Base class for test modules

SYNOPSIS
DESCRIPTION

Importing

Builder
SEE ALSO

## Test::Builder::Tester - test testsuites that have been built with Test::Builder

SYNOPSIS
DESCRIPTION
Functions
  test_out, test_err

test_fail

test_diag

test_test, title (synonym 'name', 'label'), skip_out, skip_err

line_num

color

BUGS
AUTHOR
MAINTAINERS
  Chad Granum <exodist@cpan.org>
NOTES
SEE ALSO

## Test::Builder::Tester::Color - turn on colour in Test::Builder::Tester

SYNOPSIS
DESCRIPTION
AUTHOR
BUGS
SEE ALSO

## Test::Builder::TodoDiag - Test::Builder subclass of Test2::Event::Diag

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS
  Chad Granum <exodist@cpan.org>
AUTHORS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test::Harness - Run Perl standard test scripts with statistics

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS

runtests( @test_files )

execute_tests( tests => \@test_files, out => \*FH )
EXPORT
ENVIRONMENT VARIABLES THAT TAP::HARNESS::COMPATIBLE SETS
  "HARNESS_ACTIVE", "HARNESS_VERSION"
ENVIRONMENT VARIABLES THAT AFFECT TEST::HARNESS
  "HARNESS_PERL_SWITCHES", "HARNESS_TIMER", "HARNESS_VERBOSE", "HARNESS_OPTIONS", "j<n>", "c", "a<file.tgz>", "fPackage-With-Dashes", "HARNESS_SUBCLASS", "HARNESS_SUMMARY_COLOR_SUCCESS", "HARNESS_SUMMARY_COLOR_FAIL"
Taint Mode
SEE ALSO
BUGS
AUTHORS
LICENCE AND COPYRIGHT

## Test::More - yet another framework for writing test scripts

SYNOPSIS
DESCRIPTION

I love it when a plan comes together

done_testing

Test names
I'm ok, you're not ok.
  ok

is, isnt

like

unlike

cmp_ok

can_ok

isa_ok

new_ok

subtest

pass, fail

Module tests
  require_ok

use_ok

Complex data structures
  is_deeply
Diagnostics
  diag, note

explain

Conditional tests
  SKIP: BLOCK

TODO: BLOCK, todo_skip

When do I use SKIP vs. TODO?

Test control
  BAIL_OUT
Discouraged comparison functions
  eq_array

eq_hash

eq_set

Extending and Embedding Test::More
  builder
EXIT CODES
COMPATIBILITY
  subtests, done_testing(), cmp_ok(), new_ok() note() and explain()
CAVEATS and NOTES
  utf8 / "Wide character in print", Overloaded objects, Threads
HISTORY
SEE ALSO

ALTERNATIVES
ADDITIONAL LIBRARIES
OTHER COMPONENTS
BUNDLES

AUTHORS
MAINTAINERS
  Chad Granum <exodist@cpan.org>
BUGS
SOURCE
COPYRIGHT

## Test::Simple - Basic utilities for writing tests.

SYNOPSIS
DESCRIPTION
  ok
EXAMPLE
CAVEATS
NOTES
HISTORY
SEE ALSO
  Test::More
AUTHORS
MAINTAINERS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test::Tester - Ease testing test modules built with Test::Builder

SYNOPSIS
DESCRIPTION
HOW TO USE (THE EASY WAY)
HOW TO USE (THE HARD WAY)
TEST RESULTS
  ok, actual_ok, name, type, reason, diag, depth
SPACES AND TABS
COLOUR
EXPORTED FUNCTIONS
HOW IT WORKS
CAVEATS
SEE ALSO
AUTHOR
LICENSE

## Test::Tester::Capture - Help testing test modules built with Test::Builder

DESCRIPTION
AUTHOR
LICENSE

## Test::Tester::CaptureRunner - Help testing test modules built with Test::Builder

DESCRIPTION
AUTHOR
LICENSE

## Test::Tutorial - A tutorial about writing really basic tests

DESCRIPTION

Nuts and bolts of testing.
Where to start?
Names
Test the manual
Sometimes the tests are wrong
Testing lots of values
Informative names
Skipping tests
Todo tests
Testing with taint mode.

FOOTNOTES
AUTHORS
MAINTAINERS
  Chad Granum <exodist@cpan.org>
COPYRIGHT

## Test::use::ok - Alternative to Test::More::use_ok

SYNOPSIS
DESCRIPTION
SEE ALSO
MAINTAINER
  Chad Granum <exodist@cpan.org>
CC0 1.0 Universal

## Text::Abbrev - abbrev - create an abbreviation table from a list

SYNOPSIS
DESCRIPTION
EXAMPLE

## Text::Balanced - Extract delimited text sequences from strings.

SYNOPSIS
DESCRIPTION

General Behaviour in List Contexts
  [0], [1], [2]
General Behaviour in Scalar and Void Contexts
A Note About Prefixes
Functions
  "extract_delimited", "extract_bracketed", "extract_variable", [0], [1], [2], "extract_tagged", "reject => $listref", ignore => $listref, "fail => $str", [0], [1], [2], [3], [4], [5], "gen_extract_tagged", "extract_quotelike", [0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], "extract_quotelike", [0], [1], [2], [3], [4], [5], [6], [7..10], "extract_codeblock", "extract_multiple", "gen_delimited_pat", "delimited_pat"

DIAGNOSTICS

       C<Did not find a suitable bracket: "%s">,  C<Did not find prefix: /%s/>,
      C<Did not find opening bracket after prefix: "%s">,  C<No quotelike
      operator found after prefix: "%s">,  C<Unmatched closing bracket: "%c">,
      C<Unmatched opening bracket(s): "%s">, C<Unmatched embedded quote (%s)>,
      C<Did not find closing delimiter to match '%s'>,  C<Mismatched closing
      bracket: expected "%c" but found "%s">,  C<No block delimiter found after
      quotelike "%s">, C<Did not find leading dereferencer>, C<Bad identifier
      after dereferencer>, C<Did not find expected opening bracket at %s>,
      C<Improperly nested codeblock at %s>,  C<Missing second block for quotelike
      "%s">, C<No match found for opening bracket>, C<Did not find opening tag:
      /%s/>, C<Unable to construct closing tag to match: /%s/>, C<Found invalid
      nested tag: %s>, C<Found unbalanced nested tag: %s>, C<Did not find closing
      tag>

EXPORTS
  Default Exports, Optional Exports, Export Tags, ":ALL"
KNOWN BUGS
FEEDBACK
AVAILABILITY
INSTALLATION
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

## Text::ParseWords - parse text into an array of tokens or array of arrays

SYNOPSIS
DESCRIPTION
  true, false, "delimiters"
EXAMPLES
  0, 1, 2, 3, 4, 5
SEE ALSO
AUTHORS
COPYRIGHT AND LICENSE

## Text::Tabs - expand and unexpand tabs like unix expand(1) and unexpand(1)

SYNOPSIS
DESCRIPTION
EXPORTS
  expand, unexpand, $tabstop
EXAMPLE
BUGS
LICENSE

## Text::Wrap - line wrapping to form simple paragraphs

SYNOPSIS
DESCRIPTION
OVERRIDES
EXAMPLES
SEE ALSO
AUTHOR
LICENSE

## Thread - Manipulate threads in Perl (for old code only)

DEPRECATED
HISTORY
SYNOPSIS
DESCRIPTION
FUNCTIONS
  $thread = Thread->new(\&start_sub), $thread = Thread->new(\&start_sub, LIST), lock VARIABLE, async BLOCK;, Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE, cond_broadcast VARIABLE, yield
METHODS
  join, detach, equal, tid, done
DEFUNCT
  lock(\&sub), eval, flags
SEE ALSO

## Thread::Queue - Thread-safe queues

VERSION
SYNOPSIS
DESCRIPTION
  Ordinary scalars, Array refs, Hash refs, Scalar refs, Objects based on the above
QUEUE CREATION
  ->new(), ->new(LIST)
BASIC METHODS
  ->enqueue(LIST), ->dequeue(), ->dequeue(COUNT), ->dequeue_nb(), ->dequeue_nb(COUNT), ->dequeue_timed(TIMEOUT), ->dequeue_timed(TIMEOUT, COUNT), ->pending(), ->limit, ->end()
ADVANCED METHODS
  ->peek(), ->peek(INDEX), ->insert(INDEX, LIST), ->extract(), ->extract(INDEX), ->extract(INDEX, COUNT)
NOTES
LIMITATIONS
SEE ALSO
MAINTAINER
LICENSE

## Thread::Semaphore - Thread-safe semaphores

VERSION
SYNOPSIS
DESCRIPTION
METHODS
  ->new(), ->new(NUMBER), ->down(), ->down(NUMBER), ->down_nb(), ->down_nb(NUMBER), ->down_force(), ->down_force(NUMBER), ->down_timed(TIMEOUT), ->down_timed(TIMEOUT, NUMBER), ->up(), ->up(NUMBER)
NOTES
SEE ALSO
MAINTAINER
LICENSE

## Tie::Array - base class for tied arrays

SYNOPSIS
DESCRIPTION
  TIEARRAY classname, LIST, STORE this, index, value, FETCH this, index, FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this, key, DELETE this, key, CLEAR this, DESTROY this, PUSH this, LIST, POP this, SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST
CAVEATS
AUTHOR

## Tie::File - Access the lines of a disk file via a Perl array

SYNOPSIS
DESCRIPTION

"unicode"
"recsep"
"autochomp"
"mode"
"memory"
"dw_size"
Option Format

Public Methods

"flock"
"autochomp"
"defer", "flush", "discard", and "autodefer"
"offset"

Tying to an already-opened filehandle
Deferred Writing

Autodeferring

CONCURRENT ACCESS TO FILES
CAVEATS
SUBCLASSING
WHAT ABOUT "DB_File"?
AUTHOR
LICENSE
WARRANTY
THANKS
TODO

## Tie::Handle - base class definitions for tied handles

SYNOPSIS
DESCRIPTION
  TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this, LIST, PRINTF this, format, LIST, READ this, scalar, length, offset, READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this, EOF this, TELL this, SEEK this, offset, whence, DESTROY this
MORE INFORMATION
COMPATIBILITY

## Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for tied hashes

SYNOPSIS
DESCRIPTION
  TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this, SCALAR this
Inheriting from Tie::StdHash
Inheriting from Tie::ExtraHash
"SCALAR", "UNTIE" and "DESTROY"
MORE INFORMATION

## Tie::Hash::NamedCapture - Named regexp capture buffers

SYNOPSIS
DESCRIPTION
SEE ALSO

## Tie::Memoize - add data to hash when needed

SYNOPSIS
DESCRIPTION
Inheriting from Tie::Memoize
EXAMPLE
BUGS
AUTHOR

## Tie::RefHash - Use references as hash keys

VERSION
SYNOPSIS
DESCRIPTION
EXAMPLE
THREAD SUPPORT
STORABLE SUPPORT
SEE ALSO
SUPPORT
AUTHORS
CONTRIBUTORS
COPYRIGHT AND LICENCE

## Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars

SYNOPSIS
DESCRIPTION
  TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this

Tie::Scalar vs Tie::StdScalar

MORE INFORMATION

## Tie::StdHandle - base class definitions for tied handles

SYNOPSIS
DESCRIPTION

## Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing

SYNOPSIS
DESCRIPTION
CAVEATS

## Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers

SYNOPSIS
DESCRIPTION
  gettimeofday (), usleep ( $useconds ), nanosleep ( $nanoseconds ), ualarm ( $useconds [, $interval_useconds ] ), tv_interval, time (), sleep ( $floating_seconds ), alarm ( $floating_seconds [, $interval_floating_seconds ] ), setitimer ( $which, $floating_seconds [, $interval_floating_seconds ] ), getitimer ( $which ), clock_gettime ( $which ), clock_getres ( $which ), clock_nanosleep ( $which, $nanoseconds, $flags = 0), clock(), stat, stat FH, stat EXPR, lstat, lstat FH, lstat EXPR, utime LIST
EXAMPLES
C API
DIAGNOSTICS

useconds or interval more than ...
negative time not invented yet
internal error: useconds < 0 (unsigned ... signed ...)
useconds or uinterval equal to or more than 1000000
unimplemented in this platform

CAVEATS
SEE ALSO
AUTHORS
COPYRIGHT AND LICENSE

## Time::Local - Efficiently compute time from local and GMT time

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS

timelocal_posix() and timegm_posix()
timelocal_modern() and timegm_modern()
timelocal() and timegm()
timelocal_nocheck() and timegm_nocheck()
Year Value Interpretation
Limits of time_t
Ambiguous Local Times (DST)
Non-Existent Local Times (DST)
Negative Epoch Values

IMPLEMENTATION
AUTHORS EMERITUS
BUGS
SOURCE
AUTHOR
CONTRIBUTORS
COPYRIGHT AND LICENSE

## Time::Piece - Object Oriented time objects

SYNOPSIS
DESCRIPTION
USAGE

Local Locales
Date Calculations
Truncation
Date Comparisons
Date Parsing
YYYY-MM-DDThh:mm:ss
Week Number
Global Overriding

CAVEATS

Setting $ENV{TZ} in Threads on Win32
Use of epoch seconds

AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO
BUGS

## Time::Seconds - a simple API to convert seconds to other date values

SYNOPSIS
DESCRIPTION
METHODS
AUTHOR
COPYRIGHT AND LICENSE
Bugs

## Time::gmtime - by-name interface to Perl's built-in gmtime() function

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## Time::localtime - by-name interface to Perl's built-in localtime() function

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## Time::tm - internal object used by Time::gmtime and Time::localtime

SYNOPSIS
DESCRIPTION
AUTHOR

## UNIVERSAL - base class for ALL classes (blessed references)

SYNOPSIS
DESCRIPTION
  "$obj->isa( TYPE )", "CLASS->isa( TYPE )", "eval { VAL->isa( TYPE ) }", "TYPE", $obj, "CLASS", "VAL", "$obj->DOES( ROLE )", "CLASS->DOES( ROLE )", "$obj->can( METHOD )", "CLASS->can( METHOD )", "eval { VAL->can( METHOD ) }", "VERSION ( [ REQUIRE ] )"
WARNINGS
EXPORTS

## Unicode::Collate - Unicode Collation Algorithm

SYNOPSIS
DESCRIPTION

Constructor and Tailoring
  UCA_Version, alternate, backwards, entry, hangul_terminator, highestFFFF, identical, ignoreChar, ignoreName, ignore_level2, katakana_before_hiragana, level, long_contraction, minimalFFFE, normalization, overrideCJK, overrideHangul, overrideOut, preprocess, rearrange, rewrite, suppress, table, undefChar, undefName, upper_before_lower, variable
Methods for Collation
  "@sorted = $Collator->sort(@not_sorted)", "$result = $Collator->cmp($a, $b)", "$result = $Collator->eq($a, $b)", "$result = $Collator->ne($a, $b)", "$result = $Collator->lt($a, $b)", "$result = $Collator->le($a, $b)", "$result = $Collator->gt($a, $b)", "$result = $Collator->ge($a, $b)", "$sortKey = $Collator->getSortKey($string)", "$sortKeyForm = $Collator->viewSortKey($string)"
Methods for Searching
  "$position = $Collator->index($string, $substring[, $position])", "($position, $length) = $Collator->index($string, $substring[, $position])", "$match_ref = $Collator->match($string, $substring)", "($match) = $Collator->match($string, $substring)", "@match = $Collator->gmatch($string, $substring)", "$count = $Collator->subst($string, $substring, $replacement)", "$count = $Collator->gsubst($string, $substring, $replacement)"
Other Methods
  "%old_tailoring = $Collator->change(%new_tailoring)", "$modified_collator = $Collator->change(%new_tailoring)", "$version = $Collator->version()", UCA_Version(), Base_Unicode_Version()

EXPORT
INSTALL
CAVEATS
  Normalization, Conformance Test
AUTHOR, COPYRIGHT AND LICENSE
SEE ALSO
  Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), The conformance test for the UCA, Hangul Syllable Type, Unicode Normalization Forms - UAX #15, Unicode Locale Data Markup Language (LDML) - UTS #35

## Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO
  CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

## Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
  CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

## Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO
  Unicode::Collate, Unicode::Collate::Locale

## Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO
  CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

## Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
  CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

## Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
  CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

## Unicode::Collate::CJK::Zhuyin - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
  CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

## Unicode::Collate::Locale - Linguistic tailoring for DUCET via Unicode::Collate

SYNOPSIS
DESCRIPTION

Constructor
Methods
  "$Collator->getlocale", "$Collator->locale_version"
A list of tailorable locales
A list of variant codes and their aliases

INSTALL
CAVEAT
  Tailoring is not maximum, Collation reordering is not supported

Reference

AUTHOR
SEE ALSO
  Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), Unicode Locale Data Markup Language (LDML) - UTS #35, CLDR - Unicode Common Locale Data Repository, Unicode::Collate, Unicode::Normalize

## Unicode::Normalize - Unicode Normalization Forms

SYNOPSIS
DESCRIPTION

Normalization Forms
  "$NFD_string = NFD($string)", "$NFC_string = NFC($string)", "$NFKD_string = NFKD($string)", "$NFKC_string = NFKC($string)", "$FCD_string = FCD($string)", "$FCC_string = FCC($string)", "$normalized_string = normalize($form_name, $string)"
Decomposition and Composition
  "$decomposed_string = decompose($string [, $useCompatMapping])", "$reordered_string = reorder($string)", $composed_string = compose($string), ($processed, $unprocessed) = splitOnLastStarter($normalized), "$processed = normalize_partial($form, $unprocessed)", "$processed = NFD_partial($unprocessed)", $processed = NFC_partial($unprocessed), "$processed = NFKD_partial($unprocessed)", "$processed = NFKC_partial($unprocessed)"
Quick Check
  "$result = checkNFD($string)", "$result = checkNFC($string)", $result = checkNFKD($string), "$result = checkNFKC($string)", $result = checkFCD($string), "$result = checkFCC($string)", "$result = check($form_name, $string)"
Character Data
  "$canonical_decomposition = getCanon($code_point)", "$compatibility_decomposition = getCompat($code_point)", "$code_point_composite = getComposite($code_point_here, $code_point_next)", "$combining_class = getCombinClass($code_point)", "$may_be_composed_with_prev_char = isComp2nd($code_point)", "$is_exclusion = isExclusion($code_point)", $is_singleton = isSingleton($code_point), $is_non_starter_decomposition = isNonStDecomp($code_point), $is_Full_Composition_Exclusion = isComp_Ex($code_point), "$NFD_is_NO = isNFD_NO($code_point)", "$NFC_is_NO = isNFC_NO($code_point)", $NFC_is_MAYBE = isNFC_MAYBE($code_point), "$NFKD_is_NO = isNFKD_NO($code_point)", "$NFKC_is_NO = isNFKC_NO($code_point)", $NFKC_is_MAYBE = isNFKC_MAYBE($code_point)

EXPORT
CAVEATS
  Perl's version vs. Unicode version, Correction of decomposition mapping, Revised definition of canonical composition
AUTHOR
LICENSE
SEE ALSO
  <http://www.unicode.org/reports/tr15/>, <http://www.unicode.org/Public/UNIDATA/CompositionExclusions.txt>, <http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt>, <http://www.unicode.org/Public/UNIDATA/NormalizationCorrections.txt>, <http://www.unicode.org/review/pr-29.html>, <http://www.unicode.org/notes/tn5/>

## Unicode::UCD - Unicode character database

SYNOPSIS
DESCRIPTION

code point argument

charinfo()
  code, name, category, combining, bidi, decomposition, decimal, digit, numeric, mirrored, unicode10, comment, upper, lower, title, block, script
charprop()
  Block, Decomposition_Mapping, Name_Alias, Numeric_Value, Script_Extensions
charprops_all()
charblock()
charscript()
charblocks()
charscripts()
charinrange()
general_categories()
bidi_types()
compexcl()
casefold()
  code, full, simple, mapping, status, * If you use this "I" mapping, * If you exclude this "I" mapping, turkic
all_casefolds()
casespec()
  code, lower, title, upper, condition
namedseq()
num()
prop_aliases()
prop_values()
prop_value_aliases()
prop_invlist()
prop_invmap()
  "s", "sl", "correction", "control", "alternate", "figment", "abbreviation", "a", "al", "ae", "ale", "ar", "n", "ad"
search_invlist()
Unicode::UCD::UnicodeVersion
Blocks versus Scripts
Matching Scripts and Blocks
Old-style versus new-style block names
Use with older Unicode versions
AUTHOR

## User::grent - by-name interface to Perl's built-in getgr*() functions

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

## User::pwent - by-name interface to Perl's built-in getpw*() functions

SYNOPSIS
DESCRIPTION

System Specifics

NOTE
AUTHOR
HISTORY
  March 18th, 2000

## XSLoader - Dynamically load C libraries into Perl code

VERSION
SYNOPSIS
DESCRIPTION

Migration from "DynaLoader"
Backward compatible boilerplate

Order of initialization: early load()

The most hairy case

DIAGNOSTICS
  "Can't find '%s' symbol in %s", "Can't load '%s' for module %s: %s", "Undefined symbols present after loading %s: %s"
LIMITATIONS
KNOWN BUGS
BUGS
SEE ALSO
AUTHORS
COPYRIGHT & LICENSE

# AUXILIARY DOCUMENTATION

Here should be listed all the extra programs' documentation, but they don't all have manual pages yet:

h2ph
h2xs
perlbug
pl2pm
pod2html
pod2man
splain
xsubpp

# AUTHOR

Larry Wall <larry@wall.org>, with the help of oodles of other folks.

2025-10-12 | perl v5.40.1