
# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
# This file is autogenerated by buildtoc from all the other pods.
# Edit those files and run pod/buildtoc to effect changes.

=encoding UTF-8

=head1 NAME

perltoc - perl documentation table of contents

=head1 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.

=head1 BASIC DOCUMENTATION

=head2 perl - The Perl 5 language interpreter

=over 4

=item SYNOPSIS

=item GETTING HELP

=over 4

=item Overview

=item Tutorials

=item Reference Manual

=item Internals and C Language Interface

=item History

=item Miscellaneous

=item Language-Specific

=item Platform-Specific

=item Stubs for Deleted Documents

=back

=item DESCRIPTION

=item AVAILABILITY

=item ENVIRONMENT

=item AUTHOR

=item FILES

=item SEE ALSO

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

=item DIAGNOSTICS

=item BUGS

=item NOTES

=back

=head2 perlintro - a brief introduction and overview of Perl

=over 4

=item DESCRIPTION

=over 4

=item What is Perl?

=item Running Perl programs

=item Safety net

=item Basic syntax overview

=item Perl variable types

Scalars, Arrays, Hashes

=item Variable scoping

=item Conditional and looping constructs

if, while, for, foreach

=item Builtin operators and functions

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

=item Files and I/O

=item Regular expressions

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

=item Writing subroutines

=item OO Perl

=item Using Perl modules

=back

=item AUTHOR

=back

=head2 perlrun - how to execute the Perl interpreter

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item #! and quoting on non-Unix systems
X<hashbang> X<#!>

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

=item Location of Perl
X<perl, location of interpreter>

=item Command Switches
X<perl, command switches> X<command switches>

B<-0>[I<octal/hexadecimal>] X<-0> X<$/>, B<-a> X<-a> X<autosplit>, B<-C
[I<number/list>]> X<-C>, B<-c> X<-c>, B<-d> X<-d> X<-dt>, B<-dt>,
B<-d:>I<MOD[=bar,baz]> X<-d> X<-dt>, B<-dt:>I<MOD[=bar,baz]>,
B<-D>I<letters> X<-D> X<DEBUGGING> X<-DDEBUGGING>, B<-D>I<number>, B<-e>
I<commandline> X<-e>, B<-E> I<commandline> X<-E>, B<-f> X<-f>
X<sitecustomize> X<sitecustomize.pl>, B<-F>I<pattern> X<-F>, B<-g> X<-g>,
B<-h> X<-h>, B<-?> X<-?>, B<-i>[I<extension>] X<-i> X<in-place>,
B<-I>I<directory> X<-I> X<@INC>, B<-l>[I<octnum>] X<-l> X<$/> X<$\>,
B<-m>[B<->]I<module> X<-m> X<-M>, B<-M>[B<->]I<module>,
B<-M>[B<->]I<'module ...'>, B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n>
X<-n>, B<-p> X<-p>, B<-s> X<-s>, B<-S> X<-S>, B<-t> X<-t>, B<-T> X<-T>,
B<-u> X<-u>, B<-U> X<-U>, B<-v> X<-v>, B<-V> X<-V>, B<-V:>I<configvar>,
B<-w> X<-w>, B<-W> X<-W>, B<-X> X<-X>, B<-x> X<-x>, B<-x>I<directory>

=back

=item ENVIRONMENT
X<perl, environment variables>

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

=item 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

=back

=head2 perlreftut - Mark's very short tutorial about references

=over 4

=item DESCRIPTION

=item Who Needs Complicated Data Structures?

=item The Solution

=item Syntax

=over 4

=item Making References

=item Using References

=item An Example

=item Arrow Rule

=back

=item Solution

=item The Rest

=item Summary

=item Credits

=over 4

=item Distribution Conditions

=back

=back

=head2 perldsc - Perl Data Structures Cookbook

=over 4

=item DESCRIPTION

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

=item REFERENCES
X<reference> X<dereference> X<dereferencing> X<pointer>

=item COMMON MISTAKES

=item CAVEAT ON PRECEDENCE
X<dereference, precedence> X<dereferencing, precedence>

=item WHY YOU SHOULD ALWAYS C<use VERSION>

=item DEBUGGING
X<data structure, debugging> X<complex data structure, debugging>
X<AoA, debugging> X<HoA, debugging> X<AoH, debugging> X<HoH, debugging>
X<array of arrays, debugging> X<hash of arrays, debugging>
X<array of hashes, debugging> X<hash of hashes, debugging>

=item CODE EXAMPLES

=item ARRAYS OF ARRAYS
X<array of arrays> X<AoA>

=over 4

=item Declaration of an ARRAY OF ARRAYS

=item Generation of an ARRAY OF ARRAYS

=item Access and Printing of an ARRAY OF ARRAYS

=back

=item HASHES OF ARRAYS
X<hash of arrays> X<HoA>

=over 4

=item Declaration of a HASH OF ARRAYS

=item Generation of a HASH OF ARRAYS

=item Access and Printing of a HASH OF ARRAYS

=back

=item ARRAYS OF HASHES
X<array of hashes> X<AoH>

=over 4

=item Declaration of an ARRAY OF HASHES

=item Generation of an ARRAY OF HASHES

=item Access and Printing of an ARRAY OF HASHES

=back

=item HASHES OF HASHES
X<hash of hashes> X<HoH>

=over 4

=item Declaration of a HASH OF HASHES

=item Generation of a HASH OF HASHES

=item Access and Printing of a HASH OF HASHES

=back

=item MORE ELABORATE RECORDS
X<record> X<structure> X<struct>

=over 4

=item Declaration of MORE ELABORATE RECORDS

=item Declaration of a HASH OF COMPLEX RECORDS

=item Generation of a HASH OF COMPLEX RECORDS

=back

=item Database Ties

=item SEE ALSO

=item AUTHOR

=back

=head2 perllol - Manipulating Arrays of Arrays in Perl

=over 4

=item DESCRIPTION

=over 4

=item Declaration and Access of Arrays of Arrays

=item Growing Your Own

=item Access and Printing

=item Slices

=back

=item SEE ALSO

=item AUTHOR

=back

=head2 perlrequick - Perl regular expressions quick start

=over 4

=item DESCRIPTION

=item The Guide

=over 4

=item Simple word matching

=item Using character classes

=item Matching this or that

=item Grouping things and hierarchical matching

=item Extracting matches

=item Matching repetitions

=item More matching

=item Search and replace

=item The split operator

=item C<use re 'strict'>

=back

=item BUGS

=item SEE ALSO

=item AUTHOR AND COPYRIGHT

=over 4

=item Acknowledgments

=back

=back

=head2 perlretut - Perl regular expressions tutorial

=over 4

=item DESCRIPTION

=item Part 1: The basics

=over 4

=item Simple word matching

=item Using character classes

=item Matching this or that

=item Grouping things and hierarchical matching

=item Extracting matches

=item Backreferences

=item Relative backreferences

=item Named backreferences

=item Alternative capture group numbering

=item Position information

=item Non-capturing groupings

=item Matching repetitions

=item Possessive quantifiers

=item Building a regexp

=item Using regular expressions in Perl

=back

=item Part 2: Power tools

=over 4

=item More on characters, strings, and character classes

=item Compiling and saving regular expressions

=item Composing regular expressions at runtime

=item Embedding comments and modifiers in a regular expression

=item Looking ahead and looking behind

=item Using independent subexpressions to prevent backtracking

=item Conditional expressions

=item Defining named patterns

=item Recursive patterns

=item A bit of magic: executing Perl code in a regular expression

=item Backtracking control verbs

=item Pragmas and debugging

=back

=item SEE ALSO

=item AUTHOR AND COPYRIGHT

=over 4

=item Acknowledgments

=back

=back

=head2 perlootut - Object-Oriented Programming in Perl Tutorial

=over 4

=item DATE

=item DESCRIPTION

=item OBJECT-ORIENTED FUNDAMENTALS

=over 4

=item Object

=item Class

=item Methods

=item Attributes

=item Polymorphism

=item Inheritance

=item Encapsulation

=item Composition

=item Roles

=item When to Use OO

=back

=item PERL OO SYSTEMS

=over 4

=item Moose

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

=item Class::Accessor

=item Class::Tiny

=item Role::Tiny

=item OO System Summary

L<Moose>, L<Class::Accessor>, L<Class::Tiny>, L<Role::Tiny>

=item Other OO Systems

=back

=item CONCLUSION

=back

=head2 perlperf - Perl Performance and Optimization Techniques

=over 4

=item DESCRIPTION

=item OVERVIEW

=over 4

=item ONE STEP SIDEWAYS

=item ONE STEP FORWARD

=item ANOTHER STEP SIDEWAYS

=back

=item GENERAL GUIDELINES

=item BENCHMARKS

=over 4

=item  Assigning and Dereferencing Variables

=item  Search and replace or tr

=back

=item PROFILING TOOLS

=over 4

=item Devel::DProf

=item Devel::Profiler

=item Devel::SmallProf

=item Devel::FastProf

=item Devel::NYTProf

=back

=item  SORTING

Elapsed Real Time, User CPU Time, System CPU Time

=item LOGGING

=over 4

=item  Logging if DEBUG (constant)

=back

=item POSTSCRIPT

=item SEE ALSO

=over 4

=item PERLDOCS

=item MAN PAGES

=item MODULES

=item URLS

=back

=item AUTHOR

=back

=head2 perlstyle - Perl style guide

=over 4

=item DESCRIPTION

=back

=head2 perlcheat - Perl 5 Cheat Sheet

=over 4

=item DESCRIPTION

=over 4

=item The sheet

=back

=item ACKNOWLEDGEMENTS

=item AUTHOR

=item SEE ALSO

=back

=head2 perltrap - Perl traps for the unwary

=over 4

=item DESCRIPTION

=over 4

=item Awk Traps

=item C/C++ Traps

=item JavaScript Traps

=item Sed Traps

=item Shell Traps

=item Perl Traps

=back

=back

=head2 perldebtut - Perl debugging tutorial

=over 4

=item DESCRIPTION

=item use strict

=item Looking at data and -w and v

=item help

=item Stepping through code

=item Placeholder for a, w, t, T

=item REGULAR EXPRESSIONS

=item OUTPUT TIPS

=item CGI

=item GUIs

=item SUMMARY

=item SEE ALSO

=item AUTHOR

=item CONTRIBUTORS

=back

=head2 perlfaq - Frequently asked questions about Perl

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item Where to find the perlfaq

=item How to use the perlfaq

=item How to contribute to the perlfaq

=item What if my question isn't answered in the FAQ?

=back

=item 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

=item THE QUESTIONS

=over 4

=item L<perlfaq1>: General Questions About Perl

=item L<perlfaq2>: Obtaining and Learning about Perl

=item L<perlfaq3>: Programming Tools

=item L<perlfaq4>: Data Manipulation

=item L<perlfaq5>: Files and Formats

=item L<perlfaq6>: Regular Expressions

=item L<perlfaq7>: General Perl Language Issues

=item L<perlfaq8>: System Interaction

=item L<perlfaq9>: Web, Email and Networking

=back

=item CREDITS

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq1 - General Questions About Perl

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item What is Perl?

=item Who supports Perl? Who develops it? Why is it free?

=item Which version of Perl should I use?

=item What is Raku (Perl 6)?

=item How stable is Perl?

=item How often are new versions of Perl released?

=item Is Perl difficult to learn?

=item How does Perl compare with other languages like Java, Python, REXX,
Scheme, or Tcl?

=item Can I do [task] in Perl?

=item When shouldn't I program in Perl?

=item What's the difference between "perl" and "Perl"?

=item What is a JAPH?

=item How can I convince others to use Perl?

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

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq2 - Obtaining and Learning about Perl

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item What machines support Perl? Where do I get it?

=item How can I get a binary version of Perl?

=item I don't have a C compiler. How can I build my own Perl interpreter?

=item I copied the Perl binary from one machine to another, but scripts
don't work.

=item I grabbed the sources and tried to compile but gdbm/dynamic
loading/malloc/linking/... failed. How do I make it work?

=item What modules and extensions are available for Perl? What is CPAN?

=item Where can I get information on Perl?

L<http://www.perl.org/>, L<http://perldoc.perl.org/>,
L<http://learn.perl.org/>

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

L<http://www.perl.org/>, L<http://learn.perl.org/>,
L<http://jobs.perl.org/>, L<http://lists.perl.org/>

=item Where can I post questions?

=item Perl Books

=item Which magazines have Perl content?

=item Which Perl blogs should I read?

=item What mailing lists are there for Perl?

=item Where can I buy a commercial version of Perl?

=item Where do I send bug reports?

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq3 - Programming Tools

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item How do I do (anything)?

Basics, L<perldata> - Perl data types, L<perlvar> - Perl pre-defined
variables, L<perlsyn> - Perl syntax, L<perlop> - Perl operators and
precedence, L<perlsub> - Perl subroutines, Execution, L<perlrun> - how to
execute the Perl interpreter, L<perldebug> - Perl debugging, Functions,
L<perlfunc> - Perl builtin functions, Objects, L<perlref> - Perl references
and nested data structures, L<perlmod> - Perl modules (packages and symbol
tables), L<perlobj> - Perl objects, L<perltie> - how to hide an object
class in a simple variable, Data Structures, L<perlref> - Perl references
and nested data structures, L<perllol> - Manipulating arrays of arrays in
Perl, L<perldsc> - Perl Data Structures Cookbook, Modules, L<perlmod> -
Perl modules (packages and symbol tables), L<perlmodlib> - constructing new
Perl modules and finding existing ones, Regexes, L<perlre> - Perl regular
expressions, L<perlfunc> - Perl builtin functions, L<perlop> - Perl
operators and precedence, L<perllocale> - Perl locale handling
(internationalization and localization), Moving to perl5, L<perltrap> -
Perl traps for the unwary, L<perl>, Linking with C, L<perlxstut> - Tutorial
for writing XSUBs, L<perlxs> - XS language reference manual, L<perlcall> -
Perl calling conventions from C, L<perlguts> - Introduction to the Perl
API, L<perlembed> - how to embed perl in your C program, Various

=item How can I use Perl interactively?

=item How do I find which modules are installed on my system?

=item How do I debug my Perl programs?

=item How do I profile my Perl programs?

=item How do I cross-reference my Perl programs?

=item Is there a pretty-printer (formatter) for Perl?

=item 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

=item Where can I get Perl macros for vi?

=item Where can I get perl-mode or cperl-mode for emacs?
X<emacs>

=item How can I use curses with Perl?

=item How can I write a GUI (X, Tk, Gtk, etc.) in Perl?
X<GUI> X<Tk> X<Wx> X<WxWidgets> X<Gtk> X<Gtk2> X<CamelBones> X<Qt>

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

=item How can I make my Perl program run faster?

=item 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

=item Is it safe to return a reference to local or lexical data?

=item How can I free an array or hash so my program shrinks?

=item How can I make my CGI script more efficient?

=item How can I hide the source for my Perl program?

=item How can I compile my Perl program into byte code or C?

=item How can I get C<#!perl> to work on [MS-DOS,NT,...]?

=item Can I write useful Perl programs on the command line?

=item Why don't Perl one-liners work on my DOS/Mac/VMS system?

=item Where can I learn about CGI or Web programming in Perl?

=item Where can I learn about object-oriented Perl programming?

=item Where can I learn about linking C with Perl?

=item I've read perlembed, perlguts, etc., but I can't embed perl in my C
program; what am I doing wrong?

=item When I tried to run my script, I got this message. What does it mean?

=item What's MakeMaker?

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq4 - Data Manipulation

=over 4

=item VERSION

=item DESCRIPTION

=item Data: Numbers

=over 4

=item Why am I getting long decimals (eg, 19.9499999999999) instead of the
numbers I should be getting (eg, 19.95)?

=item Why is int() broken?

=item Why isn't my octal data interpreted correctly?

=item Does Perl have a round() function? What about ceil() and floor()?
Trig functions?

=item 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

=item Why doesn't & work the way I want it to?

=item How do I multiply matrices?

=item How do I perform an operation on a series of integers?

=item How can I output Roman numerals?

=item Why aren't my random numbers random?

=item How do I get a random number between X and Y?

=back

=item Data: Dates

=over 4

=item How do I find the day or week of the year?

=item How do I find the current century or millennium?

=item How can I compare two dates and find the difference?

=item How can I take a string and turn it into epoch seconds?

=item How can I find the Julian Day?

=item How do I find yesterday's date?
X<date> X<yesterday> X<DateTime> X<Date::Calc> X<Time::Local>
X<daylight saving time> X<day> X<Today_and_Now> X<localtime>
X<timelocal>

=item Does Perl have a Year 2000 or 2038 problem? Is Perl Y2K compliant?

=back

=item Data: Strings

=over 4

=item How do I validate input?

=item How do I unescape a string?

=item How do I remove consecutive pairs of characters?

=item How do I expand function calls in a string?

=item How do I find matching/nesting anything?

=item How do I reverse a string?

=item How do I expand tabs in a string?

=item How do I reformat a paragraph?

=item How can I access or change N characters of a string?

=item How do I change the Nth occurrence of something?

=item How can I count the number of occurrences of a substring within a
string?

=item How do I capitalize all the words on one line?
X<Text::Autoformat> X<capitalize> X<case, title> X<case, sentence>

=item How can I split a [character]-delimited string except when inside
[character]?

=item How do I strip blank space from the beginning/end of a string?

=item How do I pad a string with blanks or pad a number with zeroes?

=item How do I extract selected columns from a string?

=item How do I find the soundex value of a string?

=item How can I expand variables in text strings?

=item Does Perl have anything like Ruby's #{} or Python's f string?

=item What's wrong with always quoting "$vars"?

=item Why don't my E<lt>E<lt>HERE documents work?

There must be no space after the E<lt>E<lt> 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

=back

=item Data: Arrays

=over 4

=item What is the difference between a list and an array?

=item What is the difference between $array[1] and @array[1]?

=item How can I remove duplicate elements from a list or array?

=item How can I tell whether a certain element is contained in a list or
array?

=item How do I compute the difference of two arrays? How do I compute the
intersection of two arrays?

=item How do I test whether two arrays or hashes are equal?

=item How do I find the first array element for which a condition is true?

=item How do I handle linked lists?

=item How do I handle circular lists?
X<circular> X<array> X<Tie::Cycle> X<Array::Iterator::Circular>
X<cycle> X<modulus>

=item How do I shuffle an array randomly?

=item How do I process/modify each element of an array?

=item How do I select a random element from an array?

=item How do I permute N elements of a list?
X<List::Permutor> X<permute> X<Algorithm::Loops> X<Knuth>
X<The Art of Computer Programming> X<Fischer-Krause>

=item How do I sort an array by (anything)?

=item How do I manipulate arrays of bits?

=item Why does defined() return true on empty arrays and hashes?

=back

=item Data: Hashes (Associative Arrays)

=over 4

=item How do I process an entire hash?

=item How do I merge two hashes?
X<hash> X<merge> X<slice, hash>

=item What happens if I add or remove keys from a hash while iterating over
it?

=item How do I look up a hash element by value?

=item How can I know how many entries are in a hash?

=item How do I sort a hash (optionally by value instead of key)?

=item How can I always keep my hash sorted?
X<hash tie sort DB_File Tie::IxHash>

=item What's the difference between "delete" and "undef" with hashes?

=item Why don't my tied hashes make the defined/exists distinction?

=item How do I reset an each() operation part-way through?

=item How can I get the unique keys from two hashes?

=item How can I store a multidimensional array in a DBM file?

=item How can I make my hash remember the order I put elements into it?

=item Why does passing a subroutine an undefined element in a hash create
it?

=item How can I make the Perl equivalent of a C structure/C++ class/hash or
array of hashes or arrays?

=item How can I use a reference as a hash key?

=item How can I check if a key exists in a multilevel hash?

=item How can I prevent addition of unwanted keys into a hash?

=back

=item Data: Misc

=over 4

=item How do I handle binary data correctly?

=item How do I determine whether a scalar is a number/whole/integer/float?

=item How do I keep persistent data across program calls?

=item How do I print out or copy a recursive data structure?

=item How do I define methods for every class/object?

=item How do I verify a credit card checksum?

=item How do I pack arrays of doubles or floats for XS code?

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq5 - Files and Formats

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item How do I flush/unbuffer an output filehandle? Why must I do this?
X<flush> X<buffer> X<unbuffer> X<autoflush>

=item How do I change, delete, or insert a line in a file, or append to the
beginning of a file?
X<file, editing>

=item How do I count the number of lines in a file?
X<file, counting lines> X<lines> X<line>

=item How do I delete the last N lines from a file?
X<lines> X<file>

=item How can I use Perl's C<-i> option from within a program?
X<-i> X<in-place>

=item How can I copy a file?
X<copy> X<file, copy> X<File::Copy>

=item How do I make a temporary file name?
X<file, temporary>

=item How can I manipulate fixed-record-length files?
X<fixed-length> X<file, fixed-length records>

=item 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?
X<filehandle, local> X<filehandle, passing> X<filehandle, reference>

=item How can I use a filehandle indirectly?
X<filehandle, indirect>

=item How can I open a filehandle to a string?
X<string> X<open> X<IO::String> X<filehandle>

=item How can I set up a footer format to be used with write()?
X<footer>

=item How can I write() into a string?
X<write, into a string>

=item How can I output my numbers with commas added?
X<number, commify>

=item How can I translate tildes (~) in a filename?
X<tilde> X<tilde expansion>

=item When I open a file read-write, why does it wipe it out?
X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>

=item Why do I sometimes get an "Argument list too long" when I use
E<lt>*E<gt>?
X<argument list too long>

=item How can I open a file named with a leading ">" or trailing blanks?
X<filename, special characters>

=item How can I reliably rename a file?
X<rename> X<mv> X<move> X<file, rename>

=item How can I lock a file?
X<lock> X<file, lock> X<flock>

=item Why can't I just open(FH, "E<gt>file.lock")?
X<lock, lockfile race condition>

=item I still don't get locking. I just want to increment the number in the
file. How can I do this?
X<counter> X<file, counter>

=item 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?
X<append> X<file, append>

=item How do I randomly update a binary file?
X<file, binary patch>

=item How do I get a file's timestamp in perl?
X<timestamp> X<file, timestamp>

=item How do I set a file's timestamp in perl?
X<timestamp> X<file, timestamp>

=item How do I print to more than one file at once?
X<print, to multiple files>

=item How can I read in an entire file all at once?
X<slurp> X<file, slurping>

=item How can I read in a file by paragraphs?
X<file, reading by paragraphs>

=item How can I read a single character from a file? From the keyboard?
X<getc> X<file, reading one character at a time>

=item How can I tell whether there's a character waiting on a filehandle?

=item How do I do a C<tail -f> in perl?
X<tail> X<IO::Handle> X<File::Tail> X<clearerr>

=item How do I dup() a filehandle in Perl?
X<dup>

=item How do I close a file descriptor by number?
X<file, closing file descriptors> X<POSIX> X<close>

=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
`C:\temp\foo.exe` work?
X<filename, DOS issues>

=item Why doesn't glob("*.*") get all the files?
X<glob>

=item Why does Perl let me delete read-only files? Why does C<-i> clobber
protected files? Isn't this a bug in Perl?

=item How do I select a random line from a file?
X<file, selecting a random line>

=item Why do I get weird spaces when I print an array of lines?

=item How do I traverse a directory tree?

=item How do I delete a directory tree?

=item How do I copy an entire directory?

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq6 - Regular Expressions

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item How can I hope to use regular expressions without creating illegible
and unmaintainable code?
X<regex, legibility> X<regexp, legibility>
X<regular expression, legibility> X</x>

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

=item I'm having trouble matching over more than one line. What's wrong?
X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>

=item How can I pull out lines between two patterns that are themselves on
different lines?
X<..>

=item How do I match XML, HTML, or other nasty, ugly things with a regex?
X<regex, XML> X<regex, HTML> X<XML> X<HTML> X<pain> X<frustration>
X<sucking out, will to live>

=item I put a regular expression into $/ but it didn't work. What's wrong?
X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
X<$RS, regexes in>

=item How do I substitute case-insensitively on the LHS while preserving
case on the RHS?
X<replace, case preserving> X<substitute, case preserving>
X<substitution, case preserving> X<s, case preserving>

=item How can I make C<\w> match national character sets?
X<\w>

=item How can I match a locale-smart version of C</[a-zA-Z]/>?
X<alpha>

=item How can I quote a variable to use in a regex?
X<regex, escaping> X<regexp, escaping> X<regular expression, escaping>

=item What is C</o> really for?
X</o, regular expressions> X<compile, regular expressions>

=item How do I use a regular expression to strip C-style comments from a
file?

=item Can I use Perl regular expressions to match balanced text?
X<regex, matching balanced test> X<regexp, matching balanced test>
X<regular expression, matching balanced test> X<possessive> X<PARNO>
X<Text::Balanced> X<Regexp::Common> X<backtracking> X<recursion>

=item What does it mean that regexes are greedy? How can I get around it?
X<greedy> X<greediness>

=item How do I process each word on each line?
X<word>

=item How can I print out a word-frequency or line-frequency summary?

=item How can I do approximate matching?
X<match, approximate> X<matching, approximate>

=item How do I efficiently match many regular expressions at once?
X<regex, efficiency> X<regexp, efficiency>
X<regular expression, efficiency>

=item Why don't word-boundary searches with C<\b> work for me?
X<\b>

=item Why does using $&, $`, or $' slow my program down?
X<$MATCH> X<$&> X<$POSTMATCH> X<$'> X<$PREMATCH> X<$`>

=item What good is C<\G> in a regular expression?
X<\G>

=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
X<DFA> X<NFA> X<POSIX>

=item What's wrong with using grep in a void context?
X<grep>

=item How can I match strings with multibyte characters?
X<regex, and multibyte characters> X<regexp, and multibyte characters>
X<regular expression, and multibyte characters> X<martian> X<encoding,
Martian>

=item How do I match a regular expression that's in a variable?
X<regex, in variable> X<eval> X<regex> X<quotemeta> X<\Q, regex>
X<\E, regex> X<qr//>

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq7 - General Perl Language Issues

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item Can I get a BNF/yacc/RE for the Perl language?

=item What are all these $@%&* punctuation signs, and how do I know when to
use them?

=item Do I always/never have to quote my strings or use semicolons and
commas?

=item How do I skip some return values?

=item How do I temporarily block warnings?

=item What's an extension?

=item Why do Perl operators have different precedence than C operators?

=item How do I declare/create a structure?

=item How do I create a module?

=item How do I adopt or take over a module already on CPAN?

=item How do I create a class?
X<class, creation> X<package>

=item How can I tell if a variable is tainted?

=item What's a closure?

=item What is variable suicide and how can I prevent it?

=item How can I pass/return a {Function, FileHandle, Array, Hash, Method,
Regex}?

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

=item How do I create a static variable?

=item What's the difference between dynamic and lexical (static) scoping?
Between local() and my()?

=item How can I access a dynamic variable while a similarly named lexical
is in scope?

=item What's the difference between deep and shallow binding?

=item Why doesn't "my($foo) = E<lt>$fhE<gt>;" work right?

=item How do I redefine a builtin function, operator, or method?

=item What's the difference between calling a function as &foo and foo()?

=item How do I create a switch or case statement?

=item How can I catch accesses to undefined variables, functions, or
methods?

=item Why can't a method included in this same file be found?

=item How can I find out my current or calling package?

=item How can I comment out a large block of Perl code?

=item How do I clear a package?

=item How can I use a variable as a variable name?

=item What does "bad interpreter" mean?

=item Do I need to recompile XS modules when there is a change in the C
library?

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq8 - System Interaction

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item How do I find out which operating system I'm running under?

=item Why does exec() not return?
X<exec> X<system> X<fork> X<open> X<pipe>

=item How do I do fancy stuff with the keyboard/screen/mouse?

Keyboard, Screen, Mouse

=item How do I print something out in color?

=item How do I read just one key without waiting for a return key?

=item How do I check whether input is ready on the keyboard?

=item How do I clear the screen?

=item How do I get the screen size?

=item How do I ask the user for a password?

=item How do I read and write the serial port?

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

=item How do I decode encrypted password files?

=item How do I start a process in the background?

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

=item How do I trap control characters/signals?

=item How do I modify the shadow password file on a Unix system?

=item How do I set the time and date?

=item How can I sleep() or alarm() for under a second?
X<Time::HiRes> X<BSD::Itimer> X<sleep> X<select>

=item How can I measure time under a second?
X<Time::HiRes> X<BSD::Itimer> X<sleep> X<select>

=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)

=item Why doesn't my sockets program work under System V (Solaris)? What
does the error message "Protocol not supported" mean?

=item How can I call my system's unique C functions from Perl?

=item Where do I get the include files to do ioctl() or syscall()?

=item Why do setuid perl scripts complain about kernel problems?

=item How can I open a pipe both to and from a command?

=item Why can't I get the output of a command with system()?

=item How can I capture STDERR from an external command?

=item Why doesn't open() return an error when a pipe open fails?

=item What's wrong with using backticks in a void context?

=item How can I call backticks without shell processing?

=item Why can't my script read from STDIN after I gave it EOF (^D on Unix,
^Z on MS-DOS)?

=item How can I convert my shell script to perl?

=item Can I use perl to run a telnet or ftp session?

=item How can I write expect in Perl?

=item Is there a way to hide perl's command line from programs such as
"ps"?

=item 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

=item How do I close a process's filehandle without waiting for it to
complete?

=item How do I fork a daemon process?

=item How do I find out if I'm running interactively or not?

=item How do I timeout a slow event?

=item How do I set CPU limits?
X<BSD::Resource> X<limit> X<CPU>

=item How do I avoid zombies on a Unix system?

=item How do I use an SQL database?

=item How do I make a system() exit on control-C?

=item How do I open a file without blocking?

=item How do I tell the difference between errors from the shell and perl?

=item How do I install a module from CPAN?

=item What's the difference between require and use?

=item How do I keep my own module/library directory?

=item How do I add the directory my program lives in to the module/library
search path?

=item How do I add a directory to my include path (@INC) at runtime?

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

=item Where are modules installed?

=item What is socket.ph and where do I get it?

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlfaq9 - Web, Email and Networking

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item Should I use a web framework?

=item Which web framework should I use?
X<framework> X<CGI.pm> X<CGI> X<Catalyst> X<Dancer>

L<Catalyst>, L<Dancer2>, L<Mojolicious>, L<Web::Simple>

=item What is Plack and PSGI?

=item How do I remove HTML from a string?

=item How do I extract URLs?

=item How do I fetch an HTML file?

=item How do I automate an HTML form submission?

=item How do I decode or create those %-encodings on the web?
X<URI> X<URI::Escape> X<RFC 2396>

=item How do I redirect to another page?

=item How do I put a password on my web pages?

=item How do I make sure users can't enter values into a form that causes
my CGI script to do bad things?

=item How do I parse a mail header?

=item How do I check a valid mail address?

=item How do I decode a MIME/BASE64 string?

=item How do I find the user's mail address?

=item How do I send email?

L<Email::Sender::Transport::Sendmail>, L<Email::Sender::Transport::SMTP>

=item How do I use MIME to make an attachment to a mail message?

=item How do I read email?

=item How do I find out my hostname, domainname, or IP address?
X<hostname, domainname, IP address, host, domain, hostfqdn, inet_ntoa,
gethostbyname, Socket, Net::Domain, Sys::Hostname>

=item How do I fetch/put an (S)FTP file?

=item How can I do RPC in Perl?

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlsyn - Perl syntax: declarations, statements, comments

=over 4

=item DESCRIPTION

=over 4

=item Declarations
X<declaration> X<undef> X<undefined> X<uninitialized>

=item Comments
X<comment> X<#>

=item Simple Statements
X<statement> X<semicolon> X<expression> X<;>

=item Statement Modifiers
X<statement modifier> X<modifier> X<if> X<unless> X<while>
X<until> X<when> X<foreach> X<for>

=item Compound Statements
X<statement, compound> X<block> X<bracket, curly> X<curly bracket> X<brace>
X<{> X<}> X<if> X<unless> X<given> X<while> X<until> X<foreach> X<for>
X<continue>

=item Loop Control
X<loop control> X<loop, control> X<next> X<last> X<redo> X<continue>

=item For Loops
X<for> X<foreach>

=item Foreach Loops
X<for> X<foreach>

=item Try Catch Exception Handling
X<try> X<catch> X<finally>

=item Basic BLOCKs
X<block>

=item defer blocks
X<defer>

=item Switch Statements

=item Goto
X<goto>

=item The Ellipsis Statement
X<...>
X<... statement>
X<ellipsis operator>
X<elliptical statement>
X<unimplemented statement>
X<unimplemented operator>
X<yada-yada>
X<yada-yada operator>
X<... operator>
X<whatever operator>
X<triple-dot operator>

=item PODs: Embedded Documentation
X<POD> X<documentation>

=item Plain Old Comments (Not!)
X<comment> X<line> X<#> X<preprocessor> X<eval>

=item Experimental Details on given and when

Z<>1, Z<>2, Z<>3, Z<>4, Z<>5, Z<>6, Z<>7, Z<>8, Z<>9, Z<>10

=back

=back

=head2 perldata - Perl data types

=over 4

=item DESCRIPTION

=over 4

=item Variable names
X<variable, name> X<variable name> X<data type> X<type>

=item Identifier parsing
X<identifiers>

=item Context
X<context> X<scalar context> X<list context>

=item Scalar values
X<scalar> X<number> X<string> X<reference>

=item Scalar value constructors
X<scalar, literal> X<scalar, constant>

=item List value constructors
X<list>

=item Subscripts

=item Multi-dimensional array emulation

=item Slices
X<slice> X<array, slice> X<hash, slice>

=item Typeglobs and Filehandles
X<typeglob> X<filehandle> X<*>

=back

=item SEE ALSO

=back

=head2 perlop - Perl expressions: operators, precedence, string literals

=over 4

=item DESCRIPTION

=over 4

=item Operator Precedence and Associativity
X<operator, precedence> X<precedence> X<associativity>

=item Terms and List Operators (Leftward)
X<list operator> X<operator, list> X<term>

=item The Arrow Operator
X<arrow> X<dereference> X<< -> >>

=item Auto-increment and Auto-decrement
X<increment> X<auto-increment> X<++> X<decrement> X<auto-decrement> X<-->

=item Exponentiation
X<**> X<exponentiation> X<power>

=item Symbolic Unary Operators
X<unary operator> X<operator, unary>

=item Binding Operators
X<binding> X<operator, binding> X<=~> X<!~>

=item Multiplicative Operators
X<operator, multiplicative>

=item Additive Operators
X<operator, additive>

=item Shift Operators
X<shift operator> X<operator, shift> X<<< << >>>
X<<< >> >>> X<right shift> X<left shift> X<bitwise shift>
X<shl> X<shr> X<shift, right> X<shift, left>

=item Named Unary Operators
X<operator, named unary>

=item Class Instance Operator
X<isa operator>

=item Relational Operators
X<relational operator> X<operator, relational>

=item Equality Operators
X<equality> X<equal> X<equals> X<operator, equality>

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

=item Bitwise And
X<operator, bitwise, and> X<bitwise and> X<&>

=item Bitwise Or and Exclusive Or
X<operator, bitwise, or> X<bitwise or> X<|> X<operator, bitwise, xor>
X<bitwise xor> X<^>

=item C-style Logical And
X<&&> X<logical and> X<operator, logical, and>

=item C-style Logical Or, Xor, and Defined Or
X<||> X<operator, logical, or>
X<^^> X<operator, logical, xor>
X<//> X<operator, logical, defined-or>

=item Range Operators
X<operator, range> X<range> X<..> X<...>

=item Conditional Operator
X<operator, conditional> X<operator, ternary> X<ternary> X<?:>

=item Assignment Operators
X<assignment> X<operator, assignment> X<=> X<**=> X<+=> X<*=> X<&=>
X<<< <<= >>> X<&&=> X<-=> X</=> X<|=> X<<< >>= >>> X<||=> X<//=> X<.=>
X<%=> X<^=> X<x=> X<&.=> X<|.=> X<^.=> X<^^=>

=item Comma Operator
X<comma> X<operator, comma> X<,>

=item List Operators (Rightward)
X<operator, list, rightward> X<list operator>

=item Logical Not
X<operator, logical, not> X<not>

=item Logical And
X<operator, logical, and> X<and>

=item Logical or and Exclusive Or
X<operator, logical, or> X<or>
X<operator, logical, xor> X<operator, logical, exclusive or> X<xor>

=item C Operators Missing From Perl
X<operator, missing from perl> X<&> X<*>
X<typecasting> X<(TYPE)>

unary &, unary *, (TYPE)

=item Quote and Quote-like Operators
X<operator, quote> X<operator, quote-like> X<q> X<qq> X<qx> X<qw> X<m>
X<qr> X<s> X<tr> X<'> X<''> X<"> X<""> X<//> X<`> X<``> X<<< << >>>
X<escape sequence> X<escape>

[1], [2], [3], [4], [5], [6], [7], [8], C<q/I<STRING>/> X<q> X<quote,
single> X<'> X<''>, C<'I<STRING>'>, C<qq/I<STRING>/> X<qq> X<quote, double>
X<"> X<"">, C<"I<STRING>">, C<qx/I<STRING>/> X<qx> X<`> X<``> X<backtick>,
C<`I<STRING>`>, C<qw/I<STRING>/> X<qw> X<quote, list> X<quote, words>,
C<qr/I<STRING>/msixpodualn> X<qr> X</i> X</m> X</o> X</s> X</x> X</p>,
C<m/I<PATTERN>/msixpodualngc> X<m> X<operator, match> X<regexp, options>
X<regexp> X<regex, options> X<regex> X</m> X</s> X</i> X</x> X</p> X</o>
X</g> X</c>, C</I<PATTERN>/msixpodualngc>, The empty pattern C<//>,
Matching in list context, C<\G I<assertion>>, C<m?I<PATTERN>?msixpodualngc>
X<?> X<operator, match-once>,
C<s/I<PATTERN>/I<REPLACEMENT>/msixpodualngcer> X<s> X<substitute>
X<substitution> X<replace> X<regexp, replace> X<regexp, substitute> X</m>
X</s> X</i> X</x> X</p> X</o> X</g> X</c> X</e> X</r>,
C<tr/I<SEARCHLIST>/I<REPLACEMENTLIST>/cdsr> X<tr> X<y> X<transliterate>
X</c> X</d> X</s>, C<y/I<SEARCHLIST>/I<REPLACEMENTLIST>/cdsr>, C<< <<I<EOT>
>>, C<< <<~I<EOT> >>, Double Quotes, Single Quotes, Backticks, Finding the
end, Interpolation X<interpolation>, C<<<'EOF'>,  C<m''>, the pattern of
C<s'''>, C<''>, C<q//>, C<tr'''>, C<y'''>, the replacement of C<s'''>,
C<tr///>, C<y///>, C<"">, C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>,
C<<<"EOF">, The replacement of C<s///>, C<RE> in C<m?RE?>, C</RE/>,
C<m/RE/>, C<s/RE/foo/>,, Parsing regular expressions X<regexp, parse>,
Optimization of regular expressions X<regexp, optimization>

=item I/O Operators
X<operator, i/o> X<operator, io> X<io> X<while> X<filehandle>
X<< <> >> X<< <<>> >> X<@ARGV>
X<diamond operator> X<double diamond operator>

=item Constant Folding
X<constant folding> X<folding>

=item No-ops
X<no-op> X<nop>

=item Bitwise String Operators
X<operator, bitwise, string> X<&.> X<|.> X<^.> X<~.>

=item Integer Arithmetic
X<integer>

=item Floating-point Arithmetic

=item Bigger Numbers
X<number, arbitrary precision>

=item C-style Logical Or

=item C-style Logical Xor

=item Logical Defined-Or

=item Quote-Like Operators

=item Indented Here-docs

=back

=item APPENDIX

=over 4

=item List of Extra Paired Delimiters

=back

=back

=head2 perlsub - Perl subroutines (user-defined functions)

=over 4

=item SYNOPSIS

=item DESCRIPTION

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

=over 4

=item Signatures

=item Private Variables via my()
X<my> X<variable, lexical> X<lexical> X<lexical variable> X<scope, lexical>
X<lexical scope> X<attributes, my>

=item Persistent Private Variables
X<state> X<state variable> X<static> X<variable, persistent>
X<variable, static> X<closure>

=item Temporary Values via local()
X<local> X<scope, dynamic> X<dynamic scope> X<variable, local>
X<variable, temporary>

=item Lvalue subroutines
X<lvalue> X<subroutine, lvalue>

=item Lexical Subroutines
X<my sub> X<state sub> X<our sub> X<subroutine, lexical>

=item Passing Symbol Table Entries (typeglobs)
X<typeglob> X<*>

=item When to Still Use local()
X<local> X<variable, local>

=item Pass by Reference
X<pass by reference> X<pass-by-reference> X<reference>

=item Prototypes
X<prototype> X<subroutine, prototype>

=item Constant Functions
X<constant>

=item Overriding Built-in Functions
X<built-in> X<override> X<CORE> X<CORE::GLOBAL>

=item Autoloading
X<autoloading> X<AUTOLOAD>

=item Subroutine Attributes
X<attribute> X<subroutine, attribute> X<attrs>

=back

=item SEE ALSO

=back

=head2 perlfunc - Perl builtin functions

=over 4

=item DESCRIPTION

=over 4

=item Perl Functions by Category
X<function>

Functions for SCALARs or strings X<scalar> X<string> X<character>, Regular
expressions and pattern matching X<regular expression> X<regex> X<regexp>,
Numeric functions X<numeric> X<number> X<trigonometric> X<trigonometry>,
Functions for real @ARRAYs X<array>, Functions for list data X<list>,
Functions for real %HASHes X<hash>, Input and output functions X<I/O>
X<input> X<output> X<dbm>, Functions for fixed-length data or records,
Functions for filehandles, files, or directories X<file> X<filehandle>
X<directory> X<pipe> X<link> X<symlink>, Keywords related to the control
flow of your Perl program X<control flow>, Keywords related to scoping,
Miscellaneous functions, Functions for processes and process groups
X<process> X<pid> X<process id>, Keywords related to Perl modules
X<module>, Keywords related to classes and object-orientation X<object>
X<class> X<package>, Low-level socket functions X<socket> X<sock>, System V
interprocess communication functions X<IPC> X<System V> X<semaphore>
X<shared memory> X<memory> X<message>, Fetching user and group info X<user>
X<group> X<password> X<uid> X<gid>  X<passwd> X</etc/passwd>, Fetching
network info X<network> X<protocol> X<host> X<hostname> X<IP> X<address>
X<service>, Time-related functions X<time> X<date>, Non-function keywords

=item Portability
X<portability> X<Unix> X<portable>

=item Alphabetical Listing of Perl Functions

-I<X> FILEHANDLE
X<-r>X<-w>X<-x>X<-o>X<-R>X<-W>X<-X>X<-O>X<-e>X<-z>X<-s>X<-f>X<-d>X<-l>X<-p>
X<-S>X<-b>X<-c>X<-t>X<-u>X<-g>X<-k>X<-T>X<-B>X<-M>X<-A>X<-C>, -I<X> EXPR,
-I<X> DIRHANDLE, -I<X>, abs VALUE X<abs> X<absolute>, abs, accept
NEWSOCKET,GENERICSOCKET X<accept>, alarm SECONDS X<alarm> X<SIGALRM>
X<timer>, alarm, all BLOCK LIST, any BLOCK LIST, atan2 Y,X X<atan2>
X<arctangent> X<tan> X<tangent>, bind SOCKET,NAME X<bind>, binmode
FILEHANDLE, LAYER X<binmode> X<binary> X<text> X<DOS> X<Windows>, binmode
FILEHANDLE, bless REF,CLASSNAME X<bless>, bless REF, Bless the referred-to
item into a specific package (recommended form):, Bless the referred-to
item into package C<main>:, Bless the referred-to item into the current
package (not inheritable):, break, caller EXPR X<caller> X<call stack>
X<stack> X<stack trace>, caller, chdir EXPR X<chdir> X<cd> X<directory,
change>, chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST X<chmod>
X<permission> X<mode>, chomp VARIABLE X<chomp> X<INPUT_RECORD_SEPARATOR>
X<$/> X<newline> X<eol>, chomp( LIST ), chomp, chop VARIABLE X<chop>, chop(
LIST ), chop, chown LIST X<chown> X<owner> X<user> X<group>, chr NUMBER
X<chr> X<character> X<ASCII> X<Unicode>, chr, chroot FILENAME X<chroot>
X<root>, chroot, class NAMESPACE, class NAMESPACE VERSION, class NAMESPACE
BLOCK, class NAMESPACE VERSION BLOCK, close FILEHANDLE X<close>, close,
closedir DIRHANDLE X<closedir>, connect SOCKET,NAME X<connect>, continue
BLOCK X<continue>, continue, cos EXPR X<cos> X<cosine> X<acos>
X<arccosine>, cos, crypt PLAINTEXT,SALT X<crypt> X<digest> X<hash> X<salt>
X<plaintext> X<password> X<decrypt> X<cryptography> X<passwd> X<encrypt>,
dbmclose HASH X<dbmclose>, dbmopen HASH,DBNAME,MASK X<dbmopen> X<dbm>
X<ndbm> X<sdbm> X<gdbm>, defined EXPR X<defined> X<undef> X<undefined>,
defined, delete EXPR X<delete>, die LIST X<die> X<throw> X<exception>
X<raise> X<$@> X<abort>, do BLOCK X<do> X<block>, do EXPR X<do>, dump LABEL
X<dump> X<core> X<undump>, dump EXPR, dump, each HASH X<each> X<hash,
iterator>, each ARRAY X<array, iterator>, eof FILEHANDLE X<eof> X<end of
file> X<end-of-file>, eof (), eof, eval EXPR X<eval> X<try> X<catch>
X<evaluate> X<parse> X<execute> X<error, handling> X<exception, handling>,
eval BLOCK, eval, String eval, Under the L<C<"unicode_eval">
feature|feature/The 'unicode_eval' and 'evalbytes' features>, Outside the
C<"unicode_eval"> feature, If upgraded, C<$v> will be C<"\xc4\x80"> (i.e.,
the C<use utf8> has no effect.), If non-upgraded, C<$v> will be
C<"\x{100}">, Block eval, evalbytes EXPR X<evalbytes>, evalbytes, exec LIST
X<exec> X<execute>, exec PROGRAM LIST, exists EXPR X<exists>
X<autovivification>, exit EXPR X<exit> X<terminate> X<abort>, exit, exp
EXPR X<exp> X<exponential> X<antilog> X<antilogarithm> X<e>, exp, fc EXPR
X<fc> X<foldcase> X<casefold> X<fold-case> X<case-fold>, fc, fcntl
FILEHANDLE,FUNCTION,SCALAR X<fcntl>, __FILE__ X<__FILE__>, field VARNAME
X<field>, fileno FILEHANDLE X<fileno>, fileno DIRHANDLE, flock
FILEHANDLE,OPERATION X<flock> X<lock> X<locking>, fork X<fork> X<child>
X<parent>, format X<format>, formline PICTURE,LIST X<formline>, getc
FILEHANDLE X<getc> X<getchar> X<character> X<file, read>, getc, getlogin
X<getlogin> X<login>, getpeername SOCKET X<getpeername> X<peer>, getpgrp
PID X<getpgrp> X<group>, getppid X<getppid> X<parent> X<pid>, getpriority
WHICH,WHO X<getpriority> X<priority> X<nice>, getpwnam NAME X<getpwnam>
X<getgrnam> X<gethostbyname> X<getnetbyname> X<getprotobyname> X<getpwuid>
X<getgrgid> X<getservbyname> X<gethostbyaddr> X<getnetbyaddr>
X<getprotobynumber> X<getservbyport> X<getpwent> X<getgrent> X<gethostent>
X<getnetent> X<getprotoent> X<getservent> X<setpwent> X<setgrent>
X<sethostent> X<setnetent> X<setprotoent> X<setservent> X<endpwent>
X<endgrent> X<endhostent> X<endnetent> X<endprotoent> X<endservent>,
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
X<getsockname>, getsockopt SOCKET,LEVEL,OPTNAME X<getsockopt>, glob EXPR
X<glob> X<wildcard> X<filename, expansion> X<expand>, glob, gmtime EXPR
X<gmtime> X<UTC> X<Greenwich>, gmtime, goto LABEL X<goto> X<jump> X<jmp>,
goto EXPR, goto &NAME, grep BLOCK LIST X<grep>, grep EXPR,LIST, hex EXPR
X<hex> X<hexadecimal>, hex, import LIST X<import>, index
STR,SUBSTR,POSITION X<index> X<indexOf> X<InStr>, index STR,SUBSTR, int
EXPR X<int> X<integer> X<truncate> X<trunc> X<floor>, int, ioctl
FILEHANDLE,FUNCTION,SCALAR X<ioctl>, join EXPR,LIST X<join>, keys HASH
X<keys> X<key>, keys ARRAY, kill SIGNAL, LIST, kill SIGNAL X<kill>
X<signal>, last LABEL X<last> X<break>, last EXPR, last, lc EXPR X<lc>
X<lowercase>, lc, If C<use bytes> is in effect:, Otherwise, if C<use
locale> for C<LC_CTYPE> is in effect:, Otherwise, If EXPR has the UTF8 flag
set:, Otherwise, if C<use feature 'unicode_strings'> or C<use locale
':not_characters'> is in effect:, Otherwise:, lcfirst EXPR X<lcfirst>
X<lowercase>, lcfirst, length EXPR X<length> X<size>, length, __LINE__
X<__LINE__>, link OLDFILE,NEWFILE X<link>, listen SOCKET,QUEUESIZE
X<listen>, local EXPR X<local>, localtime EXPR X<localtime> X<ctime>,
localtime, lock THING X<lock>, log EXPR X<log> X<logarithm> X<e> X<ln>
X<base>, log, lstat FILEHANDLE X<lstat>, lstat EXPR, lstat DIRHANDLE,
lstat, m//, map BLOCK LIST X<map>, map EXPR,LIST, method NAME BLOCK
X<method>, method NAME : ATTRS BLOCK, mkdir FILENAME,MODE X<mkdir> X<md>
X<directory, create>, mkdir FILENAME, mkdir, msgctl ID,CMD,ARG X<msgctl>,
msgget KEY,FLAGS X<msgget>, msgrcv ID,VAR,SIZE,TYPE,FLAGS X<msgrcv>, msgsnd
ID,MSG,FLAGS X<msgsnd>, my VARLIST X<my>, my TYPE VARLIST, my VARLIST :
ATTRS, my TYPE VARLIST : ATTRS, next LABEL X<next> X<continue>, next EXPR,
next, no MODULE VERSION LIST X<no declarations> X<unimporting>, no MODULE
VERSION, no MODULE LIST, no MODULE, no VERSION, oct EXPR X<oct> X<octal>
X<hex> X<hexadecimal> X<binary> X<bin>, oct, open FILEHANDLE,MODE,EXPR
X<open> X<pipe> X<file, open> X<fopen>, 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 C<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 C<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 C<open>,
Portability issues, opendir DIRHANDLE,EXPR X<opendir>, ord EXPR X<ord>
X<encoding>, ord, our VARLIST X<our> X<global>, our TYPE VARLIST, our
VARLIST : ATTRS, our TYPE VARLIST : ATTRS, pack TEMPLATE,LIST X<pack>,
package NAMESPACE, package NAMESPACE VERSION X<package> X<module>
X<namespace> X<version>, package NAMESPACE BLOCK, package NAMESPACE VERSION
BLOCK X<package> X<module> X<namespace> X<version>, __PACKAGE__
X<__PACKAGE__>, __CLASS__ X<__CLASS__>, pipe READHANDLE,WRITEHANDLE
X<pipe>, pop ARRAY X<pop> X<stack>, pop, pos SCALAR X<pos> X<match,
position>, pos, print FILEHANDLE LIST X<print>, print FILEHANDLE, print
LIST, print, printf FILEHANDLE FORMAT, LIST X<printf>, printf FILEHANDLE,
printf FORMAT, LIST, printf, prototype FUNCTION X<prototype>, prototype,
push ARRAY,LIST X<push> X<stack>, q/STRING/, qq/STRING/, qw/STRING/,
qx/STRING/, qr/STRING/, quotemeta EXPR X<quotemeta> X<metacharacter>,
quotemeta, rand EXPR X<rand> X<random>, rand, B<Security:>,
L<Crypt::URandom>, L<Crypt::PRNG>, read FILEHANDLE,SCALAR,LENGTH,OFFSET
X<read> X<file, read>, read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE
X<readdir>, readline EXPR, readline X<readline> X<gets> X<fgets>, readlink
EXPR X<readlink>, readlink, readpipe EXPR, readpipe X<readpipe>, recv
SOCKET,SCALAR,LENGTH,FLAGS X<recv>, redo LABEL X<redo>, redo EXPR, redo,
ref EXPR X<ref> X<reference>, ref, rename OLDNAME,NEWNAME X<rename> X<move>
X<mv> X<ren>, require VERSION X<require>, require EXPR, require, reset EXPR
X<reset>, reset, return EXPR X<return>, return, reverse LIST X<reverse>
X<rev> X<invert>, rewinddir DIRHANDLE X<rewinddir>, rindex
STR,SUBSTR,POSITION X<rindex>, rindex STR,SUBSTR, rmdir FILENAME X<rmdir>
X<rd> X<directory, remove>, rmdir, s///, say FILEHANDLE LIST X<say>, say
FILEHANDLE, say LIST, say, scalar EXPR X<scalar> X<context>, seek
FILEHANDLE,POSITION,WHENCE X<seek> X<fseek> X<filehandle, position>,
seekdir DIRHANDLE,POS X<seekdir>, select FILEHANDLE X<select> X<filehandle,
default>, select, select RBITS,WBITS,EBITS,TIMEOUT X<select>, semctl
ID,SEMNUM,CMD,ARG X<semctl>, semget KEY,NSEMS,FLAGS X<semget>, semop
KEY,OPSTRING X<semop>, send SOCKET,MSG,FLAGS,TO X<send>, send
SOCKET,MSG,FLAGS, setpgrp PID,PGRP X<setpgrp> X<group>, setpriority
WHICH,WHO,PRIORITY X<setpriority> X<priority> X<nice> X<renice>, setsockopt
SOCKET,LEVEL,OPTNAME,OPTVAL X<setsockopt>, shift ARRAY X<shift>, shift,
shmctl ID,CMD,ARG X<shmctl>, shmget KEY,SIZE,FLAGS X<shmget>, shmread
ID,VAR,POS,SIZE X<shmread> X<shmwrite>, shmwrite ID,STRING,POS,SIZE,
shutdown SOCKET,HOW X<shutdown>, sin EXPR X<sin> X<sine> X<asin>
X<arcsine>, sin, sleep EXPR X<sleep> X<pause>, sleep, socket
SOCKET,DOMAIN,TYPE,PROTOCOL X<socket>, socketpair
SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL X<socketpair>, sort SUBNAME LIST
X<sort>, sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST
X<splice>, splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY,
split /PATTERN/,EXPR,LIMIT X<split>, split /PATTERN/,EXPR, split /PATTERN/,
split, sprintf FORMAT, LIST X<sprintf>, format parameter index, flags,
vector flag, (minimum) width, precision, or maximum width X<precision>,
size, order of arguments, sqrt EXPR X<sqrt> X<root> X<square root>, sqrt,
srand EXPR X<srand> X<seed> X<randseed>, srand, stat FILEHANDLE X<stat>
X<file, status> X<ctime>, stat EXPR, stat DIRHANDLE, stat, state VARLIST
X<state>, state TYPE VARLIST, state VARLIST : ATTRS, state TYPE VARLIST :
ATTRS, study SCALAR X<study>, study, sub NAME BLOCK X<sub>, sub NAME
(PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK,
__SUB__ X<__SUB__>, substr EXPR,OFFSET,LENGTH,REPLACEMENT X<substr>
X<substring> X<mid> X<left> X<right>, substr EXPR,OFFSET,LENGTH, substr
EXPR,OFFSET, symlink OLDFILE,NEWFILE X<symlink> X<link> X<symbolic link>
X<link, symbolic>, syscall NUMBER, LIST X<syscall> X<system call>, sysopen
FILEHANDLE,FILENAME,MODE X<sysopen>, sysopen
FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET
X<sysread>, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
FILEHANDLE,POSITION,WHENCE X<sysseek> X<lseek>, system LIST X<system>
X<shell>, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET
X<syswrite>, syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR,
tell FILEHANDLE X<tell>, tell, telldir DIRHANDLE X<telldir>, tie
VARIABLE,CLASSNAME,LIST X<tie>, tied VARIABLE X<tied>, time X<time>
X<epoch>, times X<times>, tr///, truncate FILEHANDLE,LENGTH X<truncate>,
truncate EXPR,LENGTH, uc EXPR X<uc> X<uppercase> X<toupper>, uc, ucfirst
EXPR X<ucfirst> X<uppercase>, ucfirst, umask EXPR X<umask>, umask, undef
EXPR X<undef> X<undefine>, undef, unlink LIST X<unlink> X<delete> X<remove>
X<rm> X<del>, unlink, unpack TEMPLATE,EXPR X<unpack>, unpack TEMPLATE,
unshift ARRAY,LIST X<unshift>, untie VARIABLE X<untie>, use Module VERSION
LIST X<use> X<module> X<import>, use Module VERSION, use Module LIST, use
Module, use VERSION, utime LIST X<utime>, values HASH X<values>, values
ARRAY, vec EXPR,OFFSET,BITS X<vec> X<bit> X<bit vector>, wait X<wait>,
waitpid PID,FLAGS X<waitpid>, wantarray X<wantarray> X<context>, warn LIST
X<warn> X<warning> X<STDERR>, write FILEHANDLE X<write>, write EXPR, write,
y///

=item 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

=back

=back

=head2 perlopentut - simple recipes for opening files and pipes in Perl

=over 4

=item DESCRIPTION

I<OK>, I<HANDLE>, I<MODE>, I<PATHNAME>

=item Opening Text Files

=over 4

=item Opening Text Files for Reading

=item Opening Text Files for Writing

=back

=item Opening Binary Files

=item Opening Pipes

=over 4

=item Opening a pipe for reading

=item Opening a pipe for writing

=item Expressing the command as a list

=back

=item SEE ALSO

=item AUTHOR and COPYRIGHT

=back

=head2 perlpacktut - tutorial on C<pack> and C<unpack>

=over 4

=item DESCRIPTION

=item The Basic Principle

=item Packing Text

=item Packing Numbers

=over 4

=item Integers

=item Unpacking a Stack Frame

=item How to Eat an Egg on a Net

=item Byte-order modifiers

=item Floating point Numbers

=back

=item Exotic Templates

=over 4

=item Bit Strings

=item Uuencoding

=item Doing Sums

=item  Unicode

=item Another Portable Binary Encoding

=back

=item Template Grouping

=item Lengths and Widths

=over 4

=item String Lengths

=item Dynamic Templates

=item Counting Repetitions

=item Intel HEX

=back

=item Packing and Unpacking C Structures

=over 4

=item The Alignment Pit

=item Dealing with Endian-ness

=item Alignment, Take 2

=item Alignment, Take 3

=item Pointers for How to Use Them

=back

=item Pack Recipes

=item Funnies Section

=item Authors

=back

=head2 perlpod - the Plain Old Documentation format

=over 4

=item DESCRIPTION

=over 4

=item Ordinary Paragraph
X<POD, ordinary paragraph>

=item Verbatim Paragraph
X<POD, verbatim paragraph> X<verbatim>

=item Command Paragraph
X<POD, command>

C<=head1 I<Heading Text>> X<=head1> X<=head2> X<=head3> X<=head4> X<=head5>
X<=head6> X<head1> X<head2> X<head3> X<head4> X<head5> X<head6>, C<=head2
I<Heading Text>>, C<=head3 I<Heading Text>>, C<=head4 I<Heading Text>>,
C<=head5 I<Heading Text>>, C<=head6 I<Heading Text>>, C<=over
I<indentlevel>> X<=over> X<=item> X<=back> X<over> X<item> X<back>, C<=item
I<stuff...>>, C<=back>, C<=cut> X<=cut> X<cut>, C<=pod> X<=pod> X<pod>,
C<=begin I<formatname>> X<=begin> X<=end> X<=for> X<begin> X<end> X<for>,
C<=end I<formatname>>, C<=for I<formatname> I<text...>>, C<=encoding
I<encodingname>> X<=encoding> X<encoding>

=item Formatting Codes
X<POD, formatting code> X<formatting code>
X<POD, interior sequence> X<interior sequence>

C<IE<lt>textE<gt>> -- italic text X<I> X<< IZ<><> >> X<POD, formatting
code, italic> X<italic>, C<BE<lt>textE<gt>> -- bold text X<B> X<< BZ<><> >>
X<POD, formatting code, bold> X<bold>, C<UE<lt>textE<gt>> -- underline
text, C<CE<lt>codeE<gt>> -- code text X<C> X<< CZ<><> >> X<POD, formatting
code, code> X<code>, C<LE<lt>nameE<gt>> -- a hyperlink X<L> X<< LZ<><> >>
X<POD, formatting code, hyperlink> X<hyperlink>, C<EE<lt>escapeE<gt>> -- a
character escape X<E> X<< EZ<><> >> X<POD, formatting code, escape>
X<escape>, C<FE<lt>filenameE<gt>> -- used for filenames X<F> X<< FZ<><> >>
X<POD, formatting code, filename> X<filename>, C<SE<lt>textE<gt>> -- text
contains non-breaking spaces X<S> X<< SZ<><> >> X<POD, formatting code,
non-breaking space>  X<non-breaking space>, C<XE<lt>topic nameE<gt>> -- an
index entry X<X> X<< XZ<><> >> X<POD, formatting code, index entry> X<index
entry>, C<ZE<lt>E<gt>> -- a null (zero-effect) formatting code X<Z> X<<
ZZ<><> >> X<POD, formatting code, null> X<null>

=item The Intent
X<POD, intent of>

=item Embedding Pods in Perl Modules
X<POD, embedding>

=item Hints for Writing Pod

X<podchecker> X<POD, validating>

=back

=item SEE ALSO

=item AUTHOR

=back

=head2 perlpodspec - Plain Old Documentation: format specification and
notes

=over 4

=item DESCRIPTION

=item Pod Definitions

=item 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"

=item Pod Formatting Codes

C<IE<lt>textE<gt>> -- italic text, C<BE<lt>textE<gt>> -- bold text,
C<UE<lt>textE<gt>> -- underline text, C<CE<lt>codeE<gt>> -- code text,
C<FE<lt>filenameE<gt>> -- style for filenames, C<XE<lt>topic nameE<gt>> --
an index entry, C<ZE<lt>E<gt>> -- a null (zero-effect) formatting code,
C<LE<lt>nameE<gt>> -- a hyperlink, C<EE<lt>escapeE<gt>> -- a character
escape, C<SE<lt>textE<gt>> -- text contains non-breaking spaces

=item Notes on Implementing Pod Processors

=item About LE<lt>...E<gt> Codes

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

=item About =over...=back Regions

=item About Data Paragraphs and "=begin/=end" Regions

=item SEE ALSO

=item AUTHOR

=back

=head2 perldocstyle - A style guide for writing Perl's documentation

=over 4

=item DESCRIPTION

=over 4

=item Purpose of this guide

=item Intended audience

=item Status of this document

=back

=item FUNDAMENTALS

=over 4

=item Choice of markup: Pod

=item Choice of language: American English

=item Choice of encoding: UTF-8

=item Choice of underlying style guide: CMOS

=item Contributing to Perl's documentation

=back

=item FORMATTING AND STRUCTURE

=over 4

=item Document structure

=item Formatting rules

=item Adding comments

=item Perlfunc has special rules

=back

=item TONE AND STYLE

=over 4

=item Apply one of the four documentation modes

=item Assume readers' intelligence, but not their knowledge

=item Use meaningful variable and symbol names in examples

=item Write in English, but not just for English-speakers

=item Omit placeholder text or commentary

=item Apply section-breaks and examples generously

=item Lead with common cases and best practices

=item Document Perl's present

=item The documentation speaks with one voice

=back

=item 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

=item SEE ALSO

=item AUTHOR

=back

=head2 perlpodstyle - Perl POD style guide

=over 4

=item DESCRIPTION

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

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

=head2 perldiag - various Perl diagnostics

=over 4

=item DESCRIPTION

=item SEE ALSO

=back

=head2 perldeprecation - list Perl deprecations

=over 4

=item DESCRIPTION

=over 4

=item Unscheduled Deprecations

=item Perl 5.44

=item Perl 5.42

=item Perl 5.40

=item Perl 5.38

=item Perl 5.34

=item Perl 5.32

=item Perl 5.30

=item Perl 5.28

=item Perl 5.26

=item Perl 5.24

=item Perl 5.16

=back

=item SEE ALSO

=back

=head2 perllexwarn - Perl Lexical Warnings

=over 4

=item DESCRIPTION

=back

=head2 perldebug - Perl debugging

=over 4

=item DESCRIPTION

=item The Perl Debugger

=over 4

=item Calling the Debugger

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

=item Debugger Commands

h X<debugger command, h>, h [command], h h, p expr X<debugger command, p>,
x [maxdepth] expr X<debugger command, x>, V [pkg [vars]] X<debugger
command, V>, X [vars] X<debugger command, X>, y [level [vars]] X<debugger
command, y>, T X<debugger command, T> X<backtrace> X<stack, backtrace>, s
[expr] X<debugger command, s> X<step>, n [expr] X<debugger command, n>, r
X<debugger command, r>, <CR>, c [line|sub] X<debugger command, c>, l
X<debugger command, l>, l min+incr, l min-max, l line, l subname, -
X<debugger command, ->, v [line] X<debugger command, v>, . X<debugger
command, .>, f filename X<debugger command, f>, /pattern/, ?pattern?, L
[abw] X<debugger command, L>, S [[!]regex] X<debugger command, S>, t [n]
X<debugger command, t>, t [n] expr X<debugger command, t>, b X<breakpoint>
X<debugger command, b>, b [line] [condition] X<breakpoint> X<debugger
command, b>, b [file]:[line] [condition] X<breakpoint> X<debugger command,
b>, b subname [condition] X<breakpoint> X<debugger command, b>, b postpone
subname [condition] X<breakpoint> X<debugger command, b>, b load filename
X<breakpoint> X<debugger command, b>, b compile subname X<breakpoint>
X<debugger command, b>, B line X<breakpoint> X<debugger command, B>, B *
X<breakpoint> X<debugger command, B>, disable [file]:[line] X<breakpoint>
X<debugger command, disable> X<disable>, disable [line] X<breakpoint>
X<debugger command, disable> X<disable>, enable [file]:[line] X<breakpoint>
X<debugger command, disable> X<disable>, enable [line] X<breakpoint>
X<debugger command, disable> X<disable>, a [line] command X<debugger
command, a>, A line X<debugger command, A>, A * X<debugger command, A>, w
expr X<debugger command, w>, W expr X<debugger command, W>, W * X<debugger
command, W>, o X<debugger command, o>, o booloption ... X<debugger command,
o>, o anyoption? ... X<debugger command, o>, o option=value ... X<debugger
command, o>, < ? X<< debugger command, < >>, < [ command ] X<< debugger
command, < >>, < * X<< debugger command, < >>, << command X<< debugger
command, << >>, > ? X<< debugger command, > >>, > command X<< debugger
command, > >>, > * X<< debugger command, > >>, >> command X<<< debugger
command, >> >>>, { ? X<debugger command, {>, { [ command ], { * X<debugger
command, {>, {{ command X<debugger command, {{>, ! number X<debugger
command, !>, ! -number X<debugger command, !>, ! pattern X<debugger
command, !>, !! cmd X<debugger command, !!>, source file X<debugger
command, source>, H -number X<debugger command, H>, q or ^D X<debugger
command, q> X<debugger command, ^D>, R X<debugger command, R>, |dbcmd
X<debugger command, |>, ||dbcmd X<debugger command, ||>, command, m expr
X<debugger command, m>, M X<debugger command, M>, man [manpage] X<debugger
command, man>

=item Configurable Options

C<recallCommand>, C<ShellBang> X<debugger option, recallCommand> X<debugger
option, ShellBang>, C<pager> X<debugger option, pager>, C<tkRunning>
X<debugger option, tkRunning>, C<signalLevel>, C<warnLevel>, C<dieLevel>
X<debugger option, signalLevel> X<debugger option, warnLevel> X<debugger
option, dieLevel>, C<AutoTrace> X<debugger option, AutoTrace>, C<LineInfo>
X<debugger option, LineInfo>, C<inhibit_exit> X<debugger option,
inhibit_exit>, C<PrintRet> X<debugger option, PrintRet>, C<ornaments>
X<debugger option, ornaments>, C<frame> X<debugger option, frame>,
C<maxTraceLen> X<debugger option, maxTraceLen>, C<windowSize> X<debugger
option, windowSize>, C<arrayDepth>, C<hashDepth> X<debugger option,
arrayDepth> X<debugger option, hashDepth>, C<dumpDepth> X<debugger option,
dumpDepth>, C<compactDump>, C<veryCompact> X<debugger option, compactDump>
X<debugger option, veryCompact>, C<globPrint> X<debugger option,
globPrint>, C<DumpDBFiles> X<debugger option, DumpDBFiles>, C<DumpPackages>
X<debugger option, DumpPackages>, C<DumpReused> X<debugger option,
DumpReused>, C<quote>, C<HighBit>, C<undefPrint> X<debugger option, quote>
X<debugger option, HighBit> X<debugger option, undefPrint>, C<UsageOnly>
X<debugger option, UsageOnly>, C<HistFile> X<debugger option, history,
HistFile>, C<HistSize> X<debugger option, history, HistSize>, C<TTY>
X<debugger option, TTY>, C<noTTY> X<debugger option, noTTY>, C<ReadLine>
X<debugger option, ReadLine>, C<NonStop> X<debugger option, NonStop>

=item Debugger Input/Output

Prompt, Multiline commands, Stack backtrace X<backtrace> X<stack,
backtrace>, Line Listing Format, Frame listing

=item Debugging Compile-Time Statements

=item Debugger Customization

=item Readline Support / History in the Debugger

=item Editor Support for Debugging

=item The Perl Profiler
X<profile> X<profiling> X<profiler>

=back

=item Debugging Regular Expressions
X<regular expression, debugging>
X<regex, debugging> X<regexp, debugging>

=item Debugging Memory Usage
X<memory usage>

=item SEE ALSO

=item BUGS

=back

=head2 perlvar - Perl predefined variables

=over 4

=item DESCRIPTION

=over 4

=item The Syntax of Variable Names

=back

=item SPECIAL VARIABLES

=over 4

=item General Variables

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

=item Variables related to regular expressions

$<I<digits>> ($1, $2, ...) X<$1> X<$2> X<$3> X<$I<digits>>, @{^CAPTURE}
X<@{^CAPTURE}> X<@^CAPTURE>, $MATCH, $& X<$&> X<$MATCH>, ${^MATCH}
X<${^MATCH}>, $PREMATCH, $` X<$`> X<$PREMATCH>, ${^PREMATCH}
X<${^PREMATCH}>, $POSTMATCH, $' X<$'> X<$POSTMATCH> X<@->, ${^POSTMATCH}
X<${^POSTMATCH}>, $LAST_PAREN_MATCH, $+ X<$+> X<$LAST_PAREN_MATCH>,
$LAST_SUBMATCH_RESULT, $^N X<$^N> X<$LAST_SUBMATCH_RESULT>,
@LAST_MATCH_END, @+ X<@+> X<@LAST_MATCH_END>, %{^CAPTURE},
%LAST_PAREN_MATCH, %+ X<%+> X<%LAST_PAREN_MATCH> X<%{^CAPTURE}>,
@LAST_MATCH_START, @- X<@-> X<@LAST_MATCH_START>, C<$`> is the same as
C<substr($var, 0, $-[0])>, C<$&> is the same as C<substr($var, $-[0], $+[0]
- $-[0])>, C<$'> is the same as C<substr($var, $+[0])>, C<$1> is the same
as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2> is the same as
C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as C<substr($var,
$-[3], $+[3] - $-[3])>, %{^CAPTURE_ALL} X<%{^CAPTURE_ALL}>, %- X<%->,
${^LAST_SUCCESSFUL_PATTERN}, $LAST_REGEXP_CODE_RESULT, $^R X<$^R>
X<$LAST_REGEXP_CODE_RESULT>, ${^RE_COMPILE_RECURSION_LIMIT}
X<${^RE_COMPILE_RECURSION_LIMIT}>, ${^RE_DEBUG_FLAGS}
X<${^RE_DEBUG_FLAGS}>, ${^RE_TRIE_MAXBUF} X<${^RE_TRIE_MAXBUF}>

=item Variables related to filehandles

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

=item Error Variables
X<error> X<exception>

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

=item Variables related to the interpreter state

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

=item Deprecated and removed variables

$# X<$#>, $* X<$*>, $[ X<$[>, ${^ENCODING} X<${^ENCODING}>,
${^WIN32_SLOPPY_STAT} X<${^WIN32_SLOPPY_STAT}> X<sitecustomize>
X<sitecustomize.pl>

=back

=back

=head2 perlre - Perl regular expressions

=over 4

=item DESCRIPTION

=over 4

=item The Basics
X<regular expression, version 8> X<regex, version 8> X<regexp, version 8>

=item Modifiers

B<C<m>> X</m> X<regex, multiline> X<regexp, multiline> X<regular
expression, multiline>, B<C<s>> X</s> X<regex, single-line> X<regexp,
single-line> X<regular expression, single-line>, B<C<i>> X</i> X<regex,
case-insensitive> X<regexp, case-insensitive> X<regular expression,
case-insensitive>, B<C<x>> and B<C<xx>> X</x>, B<C<p>> X</p> X<regex,
preserve> X<regexp, preserve>, B<C<a>>, B<C<d>>, B<C<l>>, and B<C<u>> X</a>
X</d> X</l> X</u>, B<C<n>> X</n> X<regex, non-capture> X<regexp,
non-capture> X<regular expression, non-capture>, Other Modifiers

=item Regular Expressions

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

=item Quoting (escaping) metacharacters

=item Extended Patterns

C<(?#I<text>)> X<(?#)>, C<(?adlupimnsx-imnsx)>, C<(?^alupimnsx)> X<(?)>
X<(?^)>, C<(?:I<pattern>)> X<(?:)>, C<(?adluimnsx-imnsx:I<pattern>)>,
C<(?^aluimnsx:I<pattern>)> X<(?^:)>, C<(?|I<pattern>)> X<(?|)> X<Branch
reset>, Lookaround Assertions X<look-around assertion> X<lookaround
assertion> X<look-around> X<lookaround>, C<(?=I<pattern>)>,
C<(*pla:I<pattern>)>, C<(*positive_lookahead:I<pattern>)> X<(?=)> X<(*pla>
X<(*positive_lookahead> X<look-ahead, positive> X<lookahead, positive>,
C<(?!I<pattern>)>, C<(*nla:I<pattern>)>,
C<(*negative_lookahead:I<pattern>)> X<(?!)> X<(*nla>
X<(*negative_lookahead> X<look-ahead, negative> X<lookahead, negative>,
C<(?<=I<pattern>)>, C<\K>, C<(*plb:I<pattern>)>,
C<(*positive_lookbehind:I<pattern>)> X<(?<=)> X<(*plb>
X<(*positive_lookbehind> X<look-behind, positive> X<lookbehind, positive>
X<\K>, C<(?<!I<pattern>)>, C<(*nlb:I<pattern>)>,
C<(*negative_lookbehind:I<pattern>)> X<(?<!)> X<(*nlb>
X<(*negative_lookbehind> X<look-behind, negative> X<lookbehind, negative>,
C<< (?<I<NAME>>I<pattern>) >>, C<(?'I<NAME>'I<pattern>)> X<< (?<NAME>) >>
X<(?'NAME')> X<named capture> X<capture>, C<< \k<I<NAME>> >>, C<<
\k'I<NAME>' >>, C<< \k{I<NAME>} >>, C<(?{ I<code> })> X<(?{})> X<regex,
code in> X<regexp, code in> X<regular expression, code in>, C<(*{ I<code>
})> X<(*{})> X<regex, optimistic code>, C<(??{ I<code> })> X<(??{})>
X<regex, postponed> X<regexp, postponed> X<regular expression, postponed>,
C<(?I<PARNO>)> C<(?-I<PARNO>)> C<(?+I<PARNO>)> C<(?R)> C<(?0)> X<(?PARNO)>
X<(?1)> X<(?R)> X<(?0)> X<(?-1)> X<(?+1)> X<(?-PARNO)> X<(?+PARNO)>
X<regex, recursive> X<regexp, recursive> X<regular expression, recursive>
X<regex, relative recursion> X<GOSUB> X<GOSTART>, C<(?&I<NAME>)>
X<(?&NAME)>, C<(?(I<condition>)I<yes-pattern>|I<no-pattern>)> X<(?()>,
C<(?(I<condition>)I<yes-pattern>)>, an integer in parentheses, a
lookahead/lookbehind/evaluate zero-width assertion;, a name in angle
brackets or single quotes, the special symbol C<(R)>, C<(1)> C<(2)> ..,
C<(E<lt>I<NAME>E<gt>)> C<('I<NAME>')>, C<(?=...)> C<(?!...)> C<(?<=...)>
C<(?<!...)>, C<(?{ I<CODE> })>, C<(*{ I<CODE> })>, C<(R)>, C<(R1)> C<(R2)>
.., C<(R&I<NAME>)>, C<(DEFINE)>, C<< (?>I<pattern>) >>, C<<
(*atomic:I<pattern>) >> X<(?E<gt>pattern)> X<(*atomic> X<backtrack>
X<backtracking> X<atomic> X<possessive>, C<(?[ ])>

=item Backtracking
X<backtrack> X<backtracking>

=item Script Runs
X<(*script_run:...)> X<(sr:...)>
X<(*atomic_script_run:...)> X<(asr:...)>

=item Special Backtracking Control Verbs

Verbs, C<(*PRUNE)> C<(*PRUNE:I<NAME>)> X<(*PRUNE)> X<(*PRUNE:NAME)>,
C<(*SKIP)> C<(*SKIP:I<NAME>)> X<(*SKIP)>, C<(*MARK:I<NAME>)> C<(*:I<NAME>)>
X<(*MARK)> X<(*MARK:NAME)> X<(*:NAME)>, C<(*THEN)> C<(*THEN:I<NAME>)>,
C<(*COMMIT)> C<(*COMMIT:I<arg>)> X<(*COMMIT)>, C<(*FAIL)> C<(*F)>
C<(*FAIL:I<arg>)> X<(*FAIL)> X<(*F)>, C<(*ACCEPT)> C<(*ACCEPT:I<arg>)>
X<(*ACCEPT)>

=item Warning on C<\1> Instead of C<$1>

=item Repeated Patterns Matching a Zero-length Substring

=item Combining RE Pieces

C<ST>, C<S|T>, C<S{REPEAT_COUNT}>, C<S{min,max}>, C<S{min,max}?>, C<S?>,
C<S*>, C<S+>, C<S??>, C<S*?>, C<S+?>, C<< (?>S) >>, C<(?=S)>, C<(?<=S)>,
C<(?!S)>, C<(?<!S)>, C<(??{ I<EXPR> })>, C<(?I<PARNO>)>,
C<(?(I<condition>)I<yes-pattern>|I<no-pattern>)>

=item Creating Custom RE Engines

=item Embedded Code Execution Frequency

=item PCRE/Python Support

C<< (?PE<lt>I<NAME>E<gt>I<pattern>) >>, C<< (?P=I<NAME>) >>, C<<
(?P>I<NAME>) >>

=item Quoting metacharacters

=back

=item BUGS

=item SEE ALSO

=back

=head2 perlrebackslash - Perl Regular Expression Backslash Sequences and
Escapes

=over 4

=item DESCRIPTION

=over 4

=item The backslash

[1]

=item All the sequences and escapes

=item Character Escapes

[1], [2]

=item Modifiers

=item Character classes

=item Referencing

=item Assertions

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

=item Misc

\K, \N, \R X<\R>, \X X<\X>

=back

=back

=head2 perlrecharclass - Perl Regular Expression Character Classes

=over 4

=item DESCRIPTION

=over 4

=item The dot

=item Backslash sequences
X<\w> X<\W> X<\s> X<\S> X<\d> X<\D> X<\p> X<\P>
X<\N> X<\v> X<\V> X<\h> X<\H>
X<word> X<whitespace>

If the C</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 C</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]

=item Bracketed Character Classes

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

=back

=back

=head2 perlreref - Perl Regular Expressions Reference

=over 4

=item DESCRIPTION

=over 4

=item OPERATORS

=item SYNTAX

=item ESCAPE SEQUENCES

=item CHARACTER CLASSES

=item ANCHORS

=item QUANTIFIERS

=item EXTENDED CONSTRUCTS

=item VARIABLES

=item FUNCTIONS

=item TERMINOLOGY

=back

=item AUTHOR

=item SEE ALSO

=item THANKS

=back

=head2 perlref - Perl references and nested data structures

=over 4

=item NOTE

=item DESCRIPTION

=over 4

=item Making References
X<reference, creation> X<referencing>

=item Using References
X<reference, use> X<dereferencing> X<dereference>

=item Circular References
X<circular reference> X<reference, circular>

=item Symbolic references
X<reference, symbolic> X<reference, soft>
X<symbolic reference> X<soft reference>

=item Not-so-symbolic references

=item Pseudo-hashes: Using an array as a hash
X<pseudo-hash> X<pseudo hash> X<pseudohash>

=item Function Templates
X<scope, lexical> X<closure> X<lexical> X<lexical scope>
X<subroutine, nested> X<sub, nested> X<subroutine, local> X<sub, local>

=item Postfix Dereference Syntax

=item Postfix Reference Slicing

=item Assigning to References

=item Declaring a Reference to a Variable

=back

=item WARNING: Don't use references as hash keys
X<reference, string context> X<reference, use as hash key>

=item SEE ALSO

=back

=head2 perlform - Perl formats

=over 4

=item DESCRIPTION

=over 4

=item Text Fields
X<format, text field>

=item Numeric Fields
X<#> X<format, numeric field>

=item The Field @* for Variable-Width Multi-Line Text
X<@*>

=item The Field ^* for Variable-Width One-line-at-a-time Text
X<^*>

=item Specifying Values
X<format, specifying values>

=item Using Fill Mode
X<format, fill mode>

=item Suppressing Lines Where All Fields Are Void
X<format, suppressing lines>

=item Repeating Format Lines
X<format, repeating lines>

=item Top of Form Processing
X<format, top of form> X<top> X<header>

=item Format Variables
X<format variables>
X<format, variables>

=back

=item NOTES

=over 4

=item Footers
X<format, footer> X<footer>

=item Accessing Formatting Internals
X<format, internals>

=back

=item WARNINGS

=back

=head2 perlobj - Perl object reference

=over 4

=item DESCRIPTION

=over 4

=item An Object is Simply a Data Structure
X<object> X<bless> X<constructor> X<new>

=item A Class is Simply a Package
X<class> X<package> X<@ISA> X<inheritance>

=item A Method is Simply a Subroutine
X<method>

=item Method Invocation
X<invocation> X<method> X<arrow> X<< -> >>

=item Inheritance
X<inheritance>

=item Writing Constructors
X<constructor>

=item Attributes
X<attribute>

=item An Aside About Smarter and Safer Code

=item Method Call Variations
X<method>

=item Invoking Class Methods
X<invocation>

=item C<bless>, C<blessed>, and C<ref>

=item The UNIVERSAL Class
X<UNIVERSAL>

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

=item AUTOLOAD
X<AUTOLOAD>

=item Destructors
X<destructor> X<DESTROY>

=item Non-Hash Objects

=item Inside-Out objects

=item Pseudo-hashes

=back

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Tying Scalars
X<scalar, tying>

TIESCALAR classname, LIST X<TIESCALAR>, FETCH this X<FETCH>, STORE this,
value X<STORE>, UNTIE this X<UNTIE>, DESTROY this X<DESTROY>

=item Tying Arrays
X<array, tying>

TIEARRAY classname, LIST X<TIEARRAY>, FETCH this, index X<FETCH>, STORE
this, index, value X<STORE>, FETCHSIZE this X<FETCHSIZE>, STORESIZE this,
count X<STORESIZE>, EXTEND this, count X<EXTEND>, EXISTS this, key
X<EXISTS>, DELETE this, key X<DELETE>, CLEAR this X<CLEAR>, PUSH this, LIST
 X<PUSH>, POP this X<POP>, SHIFT this X<SHIFT>, UNSHIFT this, LIST 
X<UNSHIFT>, SPLICE this, offset, length, LIST X<SPLICE>, UNTIE this
X<UNTIE>, DESTROY this X<DESTROY>

=item Tying Hashes
X<hash, tying>

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

=item Tying FileHandles
X<filehandle, tying>

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

=item UNTIE this
X<UNTIE>

=item The C<untie> Gotcha
X<untie>

=back

=item SEE ALSO

=item BUGS

=item AUTHOR

=back

=head2 perldbmfilter - Perl DBM Filters

=over 4

=item SYNOPSIS

=item DESCRIPTION

B<filter_store_key>, B<filter_store_value>, B<filter_fetch_key>,
B<filter_fetch_value>

=over 4

=item The Filter

=item An Example: the NULL termination problem

=item Another Example: Key is a C int

=back

=item SEE ALSO

=item AUTHOR

=back

=head2 perlclass - Perl class syntax reference

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item History

=back

=item KEYWORDS

=over 4

=item class

=item field

=item method

=back

=item ATTRIBUTES

=over 4

=item Class attributes

=item Field attributes

=item Method attributes

=back

=item OBJECT LIFECYCLE

=over 4

=item Construction

=item Adjustment

=item Lifetime

=item Destruction

=back

=item TODO

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

=item KNOWN BUGS

=item AUTHORS

=back

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

=over 4

=item DESCRIPTION

=item Signals

=over 4

=item Handling the SIGHUP Signal in Daemons

=item Deferred Signals (Safe Signals)

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

=back

=item Named Pipes

=item Using open() for IPC

=over 4

=item Filehandles

=item Background Processes

=item Complete Dissociation of Child from Parent

=item Safe Pipe Opens

=item Avoiding Pipe Deadlocks

=item Bidirectional Communication with Another Process

=item Bidirectional Communication with Yourself

=back

=item Sockets: Client/Server Communication

=over 4

=item Internet Line Terminators

=item Internet TCP Clients and Servers

=item Unix-Domain TCP Clients and Servers

=back

=item TCP Clients with IO::Socket

=over 4

=item A Simple Client

C<Proto>, C<PeerAddr>, C<PeerPort>

=item A Webget Client

=item Interactive Client with IO::Socket

=back

=item TCP Servers with IO::Socket

Proto, LocalPort, Listen, Reuse

=item UDP: Message Passing

=item SysV IPC

=item NOTES

=item BUGS

=item AUTHOR

=item SEE ALSO

=back

=head2 perlfork - Perl's fork() emulation

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item 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

=item Resource limits

=item Killing the parent process

=item Lifetime of the parent process and pseudo-processes

=back

=item 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

=item PORTABILITY CAVEATS

=item BUGS

=item AUTHOR

=item SEE ALSO

=back

=head2 perlnumber - semantics of numbers and numeric operations in Perl

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Storing numbers

=item Numeric operators and numeric conversions

=item Flavors of Perl numeric operations

Arithmetic operators, ++, Arithmetic operators during C<use integer>, Other
mathematical operators, Bitwise operators, Bitwise operators during C<use
integer>, Operators which expect an integer, Operators which expect a
string

=item AUTHOR

=item SEE ALSO

=back

=head2 perlthrtut - Tutorial on threads in Perl

=over 4

=item DESCRIPTION

=item What Is A Thread Anyway?

=item Threaded Program Models

=over 4

=item Boss/Worker

=item Work Crew

=item Pipeline

=back

=item What kind of threads are Perl threads?

=item Thread-Safe Modules

=item Thread Basics

=over 4

=item Basic Thread Support

=item A Note about the Examples

=item Creating Threads

=item Waiting For A Thread To Exit

=item Ignoring A Thread

=item Process and Thread Termination

=back

=item Threads And Data

=over 4

=item Shared And Unshared Data

=item Thread Pitfalls: Races

=back

=item Synchronization and control

=over 4

=item Controlling access: lock()

=item A Thread Pitfall: Deadlocks

=item Queues: Passing Data Around

=item Semaphores: Synchronizing Data Access

=item Basic semaphores

=item Advanced Semaphores

=item Waiting for a Condition

=item Giving up control

=back

=item General Thread Utility Routines

=over 4

=item What Thread Am I In?

=item Thread IDs

=item Are These Threads The Same?

=item What Threads Are Running?

=back

=item A Complete Example

=item Different implementations of threads

=item Performance considerations

=item Process-scope Changes

=item Thread-Safety of System Libraries

=item Conclusion

=item SEE ALSO

=item Bibliography

=over 4

=item Introductory Texts

=item OS-Related References

=item Other References

=back

=item Acknowledgements

=item AUTHOR

=item Copyrights

=back

=head2 perlport - Writing portable Perl

=over 4

=item DESCRIPTION

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

=item ISSUES

=over 4

=item Newlines

=item Numbers endianness and Width

=item Files and Filesystems

=item System Interaction

=item Command names versus file pathnames

=item Networking

=item Interprocess Communication (IPC)

=item External Subroutines (XS)

=item Standard Modules

=item Time and Date

=item Character sets and character encoding

=item Internationalisation

=item System Resources

=item Security

=item Style

=back

=item CPAN Testers

=item PLATFORMS

=over 4

=item Unix

=item DOS and Derivatives

=item VMS

=item VOS

=item EBCDIC Platforms

=item Acorn RISC OS

=item Other perls

=back

=item FUNCTION IMPLEMENTATIONS

=over 4

=item Alphabetical Listing of Perl Functions

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

=back

=item 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

=item EOL Platforms

=over 4

=item (Perl 5.37.1)

Ultrix

=item (Perl 5.36)

NetWare, DOS/DJGPP, AT&T UWIN

=item (Perl 5.20)

AT&T 3b1

=item (Perl 5.14)

Windows 95, Windows 98, Windows ME, Windows NT4

=item (Perl 5.12)

Atari MiNT, Apollo Domain/OS, Apple Mac OS 8/9, Tenon Machten

=back

=item Supported Platforms (Perl 5.8)

=item SEE ALSO

=item AUTHORS / CONTRIBUTORS

=back

=head2 perllocale - Perl locale handling (internationalization and
localization)

=over 4

=item DESCRIPTION

=item WHAT IS A LOCALE

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

=item PREPARING TO USE LOCALES

=item USING LOCALES

=over 4

=item The C<"use locale"> pragma

B<Not within the scope of C<"use locale">>, B<Lingering effects of C<S<use
locale>>>, B<Under C<"use locale";>>

=item The setlocale function

=item Multi-threaded operation

=item Finding locales

=item LOCALE PROBLEMS

=item The localeconv function

=item I18N::Langinfo

=back

=item LOCALE CATEGORIES

=over 4

=item Category C<LC_COLLATE>: Collation: Text Comparisons and Sorting

=item Category C<LC_CTYPE>: Character Types

=item Category C<LC_NUMERIC>: Numeric Formatting

=item Category C<LC_MONETARY>: Formatting of monetary amounts

=item Category C<LC_TIME>: Representation of time

=item Category C<LC_MESSAGES>: System messages

=item Other categories

=back

=item SECURITY

=item ENVIRONMENT

PERL_SKIP_LOCALE_INIT, PERL_BADLANG, C<LC_ALL>, C<LANGUAGE>, C<LC_CTYPE>,
C<LC_COLLATE>, C<LC_MONETARY>, C<LC_NUMERIC>, C<LC_TIME>, C<LANG>

=over 4

=item Examples

=back

=item NOTES

=over 4

=item String C<eval> and C<LC_NUMERIC>

=item Backward compatibility

=item I18N:Collate obsolete

=item Sort speed and memory use impacts

=item Freely available locale definitions

=item I18n and l10n

=item An imperfect standard

=back

=item Unicode and UTF-8

=item BUGS

=over 4

=item Collation of strings containing embedded C<NUL> characters

=item C<LANGUAGE>

=item Embedded perls and multi-threaded

=item Broken systems

=back

=item SEE ALSO

=item HISTORY

=back

=head2 perluniintro - Perl Unicode introduction

=over 4

=item DESCRIPTION

=over 4

=item Unicode

=item Perl's Unicode Support

=item Perl's Unicode Model

=item Unicode and EBCDIC

=item Creating Unicode

=item Handling Unicode

=item Legacy Encodings

=item Unicode I/O

=item Displaying Unicode As Text

=item Special Cases

=item Advanced Topics

=item Miscellaneous

=item Questions With Answers

=item Hexadecimal Notation

=item Further Resources

=back

=item UNICODE IN OLDER PERLS

=item SEE ALSO

=item ACKNOWLEDGMENTS

=item AUTHOR, COPYRIGHT, AND LICENSE

=back

=head2 perlunicode - Unicode support in Perl

=over 4

=item DESCRIPTION

=over 4

=item Important Caveats

Safest if you C<use feature 'unicode_strings'>, Input and Output Layers,
You must convert your non-ASCII, non-UTF-8 Perl scripts to be UTF-8, C<use
utf8> still needed to enable L<UTF-8|perlunicode/Unicode Encodings> in
scripts, L<UTF-16|perlunicode/Unicode Encodings> scripts autodetected

=item Byte and Character Semantics

=item ASCII Rules versus Unicode Rules

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

=item Extended Grapheme Clusters (Logical characters)

=item Unicode Character Properties

B<C<\p{All}>>, B<C<\p{Alnum}>>, B<C<\p{Any}>>, B<C<\p{ASCII}>>,
B<C<\p{Assigned}>>, B<C<\p{Blank}>>, B<C<\p{Decomposition_Type:
Non_Canonical}>>    (Short: C<\p{Dt=NonCanon}>), B<C<\p{Graph}>>,
B<C<\p{HorizSpace}>>, B<C<\p{In=*}>>, B<C<\p{PerlSpace}>>,
B<C<\p{PerlWord}>>, B<C<\p{Posix...}>>, B<C<\p{Present_In: *}>>    (Short:
C<\p{In=*}>), B<C<\p{Print}>>, B<C<\p{SpacePerl}>>, B<C<\p{Title}>> and 
B<C<\p{Titlecase}>>, B<C<\p{Unicode}>>, B<C<\p{VertSpace}>>,
B<C<\p{Word}>>, B<C<\p{XPosix...}>>

=item Comparison of C<\N{...}> and C<\p{name=...}>

[1], [2], [3], [4], [5]

=item Wildcards in Property Values

=item User-Defined Character Properties

=item User-Defined Case Mappings (for serious hackers only)

=item Character Encodings for Input and Output

=item Unicode Regular Expression Support Level

[1] C<\N{U+...}> and C<\x{...}>, [2] C<\p{...}> C<\P{...}>.  This
requirement is for a minimal list of properties.  Perl supports these.	See
R2.7 for other properties, [3], [4], [5] C<\b> C<\B> meet most, but not
all, the details of this requirement, but C<\b{wb}> and C<\B{wb}> do, as
well as the stricter R2.3, [6], [7], [8] UTF-8/UTF-EBDDIC used in Perl
allows not only C<U+10000> to C<U+10FFFF> but also beyond C<U+10FFFF>, [9]
Unicode has rewritten this portion of UTS#18 to say that getting canonical
equivalence (see UAX#15 L<"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 L<Unicode::Normalize>), [10] Perl
has C<\X> and C<\b{gcb}>.  Unicode has retracted their "Grapheme Cluster
Mode", and recently added string properties, which Perl does not yet
support, [11] see L<UAX#29 "Unicode Text
Segmentation"|https://www.unicode.org/reports/tr29>,, [12] see
L<perlunicode/Wildcards in Property Values> 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

=item Unicode Encodings

=item Noncharacter code points

=item Beyond Unicode code points

=item Security Implications of Unicode

=item Unicode in Perl on EBCDIC

=item Locales

=item When Unicode Does Not Happen

=item The "Unicode Bug"

=item Forcing Unicode in Perl (Or Unforcing Unicode in Perl)

=item Using Unicode in XS

=item Hacking Perl to work on earlier Unicode versions (for very serious
hackers only)

=item Porting code from perl-5.6.X

=back

=item BUGS

=over 4

=item Interaction with Extensions

=item Speed

=back

=item SEE ALSO

=back

=head2 perlunicook - cookbookish examples of handling Unicode in Perl

=over 4

=item DESCRIPTION

=item EXAMPLES

=over 4

=item ℞ 0: Standard preamble

=item ℞ 1: Generic Unicode-savvy filter

=item ℞ 2: Fine-tuning Unicode warnings

=item ℞ 3: Declare source in utf8 for identifiers and literals

=item ℞ 4: Characters and their numbers

=item ℞ 5: Unicode literals by character number

=item ℞ 6: Get character name by number

=item ℞ 7: Get character number by name

=item ℞ 8: Unicode named characters

=item ℞ 9: Unicode named sequences

=item ℞ 10: Custom named characters

=item ℞ 11: Names of CJK codepoints

=item ℞ 12: Explicit encode/decode

=item ℞ 13: Decode program arguments as utf8

=item ℞ 14: Decode program arguments as locale encoding

=item ℞ 15: Declare STD{IN,OUT,ERR} to be utf8

=item ℞ 16: Declare STD{IN,OUT,ERR} to be in locale encoding

=item ℞ 17: Make file I/O default to utf8

=item ℞ 18: Make all I/O and args default to utf8

=item ℞ 19: Open file with specific encoding

=item ℞ 20: Unicode casing

=item ℞ 21: Unicode case-insensitive comparisons

=item ℞ 22: Match Unicode linebreak sequence in regex

=item ℞ 23: Get character category

=item ℞ 24: Disabling Unicode-awareness in builtin charclasses

=item ℞ 25: Match Unicode properties in regex with \p, \P

=item ℞ 26: Custom character properties

=item ℞ 27: Unicode normalization

=item ℞ 28: Convert non-ASCII Unicode numerics

=item ℞ 29: Match Unicode grapheme cluster in regex

=item ℞ 30: Extract by grapheme instead of by codepoint (regex)

=item ℞ 31: Extract by grapheme instead of by codepoint (substr)

=item ℞ 32: Reverse string by grapheme

=item ℞ 33: String length in graphemes

=item ℞ 34: Unicode column-width for printing

=item ℞ 35: Unicode collation

=item ℞ 36: Case- I<and> accent-insensitive Unicode sort

=item ℞ 37: Unicode locale collation

=item ℞ 38: Making C<cmp> work on text instead of codepoints

=item ℞ 39: Case- I<and> accent-insensitive comparisons

=item ℞ 40: Case- I<and> accent-insensitive locale comparisons

=item ℞ 41: Unicode linebreaking

=item ℞ 42: Unicode text in DBM hashes, the tedious way

=item ℞ 43: Unicode text in DBM hashes, the easy way

=item ℞ 44: PROGRAM: Demo of Unicode collation and printing

=back

=item 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

=item AUTHOR

=item COPYRIGHT AND LICENCE

=item REVISION HISTORY

=back

=head2 perlunifaq - Perl Unicode FAQ

=over 4

=item Q and A

=over 4

=item perlunitut isn't really a Unicode tutorial, is it?

=item What character encodings does Perl support?

=item Which version of perl should I use?

=item What about binary data, like images?

=item When should I decode or encode?

=item What if I don't decode?

=item 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

=item Is there a way to automatically decode or encode?

=item What if I don't know which encoding was used?

=item Can I use Unicode in my Perl sources?

=item Data::Dumper doesn't restore the UTF8 flag; is it broken?

=item Why do regex character classes sometimes match only in the ASCII
range?

=item Why do some characters not uppercase or lowercase correctly?

=item How can I determine if a string is a text string or a binary string?

=item How do I convert from encoding FOO to encoding BAR?

=item What are C<decode_utf8> and C<encode_utf8>?

=item What is a "wide character"?

=back

=item INTERNALS

=over 4

=item What is "the UTF8 flag"?

=item What about the C<use bytes> pragma?

=item What about the C<use encoding> pragma?

=item What is the difference between C<:encoding> and C<:utf8>?

=item What's the difference between C<UTF-8> and C<utf8>?

=item I lost track; what encoding is the internal format really?

=back

=item AUTHOR

=item SEE ALSO

=back

=head2 perluniprops - Index of Unicode Version 16.0.0 character properties
in Perl

=over 4

=item DESCRIPTION

=item Properties accessible through C<\p{}> and C<\P{}>

Single form (C<\p{name}>) tighter rules:, white space adjacent to a
non-word character, underscores separating digits in numbers, Compound form
(C<\p{name=value}> or C<\p{name:value}>) tighter rules:, Stabilized,
Deprecated, Obsolete, Discouraged, Z<>B<*> is a wild-card, B<(\d+)> in the
info column gives the number of Unicode code points matched by this
property, B<D> means this is deprecated, B<O> means this is obsolete, B<S>
means this is stabilized, B<T> means tighter (stricter) name matching
applies, B<X> means use of this form is discouraged, and may not be stable

=over 4

=item Legal C<\p{}> and C<\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}

=back

=item Properties accessible through Unicode::UCD

=item Properties accessible through other means

=item Unicode character properties that are NOT accepted by Perl

I<Expands_On_NFC> (XO_NFC), I<Expands_On_NFD> (XO_NFD), I<Expands_On_NFKC>
(XO_NFKC), I<Expands_On_NFKD> (XO_NFKD), I<Grapheme_Link> (Gr_Link),
I<Jamo_Short_Name> (JSN), I<Other_Alphabetic> (OAlpha),
I<Other_Default_Ignorable_Code_Point> (ODI), I<Other_Grapheme_Extend>
(OGr_Ext), I<Other_ID_Continue> (OIDC), I<Other_ID_Start> (OIDS),
I<Other_Lowercase> (OLower), I<Other_Math> (OMath), I<Other_Uppercase>
(OUpper), I<Script=Katakana_Or_Hiragana> (sc=Hrkt),
I<Script_Extensions=Katakana_Or_Hiragana> (scx=Hrkt)

=item Other information in the Unicode data base

F<auxiliary/GraphemeBreakTest.html>, F<auxiliary/LineBreakTest.html>,
F<auxiliary/SentenceBreakTest.html>, F<auxiliary/WordBreakTest.html>,
F<BidiCharacterTest.txt>, F<BidiTest.txt>, F<CJKRadicals.txt>,
F<confusables.txt>, F<confusablesSummary.txt>, F<DoNotEmit.txt>,
F<intentional.txt>, F<emoji/ReadMe.txt>, F<ReadMe.txt>,
F<EmojiSources.txt>, F<extracted/DName.txt>, F<Index.txt>,
F<NamedSqProv.txt>, F<NamesList.html>, F<NamesList.txt>,
F<NormalizationCorrections.txt>, F<NushuSources.txt>,
F<StandardizedVariants.html>, F<StandardizedVariants.txt>,
F<TangutSources.txt>, F<USourceData.txt>, F<USourceGlyphs.pdf>

=item SEE ALSO

=back

=head2 perlunitut - Perl Unicode Tutorial

=over 4

=item DESCRIPTION

=over 4

=item Definitions

=item Your new toolkit

=item I/O flow (the actual 5 minute tutorial)

=back

=item SUMMARY

=item Q and A (or FAQ)

=item ACKNOWLEDGEMENTS

=item AUTHOR

=item SEE ALSO

=back

=head2 perlebcdic - Considerations for running Perl on EBCDIC platforms

=over 4

=item DESCRIPTION

=item COMMON CHARACTER CODE SETS

=over 4

=item ASCII

=item ISO 8859

=item Latin 1 (ISO 8859-1)

=item EBCDIC

B<0037>, B<1047>, B<POSIX-BC>

=item Unicode code points versus EBCDIC code points

=item Unicode and UTF

=item Using Encode

=back

=item SINGLE OCTET TABLES

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

=over 4

=item Table in hex, sorted in 1047 order

=back

=item IDENTIFYING CHARACTER CODE SETS

=item CONVERSIONS

=over 4

=item C<utf8::unicode_to_native()> and C<utf8::native_to_unicode()>

=item tr///

=item iconv

=item C RTL

=back

=item OPERATOR DIFFERENCES

=item FUNCTION DIFFERENCES

C<chr()>, C<ord()>, C<pack()>, C<print()>, C<printf()>, C<sort()>,
C<sprintf()>, C<unpack()>

=item REGULAR EXPRESSION DIFFERENCES

=item SOCKETS

=item SORTING

=over 4

=item Ignore ASCII vs. EBCDIC sort differences

=item Use a sort helper function

=item MONO CASE then sort data (for non-digits, non-underscore)

=item Perform sorting on one type of platform only

=back

=item TRANSFORMATION FORMATS

=over 4

=item URL decoding and encoding

=item uu encoding and decoding

=item Quoted-Printable encoding and decoding

=item Caesarean ciphers

=back

=item Hashing order and checksums

=item I18N AND L10N

=item MULTI-OCTET CHARACTER SETS

=item OS ISSUES

=over 4

=item OS/400

PASE, IFS access

=item OS/390, z/OS

C<sigaction>, C<chcp>, dataset access, C<iconv>, locales

=item POSIX-BC?

=back

=item BUGS

=item SEE ALSO

=item REFERENCES

=item HISTORY

=item AUTHOR

=back

=head2 perlsec - Perl security

=over 4

=item DESCRIPTION

=item SECURITY VULNERABILITY CONTACT INFORMATION

=item SECURITY MECHANISMS AND CONCERNS

=over 4

=item Taint mode

=item Laundering and Detecting Tainted Data

=item Switches On the "#!" Line

=item Taint mode and @INC

=item Cleaning Up Your Path

=item Shebang Race Condition

=item Protecting Your Programs

=item Unicode

=item Algorithmic Complexity Attacks

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

=item Using Sudo

=back

=item SEE ALSO

=back

=head2 perlsecpolicy - Perl security report handling policy

=over 4

=item DESCRIPTION

=item REPORTING SECURITY ISSUES IN PERL

=item WHAT ARE SECURITY ISSUES

=over 4

=item Software covered by the Perl security team

=item Bugs that may qualify as security issues in Perl

=item Bugs that do not qualify as security issues in Perl

=item Bugs that require special categorization

=back

=item HOW WE DEAL WITH SECURITY ISSUES

=over 4

=item Perl's vulnerability remediation workflow

=item Publicly known and zero-day security issues

=item Vulnerability credit and bounties

=item Embargo Period

=item Example Release Process

=back

=back

=head2 perlmod - Perl modules (packages and symbol tables)

=over 4

=item DESCRIPTION

=over 4

=item Is this the document you were after?

This doc, L<perlnewmod>, L<perlmodstyle>

=item Packages
X<package> X<namespace> X<variable, global> X<global variable> X<global>

=item Symbol Tables
X<symbol table> X<stash> X<%::> X<%main::> X<typeglob> X<glob> X<alias>

=item BEGIN, UNITCHECK, CHECK, INIT and END
X<BEGIN> X<UNITCHECK> X<CHECK> X<INIT> X<END>

=item Perl Classes
X<class> X<@ISA>

=item Perl Modules
X<module>

=item Making your module threadsafe
X<threadsafe> X<thread safe>
X<module, threadsafe> X<module, thread safe>
X<CLONE> X<CLONE_SKIP> X<thread> X<threads> X<ithread>

=back

=item SEE ALSO

=back

=head2 perlmodlib - constructing new Perl modules and finding existing ones

=over 4

=item THE PERL MODULE LIBRARY

=over 4

=item 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, source::encoding, stable, strict, subs, threads,
threads::shared, utf8, vars, version, vmsish, warnings, warnings::register

=item 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, C<IO::Socket::IP>,
C<Socket>, C<Test2::Tools::Refcount>, CORE, CPAN, CPAN::API::HOWTO,
CPAN::Debug, CPAN::Distroprefs, CPAN::FirstTime, CPAN::HandleConfig,
CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter, CPAN::Meta::Feature,
CPAN::Meta::History, CPAN::Meta::History::Meta_1_0,
CPAN::Meta::History::Meta_1_1, CPAN::Meta::History::Meta_1_2,
CPAN::Meta::History::Meta_1_3, CPAN::Meta::History::Meta_1_4,
CPAN::Meta::Merge, CPAN::Meta::Prereqs, CPAN::Meta::Requirements,
CPAN::Meta::Requirements::Range, CPAN::Meta::Spec, CPAN::Meta::Validator,
CPAN::Meta::YAML, CPAN::Nox, CPAN::Plugin, CPAN::Plugin::Specfile,
CPAN::Queue, CPAN::Tarzip, CPAN::Version, Carp, Class::Struct,
Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config,
Config::Extensions, Config::Perl::V, Cwd, DB, DBM_Filter,
DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32,
DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::PPPort,
Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA,
Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode,
Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN,
Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder,
Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP,
Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR,
Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO,
Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode,
Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy,
ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant,
ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX,
ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS,
ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5,
ExtUtils::MM_OS2, ExtUtils::MM_OS390, ExtUtils::MM_QNX, ExtUtils::MM_UWIN,
ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32,
ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker,
ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ,
ExtUtils::MakeMaker::Locale, ExtUtils::MakeMaker::Tutorial,
ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap,
ExtUtils::Mksymlists, ExtUtils::PL2Bat, ExtUtils::Packlist,
ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval,
ExtUtils::ParseXS::Node, 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, IO::Compress::Base, IO::Compress::Bzip2,
IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip,
IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle,
IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
IO::Socket::UNIX, IO::Uncompress::AnyInflate,
IO::Uncompress::AnyUncompress, IO::Uncompress::Base,
IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate,
IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd,
IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem,
IPC::SysV, Internals, JSON::PP, JSON::PP::Boolean, List::Util,
List::Util::XS, Locale::Maketext, Locale::Maketext::Cookbook,
Locale::Maketext::Guts, Locale::Maketext::GutsLoader,
Locale::Maketext::Simple, Locale::Maketext::TPJ13, MIME::Base64,
MIME::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc,
Math::BigInt::FastCalc, Math::BigInt::Lib, Math::BigRat, Math::Complex,
Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire,
Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable,
Module::CoreList, Module::CoreList::Utils, Module::Load,
Module::Load::Conditional, Module::Loaded, Module::Metadata, NDBM_File,
NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::FTP::dataconn,
Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time,
Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O,
ODBM_File, Opcode, POSIX, Params::Check, Parse::CPAN::Meta, Perl::OSType,
PerlIO, PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via,
PerlIO::via::QuotedPrint, Pod::Checker, Pod::Escapes, Pod::Functions,
Pod::Html, Pod::Html::Util, Pod::Man, Pod::ParseLink, Pod::Perldoc,
Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO, Pod::Perldoc::ToANSI,
Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToTerm,
Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::Simple,
Pod::Simple::Checker, Pod::Simple::Debug, Pod::Simple::DumpAsText,
Pod::Simple::DumpAsXML, Pod::Simple::HTML, Pod::Simple::HTMLBatch,
Pod::Simple::JustPod, Pod::Simple::LinkSection, Pod::Simple::Methody,
Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken,
Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search,
Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text,
Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream,
Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap,
Pod::Usage, SDBM_File, Safe, Scalar::List::Utils, Scalar::Util,
Search::Dict, SelectSaver, SelfLoader, Storable, Sub::Util, Symbol,
Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32, TAP::Base,
TAP::Formatter::Base, TAP::Formatter::Color, TAP::Formatter::Console,
TAP::Formatter::Console::ParallelSession, TAP::Formatter::Console::Session,
TAP::Formatter::File, TAP::Formatter::File::Session,
TAP::Formatter::Session, TAP::Harness, TAP::Harness::Env, TAP::Object,
TAP::Parser, TAP::Parser::Aggregator, TAP::Parser::Grammar,
TAP::Parser::Iterator, TAP::Parser::Iterator::Array,
TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream,
TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer,
TAP::Parser::Result, TAP::Parser::Result::Bailout,
TAP::Parser::Result::Comment, TAP::Parser::Result::Plan,
TAP::Parser::Result::Pragma, TAP::Parser::Result::Test,
TAP::Parser::Result::Unknown, TAP::Parser::Result::Version,
TAP::Parser::Result::YAML, TAP::Parser::ResultFactory,
TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job,
TAP::Parser::Scheduler::Spinner, TAP::Parser::Source,
TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable,
TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle,
TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::RawTAP,
TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer,
Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Term::Table,
Term::Table::Cell, Term::Table::CellStack, Term::Table::HashBase,
Term::Table::LineBreak, Term::Table::Util, Test, Test2, Test2::API,
Test2::API::Breakage, Test2::API::Context, Test2::API::Instance,
Test2::API::InterceptResult, Test2::API::InterceptResult::Event,
Test2::API::InterceptResult::Hub, Test2::API::InterceptResult::Squasher,
Test2::API::Stack, Test2::AsyncSubtest, Test2::AsyncSubtest::Event::Attach,
Test2::AsyncSubtest::Event::Detach, Test2::AsyncSubtest::Hub,
Test2::Bundle, Test2::Bundle::Extended, Test2::Bundle::More,
Test2::Bundle::Simple, Test2::Compare, Test2::Compare::Array,
Test2::Compare::Bag, Test2::Compare::Base, Test2::Compare::Bool,
Test2::Compare::Custom, Test2::Compare::DeepRef, Test2::Compare::Delta,
Test2::Compare::Event, Test2::Compare::EventMeta, Test2::Compare::Float,
Test2::Compare::Hash, Test2::Compare::Isa, Test2::Compare::Meta,
Test2::Compare::Negatable, Test2::Compare::Number, Test2::Compare::Object,
Test2::Compare::OrderedSubset, Test2::Compare::Pattern,
Test2::Compare::Ref, Test2::Compare::Regex, Test2::Compare::Scalar,
Test2::Compare::Set, Test2::Compare::String, Test2::Compare::Undef,
Test2::Compare::Wildcard, Test2::Env, 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::EndToEnd,
Test2::Manual::Anatomy::Event, Test2::Manual::Anatomy::Hubs,
Test2::Manual::Anatomy::IPC, Test2::Manual::Anatomy::Utilities,
Test2::Manual::Concurrency, Test2::Manual::Contributing,
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::Sig, 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::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

=item Extension Modules

=back

=item CPAN

=item Modules: Creation, Use, and Abuse

=over 4

=item Guidelines for Module Creation

=item Guidelines for Converting Perl 4 Library Scripts into Modules

=item Guidelines for Reusing Application Code

=back

=item NOTE

=back

=head2 perlmodstyle - Perl module style guide

=over 4

=item INTRODUCTION

=item QUICK CHECKLIST

=over 4

=item Before you start

=item The API

=item Stability

=item Documentation

=item Release considerations

=back

=item BEFORE YOU START WRITING A MODULE

=over 4

=item Has it been done before?

=item Do one thing and do it well

=item What's in a name?

=item Get feedback before publishing

=back

=item DESIGNING AND WRITING YOUR MODULE

=over 4

=item To OO or not to OO?

=item Designing your API

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

=item Strictness and warnings

=item Backwards compatibility

=item Error handling and messages

=back

=item DOCUMENTING YOUR MODULE

=over 4

=item POD

=item README, INSTALL, release notes, changelogs

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

=back

=item RELEASE CONSIDERATIONS

=over 4

=item Version numbering

=item Pre-requisites

=item Testing

=item Packaging

=item Licensing

=back

=item COMMON PITFALLS

=over 4

=item Reinventing the wheel

=item Trying to do too much

=item Inappropriate documentation

=back

=item SEE ALSO

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

=item AUTHOR

=back

=head2 perlmodinstall - Installing CPAN Modules

=over 4

=item DESCRIPTION

=over 4

=item PREAMBLE

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

=back

=item PORTABILITY

=item HEY

=item AUTHOR

=item COPYRIGHT

=back

=head2 perlnewmod - preparing a new module for distribution

=over 4

=item DESCRIPTION

=over 4

=item Warning

=item What should I make into a module?

=item Step-by-step: Preparing the ground

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

=item Step-by-step: Making the module

Start with F<module-starter> or F<h2xs>, Use L<strict|strict> and
L<warnings|warnings>, Use L<Carp|Carp>, Use L<Exporter|Exporter> - wisely!,
Use L<plain old documentation|perlpod>, Write tests, Write the F<README>,
Write F<Changes>

=item Step-by-step: Distributing your module

Get a CPAN user ID, Make the tarball, Upload the tarball, Fix bugs!

=back

=item AUTHOR

=item SEE ALSO

=back

=head2 perlpragma - how to write a user pragma

=over 4

=item DESCRIPTION

=item A basic example

=item Key naming

=item Implementation details

=back

=head2 perlutil - utilities packaged with the Perl distribution

=over 4

=item DESCRIPTION

=item LIST OF UTILITIES

=over 4

=item Documentation

L<perldoc>, L<pod2man>, L<pod2text>, L<pod2html>, L<pod2usage>,
L<podchecker>, L<splain>, F<roffitall>

=item Converters

L<pl2pm>

=item Administration

L<libnetcfg>, L<perlivp>

=item Development

L<perlbug>, L<perlthanks|perlbug>, L<h2ph>, L<h2xs>, L<enc2xs>, L<xsubpp>,
L<prove>, L<corelist>

=item General tools

L<encguess>, L<json_pp>, L<piconv>, L<ptar>, L<ptardiff>, L<ptargrep>,
L<shasum>, L<streamzip>, L<zipdetails>

=item Installation

L<cpan>, L<instmodsh>

=back

=item SEE ALSO

=back

=head2 perlfilter - Source Filters

=over 4

=item DESCRIPTION

=item CONCEPTS

=item USING FILTERS

=item WRITING A SOURCE FILTER

=item WRITING A SOURCE FILTER IN C

B<Decryption Filters>

=item CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE

=item WRITING A SOURCE FILTER IN PERL

=item USING CONTEXT: THE DEBUG FILTER

=item CONCLUSION

=item LIMITATIONS

=item THINGS TO LOOK OUT FOR

Some Filters Clobber the C<DATA> Handle

=item REQUIREMENTS

=item AUTHOR

=item Copyrights

=back

=head2 perldtrace - Perl's support for DTrace

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item HISTORY

=item 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)

=item 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

=item REFERENCES

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

=item SEE ALSO

L<Devel::DTrace::Provider>

=item AUTHORS

=back

=head2 perlglossary - Perl Glossary

=over 4

=item VERSION

=item DESCRIPTION

=over 4

=item 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

=item 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

=item 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

=item 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

=item 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

=item 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

=item G

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

=item H

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

=item 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

=item J

JAPH

=item K

key, keyword

=item 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

=item 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

=item N

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

=item O

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

=item P

package, pad, parameter, parent class, parse tree, parsing, patch, PATH,
pathname, pattern, pattern matching, PAUSE, Perl mongers, permission bits,
Pern, phaser, 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

=item Q

qualified, quantifier

=item 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

=item 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

=item 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

=item U

UDP, UID, umask, unary operator, Unicode, Unix, uppercase, UTF-8 string

=item V

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

=item W

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

=item X

XS, XSUB

=item Y

yacc

=item Z

zero width, zombie

=back

=item AUTHOR AND COPYRIGHT

=back

=head2 perlembed - how to embed perl in your C program

=over 4

=item DESCRIPTION

=over 4

=item PREAMBLE

B<Use C from Perl?>, B<Use a Unix program from Perl?>, B<Use Perl from
Perl?>, B<Use C from C?>, B<Use Perl from C?>

=item ROADMAP

=item Compiling your C program

=item Adding a Perl interpreter to your C program

=item Calling a Perl subroutine from your C program

=item Evaluating a Perl statement from your C program

=item Performing Perl pattern matches and substitutions from your C program

=item Fiddling with the Perl stack from your C program

=item Maintaining a persistent interpreter

=item Execution of END blocks

=item $0 assignments

=item Maintaining multiple interpreter instances

=item Using Perl modules, which themselves use C libraries, from your C
program

=item Using embedded Perl with POSIX locales

=back

=item Hiding Perl_

=item MORAL

=item AUTHOR

=item COPYRIGHT

=back

=head2 perldebguts - Guts of Perl debugging 

=over 4

=item DESCRIPTION

=item Debugger Internals

=over 4

=item Writing Your Own Debugger

=back

=item Frame Listing Output Examples

=item Debugging Regular Expressions

=over 4

=item Compile-time Output

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

=item Types of Nodes

=item Run-time Output

=back

=item Debugging Perl Memory Usage

=over 4

=item Using C<$ENV{PERL_DEBUG_MSTATS}>

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

=back

=item SEE ALSO

=back

=head2 perlxstut - Tutorial for writing XSUBs

=over 4

=item DESCRIPTION

=item SPECIAL NOTES

=over 4

=item make

=item Version caveat

=item Dynamic Loading versus Static Loading

=item Threads and PERL_NO_GET_CONTEXT

=back

=item TUTORIAL

=over 4

=item EXAMPLE 1

=item EXAMPLE 2

=item What has gone on?

=item Writing good test scripts

=item EXAMPLE 3

=item What's new here?

=item Input and Output Parameters

=item The XSUBPP Program

=item The TYPEMAP file

=item Warning about Output Arguments

=item EXAMPLE 4

=item What has happened here?

=item Anatomy of .xs file

=item Getting the fat out of XSUBs

=item More about XSUB arguments

=item The Argument Stack

=item Extending your Extension

=item Documenting your Extension

=item Installing your Extension

=item EXAMPLE 5

=item New Things in this Example

=item EXAMPLE 6

=item New Things in this Example

=item EXAMPLE 7 (Coming Soon)

=item EXAMPLE 8 (Coming Soon)

=item EXAMPLE 9 Passing open files to XSes

=item Troubleshooting these Examples

=back

=item See also

=item Author

=over 4

=item Last Changed

=back

=back

=head2 perlxs - XS language reference manual

=over 4

=item DESCRIPTION

=over 4

=item Introduction

=item On The Road

=item The Anatomy of an XSUB

=item The Argument Stack

=item The RETVAL Variable

=item Returning SVs, AVs and HVs through RETVAL

=item The MODULE Keyword

=item The PACKAGE Keyword

=item The PREFIX Keyword

=item The OUTPUT: Keyword

=item The NO_OUTPUT Keyword

=item The CODE: Keyword

=item The INIT: Keyword

=item The NO_INIT Keyword

=item The TYPEMAP: Keyword

=item Initializing Function Parameters

=item Default Parameter Values

=item The PREINIT: Keyword

=item The SCOPE: Keyword

=item The INPUT: Keyword

=item The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords

=item The C<length(NAME)> Keyword

=item Variable-length Parameter Lists

=item The C_ARGS: Keyword

=item The PPCODE: Keyword

=item Returning Undef And Empty Lists

=item The REQUIRE: Keyword

=item The CLEANUP: Keyword

=item The POSTCALL: Keyword

=item The BOOT: Keyword

=item The VERSIONCHECK: Keyword

=item The PROTOTYPES: Keyword

=item The PROTOTYPE: Keyword

=item The ALIAS: Keyword

=item The OVERLOAD: Keyword

=item The FALLBACK: Keyword

=item The INTERFACE: Keyword

=item The INTERFACE_MACRO: Keyword

=item The INCLUDE: Keyword

=item The INCLUDE_COMMAND: Keyword

=item The CASE: Keyword

=item The EXPORT_XSUB_SYMBOLS: Keyword

=item The & Unary Operator

=item Inserting POD, Comments and C Preprocessor Directives

=item Using XS With C++

=item Interface Strategy

=item Perl Objects And C Structures

=item 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)

=back

=item EXAMPLES

=item CAVEATS

=over 4

=item Use of standard C library functions

=item Event loops and control flow

=back

=item XS VERSION

=item AUTHOR DIAGNOSTICS

=item AUTHOR

=back

=head2 perlxstypemap - Perl XS C/Perl type mapping

=over 4

=item DESCRIPTION

=over 4

=item Anatomy of a typemap

=item The Role of the typemap File in Your Distribution

=item Sharing typemaps Between CPAN Distributions

=item Writing typemap Entries

=item 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

=back

=back

=head2 perlclib - Interacting with standard C library functions

=over 4

=item DESCRIPTION

=item libc functions to avoid

=over 4

=item Conventions

C<~>, C<t>, C<p>, C<n>, C<s>

=item File Operations

=item File Input and Output

=item File Positioning

=item Memory Management and String Handling

=item Character Class Tests

=item F<stdlib.h> functions

=item Miscellaneous functions

=back

=item Dealing with locales

=item Dealing with embedded perls and threads

=over 4

=item Functions always unsuitable for use under multi-threads

=item Functions which must be called at least once before starting threads

=item Functions that are thread-safe when called with appropriate arguments

=item Functions vulnerable to signals

=item General issues with thread-safety

=item Reentrant equivalent functions

For items marked C<*>, For the remaining items, If you #define
PERL_REENTRANT, If you don't enable automatic substitution

=item Functions that need the environment to be constant

=item Locale-specific issues

=back

=item SEE ALSO

=back

=head2 perlguts - Introduction to the Perl API

=over 4

=item DESCRIPTION

=item Variables

=over 4

=item Datatypes

=item What is an "IV"?

=item Working with SVs

C<SvIV(SV*)> (C<IV>) and C<SvUV(SV*)> (C<UV>), C<SvNV(SV*)> (C<double>),
Strings are a bit complicated:, Byte string: C<SvPVbyte(SV*, STRLEN len)>
or C<SvPVbyte_nolen(SV*)>, UTF-8 string: C<SvPVutf8(SV*, STRLEN len)> or
C<SvPVutf8_nolen(SV*)>, You can also use C<SvPV(SV*, STRLEN len)> or
C<SvPV_nolen(SV*)> to fetch the SV's raw internal buffer. This is tricky,
though; if your Perl string is C<"\xff\xff">, then depending on the SV's
internal encoding you might get back a 2-byte B<OR> a 4-byte C<char*>.
Moreover, if it's the 4-byte string, that could come from either Perl
C<"\xff\xff"> stored UTF-8 encoded, or Perl C<"\xc3\xbf\xc3\xbf"> stored as
raw octets. To differentiate between these you B<MUST> look up the SV's
UTF8 bit (cf. C<SvUTF8>) to know whether the source Perl string is 2
characters (C<SvUTF8> would be on) or 4 characters (C<SvUTF8> would be off)

=item Offsets

=item What's Really Stored in an SV?

=item Read-Only Values

=item Copy on Write

=item THINKFIRST before writing to a string buffer

Points to a COW buffer, Is READONLY, Contains a reference, Has some
relevant magic assigned, C<SV_CHECK_THINKFIRST(sv)> calls
C<sv_force_normal(sv)> to copy the string buffer, turning it into a mutable
string, C<SV_CHECK_THINKFIRST_COW_DROP(sv)> calls
C<sv_force_normal_flags(sv, SV_COW_DROP_PV)> which drops any string buffer
pointed to by C<sv>. This is usually used to avoid copying any COW string
to a new buffer, prior to writing some completely new string to C<sv>

=item Working with AVs

C<av_store_simple>, C<av_fetch_simple>, C<av_push_simple>, are not magical,
are not readonly, are "real" AVs (see next section), have an av_top_index
value > -2, Every accessible element in the array is either initialized but
empty or contains a pointer to a live SV, When a SV* is assigned to an
array element, the reference count on the SV is incremented. Conversely,
when the element is unset, or assigned a different SV*, the reference count
of the expelled SV is decremented

=item Working with HVs

=item Hash API Extensions

=item AVs, HVs and undefined values

=item References

=item Blessed References and Class Objects

=item Creating New Variables

GV_ADDMULTI, GV_ADDWARN

=item Reference Counts and Mortality

=item Stashes and Globs

=item I/O Handles

=item Double-Typed SVs

=item Magic Variables

=item Assigning Magic

=item Magic Virtual Tables

=item Finding Magic

=item Understanding the Magic of Tied Hashes and Arrays

=item Localizing changes

C<SAVEINT(int i)>, C<SAVEIV(IV i)>, C<SAVEI32(I32 i)>, C<SAVEI8(I8 i)>,
C<SAVEI16(I16 i)>, C<SAVEBOOL(int i)>, C<SAVESTRLEN(STRLEN i)>,
C<SAVESPTR(s)>, C<SAVEPPTR(p)>, C<SAVERCPV(char **ppv)>, C<SAVEGENERICSV(SV
**psv)>, C<SAVEFREESV(SV *sv)>, C<SAVEMORTALIZESV(SV *sv)>, C<SAVEFREEOP(OP
*op)>, C<SAVEFREEPV(p)>, C<SAVEFREERCPV(char *pv)>, C<SAVECLEARSV(SV *sv)>,
C<SAVEDELETE(HV *hv, char *key, I32 length)>,
C<SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)>,
C<SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)>, C<MORTALSVFUNC_X(SVFUNC_t
f, SV *sv)>, C<MORTALDESTRUCTOR_SV(SV *coderef, SV *args)>,
C<SAVESTACK_POS()>, C<SV* save_scalar(GV *gv)>, C<AV* save_ary(GV *gv)>,
C<HV* save_hash(GV *gv)>, C<void save_item(SV *item)>, C<SV* save_svref(SV
**sptr)>, C<void save_aptr(AV **aptr)>, C<void save_hptr(HV **hptr)>

=back

=item Subroutines

=over 4

=item XSUBs and the Argument Stack

=item Autoloading with XSUBs

=item Calling Perl Routines from within C Programs

=item Putting a C value on Perl stack

=item Scratchpads

=item Scratchpads and recursion

=back

=item Memory Allocation

=over 4

=item Allocation

=item Reallocation

=item Moving

=back

=item PerlIO

=item Compiled code

=over 4

=item Code tree

=item Examining the tree

=item Compile pass 1: check routines

=item Compile pass 1a: constant folding

=item Compile pass 2: context propagation

=item Compile pass 3: peephole optimization

=item Pluggable runops

=item Compile-time scope hooks

C<void bhk_start(pTHX_ int full)>, C<void bhk_pre_end(pTHX_ OP **o)>,
C<void bhk_post_end(pTHX_ OP **o)>, C<void bhk_eval(pTHX_ OP *const o)>

=back

=item Examining internal data structures with the C<dump> functions

=item How multiple interpreters and concurrency are supported

=over 4

=item Background and MULTIPLICITY

=item So what happened to dTHR?

=item How do I use all this in extensions?

=item Should I do anything special if I call perl from multiple threads?

=item Future Plans and PERL_IMPLICIT_SYS

=back

=item Internal Functions

=over 4

=item Formatted Printing of IVs, UVs, and NVs

=item Formatted Printing of SVs

=item Formatted Printing of Strings

=back

=back

=over 4

=item Formatted Printing of C<Size_t> and C<SSize_t>

=item Formatted Printing of C<Ptrdiff_t>, C<intmax_t>, C<short> and other
special sizes

=item Pointer-To-Integer and Integer-To-Pointer

=item Exception Handling

=item Source Documentation

=item Backwards compatibility

=back

=over 4

=item Unicode Support

=over 4

=item What B<is> Unicode, anyway?

=item How can I recognise a UTF-8 string?

=item How does UTF-8 represent Unicode characters?

=item How does Perl store UTF-8 strings?

=item How do I pass a Perl string to a C library?

bytes: 0x64 0x78 0x8c, UTF-8: 0x64 0x78 0xc2 0x8c

=item How do I convert a string to UTF-8?

=item How do I compare strings?

=item Is there anything else I need to know?

=back

=item 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, xop_dump

=item Stacks

=over 4

=item Value Stack

=item Mark Stack

=item Temporaries Stack

=item Save Stack

=item Scope Stack

=back

=item Dynamic Scope and the Context Stack

=over 4

=item Introduction to the context stack

=item Pushing contexts

=item Popping contexts

=item Redoing contexts

=back

=item Reference-counted argument stack

=over 4

=item Introduction

=item Reference counted stack states

not reference-counted, fully reference-counted, partially reference-counted
(split)

=item Wrapping

=item (Re)writing a PP function using the rpp_() API

=back

=item Slab-based operator allocation

=item AUTHORS

=item SEE ALSO

=back

=head2 perlcall - Perl calling conventions from C

=over 4

=item DESCRIPTION

An Error Handler, An Event-Driven Program

=item THE CALL_ FUNCTIONS

call_sv, call_pv, call_method, call_argv

=item FLAG VALUES

=over 4

=item  G_VOID

=item  G_SCALAR

=item G_LIST

=item G_DISCARD

=item G_NOARGS

=item G_EVAL

=item G_KEEPERR

=item Determining the Context

=back

=item EXAMPLES

=over 4

=item No Parameters, Nothing Returned

=item Passing Parameters

=item Returning a Scalar

=item Returning a List of Values

=item Returning a List in Scalar Context

=item Returning Data from Perl via the Parameter List

=item Using G_EVAL

=item Using G_KEEPERR

=item Using call_sv

=item Using call_argv

=item Using call_method

=item Using GIMME_V

=item Using Perl to Dispose of Temporaries

=item 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

=item Alternate Stack Manipulation

=item Creating and Calling an Anonymous Subroutine in C

=back

=item LIGHTWEIGHT CALLBACKS

=item SEE ALSO

=item AUTHOR

=item DATE

=back

=head2 perlmroapi - Perl method resolution plugin interface

=over 4

=item DESCRIPTION

resolve, name, length, kflags, hash

=item Callbacks

=item Caching

=item Examples

=item AUTHORS

=back

=head2 perlreapi - Perl regular expression plugin interface

=over 4

=item DESCRIPTION

=item Callbacks

=over 4

=item comp

C</m> - RXf_PMf_MULTILINE, C</s> - RXf_PMf_SINGLELINE, C</i> -
RXf_PMf_FOLD, C</x> - RXf_PMf_EXTENDED, C</p> - RXf_PMf_KEEPCOPY, Character
set, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, RXf_WHITE, RXf_NULL,
RXf_NO_INPLACE_SUBST

=item exec

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

=item intuit

=item checkstr

=item free

=item Numbered capture callbacks

=item Named capture callbacks

=item qr_package

=item dupe

=item op_comp

=back

=item The REGEXP structure

=over 4

=item C<engine>

=item C<mother_re>

=item C<extflags>

=item C<minlen> C<minlenret>

=item C<gofs>

=item C<substrs>

=item C<nparens>, C<logical_nparens>

=item C<logical_to_parno>, C<parno_to_logical>, C<parno_to_logical_next>

=item C<lastparen>, and C<lastcloseparen>

=item C<intflags>

=item C<pprivate>

=item C<offs>

=item C<RX_PRECOMP> C<RX_PRELEN>

=item C<paren_names>

=item C<substrs>

=item C<subbeg> C<sublen> C<saved_copy> C<suboffset> C<subcoffset>

=item C<RX_WRAPPED> C<RX_WRAPLEN>

=item C<RX_REFCNT()>

=back

=item HISTORY

=item AUTHORS

=item LICENSE

=back

=head2 perlreguts - Description of the Perl regular expression engine.

=over 4

=item DESCRIPTION

=item OVERVIEW

=over 4

=item A quick note on terms

=item What is a regular expression engine?

=item Structure of a Regexp Program

C<regnode_1>, C<regnode_2>, C<regnode_string>, C<regnode_charclass>,
C<regnode_charclass_posixl>, "REGNODE_AFTER", "regnext"

=back

=item Process Overview

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

=over 4

=item Compilation

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

=item Execution

=back

=item MISCELLANEOUS

=over 4

=item Unicode and Localisation Support

=item Base Structures

C<regstclass>, C<data>, C<code_blocks>, C<proglen>, C<name_list_idx>,
C<program>

=back

=item SEE ALSO

=item AUTHOR

=item LICENCE

=item REFERENCES

=back

=head2 perlclassguts - Internals of how C<feature 'class'> and class syntax
works

=over 4

=item DESCRIPTION

=item DATA STORAGE

=over 4

=item Classes

=item Fields

=item Methods

=item Instances

=back

=item API

=over 4

=item Class Manipulation

=item Field Manipulation

=item Method Manipulation

=item Object Instances

=back

=item OPCODES

=over 4

=item OP_METHSTART

=item OP_INITFIELD

=back

=item COMPILE-TIME BEHAVIOUR

=over 4

=item C<ADJUST> Phasers

=item Attributes

=item Field Initializing Expressions

=back

=item RUNTIME BEHAVIOUR

=over 4

=item Constructor

=item C<$self> Access During Methods

=back

=item AUTHORS

=back

=head2 perlapi - autogenerated documentation for the perl public API

=over 4

=item DESCRIPTION
X<Perl API> X<API> X<api>

L<perlapi/AV Handling>, L<perlapi/Callback Functions>, L<perlapi/Casting>,
L<perlapi/Character case changing>, L<perlapi/Character classification>,
L<perlapi/Compiler and Preprocessor information>, L<perlapi/Compiler
directives>, L<perlapi/Compile-time scope hooks>, L<perlapi/Concurrency>,
L<perlapi/COPs and Hint Hashes>, L<perlapi/Custom Operators>, L<perlapi/CV
Handling>, L<perlapi/Debugging>, L<perlapi/Display functions>,
L<perlapi/Embedding, Threads, and Interpreter Cloning>, L<perlapi/Errno>,
L<perlapi/Exception Handling (simple) Macros>, L<perlapi/Filesystem
configuration values>, L<perlapi/Floating point>, L<perlapi/General
Configuration>, L<perlapi/Global Variables>, L<perlapi/GV Handling and
Stashes>, L<perlapi/Hook manipulation>, L<perlapi/HV Handling>,
L<perlapi/Input/Output>, L<perlapi/Integer>, L<perlapi/I/O Formats>,
L<perlapi/Lexer interface>, L<perlapi/Locales>, L<perlapi/Magic>,
L<perlapi/Memory Management>, L<perlapi/MRO>, L<perlapi/Multicall
Functions>, L<perlapi/Numeric Functions>, L<perlapi/Optrees>,
L<perlapi/Pack and Unpack>, L<perlapi/Pad Data Structures>,
L<perlapi/Password and Group access>, L<perlapi/Paths to system commands>,
L<perlapi/Prototype information>, L<perlapi/Reference-counted stack
manipulation>, L<perlapi/REGEXP Functions>, L<perlapi/Reports and Formats>,
L<perlapi/Signals>, L<perlapi/Site configuration>, L<perlapi/Sockets
configuration values>, L<perlapi/Source Filters>, L<perlapi/Stack
Manipulation Macros>, L<perlapi/String Handling>, L<perlapi/SV Flags>,
L<perlapi/SV Handling>, L<perlapi/Tainting>, L<perlapi/Time>,
L<perlapi/Typedef names>, L<perlapi/Unicode Support>, L<perlapi/Utility
Functions>, L<perlapi/Versioning>, L<perlapi/Warning and Dieing>,
L<perlapi/XS>, L<perlapi/Undocumented elements>

=item AV Handling

C<AV>, C<av_clear> X<av_clear>, C<av_count> X<av_count>,
C<av_create_and_push> X<av_create_and_push>, C<av_create_and_unshift_one>
X<av_create_and_unshift_one>, C<av_delete> X<av_delete>, C<av_exists>
X<av_exists>, C<av_extend> X<av_extend>, C<av_fetch> X<av_fetch>,
C<av_fill> X<av_fill>, C<av_len*>, C<av_make> X<av_make>, C<av_pop>
X<av_pop>, C<av_push>, C<av_push_simple> X<av_push>X<av_push_simple>,
C<av_shift> X<av_shift>, C<av_store> X<av_store>, C<av_top_index>,
C<av_tindex>, C<AvFILL>, C<av_len>
X<av_len>X<av_tindex>X<av_top_index>X<AvFILL>, C<av_undef> X<av_undef>,
C<av_unshift> X<av_unshift>, C<AvALLOC>, C<AvARRAY> X<AvARRAY>, C<AvFILL*>,
C<AvREFCNT_inc>, C<AvREFCNT_inc_simple>, C<AvREFCNT_inc_simple_NN>
X<AvREFCNT_inc>X<AvREFCNT_inc_simple>X<AvREFCNT_inc_simple_NN>, C<get_av>
X<get_av>, C<newAV>, C<newAV_mortal>, C<newAV_alloc_x>, C<newAV_alloc_xz>
X<newAV>X<newAV_alloc_x>X<newAV_alloc_xz>X<newAV_mortal>, C<newAV> form,
C<newAV_mortal> form, C<newAV_alloc_x> form, C<newAV_alloc_xz> form,
C<newAVav> X<newAVav>, C<newAVhv> X<newAVhv>, C<Nullav> X<Nullav>

=item Callback Functions
X<G_METHOD>X<G_METHOD_NAMED>X<G_RETHROW>X<G_USEHINTS>X<SAVEf_KEEPOLDELEM>
X<SAVEf_SETMAGIC>

C<call_argv> X<call_argv>, C<call_method> X<call_method>, C<call_pv>
X<call_pv>, C<call_sv> X<call_sv>, C<DESTRUCTORFUNC_NOCONTEXT_t>,
C<DESTRUCTORFUNC_t>, C<ENTER> X<ENTER>, C<ENTER_with_name>
X<ENTER_with_name>, C<eval_pv> X<eval_pv>, C<eval_sv> X<eval_sv>,
C<FREETMPS> X<FREETMPS>, C<G_DISCARD>, C<G_EVAL>, C<G_KEEPERR>, C<G_LIST>,
C<G_NOARGS>, C<G_SCALAR>, C<G_VOID>, C<GIMME> X<GIMME>, C<GIMME_V>
X<GIMME_V>, C<is_lvalue_sub> X<is_lvalue_sub>, C<LEAVE> X<LEAVE>,
C<LEAVE_with_name> X<LEAVE_with_name>, C<mortal_destructor_sv>
X<mortal_destructor_sv>, C<MORTALDESTRUCTOR_SV>, C<MORTALSVFUNC_X>,
C<PL_errgv>, C<save_aelem>, C<save_aelem_flags>
X<save_aelem>X<save_aelem_flags>, C<save_aptr>, C<save_ary>, C<save_hash>,
C<save_helem>, C<save_helem_flags> X<save_helem>X<save_helem_flags>,
C<save_hptr>, C<save_item>, C<save_scalar>, C<save_svref>, C<SAVEBOOL>,
C<SAVEDELETE>, C<SAVEDESTRUCTOR>, C<SAVEDESTRUCTOR_X>, C<SAVEFREEOP>,
C<SAVEFREEPV>, C<SAVEFREERCPV>, C<SAVEFREESV>, C<SAVEGENERICSV>,
C<SAVEINT>, C<SAVEIV>, C<SAVEI8>, C<SAVEI16>, C<SAVEI32>,
C<SAVEMORTALIZESV>, C<SAVEPPTR>, C<SAVERCPV>, C<SAVESPTR>,
C<SAVESTACK_POS>, C<SAVESTRLEN>, C<SAVETMPS> X<SAVETMPS>

=item Casting

C<cBOOL> X<cBOOL>, C<I_V> X<I_V>, C<I_32> X<I_32>, C<INT2PTR>, C<PTRV>,
C<PTR2IV>, C<PTR2nat>, C<PTR2NV>, C<PTR2ul>, C<PTR2UV>, C<U_V> X<U_V>,
C<U_32> X<U_32>

=item Character case changing

C<toFOLD>, C<toFOLD_A>, C<toFOLD_utf8>, C<toFOLD_utf8_safe>,
C<toFOLD_uvchr>
X<toFOLD>X<toFOLD_A>X<toFOLD_utf8>X<toFOLD_utf8_safe>X<toFOLD_uvchr>,
C<toLOWER>, C<toLOWER_A>, C<toLOWER_LATIN1>, C<toLOWER_LC>, C<toLOWER_L1>,
C<toLOWER_utf8>, C<toLOWER_utf8_safe>, C<toLOWER_uvchr>
X<toLOWER>X<toLOWER_A>X<toLOWER_LATIN1>X<toLOWER_LC>X<toLOWER_L1>
X<toLOWER_utf8>X<toLOWER_utf8_safe>X<toLOWER_uvchr>, C<toTITLE>,
C<toTITLE_A>, C<toTITLE_utf8>, C<toTITLE_utf8_safe>, C<toTITLE_uvchr>
X<toTITLE>X<toTITLE_A>X<toTITLE_utf8>X<toTITLE_utf8_safe>X<toTITLE_uvchr>,
C<toUPPER>, C<toUPPER_A>, C<toUPPER_utf8>, C<toUPPER_utf8_safe>,
C<toUPPER_uvchr>
X<toUPPER>X<toUPPER_A>X<toUPPER_utf8>X<toUPPER_utf8_safe>X<toUPPER_uvchr>

=item Character classification

C<isALNUM>, C<isALNUM_A>, C<isALNUM_LC>, C<isALNUM_LC_uvchr>
X<isALNUM>X<isALNUM_A>X<isALNUM_LC>X<isALNUM_LC_uvchr>, C<isALNUMC>,
C<isALNUMC_A>, C<isALNUMC_LC>, C<isALNUMC_LC_uvchr>, C<isALNUMC_L1>
X<isALNUMC>X<isALNUMC_A>X<isALNUMC_LC>X<isALNUMC_LC_uvchr>X<isALNUMC_L1>,
C<isALPHA>, C<isALPHA_A>, C<isALPHA_LC>, C<isALPHA_LC_utf8_safe>,
C<isALPHA_LC_uvchr>, C<isALPHA_L1>, C<isALPHA_utf8>, C<isALPHA_utf8_safe>,
C<isALPHA_uvchr> X<isALPHA>X<isALPHA_A>X<isALPHA_LC>X<isALPHA_LC_utf8_safe>
X<isALPHA_LC_uvchr>X<isALPHA_L1>X<isALPHA_utf8>X<isALPHA_utf8_safe>
X<isALPHA_uvchr>, C<isALPHANUMERIC>, C<isALPHANUMERIC_A>,
C<isALPHANUMERIC_LC>, C<isALPHANUMERIC_LC_utf8_safe>,
C<isALPHANUMERIC_LC_uvchr>, C<isALPHANUMERIC_L1>, C<isALPHANUMERIC_utf8>,
C<isALPHANUMERIC_utf8_safe>, C<isALPHANUMERIC_uvchr>
X<isALPHANUMERIC>X<isALPHANUMERIC_A>X<isALPHANUMERIC_LC>
X<isALPHANUMERIC_LC_utf8_safe>X<isALPHANUMERIC_LC_uvchr>
X<isALPHANUMERIC_L1>X<isALPHANUMERIC_utf8>X<isALPHANUMERIC_utf8_safe>
X<isALPHANUMERIC_uvchr>, C<isASCII>, C<isASCII_A>, C<isASCII_LC>,
C<isASCII_LC_utf8_safe>, C<isASCII_LC_uvchr>, C<isASCII_L1>,
C<isASCII_utf8>, C<isASCII_utf8_safe>, C<isASCII_uvchr>
X<isASCII>X<isASCII_A>X<isASCII_LC>X<isASCII_LC_utf8_safe>
X<isASCII_LC_uvchr>X<isASCII_L1>X<isASCII_utf8>X<isASCII_utf8_safe>
X<isASCII_uvchr>, C<isBLANK>, C<isBLANK_A>, C<isBLANK_LC>,
C<isBLANK_LC_utf8_safe>, C<isBLANK_LC_uvchr>, C<isBLANK_L1>,
C<isBLANK_utf8>, C<isBLANK_utf8_safe>, C<isBLANK_uvchr>
X<isBLANK>X<isBLANK_A>X<isBLANK_LC>X<isBLANK_LC_utf8_safe>
X<isBLANK_LC_uvchr>X<isBLANK_L1>X<isBLANK_utf8>X<isBLANK_utf8_safe>
X<isBLANK_uvchr>, C<isCNTRL>, C<isCNTRL_A>, C<isCNTRL_LC>,
C<isCNTRL_LC_utf8_safe>, C<isCNTRL_LC_uvchr>, C<isCNTRL_L1>,
C<isCNTRL_utf8>, C<isCNTRL_utf8_safe>, C<isCNTRL_uvchr>
X<isCNTRL>X<isCNTRL_A>X<isCNTRL_LC>X<isCNTRL_LC_utf8_safe>
X<isCNTRL_LC_uvchr>X<isCNTRL_L1>X<isCNTRL_utf8>X<isCNTRL_utf8_safe>
X<isCNTRL_uvchr>, C<isDIGIT>, C<isDIGIT_A>, C<isDIGIT_LC>,
C<isDIGIT_LC_utf8_safe>, C<isDIGIT_LC_uvchr>, C<isDIGIT_L1>,
C<isDIGIT_utf8>, C<isDIGIT_utf8_safe>, C<isDIGIT_uvchr>
X<isDIGIT>X<isDIGIT_A>X<isDIGIT_LC>X<isDIGIT_LC_utf8_safe>
X<isDIGIT_LC_uvchr>X<isDIGIT_L1>X<isDIGIT_utf8>X<isDIGIT_utf8_safe>
X<isDIGIT_uvchr>, C<isGRAPH>, C<isGRAPH_A>, C<isGRAPH_LC>,
C<isGRAPH_LC_utf8_safe>, C<isGRAPH_LC_uvchr>, C<isGRAPH_L1>,
C<isGRAPH_utf8>, C<isGRAPH_utf8_safe>, C<isGRAPH_uvchr>
X<isGRAPH>X<isGRAPH_A>X<isGRAPH_LC>X<isGRAPH_LC_utf8_safe>
X<isGRAPH_LC_uvchr>X<isGRAPH_L1>X<isGRAPH_utf8>X<isGRAPH_utf8_safe>
X<isGRAPH_uvchr>, C<isIDCONT>, C<isIDCONT_A>, C<isIDCONT_LC>,
C<isIDCONT_LC_utf8_safe>, C<isIDCONT_LC_uvchr>, C<isIDCONT_L1>,
C<isIDCONT_utf8>, C<isIDCONT_utf8_safe>, C<isIDCONT_uvchr>
X<isIDCONT>X<isIDCONT_A>X<isIDCONT_LC>X<isIDCONT_LC_utf8_safe>
X<isIDCONT_LC_uvchr>X<isIDCONT_L1>X<isIDCONT_utf8>X<isIDCONT_utf8_safe>
X<isIDCONT_uvchr>, C<isIDFIRST>, C<isIDFIRST_A>, C<isIDFIRST_LC>,
C<isIDFIRST_LC_utf8_safe>, C<isIDFIRST_LC_uvchr>, C<isIDFIRST_L1>,
C<isIDFIRST_utf8>, C<isIDFIRST_utf8_safe>, C<isIDFIRST_uvchr>
X<isIDFIRST>X<isIDFIRST_A>X<isIDFIRST_LC>X<isIDFIRST_LC_utf8_safe>
X<isIDFIRST_LC_uvchr>X<isIDFIRST_L1>X<isIDFIRST_utf8>
X<isIDFIRST_utf8_safe>X<isIDFIRST_uvchr>, C<isLOWER>, C<isLOWER_A>,
C<isLOWER_LC>, C<isLOWER_LC_utf8_safe>, C<isLOWER_LC_uvchr>, C<isLOWER_L1>,
C<isLOWER_utf8>, C<isLOWER_utf8_safe>, C<isLOWER_uvchr>
X<isLOWER>X<isLOWER_A>X<isLOWER_LC>X<isLOWER_LC_utf8_safe>
X<isLOWER_LC_uvchr>X<isLOWER_L1>X<isLOWER_utf8>X<isLOWER_utf8_safe>
X<isLOWER_uvchr>, C<isOCTAL>, C<isOCTAL_A>, C<isOCTAL_L1>
X<isOCTAL>X<isOCTAL_A>X<isOCTAL_L1>, C<isPRINT>, C<isPRINT_A>,
C<isPRINT_LC>, C<isPRINT_LC_utf8_safe>, C<isPRINT_LC_uvchr>, C<isPRINT_L1>,
C<isPRINT_utf8>, C<isPRINT_utf8_safe>, C<isPRINT_uvchr>
X<isPRINT>X<isPRINT_A>X<isPRINT_LC>X<isPRINT_LC_utf8_safe>
X<isPRINT_LC_uvchr>X<isPRINT_L1>X<isPRINT_utf8>X<isPRINT_utf8_safe>
X<isPRINT_uvchr>, C<isPSXSPC>, C<isPSXSPC_A>, C<isPSXSPC_LC>,
C<isPSXSPC_LC_utf8_safe>, C<isPSXSPC_LC_uvchr>, C<isPSXSPC_L1>,
C<isPSXSPC_utf8>, C<isPSXSPC_utf8_safe>, C<isPSXSPC_uvchr>
X<isPSXSPC>X<isPSXSPC_A>X<isPSXSPC_LC>X<isPSXSPC_LC_utf8_safe>
X<isPSXSPC_LC_uvchr>X<isPSXSPC_L1>X<isPSXSPC_utf8>X<isPSXSPC_utf8_safe>
X<isPSXSPC_uvchr>, C<isPUNCT>, C<isPUNCT_A>, C<isPUNCT_LC>,
C<isPUNCT_LC_utf8_safe>, C<isPUNCT_LC_uvchr>, C<isPUNCT_L1>,
C<isPUNCT_utf8>, C<isPUNCT_utf8_safe>, C<isPUNCT_uvchr>
X<isPUNCT>X<isPUNCT_A>X<isPUNCT_LC>X<isPUNCT_LC_utf8_safe>
X<isPUNCT_LC_uvchr>X<isPUNCT_L1>X<isPUNCT_utf8>X<isPUNCT_utf8_safe>
X<isPUNCT_uvchr>, C<isSPACE>, C<isSPACE_A>, C<isSPACE_LC>,
C<isSPACE_LC_utf8_safe>, C<isSPACE_LC_uvchr>, C<isSPACE_L1>,
C<isSPACE_utf8>, C<isSPACE_utf8_safe>, C<isSPACE_uvchr>
X<isSPACE>X<isSPACE_A>X<isSPACE_LC>X<isSPACE_LC_utf8_safe>
X<isSPACE_LC_uvchr>X<isSPACE_L1>X<isSPACE_utf8>X<isSPACE_utf8_safe>
X<isSPACE_uvchr>, C<isUPPER>, C<isUPPER_A>, C<isUPPER_LC>,
C<isUPPER_LC_utf8_safe>, C<isUPPER_LC_uvchr>, C<isUPPER_L1>,
C<isUPPER_utf8>, C<isUPPER_utf8_safe>, C<isUPPER_uvchr>
X<isUPPER>X<isUPPER_A>X<isUPPER_LC>X<isUPPER_LC_utf8_safe>
X<isUPPER_LC_uvchr>X<isUPPER_L1>X<isUPPER_utf8>X<isUPPER_utf8_safe>
X<isUPPER_uvchr>, C<isWORDCHAR>, C<isWORDCHAR_A>, C<isWORDCHAR_LC>,
C<isWORDCHAR_LC_utf8_safe>, C<isWORDCHAR_LC_uvchr>, C<isWORDCHAR_L1>,
C<isWORDCHAR_utf8>, C<isWORDCHAR_utf8_safe>, C<isWORDCHAR_uvchr>
X<isWORDCHAR>X<isWORDCHAR_A>X<isWORDCHAR_LC>X<isWORDCHAR_LC_utf8_safe>
X<isWORDCHAR_LC_uvchr>X<isWORDCHAR_L1>X<isWORDCHAR_utf8>
X<isWORDCHAR_utf8_safe>X<isWORDCHAR_uvchr>, C<isXDIGIT>, C<isXDIGIT_A>,
C<isXDIGIT_LC>, C<isXDIGIT_LC_utf8_safe>, C<isXDIGIT_LC_uvchr>,
C<isXDIGIT_L1>, C<isXDIGIT_utf8>, C<isXDIGIT_utf8_safe>, C<isXDIGIT_uvchr>
X<isXDIGIT>X<isXDIGIT_A>X<isXDIGIT_LC>X<isXDIGIT_LC_utf8_safe>
X<isXDIGIT_LC_uvchr>X<isXDIGIT_L1>X<isXDIGIT_utf8>X<isXDIGIT_utf8_safe>
X<isXDIGIT_uvchr>

=item Compiler and Preprocessor information

C<CPPLAST> X<CPPLAST>, C<CPPMINUS> X<CPPMINUS>, C<CPPRUN> X<CPPRUN>,
C<CPPSTDIN> X<CPPSTDIN>, C<HAS_BUILTIN_ADD_OVERFLOW>
X<HAS_BUILTIN_ADD_OVERFLOW>, C<HAS_BUILTIN_CHOOSE_EXPR>
X<HAS_BUILTIN_CHOOSE_EXPR>, C<HAS_BUILTIN_EXPECT> X<HAS_BUILTIN_EXPECT>,
C<HAS_BUILTIN_MUL_OVERFLOW> X<HAS_BUILTIN_MUL_OVERFLOW>,
C<HAS_BUILTIN_SUB_OVERFLOW> X<HAS_BUILTIN_SUB_OVERFLOW>,
C<HAS_C99_VARIADIC_MACROS> X<HAS_C99_VARIADIC_MACROS>, C<HAS_STATIC_INLINE>
X<HAS_STATIC_INLINE>, C<HASATTRIBUTE_ALWAYS_INLINE>
X<HASATTRIBUTE_ALWAYS_INLINE>, C<HASATTRIBUTE_DEPRECATED>
X<HASATTRIBUTE_DEPRECATED>, C<HASATTRIBUTE_FORMAT> X<HASATTRIBUTE_FORMAT>,
C<HASATTRIBUTE_NONNULL> X<HASATTRIBUTE_NONNULL>, C<HASATTRIBUTE_NORETURN>
X<HASATTRIBUTE_NORETURN>, C<HASATTRIBUTE_PURE> X<HASATTRIBUTE_PURE>,
C<HASATTRIBUTE_UNUSED> X<HASATTRIBUTE_UNUSED>, C<HASATTRIBUTE_VISIBILITY>
X<HASATTRIBUTE_VISIBILITY>, C<HASATTRIBUTE_WARN_UNUSED_RESULT>
X<HASATTRIBUTE_WARN_UNUSED_RESULT>, C<MEM_ALIGNBYTES> X<MEM_ALIGNBYTES>,
C<PERL_STATIC_INLINE> X<PERL_STATIC_INLINE>, C<PERL_THREAD_LOCAL>
X<PERL_THREAD_LOCAL>, C<U32_ALIGNMENT_REQUIRED> X<U32_ALIGNMENT_REQUIRED>

=item Compiler directives

C<__ASSERT_> X<__ASSERT_>, C<ASSUME> X<ASSUME>, C<dNOOP> X<dNOOP>,
C<END_EXTERN_C> X<END_EXTERN_C>, C<EXTERN_C> X<EXTERN_C>, C<LIKELY>
X<LIKELY>, C<NOOP> X<NOOP>, C<PERL_UNUSED_ARG> X<PERL_UNUSED_ARG>,
C<PERL_UNUSED_CONTEXT> X<PERL_UNUSED_CONTEXT>, C<PERL_UNUSED_DECL>
X<PERL_UNUSED_DECL>, C<PERL_UNUSED_RESULT> X<PERL_UNUSED_RESULT>,
C<PERL_UNUSED_VAR> X<PERL_UNUSED_VAR>, C<START_EXTERN_C> X<START_EXTERN_C>,
C<STATIC>, C<STMT_START>, C<STMT_END> X<STMT_END>X<STMT_START>, C<UNLIKELY>
X<UNLIKELY>

=item Compile-time scope hooks

C<BhkDISABLE> X<BhkDISABLE>, C<BhkENABLE> X<BhkENABLE>, C<BhkENTRY_set>
X<BhkENTRY_set>, C<blockhook_register> X<blockhook_register>

=item Concurrency

C<aTHX>, C<aTHX_>, C<CPERLscope> X<CPERLscope>, C<dTHR>, C<dTHX>, C<dTHXa>
X<dTHXa>, C<dTHXoa> X<dTHXoa>, C<dVAR> X<dVAR>,
C<GETENV_PRESERVES_OTHER_THREAD> X<GETENV_PRESERVES_OTHER_THREAD>,
C<HAS_PTHREAD_ATFORK> X<HAS_PTHREAD_ATFORK>, C<HAS_PTHREAD_ATTR_SETSCOPE>
X<HAS_PTHREAD_ATTR_SETSCOPE>, C<HAS_PTHREAD_YIELD> X<HAS_PTHREAD_YIELD>,
C<HAS_SCHED_YIELD> X<HAS_SCHED_YIELD>, C<I_MACH_CTHREADS>
X<I_MACH_CTHREADS>, C<I_PTHREAD> X<I_PTHREAD>, C<MULTIPLICITY>,
C<OLD_PTHREAD_CREATE_JOINABLE> X<OLD_PTHREAD_CREATE_JOINABLE>,
C<OLD_PTHREADS_API> X<OLD_PTHREADS_API>, C<PERL_IMPLICIT_CONTEXT>,
C<PERL_NO_GET_CONTEXT>, C<pTHX>, C<pTHX_>, C<SCHED_YIELD> X<SCHED_YIELD>

=item COPs and Hint Hashes
X<COPHH_KEY_UTF8>

C<cop_fetch_label> X<cop_fetch_label>, C<cop_hints_exists_pv>,
C<cop_hints_exists_pvn>, C<cop_hints_exists_pvs>, C<cop_hints_exists_sv>
X<cop_hints_exists_pv>X<cop_hints_exists_pvn>X<cop_hints_exists_pvs>
X<cop_hints_exists_sv>, C<cop_hints_fetch_pv>, C<cop_hints_fetch_pvn>,
C<cop_hints_fetch_pvs>, C<cop_hints_fetch_sv>
X<cop_hints_fetch_pv>X<cop_hints_fetch_pvn>X<cop_hints_fetch_pvs>
X<cop_hints_fetch_sv>, C<cop_hints_2hv> X<cop_hints_2hv>,
C<cop_store_label> X<cop_store_label>, C<CopFILE> X<CopFILE>,
C<CopFILE_copy> X<CopFILE_copy>, C<CopFILE_free> X<CopFILE_free>,
C<CopFILE_LEN> X<CopFILE_LEN>, C<CopFILE_set>, C<CopFILE_setn>
X<CopFILE_set>X<CopFILE_setn>, C<CopFILEAV> X<CopFILEAV>, C<CopFILEAVn>
X<CopFILEAVn>, C<CopFILEGV> X<CopFILEGV>, C<CopFILEGV_set>
X<CopFILEGV_set>, C<CopFILESV> X<CopFILESV>, C<cophh_copy> X<cophh_copy>,
C<cophh_delete_pv>, C<cophh_delete_pvn>, C<cophh_delete_pvs>,
C<cophh_delete_sv>
X<cophh_delete_pv>X<cophh_delete_pvn>X<cophh_delete_pvs>X<cophh_delete_sv>,
C<cophh_exists_pvn> X<cophh_exists_pvn>, C<cophh_fetch_pv>,
C<cophh_fetch_pvn>, C<cophh_fetch_pvs>, C<cophh_fetch_sv>
X<cophh_fetch_pv>X<cophh_fetch_pvn>X<cophh_fetch_pvs>X<cophh_fetch_sv>,
C<cophh_free> X<cophh_free>, C<cophh_new_empty> X<cophh_new_empty>,
C<cophh_store_pv>, C<cophh_store_pvn>, C<cophh_store_pvs>,
C<cophh_store_sv>
X<cophh_store_pv>X<cophh_store_pvn>X<cophh_store_pvs>X<cophh_store_sv>,
C<cophh_2hv> X<cophh_2hv>, C<CopLABEL>, C<CopLABEL_len>,
C<CopLABEL_len_flags> X<CopLABEL>X<CopLABEL_len>X<CopLABEL_len_flags>,
C<CopLINE> X<CopLINE>, C<CopSTASH> X<CopSTASH>, C<CopSTASH_eq>
X<CopSTASH_eq>, C<CopSTASH_set> X<CopSTASH_set>, C<CopSTASHPV>
X<CopSTASHPV>, C<CopSTASHPV_set> X<CopSTASHPV_set>, C<PERL_SI> X<PERL_SI>,
C<PL_curcop> X<PL_curcop>, C<RCPV_LEN> X<RCPV_LEN>, C<RCPV_REFCNT_dec>
X<RCPV_REFCNT_dec>, C<RCPV_REFCNT_inc> X<RCPV_REFCNT_inc>, C<RCPV_REFCOUNT>
X<RCPV_REFCOUNT>, C<RCPVx> X<RCPVx>

=item Custom Operators

C<custom_op_register> X<custom_op_register>, C<Perl_custom_op_xop>
X<Perl_custom_op_xop>, C<XopDISABLE> X<XopDISABLE>, C<XopENABLE>
X<XopENABLE>, C<XopENTRY> X<XopENTRY>, C<XopENTRY_set> X<XopENTRY_set>,
C<XopENTRYCUSTOM> X<XopENTRYCUSTOM>, C<XopFLAGS> X<XopFLAGS>

=item CV Handling
X<CV>X<GV_ADD>

C<caller_cx> X<caller_cx>, C<CvDEPTH> X<CvDEPTH>, C<CvGV> X<CvGV>,
C<CvREFCNT_inc>, C<CvREFCNT_inc_simple>, C<CvREFCNT_inc_simple_NN>
X<CvREFCNT_inc>X<CvREFCNT_inc_simple>X<CvREFCNT_inc_simple_NN>, C<CvSTASH>
X<CvSTASH>, C<find_runcv> X<find_runcv>, C<get_cv>, C<get_cvn_flags>,
C<get_cvs> X<get_cv>X<get_cvn_flags>X<get_cvs>, C<Nullcv> X<Nullcv>

=item Debugging

C<av_dump> X<av_dump>, C<deb>, C<deb_nocontext>, C<vdeb>
X<deb>X<deb_nocontext>X<vdeb>, C<debstack> X<debstack>, C<dump_all>
X<dump_all>, C<dump_c_backtrace> X<dump_c_backtrace>, C<dump_eval>,
C<dump_form> X<dump_form>, C<dump_packsubs> X<dump_packsubs>, C<dump_sub>,
C<get_c_backtrace_dump> X<get_c_backtrace_dump>, C<gv_dump> X<gv_dump>,
C<HAS_BACKTRACE> X<HAS_BACKTRACE>, C<hv_dump> X<hv_dump>, C<magic_dump>
X<magic_dump>, C<op_class> X<op_class>, C<op_dump> X<op_dump>,
C<opdump_printf> X<opdump_printf>, C<PL_op>, C<PL_runops>, C<PL_sv_serial>,
C<pmop_dump> X<pmop_dump>, C<sv_dump>, C<sv_dump_depth>
X<sv_dump>X<sv_dump_depth>, C<vdeb*>

=item Display functions
X<PERL_PV_ESCAPE_ALL>X<PERL_PV_ESCAPE_FIRSTCHAR>
X<PERL_PV_ESCAPE_NOBACKSLASH>X<PERL_PV_ESCAPE_NOCLEAR>
X<PERL_PV_ESCAPE_NON_WC>X<PERL_PV_ESCAPE_NONASCII>X<PERL_PV_ESCAPE_QUOTE>
X<PERL_PV_ESCAPE_RE>X<PERL_PV_ESCAPE_UNI>X<PERL_PV_ESCAPE_UNI_DETECT>
X<PERL_PV_PRETTY_ELLIPSES>X<PERL_PV_PRETTY_LTGT>X<PERL_PV_PRETTY_QUOTE>

C<form>, C<form_nocontext>, C<vform> X<form>X<form_nocontext>X<vform>,
C<mess>, C<mess_nocontext>, C<vmess> X<mess>X<mess_nocontext>X<vmess>,
C<mess_sv> X<mess_sv>, C<pv_display> X<pv_display>, C<pv_escape>
X<pv_escape>, C<pv_pretty> X<pv_pretty>, C<vform*>, C<vmess*>

=item Embedding, Threads, and Interpreter Cloning
X<CV_NAME_NOTQUAL>X<NOT_IN_PAD>X<PADNAMEf_OUTER>X<PERL_EXIT_ABORT>
X<PERL_EXIT_DESTRUCT_END>X<PERL_EXIT_EXPECTED>X<PERL_EXIT_WARN>
X<PERL_LOADMOD_DENY>X<PERL_LOADMOD_IMPORT_OPS>X<PERL_LOADMOD_NOIMPORT>

C<call_atexit> X<call_atexit>, C<cv_clone> X<cv_clone>, C<cv_name>
X<cv_name>, C<cv_undef> X<cv_undef>, C<find_rundefsv> X<find_rundefsv>,
C<get_op_descs> X<get_op_descs>, C<get_op_names> X<get_op_names>,
C<HAS_SKIP_LOCALE_INIT>, C<intro_my> X<intro_my>, C<load_module>,
C<load_module_nocontext> X<load_module>X<load_module_nocontext>, C<my_exit>
X<my_exit>, C<my_failure_exit> X<my_failure_exit>, C<newPADNAMELIST>
X<newPADNAMELIST>, C<newPADNAMEouter> X<newPADNAMEouter>, C<newPADNAMEpvn>
X<newPADNAMEpvn>, C<nothreadhook> X<nothreadhook>, C<pad_add_anon>
X<pad_add_anon>, C<pad_add_name_pv>, C<pad_add_name_pvn>,
C<pad_add_name_sv> X<pad_add_name_pv>X<pad_add_name_pvn>X<pad_add_name_sv>,
C<pad_alloc> X<pad_alloc>, C<pad_findmy_pv>, C<pad_findmy_pvn>,
C<pad_findmy_pvs>, C<pad_findmy_sv>
X<pad_findmy_pv>X<pad_findmy_pvn>X<pad_findmy_pvs>X<pad_findmy_sv>,
C<pad_tidy> X<pad_tidy>, C<padnamelist_fetch> X<padnamelist_fetch>,
C<padnamelist_store> X<padnamelist_store>, C<perl_alloc> X<perl_alloc>,
C<PERL_ASYNC_CHECK>, C<perl_clone> X<perl_clone>, C<perl_construct>
X<perl_construct>, C<perl_destruct> X<perl_destruct>, C<perl_free>
X<perl_free>, C<PERL_GET_CONTEXT>, C<perl_parse> X<perl_parse>, C<perl_run>
X<perl_run>, C<PERL_SET_CONTEXT>, C<PERL_SYS_INIT>, C<PERL_SYS_INIT3>
X<PERL_SYS_INIT>X<PERL_SYS_INIT3>, C<PERL_SYS_TERM> X<PERL_SYS_TERM>,
C<PerlInterpreter>, C<PL_exit_flags> X<PL_exit_flags>,
C<PERL_EXIT_DESTRUCT_END>, C<PERL_EXIT_ABORT>, C<PERL_EXIT_WARN>,
C<PERL_EXIT_EXPECTED>, C<PL_origalen>, C<PL_perl_destruct_level>
X<PL_perl_destruct_level>, 0 - none, 1 - full, 2 or greater - full with
checks, C<ptr_table_fetch> X<ptr_table_fetch>, C<ptr_table_free>
X<ptr_table_free>, C<ptr_table_new> X<ptr_table_new>, C<ptr_table_split>
X<ptr_table_split>, C<ptr_table_store> X<ptr_table_store>, C<require_pv>
X<require_pv>, C<vload_module> X<vload_module>

=item Errno

C<sv_string_from_errnum> X<sv_string_from_errnum>

=item Exception Handling (simple) Macros

C<dXCPT> X<dXCPT>, C<JMPENV_JUMP>, C<JMPENV_PUSH>, C<PL_restartop>,
C<XCPT_CATCH> X<XCPT_CATCH>, C<XCPT_RETHROW> X<XCPT_RETHROW>,
C<XCPT_TRY_END> X<XCPT_TRY_END>, C<XCPT_TRY_START> X<XCPT_TRY_START>

=item Filesystem configuration values

C<DIRNAMLEN> X<DIRNAMLEN>, C<DOSUID> X<DOSUID>, C<EOF_NONBLOCK>
X<EOF_NONBLOCK>, C<FCNTL_CAN_LOCK> X<FCNTL_CAN_LOCK>, C<FFLUSH_ALL>
X<FFLUSH_ALL>, C<FFLUSH_NULL> X<FFLUSH_NULL>, C<FILE_base> X<FILE_base>,
C<FILE_bufsiz> X<FILE_bufsiz>, C<FILE_cnt> X<FILE_cnt>, C<FILE_ptr>
X<FILE_ptr>, C<FLEXFILENAMES> X<FLEXFILENAMES>, C<HAS_DIR_DD_FD>
X<HAS_DIR_DD_FD>, C<HAS_DUP2> X<HAS_DUP2>, C<HAS_DUP3> X<HAS_DUP3>,
C<HAS_FAST_STDIO> X<HAS_FAST_STDIO>, C<HAS_FCHDIR> X<HAS_FCHDIR>,
C<HAS_FCNTL> X<HAS_FCNTL>, C<HAS_FDCLOSE> X<HAS_FDCLOSE>, C<HAS_FDOPENDIR>
X<HAS_FDOPENDIR>, C<HAS_FPATHCONF> X<HAS_FPATHCONF>, C<HAS_FPOS64_T>
X<HAS_FPOS64_T>, C<HAS_FSTATFS> X<HAS_FSTATFS>, C<HAS_FSTATVFS>
X<HAS_FSTATVFS>, C<HAS_GETFSSTAT> X<HAS_GETFSSTAT>, C<HAS_GETMNT>
X<HAS_GETMNT>, C<HAS_GETMNTENT> X<HAS_GETMNTENT>, C<HAS_HASMNTOPT>
X<HAS_HASMNTOPT>, C<HAS_LSEEK_PROTO> X<HAS_LSEEK_PROTO>, C<HAS_MKDIR>
X<HAS_MKDIR>, C<HAS_OFF64_T> X<HAS_OFF64_T>, C<HAS_OPENAT> X<HAS_OPENAT>,
C<HAS_OPEN3> X<HAS_OPEN3>, C<HAS_POLL> X<HAS_POLL>, C<HAS_READDIR>
X<HAS_READDIR>, C<HAS_READDIR64_R> X<HAS_READDIR64_R>, C<HAS_REWINDDIR>
X<HAS_REWINDDIR>, C<HAS_RMDIR> X<HAS_RMDIR>, C<HAS_SEEKDIR> X<HAS_SEEKDIR>,
C<HAS_SELECT> X<HAS_SELECT>, C<HAS_SETVBUF> X<HAS_SETVBUF>,
C<HAS_STDIO_STREAM_ARRAY> X<HAS_STDIO_STREAM_ARRAY>, C<HAS_STRUCT_FS_DATA>
X<HAS_STRUCT_FS_DATA>, C<HAS_STRUCT_STATFS> X<HAS_STRUCT_STATFS>,
C<HAS_STRUCT_STATFS_F_FLAGS> X<HAS_STRUCT_STATFS_F_FLAGS>, C<HAS_TELLDIR>
X<HAS_TELLDIR>, C<HAS_USTAT> X<HAS_USTAT>, C<I_FCNTL> X<I_FCNTL>,
C<I_SYS_DIR> X<I_SYS_DIR>, C<I_SYS_FILE> X<I_SYS_FILE>, C<I_SYS_NDIR>
X<I_SYS_NDIR>, C<I_SYS_STATFS> X<I_SYS_STATFS>, C<LSEEKSIZE> X<LSEEKSIZE>,
C<RD_NODATA> X<RD_NODATA>, C<READDIR64_R_PROTO> X<READDIR64_R_PROTO>,
C<ST_INO_SIGN> X<ST_INO_SIGN>, C<ST_INO_SIZE> X<ST_INO_SIZE>, C<STDCHAR>
X<STDCHAR>, C<STDIO_CNT_LVALUE> X<STDIO_CNT_LVALUE>,
C<STDIO_PTR_LVAL_NOCHANGE_CNT> X<STDIO_PTR_LVAL_NOCHANGE_CNT>,
C<STDIO_PTR_LVAL_SETS_CNT> X<STDIO_PTR_LVAL_SETS_CNT>, C<STDIO_PTR_LVALUE>
X<STDIO_PTR_LVALUE>, C<STDIO_STREAM_ARRAY> X<STDIO_STREAM_ARRAY>,
C<VAL_EAGAIN> X<VAL_EAGAIN>, C<VAL_O_NONBLOCK> X<VAL_O_NONBLOCK>,
C<VOID_CLOSEDIR> X<VOID_CLOSEDIR>

=item Floating point

C<CASTFLAGS> X<CASTFLAGS>, C<CASTNEGFLOAT> X<CASTNEGFLOAT>,
C<DOUBLE_HAS_INF> X<DOUBLE_HAS_INF>, C<DOUBLE_HAS_NAN> X<DOUBLE_HAS_NAN>,
C<DOUBLE_HAS_NEGATIVE_ZERO> X<DOUBLE_HAS_NEGATIVE_ZERO>,
C<DOUBLE_HAS_SUBNORMALS> X<DOUBLE_HAS_SUBNORMALS>, C<DOUBLE_STYLE_CRAY>
X<DOUBLE_STYLE_CRAY>, C<DOUBLE_STYLE_IBM> X<DOUBLE_STYLE_IBM>,
C<DOUBLE_STYLE_IEEE> X<DOUBLE_STYLE_IEEE>, C<DOUBLE_STYLE_VAX>
X<DOUBLE_STYLE_VAX>, C<DOUBLEINFBYTES> X<DOUBLEINFBYTES>, C<DOUBLEKIND>
X<DOUBLEKIND>, C<DOUBLEMANTBITS> X<DOUBLEMANTBITS>, C<DOUBLENANBYTES>
X<DOUBLENANBYTES>, C<DOUBLESIZE> X<DOUBLESIZE>, C<Gconvert> X<Gconvert>,
C<HAS_ATOLF> X<HAS_ATOLF>, C<HAS_CLASS> X<HAS_CLASS>, C<HAS_FINITE>
X<HAS_FINITE>, C<HAS_FINITEL> X<HAS_FINITEL>, C<HAS_FP_CLASS>
X<HAS_FP_CLASS>, C<HAS_FP_CLASSIFY> X<HAS_FP_CLASSIFY>, C<HAS_FP_CLASSL>
X<HAS_FP_CLASSL>, C<HAS_FPCLASS> X<HAS_FPCLASS>, C<HAS_FPCLASSIFY>
X<HAS_FPCLASSIFY>, C<HAS_FPCLASSL> X<HAS_FPCLASSL>, C<HAS_FPGETROUND>
X<HAS_FPGETROUND>, C<HAS_FREXPL> X<HAS_FREXPL>, C<HAS_ILOGB> X<HAS_ILOGB>,
C<HAS_ISFINITE> X<HAS_ISFINITE>, C<HAS_ISFINITEL> X<HAS_ISFINITEL>,
C<HAS_ISINF> X<HAS_ISINF>, C<HAS_ISINFL> X<HAS_ISINFL>, C<HAS_ISNAN>
X<HAS_ISNAN>, C<HAS_ISNANL> X<HAS_ISNANL>, C<HAS_ISNORMAL> X<HAS_ISNORMAL>,
C<HAS_J0> X<HAS_J0>, C<HAS_J0L> X<HAS_J0L>, C<HAS_LDBL_DIG>
X<HAS_LDBL_DIG>, C<HAS_LDEXPL> X<HAS_LDEXPL>, C<HAS_LLRINT> X<HAS_LLRINT>,
C<HAS_LLRINTL> X<HAS_LLRINTL>, C<HAS_LLROUNDL> X<HAS_LLROUNDL>,
C<HAS_LONG_DOUBLE> X<HAS_LONG_DOUBLE>, C<HAS_LRINT> X<HAS_LRINT>,
C<HAS_LRINTL> X<HAS_LRINTL>, C<HAS_LROUNDL> X<HAS_LROUNDL>, C<HAS_MODFL>
X<HAS_MODFL>, C<HAS_NAN> X<HAS_NAN>, C<HAS_NEXTTOWARD> X<HAS_NEXTTOWARD>,
C<HAS_REMAINDER> X<HAS_REMAINDER>, C<HAS_SCALBN> X<HAS_SCALBN>,
C<HAS_SIGNBIT> X<HAS_SIGNBIT>, C<HAS_SQRTL> X<HAS_SQRTL>, C<HAS_STRTOD_L>
X<HAS_STRTOD_L>, C<HAS_STRTOLD> X<HAS_STRTOLD>, C<HAS_STRTOLD_L>
X<HAS_STRTOLD_L>, C<HAS_TRUNC> X<HAS_TRUNC>, C<HAS_UNORDERED>
X<HAS_UNORDERED>, C<I_FENV> X<I_FENV>, C<I_QUADMATH> X<I_QUADMATH>,
C<LONG_DOUBLE_STYLE_IEEE> X<LONG_DOUBLE_STYLE_IEEE>,
C<LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE>
X<LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE>, C<LONG_DOUBLE_STYLE_IEEE_EXTENDED>
X<LONG_DOUBLE_STYLE_IEEE_EXTENDED>, C<LONG_DOUBLE_STYLE_IEEE_STD>
X<LONG_DOUBLE_STYLE_IEEE_STD>, C<LONG_DOUBLE_STYLE_VAX>
X<LONG_DOUBLE_STYLE_VAX>, C<LONG_DOUBLEKIND> X<LONG_DOUBLEKIND>,
C<LONG_DOUBLESIZE> X<LONG_DOUBLESIZE>, C<LONGDBLINFBYTES>
X<LONGDBLINFBYTES>, C<LONGDBLMANTBITS> X<LONGDBLMANTBITS>,
C<LONGDBLNANBYTES> X<LONGDBLNANBYTES>, C<NV>, C<NV_OVERFLOWS_INTEGERS_AT>
X<NV_OVERFLOWS_INTEGERS_AT>, C<NV_PRESERVES_UV> X<NV_PRESERVES_UV>,
C<NV_PRESERVES_UV_BITS> X<NV_PRESERVES_UV_BITS>, C<NV_ZERO_IS_ALLBITS_ZERO>
X<NV_ZERO_IS_ALLBITS_ZERO>, C<NVMANTBITS> X<NVMANTBITS>, C<NVSIZE>
X<NVSIZE>, C<NVTYPE> X<NVTYPE>

=item General Configuration
X<PERL_GCC_BRACE_GROUPS_FORBIDDEN>

C<ASCIIish> X<ASCIIish>, C<BYTEORDER> X<BYTEORDER>, C<CAT2> X<CAT2>,
C<CHARBITS> X<CHARBITS>, C<DB_VERSION_MAJOR_CFG> X<DB_VERSION_MAJOR_CFG>,
C<DB_VERSION_MINOR_CFG> X<DB_VERSION_MINOR_CFG>, C<DB_VERSION_PATCH_CFG>
X<DB_VERSION_PATCH_CFG>, C<DEFAULT_INC_EXCLUDES_DOT>
X<DEFAULT_INC_EXCLUDES_DOT>, C<DLSYM_NEEDS_UNDERSCORE>
X<DLSYM_NEEDS_UNDERSCORE>, C<Drand01> X<Drand01>, C<EBCDIC> X<EBCDIC>,
C<GENTOO_LIBDIRS> X<GENTOO_LIBDIRS>, C<HAS_CSH> X<HAS_CSH>,
C<HAS_GETHOSTNAME> X<HAS_GETHOSTNAME>, C<HAS_GNULIBC> X<HAS_GNULIBC>,
C<HAS_LGAMMA> X<HAS_LGAMMA>, C<HAS_LGAMMA_R> X<HAS_LGAMMA_R>,
C<HAS_NON_INT_BITFIELDS> X<HAS_NON_INT_BITFIELDS>, C<HAS_PRCTL_SET_NAME>
X<HAS_PRCTL_SET_NAME>, C<HAS_PROCSELFEXE> X<HAS_PROCSELFEXE>,
C<HAS_PSEUDOFORK> X<HAS_PSEUDOFORK>, C<HAS_REGCOMP> X<HAS_REGCOMP>,
C<HAS_SETPGID> X<HAS_SETPGID>, C<HAS_SIGSETJMP> X<HAS_SIGSETJMP>,
C<HAS_STRUCT_CMSGHDR> X<HAS_STRUCT_CMSGHDR>, C<HAS_STRUCT_MSGHDR>
X<HAS_STRUCT_MSGHDR>, C<HAS_TGAMMA> X<HAS_TGAMMA>, C<HAS_UNAME>
X<HAS_UNAME>, C<HAS_UNION_SEMUN> X<HAS_UNION_SEMUN>, C<I_DIRENT>
X<I_DIRENT>, C<I_POLL> X<I_POLL>, C<I_SYS_RESOURCE> X<I_SYS_RESOURCE>,
C<LIBM_LIB_VERSION> X<LIBM_LIB_VERSION>, C<NEED_VA_COPY>, C<OSNAME>
X<OSNAME>, C<OSVERS> X<OSVERS>, C<PERL_USE_GCC_BRACE_GROUPS>
X<PERL_USE_GCC_BRACE_GROUPS>, C<PHOSTNAME> X<PHOSTNAME>,
C<PROCSELFEXE_PATH> X<PROCSELFEXE_PATH>, C<PTRSIZE> X<PTRSIZE>, C<RANDBITS>
X<RANDBITS>, C<seedDrand01> X<seedDrand01>, C<SELECT_MIN_BITS>
X<SELECT_MIN_BITS>, C<SETUID_SCRIPTS_ARE_SECURE_NOW>
X<SETUID_SCRIPTS_ARE_SECURE_NOW>, C<ST_DEV_SIGN> X<ST_DEV_SIGN>,
C<ST_DEV_SIZE> X<ST_DEV_SIZE>, C<STRINGIFY> X<STRINGIFY>

=over 4

=item List of capability C<HAS_I<foo>> symbols

=item List of C<#include> needed symbols

=back

=item Global Variables

C<PL_check> X<PL_check>, C<PL_infix_plugin> X<PL_infix_plugin>,
C<PL_keyword_plugin> X<PL_keyword_plugin>, C<PL_phase> X<PL_phase>

=item GV Handling and Stashes
X<GV>X<GV_ADD>X<GV_ADDMG>X<GV_ADDMULTI>X<GV_ADDWARN>
X<GV_AUTOLOAD_ISMETHOD>X<GV_NO_SVGMAGIC>X<GV_NOADD_NOINIT>X<GV_NOEXPAND>
X<GV_NOINIT>X<GV_NOTQUAL>X<GV_NOUNIVERSAL>X<GV_SUPER>X<SVf_UTF8>

C<amagic_call> X<amagic_call>, C<AMGf_noleft>, C<AMGf_noright>,
C<AMGf_unary>, C<AMGf_assign>, C<amagic_deref_call> X<amagic_deref_call>,
C<gv_add_by_type> X<gv_add_by_type>, C<Gv_AMupdate> X<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 C<destructing> is true),
C<gv_autoload_pv>, C<gv_autoload_pvn>, C<gv_autoload_sv>, C<gv_autoload4>
X<gv_autoload_pv>X<gv_autoload_pvn>X<gv_autoload_sv>X<gv_autoload4>,
C<gv_AVadd>, C<gv_HVadd>, C<gv_IOadd>, C<gv_SVadd>
X<gv_AVadd>X<gv_HVadd>X<gv_IOadd>X<gv_SVadd>, C<gv_const_sv>
X<gv_const_sv>, C<gv_efullname3>, C<gv_efullname4>, C<gv_fullname3>,
C<gv_fullname4>
X<gv_efullname3>X<gv_efullname4>X<gv_fullname3>X<gv_fullname4>,
C<gv_fetchfile>, C<gv_fetchfile_flags>
X<gv_fetchfile>X<gv_fetchfile_flags>, C<gv_fetchmeth>,
C<gv_fetchmeth_autoload>, C<gv_fetchmeth_pv>, C<gv_fetchmeth_pv_autoload>,
C<gv_fetchmeth_pvn>, C<gv_fetchmeth_pvn_autoload>, C<gv_fetchmeth_sv>,
C<gv_fetchmeth_sv_autoload>
X<gv_fetchmeth>X<gv_fetchmeth_autoload>X<gv_fetchmeth_pv>
X<gv_fetchmeth_pv_autoload>X<gv_fetchmeth_pvn>X<gv_fetchmeth_pvn_autoload>
X<gv_fetchmeth_sv>X<gv_fetchmeth_sv_autoload>, If -1, If 0,
C<gv_fetchmethod>, C<gv_fetchmethod_autoload>
X<gv_fetchmethod>X<gv_fetchmethod_autoload>, C<gv_fetchpv>, C<gv_fetchpvn>,
C<gv_fetchpvn_flags>, C<gv_fetchpvs>, C<gv_fetchsv>, C<gv_fetchsv_nomg>
X<gv_fetchpv>X<gv_fetchpvn>X<gv_fetchpvn_flags>X<gv_fetchpvs>X<gv_fetchsv>
X<gv_fetchsv_nomg>, C<gv_fullname3*>, C<gv_fullname4*>, C<gv_HVadd*>,
C<gv_init>, C<gv_init_pv>, C<gv_init_pvn>, C<gv_init_sv>
X<gv_init>X<gv_init_pv>X<gv_init_pvn>X<gv_init_sv>, C<gv_IOadd*>,
C<gv_name_set> X<gv_name_set>, C<gv_stashpv>, C<gv_stashpvn>,
C<gv_stashpvs>, C<gv_stashsv>
X<gv_stashpv>X<gv_stashpvn>X<gv_stashpvs>X<gv_stashsv>, C<gv_SVadd*>,
C<GvAV> X<GvAV>, C<GvCV> X<GvCV>, C<GvHV> X<GvHV>, C<GvREFCNT_inc>,
C<GvREFCNT_inc_simple>, C<GvREFCNT_inc_simple_NN>
X<GvREFCNT_inc>X<GvREFCNT_inc_simple>X<GvREFCNT_inc_simple_NN>, C<GvSV>
X<GvSV>, C<GvSVn> X<GvSVn>, C<newGVgen>, C<newGVgen_flags>
X<newGVgen>X<newGVgen_flags>, C<PL_curstash> X<PL_curstash>, C<PL_defgv>
X<PL_defgv>, C<PL_defoutgv> X<PL_defoutgv>, C<PL_defstash>, C<save_gp>
X<save_gp>, C<setdefout> X<setdefout>

=item Hook manipulation

C<rcpv_copy> X<rcpv_copy>, C<rcpv_free> X<rcpv_free>, C<rcpv_new>
X<rcpv_new>, C<wrap_op_checker> X<wrap_op_checker>

=item HV Handling
X<HV_ITERNEXT_WANTPLACEHOLDERS>X<HV_NAME_SETALL>X<HvNAMELEN_get>

C<get_hv> X<get_hv>, C<HE>, C<HEf_SVKEY> X<HEf_SVKEY>, C<HeHASH> X<HeHASH>,
C<HeKEY> X<HeKEY>, C<HeKLEN> X<HeKLEN>, C<HePV> X<HePV>, C<HeSVKEY>
X<HeSVKEY>, C<HeSVKEY_force> X<HeSVKEY_force>, C<HeSVKEY_set>
X<HeSVKEY_set>, C<HeUTF8> X<HeUTF8>, C<HeVAL> X<HeVAL>, C<HV>, C<hv_assert>
X<hv_assert>, C<hv_bucket_ratio> X<hv_bucket_ratio>, C<hv_clear>
X<hv_clear>, C<hv_clear_placeholders> X<hv_clear_placeholders>,
C<hv_copy_hints_hv> X<hv_copy_hints_hv>, C<hv_delete>, C<hv_deletes>,
C<hv_delete_ent> X<hv_delete>X<hv_delete_ent>X<hv_deletes>, C<hv_exists>,
C<hv_existss>, C<hv_exists_ent> X<hv_exists>X<hv_exists_ent>X<hv_existss>,
C<hv_fetch>, C<hv_fetchs> X<hv_fetch>X<hv_fetchs>, C<hv_fetch_ent>
X<hv_fetch_ent>, C<hv_fetchs*>, C<hv_iterinit> X<hv_iterinit>,
C<hv_iterkey> X<hv_iterkey>, C<hv_iterkeysv> X<hv_iterkeysv>,
C<hv_iternext> X<hv_iternext>, C<hv_iternext_flags> X<hv_iternext_flags>,
C<hv_iternextsv> X<hv_iternextsv>, C<hv_iterval> X<hv_iterval>,
C<hv_ksplit> X<hv_ksplit>, C<hv_magic> X<hv_magic>, C<hv_name_set>,
C<hv_name_sets> X<hv_name_set>X<hv_name_sets>, C<hv_scalar> X<hv_scalar>,
C<hv_store>, C<hv_stores> X<hv_store>X<hv_stores>, C<hv_store_ent>
X<hv_store_ent>, C<hv_stores*>, C<hv_undef> X<hv_undef>, C<HvENAME>
X<HvENAME>, C<HvENAMELEN> X<HvENAMELEN>, C<HvENAMEUTF8> X<HvENAMEUTF8>,
C<HvFILL> X<HvFILL>, C<HvHasAUX> X<HvHasAUX>, C<HvNAME> X<HvNAME>,
C<HvNAMELEN> X<HvNAMELEN>, C<HvNAMEUTF8> X<HvNAMEUTF8>, C<HvREFCNT_inc>,
C<HvREFCNT_inc_simple>, C<HvREFCNT_inc_simple_NN>
X<HvREFCNT_inc>X<HvREFCNT_inc_simple>X<HvREFCNT_inc_simple_NN>, C<newHV>
X<newHV>, C<newHVhv> X<newHVhv>, C<Nullhv> X<Nullhv>, C<PERL_HASH>,
C<PL_modglobal> X<PL_modglobal>

=item Input/Output

C<do_close> X<do_close>, C<IoDIRP>, C<IOf_FLUSH>, C<IOf_UNTAINT>,
C<IoFLAGS>, C<IoIFP>, C<IoOFP>, C<IoTYPE>, C<my_chsize> X<my_chsize>,
C<my_dirfd> X<my_dirfd>, C<my_pclose> X<my_pclose>, C<my_popen>
X<my_popen>, C<newIO> X<newIO>, C<PERL_FLUSHALL_FOR_CHILD>
X<PERL_FLUSHALL_FOR_CHILD>, C<PerlIO_apply_layers>, C<PerlIO_binmode>,
C<PerlIO_canset_cnt>, C<PerlIO_clearerr>, C<PerlIO_close>, C<PerlIO_debug>,
C<PerlIO_eof>, C<PerlIO_error>, C<PerlIO_exportFILE>, C<PerlIO_fast_gets>,
C<PerlIO_fdopen>, C<PerlIO_fileno>, C<PerlIO_fill>, C<PerlIO_findFILE>,
C<PerlIO_flush>, C<PerlIO_get_base>, C<PerlIO_get_bufsiz>,
C<PerlIO_get_cnt>, C<PerlIO_get_ptr>, C<PerlIO_getc>, C<PerlIO_getpos>,
C<PerlIO_has_base>, C<PerlIO_has_cntptr>, C<PerlIO_importFILE>,
C<PerlIO_open>, C<PerlIO_printf>, C<PerlIO_putc>, C<PerlIO_puts>,
C<PerlIO_read>, C<PerlIO_releaseFILE>, C<PerlIO_reopen>, C<PerlIO_rewind>,
C<PerlIO_seek>, C<PerlIO_set_cnt>, C<PerlIO_set_ptrcnt>,
C<PerlIO_setlinebuf>, C<PerlIO_setpos>, C<PerlIO_stderr>, C<PerlIO_stdin>,
C<PerlIO_stdout>, C<PerlIO_stdoutf>, C<PerlIO_tell>, C<PerlIO_ungetc>,
C<PerlIO_unread>, C<PerlIO_vprintf>, C<PerlIO_write>
X<PerlIO_fill>X<PerlIO_unread>, C<PERLIO_F_APPEND>, C<PERLIO_F_CANREAD>,
C<PERLIO_F_CANWRITE>, C<PERLIO_F_CRLF>, C<PERLIO_F_EOF>, C<PERLIO_F_ERROR>,
C<PERLIO_F_FASTGETS>, C<PERLIO_F_LINEBUF>, C<PERLIO_F_OPEN>,
C<PERLIO_F_RDBUF>, C<PERLIO_F_TEMP>, C<PERLIO_F_TRUNCATE>,
C<PERLIO_F_UNBUF>, C<PERLIO_F_UTF8>, C<PERLIO_F_WRBUF>,
C<PerlIO_fast_gets*>, C<PerlIO_fdopen*>, C<PerlIO_fileno*>,
C<PerlIO_fill*>, C<PerlIO_findFILE*>, C<PerlIO_flush*>,
C<PERLIO_FUNCS_CAST> X<PERLIO_FUNCS_CAST>, C<PERLIO_FUNCS_DECL>
X<PERLIO_FUNCS_DECL>, C<PerlIO_get_base*>, C<PerlIO_get_bufsiz*>,
C<PerlIO_get_cnt*>, C<PerlIO_get_ptr*>, C<PerlIO_getc*>, C<PerlIO_getpos*>,
C<PerlIO_has_base*>, C<PerlIO_has_cntptr*>, C<PerlIO_importFILE*>,
C<PERLIO_K_BUFFERED>, C<PERLIO_K_CANCRLF>, C<PERLIO_K_FASTGETS>,
C<PERLIO_K_MULTIARG>, C<PERLIO_K_RAW>, C<PERLIO_NOT_STDIO>,
C<PerlIO_open*>, C<PerlIO_printf*>, C<PerlIO_putc*>, C<PerlIO_puts*>,
C<PerlIO_read*>, C<PerlIO_releaseFILE*>, C<PerlIO_reopen*>,
C<PerlIO_rewind*>, C<PerlIO_seek*>, C<PerlIO_set_cnt*>,
C<PerlIO_set_ptrcnt*>, C<PerlIO_setlinebuf*>, C<PerlIO_setpos*>,
C<PerlIO_stderr*>, C<PerlIO_stdin*>, C<PerlIO_stdout*>, C<PerlIO_stdoutf*>,
C<PerlIO_tell*>, C<PerlIO_ungetc*>, C<PerlIO_unread*>, C<PerlIO_vprintf*>,
C<PerlIO_write*>, C<PL_maxsysfd>, C<repeatcpy> X<repeatcpy>, C<SvVSTRING>
X<SvVSTRING>, C<USE_STDIO>

=item Integer

C<CASTI32> X<CASTI32>, C<HAS_INT64_T> X<HAS_INT64_T>, C<HAS_LONG_LONG>
X<HAS_LONG_LONG>, C<HAS_QUAD> X<HAS_QUAD>, C<INTMAX_C> X<INTMAX_C>,
C<INTSIZE> X<INTSIZE>, C<INT16_C>, C<INT32_C>, C<INT64_C>
X<INT16_C>X<INT32_C>X<INT64_C>, C<IV>, C<I8>, C<I16>, C<I32>, C<I64>,
C<IV_MAX> X<IV_MAX>, C<IV_MIN> X<IV_MIN>, C<IVSIZE> X<IVSIZE>, C<IVTYPE>
X<IVTYPE>, C<I8*>, C<I8SIZE> X<I8SIZE>, C<I8TYPE> X<I8TYPE>, C<I16*>,
C<I16SIZE> X<I16SIZE>, C<I16TYPE> X<I16TYPE>, C<I32*>, C<I32df> X<I32df>,
C<I32SIZE> X<I32SIZE>, C<I32TYPE> X<I32TYPE>, C<I64*>, C<I64SIZE>
X<I64SIZE>, C<I64TYPE> X<I64TYPE>, C<line_t> X<line_t>, C<LONGLONGSIZE>
X<LONGLONGSIZE>, C<LONGSIZE> X<LONGSIZE>, C<memzero> X<memzero>,
C<PERL_INT_FAST8_T>, C<PERL_INT_FAST16_T>, C<PERL_UINT_FAST8_T>,
C<PERL_UINT_FAST16_T>
X<PERL_INT_FAST8_T>X<PERL_INT_FAST16_T>X<PERL_UINT_FAST8_T>
X<PERL_UINT_FAST16_T>, C<PERL_INT_MAX>, C<PERL_INT_MIN>, C<PERL_LONG_MAX>,
C<PERL_LONG_MIN>, C<PERL_QUAD_MAX>, C<PERL_QUAD_MIN>, C<PERL_SHORT_MAX>,
C<PERL_SHORT_MIN>, C<PERL_UCHAR_MAX>, C<PERL_UCHAR_MIN>, C<PERL_UINT_MAX>,
C<PERL_UINT_MIN>, C<PERL_ULONG_MAX>, C<PERL_ULONG_MIN>, C<PERL_UQUAD_MAX>,
C<PERL_UQUAD_MIN>, C<PERL_USHORT_MAX>, C<PERL_USHORT_MIN>
X<PERL_INT_MAX>X<PERL_INT_MIN>X<PERL_LONG_MAX>X<PERL_LONG_MIN>
X<PERL_QUAD_MAX>X<PERL_QUAD_MIN>X<PERL_SHORT_MAX>X<PERL_SHORT_MIN>
X<PERL_UCHAR_MAX>X<PERL_UCHAR_MIN>X<PERL_UINT_MAX>X<PERL_UINT_MIN>
X<PERL_ULONG_MAX>X<PERL_ULONG_MIN>X<PERL_UQUAD_MAX>X<PERL_UQUAD_MIN>
X<PERL_USHORT_MAX>X<PERL_USHORT_MIN>, C<PERL_UINT_FAST8_T*>,
C<PERL_UINT_FAST16_T*>, C<SHORTSIZE> X<SHORTSIZE>, C<UINTMAX_C>
X<UINTMAX_C>, C<UINT16_C>, C<UINT32_C>, C<UINT64_C>
X<UINT16_C>X<UINT32_C>X<UINT64_C>, C<UV>, C<U8>, C<U16>, C<U32>, C<U64>,
C<UV_MAX> X<UV_MAX>, C<UV_MIN> X<UV_MIN>, C<UVSIZE> X<UVSIZE>, C<UVTYPE>
X<UVTYPE>, C<U8*>, C<U8SIZE> X<U8SIZE>, C<U8TYPE> X<U8TYPE>, C<U16*>,
C<U16SIZE> X<U16SIZE>, C<U16TYPE> X<U16TYPE>, C<U32*>, C<U32of> X<U32of>,
C<U32SIZE> X<U32SIZE>, C<U32TYPE> X<U32TYPE>, C<U32uf> X<U32uf>, C<U32Xf>
X<U32Xf>, C<U32xf> X<U32xf>, C<U64*>, C<U64SIZE> X<U64SIZE>, C<U64TYPE>
X<U64TYPE>, C<WIDEST_UTYPE> X<WIDEST_UTYPE>

=item I/O Formats

C<HvNAMEf>, C<HvNAMEf_QUOTEDPREFIX>, C<IVdf> X<IVdf>, C<NVef> X<NVef>,
C<NVff> X<NVff>, C<NVgf> X<NVgf>, C<PERL_PRIeldbl> X<PERL_PRIeldbl>,
C<PERL_PRIfldbl> X<PERL_PRIfldbl>, C<PERL_PRIgldbl> X<PERL_PRIgldbl>,
C<PERL_SCNfldbl> X<PERL_SCNfldbl>, C<PRINTF_FORMAT_NULL_OK>
X<PRINTF_FORMAT_NULL_OK>, C<SVf>, C<SVf_QUOTEDPREFIX>, C<SVfARG>, C<UTF8f>,
C<UTF8f_QUOTEDPREFIX>, C<UTF8fARG>, C<UVf> X<UVf>, C<UVof> X<UVof>, C<UVuf>
X<UVuf>, C<UVXf> X<UVXf>, C<UVxf> X<UVxf>

=item Lexer interface
X<LEX_KEEP_PREVIOUS>X<LEX_STUFF_UTF8>X<PARSE_OPTIONAL>

C<BHK>, C<lex_bufutf8> X<lex_bufutf8>, C<lex_discard_to> X<lex_discard_to>,
C<lex_grow_linestr> X<lex_grow_linestr>, C<lex_next_chunk>
X<lex_next_chunk>, C<lex_peek_unichar> X<lex_peek_unichar>,
C<lex_read_space> X<lex_read_space>, C<lex_read_to> X<lex_read_to>,
C<lex_read_unichar> X<lex_read_unichar>, C<lex_start> X<lex_start>,
C<lex_stuff_pv>, C<lex_stuff_pvn>, C<lex_stuff_pvs>, C<lex_stuff_sv>
X<lex_stuff_pv>X<lex_stuff_pvn>X<lex_stuff_pvs>X<lex_stuff_sv>,
C<lex_unstuff> X<lex_unstuff>, C<parse_arithexpr> X<parse_arithexpr>,
C<parse_barestmt> X<parse_barestmt>, C<parse_block> X<parse_block>,
C<parse_fullexpr> X<parse_fullexpr>, C<parse_fullstmt> X<parse_fullstmt>,
C<parse_label> X<parse_label>, C<parse_listexpr> X<parse_listexpr>,
C<parse_stmtseq> X<parse_stmtseq>, C<parse_subsignature>
X<parse_subsignature>, C<parse_termexpr> X<parse_termexpr>, C<PL_parser>
X<PL_parser>, C<PL_parser-E<gt>bufend> X<PL_parser-E<gt>bufend>,
C<PL_parser-E<gt>bufptr> X<PL_parser-E<gt>bufptr>,
C<PL_parser-E<gt>linestart> X<PL_parser-E<gt>linestart>,
C<PL_parser-E<gt>linestr> X<PL_parser-E<gt>linestr>,
C<resume_compcv_and_save> X<resume_compcv_and_save>, C<resume_compcv_final>
X<resume_compcv_final>, C<suspend_compcv> X<suspend_compcv>,
C<valid_identifier_pve> X<valid_identifier_pve>, C<valid_identifier_pvn>
X<valid_identifier_pvn>, C<valid_identifier_sv> X<valid_identifier_sv>,
C<wrap_infix_plugin> X<wrap_infix_plugin>, C<wrap_keyword_plugin>
X<wrap_keyword_plugin>

=item Locales

C<DECLARATION_FOR_LC_NUMERIC_MANIPULATION>
X<DECLARATION_FOR_LC_NUMERIC_MANIPULATION>, C<HAS_DUPLOCALE>
X<HAS_DUPLOCALE>, C<HAS_FREELOCALE> X<HAS_FREELOCALE>,
C<HAS_LC_MONETARY_2008> X<HAS_LC_MONETARY_2008>, C<HAS_LOCALECONV>
X<HAS_LOCALECONV>, C<HAS_LOCALECONV_L> X<HAS_LOCALECONV_L>,
C<HAS_NEWLOCALE> X<HAS_NEWLOCALE>, C<HAS_NL_LANGINFO> X<HAS_NL_LANGINFO>,
C<HAS_NL_LANGINFO_L> X<HAS_NL_LANGINFO_L>, C<HAS_QUERYLOCALE>
X<HAS_QUERYLOCALE>, C<HAS_SETLOCALE> X<HAS_SETLOCALE>, C<HAS_SETLOCALE_R>
X<HAS_SETLOCALE_R>, C<HAS_USELOCALE> X<HAS_USELOCALE>, C<I_LANGINFO>
X<I_LANGINFO>, C<I_LOCALE> X<I_LOCALE>, C<I_XLOCALE> X<I_XLOCALE>,
C<IN_LOCALE> X<IN_LOCALE>, C<IN_LOCALE_COMPILETIME>
X<IN_LOCALE_COMPILETIME>, C<IN_LOCALE_RUNTIME> X<IN_LOCALE_RUNTIME>,
C<NEED_XLOCALE_H> X<NEED_XLOCALE_H>, C<Perl_langinfo*>, C<Perl_langinfo8*>,
C<PERL_LC_ALL_CATEGORY_POSITIONS_INIT>
X<PERL_LC_ALL_CATEGORY_POSITIONS_INIT>, C<PERL_LC_ALL_SEPARATOR>
X<PERL_LC_ALL_SEPARATOR>, C<PERL_LC_ALL_USES_NAME_VALUE_PAIRS>
X<PERL_LC_ALL_USES_NAME_VALUE_PAIRS>, C<Perl_localeconv>
X<Perl_localeconv>, C<Perl_setlocale> X<Perl_setlocale>,
C<RESTORE_LC_NUMERIC> X<RESTORE_LC_NUMERIC>,
C<SETLOCALE_ACCEPTS_ANY_LOCALE_NAME> X<SETLOCALE_ACCEPTS_ANY_LOCALE_NAME>,
C<STORE_LC_NUMERIC_FORCE_TO_UNDERLYING>
X<STORE_LC_NUMERIC_FORCE_TO_UNDERLYING>, C<STORE_LC_NUMERIC_SET_TO_NEEDED>
X<STORE_LC_NUMERIC_SET_TO_NEEDED>, C<STORE_LC_NUMERIC_SET_TO_NEEDED_IN>
X<STORE_LC_NUMERIC_SET_TO_NEEDED_IN>, C<sv_langinfo>, C<Perl_langinfo>,
C<Perl_langinfo8> X<Perl_langinfo>X<Perl_langinfo8>X<sv_langinfo>, a, b, c,
d, e, C<switch_to_global_locale> X<switch_to_global_locale>,
L<POSIX::localeconv|POSIX/localeconv>, L<I18N::Langinfo>, items C<CRNCYSTR>
and C<THOUSEP>, L<perlapi/sv_langinfo>, items C<CRNCYSTR> and C<THOUSEP>,
C<sync_locale> X<sync_locale>, C<WITH_LC_NUMERIC_SET_TO_NEEDED>
X<WITH_LC_NUMERIC_SET_TO_NEEDED>, C<WITH_LC_NUMERIC_SET_TO_NEEDED_IN>
X<WITH_LC_NUMERIC_SET_TO_NEEDED_IN>

=item Magic
X<MAGIC>

C<mg_clear> X<mg_clear>, C<mg_copy> X<mg_copy>, C<mg_find> X<mg_find>,
C<mg_findext> X<mg_findext>, C<mg_free> X<mg_free>, C<mg_free_type>
X<mg_free_type>, C<mg_freeext> X<mg_freeext>, C<mg_get> X<mg_get>,
C<mg_magical> X<mg_magical>, C<mg_set> X<mg_set>, C<MGf_COPY>, C<MGf_DUP>,
C<MGf_LOCAL>, C<MGVTBL>, C<PERL_MAGIC_arylen>, C<PERL_MAGIC_arylen_p>,
C<PERL_MAGIC_backref>, C<PERL_MAGIC_bm>, C<PERL_MAGIC_checkcall>,
C<PERL_MAGIC_collxfrm>, C<PERL_MAGIC_dbfile>, C<PERL_MAGIC_dbline>,
C<PERL_MAGIC_debugvar>, C<PERL_MAGIC_defelem>, C<PERL_MAGIC_destruct>,
C<PERL_MAGIC_env>, C<PERL_MAGIC_envelem>, C<PERL_MAGIC_ext>,
C<PERL_MAGIC_extvalue>, C<PERL_MAGIC_fm>, C<PERL_MAGIC_hints>,
C<PERL_MAGIC_hintselem>, C<PERL_MAGIC_hook>, C<PERL_MAGIC_hookelem>,
C<PERL_MAGIC_isa>, C<PERL_MAGIC_isaelem>, C<PERL_MAGIC_lvref>,
C<PERL_MAGIC_nkeys>, C<PERL_MAGIC_nonelem>, C<PERL_MAGIC_overload_table>,
C<PERL_MAGIC_pos>, C<PERL_MAGIC_qr>, C<PERL_MAGIC_regdata>,
C<PERL_MAGIC_regdatum>, C<PERL_MAGIC_regex_global>, C<PERL_MAGIC_rhash>,
C<PERL_MAGIC_shared>, C<PERL_MAGIC_shared_scalar>, C<PERL_MAGIC_sig>,
C<PERL_MAGIC_sigelem>, C<PERL_MAGIC_substr>, C<PERL_MAGIC_sv>,
C<PERL_MAGIC_symtab>, C<PERL_MAGIC_taint>, C<PERL_MAGIC_tied>,
C<PERL_MAGIC_tiedelem>, C<PERL_MAGIC_tiedscalar>, C<PERL_MAGIC_utf8>,
C<PERL_MAGIC_uvar>, C<PERL_MAGIC_uvar_elem>, C<PERL_MAGIC_vec>,
C<PERL_MAGIC_vstring>, C<SvTIED_obj>

=item Memory Management

C<dump_mstats> X<dump_mstats>, C<HAS_MALLOC_GOOD_SIZE>
X<HAS_MALLOC_GOOD_SIZE>, C<HAS_MALLOC_SIZE> X<HAS_MALLOC_SIZE>,
C<HASATTRIBUTE_MALLOC> X<HASATTRIBUTE_MALLOC>, C<I_MALLOCMALLOC>
X<I_MALLOCMALLOC>, C<MYMALLOC> X<MYMALLOC>, C<Newx>, C<safemalloc>
X<Newx>X<safemalloc>, C<Newxc> X<Newxc>, C<Newxz>, C<safecalloc>
X<Newxz>X<safecalloc>, C<PERL_MALLOC_WRAP> X<PERL_MALLOC_WRAP>, C<Renew>,
C<saferealloc> X<Renew>X<saferealloc>, C<Renewc> X<Renewc>, C<safecalloc*>,
C<Safefree> X<Safefree>, C<safemalloc*>, C<saferealloc*>, C<safesyscalloc>
X<safesyscalloc>, C<safesysfree> X<safesysfree>, C<safesysmalloc>
X<safesysmalloc>, C<safesysrealloc> X<safesysrealloc>

=item MRO

C<HvMROMETA>, C<mro_get_from_name> X<mro_get_from_name>,
C<mro_get_linear_isa> X<mro_get_linear_isa>, C<MRO_GET_PRIVATE_DATA>,
C<mro_method_changed_in> X<mro_method_changed_in>, C<mro_register>
X<mro_register>, C<mro_set_mro> X<mro_set_mro>, C<mro_set_private_data>

=item Multicall Functions

C<dMULTICALL> X<dMULTICALL>, C<MULTICALL> X<MULTICALL>, C<POP_MULTICALL>
X<POP_MULTICALL>, C<PUSH_MULTICALL> X<PUSH_MULTICALL>

=item Numeric Functions
X<IS_NUMBER_GREATER_THAN_UV_MAX>X<IS_NUMBER_IN_UV>X<IS_NUMBER_INFINITY>
X<IS_NUMBER_NAN>X<IS_NUMBER_NEG>X<IS_NUMBER_NOT_INT>X<IS_NUMBER_TRAILING>
X<PERL_SCAN_ALLOW_UNDERSCORES>X<PERL_SCAN_DISALLOW_PREFIX>
X<PERL_SCAN_GREATER_THAN_UV_MAX>X<PERL_SCAN_SILENT_ILLDIGIT>
X<PERL_SCAN_TRAILING>

C<Atof*>, C<grok_atoUV> X<grok_atoUV>, C<grok_bin> X<grok_bin>, C<grok_hex>
X<grok_hex>, C<grok_infnan> X<grok_infnan>, C<grok_number>,
C<grok_number_flags> X<grok_number>X<grok_number_flags>,
C<grok_numeric_radix>, C<GROK_NUMERIC_RADIX>
X<GROK_NUMERIC_RADIX>X<grok_numeric_radix>, C<grok_oct> X<grok_oct>,
C<isinfnan> X<isinfnan>, C<my_atof>, C<Atof> X<Atof>X<my_atof>,
C<my_strtod>, C<Strtod> X<my_strtod>X<Strtod>, C<PERL_ABS> X<PERL_ABS>,
C<Perl_acos>, C<Perl_asin>, C<Perl_atan>, C<Perl_atan2>, C<Perl_ceil>,
C<Perl_cos>, C<Perl_cosh>, C<Perl_exp>, C<Perl_floor>, C<Perl_fmod>,
C<Perl_frexp>, C<Perl_isfinite>, C<Perl_isinf>, C<Perl_isnan>,
C<Perl_ldexp>, C<Perl_log>, C<Perl_log10>, C<Perl_modf>, C<Perl_pow>,
C<Perl_sin>, C<Perl_sinh>, C<Perl_sqrt>, C<Perl_tan>, C<Perl_tanh>
X<Perl_acos>X<Perl_asin>X<Perl_atan>X<Perl_atan2>X<Perl_ceil>X<Perl_cos>
X<Perl_cosh>X<Perl_exp>X<Perl_floor>X<Perl_fmod>X<Perl_frexp>
X<Perl_isfinite>X<Perl_isinf>X<Perl_isnan>X<Perl_ldexp>X<Perl_log>
X<Perl_log10>X<Perl_modf>X<Perl_pow>X<Perl_sin>X<Perl_sinh>X<Perl_sqrt>
X<Perl_tan>X<Perl_tanh>, C<Perl_signbit> X<Perl_signbit>, C<Perl_sin*>,
C<Perl_sinh*>, C<Perl_sqrt*>, C<Perl_tan*>, C<Perl_tanh*>, C<PL_hexdigit>
X<PL_hexdigit>, C<READ_XDIGIT> X<READ_XDIGIT>, C<scan_bin> X<scan_bin>,
C<scan_hex> X<scan_hex>, C<scan_oct> X<scan_oct>, C<Strtod*>, C<Strtol>
X<Strtol>, C<Strtoul> X<Strtoul>

=item Optrees
X<CALL_CHECKER_REQUIRE_GV>X<OPf_KIDS>X<OPpEARLY_CV>X<OPpENTERSUB_AMPER>
X<RV2CVOPCV_MARK_EARLY>X<RV2CVOPCV_RETURN_NAME_GV>

C<alloccopstash> X<alloccopstash>, C<BINOP>, C<block_end> X<block_end>,
C<block_start> X<block_start>, C<ck_entersub_args_list>
X<ck_entersub_args_list>, C<ck_entersub_args_proto>
X<ck_entersub_args_proto>, C<ck_entersub_args_proto_or_list>
X<ck_entersub_args_proto_or_list>, C<cv_const_sv> X<cv_const_sv>,
C<cv_get_call_checker> X<cv_get_call_checker>, C<cv_get_call_checker_flags>
X<cv_get_call_checker_flags>, C<cv_set_call_checker>
X<cv_set_call_checker>, C<cv_set_call_checker_flags>
X<cv_set_call_checker_flags>, C<finalize_optree> X<finalize_optree>,
C<forbid_outofblock_ops> X<forbid_outofblock_ops>, C<LINKLIST> X<LINKLIST>,
C<LISTOP>, C<LOGOP>, C<LOOP>, C<newANONATTRSUB> X<newANONATTRSUB>,
C<newANONHASH> X<newANONHASH>, C<newANONLIST> X<newANONLIST>, C<newANONSUB>
X<newANONSUB>, C<newARGDEFELEMOP> X<newARGDEFELEMOP>, C<newASSIGNOP>
X<newASSIGNOP>, C<newATTRSUB> X<newATTRSUB>, C<newAVREF> X<newAVREF>,
C<newBINOP> X<newBINOP>, C<newCONDOP> X<newCONDOP>, C<newCONSTSUB>,
C<newCONSTSUB_flags> X<newCONSTSUB>X<newCONSTSUB_flags>, C<newCVREF>
X<newCVREF>, C<newDEFEROP> X<newDEFEROP>, C<newDEFSVOP> X<newDEFSVOP>,
C<newFOROP> X<newFOROP>, C<newGIVENOP> X<newGIVENOP>, C<newGVOP>
X<newGVOP>, C<newGVREF> X<newGVREF>, C<newHVREF> X<newHVREF>, C<newLISTOP>
X<newLISTOP>, C<newLISTOPn> X<newLISTOPn>, C<newLOGOP> X<newLOGOP>,
C<newLOOPEX> X<newLOOPEX>, C<newLOOPOP> X<newLOOPOP>, C<newMETHOP>
X<newMETHOP>, C<newMETHOP_named> X<newMETHOP_named>, C<newNULLLIST>
X<newNULLLIST>, C<newOP> X<newOP>, C<newPADOP> X<newPADOP>, C<newPMOP>
X<newPMOP>, C<newPVOP> X<newPVOP>, C<newRANGE> X<newRANGE>, C<newSLICEOP>
X<newSLICEOP>, C<newSTATEOP> X<newSTATEOP>, C<newSUB> X<newSUB>, C<newSVOP>
X<newSVOP>, C<newSVREF> X<newSVREF>, C<newTRYCATCHOP> X<newTRYCATCHOP>,
C<newUNOP> X<newUNOP>, C<newUNOP_AUX> X<newUNOP_AUX>, C<newWHENOP>
X<newWHENOP>, C<newWHILEOP> X<newWHILEOP>, C<newXS> X<newXS>, C<OA_BASEOP>,
C<OA_BINOP>, C<OA_COP>, C<OA_LISTOP>, C<OA_LOGOP>, C<OA_LOOP>, C<OA_PADOP>,
C<OA_PMOP>, C<OA_PVOP_OR_SVOP>, C<OA_SVOP>, C<OA_UNOP>, C<OP>,
C<op_append_elem> X<op_append_elem>, C<op_append_list> X<op_append_list>,
C<OP_CLASS> X<OP_CLASS>, C<op_contextualize> X<op_contextualize>,
C<op_convert_list> X<op_convert_list>, C<OP_DESC> X<OP_DESC>,
C<op_force_list> X<op_force_list>, C<op_free> X<op_free>, C<op_linklist>
X<op_linklist>, C<op_lvalue> X<op_lvalue>, C<OP_NAME> X<OP_NAME>,
C<op_null> X<op_null>, C<op_parent> X<op_parent>, C<op_prepend_elem>
X<op_prepend_elem>, C<op_scope> X<op_scope>, C<op_sibling_splice>
X<op_sibling_splice>, C<OP_TYPE_IS> X<OP_TYPE_IS>, C<OP_TYPE_IS_OR_WAS>
X<OP_TYPE_IS_OR_WAS>, C<op_wrap_finally> X<op_wrap_finally>, C<opcode>
X<opcode>, C<OpHAS_SIBLING> X<OpHAS_SIBLING>, C<OpLASTSIB_set>
X<OpLASTSIB_set>, C<OpMAYBESIB_set> X<OpMAYBESIB_set>, C<OpMORESIB_set>
X<OpMORESIB_set>, C<OpSIBLING> X<OpSIBLING>, C<optimize_optree>
X<optimize_optree>, C<peep_t>, C<Perl_cpeep_t>, C<PL_opfreehook>
X<PL_opfreehook>, C<PL_peepp> X<PL_peepp>, C<PL_rpeepp> X<PL_rpeepp>,
C<PMOP>, C<rv2cv_op_cv> X<rv2cv_op_cv>, C<UNOP>, C<XOP>

=item Pack and Unpack

C<packlist> X<packlist>, C<unpackstring> X<unpackstring>

=item Pad Data Structures
X<SVs_PADSTALE>

C<CvPADLIST> X<CvPADLIST>, C<pad_add_name_pvs> X<pad_add_name_pvs>,
C<pad_new> X<pad_new>, C<PadARRAY> X<PadARRAY>, C<PadlistARRAY>
X<PadlistARRAY>, C<PadlistMAX> X<PadlistMAX>, C<PadlistNAMES>
X<PadlistNAMES>, C<PadlistNAMESARRAY> X<PadlistNAMESARRAY>,
C<PadlistNAMESMAX> X<PadlistNAMESMAX>, C<PadlistREFCNT> X<PadlistREFCNT>,
C<PadMAX> X<PadMAX>, C<PadnameLEN> X<PadnameLEN>, C<PadnamelistARRAY>
X<PadnamelistARRAY>, C<PadnamelistMAX> X<PadnamelistMAX>,
C<PadnamelistREFCNT> X<PadnamelistREFCNT>, C<PadnamelistREFCNT_dec>
X<PadnamelistREFCNT_dec>, C<PadnamePV> X<PadnamePV>, C<PadnameREFCNT>
X<PadnameREFCNT>, C<PadnameREFCNT_dec> X<PadnameREFCNT_dec>,
C<PadnameREFCNT_inc> X<PadnameREFCNT_inc>, C<PadnameSV> X<PadnameSV>,
C<PadnameUTF8> X<PadnameUTF8>, C<PL_comppad> X<PL_comppad>,
C<PL_comppad_name> X<PL_comppad_name>, C<PL_curpad> X<PL_curpad>,
C<SVs_PADMY>, C<SVs_PADTMP>

=item Password and Group access

C<GRPASSWD> X<GRPASSWD>, C<HAS_ENDGRENT> X<HAS_ENDGRENT>, C<HAS_ENDGRENT_R>
X<HAS_ENDGRENT_R>, C<HAS_ENDPWENT> X<HAS_ENDPWENT>, C<HAS_ENDPWENT_R>
X<HAS_ENDPWENT_R>, C<HAS_GETGRENT> X<HAS_GETGRENT>, C<HAS_GETGRENT_R>
X<HAS_GETGRENT_R>, C<HAS_GETPWENT> X<HAS_GETPWENT>, C<HAS_GETPWENT_R>
X<HAS_GETPWENT_R>, C<HAS_SETGRENT> X<HAS_SETGRENT>, C<HAS_SETGRENT_R>
X<HAS_SETGRENT_R>, C<HAS_SETPWENT> X<HAS_SETPWENT>, C<HAS_SETPWENT_R>
X<HAS_SETPWENT_R>, C<PWAGE> X<PWAGE>, C<PWCHANGE> X<PWCHANGE>, C<PWCLASS>
X<PWCLASS>, C<PWCOMMENT> X<PWCOMMENT>, C<PWEXPIRE> X<PWEXPIRE>, C<PWGECOS>
X<PWGECOS>, C<PWPASSWD> X<PWPASSWD>, C<PWQUOTA> X<PWQUOTA>

=item Paths to system commands

C<CSH> X<CSH>, C<LOC_SED> X<LOC_SED>, C<SH_PATH> X<SH_PATH>

=item Prototype information

C<CRYPT_R_PROTO> X<CRYPT_R_PROTO>, C<CTERMID_R_PROTO> X<CTERMID_R_PROTO>,
C<DRAND48_R_PROTO> X<DRAND48_R_PROTO>, C<ENDGRENT_R_PROTO>
X<ENDGRENT_R_PROTO>, C<ENDHOSTENT_R_PROTO> X<ENDHOSTENT_R_PROTO>,
C<ENDNETENT_R_PROTO> X<ENDNETENT_R_PROTO>, C<ENDPROTOENT_R_PROTO>
X<ENDPROTOENT_R_PROTO>, C<ENDPWENT_R_PROTO> X<ENDPWENT_R_PROTO>,
C<ENDSERVENT_R_PROTO> X<ENDSERVENT_R_PROTO>, C<GDBM_NDBM_H_USES_PROTOTYPES>
X<GDBM_NDBM_H_USES_PROTOTYPES>, C<GDBMNDBM_H_USES_PROTOTYPES>
X<GDBMNDBM_H_USES_PROTOTYPES>, C<GETGRENT_R_PROTO> X<GETGRENT_R_PROTO>,
C<GETGRGID_R_PROTO> X<GETGRGID_R_PROTO>, C<GETGRNAM_R_PROTO>
X<GETGRNAM_R_PROTO>, C<GETHOSTBYADDR_R_PROTO> X<GETHOSTBYADDR_R_PROTO>,
C<GETHOSTBYNAME_R_PROTO> X<GETHOSTBYNAME_R_PROTO>, C<GETHOSTENT_R_PROTO>
X<GETHOSTENT_R_PROTO>, C<GETLOGIN_R_PROTO> X<GETLOGIN_R_PROTO>,
C<GETNETBYADDR_R_PROTO> X<GETNETBYADDR_R_PROTO>, C<GETNETBYNAME_R_PROTO>
X<GETNETBYNAME_R_PROTO>, C<GETNETENT_R_PROTO> X<GETNETENT_R_PROTO>,
C<GETPROTOBYNAME_R_PROTO> X<GETPROTOBYNAME_R_PROTO>,
C<GETPROTOBYNUMBER_R_PROTO> X<GETPROTOBYNUMBER_R_PROTO>,
C<GETPROTOENT_R_PROTO> X<GETPROTOENT_R_PROTO>, C<GETPWENT_R_PROTO>
X<GETPWENT_R_PROTO>, C<GETPWNAM_R_PROTO> X<GETPWNAM_R_PROTO>,
C<GETPWUID_R_PROTO> X<GETPWUID_R_PROTO>, C<GETSERVBYNAME_R_PROTO>
X<GETSERVBYNAME_R_PROTO>, C<GETSERVBYPORT_R_PROTO>
X<GETSERVBYPORT_R_PROTO>, C<GETSERVENT_R_PROTO> X<GETSERVENT_R_PROTO>,
C<GETSPNAM_R_PROTO> X<GETSPNAM_R_PROTO>, C<HAS_DBMINIT_PROTO>
X<HAS_DBMINIT_PROTO>, C<HAS_DRAND48_PROTO> X<HAS_DRAND48_PROTO>,
C<HAS_FLOCK_PROTO> X<HAS_FLOCK_PROTO>, C<HAS_GETHOST_PROTOS>
X<HAS_GETHOST_PROTOS>, C<HAS_GETNET_PROTOS> X<HAS_GETNET_PROTOS>,
C<HAS_GETPROTO_PROTOS> X<HAS_GETPROTO_PROTOS>, C<HAS_GETSERV_PROTOS>
X<HAS_GETSERV_PROTOS>, C<HAS_MODFL_PROTO> X<HAS_MODFL_PROTO>,
C<HAS_SBRK_PROTO> X<HAS_SBRK_PROTO>, C<HAS_SETRESGID_PROTO>
X<HAS_SETRESGID_PROTO>, C<HAS_SETRESUID_PROTO> X<HAS_SETRESUID_PROTO>,
C<HAS_SHMAT_PROTOTYPE> X<HAS_SHMAT_PROTOTYPE>, C<HAS_SOCKATMARK_PROTO>
X<HAS_SOCKATMARK_PROTO>, C<HAS_SYSCALL_PROTO> X<HAS_SYSCALL_PROTO>,
C<HAS_TELLDIR_PROTO> X<HAS_TELLDIR_PROTO>, C<NDBM_H_USES_PROTOTYPES>
X<NDBM_H_USES_PROTOTYPES>, C<RANDOM_R_PROTO> X<RANDOM_R_PROTO>,
C<READDIR_R_PROTO> X<READDIR_R_PROTO>, C<SETGRENT_R_PROTO>
X<SETGRENT_R_PROTO>, C<SETHOSTENT_R_PROTO> X<SETHOSTENT_R_PROTO>,
C<SETLOCALE_R_PROTO> X<SETLOCALE_R_PROTO>, C<SETNETENT_R_PROTO>
X<SETNETENT_R_PROTO>, C<SETPROTOENT_R_PROTO> X<SETPROTOENT_R_PROTO>,
C<SETPWENT_R_PROTO> X<SETPWENT_R_PROTO>, C<SETSERVENT_R_PROTO>
X<SETSERVENT_R_PROTO>, C<SRANDOM_R_PROTO> X<SRANDOM_R_PROTO>,
C<SRAND48_R_PROTO> X<SRAND48_R_PROTO>, C<STRERROR_R_PROTO>
X<STRERROR_R_PROTO>, C<TMPNAM_R_PROTO> X<TMPNAM_R_PROTO>,
C<TTYNAME_R_PROTO> X<TTYNAME_R_PROTO>

=item Reference-counted stack manipulation

C<rpp_context> X<rpp_context>, C<rpp_extend> X<rpp_extend>,
C<rpp_invoke_xs> X<rpp_invoke_xs>, C<rpp_is_lone> X<rpp_is_lone>,
C<rpp_pop_1_norc> X<rpp_pop_1_norc>, C<rpp_popfree_to> X<rpp_popfree_to>,
C<rpp_popfree_to_NN> X<rpp_popfree_to_NN>, C<rpp_popfree_1>
X<rpp_popfree_1>, C<rpp_popfree_1_NN> X<rpp_popfree_1_NN>, C<rpp_popfree_2>
X<rpp_popfree_2>, C<rpp_popfree_2_NN> X<rpp_popfree_2_NN>, C<rpp_push_1>,
C<rpp_push_IMM>, C<rpp_push_2>, C<rpp_xpush_1>, C<rpp_xpush_IMM>,
C<rpp_xpush_2>
X<rpp_push_IMM>X<rpp_push_1>X<rpp_push_2>X<rpp_xpush_IMM>X<rpp_xpush_1>
X<rpp_xpush_2>, C<rpp_push_1_norc> X<rpp_push_1_norc>, C<rpp_push_2*>,
C<rpp_replace_at> X<rpp_replace_at>, C<rpp_replace_at_NN>
X<rpp_replace_at_NN>, C<rpp_replace_at_norc> X<rpp_replace_at_norc>,
C<rpp_replace_at_norc_NN> X<rpp_replace_at_norc_NN>, C<rpp_replace_1_1>,
C<rpp_replace_1_1_NN>, C<rpp_replace_1_IMM_NN>
X<rpp_replace_1_IMM_NN>X<rpp_replace_1_1>X<rpp_replace_1_1_NN>,
C<rpp_replace_2_1>, C<rpp_replace_2_1_NN>, C<rpp_replace_2_IMM_NN>
X<rpp_replace_2_IMM_NN>X<rpp_replace_2_1>X<rpp_replace_2_1_NN>,
C<rpp_stack_is_rc> X<rpp_stack_is_rc>, C<rpp_try_AMAGIC_1>,
C<rpp_try_AMAGIC_2> X<rpp_try_AMAGIC_1>X<rpp_try_AMAGIC_2>,
C<rpp_xpush_IMM*>, C<rpp_xpush_1*>, C<rpp_xpush_2*>, C<XSPP_wrapped>
X<XSPP_wrapped>

=item REGEXP Functions
X<RX_OFFS_END>X<RX_OFFS_START>X<RX_OFFS_VALID>X<RXp_OFFS_END>
X<RXp_OFFS_START>X<RXp_OFFS_VALID>

C<pregcomp>, C<pregexec>, C<re_compile> X<re_compile>, C<re_dup_guts>
X<re_dup_guts>, C<REGEX_LOCALE_CHARSET>, C<REGEXP>, C<regexp> X<regexp>,
C<regexp_engine> X<regexp_engine>, C<regexp_paren_pair>, C<regmatch_info>
X<regmatch_info>, C<REXEC_COPY_SKIP_POST>, C<REXEC_COPY_SKIP_PRE>,
C<REXEC_COPY_STR>, C<RX_BUFF_IDX_CARET_FULLMATCH>,
C<RX_BUFF_IDX_CARET_POSTMATCH>, C<RX_BUFF_IDX_CARET_PREMATCH>,
C<RX_BUFF_IDX_FULLMATCH>, C<RX_BUFF_IDX_POSTMATCH>,
C<RX_BUFF_IDX_PREMATCH>, C<RX_MATCH_COPIED>, C<RXapif_ALL>,
C<RXapif_CLEAR>, C<RXapif_DELETE>, C<RXapif_EXISTS>, C<RXapif_FETCH>,
C<RXapif_FIRSTKEY>, C<RXapif_NEXTKEY>, C<RXapif_ONE>, C<RXapif_REGNAME>,
C<RXapif_REGNAMES>, C<RXapif_REGNAMES_COUNT>, C<RXapif_SCALAR>,
C<RXapif_STORE>, C<RXf_NO_INPLACE_SUBST>, C<RXf_NULL>, C<RXf_SKIPWHITE>,
C<RXf_SPLIT>, C<RXf_START_ONLY>, C<RXf_WHITE>, C<RXf_PMf_EXTENDED>,
C<RXf_PMf_FOLD>, C<RXf_PMf_KEEPCOPY>, C<RXf_PMf_MULTILINE>,
C<RXf_PMf_SINGLELINE>, C<RXf_SKIPWHITE*>, C<RXf_SPLIT*>,
C<RXf_START_ONLY*>, C<RXf_WHITE*>, C<struct regexp>, C<SV_SAVED_COPY>,
C<SvRX> X<SvRX>, C<SvRXOK> X<SvRXOK>

=item Reports and Formats

C<IoBOTTOM_GV>, C<IoBOTTOM_NAME>, C<IoFMT_GV>, C<IoFMT_NAME>, C<IoLINES>,
C<IoLINES_LEFT>, C<IoPAGE>, C<IoPAGE_LEN>, C<IoTOP_GV>, C<IoTOP_NAME>

=item Signals

C<HAS_SIGINFO_SI_ADDR> X<HAS_SIGINFO_SI_ADDR>, C<HAS_SIGINFO_SI_BAND>
X<HAS_SIGINFO_SI_BAND>, C<HAS_SIGINFO_SI_ERRNO> X<HAS_SIGINFO_SI_ERRNO>,
C<HAS_SIGINFO_SI_PID> X<HAS_SIGINFO_SI_PID>, C<HAS_SIGINFO_SI_STATUS>
X<HAS_SIGINFO_SI_STATUS>, C<HAS_SIGINFO_SI_UID> X<HAS_SIGINFO_SI_UID>,
C<HAS_SIGINFO_SI_VALUE> X<HAS_SIGINFO_SI_VALUE>,
C<PERL_SIGNALS_UNSAFE_FLAG> X<PERL_SIGNALS_UNSAFE_FLAG>, C<rsignal>
X<rsignal>, C<rsignal_state> X<rsignal_state>, C<SIG_NAME> X<SIG_NAME>,
C<SIG_NUM> X<SIG_NUM>, C<SIG_SIZE> X<SIG_SIZE>, C<Sigjmp_buf>
X<Sigjmp_buf>, C<Siglongjmp> X<Siglongjmp>, C<Sigsetjmp> X<Sigsetjmp>,
C<whichsig>, C<whichsig_pv>, C<whichsig_pvn>, C<whichsig_sv>
X<whichsig>X<whichsig_pv>X<whichsig_pvn>X<whichsig_sv>

=item Site configuration

C<ARCHLIB> X<ARCHLIB>, C<ARCHLIB_EXP> X<ARCHLIB_EXP>, C<ARCHNAME>
X<ARCHNAME>, C<BIN> X<BIN>, C<BIN_EXP> X<BIN_EXP>, C<INSTALL_USR_BIN_PERL>
X<INSTALL_USR_BIN_PERL>, C<MULTIARCH> X<MULTIARCH>,
C<PERL_INC_VERSION_LIST> X<PERL_INC_VERSION_LIST>, C<PERL_OTHERLIBDIRS>
X<PERL_OTHERLIBDIRS>, C<PERL_RELOCATABLE_INC> X<PERL_RELOCATABLE_INC>,
C<PERL_TARGETARCH> X<PERL_TARGETARCH>, C<PERL_USE_DEVEL> X<PERL_USE_DEVEL>,
C<PERL_VENDORARCH> X<PERL_VENDORARCH>, C<PERL_VENDORARCH_EXP>
X<PERL_VENDORARCH_EXP>, C<PERL_VENDORLIB_EXP> X<PERL_VENDORLIB_EXP>,
C<PERL_VENDORLIB_STEM> X<PERL_VENDORLIB_STEM>, C<PRIVLIB> X<PRIVLIB>,
C<PRIVLIB_EXP> X<PRIVLIB_EXP>, C<SITEARCH> X<SITEARCH>, C<SITEARCH_EXP>
X<SITEARCH_EXP>, C<SITELIB> X<SITELIB>, C<SITELIB_EXP> X<SITELIB_EXP>,
C<SITELIB_STEM> X<SITELIB_STEM>, C<STARTPERL> X<STARTPERL>,
C<USE_BSD_GETPGRP> X<USE_BSD_GETPGRP>, C<USE_BSD_SETPGRP>
X<USE_BSD_SETPGRP>, C<USE_C_BACKTRACE> X<USE_C_BACKTRACE>, C<USE_CPLUSPLUS>
X<USE_CPLUSPLUS>, C<USE_CROSS_COMPILE> X<USE_CROSS_COMPILE>, C<USE_DTRACE>
X<USE_DTRACE>, C<USE_DYNAMIC_LOADING> X<USE_DYNAMIC_LOADING>,
C<USE_FAST_STDIO> X<USE_FAST_STDIO>, C<USE_ITHREADS> X<USE_ITHREADS>,
C<USE_KERN_PROC_PATHNAME> X<USE_KERN_PROC_PATHNAME>, C<USE_LARGE_FILES>
X<USE_LARGE_FILES>, C<USE_LONG_DOUBLE> X<USE_LONG_DOUBLE>, C<USE_MORE_BITS>
X<USE_MORE_BITS>, C<USE_NSGETEXECUTABLEPATH> X<USE_NSGETEXECUTABLEPATH>,
C<USE_PERLIO> X<USE_PERLIO>, C<USE_QUADMATH> X<USE_QUADMATH>,
C<USE_REENTRANT_API> X<USE_REENTRANT_API>, C<USE_SEMCTL_SEMID_DS>
X<USE_SEMCTL_SEMID_DS>, C<USE_SEMCTL_SEMUN> X<USE_SEMCTL_SEMUN>,
C<USE_SITECUSTOMIZE> X<USE_SITECUSTOMIZE>, C<USE_SOCKS> X<USE_SOCKS>,
C<USE_STAT_BLOCKS> X<USE_STAT_BLOCKS>, C<USE_STDIO_BASE> X<USE_STDIO_BASE>,
C<USE_STDIO_PTR> X<USE_STDIO_PTR>, C<USE_STRICT_BY_DEFAULT>
X<USE_STRICT_BY_DEFAULT>, C<USE_THREADS> X<USE_THREADS>, C<USE_64_BIT_ALL>
X<USE_64_BIT_ALL>, C<USE_64_BIT_INT> X<USE_64_BIT_INT>

=item Sockets configuration values

C<HAS_SOCKADDR_IN6> X<HAS_SOCKADDR_IN6>, C<HAS_SOCKADDR_SA_LEN>
X<HAS_SOCKADDR_SA_LEN>, C<HAS_SOCKADDR_STORAGE> X<HAS_SOCKADDR_STORAGE>,
C<HAS_SOCKATMARK> X<HAS_SOCKATMARK>, C<HAS_SOCKET> X<HAS_SOCKET>,
C<HAS_SOCKETPAIR> X<HAS_SOCKETPAIR>, C<HAS_SOCKS5_INIT> X<HAS_SOCKS5_INIT>,
C<I_SOCKS> X<I_SOCKS>, C<I_SYS_SOCKIO> X<I_SYS_SOCKIO>

=item Source Filters

C<apply_builtin_cv_attributes> X<apply_builtin_cv_attributes>,
C<filter_add>, C<filter_del> X<filter_del>, C<filter_read>, C<scan_vstring>
X<scan_vstring>, C<start_subparse> X<start_subparse>

=item Stack Manipulation Macros

C<dMARK> X<dMARK>, C<dORIGMARK> X<dORIGMARK>, C<dSP> X<dSP>, C<dTARGET>
X<dTARGET>, C<EXTEND> X<EXTEND>, C<MARK> X<MARK>, C<mPUSHi> X<mPUSHi>,
C<mPUSHn> X<mPUSHn>, C<mPUSHp> X<mPUSHp>, C<mPUSHpvs> X<mPUSHpvs>,
C<mPUSHs> X<mPUSHs>, C<mPUSHu> X<mPUSHu>, C<mXPUSHi> X<mXPUSHi>, C<mXPUSHn>
X<mXPUSHn>, C<mXPUSHp> X<mXPUSHp>, C<mXPUSHpvs> X<mXPUSHpvs>, C<mXPUSHs>
X<mXPUSHs>, C<mXPUSHu> X<mXPUSHu>, C<newXSproto> X<newXSproto>, C<ORIGMARK>
X<ORIGMARK>, C<PL_markstack>, C<PL_markstack_ptr>, C<PL_savestack>,
C<PL_savestack_ix>, C<PL_scopestack>, C<PL_scopestack_ix>,
C<PL_scopestack_name>, C<PL_stack_base>, C<PL_stack_sp>, C<PL_tmps_floor>,
C<PL_tmps_ix>, C<PL_tmps_stack>, C<POPi> X<POPi>, C<POPl> X<POPl>, C<POPn>
X<POPn>, C<POPp>, C<POPpx> X<POPp>X<POPpx>, C<POPpbytex> X<POPpbytex>,
C<POPpx*>, C<POPs> X<POPs>, C<POPu> X<POPu>, C<POPul> X<POPul>, C<PUSHi>
X<PUSHi>, C<PUSHMARK> X<PUSHMARK>, C<PUSHmortal> X<PUSHmortal>, C<PUSHn>
X<PUSHn>, C<PUSHp> X<PUSHp>, C<PUSHpvs> X<PUSHpvs>, C<PUSHs> X<PUSHs>,
C<PUSHu> X<PUSHu>, C<PUTBACK> X<PUTBACK>, C<SAVEt_INT>, C<SP> X<SP>,
C<SPAGAIN> X<SPAGAIN>, C<SSNEW>, C<SSNEWa>, C<SSNEWat>, C<SSNEWt>
X<SSNEW>X<SSNEWa>X<SSNEWat>X<SSNEWt>, C<SSPTR>, C<SSPTRt>
X<SSPTR>X<SSPTRt>, C<TARG> X<TARG>, C<TOPs>, C<XPUSHi> X<XPUSHi>,
C<XPUSHmortal> X<XPUSHmortal>, C<XPUSHn> X<XPUSHn>, C<XPUSHp> X<XPUSHp>,
C<XPUSHpvs> X<XPUSHpvs>, C<XPUSHs> X<XPUSHs>, C<XPUSHu> X<XPUSHu>,
C<XS_APIVERSION_BOOTCHECK> X<XS_APIVERSION_BOOTCHECK>, C<XS_VERSION>
X<XS_VERSION>, C<XS_VERSION_BOOTCHECK> X<XS_VERSION_BOOTCHECK>, C<XSRETURN>
X<XSRETURN>, C<XSRETURN_EMPTY> X<XSRETURN_EMPTY>, C<XSRETURN_IV>
X<XSRETURN_IV>, C<XSRETURN_NO> X<XSRETURN_NO>, C<XSRETURN_NV>
X<XSRETURN_NV>, C<XSRETURN_PV> X<XSRETURN_PV>, C<XSRETURN_UNDEF>
X<XSRETURN_UNDEF>, C<XSRETURN_UV> X<XSRETURN_UV>, C<XSRETURN_YES>
X<XSRETURN_YES>, C<XST_mIV> X<XST_mIV>, C<XST_mNO> X<XST_mNO>, C<XST_mNV>
X<XST_mNV>, C<XST_mPV> X<XST_mPV>, C<XST_mUNDEF> X<XST_mUNDEF>, C<XST_mUV>
X<XST_mUV>, C<XST_mYES> X<XST_mYES>

=item String Handling

C<Copy>, C<CopyD> X<Copy>X<CopyD>, C<delimcpy> X<delimcpy>, C<do_join>
X<do_join>, C<do_sprintf> X<do_sprintf>, C<fbm_compile> X<fbm_compile>,
C<fbm_instr> X<fbm_instr>, C<foldEQ>, C<foldEQ_locale>
X<foldEQ>X<foldEQ_locale>, C<ibcmp>, C<ibcmp_locale>, C<ibcmp_utf8>
X<ibcmp>X<ibcmp_locale>X<ibcmp_utf8>, C<instr> X<instr>, C<memCHRs>
X<memCHRs>, C<memEQ> X<memEQ>, C<memEQs> X<memEQs>, C<memNE> X<memNE>,
C<memNEs> X<memNEs>, C<Move>, C<MoveD> X<Move>X<MoveD>, C<my_snprintf>
X<my_snprintf>, C<my_sprintf> X<my_sprintf>, C<my_strlcat> X<my_strlcat>,
C<my_strlcpy> X<my_strlcpy>, C<my_strnlen> X<my_strnlen>, C<my_vsnprintf>
X<my_vsnprintf>, C<NewCopy> X<NewCopy>, C<ninstr> X<ninstr>, C<Nullch>
X<Nullch>, C<PL_na> X<PL_na>, C<rninstr> X<rninstr>, C<savepv>, C<savepvn>,
C<savepvs>, C<savesvpv>, C<savesharedpv>, C<savesharedpvn>,
C<savesharedpvs>, C<savesharedsvpv>
X<savepv>X<savepvn>X<savepvs>X<savesharedpv>X<savesharedpvn>
X<savesharedpvs>X<savesharedsvpv>X<savesvpv>, C<STR_WITH_LEN>
X<STR_WITH_LEN>, C<strEQ> X<strEQ>, C<strGE> X<strGE>, C<strGT> X<strGT>,
C<strLE> X<strLE>, C<STRLEN>, C<strLT> X<strLT>, C<strNE> X<strNE>,
C<strnEQ> X<strnEQ>, C<strnNE> X<strnNE>, C<Zero>, C<ZeroD> X<Zero>X<ZeroD>

=item SV Flags

C<SVt_IV>, C<SVt_NULL>, C<SVt_NV>, C<SVt_PV>
X<SVt_IV>X<SVt_NULL>X<SVt_NV>X<SVt_PV>, C<SVt_PVAV> X<SVt_PVAV>,
C<SVt_PVCV> X<SVt_PVCV>, C<SVt_PVFM> X<SVt_PVFM>, C<SVt_PVGV> X<SVt_PVGV>,
C<SVt_PVHV> X<SVt_PVHV>, C<SVt_PVIO> X<SVt_PVIO>, C<SVt_PVIV>, C<SVt_PVLV>,
C<SVt_PVMG>, C<SVt_PVNV> X<SVt_PVIV>X<SVt_PVLV>X<SVt_PVMG>X<SVt_PVNV>,
C<SVt_PVOBJ> X<SVt_PVOBJ>, C<SVt_REGEXP> X<SVt_REGEXP>, C<svtype> X<svtype>

=item SV Handling
X<PERL_MAGIC_utf8>X<SV_CATBYTES>X<SV_CATUTF8>X<SV_COW_DROP_PV>
X<SV_FORCE_UTF8_UPGRADE>X<SV_GMAGIC>X<SV_HAS_TRAILING_NUL>
X<SV_IMMEDIATE_UNREF>X<SV_NOSTEAL>X<SV_SKIP_OVERLOAD>X<SV_SMAGIC>
X<SV_UTF8_NO_ENCODING>X<SVs_TEMP>

C<AV_FROM_REF>, C<CV_FROM_REF>, C<GV_FROM_REF>, C<HV_FROM_REF>
X<AV_FROM_REF>X<CV_FROM_REF>X<GV_FROM_REF>X<HV_FROM_REF>,
C<BOOL_INTERNALS_sv_isbool> X<BOOL_INTERNALS_sv_isbool>,
C<BOOL_INTERNALS_sv_isbool_false> X<BOOL_INTERNALS_sv_isbool_false>,
C<BOOL_INTERNALS_sv_isbool_true> X<BOOL_INTERNALS_sv_isbool_true>,
C<boolSV> X<boolSV>, C<croak_xs_usage> X<croak_xs_usage>, C<CV_FROM_REF*>,
C<DEFSV> X<DEFSV>, C<DEFSV_set> X<DEFSV_set>, C<get_sv> X<get_sv>,
C<GV_FROM_REF*>, C<HV_FROM_REF*>, C<isGV_with_GP> X<isGV_with_GP>,
C<looks_like_number> X<looks_like_number>, C<MUTABLE_AV>, C<MUTABLE_CV>,
C<MUTABLE_GV>, C<MUTABLE_HV>, C<MUTABLE_IO>, C<MUTABLE_PTR>, C<MUTABLE_SV>
X<MUTABLE_AV>X<MUTABLE_CV>X<MUTABLE_GV>X<MUTABLE_HV>X<MUTABLE_IO>
X<MUTABLE_PTR>X<MUTABLE_SV>, C<newRV>, C<newRV_inc> X<newRV>X<newRV_inc>,
C<newRV_noinc> X<newRV_noinc>, C<newSV> X<newSV>, C<newSV_false>
X<newSV_false>, C<newSV_true> X<newSV_true>, C<newSV_type> X<newSV_type>,
C<newSV_type_mortal> X<newSV_type_mortal>, C<newSVbool> X<newSVbool>,
C<newSVhek> X<newSVhek>, C<newSVhek_mortal> X<newSVhek_mortal>, C<newSViv>
X<newSViv>, C<newSVnv> X<newSVnv>, C<newSVpadname> X<newSVpadname>,
C<newSVpv> X<newSVpv>, C<newSVpv_share> X<newSVpv_share>, C<newSVpvf>
X<newSVpvf>, C<newSVpvf_nocontext> X<newSVpvf_nocontext>, C<newSVpvn>
X<newSVpvn>, C<newSVpvn_flags> X<newSVpvn_flags>, C<newSVpvn_share>
X<newSVpvn_share>, C<newSVpvn_utf8> X<newSVpvn_utf8>, C<newSVpvs>
X<newSVpvs>, C<newSVpvs_flags> X<newSVpvs_flags>, C<newSVpvs_share>
X<newSVpvs_share>, C<newSVpvz> X<newSVpvz>, C<newSVrv> X<newSVrv>,
C<newSVsv>, C<newSVsv_flags>, C<newSVsv_nomg>
X<newSVsv>X<newSVsv_flags>X<newSVsv_nomg>, C<newSVuv> X<newSVuv>, C<Nullsv>
X<Nullsv>, C<PL_sv_no> X<PL_sv_no>, C<PL_sv_undef> X<PL_sv_undef>,
C<PL_sv_yes> X<PL_sv_yes>, C<PL_sv_zero> X<PL_sv_zero>, C<SAVE_DEFSV>
X<SAVE_DEFSV>, C<sortsv> X<sortsv>, C<sortsv_flags> X<sortsv_flags>, C<SV>,
C<sv_backoff> X<sv_backoff>, C<sv_bless> X<sv_bless>, C<sv_catpv>,
C<sv_catpv_flags>, C<sv_catpv_mg>, C<sv_catpv_nomg>, C<sv_catpvn>,
C<sv_catpvn_flags>, C<sv_catpvn_mg>, C<sv_catpvn_nomg>,
C<sv_catpvn_nomg_maybeutf8>, C<sv_catpvs>, C<sv_catpvs_flags>,
C<sv_catpvs_mg>, C<sv_catpvs_nomg>
X<sv_catpv>X<sv_catpv_flags>X<sv_catpv_mg>X<sv_catpv_nomg>X<sv_catpvn>
X<sv_catpvn_flags>X<sv_catpvn_mg>X<sv_catpvn_nomg>
X<sv_catpvn_nomg_maybeutf8>X<sv_catpvs>X<sv_catpvs_flags>X<sv_catpvs_mg>
X<sv_catpvs_nomg>, C<sv_catpvf>, C<sv_catpvf_nocontext>, C<sv_catpvf_mg>,
C<sv_catpvf_mg_nocontext>, C<sv_vcatpvf>, C<sv_vcatpvf_mg>, C<sv_vcatpvfn>,
C<sv_vcatpvfn_flags>
X<sv_catpvf>X<sv_catpvf_mg>X<sv_catpvf_mg_nocontext>X<sv_catpvf_nocontext>
X<sv_vcatpvf>X<sv_vcatpvf_mg>X<sv_vcatpvfn>X<sv_vcatpvfn_flags>,
C<sv_catpvn*>, C<sv_catpvn_flags*>, C<sv_catpvn_mg*>, C<sv_catpvn_nomg*>,
C<sv_catpvn_nomg_maybeutf8*>, C<sv_catpvs*>, C<sv_catpvs_flags*>,
C<sv_catpvs_mg*>, C<sv_catpvs_nomg*>, C<sv_catsv>, C<sv_catsv_flags>,
C<sv_catsv_mg>, C<sv_catsv_nomg>
X<sv_catsv>X<sv_catsv_flags>X<sv_catsv_mg>X<sv_catsv_nomg>,
C<SV_CHECK_THINKFIRST> X<SV_CHECK_THINKFIRST>,
C<SV_CHECK_THINKFIRST_COW_DROP> X<SV_CHECK_THINKFIRST_COW_DROP>, C<sv_chop>
X<sv_chop>, C<sv_clear> X<sv_clear>, C<sv_cmp>, C<sv_cmp_flags>
X<sv_cmp>X<sv_cmp_flags>, C<sv_cmp_locale>, C<sv_cmp_locale_flags>
X<sv_cmp_locale>X<sv_cmp_locale_flags>, C<sv_collxfrm>,
C<sv_collxfrm_flags> X<sv_collxfrm>X<sv_collxfrm_flags>, C<sv_copypv>,
C<sv_copypv_flags>, C<sv_copypv_nomg>
X<sv_copypv>X<sv_copypv_flags>X<sv_copypv_nomg>, C<sv_dec>, C<sv_dec_nomg>
X<sv_dec>X<sv_dec_nomg>, C<sv_derived_from>, C<sv_derived_from_hv>,
C<sv_derived_from_pv>, C<sv_derived_from_pvn>, C<sv_derived_from_sv>
X<sv_derived_from>X<sv_derived_from_hv>X<sv_derived_from_pv>
X<sv_derived_from_pvn>X<sv_derived_from_sv>, C<sv_does> X<sv_does>,
C<sv_does_pv> X<sv_does_pv>, C<sv_does_pvn> X<sv_does_pvn>, C<sv_does_sv>
X<sv_does_sv>, C<sv_eq>, C<sv_eq_flags> X<sv_eq>X<sv_eq_flags>,
C<sv_force_normal>, C<sv_force_normal_flags>
X<sv_force_normal>X<sv_force_normal_flags>, if the PV is a shared string,
if we're a ref, if we're a glob, if we're a copy-on-write scalar, if this
is a vstring, in C<sv_force_normal_flags> if C<SV_COW_DROP_PV> is set in
C<flags>, C<sv_free> X<sv_free>, C<sv_get_backrefs> X<sv_get_backrefs>,
C<sv_gets> X<sv_gets>, C<sv_inc>, C<sv_inc_nomg> X<sv_inc>X<sv_inc_nomg>,
C<sv_insert>, C<sv_insert_flags> X<sv_insert>X<sv_insert_flags>, C<sv_isa>
X<sv_isa>, C<sv_isa_sv> X<sv_isa_sv>, C<sv_isobject> X<sv_isobject>,
C<sv_len> X<sv_len>, C<sv_len_utf8>, C<sv_len_utf8_nomg>
X<sv_len_utf8>X<sv_len_utf8_nomg>, C<sv_magic> X<sv_magic>, C<sv_magicext>
X<sv_magicext>, C<sv_mortalcopy>, C<sv_mortalcopy_flags>
X<sv_mortalcopy>X<sv_mortalcopy_flags>, C<sv_newmortal> X<sv_newmortal>,
C<sv_nolocking> X<sv_nolocking>, C<sv_nounlocking> X<sv_nounlocking>,
C<sv_numeq>, C<sv_numeq_flags> X<sv_numeq>X<sv_numeq_flags>, C<sv_pos_b2u>,
C<sv_pos_b2u_flags> X<sv_pos_b2u>X<sv_pos_b2u_flags>, C<sv_pos_u2b>,
C<sv_pos_u2b_flags> X<sv_pos_u2b>X<sv_pos_u2b_flags>, C<sv_pvn_force_flags>
X<sv_pvn_force_flags>, C<sv_ref> X<sv_ref>, C<sv_reftype> X<sv_reftype>,
C<sv_replace> X<sv_replace>, C<sv_report_used> X<sv_report_used>,
C<sv_reset> X<sv_reset>, C<sv_rvunweaken> X<sv_rvunweaken>, C<sv_rvweaken>
X<sv_rvweaken>, C<sv_set_bool> X<sv_set_bool>, C<sv_set_false>
X<sv_set_false>, C<sv_set_true> X<sv_set_true>, C<sv_set_undef>
X<sv_set_undef>, C<sv_setbool>, C<sv_setbool_mg>
X<sv_setbool>X<sv_setbool_mg>, C<sv_setiv>, C<sv_setiv_mg>
X<sv_setiv>X<sv_setiv_mg>, C<sv_setnv>, C<sv_setnv_mg>
X<sv_setnv>X<sv_setnv_mg>, C<sv_setpv>, C<sv_setpv_mg>, C<sv_setpvn>,
C<sv_setpvn_fresh>, C<sv_setpvn_mg>, C<sv_setpvs>, C<sv_setpvs_mg>
X<sv_setpv>X<sv_setpv_mg>X<sv_setpvn>X<sv_setpvn_fresh>X<sv_setpvn_mg>
X<sv_setpvs>X<sv_setpvs_mg>, C<sv_setpv_bufsize> X<sv_setpv_bufsize>,
C<sv_setpv_mg*>, C<sv_setpvf>, C<sv_setpvf_mg>, C<sv_setpvf_mg_nocontext>,
C<sv_setpvf_nocontext>
X<sv_setpvf>X<sv_setpvf_mg>X<sv_setpvf_mg_nocontext>X<sv_setpvf_nocontext>,
C<sv_setpvn*>, C<sv_setpvn_fresh*>, C<sv_setpvn_mg*>, C<sv_setpvs*>,
C<sv_setpvs_mg*>, C<sv_setref_iv> X<sv_setref_iv>, C<sv_setref_nv>
X<sv_setref_nv>, C<sv_setref_pv> X<sv_setref_pv>, C<sv_setref_pvn>
X<sv_setref_pvn>, C<sv_setref_pvs> X<sv_setref_pvs>, C<sv_setref_uv>
X<sv_setref_uv>, C<sv_setrv_inc>, C<sv_setrv_inc_mg>
X<sv_setrv_inc>X<sv_setrv_inc_mg>, C<sv_setrv_noinc>, C<sv_setrv_noinc_mg>
X<sv_setrv_noinc>X<sv_setrv_noinc_mg>, C<sv_setsv>, C<sv_setsv_flags>,
C<sv_setsv_mg>, C<sv_setsv_nomg>
X<sv_setsv>X<sv_setsv_flags>X<sv_setsv_mg>X<sv_setsv_nomg>, C<sv_setuv>,
C<sv_setuv_mg> X<sv_setuv>X<sv_setuv_mg>, C<sv_streq>, C<sv_streq_flags>
X<sv_streq>X<sv_streq_flags>, C<sv_unmagic> X<sv_unmagic>, C<sv_unmagicext>
X<sv_unmagicext>, C<sv_unref>, C<sv_unref_flags>
X<sv_unref>X<sv_unref_flags>, C<sv_upgrade> X<sv_upgrade>, C<sv_usepvn>,
C<sv_usepvn_flags>, C<sv_usepvn_mg>
X<sv_usepvn>X<sv_usepvn_flags>X<sv_usepvn_mg>, C<sv_utf8_decode>
X<sv_utf8_decode>, C<sv_utf8_downgrade>, C<sv_utf8_downgrade_flags>,
C<sv_utf8_downgrade_nomg>
X<sv_utf8_downgrade>X<sv_utf8_downgrade_flags>X<sv_utf8_downgrade_nomg>,
C<sv_utf8_encode> X<sv_utf8_encode>, C<sv_utf8_upgrade>,
C<sv_utf8_upgrade_flags>, C<sv_utf8_upgrade_flags_grow>,
C<sv_utf8_upgrade_nomg>
X<sv_utf8_upgrade>X<sv_utf8_upgrade_flags>X<sv_utf8_upgrade_flags_grow>
X<sv_utf8_upgrade_nomg>, C<sv_vcatpvf*>, C<sv_vcatpvf_mg*>,
C<sv_vcatpvfn*>, C<sv_vcatpvfn_flags*>, C<sv_vsetpvf>, C<sv_vsetpvf_mg>
X<sv_vsetpvf>X<sv_vsetpvf_mg>, C<sv_vsetpvfn> X<sv_vsetpvfn>, C<sv_2cv>
X<sv_2cv>, C<sv_2io> X<sv_2io>, C<sv_2iv_flags> X<sv_2iv_flags>,
C<sv_2mortal> X<sv_2mortal>, C<sv_2nv_flags> X<sv_2nv_flags>, C<sv_2pv>,
C<sv_2pv_flags> X<sv_2pv>X<sv_2pv_flags>, C<sv_2pvbyte>,
C<sv_2pvbyte_flags> X<sv_2pvbyte>X<sv_2pvbyte_flags>, C<sv_2pvutf8>,
C<sv_2pvutf8_flags> X<sv_2pvutf8>X<sv_2pvutf8_flags>, C<sv_2uv_flags>
X<sv_2uv_flags>, C<SvAMAGIC> X<SvAMAGIC>, C<SvAMAGIC_off> X<SvAMAGIC_off>,
C<SvAMAGIC_on> X<SvAMAGIC_on>, C<SvBoolFlagsOK> X<SvBoolFlagsOK>, C<SvCUR>
X<SvCUR>, C<SvCUR_set> X<SvCUR_set>, C<SvEND> X<SvEND>, C<SvGAMAGIC>
X<SvGAMAGIC>, C<SvGETMAGIC> X<SvGETMAGIC>, C<SvGROW> X<SvGROW>,
C<SvIandPOK> X<SvIandPOK>, C<SvIandPOK_off> X<SvIandPOK_off>,
C<SvIandPOK_on> X<SvIandPOK_on>, C<SvIOK> X<SvIOK>, C<SvIOK_notUV>
X<SvIOK_notUV>, C<SvIOK_off> X<SvIOK_off>, C<SvIOK_on> X<SvIOK_on>,
C<SvIOK_only> X<SvIOK_only>, C<SvIOK_only_UV> X<SvIOK_only_UV>, C<SvIOK_UV>
X<SvIOK_UV>, C<SvIOKp> X<SvIOKp>, C<SvIsBOOL> X<SvIsBOOL>, C<SvIsCOW>
X<SvIsCOW>, C<SvIsCOW_shared_hash> X<SvIsCOW_shared_hash>, C<SvIV>,
C<SvIV_nomg>, C<SvIVx> X<SvIV>X<SvIV_nomg>X<SvIVx>, C<SvIV_set>
X<SvIV_set>, C<SvIVX> X<SvIVX>, C<SvIVx*>, C<SvLEN> X<SvLEN>, C<SvLEN_set>
X<SvLEN_set>, C<SvLOCK> X<SvLOCK>, C<SvMAGIC_set> X<SvMAGIC_set>, C<SvNIOK>
X<SvNIOK>, C<SvNIOK_off> X<SvNIOK_off>, C<SvNIOKp> X<SvNIOKp>, C<SvNOK>
X<SvNOK>, C<SvNOK_off> X<SvNOK_off>, C<SvNOK_on> X<SvNOK_on>, C<SvNOK_only>
X<SvNOK_only>, C<SvNOKp> X<SvNOKp>, C<SvNV>, C<SvNV_nomg>, C<SvNVx>
X<SvNV>X<SvNV_nomg>X<SvNVx>, C<SvNV_set> X<SvNV_set>, C<SvNVX> X<SvNVX>,
C<SvNVx*>, C<SvOK> X<SvOK>, C<SvOOK> X<SvOOK>, C<SvOOK_off> X<SvOOK_off>,
C<SvOOK_offset> X<SvOOK_offset>, C<SvPOK> X<SvPOK>, C<SvPOK_off>
X<SvPOK_off>, C<SvPOK_on> X<SvPOK_on>, C<SvPOK_only> X<SvPOK_only>,
C<SvPOK_only_UTF8> X<SvPOK_only_UTF8>, C<SvPOKp> X<SvPOKp>, C<SvPV>,
C<SvPV_const>, C<SvPV_flags>, C<SvPV_flags_const>, C<SvPV_flags_mutable>,
C<SvPV_mutable>, C<SvPV_nolen>, C<SvPV_nolen_const>, C<SvPV_nomg>,
C<SvPV_nomg_const>, C<SvPV_nomg_const_nolen>, C<SvPV_nomg_nolen>,
C<SvPVbyte>, C<SvPVbyte_nolen>, C<SvPVbyte_nomg>, C<SvPVbyte_or_null>,
C<SvPVbyte_or_null_nomg>, C<SvPVbytex>, C<SvPVbytex_nolen>, C<SvPVutf8>,
C<SvPVutf8_nolen>, C<SvPVutf8_nomg>, C<SvPVutf8_or_null>,
C<SvPVutf8_or_null_nomg>, C<SvPVutf8x>, C<SvPVx>, C<SvPVx_const>,
C<SvPVx_nolen>, C<SvPVx_nolen_const>
X<SvPV>X<SvPV_const>X<SvPV_flags>X<SvPV_flags_const>X<SvPV_flags_mutable>
X<SvPV_mutable>X<SvPV_nolen>X<SvPV_nolen_const>X<SvPV_nomg>
X<SvPV_nomg_const>X<SvPV_nomg_const_nolen>X<SvPV_nomg_nolen>X<SvPVbyte>
X<SvPVbyte_nolen>X<SvPVbyte_nomg>X<SvPVbyte_or_null>
X<SvPVbyte_or_null_nomg>X<SvPVbytex>X<SvPVbytex_nolen>X<SvPVutf8>
X<SvPVutf8_nolen>X<SvPVutf8_nomg>X<SvPVutf8_or_null>
X<SvPVutf8_or_null_nomg>X<SvPVutf8x>X<SvPVx>X<SvPVx_const>X<SvPVx_nolen>
X<SvPVx_nolen_const>, C<SvPV_force>, C<SvPV_force_flags>,
C<SvPV_force_flags_mutable>, C<SvPV_force_flags_nolen>,
C<SvPV_force_mutable>, C<SvPV_force_nolen>, C<SvPV_force_nomg>,
C<SvPV_force_nomg_nolen>, C<SvPVbyte_force>, C<SvPVbytex_force>,
C<SvPVutf8_force>, C<SvPVutf8x_force>, C<SvPVx_force>
X<SvPV_force>X<SvPV_force_flags>X<SvPV_force_flags_mutable>
X<SvPV_force_flags_nolen>X<SvPV_force_mutable>X<SvPV_force_nolen>
X<SvPV_force_nomg>X<SvPV_force_nomg_nolen>X<SvPVbyte_force>
X<SvPVbytex_force>X<SvPVutf8_force>X<SvPVutf8x_force>X<SvPVx_force>,
C<SvPV_free> X<SvPV_free>, C<SvPV_mutable*>, C<SvPV_nolen*>,
C<SvPV_nolen_const*>, C<SvPV_nomg*>, C<SvPV_nomg_const*>,
C<SvPV_nomg_const_nolen*>, C<SvPV_nomg_nolen*>, C<SvPV_renew>
X<SvPV_renew>, C<SvPV_set> X<SvPV_set>, C<SvPV_shrink_to_cur>
X<SvPV_shrink_to_cur>, C<SvPVbyte*>, C<SvPVbyte_force*>,
C<SvPVbyte_nolen*>, C<SvPVbyte_nomg*>, C<SvPVbyte_or_null*>,
C<SvPVbyte_or_null_nomg*>, C<SvPVbytex*>, C<SvPVbytex_force*>,
C<SvPVbytex_nolen*>, C<SvPVCLEAR> X<SvPVCLEAR>, C<SvPVCLEAR_FRESH>
X<SvPVCLEAR_FRESH>, C<SvPVutf8*>, C<SvPVutf8_force*>, C<SvPVutf8_nolen*>,
C<SvPVutf8_nomg*>, C<SvPVutf8_or_null*>, C<SvPVutf8_or_null_nomg*>,
C<SvPVutf8x*>, C<SvPVutf8x_force*>, C<SvPVX>, C<SvPVX_const>,
C<SvPVX_mutable>, C<SvPVXx>
X<SvPVX>X<SvPVX_const>X<SvPVX_mutable>X<SvPVXx>, C<SvPVx*>,
C<SvPVx_const*>, C<SvPVx_force*>, C<SvPVx_nolen*>, C<SvPVx_nolen_const*>,
C<SvPVXtrue> X<SvPVXtrue>, C<SvPVXx*>, C<SvREADONLY> X<SvREADONLY>,
C<SvREADONLY_off> X<SvREADONLY_off>, C<SvREADONLY_on> X<SvREADONLY_on>,
C<SvREFCNT> X<SvREFCNT>, C<SvREFCNT_dec>, C<SvREFCNT_dec_set_NULL>,
C<SvREFCNT_dec_ret_NULL>, C<SvREFCNT_dec_NN>
X<SvREFCNT_dec>X<SvREFCNT_dec_NN>X<SvREFCNT_dec_ret_NULL>
X<SvREFCNT_dec_set_NULL>, C<SvREFCNT_inc>, C<SvREFCNT_inc_NN>,
C<SvREFCNT_inc_simple>, C<SvREFCNT_inc_simple_NN>,
C<SvREFCNT_inc_simple_void>, C<SvREFCNT_inc_simple_void_NN>,
C<SvREFCNT_inc_void>, C<SvREFCNT_inc_void_NN>
X<SvREFCNT_inc>X<SvREFCNT_inc_NN>X<SvREFCNT_inc_simple>
X<SvREFCNT_inc_simple_NN>X<SvREFCNT_inc_simple_void>
X<SvREFCNT_inc_simple_void_NN>X<SvREFCNT_inc_void>X<SvREFCNT_inc_void_NN>,
C<SvROK> X<SvROK>, C<SvROK_off> X<SvROK_off>, C<SvROK_on> X<SvROK_on>,
C<SvRV> X<SvRV>, C<SvRV_set> X<SvRV_set>, C<SvSETMAGIC> X<SvSETMAGIC>,
C<SvSetMagicSV>, C<SvSetMagicSV_nosteal>, C<SvSetSV>, C<SvSetSV_nosteal>
X<SvSetMagicSV>X<SvSetMagicSV_nosteal>X<SvSetSV>X<SvSetSV_nosteal>,
C<SvSHARE> X<SvSHARE>, C<SvSHARED_HASH> X<SvSHARED_HASH>, C<SvSTASH>
X<SvSTASH>, C<SvSTASH_set> X<SvSTASH_set>, C<SvTRUE>, C<SvTRUE_NN>,
C<SvTRUE_nomg>, C<SvTRUE_nomg_NN>, C<SvTRUEx>
X<SvTRUE>X<SvTRUE_NN>X<SvTRUE_nomg>X<SvTRUE_nomg_NN>X<SvTRUEx>, C<SvTYPE>
X<SvTYPE>, C<SvUNLOCK> X<SvUNLOCK>, C<SvUOK> X<SvUOK>, C<SvUPGRADE>
X<SvUPGRADE>, C<SvUTF8> X<SvUTF8>, C<SvUTF8_off> X<SvUTF8_off>,
C<SvUTF8_on> X<SvUTF8_on>, C<SvUV>, C<SvUV_nomg>, C<SvUVx>
X<SvUV>X<SvUV_nomg>X<SvUVx>, C<SvUV_set> X<SvUV_set>, C<SvUVX> X<SvUVX>,
C<SvUVx*>, C<SvUVXx> X<SvUVXx>, C<SvVOK> X<SvVOK>, C<SvVSTRING_mg>
X<SvVSTRING_mg>, C<uiv_2buf> X<uiv_2buf>, C<vnewSVpvf> X<vnewSVpvf>

=item Tainting

C<SvTAINT> X<SvTAINT>, C<SvTAINTED> X<SvTAINTED>, C<SvTAINTED_off>
X<SvTAINTED_off>, C<SvTAINTED_on> X<SvTAINTED_on>

=item Time

C<ASCTIME_R_PROTO> X<ASCTIME_R_PROTO>, C<CTIME_R_PROTO> X<CTIME_R_PROTO>,
C<GMTIME_MAX> X<GMTIME_MAX>, C<GMTIME_MIN> X<GMTIME_MIN>, C<GMTIME_R_PROTO>
X<GMTIME_R_PROTO>, C<HAS_ASCTIME_R> X<HAS_ASCTIME_R>, C<HAS_ASCTIME64>
X<HAS_ASCTIME64>, C<HAS_CTIME_R> X<HAS_CTIME_R>, C<HAS_CTIME64>
X<HAS_CTIME64>, C<HAS_DIFFTIME> X<HAS_DIFFTIME>, C<HAS_DIFFTIME64>
X<HAS_DIFFTIME64>, C<HAS_FUTIMES> X<HAS_FUTIMES>, C<HAS_GETITIMER>
X<HAS_GETITIMER>, C<HAS_GETTIMEOFDAY> X<HAS_GETTIMEOFDAY>, C<HAS_GMTIME_R>
X<HAS_GMTIME_R>, C<HAS_GMTIME64> X<HAS_GMTIME64>, C<HAS_LOCALTIME_R>
X<HAS_LOCALTIME_R>, C<HAS_LOCALTIME64> X<HAS_LOCALTIME64>, C<HAS_MKTIME>
X<HAS_MKTIME>, C<HAS_MKTIME64> X<HAS_MKTIME64>, C<HAS_NANOSLEEP>
X<HAS_NANOSLEEP>, C<HAS_SETITIMER> X<HAS_SETITIMER>, C<HAS_STRFTIME>
X<HAS_STRFTIME>, C<HAS_TIME> X<HAS_TIME>, C<HAS_TIMEGM> X<HAS_TIMEGM>,
C<HAS_TIMES> X<HAS_TIMES>, C<HAS_TM_TM_GMTOFF> X<HAS_TM_TM_GMTOFF>,
C<HAS_TM_TM_ZONE> X<HAS_TM_TM_ZONE>, C<HAS_TZNAME> X<HAS_TZNAME>,
C<HAS_USLEEP> X<HAS_USLEEP>, C<HAS_USLEEP_PROTO> X<HAS_USLEEP_PROTO>,
C<I_TIME> X<I_TIME>, C<I_UTIME> X<I_UTIME>, C<L_R_TZSET> X<L_R_TZSET>,
C<LOCALTIME_MAX> X<LOCALTIME_MAX>, C<LOCALTIME_MIN> X<LOCALTIME_MIN>,
C<LOCALTIME_R_NEEDS_TZSET> X<LOCALTIME_R_NEEDS_TZSET>, C<LOCALTIME_R_PROTO>
X<LOCALTIME_R_PROTO>, C<mini_mktime> X<mini_mktime>, C<sv_strftime_tm>,
C<sv_strftime_ints>, C<my_strftime>
X<my_strftime>X<sv_strftime_ints>X<sv_strftime_tm>, E<gt>0, E<lt>0, The
C<fmt> parameter and the return are S<C<char *>> instead of S<C<SV *>>, The
C<is_dst> parameter is ignored, It has extra parameters C<yday> and C<wday>
that are ignored

=item Typedef names

C<DB_Hash_t> X<DB_Hash_t>, C<DB_Prefix_t> X<DB_Prefix_t>, C<Direntry_t>
X<Direntry_t>, C<Fpos_t> X<Fpos_t>, C<Free_t> X<Free_t>, C<Gid_t> X<Gid_t>,
C<Gid_t_f> X<Gid_t_f>, C<Gid_t_sign> X<Gid_t_sign>, C<Gid_t_size>
X<Gid_t_size>, C<Groups_t> X<Groups_t>, C<Malloc_t> X<Malloc_t>, C<Mmap_t>
X<Mmap_t>, C<Mode_t> X<Mode_t>, C<Netdb_hlen_t> X<Netdb_hlen_t>,
C<Netdb_host_t> X<Netdb_host_t>, C<Netdb_name_t> X<Netdb_name_t>,
C<Netdb_net_t> X<Netdb_net_t>, C<Off_t> X<Off_t>, C<Off_t_size>
X<Off_t_size>, C<Pid_t> X<Pid_t>, C<Rand_seed_t> X<Rand_seed_t>,
C<Select_fd_set_t> X<Select_fd_set_t>, C<Shmat_t> X<Shmat_t>, C<Signal_t>
X<Signal_t>, C<Size_t> X<Size_t>, C<Size_t_size> X<Size_t_size>,
C<Sock_size_t> X<Sock_size_t>, C<SSize_t> X<SSize_t>, C<Time_t> X<Time_t>,
C<Uid_t> X<Uid_t>, C<Uid_t_f> X<Uid_t_f>, C<Uid_t_sign> X<Uid_t_sign>,
C<Uid_t_size> X<Uid_t_size>

=item Unicode Support
X<UNI_DISPLAY_BACKSLASH>X<UNI_DISPLAY_BACKSPACE>X<UNI_DISPLAY_ISPRINT>
X<UNI_DISPLAY_QQ>X<UNI_DISPLAY_REGEX>X<UNICODE_DISALLOW_ABOVE_31_BIT>
X<UNICODE_DISALLOW_ILLEGAL_C9_INTERCHANGE>
X<UNICODE_DISALLOW_ILLEGAL_INTERCHANGE>X<UNICODE_DISALLOW_NONCHAR>
X<UNICODE_DISALLOW_PERL_EXTENDED>X<UNICODE_DISALLOW_SUPER>
X<UNICODE_DISALLOW_SURROGATE>X<UNICODE_WARN_ABOVE_31_BIT>
X<UNICODE_WARN_ILLEGAL_C9_INTERCHANGE>X<UNICODE_WARN_ILLEGAL_INTERCHANGE>
X<UNICODE_WARN_NONCHAR>X<UNICODE_WARN_PERL_EXTENDED>X<UNICODE_WARN_SUPER>
X<UNICODE_WARN_SURROGATE>X<UTF8_ALLOW_CONTINUATION>X<UTF8_ALLOW_EMPTY>
X<UTF8_ALLOW_LONG>X<UTF8_ALLOW_NON_CONTINUATION>X<UTF8_ALLOW_OVERFLOW>
X<UTF8_ALLOW_PERL_EXTENDED>X<UTF8_ALLOW_SHORT>X<UTF8_CHECK_ONLY>
X<UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE>
X<UTF8_DISALLOW_ILLEGAL_INTERCHANGE>X<UTF8_DISALLOW_NONCHAR>
X<UTF8_DISALLOW_PERL_EXTENDED>X<UTF8_DISALLOW_SUPER>
X<UTF8_DISALLOW_SURROGATE>X<UTF8_GOT_CONTINUATION>X<UTF8_GOT_EMPTY>
X<UTF8_GOT_LONG>X<UTF8_GOT_NON_CONTINUATION>X<UTF8_GOT_NONCHAR>
X<UTF8_GOT_OVERFLOW>X<UTF8_GOT_PERL_EXTENDED>X<UTF8_GOT_SHORT>
X<UTF8_GOT_SUPER>X<UTF8_GOT_SURROGATE>X<UTF8_WARN_ILLEGAL_C9_INTERCHANGE>
X<UTF8_WARN_ILLEGAL_INTERCHANGE>X<UTF8_WARN_NONCHAR>
X<UTF8_WARN_PERL_EXTENDED>X<UTF8_WARN_SUPER>X<UTF8_WARN_SURROGATE>

C<BOM_UTF8> X<BOM_UTF8>, C<bytes_cmp_utf8> X<bytes_cmp_utf8>,
C<bytes_from_utf8*>, C<bytes_to_utf8>, C<bytes_to_utf8_free_me>,
C<bytes_to_utf8_temp_pv>
X<bytes_to_utf8>X<bytes_to_utf8_free_me>X<bytes_to_utf8_temp_pv>,
C<c9strict_utf8_to_uv*>, C<DO_UTF8> X<DO_UTF8>, C<extended_utf8_to_uv*>,
C<foldEQ_utf8> X<foldEQ_utf8>, C<is_ascii_string*>,
C<is_c9strict_utf8_string*>, C<is_c9strict_utf8_string_loc*>,
C<is_c9strict_utf8_string_loclen*>, C<is_invariant_string*>,
C<is_strict_utf8_string*>, C<is_strict_utf8_string_loc*>,
C<is_strict_utf8_string_loclen*>, C<is_utf8_char_buf*>,
C<is_utf8_fixed_width_buf_flags>, C<is_utf8_fixed_width_buf_loc_flags>,
C<is_utf8_fixed_width_buf_loclen_flags>
X<is_utf8_fixed_width_buf_flags>X<is_utf8_fixed_width_buf_loc_flags>
X<is_utf8_fixed_width_buf_loclen_flags>, C<is_utf8_invariant_string>,
C<is_utf8_invariant_string_loc>, C<is_ascii_string>, C<is_invariant_string>
X<is_ascii_string>X<is_invariant_string>X<is_utf8_invariant_string>
X<is_utf8_invariant_string_loc>, C<is_utf8_string>, C<is_utf8_string_loc>,
C<is_utf8_string_loclen>, C<is_strict_utf8_string>,
C<is_strict_utf8_string_loc>, C<is_strict_utf8_string_loclen>,
C<is_c9strict_utf8_string>, C<is_c9strict_utf8_string_loc>,
C<is_c9strict_utf8_string_loclen>, C<is_utf8_string_flags>,
C<is_utf8_string_loc_flags>, C<is_utf8_string_loclen_flags>
X<is_c9strict_utf8_string>X<is_c9strict_utf8_string_loc>
X<is_c9strict_utf8_string_loclen>X<is_strict_utf8_string>
X<is_strict_utf8_string_loc>X<is_strict_utf8_string_loclen>
X<is_utf8_string>X<is_utf8_string_flags>X<is_utf8_string_loc>
X<is_utf8_string_loc_flags>X<is_utf8_string_loclen>
X<is_utf8_string_loclen_flags>, C<is_utf8_valid_partial_char>,
C<is_utf8_valid_partial_char_flags>
X<is_utf8_valid_partial_char>X<is_utf8_valid_partial_char_flags>,
C<isUTF8_CHAR>, C<isSTRICT_UTF8_CHAR>, C<isC9_STRICT_UTF8_CHAR>,
C<isUTF8_CHAR_flags>, C<is_utf8_char_buf>
X<is_utf8_char_buf>X<isC9_STRICT_UTF8_CHAR>X<isSTRICT_UTF8_CHAR>
X<isUTF8_CHAR>X<isUTF8_CHAR_flags>, C<LATIN1_TO_NATIVE>
X<LATIN1_TO_NATIVE>, C<NATIVE_TO_LATIN1> X<NATIVE_TO_LATIN1>,
C<NATIVE_TO_UNI> X<NATIVE_TO_UNI>, C<pv_uni_display> X<pv_uni_display>,
C<UNI_DISPLAY_ISPRINT>, C<UNI_DISPLAY_BACKSLASH>, C<UNI_DISPLAY_BACKSPACE>,
C<UNI_DISPLAY_REGEX>, C<UNI_DISPLAY_QQ>, C<REPLACEMENT_CHARACTER_UTF8>
X<REPLACEMENT_CHARACTER_UTF8>, C<strict_utf8_to_uv*>, C<sv_cat_decode>
X<sv_cat_decode>, C<sv_recode_to_utf8> X<sv_recode_to_utf8>,
C<sv_uni_display> X<sv_uni_display>, C<UNI_TO_NATIVE> X<UNI_TO_NATIVE>,
C<UNICODE_IS_NONCHAR> X<UNICODE_IS_NONCHAR>, C<UNICODE_IS_REPLACEMENT>
X<UNICODE_IS_REPLACEMENT>, C<UNICODE_IS_SUPER> X<UNICODE_IS_SUPER>,
C<UNICODE_IS_SURROGATE> X<UNICODE_IS_SURROGATE>, C<UNICODE_REPLACEMENT>
X<UNICODE_REPLACEMENT>, C<UTF8_CHK_SKIP*>, C<utf8_distance>
X<utf8_distance>, C<utf8_hop> X<utf8_hop>, C<utf8_hop_back>,
C<utf8_hop_back_overshoot> X<utf8_hop_back>X<utf8_hop_back_overshoot>,
C<utf8_hop_forward>, C<utf8_hop_forward_overshoot>
X<utf8_hop_forward>X<utf8_hop_forward_overshoot>, C<utf8_hop_safe>,
C<utf8_hop_overshoot> X<utf8_hop_overshoot>X<utf8_hop_safe>,
C<UTF8_IS_INVARIANT> X<UTF8_IS_INVARIANT>, C<UTF8_IS_NONCHAR>
X<UTF8_IS_NONCHAR>, C<UTF8_IS_REPLACEMENT> X<UTF8_IS_REPLACEMENT>,
C<UTF8_IS_SUPER> X<UTF8_IS_SUPER>, C<UTF8_IS_SURROGATE>
X<UTF8_IS_SURROGATE>, C<utf8_length> X<utf8_length>, C<UTF8_MAXBYTES>
X<UTF8_MAXBYTES>, C<UTF8_MAXBYTES_CASE> X<UTF8_MAXBYTES_CASE>,
C<UTF8_SAFE_SKIP*>, C<UTF8_SKIP*>, C<utf8_to_bytes_overwrite>,
C<utf8_to_bytes_new_pv>, C<utf8_to_bytes_temp_pv>, C<utf8_to_bytes>,
C<bytes_from_utf8>
X<bytes_from_utf8>X<utf8_to_bytes>X<utf8_to_bytes_new_pv>
X<utf8_to_bytes_overwrite>X<utf8_to_bytes_temp_pv>,
C<utf8_to_bytes_overwrite>, C<utf8_to_bytes_new_pv>,
C<utf8_to_bytes_temp_pv>, The input turned out to already be in bytes form,
The input was successfully converted, For C<utf8_to_bytes_overwrite>, For
C<utf8_to_bytes_new_pv> and C<utf8_to_bytes_temp_pv>, C<utf8_to_bytes>, If
the conversion was a noop, If the conversion was successful, If the
conversion failed, C<bytes_from_utf8>, C<utf8_to_uv>,
C<extended_utf8_to_uv>, C<strict_utf8_to_uv>, C<c9strict_utf8_to_uv>,
C<utf8_to_uv_or_die>, C<utf8_to_uvchr_buf>, C<utf8_to_uvchr>
X<c9strict_utf8_to_uv>X<extended_utf8_to_uv>X<strict_utf8_to_uv>
X<utf8_to_uv>X<utf8_to_uv_or_die>X<utf8_to_uvchr>X<utf8_to_uvchr_buf>,
C<utf8_to_uv> forms, C<strict_utf8_to_uv>, C<c9strict_utf8_to_uv>,
C<utf8_to_uv>, C<utf8_to_uv_or die>, C<utf8_to_uvchr> forms, If C<'utf8'>
warnings are disabled, If C<'utf8'> warnings are enabled,
C<utf8_to_uv_errors*>, C<utf8_to_uv_flags>, C<utf8n_to_uvchr>
X<utf8_to_uv_flags>X<utf8n_to_uvchr>, C<UTF8_CHECK_ONLY>,
C<UTF8_FORCE_WARN_IF_MALFORMED>, C<UTF8_DISALLOW_SURROGATE>,
C<UTF8_WARN_SURROGATE>, C<UTF8_DISALLOW_NONCHAR>, C<UTF8_WARN_NONCHAR>,
C<UTF8_DISALLOW_SUPER>, C<UTF8_WARN_SUPER>,
C<UTF8_DISALLOW_ILLEGAL_INTERCHANGE>, C<UTF8_WARN_ILLEGAL_INTERCHANGE>,
C<UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE>,
C<UTF8_WARN_ILLEGAL_C9_INTERCHANGE>, C<UTF8_DISALLOW_PERL_EXTENDED>,
C<UTF8_WARN_PERL_EXTENDED>, C<UTF8_ALLOW_ANY> and kin,
C<UTF8_DIE_IF_MALFORMED>, C<utf8_to_uv_msgs>, C<utf8n_to_uvchr_msgs>,
C<utf8_to_uv_errors>, C<utf8n_to_uvchr_error>
X<utf8_to_uv_errors>X<utf8_to_uv_msgs>X<utf8n_to_uvchr_error>
X<utf8n_to_uvchr_msgs>, C<UTF8_GOT_CONTINUATION>, C<UTF8_GOT_EMPTY>,
C<UTF8_GOT_LONG>, C<UTF8_GOT_NONCHAR>, C<UTF8_GOT_NON_CONTINUATION>,
C<UTF8_GOT_OVERFLOW>, C<UTF8_GOT_PERL_EXTENDED>, C<UTF8_GOT_SHORT>,
C<UTF8_GOT_SUPER>, C<UTF8_GOT_SURROGATE>, C<text>, C<warn_categories>,
C<flag>, C<utf8_to_uv_or_die*>, C<utf8_to_uvchr*>, C<utf8_to_uvchr_buf*>,
C<utf8n_to_uvchr*>, C<utf8ness_t> X<utf8ness_t>, C<UTF8NESS_YES>,
C<UTF8NESS_NO>, C<UTF8NESS_IMMATERIAL>, C<UTF8NESS_UNKNOWN>, S<C<0 E<lt>=
I<enum value> E<lt>= UTF8NESS_IMMATERIAL>>, S<C<UTF8NESS_IMMATERIAL E<lt>=
<I<enum value>>>, C<UTF8SKIP>, C<UTF8_SKIP>, C<UTF8_CHK_SKIP>,
C<UTF8_SAFE_SKIP> X<UTF8_CHK_SKIP>X<UTF8_SAFE_SKIP>X<UTF8_SKIP>X<UTF8SKIP>,
C<L<perlapi/UTF8_SAFE_SKIP>> if you know the maximum ending pointer in the
buffer pointed to by C<s>, C<L<perlapi/UTF8_CHK_SKIP>> if you don't know
the maximum ending pointer, C<uv_to_utf8>, C<uv_to_utf8_flags>,
C<uvchr_to_utf8>, C<uvchr_to_utf8_flags>
X<uv_to_utf8>X<uv_to_utf8_flags>X<uvchr_to_utf8>X<uvchr_to_utf8_flags>,
C<uv_to_utf8_msgs>, C<uvchr_to_utf8_flags_msgs>
X<uv_to_utf8_msgs>X<uvchr_to_utf8_flags_msgs>, C<text>, C<warn_categories>,
C<flag_bit>, C<UNICODE_GOT_SURROGATE>, C<UNICODE_GOT_NONCHAR>,
C<UNICODE_GOT_SUPER>, C<UNICODE_GOT_PERL_EXTENDED>, C<UVCHR_IS_INVARIANT>
X<UVCHR_IS_INVARIANT>, C<UVCHR_SKIP> X<UVCHR_SKIP>, C<uvchr_to_utf8*>,
C<uvchr_to_utf8_flags*>, C<uvchr_to_utf8_flags_msgs*>

=item Utility Functions

C<C_ARRAY_END> X<C_ARRAY_END>, C<C_ARRAY_LENGTH> X<C_ARRAY_LENGTH>,
C<getcwd_sv> X<getcwd_sv>, C<IN_PERL_COMPILETIME> X<IN_PERL_COMPILETIME>,
C<IN_PERL_RUNTIME> X<IN_PERL_RUNTIME>, C<IS_SAFE_SYSCALL>
X<IS_SAFE_SYSCALL>, C<is_safe_syscall> X<is_safe_syscall>, C<my_setenv>
X<my_setenv>, C<newPADxVOP> X<newPADxVOP>, C<phase_name> X<phase_name>,
C<PoisonFree>, C<Poison> X<Poison>X<PoisonFree>, C<PoisonNew> X<PoisonNew>,
C<PoisonWith> X<PoisonWith>, C<StructCopy> X<StructCopy>, C<sv_destroyable>
X<sv_destroyable>, C<sv_nosharing> X<sv_nosharing>

=item Versioning

C<new_version> X<new_version>, C<PERL_REVISION> X<PERL_REVISION>,
C<PERL_SUBVERSION> X<PERL_SUBVERSION>, C<PERL_VERSION> X<PERL_VERSION>,
C<PERL_VERSION_EQ>, C<PERL_VERSION_GE>, C<PERL_VERSION_GT>,
C<PERL_VERSION_LE>, C<PERL_VERSION_LT>, C<PERL_VERSION_NE>
X<PERL_VERSION_EQ>X<PERL_VERSION_GE>X<PERL_VERSION_GT>X<PERL_VERSION_LE>
X<PERL_VERSION_LT>X<PERL_VERSION_NE>, C<prescan_version>
X<prescan_version>, C<scan_version> X<scan_version>, C<upg_version>
X<upg_version>, C<vcmp> X<vcmp>, C<vnormal> X<vnormal>, C<vnumify>
X<vnumify>, C<vstringify> X<vstringify>, C<vverify> X<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

=item Warning and Dieing
X<WARN_ALL>X<WARN_AMBIGUOUS>X<WARN_BAREWORD>X<WARN_CLOSED>X<WARN_CLOSURE>
X<WARN_DEBUGGING>X<WARN_DEPRECATED>
X<WARN_DEPRECATED__DELIMITER_WILL_BE_PAIRED>X<WARN_DEPRECATED__DOT_IN_INC>
X<WARN_DEPRECATED__GOTO_CONSTRUCT>
X<WARN_DEPRECATED__MISSING_IMPORT_CALLED_WITH_ARGS>
X<WARN_DEPRECATED__SUBSEQUENT_USE_VERSION>
X<WARN_DEPRECATED__UNICODE_PROPERTY_NAME>
X<WARN_DEPRECATED__VERSION_DOWNGRADE>X<WARN_DIGIT>X<WARN_EXEC>
X<WARN_EXITING>X<WARN_EXPERIMENTAL>
X<WARN_EXPERIMENTAL__ARGS_ARRAY_WITH_SIGNATURES>
X<WARN_EXPERIMENTAL__BUILTIN>X<WARN_EXPERIMENTAL__CLASS>
X<WARN_EXPERIMENTAL__DECLARED_REFS>X<WARN_EXPERIMENTAL__DEFER>
X<WARN_EXPERIMENTAL__EXTRA_PAIRED_DELIMITERS>
X<WARN_EXPERIMENTAL__KEYWORD_ALL>X<WARN_EXPERIMENTAL__KEYWORD_ANY>
X<WARN_EXPERIMENTAL__PRIVATE_USE>X<WARN_EXPERIMENTAL__RE_STRICT>
X<WARN_EXPERIMENTAL__REFALIASING>X<WARN_EXPERIMENTAL__REGEX_SETS>
X<WARN_EXPERIMENTAL__TRY>X<WARN_EXPERIMENTAL__UNIPROP_WILDCARDS>
X<WARN_EXPERIMENTAL__VLB>X<WARN_GLOB>X<WARN_ILLEGALPROTO>
X<WARN_IMPRECISION>X<WARN_INPLACE>X<WARN_INTERNAL>X<WARN_IO>X<WARN_LAYER>
X<WARN_LOCALE>X<WARN_MALLOC>X<WARN_MISC>X<WARN_MISSING>X<WARN_NEWLINE>
X<WARN_NON_UNICODE>X<WARN_NONCHAR>X<WARN_NUMERIC>X<WARN_ONCE>
X<WARN_OVERFLOW>X<WARN_PACK>X<WARN_PARENTHESIS>X<WARN_PIPE>
X<WARN_PORTABLE>X<WARN_PRECEDENCE>X<WARN_PRINTF>X<WARN_PROTOTYPE>
X<WARN_QW>X<WARN_RECURSION>X<WARN_REDEFINE>X<WARN_REDUNDANT>X<WARN_REGEXP>
X<WARN_RESERVED>X<WARN_SCALAR>X<WARN_SEMICOLON>X<WARN_SEVERE>
X<WARN_SHADOW>X<WARN_SIGNAL>X<WARN_SUBSTR>X<WARN_SURROGATE>X<WARN_SYNTAX>
X<WARN_SYSCALLS>X<WARN_TAINT>X<WARN_THREADS>X<WARN_UNINITIALIZED>
X<WARN_UNOPENED>X<WARN_UNPACK>X<WARN_UNTIE>X<WARN_UTF8>X<WARN_VOID>

C<ck_warner>, C<ck_warner_d> X<ck_warner>X<ck_warner_d>, C<ckWARN>,
C<ckWARN2>, C<ckWARN3>, C<ckWARN4> X<ckWARN>X<ckWARN2>X<ckWARN3>X<ckWARN4>,
C<ckWARN_d>, C<ckWARN2_d>, C<ckWARN3_d>, C<ckWARN4_d>
X<ckWARN_d>X<ckWARN2_d>X<ckWARN3_d>X<ckWARN4_d>, C<ckWARN2*>, C<ckWARN3*>,
C<ckWARN4*>, C<CLEAR_ERRSV> X<CLEAR_ERRSV>, C<croak>, C<croak_nocontext>
X<croak>X<croak_nocontext>, C<croak_no_modify> X<croak_no_modify>,
C<croak_nocontext*>, C<croak_sv> X<croak_sv>, C<die>, C<die_nocontext>
X<die>X<die_nocontext>, C<die_sv> X<die_sv>, C<ERRSV> X<ERRSV>,
C<fatal_warner> X<fatal_warner>, C<packWARN>, C<packWARN2>, C<packWARN3>,
C<packWARN4> X<packWARN>X<packWARN2>X<packWARN3>X<packWARN4>, C<SANE_ERRSV>
X<SANE_ERRSV>, C<sv_regex_global_pos_clear> X<sv_regex_global_pos_clear>,
C<sv_regex_global_pos_get> X<sv_regex_global_pos_get>,
C<sv_regex_global_pos_set> X<sv_regex_global_pos_set>, C<sv_vstring_get>
X<sv_vstring_get>, C<vcroak> X<vcroak>, C<vfatal_warner> X<vfatal_warner>,
C<vwarn> X<vwarn>, C<vwarner> X<vwarner>, C<warn>, C<warn_nocontext>
X<warn>X<warn_nocontext>, C<warn_sv> X<warn_sv>, C<warner>,
C<warner_nocontext> X<warner>X<warner_nocontext>

=item XS

C<aMY_CXT>, C<aMY_CXT_>, C<_aMY_CXT>, C<ax> X<ax>, C<CLASS> X<CLASS>,
C<dAX> X<dAX>, C<dAXMARK> X<dAXMARK>, C<dITEMS> X<dITEMS>, C<dMY_CXT>,
C<dMY_CXT_SV> X<dMY_CXT_SV>, C<dUNDERBAR> X<dUNDERBAR>, C<dXSARGS>
X<dXSARGS>, C<dXSI32> X<dXSI32>, C<items> X<items>, C<ix> X<ix>, C<MY_CXT>,
C<MY_CXT_CLONE>, C<MY_CXT_INIT>, C<pMY_CXT>, C<pMY_CXT_>, C<_pMY_CXT>,
C<RETVAL> X<RETVAL>, C<ST> X<ST>, C<START_MY_CXT>, C<THIS> X<THIS>,
C<UNDERBAR> X<UNDERBAR>, C<XS> X<XS>, C<XS_EXTERNAL> X<XS_EXTERNAL>,
C<XS_INTERNAL> X<XS_INTERNAL>, C<XSPROTO> X<XSPROTO>

=item Undocumented elements

=item AUTHORS

=item SEE ALSO

=back

=head2 perlintern - autogenerated documentation of purely B<internal>
Perl functions

=over 4

=item DESCRIPTION
X<internal Perl functions> X<interpreter functions>

=item AV Handling

C<av_fetch_simple> X<av_fetch_simple>, C<av_new_alloc> X<av_new_alloc>,
C<av_store_simple> X<av_store_simple>, C<AvFILLp> X<AvFILLp>

=item Callback Functions

C<dowantarray> X<dowantarray>, C<leave_scope> X<leave_scope>,
C<magic_freedestruct> X<magic_freedestruct>, C<mortal_svfunc_x>
X<mortal_svfunc_x>, C<pop_scope> X<pop_scope>, C<push_scope> X<push_scope>,
C<save_adelete> X<save_adelete>, C<save_freercpv> X<save_freercpv>,
C<save_generic_pvref> X<save_generic_pvref>, C<save_generic_svref>
X<save_generic_svref>, C<save_hdelete> X<save_hdelete>, C<save_hints>
X<save_hints>, C<save_op> X<save_op>, C<save_padsv_and_mortalize>
X<save_padsv_and_mortalize>, C<save_pushptr> X<save_pushptr>, C<save_rcpv>
X<save_rcpv>, C<save_scalar_at> X<save_scalar_at>, C<save_set_svflags>
X<save_set_svflags>, C<save_shared_pvref> X<save_shared_pvref>,
C<save_vptr> X<save_vptr>

=item Casting
X<NUM2PTR>

=item Character case changing

=item Character classification

=item Compiler and Preprocessor information

=item Compiler directives

=item Compile-time scope hooks

C<BhkENTRY> X<BhkENTRY>, C<BhkFLAGS> X<BhkFLAGS>, C<CALL_BLOCK_HOOKS>
X<CALL_BLOCK_HOOKS>

=item Concurrency

C<CVf_SLABBED>, C<CvROOT>, C<CvSTART>, C<CX_CUR>, C<CX_LEAVE_SCOPE>,
C<CX_POP>, C<cx_type>, C<CXINC>, C<cxstack>, C<cxstack_ix>, C<CXt_BLOCK>,
C<CXt_EVAL>, C<CXt_FORMAT>, C<CXt_GIVEN>, C<CXt_LOOP_ARY>,
C<CXt_LOOP_LAZYIV>, C<CXt_LOOP_LAZYSV>, C<CXt_LOOP_LIST>,
C<CXt_LOOP_PLAIN>, C<CXt_NULL>, C<CXt_SUB>, C<CXt_SUBST>, C<CXt_WHEN>,
C<dounwind>, C<my_fork> X<my_fork>, C<PERL_CONTEXT>

=item COPs and Hint Hashes

=item Custom Operators

C<core_prototype> X<core_prototype>

=item CV Handling

C<CvREFCOUNTED_ANYSV> X<CvREFCOUNTED_ANYSV>, C<CvREFCOUNTED_ANYSV_off>
X<CvREFCOUNTED_ANYSV_off>, C<CvREFCOUNTED_ANYSV_on>
X<CvREFCOUNTED_ANYSV_on>, C<CvWEAKOUTSIDE> X<CvWEAKOUTSIDE>, C<docatch>
X<docatch>

=item Debugging

C<comma_aDEPTH> X<comma_aDEPTH>, C<comma_pDEPTH> X<comma_pDEPTH>, C<debop>
X<debop>, C<debprof> X<debprof>, C<debprofdump> X<debprofdump>,
C<debug_aDEPTH> X<debug_aDEPTH>, C<debug_pDEPTH> X<debug_pDEPTH>,
C<free_c_backtrace> X<free_c_backtrace>, C<get_c_backtrace>
X<get_c_backtrace>, C<PL_DBsingle> X<PL_DBsingle>, C<PL_DBsub> X<PL_DBsub>,
C<PL_DBtrace> X<PL_DBtrace>, C<runops_debug>, C<runops_standard>

=item Display functions
X<PERL_PV_PRETTY_DUMP>X<PERL_PV_PRETTY_NOCLEAR>X<PERL_PV_PRETTY_REGPROP>

C<sv_peek> X<sv_peek>

=item Embedding, Threads, and Interpreter Cloning

C<cv_dump> X<cv_dump>, C<cv_forget_slab> X<cv_forget_slab>, C<do_dump_pad>
X<do_dump_pad>, C<get_context> X<get_context>, C<noshutdownhook>
X<noshutdownhook>, C<pad_alloc_name> X<pad_alloc_name>, C<pad_block_start>
X<pad_block_start>, C<pad_check_dup> X<pad_check_dup>, C<pad_findlex>
X<pad_findlex>, C<pad_fixup_inner_anons> X<pad_fixup_inner_anons>,
C<pad_free> X<pad_free>, C<pad_leavemy> X<pad_leavemy>, C<pad_push>
X<pad_push>, C<pad_reset> X<pad_reset>, C<pad_setsv> X<pad_setsv>,
C<pad_sv> X<pad_sv>, C<pad_swipe> X<pad_swipe>, C<padlist_dup>
X<padlist_dup>, C<padname_dup> X<padname_dup>, C<padnamelist_dup>
X<padnamelist_dup>, C<set_context> X<set_context>, C<si_dup> X<si_dup>,
C<ss_dup> X<ss_dup>

=item Errno

C<dSAVE_ERRNO> X<dSAVE_ERRNO>, C<dSAVEDERRNO> X<dSAVEDERRNO>,
C<RESTORE_ERRNO> X<RESTORE_ERRNO>, C<SAVE_ERRNO> X<SAVE_ERRNO>, C<SETERRNO>
X<SETERRNO>

=item Exception Handling (simple) Macros

=item Filesystem configuration values

=item Floating point

=item General Configuration

=item Global Variables

=item GV Handling and Stashes
X<GV_CACHE_ONLY>

C<amagic_applies> X<amagic_applies>, C<gp_dup> X<gp_dup>, C<gv_handler>
X<gv_handler>, C<gv_stashsvpvn_cached> X<gv_stashsvpvn_cached>,
C<gv_try_downgrade> X<gv_try_downgrade>

=item Hook manipulation

=item HV Handling
X<HvNAME_get>

C<hv_eiter_p> X<hv_eiter_p>, C<hv_eiter_set> X<hv_eiter_set>,
C<hv_ename_add> X<hv_ename_add>, C<hv_ename_delete> X<hv_ename_delete>,
C<hv_fill> X<hv_fill>, C<hv_placeholders_get> X<hv_placeholders_get>,
C<hv_placeholders_set> X<hv_placeholders_set>, C<hv_riter_p> X<hv_riter_p>,
C<hv_riter_set> X<hv_riter_set>, C<refcounted_he_chain_2hv>
X<refcounted_he_chain_2hv>, C<refcounted_he_fetch_pv>
X<refcounted_he_fetch_pv>, C<refcounted_he_fetch_pvn>
X<refcounted_he_fetch_pvn>, C<refcounted_he_fetch_pvs>
X<refcounted_he_fetch_pvs>, C<refcounted_he_fetch_sv>
X<refcounted_he_fetch_sv>, C<refcounted_he_free> X<refcounted_he_free>,
C<refcounted_he_inc> X<refcounted_he_inc>, C<refcounted_he_new_pv>
X<refcounted_he_new_pv>, C<refcounted_he_new_pvn> X<refcounted_he_new_pvn>,
C<refcounted_he_new_pvs> X<refcounted_he_new_pvs>, C<refcounted_he_new_sv>
X<refcounted_he_new_sv>, C<unsharepvn> X<unsharepvn>

=item Input/Output

C<dirp_dup> X<dirp_dup>, C<fp_dup> X<fp_dup>, C<my_fflush_all>
X<my_fflush_all>, C<my_mkostemp> X<my_mkostemp>, C<my_mkstemp>
X<my_mkstemp>, C<PL_last_in_gv> X<PL_last_in_gv>, C<PL_ofsgv> X<PL_ofsgv>,
C<PL_rs> X<PL_rs>, C<start_glob> X<start_glob>

=item Integer

C<ABS_IV_MIN> X<ABS_IV_MIN>, C<NEGATE_2IV> X<NEGATE_2IV>, C<NEGATE_2UV>
X<NEGATE_2UV>

=item I/O Formats

=item Lexer interface

C<validate_proto> X<validate_proto>

=item Locales

=item Magic

C<magic_clearhint> X<magic_clearhint>, C<magic_clearhints>
X<magic_clearhints>, C<magic_methcall> X<magic_methcall>, C<magic_sethint>
X<magic_sethint>, C<mg_dup> X<mg_dup>, C<mg_localize> X<mg_localize>

=item Memory Management

C<calloc> X<calloc>, C<malloc> X<malloc>, C<mfree> X<mfree>, C<realloc>
X<realloc>

=item MRO

C<mro_get_linear_isa_dfs> X<mro_get_linear_isa_dfs>, C<mro_isa_changed_in>
X<mro_isa_changed_in>, C<mro_package_moved> X<mro_package_moved>

=item Multicall Functions

=item Numeric Functions

C<isinfnansv> X<isinfnansv>, C<S_perl_hash_siphash_1_3>
X<S_perl_hash_siphash_1_3>, C<S_perl_hash_siphash_1_3_with_state>
X<S_perl_hash_siphash_1_3_with_state>,
C<S_perl_hash_siphash_1_3_with_state_64>
X<S_perl_hash_siphash_1_3_with_state_64>, C<S_perl_hash_siphash_1_3_64>
X<S_perl_hash_siphash_1_3_64>, C<S_perl_hash_siphash_2_4>
X<S_perl_hash_siphash_2_4>, C<S_perl_hash_siphash_2_4_with_state>
X<S_perl_hash_siphash_2_4_with_state>,
C<S_perl_hash_siphash_2_4_with_state_64>
X<S_perl_hash_siphash_2_4_with_state_64>, C<S_perl_hash_siphash_2_4_64>
X<S_perl_hash_siphash_2_4_64>, C<S_perl_siphash_seed_state>
X<S_perl_siphash_seed_state>

=item Optrees

C<newATTRSUB_x> X<newATTRSUB_x>, C<newMYSUB> X<newMYSUB>,
C<newXS_len_flags> X<newXS_len_flags>, C<op_refcnt_lock> X<op_refcnt_lock>,
C<op_refcnt_unlock> X<op_refcnt_unlock>, C<traverse_op_tree>
X<traverse_op_tree>

=item Pack and Unpack

=item Pad Data Structures

C<CX_CURPAD_SAVE> X<CX_CURPAD_SAVE>, C<CX_CURPAD_SV> X<CX_CURPAD_SV>,
C<PAD_BASE_SV> X<PAD_BASE_SV>, C<PAD_CLONE_VARS> X<PAD_CLONE_VARS>,
C<PAD_COMPNAME_FLAGS> X<PAD_COMPNAME_FLAGS>, C<PAD_COMPNAME_GEN>
X<PAD_COMPNAME_GEN>, C<PAD_COMPNAME_GEN_set> X<PAD_COMPNAME_GEN_set>,
C<PAD_COMPNAME_OURSTASH> X<PAD_COMPNAME_OURSTASH>, C<PAD_COMPNAME_PV>
X<PAD_COMPNAME_PV>, C<PAD_COMPNAME_TYPE> X<PAD_COMPNAME_TYPE>,
C<PAD_RESTORE_LOCAL> X<PAD_RESTORE_LOCAL>, C<PAD_SAVE_LOCAL>
X<PAD_SAVE_LOCAL>, C<PAD_SAVE_SETNULLPAD> X<PAD_SAVE_SETNULLPAD>,
C<PAD_SET_CUR> X<PAD_SET_CUR>, C<PAD_SET_CUR_NOSAVE> X<PAD_SET_CUR_NOSAVE>,
C<PAD_SETSV> X<PAD_SETSV>, C<PAD_SV> X<PAD_SV>, C<PAD_SVl> X<PAD_SVl>,
C<PadnameIsFIELD> X<PadnameIsFIELD>, C<PadnameIsOUR> X<PadnameIsOUR>,
C<PadnameIsSTATE> X<PadnameIsSTATE>, C<PadnameOURSTASH> X<PadnameOURSTASH>,
C<PadnameOUTER> X<PadnameOUTER>, C<PadnameTYPE> X<PadnameTYPE>,
C<SAVECLEARSV> X<SAVECLEARSV>, C<SAVECOMPPAD> X<SAVECOMPPAD>, C<SAVEPADSV>
X<SAVEPADSV>

=item Password and Group access

=item Paths to system commands

=item Prototype information

=item Reference-counted stack manipulation

=item REGEXP Functions
X<RX_OFFSp>

C<regnode>

=item Reports and Formats

=item Signals

=item Site configuration

=item Sockets configuration values

=item Source Filters

=item Stack Manipulation Macros

C<djSP> X<djSP>, C<LVRET> X<LVRET>, C<save_alloc> X<save_alloc>

=item String Handling

C<delimcpy_no_escape> X<delimcpy_no_escape>, C<quadmath_format_needed>
X<quadmath_format_needed>, C<quadmath_format_valid>
X<quadmath_format_valid>

=item SV Flags

C<SVt_INVLIST> X<SVt_INVLIST>

=item SV Handling

C<PL_Sv> X<PL_Sv>, C<sv_add_arena> X<sv_add_arena>, C<sv_clean_all>
X<sv_clean_all>, C<sv_clean_objs> X<sv_clean_objs>, C<sv_free_arenas>
X<sv_free_arenas>, C<sv_grow> X<sv_grow>, C<sv_grow_fresh>
X<sv_grow_fresh>, C<sv_newref> X<sv_newref>, C<sv_pv> X<sv_pv>,
C<sv_pvbyte> X<sv_pvbyte>, C<sv_pvbyten_force> X<sv_pvbyten_force>,
C<sv_pvn_force> X<sv_pvn_force>, C<sv_pvutf8> X<sv_pvutf8>,
C<sv_pvutf8n_force> X<sv_pvutf8n_force>, C<sv_tainted> X<sv_tainted>,
C<sv_true> X<sv_true>, C<sv_untaint> X<sv_untaint>, C<sv_2bool>
X<sv_2bool>, C<sv_2bool_flags> X<sv_2bool_flags>, C<sv_2num> X<sv_2num>,
C<sv_2pv_nolen> X<sv_2pv_nolen>, C<sv_2pvbyte_nolen> X<sv_2pvbyte_nolen>,
C<sv_2pvutf8_nolen> X<sv_2pvutf8_nolen>, C<SvTHINKFIRST> X<SvTHINKFIRST>

=item Tainting

C<sv_taint> X<sv_taint>, C<TAINT> X<TAINT>, C<TAINT_ENV> X<TAINT_ENV>,
C<taint_env> X<taint_env>, C<TAINT_get> X<TAINT_get>, C<TAINT_IF>
X<TAINT_IF>, C<TAINT_NOT> X<TAINT_NOT>, C<TAINT_PROPER> X<TAINT_PROPER>,
C<taint_proper> X<taint_proper>, C<TAINT_set> X<TAINT_set>,
C<TAINT_WARN_get> X<TAINT_WARN_get>, C<TAINT_WARN_set> X<TAINT_WARN_set>,
C<TAINTING_get> X<TAINTING_get>, C<TAINTING_set> X<TAINTING_set>

=item Time

=item Typedef names

=item Unicode Support
X<FOLDEQ_LOCALE>X<FOLDEQ_S1_ALREADY_FOLDED>X<FOLDEQ_S1_FOLDS_SANE>
X<FOLDEQ_S2_ALREADY_FOLDED>X<FOLDEQ_S2_FOLDS_SANE>
X<FOLDEQ_UTF8_NOMIX_ASCII>

C<is_utf8_non_invariant_string> X<is_utf8_non_invariant_string>,
C<isSCRIPT_RUN> X<isSCRIPT_RUN>, C<utf8_to_uvuni> X<utf8_to_uvuni>,
C<utf8n_to_uvuni> X<utf8n_to_uvuni>, C<uvoffuni_to_utf8_flags>
X<uvoffuni_to_utf8_flags>, C<valid_utf8_to_uvchr> X<valid_utf8_to_uvchr>,
C<variant_under_utf8_count> X<variant_under_utf8_count>

=item Utility Functions

C<my_popen_list> X<my_popen_list>, C<my_socketpair> X<my_socketpair>

=item Versioning

=item Warning and Dieing

C<deprecate> X<deprecate>, C<deprecate_disappears_in>
X<deprecate_disappears_in>, C<deprecate_fatal_in> X<deprecate_fatal_in>,
C<find_uninit_var> X<find_uninit_var>, C<PL_dowarn> X<PL_dowarn>,
C<report_uninit> X<report_uninit>

=item XS

C<my_cxt_init> X<my_cxt_init>

=item Undocumented elements

=item AUTHORS

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item History and Background

=item Basic Structure

=item Layers vs Disciplines

=item Data Structures

=item Functions and Attributes

=item Per-instance Data

=item Layers in action

=item 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

=item 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

=item Utilities

=item Implementing PerlIO Layers

C implementations, Perl implementations

=item Core Layers

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

=item Extension Layers

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

=back

=item TODO

=back

=head2 perlapio - perl's IO abstraction interface.

=over 4

=item SYNOPSIS

=item DESCRIPTION

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

=over 4

=item Co-existence with stdio

B<PerlIO_importFILE(f,mode)>, B<PerlIO_exportFILE(f,mode)>,
B<PerlIO_releaseFILE(p,f)>, B<PerlIO_findFILE(f)>

=item "Fast gets" Functions

B<PerlIO_fast_gets(f)>, B<PerlIO_has_cntptr(f)>, B<PerlIO_get_cnt(f)>,
B<PerlIO_get_ptr(f)>, B<PerlIO_set_ptrcnt(f,p,c)>, B<PerlIO_canset_cnt(f)>,
B<PerlIO_set_cnt(f,c)>, B<PerlIO_has_base(f)>, B<PerlIO_get_base(f)>,
B<PerlIO_get_bufsiz(f)>

=item Other Functions

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

=back

=back

=head2 perlhack - How to hack on Perl

=over 4

=item DESCRIPTION

=item 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

=item BUG REPORTING

=item PERL 5 PORTERS

=over 4

=item perl-changes mailing list

=item #p5p on IRC

=back

=item GETTING THE PERL SOURCE

=over 4

=item Read access via Git

=item Read access via the web

=item Write access via git

=back

=item PATCHING PERL

=over 4

=item Submitting patches

=item Getting your patch accepted

Why, What, How

=item Patching a core module

=item Updating perldelta

=item What makes for a good patch?

=back

=item TESTING

F<t/base>, F<t/comp> and F<t/opbasic>, All other subdirectories of F<t/>,
Test files not found under F<t/>

=over 4

=item Special C<make test> targets

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

=item Parallel tests

=item Running tests by hand

=item Using F<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

=item Performance testing

=item Building perl at older commits

=back

=item MORE READING FOR GUTS HACKERS

L<perlsource>, L<perlinterp>, L<perlhacktut>, L<perlhacktips>, L<perlguts>,
L<perlxstut> and L<perlxs>, L<perlapi>, F<Porting/pumpkin.pod>

=item CPAN TESTERS AND PERL SMOKERS

=item WHAT NEXT?

=over 4

=item "The Road goes ever on and on, down from the door where it began."

=item Metaphoric Quotations

=back

=item AUTHOR

=back

=head2 perlsource - A guide to the Perl source tree

=over 4

=item DESCRIPTION

=item FINDING YOUR WAY AROUND

=over 4

=item C code

=item Core modules

F<lib/>, F<ext/>, F<dist/>, F<cpan/>

=item Tests

Module tests, F<t/base/>, F<t/cmd/>, F<t/comp/>, F<t/io/>, F<t/mro/>,
F<t/op/>, F<t/opbasic/>, F<t/re/>, F<t/run/>, F<t/uni/>, F<t/win32/>,
F<t/porting/>, F<t/lib/>

=item Documentation

=item Hacking tools and documentation

F<check*>, F<Maintainers>, F<Maintainers.pl>, and F<Maintainers.pm>,
F<podtidy>

=item Build system

=item F<AUTHORS>

=item F<MANIFEST>

=back

=back

=head2 perlinterp - An overview of the Perl interpreter

=over 4

=item DESCRIPTION

=item ELEMENTS OF THE INTERPRETER

=over 4

=item Startup

=item Parsing

=item Optimization

=item Running

=item 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

=item INTERNAL VARIABLE TYPES

=back

=item OP TREES

=item STACKS

=over 4

=item Argument stack

=item Mark stack

=item Save stack

=back

=item MILLIONS OF MACROS

=item FURTHER READING

=back

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

=over 4

=item DESCRIPTION

=item EXAMPLE OF A SIMPLE PATCH

=over 4

=item Writing the patch

=item Testing the patch

=item Documenting the patch

=item Submit

=back

=item AUTHOR

=back

=head2 perlhacktips - Tips for Perl core C code hacking

=over 4

=item DESCRIPTION

=item COMMON PROBLEMS

=over 4

=item Perl environment problems

=item C99

AIX, HP/UX, Solaris

=item Symbol Names and Namespace Pollution

B<Don't begin a file-level symbol name with an underscore>; (I<e.g.>, don't
use: C<_FOOBAR>), B<Don't use two consecutive underscores in a symbol
name>; (I<e.g.>, don't use C<FOO__BAR>)

=item Writing safer macros

=item Portability problems

=item Problematic System Interfaces

=back

=item DEBUGGING

=over 4

=item Poking at Perl

=item Using a source-level debugger

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

=item gdb macro support

=item Dumping Perl Data Structures

=item Using gdb to look at specific parts of a program

=item Using gdb to look at what the parser/lexer are doing

=back

=item SOURCE CODE STATIC ANALYSIS

=over 4

=item lint

=item Coverity

=item HP-UX cadvise (Code Advisor)

=item cpd (cut-and-paste detector)

=item gcc warnings

=item Warnings of other C compilers

=back

=item MEMORY DEBUGGERS

=over 4

=item valgrind

=item AddressSanitizer

-Dcc=clang, -Accflags=-fsanitize=address, -Aldflags=-fsanitize=address,
-Alddlflags=-shared\ -fsanitize=address,
-fsanitize-blacklist=`pwd`/asan_ignore

=item Dr Memory

=back

=item PROFILING

=over 4

=item Gprof Profiling

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

=item GCC gcov Profiling

=item callgrind profiling

--threshold, --auto

=item C<profiler> profiling (Cygwin)

=item Visual Studio Profiling

=back

=item MISCELLANEOUS TRICKS

=over 4

=item PERL_DESTRUCT_LEVEL

=item Leaked SV spotting: sv_mark_arenas() and sv_sweep_arenas()

=item PERL_MEM_LOG

=item DDD over gdb

=item C backtrace

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

=item Poison

=item Read-only optrees

=item When is a bool not a bool?

=item Finding unsafe truncations

=item The .i Targets

=back

=item AUTHOR

=back

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

=over 4

=item DESCRIPTION

=item GOVERNANCE

=over 4

=item Perl 5 Porters

=back

=item MAINTENANCE AND SUPPORT

=item BACKWARD COMPATIBILITY AND DEPRECATION

=over 4

=item Terminology

experimental, deprecated, discouraged, removed

=back

=item MAINTENANCE BRANCHES

=over 4

=item Getting changes into a maint branch

=back

=item CONTRIBUTED MODULES

=over 4

=item A Social Contract about Artistic Control

=back

=item DOCUMENTATION

=item STANDARDS OF CONDUCT

=item CREDITS

=back

=head2 perlgov - Perl Rules of Governance

=over 4

=item PREAMBLE

=item Mandate

=item Definitions

"Core Team", "Steering Council", "Vote Administrator"

=over 4

=item The Core Team

=item The Steering Council

=item The Vote Administrator

=back

=item Steering Council and Core Team Members

=item Steering Council Members

Aristotle Pagaltzis, Graham Knop, Philippe Bruhat

=item Core Team Members

=over 4

=item Active Members

Aristotle Pagaltzis <pagaltzis@gmx.de>, 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>

=item 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>

=back

=back

=head2 perlgit - Detailed information about git and the Perl repository

=over 4

=item DESCRIPTION

=item CLONING THE REPOSITORY

=item WORKING WITH THE REPOSITORY

=over 4

=item Finding out your status

=item Patch workflow

=item A note on derived files

=item Cleaning a working directory

=item Bisecting

=item Topic branches and rewriting history

=item Grafts

=back

=item WRITE ACCESS TO THE GIT REPOSITORY

=over 4

=item Working with GitHub pull requests

=item Accepting a patch

=item Committing to blead

=item On merging and rebasing

=item Committing to maintenance versions

=item Using a smoke-me branch to test changes

=back

=back

=head2 perlhist - the Perl history records

=over 4

=item DESCRIPTION

=item INTRODUCTION

=item THE KEEPERS OF THE PUMPKIN

=over 4

=item PUMPKIN?

=back

=item THE RECORDS

=over 4

=item SELECTED RELEASE SIZES

=item SELECTED PATCH SIZES

=back

=item THE KEEPERS OF THE RECORDS

=back

=head2 perldelta - what is new for perl v5.42.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item More CORE:: subs

=item New pragma C<L<source::encoding>>

=item New C<:writer> attribute on field variables

=item New C<any> and C<all> operators

=item Apostrophe as a global name separator can be disabled

=item Lexical method declaration using C<my method>

=item Lexical method invocation operator C<< ->& >>

=item Switch and Smart Match operator kept, behind a feature

=item Unicode 16.0 supported

=item Assigning logical xor C<^^=> operator

=back

=item Security

=over 4

=item [CVE-2024-56406] Heap buffer overflow vulnerability with tr//

=item [CVE-2025-40909] Perl threads have a working directory race condition
where file operations may target unintended paths

=back

=item Incompatible Changes

=over 4

=item Removed containing function references for functions without eval

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item F<Porting/test-dist-modules.pl>

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

arm64 Darwin, Android, Cygwin, MacOS (Darwin)

=back

=item Internal Changes

=item Selected Bug Fixes

=item Obituaries

=over 4

=item Abe Timmerman

=item Andrew Main

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5420delta, perldelta - what is new for perl v5.42.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item More CORE:: subs

=item New pragma C<L<source::encoding>>

=item New C<:writer> attribute on field variables

=item New C<any> and C<all> operators

=item Apostrophe as a global name separator can be disabled

=item Lexical method declaration using C<my method>

=item Lexical method invocation operator C<< ->& >>

=item Switch and Smart Match operator kept, behind a feature

=item Unicode 16.0 supported

=item Assigning logical xor C<^^=> operator

=back

=item Security

=over 4

=item [CVE-2024-56406] Heap buffer overflow vulnerability with tr//

=item [CVE-2025-40909] Perl threads have a working directory race condition
where file operations may target unintended paths

=back

=item Incompatible Changes

=over 4

=item Removed containing function references for functions without eval

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item F<Porting/test-dist-modules.pl>

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

arm64 Darwin, Android, Cygwin, MacOS (Darwin)

=back

=item Internal Changes

=item Selected Bug Fixes

=item Obituaries

=over 4

=item Abe Timmerman

=item Andrew Main

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5420delta, perldelta - what is new for perl v5.42.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item More CORE:: subs

=item New pragma C<L<source::encoding>>

=item New C<:writer> attribute on field variables

=item New C<any> and C<all> operators

=item Apostrophe as a global name separator can be disabled

=item Lexical method declaration using C<my method>

=item Lexical method invocation operator C<< ->& >>

=item Switch and Smart Match operator kept, behind a feature

=item Unicode 16.0 supported

=item Assigning logical xor C<^^=> operator

=back

=item Security

=over 4

=item [CVE-2024-56406] Heap buffer overflow vulnerability with tr//

=item [CVE-2025-40909] Perl threads have a working directory race condition
where file operations may target unintended paths

=back

=item Incompatible Changes

=over 4

=item Removed containing function references for functions without eval

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item F<Porting/test-dist-modules.pl>

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

arm64 Darwin, Android, Cygwin, MacOS (Darwin)

=back

=item Internal Changes

=item Selected Bug Fixes

=item Obituaries

=over 4

=item Abe Timmerman

=item Andrew Main

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5402delta - what is new for perl v5.40.2

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2024-56406] Heap buffer overflow vulnerability with tr//

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5401delta - what is new for perl v5.40.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Configuration and Compilation

=item Testing

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5400delta - what is new for perl v5.40.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item New C<__CLASS__> Keyword

=item C<:reader> attribute for field variables

=item Permit a space in C<-M> command-line option

=item Restrictions to C<use VERSION> declarations

=item New C<builtin::inf> and C<builtin::nan> functions (experimental)

=item New C<^^> logical xor operator

=item C<try>/C<catch> feature is no longer experimental

=item C<for> iterating over multiple values at a time is no longer
experimental

=item C<builtin> module is no longer experimental

=item The C<:5.40> feature bundle adds C<try>

=item C<use v5.40;> imports builtin functions

=back

=item Security

=over 4

=item CVE-2023-47038 - Write past buffer end via illegal user-defined
Unicode property

=item CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

=back

=item Incompatible Changes

=over 4

=item reset EXPR now calls set-magic on scalars

=item Calling the import method of an unknown package produces a warning

=item C<return> no longer allows an indirect object

=item Class barewords no longer resolved as file handles in method calls
under C<no feature "bareword_filehandles">

=back

=item Deprecations

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item New Platforms

Serenity OS

=item Platform-Specific Notes

Windows, Linux, MacOS/Darwin, VMS, Oracle Developer Studio (Solaris, Oracle
Linux)

=back

=item Internal Changes

=item Selected Bug Fixes

=item Known Problems

perlivp is missing streamzip on Windows

=item Errata From Previous Releases

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5384delta - what is new for perl v5.38.4

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2024-56406] Heap buffer overflow vulnerability with tr//

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5383delta - what is new for perl v5.38.3

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Testing

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5382delta - what is new for perl v5.38.2

=over 4

=item DESCRIPTION

=item Security

=over 4

=item CVE-2023-47038 - Write past buffer end via illegal user-defined
Unicode property

=item CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5381delta - what is new for perl v5.38.1

=over 4

=item DESCRIPTION

=item Security

=over 4

=item CVE-2023-47038 - Write past buffer end via illegal user-defined
Unicode property

=item CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5380delta - what is new for perl v5.38.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item New C<class> Feature

=item Unicode 15.0 is supported

=item Deprecation warnings now have specific subcategories

=item %{^HOOK} API introduced

=item PERL_RAND_SEED

=item Defined-or and logical-or assignment default expressions in
signatures

=item @INC Hook Enhancements and $INC and INCDIR

=item Forbidden control flow out of C<defer> or C<finally> now detected at
compile-time

=item Optimistic Eval in Patterns

=item REG_INF has been raised from 65,536 to 2,147,483,647

=item New API functions optimize_optree and finalize_optree

=item Some C<goto>s are now permitted in C<defer> and C<finally> blocks

=item New regexp variable ${^LAST_SUCCESSFUL_PATTERN}

=item Locale category LC_NAME now supported on participating platforms

=back

=item Incompatible Changes

=over 4

=item readline() no longer clears the stream error and eof flags

=item C<INIT> blocks no longer run after an C<exit()> in C<BEGIN>

=item Syntax errors no longer produce "phantom error messages"

=item L<C<utf8::upgrade()>|utf8/Utility functions>

=item Changes to "thread-safe" locales

=back

=item Deprecations

=over 4

=item Use of C<'> as a package name separator is deprecated

=item Switch and Smart Match operator

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=back

=over 4

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Discontinued Platforms

Ultrix

=item Platform-Specific Notes

DragonflyBSD, FreeBSD, Solaris, Synology, Windows

=back

=item Internal Changes

L<C<newSVbool(const bool bool_val)>|perlapi/newSVbool>,
L<C<newSV_true()>|perlapi/newSV_true>,
L<C<newSV_false()>|perlapi/newSV_false>, L<C<sv_set_true(SV
*sv)>|perlapi/sv_set_true>, L<C<sv_set_false(SV
*sv)>|perlapi/sv_set_false>, L<C<sv_set_bool(SV *sv, const bool
bool_val)>|perlapi/sv_set_bool>, L<C<SvIandPOK(sv)>|perlapi/SvIandPOK>,
L<C<SvIandPOK_off(sv)>|perlapi/SvIandPOK_off>,
L<C<SvIandPOK_on>|perlapi/SvIandPOK_on>, I32df -- Like %d, U32of -- Like
%o, U32uf -- Like %u, U32xf -- Like %x, U32Xf -- Like %X

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5363delta - what is new for perl v5.36.3

=over 4

=item DESCRIPTION

=item Security

=over 4

=item CVE-2023-47038 - Write past buffer end via illegal user-defined
Unicode property

=item CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5362delta - what is new for perl v5.36.2

=over 4

=item DESCRIPTION

=item Security

=over 4

=item CVE-2023-47038 - Write past buffer end via illegal user-defined
Unicode property

=item CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5361delta - what is new for perl v5.36.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Configuration and Compilation

=item Testing

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5360delta - what is new for perl v5.36.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item C<use v5.36>

=item -g command-line flag

=item Unicode 14.0 is supported

=item regex sets are no longer considered experimental

=item Variable length lookbehind is mostly no longer considered
experimental

=item SIGFPE no longer deferred

=item Stable boolean tracking

=item iterating over multiple values at a time (experimental)

=item 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

=item C<defer> blocks (experimental)

=item try/catch can now have a C<finally> block (experimental)

=item non-ASCII delimiters for quote-like operators (experimental)

=item @_ is now experimental within signatured subs

=back

=item Incompatible Changes

=over 4

=item A physically empty sort is now a compile-time error

=back

=item Deprecations

=over 4

=item C<use VERSION> (where VERSION is below v5.11) after C<use v5.11> is
deprecated

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Windows

=item VMS

C<keys %ENV> on VMS returns consistent results

=item Discontinued Platforms

AT&T UWIN, DOS/DJGPP, NetWare

=item Platform-Specific Notes

z/OS

=back

=item Internal Changes

=item Selected Bug Fixes

=item Errata From Previous Releases

=item Obituaries

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5343delta - what is new for perl v5.34.3

=over 4

=item DESCRIPTION

=item Security

=over 4

=item CVE-2023-47038 - Write past buffer end via illegal user-defined
Unicode property

=item CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5342delta - what is new for perl v5.34.2

=over 4

=item DESCRIPTION

=item Security

=over 4

=item CVE-2023-47038 - Write past buffer end via illegal user-defined
Unicode property

=item CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5341delta - what is new for perl v5.34.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Testing

=over 4

=item Platform-Specific Notes

Windows

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5340delta - what is new for perl v5.34.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item Experimental Try/Catch Syntax

=item C<qr/{,n}/> is now accepted

=back

=back

=over 4

=item Blanks freely allowed within but adjacent to curly braces

=item New octal syntax C<0oI<ddddd>>

=back

=over 4

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item L<perl5db.pl> (the debugger)

New option: C<HistItemMinLength>, Fix to C<i> and C<l> commands

=back

=item Configuration and Compilation

stadtx hash support has been removed, Configure, C<-Dusedefaultstrict>

=item Testing

=item Platform Support

=over 4

=item New Platforms

9front

=item Updated Platforms

Plan9, MacOS (Darwin)

=item Discontinued Platforms

Symbian

=item Platform-Specific Notes

DragonFlyBSD, Mac OS X, Windows, z/OS

=back

=item Internal Changes

=item Selected Bug Fixes

pack/unpack format 'D' now works on all systems that could support it

=item Known Problems

=item Errata From Previous Releases

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5321delta - what is new for perl v5.32.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item Changes to Existing Diagnostics

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

MacOS (Darwin), Minix

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5320delta - what is new for perl v5.32.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item The isa Operator

=item Unicode 13.0 is supported

=item Chained comparisons capability

=item New Unicode properties C<Identifier_Status> and C<Identifier_Type>
supported

=item It is now possible to write C<qr/\p{Name=...}/>, or
C<qr!\p{na=/(SMILING|GRINNING) FACE/}!>

=item Improvement of C<POSIX::mblen()>, C<mbtowc>, and C<wctomb>

=item Alpha assertions are no longer experimental

=item Script runs are no longer experimental

=item Feature checks are now faster

=item Perl is now developed on GitHub

=item Compiled patterns can now be dumped before optimization

=back

=item Security

=over 4

=item [CVE-2020-10543] Buffer overflow caused by a crafted regular
expression

=item [CVE-2020-10878] Integer overflow via malformed bytecode produced by
a crafted regular expression

=item [CVE-2020-12723] Buffer overflow caused by a crafted regular
expression

=item Additional Note

=back

=item Incompatible Changes

=over 4

=item Certain pattern matching features are now prohibited in compiling
Unicode property value wildcard subpatterns

=item Unused functions C<POSIX::mbstowcs> and C<POSIX::wcstombs> are
removed

=item A bug fix for C<(?[...])> may have caused some patterns to no
longer compile

=item C<\p{I<user-defined>}> properties now always override official
Unicode ones

=item Modifiable variables are no longer permitted in constants

=item Use of L<C<vec>|perlfunc/vec EXPR,OFFSET,BITS> on strings with code
points above 0xFF is forbidden

=item Use of code points over 0xFF in string bitwise operators

=item C<Sys::Hostname::hostname()> does not accept arguments

=item Plain "0" string now treated as a number for range operator

=item C<\K> now disallowed in look-ahead and look-behind assertions

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

C<caller>, C<__FILE__>, C<__LINE__>, C<return>, C<open>

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item L<perlbug>

The bug tracker homepage URL now points to GitHub

=item L<streamzip>

=back

=item Configuration and Compilation

=over 4

=item F<Configure>

=back

=item Testing

=item Platform Support

=over 4

=item Discontinued Platforms

Windows CE

=item Platform-Specific Notes

Linux, NetBSD 8.0, Windows, Solaris, VMS, z/OS

=back

=item Internal Changes

=item Selected Bug Fixes

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5303delta - what is new for perl v5.30.3

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2020-10543] Buffer overflow caused by a crafted regular
expression

=item [CVE-2020-10878] Integer overflow via malformed bytecode produced by
a crafted regular expression

=item [CVE-2020-12723] Buffer overflow caused by a crafted regular
expression

=item Additional Note

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Testing

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5302delta - what is new for perl v5.30.2

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

Windows

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5301delta - what is new for perl v5.30.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

Win32

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5300delta - what is new for perl v5.30.0

=over 4

=item DESCRIPTION

=item Notice

=item Core Enhancements

=over 4

=item Limited variable length lookbehind in regular expression pattern
matching is now experimentally supported

=item The upper limit C<"n"> specifiable in a regular expression quantifier
of the form C<"{m,n}"> has been doubled to 65534

=item Unicode 12.1 is supported

=item Wildcards in Unicode property value specifications are now partially
supported

=item qr'\N{name}' is now supported

=item Turkic UTF-8 locales are now seamlessly supported

=item It is now possible to compile perl to always use thread-safe locale
operations

=item Eliminate opASSIGN macro usage from core

=item C<-Drv> now means something on C<-DDEBUGGING> builds

=back

=item Incompatible Changes

=over 4

=item Assigning non-zero to C<$[> is fatal

=item Delimiters must now be graphemes

=item Some formerly deprecated uses of an unescaped left brace C<"{"> in
regular expression patterns are now illegal

=item Previously deprecated sysread()/syswrite() on :utf8 handles is now
fatal

=item my() in false conditional prohibited

=item Fatalize $* and $#

=item Fatalize unqualified use of dump()

=item Remove File::Glob::glob()

=item C<pack()> no longer can return malformed UTF-8

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

=item JSON::PP enables allow_nonref by default

=back

=item Deprecations

=over 4

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

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item L<xsubpp>

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

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

=back

=item Internal Changes

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5283delta - what is new for perl v5.28.3

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2020-10543] Buffer overflow caused by a crafted regular
expression

=item [CVE-2020-10878] Integer overflow via malformed bytecode produced by
a crafted regular expression

=item [CVE-2020-12723] Buffer overflow caused by a crafted regular
expression

=item Additional Note

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Testing

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5282delta - what is new for perl v5.28.2

=over 4

=item DESCRIPTION

=item Incompatible Changes

=over 4

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

=back

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Platform Support

=over 4

=item Platform-Specific Notes

Windows, Mac OS X

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5281delta - what is new for perl v5.28.1

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2018-18311] Integer overflow leading to buffer overflow and
segmentation fault

=item [CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c)

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5280delta - what is new for perl v5.28.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item Unicode 10.0 is supported

=item L<C<delete>|perlfunc/delete EXPR> on key/value hash slices

=item Experimentally, there are now alphabetic synonyms for some regular
expression assertions

=item Mixed Unicode scripts are now detectable

=item In-place editing with C<perl -i> is now safer

=item Initialisation of aggregate state variables

=item Full-size inode numbers

=item The C<sprintf> C<%j> format size modifier is now available with
pre-C99 compilers

=item Close-on-exec flag set atomically

=item String- and number-specific bitwise ops are no longer experimental

=item Locales are now thread-safe on systems that support them

=item New read-only predefined variable C<${^SAFE_LOCALES}>

=back

=item Security

=over 4

=item [CVE-2017-12837] Heap buffer overflow in regular expression compiler

=item [CVE-2017-12883] Buffer over-read in regular expression parser

=item [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows

=item Default Hash Function Change

=back

=item Incompatible Changes

=over 4

=item Subroutine attribute and signature order

=item Comma-less variable lists in formats are no longer allowed

=item The C<:locked> and C<:unique> attributes have been removed

=item C<\N{}> with nothing between the braces is now illegal

=item Opening the same symbol as both a file and directory handle is no
longer allowed

=item Use of bare C<< << >> to mean C<< <<"" >> is no longer allowed

=item Setting $/ to a reference to a non-positive integer no longer allowed

=item Unicode code points with values exceeding C<IV_MAX> are now fatal

=item The C<B::OP::terse> method has been removed

=item Use of inherited AUTOLOAD for non-methods is no longer allowed

=item Use of strings with code points over 0xFF is not allowed for bitwise
string operators

=item Setting C<${^ENCODING}> to a defined value is now illegal

=item Backslash no longer escapes colon in PATH for the C<-S> switch

=item the -DH (DEBUG_H) misfeature has been removed

=item Yada-yada is now strictly a statement

=item Sort algorithm can no longer be specified

=item Over-radix digits in floating point literals

=item Return type of C<unpackstring()>

=back

=item Deprecations

=over 4

=item Use of L<C<vec>|perlfunc/vec EXPR,OFFSET,BITS> on strings with code
points above 0xFF is deprecated

=item Some uses of unescaped C<"{"> in regexes are no longer fatal

=item Use of unescaped C<"{"> immediately after a C<"("> in regular
expression patterns is deprecated

=item Assignment to C<$[> will be fatal in Perl 5.30

=item hostname() won't accept arguments in Perl 5.32

=item Module removals

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

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Removal of use vars

=item Use of DynaLoader changed to XSLoader in many modules

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

L<perldiag/Variable length lookbehind not implemented in regex
mE<sol>%sE<sol>>, "Use of state $_ is experimental" in L<perldiag>

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item L<perlbug>

=back

=item 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

=item Testing

=item Packaging

=item Platform Support

=over 4

=item Discontinued Platforms

PowerUX / Power MAX OS

=item Platform-Specific Notes

CentOS, Cygwin, Darwin, FreeBSD, VMS, Windows

=back

=item Internal Changes

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5263delta - what is new for perl v5.26.3

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2018-12015] Directory traversal in module Archive::Tar

=item [CVE-2018-18311] Integer overflow leading to buffer overflow and
segmentation fault

=item [CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c)

=item [CVE-2018-18313] Heap-buffer-overflow read in S_grok_bslash_N
(regcomp.c)

=item [CVE-2018-18314] Heap-buffer-overflow write in S_regatom (regcomp.c)

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5262delta - what is new for perl v5.26.2

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom
(regcomp.c)

=item [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string
(utf8.c)

=item [CVE-2018-6913] heap-buffer-overflow in S_pack_rec

=item Assertion failure in Perl__core_swash_init (utf8.c)

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Platform Support

=over 4

=item Platform-Specific Notes

Windows

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5261delta - what is new for perl v5.26.1

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2017-12837] Heap buffer overflow in regular expression compiler

=item [CVE-2017-12883] Buffer over-read in regular expression parser

=item [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Platform Support

=over 4

=item Platform-Specific Notes

FreeBSD, Windows

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5260delta - what is new for perl v5.26.0

=over 4

=item DESCRIPTION

=item Notice

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

=item Core Enhancements

=over 4

=item Lexical subroutines are no longer experimental

=item Indented Here-documents

=item New regular expression modifier C</xx>

=item C<@{^CAPTURE}>, C<%{^CAPTURE}>, and C<%{^CAPTURE_ALL}>

=item Declaring a reference to a variable

=item Unicode 9.0 is now supported

=item Use of C<\p{I<script>}> uses the improved Script_Extensions property

=item Perl can now do default collation in UTF-8 locales on platforms
that support it

=item Better locale collation of strings containing embedded C<NUL>
characters

=item C<CORE> subroutines for hash and array functions callable via
reference

=item New Hash Function For 64-bit Builds

=back

=item Security

=over 4

=item Removal of the current directory (C<".">) from C<@INC>

F<Configure -Udefault_inc_excludes_dot>, C<PERL_USE_UNSAFE_INC>, A new
deprecation warning issued by C<do>, Script authors, Installing and using
CPAN modules, Module Authors

=item Escaped colons and relative paths in PATH

=item New C<-Di> switch is now required for PerlIO debugging output

=back

=item Incompatible Changes

=over 4

=item Unescaped literal C<"{"> characters in regular expression
patterns are no longer permissible

=item C<scalar(%hash)> return signature changed

=item C<keys> returned from an lvalue subroutine

=item The C<${^ENCODING}> facility has been removed

=item C<POSIX::tmpnam()> has been removed

=item require ::Foo::Bar is now illegal

=item Literal control character variable names are no longer permissible

=item C<NBSP> is no longer permissible in C<\N{...}>

=back

=item Deprecations

=over 4

=item String delimiters that aren't stand-alone graphemes are now
deprecated

=item C<\cI<X>> that maps to a printable is no longer deprecated

=back

=item Performance Enhancements

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

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=over 4

=item F<c2ph> and F<pstruct>

=item F<Porting/pod_lib.pl>

=item F<Porting/sync-with-cpan>

=item F<perf/benchmarks>

=item F<Porting/checkAUTHORS.pl>

=item F<t/porting/regen.t>

=item F<utils/h2xs.PL>

=item L<perlbug>

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item New Platforms

NetBSD/VAX

=item Platform-Specific Notes

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

=back

=item Internal Changes

=item Selected Bug Fixes

=item Known Problems

=item Errata From Previous Releases

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item Give Thanks

=item SEE ALSO

=back

=head2 perl5244delta - what is new for perl v5.24.4

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom
(regcomp.c)

=item [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string
(utf8.c)

=item [CVE-2018-6913] heap-buffer-overflow in S_pack_rec

=item Assertion failure in Perl__core_swash_init (utf8.c)

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5243delta - what is new for perl v5.24.3

=over 4

=item DESCRIPTION

=item Security

=over 4

=item [CVE-2017-12837] Heap buffer overflow in regular expression compiler

=item [CVE-2017-12883] Buffer over-read in regular expression parser

=item [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Configuration and Compilation

=item Platform Support

=over 4

=item Platform-Specific Notes

VMS, Windows

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5242delta - what is new for perl v5.24.2

=over 4

=item DESCRIPTION

=item Security

=over 4

=item Improved handling of '.' in @INC in base.pm

=item "Escaped" colons and relative paths in PATH

=back

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5241delta - what is new for perl v5.24.1

=over 4

=item DESCRIPTION

=item Security

=over 4

=item B<-Di> switch is now required for PerlIO debugging output

=item Core modules and tools no longer search F<"."> for optional modules

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Testing

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5240delta - what is new for perl v5.24.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item Postfix dereferencing is no longer experimental

=item Unicode 8.0 is now supported

=item perl will now croak when closing an in-place output file fails

=item New C<\b{lb}> boundary in regular expressions

=item C<qr/(?[ ])/> now works in UTF-8 locales

=item Integer shift (C<< << >> and C<< >> >>) now more explicitly defined

=item printf and sprintf now allow reordered precision arguments

=item More fields provided to C<sigaction> callback with C<SA_SIGINFO>

=item Hashbang redirection to Perl 6

=back

=item Security

=over 4

=item Set proper umask before calling C<mkstemp(3)>

=item Fix out of boundary access in Win32 path handling

=item Fix loss of taint in canonpath

=item Avoid accessing uninitialized memory in win32 C<crypt()>

=item Remove duplicate environment variables from C<environ>

=back

=item Incompatible Changes

=over 4

=item The C<autoderef> feature has been removed

=item Lexical $_ has been removed

=item C<qr/\b{wb}/> is now tailored to Perl expectations

=item Regular expression compilation errors

=item C<qr/\N{}/> now disallowed under C<use re "strict">

=item Nested declarations are now disallowed

=item The C</\C/> character class has been removed

=item C<chdir('')> no longer chdirs home

=item ASCII characters in variable names must now be all visible

=item An off by one issue in C<$Carp::MaxArgNums> has been fixed

=item Only blanks and tabs are now allowed within C<[...]> within
C<(?[...])>

=back

=item Deprecations

=over 4

=item Using code points above the platform's C<IV_MAX> is now deprecated

=item Doing bitwise operations on strings containing code points above
0xFF is deprecated

=item C<sysread()>, C<syswrite()>, C<recv()> and C<send()> are deprecated
on
:utf8 handles

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

AmigaOS, Cygwin, EBCDIC, UTF-EBCDIC extended, EBCDIC C<cmp()> and C<sort()>
fixed for UTF-EBCDIC strings, EBCDIC C<tr///> and C<y///> fixed for
C<\N{}>, and C<S<use utf8>> ranges, FreeBSD, IRIX, MacOS X, Solaris, Tru64,
VMS, Win32, ppc64el, floating point

=back

=item Internal Changes

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5224delta - what is new for perl v5.22.4

=over 4

=item DESCRIPTION

=item Security

=over 4

=item Improved handling of '.' in @INC in base.pm

=item "Escaped" colons and relative paths in PATH

=back

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5223delta - what is new for perl v5.22.3

=over 4

=item DESCRIPTION

=item Security

=over 4

=item B<-Di> switch is now required for PerlIO debugging output

=item Core modules and tools no longer search F<"."> for optional modules

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Testing

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5222delta - what is new for perl v5.22.2

=over 4

=item DESCRIPTION

=item Security

=over 4

=item Fix out of boundary access in Win32 path handling

=item Fix loss of taint in C<canonpath()>

=item Set proper umask before calling C<mkstemp(3)>

=item Avoid accessing uninitialized memory in Win32 C<crypt()>

=item Remove duplicate environment variables from C<environ>

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Configuration and Compilation

=item Platform Support

=over 4

=item Platform-Specific Notes

Darwin, OS X/Darwin, ppc64el, Tru64

=back

=item Internal Changes

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5221delta - what is new for perl v5.22.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=over 4

=item Bounds Checking Constructs

=back

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item Changes to Existing Diagnostics

=back

=item Configuration and Compilation

=item Platform Support

=over 4

=item Platform-Specific Notes

IRIX

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5220delta - what is new for perl v5.22.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item New bitwise operators

=item New double-diamond operator

=item New C<\b> boundaries in regular expressions

=item Non-Capturing Regular Expression Flag

=item C<use re 'strict'>

=item Unicode 7.0 (with correction) is now supported

=item S<C<use locale>> can restrict which locale categories are affected

=item Perl now supports POSIX 2008 locale currency additions

=item Better heuristics on older platforms for determining locale UTF-8ness

=item Aliasing via reference

=item C<prototype> with no arguments

=item New C<:const> subroutine attribute

=item C<fileno> now works on directory handles

=item List form of pipe open implemented for Win32

=item Assignment to list repetition

=item Infinity and NaN (not-a-number) handling improved

=item Floating point parsing has been improved

=item Packing infinity or not-a-number into a character is now fatal

=item Experimental C Backtrace API

=back

=item Security

=over 4

=item Perl is now compiled with C<-fstack-protector-strong> if available

=item The L<Safe> module could allow outside packages to be replaced

=item Perl is now always compiled with C<-D_FORTIFY_SOURCE=2> if available

=back

=item Incompatible Changes

=over 4

=item Subroutine signatures moved before attributes

=item C<&> and C<\&> prototypes accepts only subs

=item C<use encoding> is now lexical

=item List slices returning empty lists

=item C<\N{}> with a sequence of multiple spaces is now a fatal error

=item S<C<use UNIVERSAL '...'>> is now a fatal error

=item In double-quotish C<\cI<X>>, I<X> must now be a printable ASCII
character

=item Splitting the tokens C<(?> and C<(*> in regular expressions is now a
fatal compilation error

=item C<qr/foo/x> now ignores all Unicode pattern white space

=item Comment lines within S<C<(?[ ])>> are now ended only by a C<\n>

=item C<(?[...])> operators now follow standard Perl precedence

=item Omitting C<%> and C<@> on hash and array names is no longer permitted

=item C<"$!"> text is now in English outside the scope of C<use locale>

=item C<"$!"> text will be returned in UTF-8 when appropriate

=item Support for C<?PATTERN?> without explicit operator has been removed

=item C<defined(@array)> and C<defined(%hash)> are now fatal errors

=item Using a hash or an array as a reference are now fatal errors

=item Changes to the C<*> prototype

=back

=item Deprecations

=over 4

=item Setting C<${^ENCODING}> to anything but C<undef>

=item Use of non-graphic characters in single-character variable names

=item Inlining of C<sub () { $var }> with observable side-effects

=item Use of multiple C</x> regexp modifiers

=item Using a NO-BREAK space in a character alias for C<\N{...}> is now
deprecated

=item A literal C<"{"> should now be escaped in a pattern

=item Making all warnings fatal is discouraged

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=item Diagnostic Removals

=back

=item Utility Changes

=over 4

=item F<find2perl>, F<s2p> and F<a2p> removal

=item L<h2ph>

=item L<encguess>

=back

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Regained Platforms

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

=item Discontinued Platforms

NeXTSTEP/OPENSTEP

=item Platform-Specific Notes

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

=back

=item Internal Changes

=item Selected Bug Fixes

=item Known Problems

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5203delta - what is new for perl v5.20.3

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Utility Changes

=over 4

=item L<h2ph>

=back

=item Testing

=item Platform Support

=over 4

=item Platform-Specific Notes

Win32

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5202delta - what is new for perl v5.20.2

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item Changes to Existing Diagnostics

=back

=item Testing

=item Platform Support

=over 4

=item Regained Platforms

=back

=item Selected Bug Fixes

=item Known Problems

=item Errata From Previous Releases

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5201delta - what is new for perl v5.20.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item Changes to Existing Diagnostics

=back

=item Configuration and Compilation

=item Platform Support

=over 4

=item Platform-Specific Notes

Android, OpenBSD, Solaris, VMS, Windows

=back

=item Internal Changes

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5200delta - what is new for perl v5.20.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item Experimental Subroutine signatures

=item C<sub>s now take a C<prototype> attribute

=item More consistent prototype parsing

=item C<rand> now uses a consistent random number generator

=item New slice syntax

=item Experimental Postfix Dereferencing

=item Unicode 6.3 now supported

=item New C<\p{Unicode}> regular expression pattern property

=item Better 64-bit support

=item C<S<use locale>> now works on UTF-8 locales

=item C<S<use locale>> now compiles on systems without locale ability

=item More locale initialization fallback options

=item C<-DL> runtime option now added for tracing locale setting

=item B<-F> now implies B<-a> and B<-a> implies B<-n>

=item $a and $b warnings exemption

=back

=item Security

=over 4

=item Avoid possible read of free()d memory during parsing

=back

=item Incompatible Changes

=over 4

=item C<do> can no longer be used to call subroutines

=item Quote-like escape changes

=item Tainting happens under more circumstances; now conforms to
documentation

=item C<\p{}>, C<\P{}> matching has changed for non-Unicode code
points.

=item C<\p{All}> has been expanded to match all possible code points

=item Data::Dumper's output may change

=item Locale decimal point character no longer leaks outside of S<C<use
locale>> scope

=item Assignments of Windows sockets error codes to $! now prefer
F<errno.h> values over WSAGetLastError() values

=item Functions C<PerlIO_vsprintf> and C<PerlIO_sprintf> have been removed

=back

=item Deprecations

=over 4

=item The C</\C/> character class

=item Literal control characters in variable names

=item References to non-integers and non-positive integers in C<$/>

=item Character matching routines in POSIX

=item Interpreter-based threads are now I<discouraged>

=item Module removals

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

=item Utility removals

L<find2perl>, L<s2p>, L<a2p>

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item New Platforms

Android, Bitrig, FreeMiNT, Synology

=item Discontinued Platforms

C<sfio>, AT&T 3b1, DG/UX, EBCDIC

=item Platform-Specific Notes

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

=back

=item Internal Changes

=item Selected Bug Fixes

=over 4

=item Regular Expressions

=item Perl 5 Debugger and -d

=item Lexical Subroutines

=item Everything Else

=back

=item Known Problems

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5184delta - what is new for perl v5.18.4

=over 4

=item DESCRIPTION

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Platform Support

=over 4

=item Platform-Specific Notes

Win32

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5182delta - what is new for perl v5.18.2

=over 4

=item DESCRIPTION

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5181delta - what is new for perl v5.18.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Platform Support

=over 4

=item Platform-Specific Notes

AIX, MidnightBSD

=back

=item Selected Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5180delta - what is new for perl v5.18.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item New mechanism for experimental features

=item Hash overhaul

=item Upgrade to Unicode 6.2

=item Character name aliases may now include non-Latin1-range characters

=item New DTrace probes

=item C<${^LAST_FH}>

=item Regular Expression Set Operations

=item Lexical subroutines

=item Computed Labels

=item More CORE:: subs

=item C<kill> with negative signal names

=back

=item Security

=over 4

=item See also: hash overhaul

=item C<Storable> security warning in documentation

=item C<Locale::Maketext> allowed code injection via a malicious template

=item Avoid calling memset with a negative count

=back

=item Incompatible Changes

=over 4

=item See also: hash overhaul

=item An unknown character name in C<\N{...}> is now a syntax error

=item Formerly deprecated characters in C<\N{}> character name aliases are
now errors

=item C<\N{BELL}> now refers to U+1F514 instead of U+0007

=item New Restrictions in Multi-Character Case-Insensitive Matching in
Regular Expression Bracketed Character Classes

=item Explicit rules for variable names and identifiers

=item Vertical tabs are now whitespace

=item C</(?{})/> and C</(??{})/> have been heavily reworked

=item Stricter parsing of substitution replacement

=item C<given> now aliases the global C<$_>

=item The smartmatch family of features are now experimental

=item Lexical C<$_> is now experimental

=item readline() with C<$/ = \N> now reads N characters, not N bytes

=item Overridden C<glob> is now passed one argument

=item Here doc parsing

=item Alphanumeric operators must now be separated from the closing
delimiter of regular expressions

=item qw(...) can no longer be used as parentheses

=item Interaction of lexical and default warnings

=item C<state sub> and C<our sub>

=item Defined values stored in environment are forced to byte strings

=item C<require> dies for unreadable files

=item C<gv_fetchmeth_*> and SUPER

=item C<split>'s first argument is more consistently interpreted

=back

=item Deprecations

=over 4

=item Module removals

L<encoding>, L<Archive::Extract>, L<B::Lint>, L<B::Lint::Debug>,
L<CPANPLUS> and all included C<CPANPLUS::*> modules,
L<Devel::InnerPackage>, L<Log::Message>, L<Log::Message::Config>,
L<Log::Message::Handlers>, L<Log::Message::Item>, L<Log::Message::Simple>,
L<Module::Pluggable>, L<Module::Pluggable::Object>, L<Object::Accessor>,
L<Pod::LaTeX>, L<Term::UI>, L<Term::UI::History>

=item Deprecated Utilities

L<cpanp>, C<cpanp-run-perl>, L<cpan2dist>, L<pod2latex>

=item PL_sv_objcount

=item Five additional characters should be escaped in patterns with C</x>

=item User-defined charnames with surprising whitespace

=item Various XS-callable functions are now deprecated

=item Certain rare uses of backslashes within regexes are now deprecated

=item Splitting the tokens C<(?> and C<(*> in regular expressions

=item Pre-PerlIO IO implementations

=back

=item Future Deprecations

DG/UX, NeXT

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item Changes to Existing Documentation

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item Discontinued Platforms

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

=item Platform-Specific Notes

=back

=item Internal Changes

=item Selected Bug Fixes

=item Known Problems

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5163delta - what is new for perl v5.16.3

=over 4

=item DESCRIPTION

=item Core Enhancements

=item Security

=over 4

=item CVE-2013-1667: memory exhaustion with arbitrary hash keys

=item wrap-around with IO on long strings

=item memory leak in Encode

=back

=item Incompatible Changes

=item Deprecations

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Known Problems

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5162delta - what is new for perl v5.16.2

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Configuration and Compilation

configuration should no longer be confused by ls colorization

=item Platform Support

=over 4

=item Platform-Specific Notes

AIX

=back

=item Selected Bug Fixes

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

=item Known Problems

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5161delta - what is new for perl v5.16.1

=over 4

=item DESCRIPTION

=item Security

=over 4

=item an off-by-two error in Scalar-List-Util has been fixed

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules and Pragmata

=back

=item Configuration and Compilation

=item Platform Support

=over 4

=item Platform-Specific Notes

VMS

=back

=item Selected Bug Fixes

=item Known Problems

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5160delta - what is new for perl v5.16.0

=over 4

=item DESCRIPTION

=item Notice

=item Core Enhancements

=over 4

=item C<use I<VERSION>>

=item C<__SUB__>

=item New and Improved Built-ins

=item Unicode Support

=item XS Changes

=item Changes to Special Variables

=item Debugger Changes

=item The C<CORE> Namespace

=item Other Changes

=back

=item Security

=over 4

=item Use C<is_utf8_char_buf()> and not C<is_utf8_char()>

=item Malformed UTF-8 input could cause attempts to read beyond the end of
the buffer

=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
(CVE-2011-2728)

=item Privileges are now set correctly when assigning to C<$(>

=back

=item Deprecations

=over 4

=item Don't read the Unicode data base files in F<lib/unicore>

=item XS functions C<is_utf8_char()>, C<utf8_to_uvchr()> and
C<utf8_to_uvuni()>

=back

=item Future Deprecations

=over 4

=item Core Modules

=item Platforms with no supporting programmers

=item Other Future Deprecations

=back

=item Incompatible Changes

=over 4

=item Special blocks called in void context

=item The C<overloading> pragma and regexp objects

=item Two XS typemap Entries removed

=item Unicode 6.1 has incompatibilities with Unicode 6.0

=item Borland compiler

=item Certain deprecated Unicode properties are no longer supported by
default

=item Dereferencing IO thingies as typeglobs

=item User-defined case-changing operations

=item XSUBs are now 'static'

=item Weakening read-only references

=item Tying scalars that hold typeglobs

=item IPC::Open3 no longer provides C<xfork()>, C<xclose_on_exec()>
and C<xpipe_anon()>

=item C<$$> no longer caches PID

=item C<$$> and C<getppid()> no longer emulate POSIX semantics under
LinuxThreads

=item C<< $< >>, C<< $> >>, C<$(> and C<$)> are no longer cached

=item Which Non-ASCII characters get quoted by C<quotemeta> and C<\Q> has
changed

=back

=item Performance Enhancements

=item Modules and Pragmata

=over 4

=item Deprecated Modules

L<Version::Requirements>

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=item Removed Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Removed Errors

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=item Configuration and Compilation

=item Platform Support

=over 4

=item Platform-Specific Notes

=back

=item Internal Changes

=item Selected Bug Fixes

=over 4

=item Array and hash

=item C API fixes

=item Compile-time hints

=item Copy-on-write scalars

=item The debugger

=item Dereferencing operators

=item Filehandle, last-accessed

=item Filetests and C<stat>

=item Formats

=item C<given> and C<when>

=item The C<glob> operator

=item Lvalue subroutines

=item Overloading

=item Prototypes of built-in keywords

=item Regular expressions

=item Smartmatching

=item The C<sort> operator

=item The C<substr> operator

=item Support for embedded nulls

=item Threading bugs

=item Tied variables

=item Version objects and vstrings

=item Warnings, redefinition

=item Warnings, "Uninitialized"

=item Weak references

=item Other notable fixes

=back

=item Known Problems

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5144delta - what is new for perl v5.14.4

=over 4

=item DESCRIPTION

=item Core Enhancements

=item Security

=over 4

=item CVE-2013-1667: memory exhaustion with arbitrary hash keys

=item memory leak in Encode

=item [perl #111594] Socket::unpack_sockaddr_un heap-buffer-overflow

=item [perl #111586] SDBM_File: fix off-by-one access to global ".dir"

=item off-by-two error in List::Util

=item [perl #115994] fix segv in regcomp.c:S_join_exact()

=item [perl #115992] PL_eval_start use-after-free

=item wrap-around with IO on long strings

=back

=item Incompatible Changes

=item Deprecations

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

Socket, SDBM_File, List::Util

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=item Utility Changes

=item Configuration and Compilation

=item Platform Support

=over 4

=item New Platforms

=item Discontinued Platforms

=item Platform-Specific Notes

VMS

=back

=item Selected Bug Fixes

=item Known Problems

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5143delta - what is new for perl v5.14.3

=over 4

=item DESCRIPTION

=item Core Enhancements

=item Security

=over 4

=item C<Digest> unsafe use of eval (CVE-2011-3597)

=item Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)

=back

=item Incompatible Changes

=item Deprecations

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Configuration and Compilation

=item Platform Support

=over 4

=item New Platforms

=item Discontinued Platforms

=item Platform-Specific Notes

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

=back

=item Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5142delta - what is new for perl v5.14.2

=over 4

=item DESCRIPTION

=item Core Enhancements

=item Security

=over 4

=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
(CVE-2011-2728)

=item C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)

=back

=item Incompatible Changes

=item Deprecations

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Platform Support

=over 4

=item New Platforms

=item Discontinued Platforms

=item 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

=back

=item Bug Fixes

=item Known Problems

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5141delta - what is new for perl v5.14.1

=over 4

=item DESCRIPTION

=item Core Enhancements

=item Security

=item Incompatible Changes

=item Deprecations

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragmata

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item New Diagnostics

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=item Configuration and Compilation

=item Testing

=item Platform Support

=over 4

=item New Platforms

=item Discontinued Platforms

=item Platform-Specific Notes

=back

=item Internal Changes

=item Bug Fixes

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5140delta - what is new for perl v5.14.0

=over 4

=item DESCRIPTION

=item Notice

=item Core Enhancements

=over 4

=item Unicode

=item Regular Expressions

=item Syntactical Enhancements

=item Exception Handling

=item Other Enhancements

C<-d:-foo>, C<-d:-foo=bar>

=item New C APIs

=back

=item Security

=over 4

=item User-defined regular expression properties

=back

=item Incompatible Changes

=over 4

=item Regular Expressions and String Escapes

=item Stashes and Package Variables

=item Changes to Syntax or to Perl Operators

=item Threads and Processes

=item Configuration

=back

=item Deprecations

=over 4

=item Omitting a space between a regular expression and subsequent word

=item C<\cI<X>>

=item C<"\b{"> and C<"\B{">

=item Perl 4-era .pl libraries

=item List assignment to C<$[>

=item Use of qw(...) as parentheses

=item C<\N{BELL}>

=item C<?PATTERN?>

=item Tie functions on scalars holding typeglobs

=item User-defined case-mapping

=item Deprecated modules

L<Devel::DProf>

=back

=item Performance Enhancements

=over 4

=item "Safe signals" optimisation

=item Optimisation of shift() and pop() calls without arguments

=item Optimisation of regexp engine string comparison work

=item Regular expression compilation speed-up

=item String appending is 100 times faster

=item Eliminate C<PL_*> accessor functions under ithreads

=item Freeing weak references

=item Lexical array and hash assignments

=item C<@_> uses less memory

=item Size optimisations to SV and HV structures

=item Memory consumption improvements to Exporter

=item Memory savings for weak references

=item C<%+> and C<%-> use less memory

=item Multiple small improvements to threads

=item Adjacent pairs of nextstate opcodes are now optimized away

=back

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated Modules and Pragma

much less configuration dialog hassle, support for F<META/MYMETA.json>,
support for L<local::lib>, support for L<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
L<bzip2(1)>, allow F<Foo/Bar.pm> on the command line to mean C<Foo::Bar>,
charinfo(), charscript(), charblock()

=item Removed Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Diagnostics

=over 4

=item 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

=item Changes to Existing Diagnostics

=back

=item Utility Changes

=item Configuration and Compilation

=item Platform Support

=over 4

=item New Platforms

AIX

=item Discontinued Platforms

Apollo DomainOS, MacOS Classic

=item Platform-Specific Notes

=back

=item Internal Changes

=over 4

=item New APIs

=item C API Changes

=item Deprecated C APIs

C<Perl_ptr_table_clear>, C<sv_compile_2op>, C<find_rundefsvoffset>,
C<CALL_FPTR> and C<CPERLscope>

=item Other Internal Changes

=back

=item Selected Bug Fixes

=over 4

=item I/O

=item Regular Expression Bug Fixes

=item Syntax/Parsing Bugs

=item 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 (C<undef *Foo::>), Undefining an ISA glob (C<undef *Foo::ISA>),
Deleting an ISA stash element (C<delete $Foo::{ISA}>), Sharing @ISA arrays
between classes (via C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>)
[perl #77238]

=item Unicode

=item Ties, Overloading and Other Magic

=item The Debugger

=item Threads

=item Scoping and Subroutines

=item Signals

=item Miscellaneous Memory Leaks

=item Memory Corruption and Crashes

=item Fixes to Various Perl Operators

=item Bugs Relating to the C API

=back

=item Known Problems

=item Errata

=over 4

=item keys(), values(), and each() work on arrays

=item split() and C<@_>

=back

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5125delta - what is new for perl v5.12.5

=over 4

=item DESCRIPTION

=item Security

=over 4

=item C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)

=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
(CVE-2011-2728)

=item Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)

=back

=item Incompatible Changes

=item Modules and Pragmata

=over 4

=item Updated Modules

=back

=item Changes to Existing Documentation

=over 4

=item L<perlebcdic>

=item L<perlunicode>

=item L<perluniprops>

=back

=item Installation and Configuration Improvements

=over 4

=item Platform Specific Changes

Mac OS X, NetBSD

=back

=item Selected Bug Fixes

=item Errata

=over 4

=item split() and C<@_>

=back

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5124delta - what is new for perl v5.12.4

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Selected Bug Fixes

=item Modules and Pragmata

=item Testing

=item Documentation

=item Platform Specific Notes

Linux

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5123delta - what is new for perl v5.12.3

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=over 4

=item C<keys>, C<values> work on arrays

=back

=item Bug Fixes

=item Platform Specific Notes

Solaris, VMS, VOS

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5122delta - what is new for perl v5.12.2

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Pragmata Changes

=item Updated Modules

C<Carp>, C<CPANPLUS>, C<File::Glob>, C<File::Copy>, C<File::Spec>

=back

=item Utility Changes

=item Changes to Existing Documentation

=item Installation and Configuration Improvements

=over 4

=item Configuration improvements

=item Compilation improvements

=back

=item Selected Bug Fixes

=item Platform Specific Notes

=over 4

=item AIX

=item Windows

=item VMS

=back

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5121delta - what is new for perl v5.12.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=item Modules and Pragmata

=over 4

=item Pragmata Changes

=item Updated Modules

=back

=item Changes to Existing Documentation

=item Testing

=over 4

=item Testing Improvements

=back

=item Installation and Configuration Improvements

=over 4

=item Configuration improvements

=back

=item Bug Fixes

=item Platform Specific Notes

=over 4

=item HP-UX

=item AIX

=item FreeBSD 7

=item VMS

=back

=item Known Problems

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5120delta - what is new for perl v5.12.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item New C<package NAME VERSION> syntax

=item The C<...> operator

=item Implicit strictures

=item Unicode improvements

=item Y2038 compliance

=item qr overloading

=item Pluggable keywords

=item APIs for more internals

=item Overridable function lookup

=item A proper interface for pluggable Method Resolution Orders

=item C<\N> experimental regex escape

=item DTrace support

=item Support for C<configure_requires> in CPAN module metadata

=item C<each>, C<keys>, C<values> are now more flexible

=item C<when> as a statement modifier

=item C<$,> flexibility

=item // in when clauses

=item Enabling warnings from your shell environment

=item C<delete local>

=item New support for Abstract namespace sockets

=item 32-bit limit on substr arguments removed

=back

=item Potentially Incompatible Changes

=over 4

=item Deprecations warn by default

=item Version number formats

=item @INC reorganization

=item REGEXPs are now first class

=item Switch statement changes

flip-flop operators, defined-or operator

=item Smart match changes

=item Other potentially incompatible changes

=back

=item Deprecations

suidperl, Use of C<:=> to mean an empty attribute list, C<<
UNIVERSAL->import() >>, Use of "goto" to jump into a construct, Custom
character names in \N{name} that don't look like names, Deprecated Modules,
L<Class::ISA>, L<Pod::Plainer>, L<Shell>, L<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

=item Unicode overhaul

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

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

=item Updated Pragmata

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

=item Updated Modules

C<Archive::Extract>, C<Archive::Tar>, C<Attribute::Handlers>,
C<AutoLoader>, C<B::Concise>, C<B::Debug>, C<B::Deparse>, C<B::Lint>,
C<CGI>, C<Class::ISA>, C<Compress::Raw::Zlib>, C<CPAN>, C<CPANPLUS>,
C<CPANPLUS::Dist::Build>, C<Data::Dumper>, C<DB_File>, C<Devel::PPPort>,
C<Digest>, C<Digest::MD5>, C<Digest::SHA>, C<Encode>, C<Exporter>,
C<ExtUtils::CBuilder>, C<ExtUtils::Command>, C<ExtUtils::Constant>,
C<ExtUtils::Install>, C<ExtUtils::MakeMaker>, C<ExtUtils::Manifest>,
C<ExtUtils::ParseXS>, C<File::Fetch>, C<File::Path>, C<File::Temp>,
C<Filter::Simple>, C<Filter::Util::Call>, C<Getopt::Long>, C<IO>,
C<IO::Zlib>, C<IPC::Cmd>, C<IPC::SysV>, C<Locale::Maketext>,
C<Locale::Maketext::Simple>, C<Log::Message>, C<Log::Message::Simple>,
C<Math::BigInt>, C<Math::BigInt::FastCalc>, C<Math::BigRat>,
C<Math::Complex>, C<Memoize>, C<MIME::Base64>, C<Module::Build>,
C<Module::CoreList>, C<Module::Load>, C<Module::Load::Conditional>,
C<Module::Loaded>, C<Module::Pluggable>, C<Net::Ping>, C<NEXT>,
C<Object::Accessor>, C<Package::Constants>, C<PerlIO>, C<Pod::Parser>,
C<Pod::Perldoc>, C<Pod::Plainer>, C<Pod::Simple>, C<Safe>, C<SelfLoader>,
C<Storable>, C<Switch>, C<Sys::Syslog>, C<Term::ANSIColor>, C<Term::UI>,
C<Test>, C<Test::Harness>, C<Test::Simple>, C<Text::Balanced>,
C<Text::ParseWords>, C<Text::Soundex>, C<Thread::Queue>,
C<Thread::Semaphore>, C<Tie::RefHash>, C<Time::HiRes>, C<Time::Local>,
C<Time::Piece>, C<Unicode::Collate>, C<Unicode::Normalize>, C<Win32>,
C<Win32API::File>, C<XSLoader>

=item Removed Modules and Pragmata

C<attrs>, C<CPAN::API::HOWTO>, C<CPAN::DeferedCode>, C<CPANPLUS::inc>,
C<DCLsym>, C<ExtUtils::MakeMaker::bytes>, C<ExtUtils::MakeMaker::vmsish>,
C<Stdio>, C<Test::Harness::Assert>, C<Test::Harness::Iterator>,
C<Test::Harness::Point>, C<Test::Harness::Results>,
C<Test::Harness::Straps>, C<Test::Harness::Util>, C<XSSymSet>

=item Deprecated Modules and Pragmata

=back

=item Documentation

=over 4

=item New Documentation

=item Changes to Existing Documentation

=back

=item Selected Performance Enhancements

=item Installation and Configuration Improvements

=item Internal Changes

=item Testing

=over 4

=item Testing improvements

Parallel tests, Test harness flexibility, Test watchdog

=item New Tests

=back

=item New or Changed Diagnostics

=over 4

=item New Diagnostics

=item Changed Diagnostics

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

=back

=item Utility Changes

=item Selected Bug Fixes

=item Platform Specific Changes

=over 4

=item New Platforms

Haiku, MirOS BSD

=item Discontinued Platforms

Domain/OS, MiNT, Tenon MachTen

=item Updated Platforms

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

=back

=item Known Problems

=item Errata

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5101delta - what is new for perl v5.10.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=over 4

=item Switch statement changes

flip-flop operators, defined-or operator

=item Smart match changes

=item Other incompatible changes

=back

=item Core Enhancements

=over 4

=item Unicode Character Database 5.1.0

=item A proper interface for pluggable Method Resolution Orders

=item The C<overloading> pragma

=item Parallel tests

=item DTrace support

=item Support for C<configure_requires> in CPAN module metadata

=back

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

C<autodie>, C<Compress::Raw::Bzip2>, C<parent>, C<Parse::CPAN::Meta>

=item Pragmata Changes

C<attributes>, C<attrs>, C<base>, C<bigint>, C<bignum>, C<bigrat>,
C<charnames>, C<constant>, C<feature>, C<fields>, C<lib>, C<open>,
C<overload>, C<overloading>, C<version>

=item Updated Modules

C<Archive::Extract>, C<Archive::Tar>, C<Attribute::Handlers>,
C<AutoLoader>, C<AutoSplit>, C<B>, C<B::Debug>, C<B::Deparse>, C<B::Lint>,
C<B::Xref>, C<Benchmark>, C<Carp>, C<CGI>, C<Compress::Zlib>, C<CPAN>,
C<CPANPLUS>, C<CPANPLUS::Dist::Build>, C<Cwd>, C<Data::Dumper>, C<DB>,
C<DB_File>, C<Devel::PPPort>, C<Digest::MD5>, C<Digest::SHA>, C<DirHandle>,
C<Dumpvalue>, C<DynaLoader>, C<Encode>, C<Errno>, C<Exporter>,
C<ExtUtils::CBuilder>, C<ExtUtils::Command>, C<ExtUtils::Constant>,
C<ExtUtils::Embed>, C<ExtUtils::Install>, C<ExtUtils::MakeMaker>,
C<ExtUtils::Manifest>, C<ExtUtils::ParseXS>, C<Fatal>, C<File::Basename>,
C<File::Compare>, C<File::Copy>, C<File::Fetch>, C<File::Find>,
C<File::Path>, C<File::Spec>, C<File::stat>, C<File::Temp>, C<FileCache>,
C<FileHandle>, C<Filter::Simple>, C<Filter::Util::Call>, C<FindBin>,
C<GDBM_File>, C<Getopt::Long>, C<Hash::Util::FieldHash>, C<I18N::Collate>,
C<IO>, C<IO::Compress::*>, C<IO::Dir>, C<IO::Handle>, C<IO::Socket>,
C<IO::Zlib>, C<IPC::Cmd>, C<IPC::Open3>, C<IPC::SysV>, C<lib>,
C<List::Util>, C<Locale::MakeText>, C<Log::Message>, C<Math::BigFloat>,
C<Math::BigInt>, C<Math::BigInt::FastCalc>, C<Math::BigRat>,
C<Math::Complex>, C<Math::Trig>, C<Memoize>, C<Module::Build>,
C<Module::CoreList>, C<Module::Load>, C<Module::Load::Conditional>,
C<Module::Loaded>, C<Module::Pluggable>, C<NDBM_File>, C<Net::Ping>,
C<NEXT>, C<Object::Accessor>, C<OS2::REXX>, C<Package::Constants>,
C<PerlIO>, C<PerlIO::via>, C<Pod::Man>, C<Pod::Parser>, C<Pod::Simple>,
C<Pod::Text>, C<POSIX>, C<Safe>, C<Scalar::Util>, C<SelectSaver>,
C<SelfLoader>, C<Socket>, C<Storable>, C<Switch>, C<Symbol>,
C<Sys::Syslog>, C<Term::ANSIColor>, C<Term::ReadLine>, C<Term::UI>,
C<Test::Harness>, C<Test::Simple>, C<Text::ParseWords>, C<Text::Tabs>,
C<Text::Wrap>, C<Thread::Queue>, C<Thread::Semaphore>, C<threads>,
C<threads::shared>, C<Tie::RefHash>, C<Tie::StdHandle>, C<Time::HiRes>,
C<Time::Local>, C<Time::Piece>, C<Unicode::Normalize>, C<Unicode::UCD>,
C<UNIVERSAL>, C<Win32>, C<Win32API::File>, C<XSLoader>

=back

=item Utility Changes

F<h2ph>, F<h2xs>, F<perl5db.pl>, F<perlthanks>

=item New Documentation

L<perlhaiku>, L<perlmroapi>, L<perlperf>, L<perlrepository>, L<perlthanks>

=item Changes to Existing Documentation

=item Performance Enhancements

=item Installation and Configuration Improvements

=over 4

=item F<ext/> reorganisation

=item Configuration improvements

=item Compilation improvements

=item Platform Specific Changes

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

=back

=item Selected Bug Fixes

=item New or Changed Diagnostics

C<panic: sv_chop %s>, C<Can't locate package %s for the parents of %s>,
C<v-string in use/require is non-portable>, C<Deep recursion on subroutine
"%s">

=item Changed Internals

C<SVf_UTF8>, C<SVs_TEMP>

=item 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

=item Known Problems

=item Deprecations

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl5100delta - what is new for perl 5.10.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item The C<feature> pragma

=item New B<-E> command-line switch

=item Defined-or operator

=item Switch and Smart Match operator

=item Regular expressions

Recursive Patterns, Named Capture Buffers, Possessive Quantifiers,
Backtracking control verbs, Relative backreferences, C<\K> escape, Vertical
and horizontal whitespace, and linebreak, Optional pre-match and post-match
captures with the /p flag

=item C<say()>

=item Lexical C<$_>

=item The C<_> prototype

=item UNITCHECK blocks

=item New Pragma, C<mro>

=item readdir() may return a "short filename" on Windows

=item readpipe() is now overridable

=item Default argument for readline()

=item state() variables

=item Stacked filetest operators

=item UNIVERSAL::DOES()

=item Formats

=item Byte-order modifiers for pack() and unpack()

=item C<no VERSION>

=item C<chdir>, C<chmod> and C<chown> on filehandles

=item OS groups

=item Recursive sort subs

=item Exceptions in constant folding

=item Source filters in @INC

=item New internal variables

C<${^RE_DEBUG_FLAGS}>, C<${^CHILD_ERROR_NATIVE}>, C<${^RE_TRIE_MAXBUF}>,
C<${^WIN32_SLOPPY_STAT}>

=item Miscellaneous

=item UCD 5.0.0

=item MAD

=item kill() on Windows

=back

=item Incompatible Changes

=over 4

=item Packing and UTF-8 strings

=item Byte/character count feature in unpack()

=item The C<$*> and C<$#> variables have been removed

=item substr() lvalues are no longer fixed-length

=item Parsing of C<-f _>

=item C<:unique>

=item Effect of pragmas in eval

=item chdir FOO

=item Handling of .pmc files

=item $^V is now a C<version> object instead of a v-string

=item @- and @+ in patterns

=item $AUTOLOAD can now be tainted

=item Tainting and printf

=item undef and signal handlers

=item strictures and dereferencing in defined()

=item C<(?p{})> has been removed

=item Pseudo-hashes have been removed

=item Removal of the bytecode compiler and of perlcc

=item Removal of the JPL

=item Recursive inheritance detected earlier

=item warnings::enabled and warnings::warnif changed to favor users of
modules

=item Removal of C<package;> (C<package> without arguments)

=back

=item Modules and Pragmata

=over 4

=item Upgrading individual core modules

=item Pragmata Changes

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

=item New modules

=item Selected Changes to Core Modules

C<Attribute::Handlers>, C<B::Lint>, C<B>, C<Thread>

=back

=item Utility Changes

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

=item New Documentation

=item Performance Enhancements

=over 4

=item In-place sorting

=item Lexical array access

=item XS-assisted SWASHGET

=item Constant subroutines

=item C<PERL_DONT_CREATE_GVSV>

=item Weak references are cheaper

=item sort() enhancements

=item Memory optimisations

=item UTF-8 cache optimisation

=item Sloppy stat on Windows

=item Regular expressions optimisations

Engine de-recursivised, Single char char-classes treated as literals, Trie
optimisation of literal string alternations, Aho-Corasick start-point
optimisation

=back

=item Installation and Configuration Improvements

=over 4

=item Configuration improvements

C<-Dusesitecustomize>, Relocatable installations, strlcat() and strlcpy(),
C<d_pseudofork> and C<d_printf_format_null>, Configure help

=item 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

=item Installation improvements

Module auxiliary files

=item New Or Improved Platforms

=back

=item Selected Bug Fixes

strictures in regexp-eval blocks, Calling CORE::require(), Subscripts of
slices, C<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,
C<-t> switch fix, Duping UTF-8 filehandles, Localisation of hash elements

=item 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

=item Changed Internals

=over 4

=item Reordering of SVt_* constants

=item Elimination of SVt_PVBM

=item New type SVt_BIND

=item Removal of CPP symbols

=item Less space is used by ops

=item New parser

=item Use of C<const>

=item Mathoms

=item C<AvFLAGS> has been removed

=item C<av_*> changes

=item $^H and %^H

=item B:: modules inheritance changed

=item Anonymous hash and array constructors

=back

=item Known Problems

=over 4

=item UTF-8 problems

=back

=item Platform Specific Problems

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl589delta - what is new for perl v5.8.9

=over 4

=item DESCRIPTION

=item Notice

=item Incompatible Changes

=item Core Enhancements

=over 4

=item Unicode Character Database 5.1.0

=item stat and -X on directory handles

=item Source filters in @INC

=item Exceptions in constant folding

=item C<no VERSION>

=item Improved internal UTF-8 caching code

=item Runtime relocatable installations

=item New internal variables

C<${^CHILD_ERROR_NATIVE}>, C<${^UTF8CACHE}>

=item C<readpipe> is now overridable

=item simple exception handling macros

=item -D option enhancements 

=item XS-assisted SWASHGET

=item Constant subroutines

=back

=item New Platforms

=item Modules and Pragmata

=over 4

=item New Modules

=item Updated Modules

=back

=item Utility Changes

=over 4

=item debugger upgraded to version 1.31

=item F<perlthanks>

=item F<perlbug>

=item F<h2xs>

=item F<h2ph>

=back

=item New Documentation

=item Changes to Existing Documentation

=item Performance Enhancements

=item Installation and Configuration Improvements

=over 4

=item Relocatable installations

=item Configuration improvements

=item Compilation improvements

=item Installation improvements

=item Platform Specific Changes

=back

=item Selected Bug Fixes

=over 4

=item Unicode

=item PerlIO

=item Magic

=item Reblessing overloaded objects now works

=item C<strict> now propagates correctly into string evals

=item Other fixes

=item Platform Specific Fixes

=item Smaller fixes

=back

=item New or Changed Diagnostics

=over 4

=item panic: sv_chop %s

=item Maximal count of pending signals (%s) exceeded

=item panic: attempt to call %s in %s

=item FETCHSIZE returned a negative value

=item Can't upgrade %s (%d) to %d

=item %s argument is not a HASH or ARRAY element or a subroutine

=item Cannot make the non-overridable builtin %s fatal

=item Unrecognized character '%s' in column %d

=item Offset outside string

=item Invalid escape in the specified encoding in regexp; marked by <--
HERE in m/%s/

=item Your machine doesn't support dump/undump

=back

=item Changed Internals

=over 4

=item Macro cleanups

=back

=item 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

=item Known Problems

=item Platform Specific Notes

=over 4

=item Win32

=item OS/2

=item VMS

=back

=item Obituary

=item Acknowledgements

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl588delta - what is new for perl v5.8.8

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=item Modules and Pragmata

=item Utility Changes

=over 4

=item C<h2xs> enhancements

=item C<perlivp> enhancements

=back

=item New Documentation

=item Performance Enhancements

=item Installation and Configuration Improvements

=item Selected Bug Fixes

=over 4

=item no warnings 'category' works correctly with -w

=item Remove over-optimisation

=item sprintf() fixes

=item Debugger and Unicode slowdown

=item Smaller fixes

=back

=item New or Changed Diagnostics

=over 4

=item Attempt to set length of freed array

=item Non-string passed as bitmask

=item Search pattern not terminated or ternary operator parsed as search
pattern

=back

=item Changed Internals

=item Platform Specific Problems

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl587delta - what is new for perl v5.8.7

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=over 4

=item Unicode Character Database 4.1.0

=item suidperl less insecure

=item Optional site customization script

=item C<Config.pm> is now much smaller

=back

=item Modules and Pragmata

=item Utility Changes

=over 4

=item find2perl enhancements

=back

=item Performance Enhancements

=item Installation and Configuration Improvements

=item Selected Bug Fixes

=item New or Changed Diagnostics

=item Changed Internals

=item Known Problems

=item Platform Specific Problems

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl586delta - what is new for perl v5.8.6

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=item Modules and Pragmata

=item Utility Changes

=item Performance Enhancements

=item Selected Bug Fixes

=item New or Changed Diagnostics

=item Changed Internals

=item New Tests

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl585delta - what is new for perl v5.8.5

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=item Modules and Pragmata

=item Utility Changes

=over 4

=item Perl's debugger

=item h2ph

=back

=item Installation and Configuration Improvements

=item Selected Bug Fixes

=item New or Changed Diagnostics

=item Changed Internals

=item Known Problems

=item Platform Specific Problems

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl584delta - what is new for perl v5.8.4

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=over 4

=item Malloc wrapping

=item Unicode Character Database 4.0.1

=item suidperl less insecure

=item format

=back

=item Modules and Pragmata

=over 4

=item 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

=back

=item Performance Enhancements

=item Utility Changes

=item Installation and Configuration Improvements

=item Selected Bug Fixes

=item New or Changed Diagnostics

=item Changed Internals

=item Future Directions

=item Platform Specific Problems

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl583delta - what is new for perl v5.8.3

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=item 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

=item Utility Changes

=item New Documentation

=item Installation and Configuration Improvements

=item Selected Bug Fixes

=item New or Changed Diagnostics

=item Changed Internals

=item Configuration and Building

=item Platform Specific Problems

=item Known Problems

=item Future Directions

=item Obituary

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl582delta - what is new for perl v5.8.2

=over 4

=item DESCRIPTION

=item Incompatible Changes

=item Core Enhancements

=over 4

=item Hash Randomisation

=item Threading

=back

=item Modules and Pragmata

=over 4

=item 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

=back

=item Selected Bug Fixes

=item Changed Internals

=item Platform Specific Problems

=item Future Directions

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl581delta - what is new for perl v5.8.1

=over 4

=item DESCRIPTION

=item Incompatible Changes

=over 4

=item Hash Randomisation

=item UTF-8 On Filehandles No Longer Activated By Locale

=item Single-number v-strings are no longer v-strings before "=>"

=item (Win32) The -C Switch Has Been Repurposed

=item (Win32) The /d Switch Of cmd.exe

=back

=item Core Enhancements

=over 4

=item UTF-8 no longer default under UTF-8 locales

=item Unsafe signals again available

=item Tied Arrays with Negative Array Indices

=item local ${$x}

=item Unicode Character Database 4.0.0

=item Deprecation Warnings

=item Miscellaneous Enhancements

=back

=item Modules and Pragmata

=over 4

=item 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

=back

=item Utility Changes

=item New Documentation

=item Installation and Configuration Improvements

=over 4

=item Platform-specific enhancements

=back

=item Selected Bug Fixes

=over 4

=item Closures, eval and lexicals

=item Generic fixes

=item Platform-specific fixes

=back

=item New or Changed Diagnostics

=over 4

=item Changed "A thread exited while %d threads were running"

=item Removed "Attempt to clear a restricted hash"

=item New "Illegal declaration of anonymous subroutine"

=item Changed "Invalid range "%s" in transliteration operator"

=item New "Missing control char name in \c"

=item New "Newline in left-justified string for %s"

=item New "Possible precedence problem on bitwise %c operator"

=item New "Pseudo-hashes are deprecated"

=item New "read() on %s filehandle %s"

=item New "5.005 threads are deprecated"

=item New "Tied variable freed while still in use"

=item New "To%s: illegal mapping '%s'"

=item New "Use of freed value in iteration"

=back

=item Changed Internals

=item New Tests

=item Known Problems

=over 4

=item Tied hashes in scalar context

=item Net::Ping 450_service and 510_ping_udp failures

=item B::C

=back

=item Platform Specific Problems

=over 4

=item EBCDIC Platforms

=item Cygwin 1.5 problems

=item HP-UX: HP cc warnings about sendfile and sendpath

=item IRIX: t/uni/tr_7jis.t falsely failing

=item Mac OS X: no usemymalloc

=item Tru64: No threaded builds with GNU cc (gcc)

=item Win32: sysopen, sysread, syswrite

=back

=item Future Directions

=item Reporting Bugs

=item SEE ALSO

=back

=head2 perl58delta - what is new for perl v5.8.0

=over 4

=item DESCRIPTION

=item Highlights In 5.8.0

=item Incompatible Changes

=over 4

=item Binary Incompatibility

=item 64-bit platforms and malloc

=item AIX Dynaloading

=item Attributes for C<my> variables now handled at run-time

=item Socket Extension Dynamic in VMS

=item IEEE-format Floating Point Default on OpenVMS Alpha

=item New Unicode Semantics (no more C<use utf8>, almost)

=item New Unicode Properties

=item REF(...) Instead Of SCALAR(...)

=item pack/unpack D/F recycled

=item glob() now returns filenames in alphabetical order

=item Deprecations

=back

=item Core Enhancements

=over 4

=item Unicode Overhaul

=item PerlIO is Now The Default

=item ithreads

=item Restricted Hashes

=item Safe Signals

=item Understanding of Numbers

=item Arrays now always interpolate into double-quoted strings [561]

=item Miscellaneous Changes

=back

=item Modules and Pragmata

=over 4

=item New Modules and Pragmata

=item Updated And Improved Modules and Pragmata

=back

=item Utility Changes

=item New Documentation

=item Performance Enhancements

=item Installation and Configuration Improvements

=over 4

=item Generic Improvements

=item New Or Improved Platforms

=back

=item Selected Bug Fixes

=over 4

=item Platform Specific Changes and Fixes

=back

=item New or Changed Diagnostics

=item Changed Internals

=item Security Vulnerability Closed [561]

=item New Tests

=item Known Problems

=over 4

=item The Compiler Suite Is Still Very Experimental

=item Localising Tied Arrays and Hashes Is Broken

=item Building Extensions Can Fail Because Of Largefiles

=item Modifying $_ Inside for(..)

=item mod_perl 1.26 Doesn't Build With Threaded Perl

=item lib/ftmp-security tests warn 'system possibly insecure'

=item libwww-perl (LWP) fails base/date #51

=item PDL failing some tests

=item Perl_get_sv

=item Self-tying Problems

=item ext/threads/t/libc

=item Failure of Thread (5.005-style) tests

=item Timing problems

=item Tied/Magical Array/Hash Elements Do Not Autovivify

=item Unicode in package/class and subroutine names does not work

=back

=item Platform Specific Problems

=over 4

=item AIX

=item Alpha systems with old gccs fail several tests

=item AmigaOS

=item BeOS

=item Cygwin "unable to remap"

=item Cygwin ndbm tests fail on FAT

=item DJGPP Failures

=item FreeBSD built with ithreads coredumps reading large directories

=item FreeBSD Failing locale Test 117 For ISO 8859-15 Locales

=item IRIX fails ext/List/Util/t/shuffle.t or Digest::MD5

=item HP-UX lib/posix Subtest 9 Fails When LP64-Configured

=item Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint

=item Linux With Sfio Fails op/misc Test 48

=item Mac OS X

=item Mac OS X dyld undefined symbols

=item OS/2 Test Failures

=item op/sprintf tests 91, 129, and 130

=item SCO

=item Solaris 2.5

=item Solaris x86 Fails Tests With -Duse64bitint

=item SUPER-UX (NEC SX)

=item Term::ReadKey not working on Win32

=item UNICOS/mk

=item UTS

=item VOS (Stratus)

=item VMS

=item Win32

=item XML::Parser not working

=item z/OS (OS/390)

=item Unicode Support on EBCDIC Still Spotty

=item Seen In Perl 5.7 But Gone Now

=back

=item Reporting Bugs

=item SEE ALSO

=item HISTORY

=back

=head2 perl561delta - what's new for perl v5.6.1

=over 4

=item DESCRIPTION

=item Summary of changes between 5.6.0 and 5.6.1

=over 4

=item Security Issues

=item Core bug fixes

C<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, C<no
Module;>, Tests

=item Core features

=item Configuration issues

=item Documentation

=item 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

=item Platform-specific improvements

NCR MP-RAS, NonStop-UX

=back

=item Core Enhancements

=over 4

=item Interpreter cloning, threads, and concurrency

=item Lexically scoped warning categories

=item Unicode and UTF-8 support

=item Support for interpolating named characters

=item "our" declarations

=item Support for strings represented as a vector of ordinals

=item Improved Perl version numbering system

=item New syntax for declaring subroutine attributes

=item File and directory handles can be autovivified

=item open() with more than two arguments

=item 64-bit support

=item Large file support

=item Long doubles

=item "more bits"

=item Enhanced support for sort() subroutines

=item C<sort $coderef @foo> allowed

=item File globbing implemented internally

=item Support for CHECK blocks

=item POSIX character class syntax [: :] supported

=item Better pseudo-random number generator

=item Improved C<qw//> operator

=item Better worst-case behavior of hashes

=item pack() format 'Z' supported

=item pack() format modifier '!' supported

=item pack() and unpack() support counted strings

=item Comments in pack() templates

=item Weak references

=item Binary numbers supported

=item Lvalue subroutines

=item Some arrows may be omitted in calls through references

=item Boolean assignment operators are legal lvalues

=item exists() is supported on subroutine names

=item exists() and delete() are supported on array elements

=item Pseudo-hashes work better

=item Automatic flushing of output buffers

=item Better diagnostics on meaningless filehandle operations

=item Where possible, buffered data discarded from duped input filehandle

=item eof() has the same old magic as <>

=item binmode() can be used to set :crlf and :raw modes

=item C<-T> filetest recognizes UTF-8 encoded files as "text"

=item system(), backticks and pipe open now reflect exec() failure

=item Improved diagnostics

=item Diagnostics follow STDERR

=item More consistent close-on-exec behavior

=item syswrite() ease-of-use

=item Better syntax checks on parenthesized unary operators

=item Bit operators support full native integer width

=item Improved security features

=item More functional bareword prototype (*)

=item C<require> and C<do> may be overridden

=item $^X variables may now have names longer than one character

=item New variable $^C reflects C<-c> switch

=item New variable $^V contains Perl version as a string

=item Optional Y2K warnings

=item Arrays now always interpolate into double-quoted strings

=item @- and @+ provide starting/ending offsets of regex submatches

=back

=item Modules and Pragmata

=over 4

=item 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

=item Pragmata

=back

=item Utility Changes

=over 4

=item dprofpp

=item find2perl

=item h2xs

=item perlcc

=item perldoc

=item The Perl Debugger

=back

=item 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

=item Performance enhancements

=over 4

=item Simple sort() using { $a <=> $b } and the like are optimized

=item Optimized assignments to lexical variables

=item Faster subroutine calls

=item delete(), each(), values() and hash iteration are faster

=back

=item Installation and Configuration Improvements

=over 4

=item -Dusethreads means something different

=item New Configure flags

=item Threadedness and 64-bitness now more daring

=item Long Doubles

=item -Dusemorebits

=item -Duselargefiles

=item installusrbinperl

=item SOCKS support

=item C<-A> flag

=item Enhanced Installation Directories

=item gcc automatically tried if 'cc' does not seem to be working

=back

=item Platform specific changes

=over 4

=item Supported platforms

=item DOS

=item OS390 (OpenEdition MVS)

=item VMS

=item Win32

=back

=item Significant bug fixes

=over 4

=item <HANDLE> on empty files

=item C<eval '...'> improvements

=item All compilation errors are true errors

=item Implicitly closed filehandles are safer

=item Behavior of list slices is more consistent

=item C<(\$)> prototype and C<$foo{a}>

=item C<goto &sub> and AUTOLOAD

=item C<-bareword> allowed under C<use integer>

=item Failures in DESTROY()

=item Locale bugs fixed

=item Memory leaks

=item Spurious subroutine stubs after failed subroutine calls

=item Taint failures under C<-U>

=item END blocks and the C<-c> switch

=item Potential to leak DATA filehandles

=back

=item 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

=item New tests

=item Incompatible Changes

=over 4

=item 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
C<1.2.3> parse differently, Possibly changed pseudo-random number
generator, Hashing function for hash keys has changed, C<undef> fails on
read only values, Close-on-exec bit may be set on pipe and socket handles,
Writing C<"$$1"> to mean C<"${$}1"> is unsupported, delete(), each(),
values() and C<\(%h)>, vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
Text of some diagnostic output has changed, C<%@> has been removed,
Parenthesized not() behaves like a list operator, Semantics of bareword
prototype C<(*)> have changed, Semantics of bit operators may have changed
on 64-bit platforms, More builtins taint their results

=item C Source Incompatibilities

C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>

=item Compatible C Source API Changes

C<PATCHLEVEL> is now C<PERL_VERSION>

=item Binary Incompatibilities

=back

=item Known Problems

=over 4

=item Localizing a tied hash element may leak memory

=item Known test failures

=item EBCDIC platforms not fully supported

=item UNICOS/mk CC failures during Configure run

=item Arrow operator and arrays

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

=back

=item 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

=item Reporting Bugs

=item SEE ALSO

=item HISTORY

=back

=head2 perl56delta - what's new for perl v5.6.0

=over 4

=item DESCRIPTION

=item Core Enhancements

=over 4

=item Interpreter cloning, threads, and concurrency

=item Lexically scoped warning categories

=item Unicode and UTF-8 support

=item Support for interpolating named characters

=item "our" declarations

=item Support for strings represented as a vector of ordinals

=item Improved Perl version numbering system

=item New syntax for declaring subroutine attributes

=item File and directory handles can be autovivified

=item open() with more than two arguments

=item 64-bit support

=item Large file support

=item Long doubles

=item "more bits"

=item Enhanced support for sort() subroutines

=item C<sort $coderef @foo> allowed

=item File globbing implemented internally

=item Support for CHECK blocks

=item POSIX character class syntax [: :] supported

=item Better pseudo-random number generator

=item Improved C<qw//> operator

=item Better worst-case behavior of hashes

=item pack() format 'Z' supported

=item pack() format modifier '!' supported

=item pack() and unpack() support counted strings

=item Comments in pack() templates

=item Weak references

=item Binary numbers supported

=item Lvalue subroutines

=item Some arrows may be omitted in calls through references

=item Boolean assignment operators are legal lvalues

=item exists() is supported on subroutine names

=item exists() and delete() are supported on array elements

=item Pseudo-hashes work better

=item Automatic flushing of output buffers

=item Better diagnostics on meaningless filehandle operations

=item Where possible, buffered data discarded from duped input filehandle

=item eof() has the same old magic as <>

=item binmode() can be used to set :crlf and :raw modes

=item C<-T> filetest recognizes UTF-8 encoded files as "text"

=item system(), backticks and pipe open now reflect exec() failure

=item Improved diagnostics

=item Diagnostics follow STDERR

=item More consistent close-on-exec behavior

=item syswrite() ease-of-use

=item Better syntax checks on parenthesized unary operators

=item Bit operators support full native integer width

=item Improved security features

=item More functional bareword prototype (*)

=item C<require> and C<do> may be overridden

=item $^X variables may now have names longer than one character

=item New variable $^C reflects C<-c> switch

=item New variable $^V contains Perl version as a string

=item Optional Y2K warnings

=item Arrays now always interpolate into double-quoted strings

=item @- and @+ provide starting/ending offsets of regex matches

=back

=item Modules and Pragmata

=over 4

=item 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

=item Pragmata

=back

=item Utility Changes

=over 4

=item dprofpp

=item find2perl

=item h2xs

=item perlcc

=item perldoc

=item The Perl Debugger

=back

=item 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

=item Performance enhancements

=over 4

=item Simple sort() using { $a <=> $b } and the like are optimized

=item Optimized assignments to lexical variables

=item Faster subroutine calls

=item delete(), each(), values() and hash iteration are faster

=back

=item Installation and Configuration Improvements

=over 4

=item -Dusethreads means something different

=item New Configure flags

=item Threadedness and 64-bitness now more daring

=item Long Doubles

=item -Dusemorebits

=item -Duselargefiles

=item installusrbinperl

=item SOCKS support

=item C<-A> flag

=item Enhanced Installation Directories

=back

=item Platform specific changes

=over 4

=item Supported platforms

=item DOS

=item OS390 (OpenEdition MVS)

=item VMS

=item Win32

=back

=item Significant bug fixes

=over 4

=item <HANDLE> on empty files

=item C<eval '...'> improvements

=item All compilation errors are true errors

=item Implicitly closed filehandles are safer

=item Behavior of list slices is more consistent

=item C<(\$)> prototype and C<$foo{a}>

=item C<goto &sub> and AUTOLOAD

=item C<-bareword> allowed under C<use integer>

=item Failures in DESTROY()

=item Locale bugs fixed

=item Memory leaks

=item Spurious subroutine stubs after failed subroutine calls

=item Taint failures under C<-U>

=item END blocks and the C<-c> switch

=item Potential to leak DATA filehandles

=back

=item 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

=item New tests

=item Incompatible Changes

=over 4

=item 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
C<1.2.3> parse differently, Possibly changed pseudo-random number
generator, Hashing function for hash keys has changed, C<undef> fails on
read only values, Close-on-exec bit may be set on pipe and socket handles,
Writing C<"$$1"> to mean C<"${$}1"> is unsupported, delete(), each(),
values() and C<\(%h)>, vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS,
Text of some diagnostic output has changed, C<%@> has been removed,
Parenthesized not() behaves like a list operator, Semantics of bareword
prototype C<(*)> have changed, Semantics of bit operators may have changed
on 64-bit platforms, More builtins taint their results

=item C Source Incompatibilities

C<PERL_POLLUTE>, C<PERL_IMPLICIT_CONTEXT>, C<PERL_POLLUTE_MALLOC>

=item Compatible C Source API Changes

C<PATCHLEVEL> is now C<PERL_VERSION>

=item Binary Incompatibilities

=back

=item Known Problems

=over 4

=item Thread test failures

=item EBCDIC platforms not supported

=item In 64-bit HP-UX the lib/io_multihomed test may hang

=item NEXTSTEP 3.3 POSIX test failure

=item Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with
gcc

=item UNICOS/mk CC failures during Configure run

=item Arrow operator and arrays

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

=back

=item 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

=item Reporting Bugs

=item SEE ALSO

=item HISTORY

=back

=head2 perl5005delta - what's new for perl5.005

=over 4

=item DESCRIPTION

=item About the new versioning system

=item Incompatible Changes

=over 4

=item WARNING:	This version is not binary compatible with Perl 5.004

=item Default installation structure has changed

=item Perl Source Compatibility

=item C Source Compatibility

=item Binary Compatibility

=item Security fixes may affect compatibility

=item Relaxed new mandatory warnings introduced in 5.004

=item Licensing

=back

=item Core Changes

=over 4

=item Threads

=item Compiler

=item Regular Expressions

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

=item	Improved malloc()

=item Quicksort is internally implemented

=item Reliable signals

=item Reliable stack pointers

=item More generous treatment of carriage returns

=item Memory leaks

=item Better support for multiple interpreters

=item Behavior of local() on array and hash elements is now well-defined

=item C<%!> is transparently tied to the L<Errno> module

=item Pseudo-hashes are supported

=item C<EXPR foreach EXPR> is supported

=item Keywords can be globally overridden

=item C<$^E> is meaningful on Win32

=item C<foreach (1..1000000)> optimized

=item C<Foo::> can be used as implicitly quoted package name

=item C<exists $Foo::{Bar::}> tests existence of a package

=item Better locale support

=item Experimental support for 64-bit platforms

=item prototype() returns useful results on builtins

=item Extended support for exception handling

=item Re-blessing in DESTROY() supported for chaining DESTROY() methods

=item All C<printf> format conversions are handled internally

=item New C<INIT> keyword

=item New C<lock> keyword

=item New C<qr//> operator

=item C<our> is now a reserved word

=item Tied arrays are now fully supported

=item Tied handles support is better

=item 4th argument to substr

=item Negative LENGTH argument to splice

=item Magic lvalues are now more magical

=item <> now reads in records

=back

=item Supported Platforms

=over 4

=item New Platforms

=item Changes in existing support

=back

=item Modules and Pragmata

=over 4

=item 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

=item Changes in existing modules

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

=back

=item Utility Changes

=item Documentation Changes

=item 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

=item Obsolete Diagnostics

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

=item Configuration Changes

=item BUGS

=item SEE ALSO

=item HISTORY

=back

=head2 perl5004delta - what's new for perl5.004

=over 4

=item DESCRIPTION

=item Supported Environments

=item Core Changes

=over 4

=item List assignment to %ENV works

=item Change to "Can't locate Foo.pm in @INC" error

=item Compilation option: Binary compatibility with 5.003

=item $PERL5OPT environment variable

=item Limitations on B<-M>, B<-m>, and B<-T> options

=item More precise warnings

=item Deprecated: Inherited C<AUTOLOAD> for non-methods

=item Previously deprecated %OVERLOAD is no longer usable

=item Subroutine arguments created only when they're modified

=item Group vector changeable with C<$)>

=item Fixed parsing of $$<digit>, &$<digit>, etc.

=item Fixed localization of $<digit>, $&, etc.

=item No resetting of $. on implicit close

=item C<wantarray> may return undef

=item C<eval EXPR> determines value of EXPR in scalar context

=item 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

=item New Opcode module and revised Safe module

=item Embedding improvements

=item Internal change: FileHandle class based on IO::* classes

=item Internal change: PerlIO abstraction interface

=item New and changed syntax

$coderef->(PARAMS)

=item New and changed builtin constants

__PACKAGE__

=item New and changed builtin variables

$^E, $^H, $^M

=item 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, C<m//gc> does not
reset search position on failure, C<m//x> ignores whitespace before ?*+{},
nested C<sub{}> closures work now, formats work right on changing lexicals

=item New builtin methods

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

=item TIEHANDLE now supported

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

=item Malloc enhancements

-DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE

=item Miscellaneous efficiency enhancements

=back

=item Support for More Operating Systems

=over 4

=item Win32

=item Plan 9

=item QNX

=item AmigaOS

=back

=item Pragmata

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

=item Modules

=over 4

=item Required Updates

=item Installation directories

=item Module information summary

=item Fcntl

=item IO

=item Math::Complex

=item Math::Trig

=item DB_File

=item Net::Ping

=item Object-oriented overrides for builtin operators

=back

=item Utility Changes

=over 4

=item pod2html

Sends converted HTML to standard output

=item xsubpp

C<void> XSUBs now default to returning nothing

=back

=item C Language API Changes

C<gv_fetchmethod> and C<perl_call_sv>, C<perl_eval_pv>, Extended API for
manipulating hashes

=item Documentation Changes

L<perldelta>, L<perlfaq>, L<perllocale>, L<perltoot>, L<perlapio>,
L<perlmodlib>, L<perldebug>, L<perlsec>

=item 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 "B<-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

=item BUGS

=item SEE ALSO

=item HISTORY

=back

=head2 perlbook - Books about and related to Perl

=over 4

=item DESCRIPTION

=over 4

=item The most popular books

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

=item References

I<Perl 5 Pocket Reference>, I<Perl Debugger Pocket Reference>, I<Regular
Expression Pocket Reference>

=item Tutorials

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

=item Task-Oriented

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

=item Special Topics

I<Regular Expressions Cookbook>, I<Programming the Perl DBI>, I<Perl Best
Practices>, I<Higher-Order Perl>, I<Mastering Regular Expressions>,
I<Network Programming with Perl>, I<Perl Template Toolkit>, I<Object
Oriented Perl>, I<Data Munging with Perl>, I<Mastering Perl/Tk>,
I<Extending and Embedding Perl>, I<Pro Perl Debugging>

=item Free (as in beer) books

=item Other interesting, non-Perl books

I<Programming Pearls>, I<More Programming Pearls>

=item A note on freshness

=item Get your book listed

=back

=back

=head2 perlcommunity - a brief overview of the Perl community

=over 4

=item DESCRIPTION

=over 4

=item Where to Find the Community

=item Mailing Lists and Newsgroups

=item IRC

=item Websites

L<https://perl.com/>, L<https://blogs.perl.org/>,
L<https://perl.theplanetarium.org/>, L<https://perlweekly.com/>,
L<https://www.perlmonks.org/>, L<https://stackoverflow.com/>

=item User Groups

=item Workshops

=item Hackathons

=item Conventions

The Perl Conference, OSCON

=back

=item AUTHOR

=back

=head2 perldoc - Look up Perl documentation in Pod format.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OPTIONS

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

=item SECURITY

=item ENVIRONMENT

=item CHANGES

=item SEE ALSO

=item AUTHOR

=back

=head2 perlexperiment - A listing of experimental features in Perl

=over 4

=item DESCRIPTION

=over 4

=item Current experiments

Pluggable keywords, Aliasing via reference, use re 'strict';, Declaring a
reference to a variable, There is an C<installhtml> target in the Makefile,
(Limited) Variable-length look-behind, Unicode private use character hooks,
Unicode property wildcards, try/catch control structure, Use of C<@_>
within subroutine signatures, The builtin namespace, The defer block
modifier, Extra paired delimiters for quote-like operators, C<any> and
C<all> list processing operators

=item 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 C<\N> regex character class, C<(?{code})> and
C<(??{ code })>, Linux abstract Unix domain sockets, Lvalue subroutines,
Backtracking control verbs, The C<:pop> IO pseudolayer, C<\s> in regexp
matches vertical tab, Postfix dereference syntax, Lexical subroutines,
String- and number-specific bitwise operators, Alphabetic assertions,
Script runs, The infix C<isa> operator, Subroutine signatures, Regular
Expression Set Operations, try/catch control structure, The "const"
attribute, for loop with multiple iteration variables

=item 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, C<legacy>, Lexical C<$_>, Array and hash container
functions accept references, C<our> can have an experimental optional
attribute C<unique>, The C<:win32> IO pseudolayer

=item Features abandoned in place

Smart match (C<~~>), Switch (given/when)

=back

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT

=item LICENSE

=back

=head2 perlartistic - the Perl Artistic License

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item The "Artistic License"

=over 4

=item Preamble

=item Definitions

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

=item Conditions

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

=back

=back

=head2 perlgpl - the GNU General Public License, version 1

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item GNU GENERAL PUBLIC LICENSE

=back

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

=over 4

=item DESCRIPTION

=over 4

=item Compiling Perl 5 on AIX

=item Supported Compilers

=item Incompatibility with AIX Toolbox lib gdbm

=item Perl 5 was successfully compiled and tested on:

=item Building Dynamic Extensions on AIX

=item Using Large Files with Perl

=item Threaded Perl

=item 64-bit Perl

=item Long doubles

=item Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit)

=item Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit)

=item Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit)

=item Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)

=item Compiling Perl 5 on AIX 7.1.0

=item Compiling Perl 5 on older AIX versions up to 4.3.3

=item OS level

=item Building Dynamic Extensions on AIX E<lt> 5L

=item The IBM ANSI C Compiler

=item The usenm option

=item Using GNU's gcc for building Perl

=item Using Large Files with Perl E<lt> 5L

=item Threaded Perl E<lt> 5L

=item 64-bit Perl E<lt> 5L

=item AIX 4.2 and extensions using C++ with statics

=back

=item AUTHORS

=back

=head2 perlamiga - Perl under AmigaOS 4.1

=over 4

=item NOTE

=item SYNOPSIS

=back

=over 4

=item DESCRIPTION

=over 4

=item Prerequisites for running Perl 5.22.1 under AmigaOS 4.1

B<AmigaOS 4.1 update 6 with all updates applied as of 9th October 2013>,
B<newlib.library version 53.28 or greater>, B<AmigaOS SDK>, B<abc-shell>

=item Starting Perl programs under AmigaOS 4.1

=item Limitations of Perl under AmigaOS 4.1

B<Nested Piped programs can crash when run from older abc-shells>,
B<Incorrect or unexpected command line unescaping>, B<Starting subprocesses
via open has limitations>, If you find any other limitations or bugs then
let me know

=back

=item INSTALLATION

=item Amiga Specific Modules

=over 4

=item Amiga::ARexx

=item Amiga::Exec

=back

=item BUILDING

=item CHANGES

B<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, B<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, B<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, B<10th October 13>

=item SEE ALSO

=back

=head2 perlandroid - Perl under Android

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Cross-compilation

=over 4

=item Get the Android Native Development Kit (NDK)

=item Determine the architecture you'll be cross-compiling for

=item Set up a standalone toolchain

=item adb or ssh?

=item Configure and beyond

=back

=item Native Builds

=over 4

=item CCTools

=item Termux

=back

=item AUTHOR

=back

=head2 perlbs2000 - building and installing Perl for BS2000.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item gzip on BS2000

=item bison on BS2000

=item Unpacking Perl Distribution on BS2000

=item Compiling Perl on BS2000

=item Testing Perl on BS2000

=item Installing Perl on BS2000

=item Using Perl in the Posix-Shell of BS2000

=item Using Perl in "native" BS2000

=item Floating point anomalies on BS2000

=item Using PerlIO and different encodings on ASCII and EBCDIC partitions

=back

=item AUTHORS

=item SEE ALSO

=over 4

=item Mailing list

=back

=item HISTORY

=back

=head2 perlcygwin - Perl for Cygwin

=over 4

=item SYNOPSIS

=item PREREQUISITES FOR COMPILING PERL ON CYGWIN

=over 4

=item Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it)

=item Cygwin Configuration

C<PATH>, I<nroff>

=back

=item CONFIGURE PERL ON CYGWIN

=over 4

=item Stripping Perl Binaries on Cygwin

=item Optional Libraries for Perl on Cygwin

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

=item Configure-time Options for Perl on Cygwin

C<-Uusedl>, C<-Dusemymalloc>, C<-Uuseperlio>, C<-Dusemultiplicity>,
C<-Uuse64bitint>, C<-Duselongdouble>, C<-Uuseithreads>, C<-Duselargefiles>,
C<-Dmksymlinks>

=back

=item MAKE ON CYGWIN

=item TEST ON CYGWIN

=over 4

=item File Permissions on Cygwin

=item NDBM_File and ODBM_File do not work on FAT filesystems

=item C<fork()> failures in io_* tests

=back

=item Specific features of the Cygwin port

=over 4

=item Script Portability on Cygwin

Pathnames, Text/Binary, PerlIO, F<.exe>, Cygwin vs. Windows process ids,
Cygwin vs. Windows errors, rebase errors on fork or system, Miscellaneous

=item Prebuilt methods:

C<Cwd::cwd>, C<Cygwin::pid_to_winpid>, C<Cygwin::winpid_to_pid>,
C<Cygwin::win_to_posix_path>, C<Cygwin::posix_to_win_path>,
C<Cygwin::mount_table()>, C<Cygwin::mount_flags>, C<Cygwin::is_binmount>,
C<Cygwin::sync_winenv>

=back

=item INSTALL PERL ON CYGWIN

=item MANIFEST ON CYGWIN

Documentation, Build, Configure, Make, Install, Tests, Compiled Perl
Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests

=item BUGS ON CYGWIN

=item AUTHORS

=item HISTORY

=back

=head2 perlfreebsd - Perl version 5 on FreeBSD systems

=over 4

=item DESCRIPTION

=over 4

=item FreeBSD core dumps from readdir_r with ithreads

=item C<$^X> doesn't always contain a full path in FreeBSD

=back

=item AUTHOR

=back

=head2 perlhaiku - Perl version 5.10+ on Haiku

=over 4

=item DESCRIPTION

=item BUILD AND INSTALL

=item KNOWN PROBLEMS

=item CONTACT

=back

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

=over 4

=item DESCRIPTION

=over 4

=item Using perl as shipped with HP-UX

=item Using perl from HP's porting centre

=item Other prebuilt perl binaries

=item Compiling Perl 5 on HP-UX

=item PA-RISC

=item PA-RISC 1.0

=item PA-RISC 1.1

=item PA-RISC 2.0

=item Portability Between PA-RISC Versions

=item Itanium Processor Family (IPF) and HP-UX

=item Itanium, Itanium 2 & Madison 6

=item HP-UX versions

=item Building Dynamic Extensions on HP-UX

=item The HP ANSI C Compiler

=item The GNU C Compiler

=item Using Large Files with Perl on HP-UX

=item Threaded Perl on HP-UX

=item 64-bit Perl on HP-UX

=item Oracle on HP-UX

=item GDBM and Threads on HP-UX

=item NFS filesystems and utime(2) on HP-UX

=item HP-UX Kernel Parameters (maxdsiz) for Compiling Perl

=back

=item nss_delete core dump from op/pwent or op/grent

=item error: pasting ")" and "l" does not give a valid preprocessing token

=item Redeclaration of "sendpath" with a different storage class specifier

=item Miscellaneous

=item AUTHOR

=back

=head2 perlhurd - Perl version 5 on Hurd

=over 4

=item DESCRIPTION

=over 4

=item Known Problems with Perl on Hurd 

=back

=item AUTHOR

=back

=head2 perlirix - Perl version 5 on Irix systems

=over 4

=item DESCRIPTION

=over 4

=item Building 32-bit Perl in Irix

=item Building 64-bit Perl in Irix

=item About Compiler Versions of Irix

=item Linker Problems in Irix

=item Malloc in Irix

=item Building with threads in Irix

=item Irix 5.3

=back

=item AUTHOR

=back

=head2 perllinux - Perl version 5 on Linux systems

=over 4

=item DESCRIPTION

=over 4

=item Deploying Perl on Linux

=item Experimental Support for Sun Studio Compilers for Linux OS

=back

=item AUTHOR

=back

=head2 perlmacosx - Perl under Mac OS X

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Installation Prefix

=item SDK support

=item Universal Binary support

=item 64-bit PPC support

=item libperl and Prebinding

=item Updating Apple's Perl

=item Known problems

=item Cocoa

=back

=item Starting From Scratch

=item AUTHOR

=item DATE

=back

=head2 perlopenbsd - Perl version 5 on OpenBSD systems

=over 4

=item DESCRIPTION

=over 4

=item OpenBSD core dumps from getprotobyname_r and getservbyname_r with
ithreads

=back

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=back

=over 4

=item DESCRIPTION

=over 4

=item Target

=item Other OSes

=item Prerequisites

EMX, RSX, HPFS, pdksh

=item Starting Perl programs under OS/2 (and DOS and...)

=item Starting OS/2 (and DOS) programs under Perl

=back

=item Frequently asked questions

=over 4

=item "It does not work"

=item I cannot run external programs

=item I cannot embed perl into my program, or use F<perl.dll> from my
program. 

Is your program EMX-compiled with C<-Zmt -Zcrtdll>?, Did you use
L<ExtUtils::Embed>?

=item C<``> and pipe-C<open> do not work under DOS

=item Cannot start C<find.exe "pattern" file>

=back

=item INSTALLATION

=over 4

=item Automatic binary installation

C<PERL_BADLANG>, C<PERL_BADFREE>, F<Config.pm>

=item 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 F<.INF> format, Pdksh

=item B<Warning>

=back

=item Accessing documentation

=over 4

=item OS/2 F<.INF> file

=item Plain text

=item Manpages

=item HTML

=item GNU C<info> files

=item F<PDF> files

=item C<LaTeX> docs

=back

=item BUILD

=over 4

=item The short story

=item Prerequisites

=item Getting perl source

=item Application of the patches

=item Hand-editing

=item Making

=item Testing

A lot of C<bad free>, Process terminated by SIGTERM/SIGINT, F<op/fs.t>,
Z<>18, Z<>25, F<op/stat.t>

=item Installing the built perl

=item C<a.out>-style build

=back

=item Building a binary distribution

=item Building custom F<.EXE> files

=over 4

=item Making executables with a custom collection of statically loaded
extensions

=item Making executables with a custom search-paths

=back

=item Build FAQ

=over 4

=item Some C</> became C<\> in pdksh

=item C<'errno'> - unresolved external

=item Problems with tr or sed

=item Some problem (forget which ;-)

=item Library ... not found

=item Segfault in make

=item op/sprintf test failure

=back

=item Specific (mis)features of OS/2 port

=over 4

=item C<setpriority>, C<getpriority>

=item C<system()>

=item C<extproc> on the first line

=item Additional modules:

=item Prebuilt methods:

C<File::Copy::syscopy>, C<DynaLoader::mod2fname>,  C<Cwd::current_drive()>,
 C<Cwd::sys_chdir(name)>,  C<Cwd::change_drive(name)>, 
C<Cwd::sys_is_absolute(name)>,	C<Cwd::sys_is_rooted(name)>, 
C<Cwd::sys_is_relative(name)>,	C<Cwd::sys_cwd(name)>, 
C<Cwd::sys_abspath(name, dir)>,  C<Cwd::extLibpath([type])>, 
C<Cwd::extLibpath_set( path [, type ] )>,
C<OS2::Error(do_harderror,do_exception)>, C<OS2::Errors2Drive(drive)>,
OS2::SysInfo(), OS2::BootDrive(), C<OS2::MorphPM(serve)>,
C<OS2::UnMorphPM(serve)>, C<OS2::Serve_Messages(force)>,
C<OS2::Process_Messages(force [, cnt])>, C<OS2::_control87(new,mask)>,
OS2::get_control87(), C<OS2::set_control87_em(new=MCW_EM,mask=MCW_EM)>,
C<OS2::DLLname([how [, \&xsub]])>

=item Prebuilt variables:

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

=item Misfeatures

=item Modifications

C<popen>, C<tmpnam>, C<tmpfile>, C<ctermid>, C<stat>, C<mkdir>, C<rmdir>,
C<flock>

=item Identifying DLLs

=item Centralized management of resources

C<HAB>, C<HMQ>, Treating errors reported by OS/2 API,
C<CheckOSError(expr)>, C<CheckWinError(expr)>, C<SaveWinError(expr)>,
C<SaveCroakWinError(expr,die,name1,name2)>, C<WinError_2_Perl_rc>,
C<FillWinError>, C<FillOSError(rc)>, Loading DLLs and ordinals in DLLs

=back

=item Perl flavors

=over 4

=item F<perl.exe>

=item F<perl_.exe>

=item F<perl__.exe>

=item F<perl___.exe>

=item Why strange names?

=item Why dynamic linking?

=item Why chimera build?

=back

=item ENVIRONMENT

=over 4

=item C<PERLLIB_PREFIX>

=item C<PERL_BADLANG>

=item C<PERL_BADFREE>

=item C<PERL_SH_DIR>

=item C<USE_PERL_FLOCK>

=item C<TMP> or C<TEMP>

=back

=item Evolution

=over 4

=item Text-mode filehandles

=item Priorities

=item DLL name mangling: pre 5.6.2

=item DLL name mangling: 5.6.2 and beyond

Global DLLs, specific DLLs, C<BEGINLIBPATH> and C<ENDLIBPATH>, F<.> from
C<LIBPATH>

=item DLL forwarder generation

=item Threading

=item Calls to external programs

=item Memory allocation

=item Threads

C<COND_WAIT>, F<os2.c>

=back

=item BUGS

=back

=over 4

=item AUTHOR

=item SEE ALSO

=back

=head2 perlos390 - building and installing Perl for z/OS (previously called
OS/390)

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Tools

=item Building a 64-bit Dynamic ASCII Perl

=item Building a 64-bit Dynamic EBCDIC Perl

=item Setup and utilities for Perl on OS/390

=item Useful files for trouble-shooting

=item Build Anomalies with Perl on OS/390

=item Testing Anomalies with Perl on OS/390

=item Usage Hints for Perl on z/OS

=item Modules and Extensions for Perl on z/OS (Static Only)

=item Running Perl on z/OS

For ASCII Only:, For ASCII or EBCDIC:

=back

=item AUTHORS

=item OTHER SITES

=item HISTORY

=back

=head2 perlos400 - Perl version 5 on OS/400

=over 4

=item DESCRIPTION

=over 4

=item Compiling Perl for OS/400 PASE

=item Installing Perl in OS/400 PASE

=item Using Perl in OS/400 PASE

=item Known Problems

=item Perl on ILE

=back

=item AUTHORS

=back

=head2 perlplan9 - Plan 9-specific documentation for Perl

=over 4

=item DESCRIPTION

=over 4

=item Invoking Perl

=item What's in Plan 9 Perl

=item What's not in Plan 9 Perl

=item Perl5 Functions not currently supported in Plan 9 Perl

=item Signals in Plan 9 Perl

=back

=item COMPILING AND INSTALLING PERL ON PLAN 9

=over 4

=item Installing Perl Documentation on Plan 9

=back

=item BUGS

=item Revision date

=item AUTHOR

=back

=head2 perlqnx - Perl version 5 on QNX

=over 4

=item DESCRIPTION

=over 4

=item Required Software for Compiling Perl on QNX4

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

=item Outstanding Issues with Perl on QNX4

=item QNX auxiliary files

qnx/ar, qnx/cpp

=item Outstanding issues with perl under QNX6

=item Cross-compilation

=back

=item AUTHOR

=back

=head2 perlriscos - Perl version 5 for RISC OS

=over 4

=item DESCRIPTION

=item BUILD

=item AUTHOR

=back

=head2 perlsolaris - Perl version 5 on Solaris systems

=over 4

=item DESCRIPTION

=over 4

=item Solaris Version Numbers

=back

=item RESOURCES

Solaris FAQ, Precompiled Binaries, Solaris Documentation

=item SETTING UP

=over 4

=item File Extraction Problems on Solaris

=item Compiler and Related Tools on Solaris

=item Environment for Compiling perl on Solaris

=back

=item RUN CONFIGURE

=over 4

=item 64-bit perl on Solaris

=item Threads in perl on Solaris

=item Malloc Issues with perl on Solaris

=back

=item 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

=item MAKE TEST

=over 4

=item op/stat.t test 4 in Solaris

=item nss_delete core dump from op/pwent or op/grent

=back

=item CROSS-COMPILATION

=item PREBUILT BINARIES OF PERL FOR SOLARIS

=item RUNTIME ISSUES FOR PERL ON SOLARIS

=over 4

=item Limits on Numbers of Open Files on Solaris

=back

=item SOLARIS-SPECIFIC MODULES

=item SOLARIS-SPECIFIC PROBLEMS WITH MODULES

=over 4

=item Proc::ProcessTable on Solaris

=item BSD::Resource on Solaris

=item Net::SSLeay on Solaris

=back

=item SunOS 4.x

=item AUTHOR

=back

=head2 perlsynology - Perl 5 on Synology DSM systems

=over 4

=item DESCRIPTION

=over 4

=item Setting up the build environment

=item Compiling Perl 5

=item Known problems

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

=item Smoke testing Perl

=item Adding libraries

=back

=item REVISION

=item AUTHOR

=back

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

=over 4

=item DESCRIPTION

=over 4

=item Compiling Perl 5 on Tru64

=item Using Large Files with Perl on Tru64

=item Threaded Perl on Tru64

=item Long Doubles on Tru64

=item DB_File tests failing on Tru64

=item 64-bit Perl on Tru64

=item Warnings about floating-point overflow when compiling Perl on Tru64

=back

=item Testing Perl on Tru64

=item ext/ODBM_File/odbm Test Failing With Static Builds

=item Perl Fails Because Of Unresolved Symbol sockatmark

=item read_cur_obj_info: bad file magic number

=item AUTHOR

=back

=head2 perlvms - VMS-specific documentation for Perl

=over 4

=item DESCRIPTION

=item Installation

=item Organization of Perl Images

=over 4

=item Core Images

=item Perl Extensions

=item Installing static extensions

=item Installing dynamic extensions

=back

=item File specifications

=over 4

=item Syntax

=item Filename Case

=item Symbolic Links

=item Wildcard expansion

=item Pipes

=back

=item PERL5LIB and PERLLIB

=item The Perl Forked Debugger

=item PERL_VMS_EXCEPTION_DEBUG

=item Command line

=over 4

=item I/O redirection and backgrounding

=item Command line switches

-i, -S, -u

=back

=item 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

=item Perl variables

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

=item Standard modules with VMS-specific differences

=over 4

=item SDBM_File

=back

=item Revision date

=item AUTHOR

=back

=head2 perlvos - Perl for Stratus OpenVOS

=over 4

=item SYNOPSIS

=item BUILDING PERL FOR OPENVOS

=item INSTALLING PERL IN OPENVOS

=item USING PERL IN OPENVOS

=over 4

=item Restrictions of Perl on OpenVOS

=back

=item TEST STATUS

=item SUPPORT STATUS

=item AUTHOR

=item LAST UPDATE

=back

=head2 perlwin32 - Perl under Windows

=over 4

=item SYNOPSIS

=item DESCRIPTION

L<https://osdn.net/projects/mingw/>, L<https://mingw-w64.org>

=over 4

=item 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

=item Building

=item Testing Perl on Windows

=item Installation of Perl on Windows

=item 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

=item Running Perl Scripts

=item Miscellaneous Things

=back

=item BUGS AND CAVEATS

=item ACKNOWLEDGEMENTS

=item AUTHORS

Gary Ng E<lt>71564.1743@CompuServe.COME<gt>, Gurusamy Sarathy
E<lt>gsar@activestate.comE<gt>, Nick Ing-Simmons
E<lt>nick@ing-simmons.netE<gt>, Jan Dubois E<lt>jand@activestate.comE<gt>,
Steve Hay E<lt>steve.m.hay@googlemail.comE<gt>

=item SEE ALSO

=item HISTORY

=back

=head2 perlboot - Links to information on object-oriented programming in
Perl

=over 4

=item DESCRIPTION

=back

=head2 perlbot - Links to information on object-oriented programming in
Perl

=over 4

=item DESCRIPTION

=back

=head2 perlrepository - Links to current information on the Perl source
repository

=over 4

=item DESCRIPTION

=back

=head2 perltodo - Link to the Perl to-do list

=over 4

=item DESCRIPTION

=back

=head2 perltooc - Links to information on object-oriented programming in
Perl

=over 4

=item DESCRIPTION

=back

=head2 perltoot - Links to information on object-oriented programming in
Perl

=over 4

=item DESCRIPTION

=back

=head1 PRAGMA DOCUMENTATION

=head2 attributes - get/set subroutine or variable attributes

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item What C<import> does

=item Built-in Attributes

lvalue, method, prototype(..), const, shared

=item Available Subroutines

get, reftype

=item Package-specific Attribute Handling

FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES

=item Syntax of Attribute Lists

=back

=item EXPORTS

=over 4

=item Default exports

=item Available exports

=item Export tags defined

=back

=item EXAMPLES

=item MORE EXAMPLES

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXCEPTIONS

=item CATEGORIES

=item FUNCTION SPECIFIC NOTES

=over 4

=item print

=item flock

=item system/exec

=back

=item GOTCHAS

=item DIAGNOSTICS

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

=item Tips and Tricks

=over 4

=item Importing autodie into another namespace than "caller"

=back

=item BUGS

=over 4

=item autodie and string eval

=item REPORTING BUGS

=back

=item FEEDBACK

=item AUTHOR

=item LICENSE

=item SEE ALSO

=item ACKNOWLEDGEMENTS

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Methods

=back

=item AUTHOR

=item LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Methods

=back

=item AUTHOR

=item LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Methods

=back

=item AUTHOR

=item LICENSE

=back

=head2 autodie::exception - Exceptions from autodying functions.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Common Methods

=back

=back

=over 4

=item Advanced methods

=back

=over 4

=item SEE ALSO

=item LICENSE

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item stringify

=back

=over 4

=item LICENSE

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Introduction

=item What are hints?

=item Example hints

=back

=item Manually setting hints from within your program

=item Adding hints to your module

=item Insisting on hints

=back

=over 4

=item 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

=item ACKNOWLEDGEMENTS

=item AUTHOR

=item LICENSE

=item SEE ALSO

=back

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

=over 4

=item SYNPOSIS

=item DESCRIPTION

=item AUTHOR

=item LICENSE

=item SEE ALSO

=back

=head2 autouse - postpone load of modules until a function is used

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item WARNING

=item AUTHOR

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item DIAGNOSTICS

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

=item HISTORY

=item CAVEATS

=item SEE ALSO

=back

=head2 bigfloat - transparent big floating point number support for Perl

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Options

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

=item Math Library

=item Method calls

=item Methods

inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(),
div_scale(), upgrade(), downgrade(), in_effect()

=back

=item CAVEATS

Hexadecimal, octal, and binary floating point literals, Operator vs literal
overloading, Ranges, in_effect(), hex()/oct()

=item EXAMPLES

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item SEE ALSO

=item AUTHORS

=back

=head2 bigint - transparent big integer support for Perl

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item use integer vs. use bigint

=item Options

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

=item Math Library

=item Method calls

=item Methods

inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(),
div_scale(), in_effect()

=back

=item CAVEATS

Hexadecimal, octal, and binary floating point literals, Operator vs literal
overloading, Ranges, in_effect(), hex()/oct()

=item EXAMPLES

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item SEE ALSO

=item AUTHORS

=back

=head2 bignum - transparent big number support for Perl

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Literal numeric constants

=item Upgrading and downgrading

=item Overloading

=item Options

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

=item Math Library

=item Method calls

=item Methods

inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(),
div_scale(), upgrade(), downgrade(), in_effect()

=back

=item CAVEATS

The upgrade() and downgrade() methods, Hexadecimal, octal, and binary
floating point literals, Operator vs literal overloading, Ranges,
in_effect(), hex()/oct()

=item EXAMPLES

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item SEE ALSO

=item AUTHORS

=back

=head2 bigrat - transparent big rational number support for Perl

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Options

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

=item Math Library

=item Method calls

=item Methods

inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(),
div_scale(), in_effect()

=back

=item CAVEATS

Hexadecimal, octal, and binary floating point literals, Operator vs literal
overloading, Ranges, in_effect(), hex()/oct()

=item EXAMPLES

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item SEE ALSO

=item AUTHORS

=back

=head2 blib - Use MakeMaker's uninstalled version of a package

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item BUGS

=item AUTHOR

=back

=head2 builtin - Perl pragma to import built-in utility functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Lexical Import

=item Version Bundles

=item Function Optimisations

=back

=item FUNCTIONS

=over 4

=item true

=item false

=item is_bool

=item inf

=item nan

=item weaken

=item unweaken

=item is_weak

=item blessed

=item refaddr

=item reftype

=item created_as_string

=item created_as_number

=item stringify

=item ceil

=item floor

=item indexed

=item trim

=item is_tainted

=item export_lexically

=item load_module

=back

=item SEE ALSO

=back

=head2 bytes - Perl pragma to expose the individual bytes of characters

=over 4

=item NOTICE

=item SYNOPSIS

=item DESCRIPTION

=item LIMITATIONS

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item LOOSE MATCHES

=item ALIASES

=item CUSTOM ALIASES

=item charnames::string_vianame(I<name>)

=item charnames::vianame(I<name>)

=item charnames::viacode(I<code>)

=item CUSTOM TRANSLATORS

=item BUGS

=back

=head2 constant - Perl pragma to declare constants

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTES

=over 4

=item List constants

=item Defining multiple constants at once

=item Magic constants

=back

=item TECHNICAL NOTES

=item CAVEATS

=item SEE ALSO

=item BUGS

=item AUTHORS

=item COPYRIGHT & LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Important Caveat

=back

=item EXPORT

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 diagnostics, splain - produce verbose warning diagnostics

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item The C<diagnostics> Pragma

=item The I<splain> Program

=back

=item EXAMPLES

=item INTERNALS

=item BUGS

=item AUTHOR

=back

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

=over 4

=item WARNING

=item SYNOPSIS

=item DESCRIPTION

C<use encoding ['I<ENCNAME>'] ;>, C<use encoding I<ENCNAME>,
Filter=E<gt>1;>, C<no encoding;>

=item OPTIONS

=over 4

=item Setting C<STDIN> and/or C<STDOUT> individually

=item The C<:locale> sub-pragma

=back

=item CAVEATS

=over 4

=item SIDE EFFECTS

=item DO NOT MIX MULTIPLE ENCODINGS

=item Prior to Perl v5.22

=item Prior to Encode version 1.87

=item Prior to Perl v5.8.1

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

=back

=item EXAMPLE - Greekperl

=item BUGS

Thread safety, Can't be used by more than one module in a single program,
Other modules using C<STDIN> and C<STDOUT> get the encoded stream, literals
in regex that are longer than 127 bytes, EBCDIC, C<format>, See also
L<encoding/CAVEATS>

=item HISTORY

=item SEE ALSO

=back

=head2 encoding::warnings - Warn on implicit encoding conversions

=over 4

=item VERSION

=item NOTICE

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overview of the problem

=item Detecting the problem

=item 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 B<STDIN> and B<STDOUT>, Literal conversions, Implicit
upgrading for byte-strings

=back

=item CAVEATS

=back

=over 4

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT

=back

=head2 experimental - Experimental features made easy

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

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

=over 4

=item Ordering matters

=item Disclaimer

=back

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 feature - Perl pragma to enable new features

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Lexical effect

=item C<no feature>

=back

=item AVAILABLE FEATURES

=over 4

=item The 'say' feature

=item The 'state' feature

=item The 'smartmatch' feature

=item The 'switch' feature

=item The 'unicode_strings' feature

=item The 'unicode_eval' and 'evalbytes' features

=item The 'current_sub' feature

=item The 'array_base' feature

=item The 'fc' feature

=item The 'lexical_subs' feature

=item The 'postderef' and 'postderef_qq' features

=item The 'signatures' feature

=item The 'refaliasing' feature

=item The 'bitwise' feature

=item The 'declared_refs' feature

=item The 'isa' feature

=item The 'indirect' feature

=item The 'multidimensional' feature

=item The 'bareword_filehandles' feature

=item The 'try' feature

=item The 'defer' feature

=item The 'extra_paired_delimiters' feature

=item The 'module_true' feature

=item The 'class' feature

=item The 'apostrophe_as_package_separator' feature

=item The 'keyword_any' feature

=item The 'keyword_all' feature

=back

=item FEATURE BUNDLES

=item IMPLICIT LOADING

=item CHECKING FEATURES

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

=back

=head2 fields - compile-time class fields

=over 4

=item SYNOPSIS

=item DESCRIPTION

new, phash

=item SEE ALSO

=back

=head2 filetest - Perl pragma to control the filetest permission operators

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Consider this carefully

=item The "access" sub-pragma

=item Limitation with regard to C<_>

=back

=back

=head2 if - C<use> a Perl module if a condition holds

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item C<use if>

=item C<no if>

=back

=item BUGS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENCE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 less - perl pragma to request less of something

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FOR MODULE AUTHORS

=over 4

=item C<< BOOLEAN = less->of( FEATURE ) >>

=item C<< FEATURES = less->of() >>

=back

=item CAVEATS

This probably does nothing, This works only on 5.10+

=back

=head2 lib - manipulate @INC at compile time

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Adding directories to @INC

=item Deleting directories from @INC

=item Restoring original @INC

=back

=item CAVEATS

=item NOTES

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 mro - Method Resolution Order

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OVERVIEW

=item The C3 MRO

=over 4

=item What is C3?

=item How does C3 work

=back

=item Functions

=over 4

=item mro::get_linear_isa($classname[, $type])

=item mro::set_mro ($classname, $type)

=item mro::get_mro($classname)

=item mro::get_isarev($classname)

=item mro::is_universal($classname)

=item mro::invalidate_all_method_caches()

=item mro::method_changed_in($classname)

=item mro::get_pkg_gen($classname)

=item next::method

=item next::can

=item maybe::next::method

=back

=item SEE ALSO

=over 4

=item The original Dylan paper

L<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1
&type=pdf>

=item Python 2.3 MRO

L<https://www.python.org/download/releases/2.3/mro/>

=item Class::C3

L<Class::C3>

=back

=item AUTHOR

=back

=head2 ok - Alternative to Test::More::use_ok

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CC0 1.0 Universal

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item IMPLEMENTATION DETAILS

=item SEE ALSO

=back

=head2 ops - Perl pragma to restrict unsafe operations when compiling

=over 4

=item SYNOPSIS	

=item DESCRIPTION

=item SEE ALSO

=back

=head2 overload - Package for overloading Perl operations

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Fundamentals

=item Overloadable Operations

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

=item Magic Autogeneration

=item Special Keys for C<use overload>

defined, but FALSE, C<undef>, TRUE

=item How Perl Chooses an Operator Implementation

=item Losing Overloading

=item Inheritance and Overloading

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

=item Run-time Overloading

=item Public Functions

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

=item Overloading Constants

integer, float, binary, q, qr

=back

=item IMPLEMENTATION

=item COOKBOOK

=over 4

=item Two-face Scalars

=item Two-face References

=item Symbolic Calculator

=item I<Really> Symbolic Calculator

=back

=item AUTHOR

=item SEE ALSO

=item 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

=item BUGS AND PITFALLS

=back

=head2 overloading - perl pragma to lexically control overloading

=over 4

=item SYNOPSIS

=item DESCRIPTION

C<no overloading>, C<no overloading @ops>, C<use overloading>, C<use
overloading @ops>

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item HISTORY

=item CAVEATS

=item SEE ALSO

L<base>, L<parent::versioned>

=item AUTHORS AND CONTRIBUTORS

=item MAINTAINER

=item LICENSE

=back

=head2 re - Perl pragma to alter regular expression behaviour

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item 'taint' mode

=item 'eval' mode

=item 'strict' mode

=item '/flags' mode

=item 'debug' mode

=item '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

=item 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

=back

=item SEE ALSO

=back

=head2 sigtrap - Perl pragma to enable simple signal handling

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OPTIONS

=over 4

=item SIGNAL HANDLERS

B<stack-trace>, B<die>, B<handler> I<your-handler>

=item SIGNAL LISTS

B<normal-signals>, B<error-signals>, B<old-interface-signals>

=item OTHER

B<untrapped>, B<any>, I<signal>, I<number>

=back

=item EXAMPLES

=back

=head2 sort - perl pragma to control sort() behaviour

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEATS

=back

=head2 source::encoding -- Declare Perl source code encoding

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

C<bitwise> - stable as of perl 5.22, available via stable 0.031, C<isa> -
stable as of perl 5.32, available via stable 0.031, C<lexical_subs> -
stable as of perl 5.22, available via stable 0.031, C<postderef> - stable
as of perl 5.20, available via stable 0.031, C<const_attr> - stable as of
perl 5.22, available via stable 0.032, C<for_list> - stable as of perl
5.36, available via stable 0.032

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 strict - Perl pragma to restrict unsafe constructs

=over 4

=item SYNOPSIS

=item DESCRIPTION

C<strict refs>, C<strict vars>, C<strict subs>

=item HISTORY

=back

=head2 subs - Perl pragma to predeclare subroutine names

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 threads - Perl interpreter-based threads

=over 4

=item VERSION

=item WARNING

=item SYNOPSIS

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

=item 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)

=item THREAD STATE

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

=item THREAD CONTEXT

=over 4

=item Explicit context

=item Implicit context

=item $thr->wantarray()

=item threads->wantarray()

=back

=item 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)

=item THREAD SIGNALLING

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

=item 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(I<SIZE>)
returned 22

=item 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: ..

=item 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
C<PERL_OLD_SIGNALS> (see S<C<perl -V>>), The environment variable
C<PERL_SIGNALS> is set to C<unsafe> (see L<perlrun/"PERL_SIGNALS">), The
module L<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 L<threads>

=item REQUIREMENTS

=item SEE ALSO

=item AUTHOR

=item LICENSE

=item ACKNOWLEDGEMENTS

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item EXPORT

=item 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

=item OBJECTS

=item NOTES

=item WARNINGS

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

=item BUGS AND LIMITATIONS

=item SEE ALSO

=item AUTHOR

=item LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Utility functions

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

=back

=item BUGS

=item SEE ALSO

=back

=head2 vars - Perl pragma to predeclare global variable names

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 version - Perl extension for Version Objects

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item TYPES OF VERSION OBJECTS

Decimal Versions, Dotted Decimal Versions

=item DECLARING VERSIONS

=over 4

=item How to convert a module from decimal to dotted-decimal

=item How to C<declare()> a dotted-decimal version

=back

=item PARSING AND COMPARING VERSIONS

=over 4

=item How to C<parse()> a version

=item How to check for a legal version string

C<is_lax()>, C<is_strict()>

=item How to compare version objects

=back

=item OBJECT METHODS

=over 4

=item is_alpha()

=item is_qv()

=item normal()

=item numify()

=item to_decimal

=item to_dotted_decimal

=item tuple()

=item from_tuple(...)

=item stringify()

=item tuple

=back

=item EXPORTED FUNCTIONS

=over 4

=item qv()

=item is_lax()

=item is_strict()

=back

=item AUTHOR

=item SEE ALSO

=back

=head2 version::Internals - Perl extension for Version Objects

=over 4

=item DESCRIPTION

=item WHAT IS A VERSION?

Decimal versions, Dotted-Decimal versions

=over 4

=item Decimal Versions

=item Dotted-Decimal Versions

=item Alpha Versions

=item Regular Expressions for Version Parsing

C<$version::LAX>, C<$version::STRICT>, v1.234.5

=back

=item IMPLEMENTATION DETAILS

=over 4

=item Equivalence between Decimal and Dotted-Decimal Versions

=item Quoting Rules

=item What about v-strings?

=item Replacement UNIVERSAL::VERSION

=back

=item USAGE DETAILS

=over 4

=item Using modules that use version.pm

Decimal versions always work, Dotted-Decimal version work sometimes

=item Object Methods

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

=back

=item AUTHOR

=item SEE ALSO

=back

=head2 vmsish - Perl pragma to control VMS-specific language features

=over 4

=item SYNOPSIS

=item DESCRIPTION

C<vmsish status>, C<vmsish exit>, C<vmsish time>, C<vmsish hushed>

=back

=head2 warnings - Perl pragma to control optional warnings

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Default Warnings and Optional Warnings

=item "Negative warnings"

=item What's wrong with B<-w> and C<$^W>

=item Controlling Warnings from the Command Line

B<-w> X<-w>, B<-W> X<-W>, B<-X> X<-X>

=item Backward Compatibility

=item Category Hierarchy
X<warning, categories>

=item Fatal Warnings
X<warning, fatal>

=item Reporting Warnings from a Module
X<warning, reporting> X<warning, registering>

=back

=item 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)

=back

=head2 warnings::register - warnings import function

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head1 MODULE DOCUMENTATION

=head2 AnyDBM_File - provide framework for multiple DBMs

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item DBM Comparisons

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

=back

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item 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 ... ], -I<X>

=item Examples

=item Environment variables

NONINTERACTIVE_TESTING, PERL_MM_USE_DEFAULT, CPAN_OPTS,
CPANSCRIPT_LOGLEVEL, GIT_COMMAND

=item Methods

=back

=back

run( ARGS )

=over 4

=item EXIT VALUES

=item TO DO

=item BUGS

=item SEE ALSO

=item SOURCE AVAILABILITY

=item CREDITS

=item AUTHOR

=item COPYRIGHT

=back

=head2 App::Prove - Implements the C<prove> command.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=back

=over 4

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Attributes

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

=back

=over 4

=item PLUGINS

=over 4

=item Sample Plugin

=back

=item SEE ALSO

=back

=head2 App::Prove::State - State storage for the C<prove> command.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=back

=over 4

=item METHODS

=over 4

=item Class Methods

C<store>, C<extensions> (optional), C<result_class> (optional)

=back

=back

=over 4

=item C<result_class>

=back

=over 4

=item C<extensions>

=back

=over 4

=item C<results>

=back

=over 4

=item C<commit>

=back

=over 4

=item Instance Methods

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

=back

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

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=back

=over 4

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item C<state_version>

=back

=over 4

=item C<test_class>

=back

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

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=back

=over 4

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=head2 Archive::Tar - module for manipulations of tar archives

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Object Methods

=over 4

=item Archive::Tar->new( [$file, $compressed] )

=back

=back

=over 4

=item $tar->read ( $filename|$handle, [$compressed, {opt => 'val'}] )

limit, filter, md5, extract

=back

=over 4

=item $tar->contains_file( $filename )

=back

=over 4

=item $tar->extract( [@filenames] )

=back

=over 4

=item $tar->extract_file( $file, [$extract_path] )

=back

=over 4

=item $tar->list_files( [\@properties] )

=back

=over 4

=item $tar->get_files( [@filenames] )

=back

=over 4

=item $tar->get_content( $file )

=back

=over 4

=item $tar->replace_content( $file, $content )

=back

=over 4

=item $tar->rename( $file, $new_name )

=back

=over 4

=item $tar->chmod( $file, $mode )

=back

=over 4

=item $tar->chown( $file, $uname [, $gname] )

=back

=over 4

=item $tar->remove (@filenamelist)

=back

=over 4

=item $tar->clear

=back

=over 4

=item $tar->write ( [$file, $compressed, $prefix] )

=back

=over 4

=item $tar->add_files( @filenamelist )

=back

=over 4

=item $tar->add_data ( $filename, $data, [$opthashref] )

FILE, HARDLINK, SYMLINK, CHARDEV, BLOCKDEV, DIR, FIFO, SOCKET

=back

=over 4

=item $tar->error( [$BOOL] )

=back

=over 4

=item $tar->setcwd( $cwd );

=back

=over 4

=item Class Methods

=over 4

=item Archive::Tar->create_archive($file, $compressed, @filelist)

=back

=back

=over 4

=item Archive::Tar->iter( $filename, [ $compressed, {opt => $val} ] )

=back

=over 4

=item Archive::Tar->list_archive($file, $compressed, [\@properties])

=back

=over 4

=item Archive::Tar->extract_archive($file, $compressed)

=back

=over 4

=item $bool = Archive::Tar->has_io_string

=back

=over 4

=item $bool = Archive::Tar->has_perlio

=back

=over 4

=item $bool = Archive::Tar->has_zlib_support

=back

=over 4

=item $bool = Archive::Tar->has_bzip2_support

=back

=over 4

=item $bool = Archive::Tar->has_xz_support

=back

=over 4

=item Archive::Tar->can_handle_compressed_files

=back

=over 4

=item GLOBAL VARIABLES

=over 4

=item $Archive::Tar::FOLLOW_SYMLINK

=item $Archive::Tar::CHOWN

=item $Archive::Tar::CHMOD

=item $Archive::Tar::SAME_PERMISSIONS

=item $Archive::Tar::DO_NOT_USE_PREFIX

=item $Archive::Tar::DEBUG

=item $Archive::Tar::WARN

=item $Archive::Tar::error

=item $Archive::Tar::INSECURE_EXTRACT_MODE

=item $Archive::Tar::HAS_PERLIO

=item $Archive::Tar::HAS_IO_STRING

=item $Archive::Tar::ZERO_PAD_NUMBERS

=item Tuning the way RESOLVE_SYMLINK will works

none, speed (default), memory

=item $Archive::Tar::EXTRACT_BLOCK_SIZE

=back

=back

=over 4

=item 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?

=item CAVEATS

=item 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

=item SEE ALSO

The GNU tar specification, The PAX format specification

=item AUTHOR

=item ACKNOWLEDGEMENTS

=item COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Accessors

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

=back

=item Methods

=over 4

=item Archive::Tar::File->new( file => $path )

=item Archive::Tar::File->new( data => $path, $data, $opt )

=item Archive::Tar::File->new( chunk => $chunk )

=back

=back

=over 4

=item $bool = $file->extract( [ $alternative_name ] )

=back

=over 4

=item $path = $file->full_path

=back

=over 4

=item $bool = $file->validate

=back

=over 4

=item $bool = $file->has_content

=back

=over 4

=item $content = $file->get_content

=back

=over 4

=item $cref = $file->get_content_by_ref

=back

=over 4

=item $bool = $file->replace_content( $content )

=back

=over 4

=item $bool = $file->rename( $new_name )

=back

=over 4

=item $bool = $file->chmod( $mode )

=back

=over 4

=item $bool = $file->chown( $user [, $group])

=back

=over 4

=item 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

=back

=head2 Attribute::Handlers - Simpler definition of attribute handlers

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

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

=over 4

=item Typed lexicals

=item Type-specific attribute handlers

=item Non-interpretive attribute handlers

=item Phase-specific attribute handlers

=item Attributes as C<tie> interfaces

=back

=item EXAMPLES

=item UTILITY FUNCTIONS

findsym

=item DIAGNOSTICS

C<Bad attribute type: ATTR(%s)>, C<Attribute handler %s doesn't handle %s
attributes>, C<Declaration of %s attribute in package %s may clash with
future reserved word>, C<Can't have two ATTR specifiers on one subroutine>,
C<Can't autotie a %s>, C<Internal error: %s symbol went missing>, C<Won't
be able to apply END handler>

=item AUTHOR

=item BUGS

=item COPYRIGHT AND LICENSE

=back

=head2 AutoLoader - load subroutines only on demand

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Subroutine Stubs

=item Using B<AutoLoader>'s AUTOLOAD Subroutine

=item Overriding B<AutoLoader>'s AUTOLOAD Subroutine

=item Package Lexicals

=item Not Using AutoLoader

=item B<AutoLoader> vs. B<SelfLoader>

=item Forcing AutoLoader to Load a Function

=back

=item CAVEATS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 AutoSplit - split a package for autoloading

=over 4

=item SYNOPSIS

=item DESCRIPTION

$keep, $check, $modtime

=over 4

=item Multiple packages

=back

=item DIAGNOSTICS

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 B - The Perl Compiler Backend

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OVERVIEW

=item Utility Functions

=over 4

=item Functions Returning C<B::SV>, C<B::AV>, C<B::HV>, and C<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

=item Functions for Examining the Symbol Table

walksymtable(SYMREF, METHOD, RECURSE, PREFIX)

=item Functions Returning C<B::OP> objects or for walking op trees

main_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG)

=item Miscellaneous Utility Functions

ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR),
perlstring(STR), safename(STR), class(OBJ), threadsv_names

=item Exported utility variables

@optype, @specialsv_name

=back

=item OVERVIEW OF CLASSES

=over 4

=item SV-RELATED CLASSES

=item B::SV Methods

REFCNT, FLAGS, IsBOOL, object_2svref, TRUE, TRUE_nomg

=item B::IV Methods

IV, IVX, UVX, int_value, needs64bits, packiv

=item B::NV Methods

NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH

=item B::RV Methods

RV

=item B::PV Methods

PV, RV, PVX, CUR, LEN

=item B::PVMG Methods

MAGIC, SvSTASH

=item B::MAGIC Methods

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

=item B::INVLIST Methods

prev_index, is_offset, array_len, get_invlist_array

=item B::PVLV Methods

TARGOFF, TARGLEN, TYPE, TARG

=item B::BM Methods

USEFUL, PREVIOUS, RARE, TABLE

=item B::REGEXP Methods

REGEX, precomp, qr_anoncv, compflags

=item B::GV Methods

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

=item 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

=item B::AV Methods

FILL, MAX, ARRAY, ARRAYelt

=item B::CV Methods

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

=item B::HV Methods

FILL, MAX, KEYS, RITER, NAME, ARRAY

=item OP-RELATED CLASSES

=item B::OP Methods

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

=item B::UNOP Method

first

=item B::UNOP_AUX Methods (since 5.22)

aux_list(cv), string(cv)

=item B::BINOP Method

last

=item B::LOGOP Method

other

=item B::LISTOP Method

children

=item B::PMOP Methods

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

=item B::SVOP Methods

sv, gv

=item B::PADOP Method

padix

=item B::PVOP Method

pv

=item B::LOOP Methods

redoop, nextop, lastop

=item B::COP Methods

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

=item B::METHOP Methods (Since Perl 5.22)

first, meth_sv

=item PAD-RELATED CLASSES

=item B::PADLIST Methods

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

=item B::PADNAMELIST Methods

MAX, ARRAY, ARRAYelt, REFCNT

=item 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

=item $B::overlay

=back

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLE

=item OPTIONS

=over 4

=item Options for Opcode Ordering

B<-basic>, B<-exec>, B<-tree>

=item Options for Line-Style

B<-concise>, B<-terse>, B<-linenoise>, B<-debug>, B<-env>

=item Options for tree-specific formatting

B<-compact>, B<-loose>, B<-vt>, B<-ascii>

=item Options controlling sequence numbering

B<-base>I<n>, B<-bigendian>, B<-littleendian>

=item Other options

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

=item Option Stickiness

=back

=item ABBREVIATIONS

=over 4

=item OP class abbreviations

=item OP flags abbreviations

=back

=item FORMATTING SPECIFICATIONS

=over 4

=item Special Patterns

B<(x(>I<exec_text>B<;>I<basic_text>B<)x)>, B<(*(>I<text>B<)*)>,
B<(*(>I<text1>B<;>I<text2>B<)*)>, B<(?(>I<text1>B<#>I<var>I<Text2>B<)?)>,
B<~>

=item # Variables

B<#>I<var>, B<#>I<var>I<N>, B<#>I<Var>, B<#addr>, B<#arg>, B<#class>,
B<#classsym>, B<#coplabel>, B<#exname>, B<#extarg>, B<#firstaddr>,
B<#flags>, B<#flagval>, B<#hints>, B<#hintsval>, B<#hyphseq>, B<#label>,
B<#lastaddr>, B<#name>, B<#NAME>, B<#next>, B<#nextaddr>, B<#noise>,
B<#private>, B<#privval>, B<#seq>, B<#opt>, B<#sibaddr>, B<#svaddr>,
B<#svclass>, B<#svval>, B<#targ>, B<#targarg>, B<#targarglife>, B<#typenum>

=back

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

=item Using B::Concise outside of the O framework

=over 4

=item Example: Altering Concise Renderings

=item set_style()

=item set_style_standard($name)

=item add_style ()

=item add_callback ()

=item Running B::Concise::compile()

=item B::Concise::reset_sequence()

=item Errors

=back

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OPTIONS

B<-d>, B<-f>I<FILE>, B<-l>, B<-p>, B<-P>, B<-q>, B<-s>I<LETTERS>, B<C>,
B<i>I<NUMBER>, B<T>, B<v>I<STRING>B<.>, B<-x>I<LEVEL>

=item USING B::Deparse AS A MODULE

=over 4

=item Synopsis

=item Description

=item new

=item ambient_pragmas

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

=item coderef2text

=back

=item BUGS

=item AUTHOR

=back

=head2 B::Op_private - OP op_private flag definitions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item C<%bits>

=item C<%defines>

=item C<%labels>

=item C<%ops_using>

=back

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLES

=over 4

=item OPTIONS

=back

=item SEE ALSO

=item TODO

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

i, &, s, r

=item OPTIONS

C<-oFILENAME>, C<-r>, C<-d>, C<-D[tO]>

=item BUGS

=item AUTHOR

=back

=head2 Benchmark - Benchmark running times of Perl code

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Methods

new, debug, iters

=item Standard Exports

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

=item Optional Exports

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

=item :hireswallclock

=back

=item Benchmark Object

cpu_p, cpu_c, cpu_a, real, iters

=item NOTES

=item EXAMPLES

=item INHERITANCE

=item CAVEATS

=item SEE ALSO

=item AUTHORS

=item MODIFICATION HISTORY

=back

=head2 CORE - Namespace for Perl's core routines

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OVERRIDING CORE FUNCTIONS

=item AUTHOR

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item CPAN::shell([$prompt, $command]) Starting Interactive Mode

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

=item CPAN::Shell

=item autobundle

=item hosts

=item install_tested

=item is_tested

=item mkmyconfig

=item r [Module|/Regexp/]...

=item recent ***EXPERIMENTAL COMMAND***

=item recompile

=item report Bundle|Distribution|Module

=item smoke ***EXPERIMENTAL COMMAND***

=item upgrade [Module|/Regexp/]...

=item The four C<CPAN::*> Classes: Author, Bundle, Module, Distribution

=item Integrating local directories

=item Redirection

=item Plugin support ***EXPERIMENTAL***

=back

=item 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

=over 4

=item Config Variables

C<o conf E<lt>scalar optionE<gt>>, C<o conf E<lt>scalar optionE<gt>
E<lt>valueE<gt>>, C<o conf E<lt>list optionE<gt>>, C<o conf E<lt>list
optionE<gt> [shift|pop]>, C<o conf E<lt>list optionE<gt>
[unshift|push|splice] E<lt>listE<gt>>, interactive editing: o conf init
[MATCH|LIST]

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

cwd, getcwd, fastcwd, getdcwd, backtickcwd

=item Note on the format of the urllist parameter

=item The urllist parameter has CD-ROM support

=item Maintaining the urllist parameter

=item The C<requires> and C<build_requires> dependency declarations

=item Configuration of the allow_installing_* parameters

=item Configuration for individual distributions (I<Distroprefs>)

=item Filenames

=item Fallback Data::Dumper and Storable

=item Blueprint

=item 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]

=item Processing Instructions

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

=item Schema verification with C<Kwalify>

=item Example Distroprefs Files

=back

=item PROGRAMMER'S INTERFACE

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

=over 4

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

=item Cache Manager

=item Bundles

=back

=item PREREQUISITES

=item UTILITIES

=over 4

=item Finding packages and VERSION

=item Debugging

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

=item Floppy, Zip, Offline Mode

=item Basic Utilities for Programmers

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

=back

=item SECURITY

=over 4

=item Cryptographically signed modules

=back

=item EXPORT

=item ENVIRONMENT

=item POPULATE AN INSTALLATION WITH LOTS OF MODULES

=item WORKING WITH CPAN.pm BEHIND FIREWALLS

=over 4

=item Three basic types of firewalls

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

=item Configuring lynx or ncftp for going through a firewall

=back

=item FAQ

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

=item COMPATIBILITY

=over 4

=item OLD PERL VERSIONS

=item CPANPLUS

=item CPANMINUS

=back

=item SECURITY ADVICE

=item BUGS

=item AUTHOR

=item LICENSE

=item TRANSLATIONS

=item SEE ALSO

=back

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

=over 4

=item RECIPES

=over 4

=item What distribution contains a particular module?

=item What modules does a particular distribution contain?

=back

=item SEE ALSO

=item LICENSE

=item AUTHOR

=back

=head2 CPAN::Debug - internal debugging for CPAN.pm

=over 4

=item LICENSE

=back

=head2 CPAN::Distroprefs -- read and match distroprefs

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item INTERFACE

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

=item RESULTS

=over 4

=item Common

=item Errors

=item Successes

=back

=item PREFS

=item LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

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

=over 4

=item LICENSE

=back

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

=over 4

=item C<< CLASS->safe_quote ITEM >>

=back

=over 4

=item LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

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

=item AUTHOR

=item LICENSE

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item create

=item load_file

=item load_yaml_string

=item load_json_string

=item load_string

=item save

=item meta_spec_version

=item effective_prereqs

=item should_index_file

=item should_index_package

=item features

=item feature

=item as_struct

=item as_string

=back

=item STRING DATA

=item LIST DATA

=item MAP DATA

=item CUSTOM DATA

=item BUGS

=item SEE ALSO

=item SUPPORT

=over 4

=item Bugs / Feature Requests

=item Source Code

=back

=item AUTHORS

=item CONTRIBUTORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item convert

=item upgrade_fragment

=back

=item BUGS

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item identifier

=item description

=item prereqs

=back

=item BUGS

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item DESCRIPTION

=item HISTORY

=over 4

=item Version 2

=item Version 1.4

=item Version 1.3

=item Version 1.2

=item Version 1.1

=item Version 1.0

=back

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item PREFACE

=item DESCRIPTION

=item Format

=item Fields

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

=item Related Projects

DOAP

=item History

=back

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

=over 4

=item PREFACE

=item DESCRIPTION

=item Format

=item 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

=over 4

=item Ingy's suggestions

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

=back

=item History

=back

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

=over 4

=item PREFACE

=item SYNOPSIS

=item DESCRIPTION

=item FORMAT

=item TERMINOLOGY

distribution, module

=item VERSION SPECIFICATIONS

=item HEADER

=item FIELDS

=over 4

=item meta-spec

=item name

=item version

=item abstract

=item author

=item license

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

=item distribution_type

=item requires

=item recommends

=item build_requires

=item conflicts

=item dynamic_config

=item private

=item provides

=item no_index

=item keywords

=item resources

homepage, license, bugtracker

=item generated_by

=back

=item SEE ALSO

=item 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

=back

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

=over 4

=item PREFACE

=item SYNOPSIS

=item DESCRIPTION

=item FORMAT

=item TERMINOLOGY

distribution, module

=item HEADER

=item FIELDS

=over 4

=item meta-spec

=item name

=item version

=item abstract

=item author

=item license

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

=item distribution_type

=item requires

=item recommends

=item build_requires

=item conflicts

=item dynamic_config

=item private

=item provides

=item no_index

=item keywords

=item resources

homepage, license, bugtracker

=item generated_by

=back

=item VERSION SPECIFICATIONS

=item SEE ALSO

=item 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

=back

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

=over 4

=item PREFACE

=item SYNOPSIS

=item DESCRIPTION

=item FORMAT

=item TERMINOLOGY

distribution, module

=item HEADER

=item FIELDS

=over 4

=item meta-spec

=item name

=item version

=item abstract

=item author

=item license

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

=item distribution_type

=item requires

=item recommends

=item build_requires

=item configure_requires

=item conflicts

=item dynamic_config

=item private

=item provides

=item no_index

=item keywords

=item resources

homepage, license, bugtracker

=item generated_by

=back

=item VERSION SPECIFICATIONS

=item SEE ALSO

=item 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

=back

=head2 CPAN::Meta::Merge - Merging CPAN Meta fragments

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item merge(@fragments)

=back

=item MERGE STRATEGIES

identical, set_addition, uniq_map, improvise

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item requirements_for

=item phases

=item types_in

=item with_merged_prereqs

=item merged_requirements

=item as_string_hash

=item is_finalized

=item finalize

=item clone

=back

=item BUGS

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item add_minimum

=item add_maximum

=item add_exclusion

=item exact_version

=item version_range_for_module

=item add_requirements

=item accepts_module

=item clear_requirement

=item requirements_for_module

=item structured_requirements_for_module

=item required_modules

=item clone

=item is_simple

=item is_finalized

=item finalize

=item as_string_hash

=item add_string_requirement

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

=item from_string_hash

=back

=item SUPPORT

=over 4

=item Bugs / Feature Requests

=item Source Code

=back

=item AUTHORS

=item CONTRIBUTORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item with_string_requirement

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

=item with_range

=item with_exact_version

=item with_minimum

=item with_maximum

=item with_exclusion

=item as_struct

=item as_string

=item accepts

=item is_simple

=back

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item TERMINOLOGY

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

=item DATA TYPES

=over 4

=item Boolean

=item String

=item List

=item Map

=item License String

=item URL

=item Version

=item Version Range

=back

=item STRUCTURE

=over 4

=item REQUIRED FIELDS

version, url, stable, testing, unstable

=item OPTIONAL FIELDS

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

=item DEPRECATED FIELDS

=back

=item VERSION NUMBERS

=over 4

=item Version Formats

Decimal versions, Dotted-integer versions

=item Version Ranges

=back

=item PREREQUISITES

=over 4

=item Prereq Spec

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

=item Merging and Resolving Prerequisites

=back

=item SERIALIZATION

=item NOTES FOR IMPLEMENTORS

=over 4

=item Extracting Version Numbers from Perl Modules

=item Comparing Version Numbers

=item Prerequisites for dynamically configured distributions

=item Indexing distributions a la PAUSE

=back

=item SEE ALSO

=item HISTORY

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item is_valid

=item errors

=item Check Methods

=item Validator Methods

=back

=item BUGS

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item SUPPORT

=item SEE ALSO

=item AUTHORS

=item CONTRIBUTOR

=item COPYRIGHT AND LICENSE

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

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

=over 4

=item AUTHOR

=item LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item LICENSE

=item  SEE ALSO

=back

=head2 CPAN::Plugin - Base class for CPAN shell extensions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Alpha Status

=item How Plugins work?

=back

=item METHODS

=over 4

=item plugin_requires

=item distribution_object

=item distribution

=item distribution_info

=item build_dir

=item is_xs

=back

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item OPTIONS

=back

=item AUTHOR

=back

=head2 CPAN::Queue - internal queue support for CPAN.pm

=over 4

=item LICENSE

=back

=head2 CPAN::Tarzip - internal handling of tar archives for CPAN.pm

=over 4

=item LICENSE

=back

=head2 CPAN::Version - utility functions to compare CPAN versions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item LICENSE

=back

=head2 Carp - alternative warn and die for modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Forcing a Stack Trace

=item Stack Trace formatting

=back

=item GLOBAL VARIABLES

=over 4

=item $Carp::MaxEvalLen

=item $Carp::MaxArgLen

=item $Carp::MaxArgNums

=item $Carp::Verbose

=item $Carp::RefArgFormatter

=item @CARP_NOT

=item %Carp::Internal

=item %Carp::CarpInternal

=item $Carp::CarpLevel

=back

=item BUGS

=item SEE ALSO

=item CONTRIBUTING

=item AUTHOR

=item COPYRIGHT

=item LICENSE

=back

=head2 Class::Struct - declare struct-like datatypes as Perl classes

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item The C<struct()> function

=item Class Creation at Compile Time

=item Element Types and Accessor Methods

Scalar (C<'$'> or C<'*$'>), Array (C<'@'> or C<'*@'>), Hash (C<'%'> or
C<'*%'>), Class (C<'Class_Name'> or C<'*Class_Name'>)

=item Initializing with C<new>

=back

=item EXAMPLES

Example 1, Example 2, Example 3

=item Author and Modification History

=back

=head2 Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression
library

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Compression

=over 4

=item ($z, $status) = new Compress::Raw::Bzip2 $appendOutput,
$blockSize100k, $workfactor;

B<$appendOutput>, B<$blockSize100k>, B<$workfactor>

=item $status = $bz->bzdeflate($input, $output);

=item $status = $bz->bzflush($output);

=item $status = $bz->bzclose($output);

=item Example

=back

=item Uncompression

=over 4

=item ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput,
$consumeInput, $small, $verbosity, $limitOutput;

B<$appendOutput>, B<$consumeInput>, B<$small>, B<$limitOutput>,
B<$verbosity>

=item $status = $z->bzinflate($input, $output);

=back

=item Misc

=over 4

=item my $version = Compress::Raw::Bzip2::bzlibversion();

=back

=item Constants

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 Compress::Raw::Zlib - Low-Level Interface to zlib or zlib-ng
compression library

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Compress::Raw::Zlib::Deflate

=over 4

=item B<($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] ) >

B<-Level>, B<-Method>, B<-WindowBits>, B<-MemLevel>, B<-Strategy>,
B<-Dictionary>, B<-Bufsize>, B<-AppendOutput>, B<-CRC32>, B<-ADLER32>

=item B<$status = $d-E<gt>deflate($input, $output)>

=item B<$status = $d-E<gt>flush($output [, $flush_type]) >

=item B<$status = $d-E<gt>deflateReset() >

=item B<$status = $d-E<gt>deflateParams([OPT])>

B<-Level>, B<-Strategy>, B<-BufSize>

=item B<$status = $d-E<gt>deflateTune($good_length, $max_lazy,
$nice_length, $max_chain)>

=item B<$d-E<gt>dict_adler()>

=item B<$d-E<gt>crc32()>

=item B<$d-E<gt>adler32()>

=item B<$d-E<gt>msg()>

=item B<$d-E<gt>total_in()>

=item B<$d-E<gt>total_out()>

=item B<$d-E<gt>get_Strategy()>

=item B<$d-E<gt>get_Level()>

=item B<$d-E<gt>get_BufSize()>

=item Example

=back

=item Compress::Raw::Zlib::Inflate

=over 4

=item B< ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) >

B<-WindowBits>, B<-Bufsize>, B<-Dictionary>, B<-AppendOutput>, B<-CRC32>,
B<-ADLER32>, B<-ConsumeInput>, B<-LimitOutput>

=item B< $status = $i-E<gt>inflate($input, $output [,$eof]) >

=item B<$status = $i-E<gt>inflateSync($input)>

=item B<$status = $i-E<gt>inflateReset() >

=item B<$i-E<gt>dict_adler()>

=item B<$i-E<gt>crc32()>

=item B<$i-E<gt>adler32()>

=item B<$i-E<gt>msg()>

=item B<$i-E<gt>total_in()>

=item B<$i-E<gt>total_out()>

=item B<$d-E<gt>get_BufSize()>

=item Examples

=back

=item CHECKSUM FUNCTIONS

=item Misc

=over 4

=item my $version = Compress::Raw::Zlib::zlib_version();

=item my $version = Compress::Raw::Zlib::zlibng_version();

=item  my $flags = Compress::Raw::Zlib::zlibCompileFlags();

=item is_zlib_native();
=head2 is_zlibng_native();
=head2 is_zlibng_compat();
=head2 is_zlibng();

=back

=item The LimitOutput option.

=item ACCESSING ZIP FILES

=item FAQ

=over 4

=item Compatibility with Unix compress/uncompress.

=item Accessing .tar.Z files

=item Zlib Library Version Support

=back

=item CONSTANTS

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 Compress::Zlib - Interface to zlib compression library

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Notes for users of Compress::Zlib version 1

=back

=item GZIP INTERFACE

B<$gz = gzopen($filename, $mode)>, B<$gz = gzopen($filehandle, $mode)>,
B<$bytesread = $gz-E<gt>gzread($buffer [, $size]) ;>, B<$bytesread =
$gz-E<gt>gzreadline($line) ;>, B<$byteswritten = $gz-E<gt>gzwrite($buffer)
;>, B<$status = $gz-E<gt>gzflush($flush_type) ;>, B<$offset =
$gz-E<gt>gztell() ;>, B<$status = $gz-E<gt>gzseek($offset, $whence) ;>,
B<$gz-E<gt>gzclose>, B<$gz-E<gt>gzsetparams($level, $strategy>, B<$level>,
B<$strategy>, B<$gz-E<gt>gzerror>, B<$gzerrno>

=over 4

=item Examples

=item Compress::Zlib::memGzip

=item Compress::Zlib::memGunzip

=back

=item COMPRESS/UNCOMPRESS

B<$dest = compress($source [, $level] ) ;>, B<$dest = uncompress($source)
;>

=item Deflate Interface

=over 4

=item B<($d, $status) = deflateInit( [OPT] )>

B<-Level>, B<-Method>, B<-WindowBits>, B<-MemLevel>, B<-Strategy>,
B<-Dictionary>, B<-Bufsize>

=item B<($out, $status) = $d-E<gt>deflate($buffer)>

=item B<($out, $status) = $d-E<gt>flush()>
=head2 B<($out, $status) = $d-E<gt>flush($flush_type)>

=item B<$status = $d-E<gt>deflateParams([OPT])>

B<-Level>, B<-Strategy>

=item B<$d-E<gt>dict_adler()>

=item B<$d-E<gt>msg()>

=item B<$d-E<gt>total_in()>

=item B<$d-E<gt>total_out()>

=item Example

=back

=item Inflate Interface

=over 4

=item B<($i, $status) = inflateInit()>

B<-WindowBits>, B<-Bufsize>, B<-Dictionary>

=item B<($out, $status) = $i-E<gt>inflate($buffer)>

=item B<$status = $i-E<gt>inflateSync($buffer)>

=item B<$i-E<gt>dict_adler()>

=item B<$i-E<gt>msg()>

=item B<$i-E<gt>total_in()>

=item B<$i-E<gt>total_out()>

=item Example

=back

=item CHECKSUM FUNCTIONS

=item Misc

=over 4

=item my $version = Compress::Zlib::zlib_version();

=back

=item CONSTANTS

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

myconfig(), config_sh(), config_re($regex), config_vars(@names),
bincompat_options(), non_bincompat_options(), compile_date(),
local_patches(), header_files()

=item EXAMPLE

=item WARNING

=item GLOSSARY

=back

=over 4

=item P

C<PERL_API_REVISION>, C<PERL_API_SUBVERSION>, C<PERL_API_VERSION>,
C<PERL_CONFIG_SH>, C<PERL_PATCHLEVEL>, C<PERL_REVISION>,
C<PERL_SUBVERSION>, C<PERL_VERSION>

=item _

C<_a>, C<_exe>, C<_o>

=item a

C<afs>, C<afsroot>, C<alignbytes>, C<aphostname>, C<api_revision>,
C<api_subversion>, C<api_version>, C<api_versionstring>, C<ar>, C<archlib>,
C<archlibexp>, C<archname>, C<archname64>, C<archobjs>, C<asctime_r_proto>,
C<awk>

=item b

C<baserev>, C<bash>, C<bin>, C<bin_ELF>, C<binexp>, C<bison>, C<byacc>,
C<byteorder>

=item c

C<c>, C<castflags>, C<cat>, C<cc>, C<cccdlflags>, C<ccdlflags>, C<ccflags>,
C<ccflags_uselargefiles>, C<ccname>, C<ccsymbols>, C<ccversion>, C<cf_by>,
C<cf_email>, C<cf_time>, C<charbits>, C<charsize>, C<chgrp>, C<chmod>,
C<chown>, C<clocktype>, C<comm>, C<compiler_warning>, C<compress>,
C<config_arg0>, C<config_argc>, C<config_args>, C<contains>, C<cp>,
C<cpio>, C<cpp>, C<cpp_stuff>, C<cppccsymbols>, C<cppflags>, C<cpplast>,
C<cppminus>, C<cpprun>, C<cppstdin>, C<cppsymbols>, C<crypt_r_proto>,
C<cryptlib>, C<csh>, C<ctermid_r_proto>, C<ctime_r_proto>

=item d

C<d_Gconvert>, C<d_PRIEUldbl>, C<d_PRIFUldbl>, C<d_PRIGUldbl>,
C<d_PRIXU64>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIfldbl>, C<d_PRIgldbl>,
C<d_PRIi64>, C<d_PRIo64>, C<d_PRIu64>, C<d_PRIx64>, C<d_SCNfldbl>,
C<d__fwalk>, C<d_accept4>, C<d_access>, C<d_accessx>, C<d_acosh>,
C<d_aintl>, C<d_alarm>, C<d_archlib>, C<d_asctime64>, C<d_asctime_r>,
C<d_asinh>, C<d_atanh>, C<d_atolf>, C<d_atoll>,
C<d_attribute_always_inline>, C<d_attribute_deprecated>,
C<d_attribute_format>, C<d_attribute_malloc>, C<d_attribute_nonnull>,
C<d_attribute_noreturn>, C<d_attribute_pure>, C<d_attribute_unused>,
C<d_attribute_visibility>, C<d_attribute_warn_unused_result>,
C<d_backtrace>, C<d_bsd>, C<d_bsdgetpgrp>, C<d_bsdsetpgrp>,
C<d_builtin_add_overflow>, C<d_builtin_choose_expr>, C<d_builtin_expect>,
C<d_builtin_mul_overflow>, C<d_builtin_sub_overflow>,
C<d_c99_variadic_macros>, C<d_casti32>, C<d_castneg>, C<d_cbrt>,
C<d_chown>, C<d_chroot>, C<d_chsize>, C<d_class>, C<d_clearenv>,
C<d_closedir>, C<d_cmsghdr_s>, C<d_copysign>, C<d_copysignl>,
C<d_cplusplus>, C<d_crypt>, C<d_crypt_r>, C<d_csh>, C<d_ctermid>,
C<d_ctermid_r>, C<d_ctime64>, C<d_ctime_r>, C<d_cuserid>,
C<d_dbminitproto>, C<d_difftime>, C<d_difftime64>, C<d_dir_dd_fd>,
C<d_dirfd>, C<d_dirnamlen>, C<d_dladdr>, C<d_dlerror>, C<d_dlopen>,
C<d_dlsymun>, C<d_dosuid>, C<d_double_has_inf>, C<d_double_has_nan>,
C<d_double_has_negative_zero>, C<d_double_has_subnormals>,
C<d_double_style_cray>, C<d_double_style_ibm>, C<d_double_style_ieee>,
C<d_double_style_vax>, C<d_drand48_r>, C<d_drand48proto>, C<d_dup2>,
C<d_dup3>, C<d_duplocale>, C<d_eaccess>, C<d_endgrent>, C<d_endgrent_r>,
C<d_endhent>, C<d_endhostent_r>, C<d_endnent>, C<d_endnetent_r>,
C<d_endpent>, C<d_endprotoent_r>, C<d_endpwent>, C<d_endpwent_r>,
C<d_endsent>, C<d_endservent_r>, C<d_eofnblk>, C<d_erf>, C<d_erfc>,
C<d_eunice>, C<d_exp2>, C<d_expm1>, C<d_faststdio>, C<d_fchdir>,
C<d_fchmod>, C<d_fchmodat>, C<d_fchown>, C<d_fcntl>, C<d_fcntl_can_lock>,
C<d_fd_macros>, C<d_fd_set>, C<d_fdclose>, C<d_fdim>, C<d_fdopendir>,
C<d_fds_bits>, C<d_fegetround>, C<d_ffs>, C<d_ffsl>, C<d_fgetpos>,
C<d_finite>, C<d_finitel>, C<d_flexfnam>, C<d_flock>, C<d_flockproto>,
C<d_fma>, C<d_fmax>, C<d_fmin>, C<d_fork>, C<d_fp_class>, C<d_fp_classify>,
C<d_fp_classl>, C<d_fpathconf>, C<d_fpclass>, C<d_fpclassify>,
C<d_fpclassl>, C<d_fpgetround>, C<d_fpos64_t>, C<d_freelocale>,
C<d_frexpl>, C<d_fs_data_s>, C<d_fseeko>, C<d_fsetpos>, C<d_fstatfs>,
C<d_fstatvfs>, C<d_fsync>, C<d_ftello>, C<d_ftime>, C<d_futimes>,
C<d_gai_strerror>, C<d_gdbm_ndbm_h_uses_prototypes>,
C<d_gdbmndbm_h_uses_prototypes>, C<d_getaddrinfo>, C<d_getcwd>,
C<d_getenv_preserves_other_thread>, C<d_getespwnam>, C<d_getfsstat>,
C<d_getgrent>, C<d_getgrent_r>, C<d_getgrgid_r>, C<d_getgrnam_r>,
C<d_getgrps>, C<d_gethbyaddr>, C<d_gethbyname>, C<d_gethent>,
C<d_gethname>, C<d_gethostbyaddr_r>, C<d_gethostbyname_r>,
C<d_gethostent_r>, C<d_gethostprotos>, C<d_getitimer>, C<d_getlogin>,
C<d_getlogin_r>, C<d_getmnt>, C<d_getmntent>, C<d_getnameinfo>,
C<d_getnbyaddr>, C<d_getnbyname>, C<d_getnent>, C<d_getnetbyaddr_r>,
C<d_getnetbyname_r>, C<d_getnetent_r>, C<d_getnetprotos>, C<d_getpagsz>,
C<d_getpbyname>, C<d_getpbynumber>, C<d_getpent>, C<d_getpgid>,
C<d_getpgrp>, C<d_getpgrp2>, C<d_getppid>, C<d_getprior>,
C<d_getprotobyname_r>, C<d_getprotobynumber_r>, C<d_getprotoent_r>,
C<d_getprotoprotos>, C<d_getprpwnam>, C<d_getpwent>, C<d_getpwent_r>,
C<d_getpwnam_r>, C<d_getpwuid_r>, C<d_getsbyname>, C<d_getsbyport>,
C<d_getsent>, C<d_getservbyname_r>, C<d_getservbyport_r>,
C<d_getservent_r>, C<d_getservprotos>, C<d_getspnam>, C<d_getspnam_r>,
C<d_gettimeod>, C<d_gmtime64>, C<d_gmtime_r>, C<d_gnulibc>, C<d_grpasswd>,
C<d_has_C_UTF8>, C<d_hasmntopt>, C<d_htonl>, C<d_hypot>, C<d_ilogb>,
C<d_ilogbl>, C<d_inc_version_list>, C<d_inetaton>, C<d_inetntop>,
C<d_inetpton>, C<d_int64_t>, C<d_ip_mreq>, C<d_ip_mreq_source>,
C<d_ipv6_mreq>, C<d_ipv6_mreq_source>, C<d_isascii>, C<d_isblank>,
C<d_isfinite>, C<d_isfinitel>, C<d_isinf>, C<d_isinfl>, C<d_isless>,
C<d_isnan>, C<d_isnanl>, C<d_isnormal>, C<d_j0>, C<d_j0l>, C<d_killpg>,
C<d_lc_monetary_2008>, C<d_lchown>, C<d_ldbl_dig>, C<d_ldexpl>,
C<d_lgamma>, C<d_lgamma_r>, C<d_libm_lib_version>, C<d_libname_unique>,
C<d_link>, C<d_linkat>, C<d_llrint>, C<d_llrintl>, C<d_llround>,
C<d_llroundl>, C<d_localeconv_l>, C<d_localtime64>, C<d_localtime_r>,
C<d_localtime_r_needs_tzset>, C<d_locconv>, C<d_lockf>, C<d_log1p>,
C<d_log2>, C<d_logb>, C<d_long_double_style_ieee>,
C<d_long_double_style_ieee_doubledouble>,
C<d_long_double_style_ieee_extended>, C<d_long_double_style_ieee_std>,
C<d_long_double_style_vax>, C<d_longdbl>, C<d_longlong>, C<d_lrint>,
C<d_lrintl>, C<d_lround>, C<d_lroundl>, C<d_lseekproto>, C<d_lstat>,
C<d_madvise>, C<d_malloc_good_size>, C<d_malloc_size>,
C<d_malloc_usable_size>, C<d_mblen>, C<d_mbrlen>, C<d_mbrtowc>,
C<d_mbstowcs>, C<d_mbtowc>, C<d_memmem>, C<d_memrchr>, C<d_mkdir>,
C<d_mkdtemp>, C<d_mkfifo>, C<d_mkostemp>, C<d_mkstemp>, C<d_mkstemps>,
C<d_mktime>, C<d_mktime64>, C<d_mmap>, C<d_modfl>, C<d_modflproto>,
C<d_mprotect>, C<d_msg>, C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>,
C<d_msg_peek>, C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msghdr_s>,
C<d_msgrcv>, C<d_msgsnd>, C<d_msync>, C<d_munmap>, C<d_mymalloc>, C<d_nan>,
C<d_nanosleep>, C<d_ndbm>, C<d_ndbm_h_uses_prototypes>, C<d_nearbyint>,
C<d_newlocale>, C<d_nextafter>, C<d_nexttoward>, C<d_nice>,
C<d_nl_langinfo>, C<d_nl_langinfo_l>, C<d_non_int_bitfields>,
C<d_nv_preserves_uv>, C<d_nv_zero_is_allbits_zero>, C<d_off64_t>,
C<d_old_pthread_create_joinable>, C<d_oldpthreads>, C<d_oldsock>,
C<d_open3>, C<d_openat>, C<d_pathconf>, C<d_pause>,
C<d_perl_lc_all_category_positions_init>, C<d_perl_lc_all_separator>,
C<d_perl_lc_all_uses_name_value_pairs>, C<d_perl_otherlibdirs>,
C<d_phostname>, C<d_pipe>, C<d_pipe2>, C<d_poll>, C<d_portable>,
C<d_prctl>, C<d_prctl_set_name>, C<d_printf_format_null>, C<d_procselfexe>,
C<d_pseudofork>, C<d_pthread_atfork>, C<d_pthread_attr_setscope>,
C<d_pthread_yield>, C<d_ptrdiff_t>, C<d_pwage>, C<d_pwchange>,
C<d_pwclass>, C<d_pwcomment>, C<d_pwexpire>, C<d_pwgecos>, C<d_pwpasswd>,
C<d_pwquota>, C<d_qgcvt>, C<d_quad>, C<d_querylocale>, C<d_random_r>,
C<d_re_comp>, C<d_readdir>, C<d_readdir64_r>, C<d_readdir_r>,
C<d_readlink>, C<d_readv>, C<d_recvmsg>, C<d_regcmp>, C<d_regcomp>,
C<d_remainder>, C<d_remquo>, C<d_rename>, C<d_renameat>, C<d_rewinddir>,
C<d_rint>, C<d_rmdir>, C<d_round>, C<d_sbrkproto>, C<d_scalbn>,
C<d_scalbnl>, C<d_sched_yield>, C<d_scm_rights>, C<d_seekdir>, C<d_select>,
C<d_sem>, C<d_semctl>, C<d_semctl_semid_ds>, C<d_semctl_semun>,
C<d_semget>, C<d_semop>, C<d_sendmsg>, C<d_setegid>, C<d_setenv>,
C<d_seteuid>, C<d_setgrent>, C<d_setgrent_r>, C<d_setgrps>, C<d_sethent>,
C<d_sethostent_r>, C<d_setitimer>, C<d_setlinebuf>, C<d_setlocale>,
C<d_setlocale_accepts_any_locale_name>, C<d_setlocale_r>, C<d_setnent>,
C<d_setnetent_r>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp>, C<d_setpgrp2>,
C<d_setprior>, C<d_setproctitle>, C<d_setprotoent_r>, C<d_setpwent>,
C<d_setpwent_r>, C<d_setregid>, C<d_setresgid>, C<d_setresuid>,
C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>, C<d_setservent_r>,
C<d_setsid>, C<d_setvbuf>, C<d_shm>, C<d_shmat>, C<d_shmatprototype>,
C<d_shmctl>, C<d_shmdt>, C<d_shmget>, C<d_sigaction>, C<d_siginfo_si_addr>,
C<d_siginfo_si_band>, C<d_siginfo_si_errno>, C<d_siginfo_si_fd>,
C<d_siginfo_si_pid>, C<d_siginfo_si_status>, C<d_siginfo_si_uid>,
C<d_siginfo_si_value>, C<d_signbit>, C<d_sigprocmask>, C<d_sigsetjmp>,
C<d_sin6_scope_id>, C<d_sitearch>, C<d_snprintf>, C<d_sockaddr_in6>,
C<d_sockaddr_sa_len>, C<d_sockaddr_storage>, C<d_sockatmark>,
C<d_sockatmarkproto>, C<d_socket>, C<d_socklen_t>, C<d_sockpair>,
C<d_socks5_init>, C<d_sqrtl>, C<d_srand48_r>, C<d_srandom_r>,
C<d_sresgproto>, C<d_sresuproto>, C<d_stat>, C<d_statblks>,
C<d_statfs_f_flags>, C<d_statfs_s>, C<d_static_inline>, C<d_statvfs>,
C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>, C<d_stdio_ptr_lval_nochange_cnt>,
C<d_stdio_ptr_lval_sets_cnt>, C<d_stdio_stream_array>, C<d_stdiobase>,
C<d_stdstdio>, C<d_strcoll>, C<d_strerror_l>, C<d_strerror_r>,
C<d_strftime>, C<d_strlcat>, C<d_strlcpy>, C<d_strnlen>, C<d_strtod>,
C<d_strtod_l>, C<d_strtol>, C<d_strtold>, C<d_strtold_l>, C<d_strtoll>,
C<d_strtoq>, C<d_strtoul>, C<d_strtoull>, C<d_strtouq>, C<d_strxfrm>,
C<d_strxfrm_l>, C<d_suidsafe>, C<d_symlink>, C<d_syscall>,
C<d_syscallproto>, C<d_sysconf>, C<d_sysernlst>, C<d_syserrlst>,
C<d_system>, C<d_tcgetpgrp>, C<d_tcsetpgrp>, C<d_telldir>,
C<d_telldirproto>, C<d_tgamma>, C<d_thread_local>, C<d_time>, C<d_timegm>,
C<d_times>, C<d_tm_tm_gmtoff>, C<d_tm_tm_zone>, C<d_tmpnam_r>,
C<d_towlower>, C<d_towupper>, C<d_trunc>, C<d_truncate>, C<d_truncl>,
C<d_ttyname_r>, C<d_tzname>, C<d_u32align>, C<d_ualarm>, C<d_umask>,
C<d_uname>, C<d_union_semun>, C<d_unlinkat>, C<d_unordered>, C<d_unsetenv>,
C<d_uselocale>, C<d_usleep>, C<d_usleepproto>, C<d_ustat>, C<d_vendorarch>,
C<d_vendorbin>, C<d_vendorlib>, C<d_vendorscript>, C<d_vfork>,
C<d_void_closedir>, C<d_voidsig>, C<d_voidtty>, C<d_vsnprintf>, C<d_wait4>,
C<d_waitpid>, C<d_wcrtomb>, C<d_wcscmp>, C<d_wcstombs>, C<d_wcsxfrm>,
C<d_wctomb>, C<d_writev>, C<d_xenix>, C<date>, C<db_hashtype>,
C<db_prefixtype>, C<db_version_major>, C<db_version_minor>,
C<db_version_patch>, C<default_inc_excludes_dot>, C<direntrytype>,
C<dlext>, C<dlsrc>, C<doubleinfbytes>, C<doublekind>, C<doublemantbits>,
C<doublenanbytes>, C<doublesize>, C<drand01>, C<drand48_r_proto>,
C<dtrace>, C<dtraceobject>, C<dtracexnolibs>, C<dynamic_ext>

=item e

C<eagain>, C<ebcdic>, C<echo>, C<egrep>, C<emacs>, C<endgrent_r_proto>,
C<endhostent_r_proto>, C<endnetent_r_proto>, C<endprotoent_r_proto>,
C<endpwent_r_proto>, C<endservent_r_proto>, C<eunicefix>, C<exe_ext>,
C<expr>, C<extensions>, C<extern_C>, C<extras>

=item f

C<fflushNULL>, C<fflushall>, C<find>, C<firstmakefile>, C<flex>,
C<fpossize>, C<fpostype>, C<freetype>, C<from>, C<full_ar>, C<full_csh>,
C<full_sed>

=item g

C<gccansipedantic>, C<gccosandvers>, C<gccversion>, C<getgrent_r_proto>,
C<getgrgid_r_proto>, C<getgrnam_r_proto>, C<gethostbyaddr_r_proto>,
C<gethostbyname_r_proto>, C<gethostent_r_proto>, C<getlogin_r_proto>,
C<getnetbyaddr_r_proto>, C<getnetbyname_r_proto>, C<getnetent_r_proto>,
C<getprotobyname_r_proto>, C<getprotobynumber_r_proto>,
C<getprotoent_r_proto>, C<getpwent_r_proto>, C<getpwnam_r_proto>,
C<getpwuid_r_proto>, C<getservbyname_r_proto>, C<getservbyport_r_proto>,
C<getservent_r_proto>, C<getspnam_r_proto>, C<gidformat>, C<gidsign>,
C<gidsize>, C<gidtype>, C<glibpth>, C<gmake>, C<gmtime_r_proto>,
C<gnulibc_version>, C<grep>, C<groupcat>, C<groupstype>, C<gzip>

=item h

C<h_fcntl>, C<h_sysfile>, C<hint>, C<hostcat>, C<hostgenerate>,
C<hostosname>, C<hostperl>, C<html1dir>, C<html1direxp>, C<html3dir>,
C<html3direxp>

=item i

C<i16size>, C<i16type>, C<i32dformat>, C<i32size>, C<i32type>, C<i64size>,
C<i64type>, C<i8size>, C<i8type>, C<i_arpainet>, C<i_bfd>, C<i_bsdioctl>,
C<i_crypt>, C<i_db>, C<i_dbm>, C<i_dirent>, C<i_dlfcn>, C<i_execinfo>,
C<i_fcntl>, C<i_fenv>, C<i_fp>, C<i_fp_class>, C<i_gdbm>, C<i_gdbm_ndbm>,
C<i_gdbmndbm>, C<i_grp>, C<i_ieeefp>, C<i_inttypes>, C<i_langinfo>,
C<i_libutil>, C<i_locale>, C<i_machcthr>, C<i_malloc>, C<i_mallocmalloc>,
C<i_mntent>, C<i_ndbm>, C<i_netdb>, C<i_neterrno>, C<i_netinettcp>,
C<i_niin>, C<i_poll>, C<i_prot>, C<i_pthread>, C<i_pwd>, C<i_quadmath>,
C<i_rpcsvcdbm>, C<i_sgtty>, C<i_shadow>, C<i_socks>, C<i_stdbool>,
C<i_stdint>, C<i_stdlib>, C<i_sunmath>, C<i_sysaccess>, C<i_sysdir>,
C<i_sysfile>, C<i_sysfilio>, C<i_sysin>, C<i_sysioctl>, C<i_syslog>,
C<i_sysmman>, C<i_sysmode>, C<i_sysmount>, C<i_sysndir>, C<i_sysparam>,
C<i_syspoll>, C<i_sysresrc>, C<i_syssecrt>, C<i_sysselct>, C<i_syssockio>,
C<i_sysstat>, C<i_sysstatfs>, C<i_sysstatvfs>, C<i_syssyscall>,
C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>, C<i_sysuio>,
C<i_sysun>, C<i_sysutsname>, C<i_sysvfs>, C<i_syswait>, C<i_termio>,
C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>, C<i_vfork>,
C<i_wchar>, C<i_wctype>, C<i_xlocale>, C<ignore_versioned_solibs>,
C<inc_version_list>, C<inc_version_list_init>, C<incpath>, C<incpth>,
C<inews>, C<initialinstalllocation>, C<installarchlib>, C<installbin>,
C<installhtml1dir>, C<installhtml3dir>, C<installman1dir>,
C<installman3dir>, C<installprefix>, C<installprefixexp>,
C<installprivlib>, C<installscript>, C<installsitearch>, C<installsitebin>,
C<installsitehtml1dir>, C<installsitehtml3dir>, C<installsitelib>,
C<installsiteman1dir>, C<installsiteman3dir>, C<installsitescript>,
C<installstyle>, C<installusrbinperl>, C<installvendorarch>,
C<installvendorbin>, C<installvendorhtml1dir>, C<installvendorhtml3dir>,
C<installvendorlib>, C<installvendorman1dir>, C<installvendorman3dir>,
C<installvendorscript>, C<intsize>, C<issymlink>, C<ivdformat>, C<ivsize>,
C<ivtype>

=item k

C<known_extensions>, C<ksh>

=item l

C<ld>, C<ld_can_script>, C<lddlflags>, C<ldflags>,
C<ldflags_uselargefiles>, C<ldlibpthname>, C<less>, C<lib_ext>, C<libc>,
C<libperl>, C<libpth>, C<libs>, C<libsdirs>, C<libsfiles>, C<libsfound>,
C<libspath>, C<libswanted>, C<libswanted_uselargefiles>, C<line>, C<lint>,
C<lkflags>, C<ln>, C<lns>, C<localtime_r_proto>, C<locincpth>,
C<loclibpth>, C<longdblinfbytes>, C<longdblkind>, C<longdblmantbits>,
C<longdblnanbytes>, C<longdblsize>, C<longlongsize>, C<longsize>, C<lp>,
C<lpr>, C<ls>, C<lseeksize>, C<lseektype>

=item m

C<mail>, C<mailx>, C<make>, C<make_set_make>, C<mallocobj>, C<mallocsrc>,
C<malloctype>, C<man1dir>, C<man1direxp>, C<man1ext>, C<man3dir>,
C<man3direxp>, C<man3ext>, C<mips_type>, C<mistrustnm>, C<mkdir>,
C<mmaptype>, C<modetype>, C<more>, C<multiarch>, C<mv>, C<myarchname>,
C<mydomain>, C<myhostname>, C<myuname>

=item n

C<n>, C<need_va_copy>, C<netdb_hlen_type>, C<netdb_host_type>,
C<netdb_name_type>, C<netdb_net_type>, C<nm>, C<nm_opt>, C<nm_so_opt>,
C<nonxs_ext>, C<nroff>, C<nvEUformat>, C<nvFUformat>, C<nvGUformat>,
C<nv_overflows_integers_at>, C<nv_preserves_uv_bits>, C<nveformat>,
C<nvfformat>, C<nvgformat>, C<nvmantbits>, C<nvsize>, C<nvtype>

=item o

C<o_nonblock>, C<obj_ext>, C<old_pthread_create_joinable>, C<optimize>,
C<orderlib>, C<osname>, C<osvers>, C<otherlibdirs>

=item p

C<package>, C<pager>, C<passcat>, C<patchlevel>, C<path_sep>, C<perl>,
C<perl5>, C<perl_lc_all_category_positions_init>, C<perl_lc_all_separator>,
C<perl_patchlevel>, C<perl_static_inline>, C<perl_thread_local>,
C<perladmin>, C<perllibs>, C<perlpath>, C<pg>, C<phostname>, C<pidtype>,
C<plibpth>, C<pmake>, C<pr>, C<prefix>, C<prefixexp>, C<privlib>,
C<privlibexp>, C<procselfexe>, C<ptrsize>

=item q

C<quadkind>, C<quadtype>

=item r

C<randbits>, C<randfunc>, C<random_r_proto>, C<randseedtype>, C<ranlib>,
C<rd_nodata>, C<readdir64_r_proto>, C<readdir_r_proto>, C<revision>, C<rm>,
C<rm_try>, C<rmail>, C<run>, C<runnm>

=item s

C<sGMTIME_max>, C<sGMTIME_min>, C<sLOCALTIME_max>, C<sLOCALTIME_min>,
C<sPRIEUldbl>, C<sPRIFUldbl>, C<sPRIGUldbl>, C<sPRIXU64>, C<sPRId64>,
C<sPRIeldbl>, C<sPRIfldbl>, C<sPRIgldbl>, C<sPRIi64>, C<sPRIo64>,
C<sPRIu64>, C<sPRIx64>, C<sSCNfldbl>, C<sched_yield>, C<scriptdir>,
C<scriptdirexp>, C<sed>, C<seedfunc>, C<selectminbits>, C<selecttype>,
C<sendmail>, C<setgrent_r_proto>, C<sethostent_r_proto>,
C<setlocale_r_proto>, C<setnetent_r_proto>, C<setprotoent_r_proto>,
C<setpwent_r_proto>, C<setservent_r_proto>, C<sh>, C<shar>, C<sharpbang>,
C<shmattype>, C<shortsize>, C<shrpenv>, C<shsharp>, C<sig_count>,
C<sig_name>, C<sig_name_init>, C<sig_num>, C<sig_num_init>, C<sig_size>,
C<signal_t>, C<sitearch>, C<sitearchexp>, C<sitebin>, C<sitebinexp>,
C<sitehtml1dir>, C<sitehtml1direxp>, C<sitehtml3dir>, C<sitehtml3direxp>,
C<sitelib>, C<sitelib_stem>, C<sitelibexp>, C<siteman1dir>,
C<siteman1direxp>, C<siteman3dir>, C<siteman3direxp>, C<siteprefix>,
C<siteprefixexp>, C<sitescript>, C<sitescriptexp>, C<sizesize>,
C<sizetype>, C<sleep>, C<smail>, C<so>, C<sockethdr>, C<socketlib>,
C<socksizetype>, C<sort>, C<spackage>, C<spitshell>, C<srand48_r_proto>,
C<srandom_r_proto>, C<src>, C<ssizetype>, C<st_dev_sign>, C<st_dev_size>,
C<st_ino_sign>, C<st_ino_size>, C<startperl>, C<startsh>, C<static_ext>,
C<stdchar>, C<stdio_base>, C<stdio_bufsiz>, C<stdio_cnt>, C<stdio_filbuf>,
C<stdio_ptr>, C<stdio_stream_array>, C<strerror_r_proto>, C<submit>,
C<subversion>, C<sysman>, C<sysroot>

=item t

C<tail>, C<taint_disabled>, C<taint_support>, C<tar>, C<targetarch>,
C<targetdir>, C<targetenv>, C<targethost>, C<targetmkdir>, C<targetport>,
C<targetsh>, C<tbl>, C<tee>, C<test>, C<timeincl>, C<timetype>,
C<tmpnam_r_proto>, C<to>, C<touch>, C<tr>, C<trnl>, C<troff>,
C<ttyname_r_proto>

=item u

C<u16size>, C<u16type>, C<u32XUformat>, C<u32oformat>, C<u32size>,
C<u32type>, C<u32uformat>, C<u32xformat>, C<u64size>, C<u64type>,
C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
C<uname>, C<uniq>, C<uquadtype>, C<use64bitall>, C<use64bitint>,
C<usecbacktrace>, C<usecrosscompile>, C<usedefaultstrict>, C<usedevel>,
C<usedl>, C<usedtrace>, C<usefaststdio>, C<useithreads>,
C<usekernprocpathname>, C<uselanginfo>, C<uselargefiles>, C<uselongdouble>,
C<usemallocwrap>, C<usemorebits>, C<usemultiplicity>, C<usemymalloc>,
C<usenm>, C<usensgetexecutablepath>, C<useopcode>, C<useperlio>,
C<useposix>, C<usequadmath>, C<usereentrant>, C<userelocatableinc>,
C<useshrplib>, C<usesitecustomize>, C<usesocks>, C<usethreads>,
C<usevendorprefix>, C<useversionedarchname>, C<usevfork>, C<usrinc>,
C<uuname>, C<uvXUformat>, C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>,
C<uvxformat>

=item v

C<vendorarch>, C<vendorarchexp>, C<vendorbin>, C<vendorbinexp>,
C<vendorhtml1dir>, C<vendorhtml1direxp>, C<vendorhtml3dir>,
C<vendorhtml3direxp>, C<vendorlib>, C<vendorlib_stem>, C<vendorlibexp>,
C<vendorman1dir>, C<vendorman1direxp>, C<vendorman3dir>,
C<vendorman3direxp>, C<vendorprefix>, C<vendorprefixexp>, C<vendorscript>,
C<vendorscriptexp>, C<version>, C<version_patchlevel_string>,
C<versiononly>, C<vi>

=item x

C<xlibpth>, C<xlocale_needed>

=item y

C<yacc>, C<yaccflags>

=item z

C<zcat>, C<zip>

=back

=over 4

=item GIT DATA

=item NOTE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

dynamic, nonxs, static

=item AUTHOR

=back

=head2 Config::Perl::V - Structured data retrieval of perl -V output

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item $conf = myconfig ()

=item $conf = plv2hash ($text [, ...])

=item $info = summary ([$conf])

=item $md5 = signature ([$conf])

=item The hash structure

build, osname, stamp, options, derived, patches, environment, config, inc

=back

=item REASONING

=item BUGS

=item TODO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 Cwd - get pathname of current working directory

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item getcwd and friends

getcwd, cwd, fastcwd, fastgetcwd, getdcwd

=item abs_path and friends

abs_path, realpath, fast_abs_path

=item $ENV{PWD}

=back

=item NOTES

=item AUTHOR

=item COPYRIGHT

=item SEE ALSO

=back

=head2 DB - programmatic interface to the Perl debugging API

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item 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

=item API Methods

CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'),
CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()

=item Client Callback Methods

CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(),
CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(),
CLIENT->output(LIST)

=back

=item BUGS

=item AUTHOR

=back

=head2 DBM_Filter -- Filter DBM keys/values 

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item What is a DBM Filter?

=over 4

=item So what's new?

=back

=item METHODS

=over 4

=item $db->Filter_Push() / $db->Filter_Key_Push() /
$db->Filter_Value_Push()

Filter_Push, Filter_Key_Push, Filter_Value_Push

=item $db->Filter_Pop()

=item $db->Filtered()

=back

=item Writing a Filter

=over 4

=item Immediate Filters

=item Canned Filters

"name", params

=back

=item Filters Included

utf8, encode, compress, int32, null

=item NOTES

=over 4

=item Maintain Round Trip Integrity

=item Don't mix filtered & non-filtered data in the same database file. 

=back

=item EXAMPLE

=item SEE ALSO

=item AUTHOR

=back

=head2 DBM_Filter::compress - filter for DBM_Filter

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item AUTHOR

=back

=head2 DBM_Filter::encode - filter for DBM_Filter

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item AUTHOR

=back

=head2 DBM_Filter::int32 - filter for DBM_Filter

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item AUTHOR

=back

=head2 DBM_Filter::null - filter for DBM_Filter

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item AUTHOR

=back

=head2 DBM_Filter::utf8 - filter for DBM_Filter

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item AUTHOR

=back

=head2 Data::Dumper - stringified perl data structures, suitable for both
printing and C<eval>

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Methods

I<PACKAGE>->new(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Dump  I<or> 
I<PACKAGE>->Dump(I<ARRAYREF [>, I<ARRAYREF]>), I<$OBJ>->Seen(I<[HASHREF]>),
I<$OBJ>->Values(I<[ARRAYREF]>), I<$OBJ>->Names(I<[ARRAYREF]>),
I<$OBJ>->Reset

=item Functions

Dumper(I<LIST>)

=item Configuration Variables or Methods

=item Exports

Dumper

=back

=item EXAMPLES

=item BUGS

=over 4

=item NOTE

=back

=item AUTHOR

=item VERSION

=item SEE ALSO

=back

=head2 Devel::PPPort - Perl/Pollution/Portability

=over 4

=item SYNOPSIS

=item Start using Devel::PPPort for XS projects

=item DESCRIPTION

=over 4

=item Why use ppport.h?

=item How to use ppport.h

=item Running ppport.h

=back

=item FUNCTIONS

=over 4

=item WriteFile

=item GetFileContents

=back

=item COMPATIBILITY

=over 4

=item Provided Perl compatibility API

=item 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

=back

=item BUGS

=item AUTHORS

=item COPYRIGHT

=item SEE ALSO

=back

=head2 Devel::Peek - A data debugging tool for the XS programmer

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Runtime debugging

=item Memory footprint debugging

=back

=item EXAMPLES

=over 4

=item A simple scalar string

=item A simple scalar number

=item A simple scalar with an extra reference

=item A reference to a simple scalar

=item A reference to an array

=item A reference to a hash

=item Dumping a large array or hash

=item A reference to an SV which holds a C pointer

=item A reference to a subroutine

=back

=item EXPORTS

=item BUGS

=item AUTHOR

=item SEE ALSO

=back

=head2 Devel::SelfStubber - generate stubs for a SelfLoading module

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 Digest - Modules that calculate message digests

=over 4

=item SYNOPSIS

=item DESCRIPTION

I<binary>, I<hex>, I<base64>

=item 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

=item Digest speed

=item SEE ALSO

=item AUTHOR

=back

=head2 Digest::MD5 - Perl interface to the MD5 Algorithm

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS

md5($data,...), md5_hex($data,...), md5_base64($data,...)

=item 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)

=item EXAMPLES

=item SEE ALSO

=item COPYRIGHT

=item AUTHORS

=back

=head2 Digest::SHA - Perl extension for SHA-1/224/256/384/512

=over 4

=item SYNOPSIS

=item SYNOPSIS (HMAC-SHA)

=item ABSTRACT

=item DESCRIPTION

=item UNICODE AND SIDE EFFECTS

=item NIST STATEMENT ON SHA-1

=item PADDING OF BASE64 DIGESTS

=item EXPORT

=item EXPORTABLE FUNCTIONS

B<sha1($data, ...)>, B<sha224($data, ...)>, B<sha256($data, ...)>,
B<sha384($data, ...)>, B<sha512($data, ...)>, B<sha512224($data, ...)>,
B<sha512256($data, ...)>, B<sha1_hex($data, ...)>, B<sha224_hex($data,
...)>, B<sha256_hex($data, ...)>, B<sha384_hex($data, ...)>,
B<sha512_hex($data, ...)>, B<sha512224_hex($data, ...)>,
B<sha512256_hex($data, ...)>, B<sha1_base64($data, ...)>,
B<sha224_base64($data, ...)>, B<sha256_base64($data, ...)>,
B<sha384_base64($data, ...)>, B<sha512_base64($data, ...)>,
B<sha512224_base64($data, ...)>, B<sha512256_base64($data, ...)>,
B<new($alg)>, B<reset($alg)>, B<hashsize>, B<algorithm>, B<clone>,
B<add($data, ...)>, B<add_bits($data, $nbits)>, B<add_bits($bits)>,
B<addfile(*FILE)>, B<addfile($filename [, $mode])>, B<getstate>,
B<putstate($str)>, B<dump($filename)>, B<load($filename)>, B<digest>,
B<hexdigest>, B<b64digest>, B<hmac_sha1($data, $key)>, B<hmac_sha224($data,
$key)>, B<hmac_sha256($data, $key)>, B<hmac_sha384($data, $key)>,
B<hmac_sha512($data, $key)>, B<hmac_sha512224($data, $key)>,
B<hmac_sha512256($data, $key)>, B<hmac_sha1_hex($data, $key)>,
B<hmac_sha224_hex($data, $key)>, B<hmac_sha256_hex($data, $key)>,
B<hmac_sha384_hex($data, $key)>, B<hmac_sha512_hex($data, $key)>,
B<hmac_sha512224_hex($data, $key)>, B<hmac_sha512256_hex($data, $key)>,
B<hmac_sha1_base64($data, $key)>, B<hmac_sha224_base64($data, $key)>,
B<hmac_sha256_base64($data, $key)>, B<hmac_sha384_base64($data, $key)>,
B<hmac_sha512_base64($data, $key)>, B<hmac_sha512224_base64($data, $key)>,
B<hmac_sha512256_base64($data, $key)>

=item SEE ALSO

=item AUTHOR

=item ACKNOWLEDGMENTS

=item COPYRIGHT AND LICENSE

=back

=head2 Digest::base - Digest base class

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=back

=head2 Digest::file - Calculate digests of files

=over 4

=item SYNOPSIS

=item DESCRIPTION

digest_file( $file, $algorithm, [$arg,...] ), digest_file_hex( $file,
$algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...]
)

=item SEE ALSO

=back

=head2 DirHandle - (obsolete) supply object methods for directory handles

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 Dumpvalue - provides screen dump of Perl data.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Creation

C<arrayDepth>, C<hashDepth>, C<compactDump>, C<veryCompact>, C<globPrint>,
C<dumpDBFiles>, C<dumpPackages>, C<dumpReused>, C<tick>, C<quoteHighBit>,
C<printUndef>, C<usageOnly>, unctrl, subdump, bareStringify, quoteHighBit,
stopDbSignal

=item Methods

dumpValue, dumpValues, stringify, dumpvars, set_quote, set_unctrl,
compactDump, veryCompact, set, get

=back

=back

=head2 DynaLoader - Dynamically load C libraries into Perl code

=over 4

=item SYNOPSIS

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

=item AUTHOR

=back

=head2 Encode - character encodings in Perl

=over 4

=item SYNOPSIS

=over 4

=item Table of Contents

L<Encode::Alias> - Alias definitions to encodings, L<Encode::Encoding> -
Encode Implementation Base Class, L<Encode::Supported> - List of Supported
Encodings, L<Encode::CN> - Simplified Chinese Encodings, L<Encode::JP> -
Japanese Encodings, L<Encode::KR> - Korean Encodings, L<Encode::TW> -
Traditional Chinese Encodings

=back

=item DESCRIPTION

=over 4

=item TERMINOLOGY

=back

=item THE PERL ENCODING API

=over 4

=item Basic methods

=item Listing available encodings

=item Defining Aliases

=item Finding IANA Character Set Registry names

=back

=item Encoding via PerlIO

=item Handling Malformed Data

=over 4

=item List of I<CHECK> values

perlqq mode (I<CHECK> = Encode::FB_PERLQQ), HTML charref mode (I<CHECK> =
Encode::FB_HTMLCREF), XML charref mode (I<CHECK> = Encode::FB_XMLCREF)

=item coderef for CHECK

=back

=item Defining Encodings

=item The UTF8 flag

Goal #1:, Goal #2:, Goal #3:, Goal #4:

=over 4

=item Messing with Perl's Internals

=back

=item UTF-8 vs. utf8 vs. UTF8

=item SEE ALSO

=item MAINTAINER

=item COPYRIGHT

=back

=head2 Encode::Alias - alias definitions to encodings

=over 4

=item SYNOPSIS

=item DESCRIPTION

As a simple string, As a qr// compiled regular expression, e.g.:, As a code
reference, e.g.:

=over 4

=item Alias overloading

=back

=item SEE ALSO

=back

=head2 Encode::Byte - Single Byte Encodings

=over 4

=item SYNOPSIS

=item ABSTRACT

=item DESCRIPTION

=item SEE ALSO

=back

=head2 Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_*

=head2 Encode::CN - China-based Chinese Encodings

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTES

=item BUGS

=item SEE ALSO

=back

=head2 Encode::CN::HZ -- internally used by Encode::CN

=head2 Encode::Config -- internally used by Encode

=head2 Encode::EBCDIC - EBCDIC Encodings

=over 4

=item SYNOPSIS

=item ABSTRACT

=item DESCRIPTION

=item SEE ALSO

=back

=head2 Encode::Encoder -- Object Oriented Encoder

=over 4

=item SYNOPSIS

=item ABSTRACT

=item Description

=over 4

=item Predefined Methods

$e = Encode::Encoder-E<gt>new([$data, $encoding]);, encoder(),
$e-E<gt>data([$data]), $e-E<gt>encoding([$encoding]),
$e-E<gt>bytes([$encoding])

=item Example: base64 transcoder

=item Operator Overloading

=back

=item SEE ALSO

=back

=head2 Encode::Encoding - Encode Implementation Base Class

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Methods you should implement

-E<gt>encode($string [,$check]), -E<gt>decode($octets [,$check]),
-E<gt>cat_decode($destination, $octets, $offset, $terminator [,$check])

=item Other methods defined in Encode::Encodings

-E<gt>name, -E<gt>mime_name, -E<gt>renew, -E<gt>renewed, -E<gt>perlio_ok(),
-E<gt>needs_lines()

=item Example: Encode::ROT13

=back

=item Why the heck Encode API is different?

=over 4

=item Compiled Encodings

=back

=item SEE ALSO

Scheme 1, Scheme 2, Other Schemes

=back

=head2 Encode::GSM0338 -- ETSI GSM 03.38 Encoding

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Septets

=back

=item BUGS

=item SEE ALSO

=back

=head2 Encode::Guess -- Guesses encoding from data

=over 4

=item SYNOPSIS

=item ABSTRACT

=item DESCRIPTION

Encode::Guess->set_suspects, Encode::Guess->add_suspects,
Encode::decode("Guess" ...), Encode::Guess->guess($data),
guess_encoding($data, [, I<list of suspects>])

=item CAVEATS

=item TO DO

=item SEE ALSO

=back

=head2 Encode::JP - Japanese Encodings

=over 4

=item SYNOPSIS

=item ABSTRACT

=item DESCRIPTION

=item Note on ISO-2022-JP(-1)?

=item BUGS

=item SEE ALSO

=back

=head2 Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*

=head2 Encode::JP::JIS7 -- internally used by Encode::JP

=head2 Encode::KR - Korean Encodings

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item BUGS

=item SEE ALSO

=back

=head2 Encode::KR::2022_KR -- internally used by Encode::KR

=head2 Encode::MIME::Header -- MIME encoding for an unstructured email
header

=over 4

=item SYNOPSIS

=item ABSTRACT

=item DESCRIPTION

=item BUGS

=item AUTHORS

=item SEE ALSO

=back

=head2 Encode::MIME::Name, Encode::MIME::NAME -- internally used by Encode

=over 4

=item SEE ALSO

=back

=head2 Encode::PerlIO -- a detailed document on Encode and PerlIO

=over 4

=item Overview

=item How does it work?

=item Line Buffering

=over 4

=item How can I tell whether my encoding fully supports PerlIO ?

=back

=item SEE ALSO

=back

=head2 Encode::Supported -- Encodings supported by Encode

=over 4

=item DESCRIPTION

=over 4

=item Encoding Names

=back

=item Supported Encodings

=over 4

=item Built-in Encodings

=item Encode::Unicode -- other Unicode encodings

=item Encode::Byte -- Extended ASCII

ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for
the Cyrillic world

=item gsm0338 - Hentai Latin 1

gsm0338 support before 2.19

=item 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

=item Miscellaneous encodings

Encode::EBCDIC, Encode::Symbol, Encode::MIME::Header, Encode::Guess

=back

=item 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

=item Encoding vs. Charset -- terminology

=item Encoding Classification (by Anton Tagunov and Dan Kogai)

=over 4

=item Microsoft-related naming mess

KS_C_5601-1987, GB2312, Big5, Shift_JIS

=back

=item 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

=item See Also

=item References

ECMA, ECMA-035 (eq C<ISO-2022>), IANA, Assigned Charset Names by IANA, ISO,
RFC, UC, Unicode Glossary

=over 4

=item Other Notable Sites

czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org:
"Introduction to i18n"

=item Offline sources

C<CJKV Information Processing> by Ken Lunde

=back

=back

=head2 Encode::Symbol - Symbol Encodings

=over 4

=item SYNOPSIS

=item ABSTRACT

=item DESCRIPTION

=item SEE ALSO

=back

=head2 Encode::TW - Taiwan-based Chinese Encodings

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTES

=item BUGS

=item SEE ALSO

=back

=head2 Encode::Unicode -- Various Unicode Transformation Formats

=over 4

=item SYNOPSIS

=item ABSTRACT

L<http://www.unicode.org/glossary/> says:, Quick Reference

=item Size, Endianness, and BOM

=over 4

=item by size

=item by endianness

BOM as integer when fetched in network byte order

=back

=item Surrogate Pairs

=item Error Checking

=item SEE ALSO

=back

=head2 Encode::Unicode::UTF7 -- UTF-7 encoding

=over 4

=item SYNOPSIS

=item ABSTRACT

=item In Practice

=item SEE ALSO

=back

=head2 English - use nice English (or awk) names for ugly punctuation
variables

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item PERFORMANCE

=back

=head2 Env - perl module that imports environment variables as scalars or
arrays

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item LIMITATIONS

=item AUTHOR

=back

=head2 Errno - System errno constants

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEATS

=item AUTHOR

=item COPYRIGHT

=back

=head2 Exporter - Implements default import method for modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item How to Export

=item Selecting What to Export

=item How to Import

C<use YourModule;>, C<use YourModule ();>, C<use YourModule qw(...);>

=back

=item Advanced Features

=over 4

=item Specialised Import Lists

=item Exporting Without Using Exporter's import Method

=item Exporting Without Inheriting from Exporter

=item Module Version Checking

=item Managing Unknown Symbols

=item Tag Handling Utility Functions

=item Generating Combined Tags

=item C<AUTOLOAD>ed Constants

=back

=item Good Practices

=over 4

=item Declaring C<@EXPORT_OK> and Friends

=item Playing Safe

=item What Not to Export

=back

=item SEE ALSO

=item LICENSE

=back

=head2 Exporter::Heavy - Exporter guts

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

new, have_compiler, have_cplusplus, compile, C<object_file>,
C<include_dirs>, C<extra_compiler_flags>, C<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

=item TO DO

=item HISTORY

=item SUPPORT

=item AUTHOR

=item COPYRIGHT

=item SEE ALSO

=back

=head2 ExtUtils::CBuilder::Platform::Windows - Builder class for Windows
platforms

=over 4

=item DESCRIPTION

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::Command - utilities to replace common UNIX commands in
Makefiles etc.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item FUNCTIONS

=back

=back

cat

eqtime

rm_rf

rm_f

touch

mv

cp

chmod

mkpath

test_f

test_d

dos2unix

=over 4

=item SEE ALSO

=item AUTHOR

=back

=head2 ExtUtils::Command::MM - Commands for the MM's to use in Makefiles

=over 4

=item SYNOPSIS

=item DESCRIPTION

B<test_harness>

=back

B<pod2man>

B<warn_if_old_packlist>

B<perllocal_install>

B<uninstall>

B<test_s>

B<cp_nonempty>

=head2 ExtUtils::Constant - generate XS code to import C header constants

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item USAGE

IV, UV, NV, PV, PVN, SV, YES, NO, UNDEF

=item FUNCTIONS

=back

constant_types

XS_constant PACKAGE, TYPES, XS_SUBNAME, C_SUBNAME

autoload PACKAGE, VERSION, AUTOLOADER

WriteMakefileSnippet

WriteConstants ATTRIBUTE =E<gt> VALUE [, ...], NAME, DEFAULT_TYPE,
BREAKOUT_AT, NAMES, PROXYSUBS, C_FH, C_FILE, XS_FH, XS_FILE, XS_SUBNAME,
C_SUBNAME

=over 4

=item AUTHOR

=back

=head2 ExtUtils::Constant::Base - base class for ExtUtils::Constant objects

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item USAGE

=back

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

=over 4

=item BUGS

=item AUTHOR

=back

=head2 ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item USAGE

C_stringify NAME

=back

perl_stringify NAME

=over 4

=item AUTHOR

=back

=head2 ExtUtils::Constant::XS - generate C code for XS modules' constants.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item BUGS

=item AUTHOR

=back

=head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item @EXPORT

=item FUNCTIONS

xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(),
ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)

=item EXAMPLES

=item SEE ALSO

=item AUTHOR

=back

=head2 ExtUtils::Install - install files from here to there

=over 4

=item SYNOPSIS

=item VERSION

=back

=over 4

=item DESCRIPTION

=over 4

=item _chmod($$;$)

=item _warnonce(@)

=item _choke(@)

=back

=back

=over 4

=item _move_file_at_boot( $file, $target, $moan  )

=back

=over 4

=item _unlink_or_rename( $file, $tryhard, $installing )

=back

=over 4

=item Functions

=over 4

=item _get_install_skip

=back

=back

=over 4

=item _have_write_access

=back

=over 4

=item _can_write_dir(C<$dir>)

=back

=over 4

=item _mkpath($dir,$show,$verbose,$dry_run)

=back

=over 4

=item _copy($from,$to,$verbose,$dry_run)

=back

=over 4

=item _chdir($from)

=back

=over 4

=item install

=back

=over 4

=item _do_cleanup

=back

=over 4

=item install_rooted_file( $file )

=item install_rooted_dir( $dir )

=back

=over 4

=item forceunlink( $file, $tryhard )

=back

=over 4

=item directory_not_empty( $dir )

=back

=over 4

=item install_default

=back

=over 4

=item uninstall

=back

=over 4

=item inc_uninstall($filepath,$libdir,$verbose,$dry_run,$ignore,$results)

=back

=over 4

=item run_filter($cmd,$src,$dest)

=back

=over 4

=item pm_to_blib

=back

=over 4

=item _autosplit

=back

=over 4

=item _invokant

=back

=over 4

=item ENVIRONMENT

B<PERL_INSTALL_ROOT>, B<EU_INSTALL_IGNORE_SKIP>,
B<EU_INSTALL_SITE_SKIPFILE>, B<EU_INSTALL_ALWAYS_COPY>

=item AUTHOR

=item LICENSE

=back

=head2 ExtUtils::Installed - Inventory management of installed modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item USAGE

=item METHODS

new(), modules(), files(), directories(), directory_tree(), validate(),
packlist(), version()

=item EXAMPLE

=item AUTHOR

=back

=head2 ExtUtils::Liblist - determine libraries to use and how to use them

=over 4

=item SYNOPSIS

=item DESCRIPTION

For static extensions, For dynamic extensions at build/link time, For
dynamic extensions at load time

=over 4

=item EXTRALIBS

=item LDLOADLIBS and LD_RUN_PATH

=item BSLOADLIBS

=back

=item PORTABILITY

=over 4

=item VMS implementation

=item Win32 implementation

=back

=item SEE ALSO

=back

=head2 ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overridden methods

=back

=back

=over 4

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::MM_Any - Platform-agnostic MM methods

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Cross-platform helper methods

=back

=back

=over 4

=item Targets

=back

=over 4

=item Init methods

=back

=over 4

=item Tools

=back

=over 4

=item File::Spec wrappers

=back

=over 4

=item Misc

=back

=over 4

=item AUTHOR

=back

=head2 ExtUtils::MM_BeOS - methods to override UN*X behaviour in
ExtUtils::MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

os_flavor

init_linker

=head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
ExtUtils::MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

os_flavor

=back

cflags

replace_manpage_separator

init_linker

maybe_command

dynamic_lib

install

=head2 ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overridden methods

os_flavor

=back

=back

B<replace_manpage_separator>

xs_static_lib_is_xs

=over 4

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::MM_Darwin - special behaviors for OS X

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overridden Methods

=back

=back

=head2 ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 ExtUtils::MM_NW5 - methods to override UN*X behaviour in
ExtUtils::MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

os_flavor

init_platform, platform_constants

static_lib_pure_cmd

xs_static_lib_is_xs

dynamic_lib

=head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
ExtUtils::MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

init_dist

=back

init_linker

os_flavor

xs_static_lib_is_xs

=head2 ExtUtils::MM_OS390 - OS390 specific subclass of ExtUtils::MM_Unix

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overriden methods

xs_make_dynamic_lib

=back

=back

=over 4

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overridden methods

=back

=back

=over 4

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overridden methods

os_flavor

=back

=back

B<replace_manpage_separator>

=over 4

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=back

=over 4

=item Methods

os_flavor

=back

c_o (o)

xs_obj_opt

dbgoutflag

cflags (o)

const_cccmd (o)

const_config (o)

const_loadlibs (o)

constants (o)

dep_constants (o)

depend (o)

init_DEST

init_dist

dist (o)

dist_basics (o)

dist_ci (o)

dist_core (o)

B<dist_target>

B<tardist_target>

B<zipdist_target>

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

=over 4

=item SEE ALSO

=back

=head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
ExtUtils::MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Methods always loaded

wraplist

=back

=back

=over 4

=item Methods

guess_name (override)

=back

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

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

=over 4

=item AUTHOR

=back

=head2 ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overridden methods

=back

=back

=over 4

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
ExtUtils::MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item Overridden methods

B<dlsyms>

=back

xs_dlsyms_ext

replace_manpage_separator

B<maybe_command>

B<init_DIRFILESEP>

init_tools

init_others

init_platform, platform_constants

specify_shell

constants

dep_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

=head2 ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overridden methods

max_exec_len

=back

=back

os_flavor

=over 4

=item AUTHOR

=back

=head2 ExtUtils::MY - ExtUtils::MakeMaker subclass for customization

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 ExtUtils::MakeMaker - Create a module Makefile

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item How To Write A Makefile.PL

=item Default Makefile Behaviour

=item make test

=item make testdb

=item make install

=item INSTALL_BASE

=item PREFIX and LIB attribute

=item AFS users

=item Static Linking of a new Perl Binary

=item Determination of Perl Library and Installation Locations

=item Which architecture dependent directory?

=item 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

=item Additional lowercase attributes

clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean,
test, tool_autosplit

=item Overriding MakeMaker Methods

=item The End Of Cargo Cult Programming

C<< MAN3PODS => ' ' >>

=item Hintsfile support

=item 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

=item Module Meta-Data (META and MYMETA)

=item Disabling an extension

=item Other Handy Functions

prompt, os_unsupported

=item Supported versions of Perl

=back

=item ENVIRONMENT

PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE

=item SEE ALSO

=item AUTHORS

=item LICENSE

=back

=head2 ExtUtils::MakeMaker::Config - Wrapper around Config.pm

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About
MakeMaker

=over 4

=item DESCRIPTION

=over 4

=item 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

=item Common errors and problems

"No rule to make target `/usr/lib/perl5/CORE/config.h', needed by
`Makefile'"

=item 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

=item Module Writing

How do I keep my $VERSION up to date without resetting it manually?, What's
this F<META.yml> thing and how did it get in my F<MANIFEST>?!, How do I
delete everything not in my F<MANIFEST>?, Which tar should I use on
Windows?, Which zip should I use on Windows for '[ndg]make zipdist'?

=item 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

=back

=item DESIGN

=over 4

=item MakeMaker object hierarchy (simplified)

=item MakeMaker object hierarchy (real)

=item The MM_* hierarchy

=back

=item 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

=item AUTHOR

=item SEE ALSO

=back

=head2 ExtUtils::MakeMaker::Locale - bundled Encode::Locale

=over 4

=item SYNOPSIS

=item 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

=item NOTES

=over 4

=item Windows

=item Mac OS X

=item POSIX (Linux and other Unixes)

=back

=item SEE ALSO

=item AUTHOR

=back

=head2 ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item The Mantra

=item The Layout

Makefile.PL, MANIFEST, lib/, t/, Changes, README, INSTALL, MANIFEST.SKIP,
bin/

=back

=item SEE ALSO

=back

=head2 ExtUtils::Manifest - Utilities to write and check a MANIFEST file

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS

=over 4

=item mkmanifest

=back

=back

=over 4

=item manifind

=back

=over 4

=item manicheck

=back

=over 4

=item filecheck

=back

=over 4

=item fullcheck

=back

=over 4

=item skipcheck

=back

=over 4

=item maniread

=back

=over 4

=item maniskip

=back

=over 4

=item manicopy

=back

=over 4

=item maniadd

=back

=over 4

=item MANIFEST

=item MANIFEST.SKIP

#!include_default, #!include /Path/to/another/manifest.skip

=item EXPORT_OK

=item GLOBAL VARIABLES

=back

=over 4

=item DIAGNOSTICS

C<Not in MANIFEST:> I<file>, C<Skipping> I<file>, C<No such file:> I<file>,
C<MANIFEST:> I<$!>, C<Added to MANIFEST:> I<file>

=item ENVIRONMENT

B<PERL_MM_MANIFEST_DEBUG>

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 ExtUtils::Miniperl - write the C code for miniperlmain.c and
perlmain.c

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=back

=head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 ExtUtils::Mksymlists - write linker options files for dynamic
extension

=over 4

=item SYNOPSIS

=item DESCRIPTION

DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME

=item AUTHOR

=item REVISION

=back

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

=over 4

=item VERSION

=item OVERVIEW

=item FUNCTIONS

=over 4

=item pl2bat(%opts)

C<in>, C<out>, C<ntargs>, C<otherargs>, C<stripsuffix>, C<usewarnings>,
C<update>

=back

=item ACKNOWLEDGEMENTS

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

mkfh()

__find_relocations

=head2 ExtUtils::Packlist - manage .packlist files

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item USAGE

=item FUNCTIONS

new(), read(), write(), validate(), packlist_file()

=item EXAMPLE

=item AUTHOR

=back

=head2 ExtUtils::ParseXS - converts Perl XS code into C code

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXPORT

=item METHODS

$pxs->new(), $pxs->process_file(), filename, B<C++>, B<hiertype>,
B<except>, B<typemap>, B<prototypes>, B<versioncheck>, B<linenumbers>,
B<optimize>, B<inout>, B<argtypes>, B<s>, B<die_on_error>,
$pxs->report_error_count()

=item AUTHOR

=item COPYRIGHT

=item SEE ALSO

=back

=head2 ExtUtils::ParseXS::Constants - Initialization values for some
globals

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 ExtUtils::ParseXS::Eval - Clean package to evaluate code in

=over 4

=item SYNOPSIS

=item SUBROUTINES

=over 4

=item $pxs->eval_output_typemap_code($typemapcode, $other_hashref)

=back

=back

=over 4

=item $pxs->eval_input_typemap_code($typemapcode, $other_hashref)

=back

=over 4

=item TODO

=back

=head2 ExtUtils::ParseXS::Node - Classes for nodes of an ExtUtils::ParseXS
AST

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 ExtUtils::ParseXS::Utilities - Subroutines used with
ExtUtils::ParseXS

=over 4

=item SYNOPSIS

=item SUBROUTINES

=over 4

=item C<standard_typemap_locations()>

Purpose, Arguments, Return Value

=back

=back

=over 4

=item C<trim_whitespace()>

Purpose, Argument, Return Value

=back

=over 4

=item C<C_string()>

Purpose, Arguments, Return Value

=back

=over 4

=item C<valid_proto_string()>

Purpose, Arguments, Return Value

=back

=over 4

=item C<process_typemaps()>

Purpose, Arguments, Return Value

=back

=over 4

=item C<map_type($self, $type, $varname)>

=back

=over 4

=item C<standard_XS_defs()>

Purpose, Arguments, Return Value

=back

=over 4

=item C<analyze_preprocessor_statement()>

Purpose, Arguments

=back

=over 4

=item C<set_cond()>

Purpose, Arguments, Return Value

=back

=over 4

=item C<current_line_number()>

Purpose, Arguments, Return Value

=back

=over 4

=item Error handling methods

C<< $self->Warn(@messages) >>, C<< $self->blurt(@messages) >>, C<<
$self->death(@messages) >>, C<< $self->WarnHint(@messages, $hints) >>

=back

=over 4

=item C<check_conditional_preprocessor_statements()>

Purpose, Arguments, Return Value

=back

=over 4

=item C<escape_file_for_line_directive()>

Purpose, Arguments, Return Value

=back

=over 4

=item C<report_typemap_failure>

Purpose, Arguments, Return Value

=back

=head2 ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=back

=over 4

=item new

=back

=over 4

=item file

=back

=over 4

=item add_typemap

=back

=over 4

=item add_inputmap

=back

=over 4

=item add_outputmap

=back

=over 4

=item add_string

=back

=over 4

=item remove_typemap

=back

=over 4

=item remove_inputmap

=back

=over 4

=item remove_outputmap

=back

=over 4

=item get_typemap

=back

=over 4

=item get_inputmap

=back

=over 4

=item get_outputmap

=back

=over 4

=item write

=back

=over 4

=item as_string

=back

=over 4

=item as_embedded_typemap

=back

=over 4

=item merge

=back

=over 4

=item is_empty

=back

=over 4

=item list_mapped_ctypes

=back

=over 4

=item _get_typemap_hash

=back

=over 4

=item _get_inputmap_hash

=back

=over 4

=item _get_outputmap_hash

=back

=over 4

=item _get_prototype_hash

=back

=over 4

=item clone

=back

=over 4

=item tidy_type

=back

=over 4

=item CAVEATS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT & LICENSE

=back

=head2 ExtUtils::Typemaps::Cmd - Quick commands for handling typemaps

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXPORTED FUNCTIONS

=over 4

=item embeddable_typemap

=back

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT & LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=back

=over 4

=item new

=back

=over 4

=item code

=back

=over 4

=item xstype

=back

=over 4

=item cleaned_code

=back

=over 4

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT & LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=back

=over 4

=item new

=back

=over 4

=item code

=back

=over 4

=item xstype

=back

=over 4

=item cleaned_code

=back

=over 4

=item targetable_legacy

=back

=over 4

=item targetable

=back

=over 4

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT & LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=back

=over 4

=item new

=back

=over 4

=item proto

=back

=over 4

=item xstype

=back

=over 4

=item ctype

=back

=over 4

=item tidy_ctype

=back

=over 4

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT & LICENSE

=back

=head2 ExtUtils::testlib - add blib/* directories to @INC

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 Fatal - Replace functions with equivalents which succeed or die

=over 4

=item SYNOPSIS

=item BEST PRACTICE

=item DESCRIPTION

=item 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

=item BUGS

=item AUTHOR

=item LICENSE

=item SEE ALSO

=back

=head2 Fcntl - various flag constants and helper functions from C's fcntl.h

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXPORTED SYMBOLS

=over 4

=item Default exports and export tags

C<:DEFAULT>, C<:flock>, C<:mode>, C<:seek>, C<:Fcompat>

=item Symbols for use with C<fcntl>

C<F_ALLOCSP>, C<F_ALLOCSP64>, C<F_DUP2FD>, C<F_DUPFD>, C<F_FREESP>,
C<F_FREESP64>, C<F_FSYNC>, C<F_FSYNC64>, C<F_GETFD>, C<FD_CLOEXEC>,
C<F_GETFL>, C<F_GETLEASE>, C<F_RDLCK>, C<F_WRLCK>, C<F_UNLCK>, C<F_GETLK>,
C<F_GETLK64>, C<F_GETOWN>, C<F_GETPIPE_SZ>, C<F_GETSIG>, C<F_NOTIFY>,
C<DN_ACCESS>, C<DN_ATTRIB>, C<DN_CREATE>, C<DN_DELETE>, C<DN_MODIFY>,
C<DN_MULTISHOT>, C<DN_RENAME>, C<F_SETFD>, C<F_SETFL>, C<F_SETLEASE>,
C<F_RDLCK>, C<F_WRLCK>, C<F_UNLCK>, C<F_SETLK>, C<F_SETLK64>, C<F_SETLKW>,
C<F_SETLKW64>, C<F_SETOWN>, C<F_SETPIPE_SZ>, C<F_SETSIG>, C<F_SHARE>,
C<F_UNSHARE>, C<F_COMPAT>, C<F_EXLCK>, C<F_NODNY>, C<F_POSIX>, C<F_RDACC>,
C<F_RDDNY>, C<F_RWACC>, C<F_RWDNY>, C<F_SHLCK>, C<F_WRACC>, C<F_WRDNY>

=item Symbols for use with C<flock>

C<LOCK_EX>, C<LOCK_MAND>, C<LOCK_NB>, C<LOCK_READ>, C<LOCK_RW>, C<LOCK_SH>,
C<LOCK_UN>, C<LOCK_WRITE>

=item Symbols for use with C<sysopen>

C<O_ACCMODE>, C<O_ALIAS>, C<O_ALT_IO>, C<O_APPEND>, C<O_ASYNC>,
C<O_BINARY>, C<O_CREAT>, C<O_DEFER>, C<O_DIRECT>, C<O_DIRECTORY>,
C<O_DSYNC>, C<O_EVTONLY>, C<O_EXCL>, C<O_EXLOCK>, C<O_IGNORE_CTTY>,
C<O_LARGEFILE>, C<O_NDELAY>, C<O_NOATIME>, C<O_NOCTTY>, C<O_NOFOLLOW>,
C<O_NOINHERIT>, C<O_NOLINK>, C<O_NONBLOCK>, C<O_NOSIGPIPE>, C<O_NOTRANS>,
C<O_RANDOM>, C<O_RAW>, C<O_RDONLY>, C<O_RDWR>, C<O_RSRC>, C<O_RSYNC>,
C<O_SEQUENTIAL>, C<O_SHLOCK>, C<O_SYMLINK>, C<O_SYNC>, C<O_TEMPORARY>,
C<O_TEXT>, C<O_TMPFILE>, C<O_TRUNC>, C<O_TTY_INIT>, C<O_WRONLY>,
C<FAPPEND>, C<FASYNC>, C<FCREAT>, C<FDEFER>, C<FDSYNC>, C<FEXCL>,
C<FLARGEFILE>, C<FNDELAY>, C<FNONBLOCK>, C<FRSYNC>, C<FSYNC>, C<FTRUNC>

=item Symbols for use with C<seek> and C<sysseek>

C<SEEK_CUR>, C<SEEK_END>, C<SEEK_SET>

=item Symbols for use with C<stat> and C<chmod>

C<S_ENFMT>, C<S_IEXEC>, C<S_IFBLK>, C<S_IFCHR>, C<S_IFDIR>, C<S_IFIFO>,
C<S_IFLNK>, C<S_IFMT>, C<_S_IFMT>, C<S_IFREG>, C<S_IFSOCK>, C<S_IFWHT>,
C<S_IMODE>, C<S_IREAD>, C<S_IRGRP>, C<S_IROTH>, C<S_IRUSR>, C<S_IRWXG>,
C<S_IRWXO>, C<S_IRWXU>, C<S_ISBLK>, C<S_ISCHR>, C<S_ISDIR>, C<S_ISFIFO>,
C<S_ISGID>, C<S_ISLNK>, C<S_ISREG>, C<S_ISSOCK>, C<S_ISTXT>, C<S_ISUID>,
C<S_ISVTX>, C<S_ISWHT>, C<S_IWGRP>, C<S_IWOTH>, C<S_IWRITE>, C<S_IWUSR>,
C<S_IXGRP>, C<S_IXOTH>, C<S_IXUSR>

=back

=item SEE ALSO

=item APPENDIX A

=back

=head2 File::Basename - Parse file paths into directory, filename and
suffix.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

C<fileparse> X<fileparse>

C<basename> X<basename> X<filename>

C<dirname> X<dirname>

C<fileparse_set_fstype> X<filesystem>

=over 4

=item SEE ALSO

=back

=head2 File::Compare - Compare files or filehandles

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item RETURN

=item AUTHOR

=back

=head2 File::Copy - Copy files or filehandles

=over 4

=item SYNOPSIS

=item DESCRIPTION

copy X<copy> X<cp>, move X<move> X<mv> X<rename>, syscopy X<syscopy>,
rmscopy($from,$to[,$date_flag]) X<rmscopy>

=item RETURN

=item NOTES

=item AUTHOR

=back

=head2 File::DosGlob - DOS like globbing and then some

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXPORTS (by request only)

=item BUGS

=item AUTHOR

=item HISTORY

=item SEE ALSO

=back

=head2 File::Fetch - A generic file fetching mechanism

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item ACCESSORS

$ff->uri, $ff->scheme, $ff->host, $ff->vol, $ff->share, $ff->path,
$ff->file, $ff->file_default

=back

$ff->output_file

=over 4

=item METHODS

=over 4

=item $ff = File::Fetch->new( uri => 'http://some.where.com/dir/file.txt'
);

=back

=back

=over 4

=item $where = $ff->fetch( [to => /my/output/dir/ | \$scalar] )

=back

=over 4

=item $ff->error([BOOL])

=back

=over 4

=item HOW IT WORKS

=item GLOBAL VARIABLES

=over 4

=item $File::Fetch::FROM_EMAIL

=item $File::Fetch::USER_AGENT

=item $File::Fetch::FTP_PASSIVE

=item $File::Fetch::TIMEOUT

=item $File::Fetch::WARN

=item $File::Fetch::DEBUG

=item $File::Fetch::BLACKLIST

=item $File::Fetch::METHOD_FAIL

=back

=item MAPPING

=item FREQUENTLY ASKED QUESTIONS

=over 4

=item So how do I use a proxy with File::Fetch?

=item I used 'lynx' to fetch a file, but its contents is all wrong!

=item Files I'm trying to fetch have reserved characters or non-ASCII
characters in them. What do I do?

=back

=item TODO

Implement $PREFER_BIN

=item BUG REPORTS

=item AUTHOR

=item COPYRIGHT

=back

=head2 File::Find - Traverse a directory tree.

=over 4

=item SYNOPSIS

=item DESCRIPTION

B<find>, B<finddepth>

=over 4

=item C<%options>

C<wanted>, C<bydepth>, C<preprocess>, C<postprocess>, C<follow>,
C<follow_fast>, C<follow_skip>, C<dangling_symlinks>, C<no_chdir>,
C<untaint>, C<untaint_pattern>, C<untaint_skip>

=item The wanted function

C<$File::Find::dir> is the current directory name,, C<$_> is the current
filename within that directory, C<$File::Find::name> is the complete
pathname to the file

=back

=item WARNINGS

=item BUGS AND CAVEATS

C<$dont_use_nlink>, Symlinks

=item HISTORY

=item SEE ALSO

=back

=head2 File::Glob - Perl extension for BSD glob routine

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item META CHARACTERS

=item EXPORTS

=item POSIX FLAGS

C<GLOB_ERR>, C<GLOB_LIMIT>, C<GLOB_MARK>, C<GLOB_NOCASE>, C<GLOB_NOCHECK>,
C<GLOB_NOSORT>, C<GLOB_BRACE>, C<GLOB_NOMAGIC>, C<GLOB_QUOTE>,
C<GLOB_TILDE>, C<GLOB_CSH>, C<GLOB_ALPHASORT>

=back

=item DIAGNOSTICS

C<GLOB_NOSPACE>, C<GLOB_ABEND>

=item NOTES

=item SEE ALSO

=item AUTHOR

=back

=head2 File::GlobMapper - Extend File Glob to Allow Input and Output Files

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Behind The Scenes

=item Limitations

=item Input File Glob

B<~>, B<~user>, B<.>, B<*>, B<?>, B<\>,  B<[]>,  B<{,}>,  B<()>

=item Output File Glob

"*", #1

=item Returned Data

=back

=item EXAMPLES

=over 4

=item A Rename script

=item A few example globmaps

=back

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 File::Path - Create or remove directory trees

=over 4

=item VERSION

=item SYNOPSIS

=item 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 )

=over 4

=item ERROR HANDLING

B<NOTE:>

=item NOTES

L<http://cve.circl.lu/cve/CVE-2004-0452>,
L<http://cve.circl.lu/cve/CVE-2005-0448>

=back

=item 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

=item SEE ALSO

=item BUGS AND LIMITATIONS

=over 4

=item MULTITHREADED APPLICATIONS

=item NFS Mount Points

=item REPORTING BUGS

=back

=item ACKNOWLEDGEMENTS

=item AUTHORS

=item CONTRIBUTORS

<F<bulkdd@cpan.org>>, Charlie Gonzalez <F<itcharlie@cpan.org>>, Craig A.
Berry <F<craigberry@mac.com>>, James E Keenan <F<jkeenan@cpan.org>>, John
Lightsey <F<john@perlsec.org>>, Nigel Horne <F<njh@bandsman.co.uk>>,
Richard Elberger <F<riche@cpan.org>>, Ryan Yee <F<ryee@cpan.org>>, Skye
Shaw <F<shaw@cpan.org>>, Tom Lutz <F<tommylutz@gmail.com>>, Will Sheppard
<F<willsheppard@github>>

=item COPYRIGHT

=item LICENSE

=back

=head2 File::Spec - portably perform operations on file names

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

canonpath X<canonpath>, catdir X<catdir>, catfile X<catfile>, curdir
X<curdir>, devnull X<devnull>, rootdir X<rootdir>, tmpdir X<tmpdir>, updir
X<updir>, no_upwards, case_tolerant, file_name_is_absolute, path X<path>,
join X<join, path>, splitpath X<splitpath> X<split, path>, splitdir
X<splitdir> X<split, dir>, catpath(), abs2rel X<abs2rel> X<absolute, path>
X<relative, path>, rel2abs() X<rel2abs> X<absolute, path> X<relative, path>

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=back

=head2 File::Spec::AmigaOS - File::Spec for AmigaOS

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

tmpdir

=back

file_name_is_absolute

=head2 File::Spec::Cygwin - methods for Cygwin file specs

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

canonpath

file_name_is_absolute

tmpdir (override)

case_tolerant

=over 4

=item COPYRIGHT

=back

=head2 File::Spec::Epoc - methods for Epoc file specs

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

canonpath()

=over 4

=item AUTHOR

=item COPYRIGHT

=item SEE ALSO

=back

=head2 File::Spec::Functions - portably perform operations on file names

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Exports

=back

=item COPYRIGHT

=item SEE ALSO

=back

=head2 File::Spec::Mac - File::Spec for Mac OS (Classic)

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

canonpath

=back

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

file_name_is_absolute

path

splitpath

splitdir

catpath

abs2rel

rel2abs

=over 4

=item AUTHORS

=item COPYRIGHT

=item SEE ALSO

=back

=head2 File::Spec::OS2 - methods for OS/2 file specs

=over 4

=item SYNOPSIS

=item DESCRIPTION

tmpdir, splitpath

=item COPYRIGHT

=back

=head2 File::Spec::Unix - File::Spec for Unix, base for other File::Spec
modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

canonpath()

=back

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

no_upwards

case_tolerant

file_name_is_absolute

path

join

splitpath

splitdir

catpath()

abs2rel

rel2abs()

=over 4

=item COPYRIGHT

=item SEE ALSO

=back

=head2 File::Spec::VMS - methods for VMS file specs

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

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)

=over 4

=item COPYRIGHT

=item SEE ALSO

=back

=head2 File::Spec::Win32 - methods for Win32 file specs

=over 4

=item SYNOPSIS

=item DESCRIPTION

devnull

=back

tmpdir

case_tolerant

file_name_is_absolute

catfile

canonpath

splitpath

splitdir

catpath

=over 4

=item Note For File::Spec::Win32 Maintainers

=back

=over 4

=item COPYRIGHT

=item SEE ALSO

=back

=head2 File::Temp - return name and handle of a temporary file safely

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item PORTABILITY

=item OBJECT-ORIENTED INTERFACE

B<new>, B<newdir>, B<filename>, B<dirname>, B<unlink_on_destroy>,
B<DESTROY>

=item FUNCTIONS

B<tempfile>, B<tempdir>

=item MKTEMP FUNCTIONS

B<mkstemp>, B<mkstemps>, B<mkdtemp>, B<mktemp>

=item POSIX FUNCTIONS

B<tmpnam>, B<tmpfile>

=item ADDITIONAL FUNCTIONS

B<tempnam>

=item UTILITY FUNCTIONS

B<unlink0>, B<cmpstat>, B<unlink1>, B<cleanup>

=item PACKAGE VARIABLES

B<safe_level>, STANDARD, MEDIUM, HIGH, TopSystemUID, B<$KEEP_ALL>,
B<$DEBUG>

=item WARNING

=over 4

=item Temporary files and NFS

=item Forking

=item Directory removal

=item Taint mode

=item BINMODE

=back

=item HISTORY

=item SEE ALSO

=item SUPPORT

=item AUTHOR

=item CONTRIBUTORS

=item COPYRIGHT AND LICENSE

=back

=head2 File::stat - by-name interface to Perl's built-in stat() functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item BUGS

=item ERRORS

-%s is not implemented on a File::stat object

=item WARNINGS

File::stat ignores use filetest 'access', File::stat ignores VMS ACLs

=item NOTE

=item AUTHOR

=back

=head2 FileCache - keep more files open than the system permits

=over 4

=item SYNOPSIS

=item DESCRIPTION

cacheout EXPR, cacheout MODE, EXPR

=item CAVEATS

=item BUGS

=back

=head2 FileHandle - supply object methods for filehandles

=over 4

=item SYNOPSIS

=item DESCRIPTION

$fh->print, $fh->printf, $fh->getline, $fh->getlines

=item SEE ALSO

=back

=head2 Filter::Simple - Simplified source filtering

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item The Problem

=item A Solution

=item Disabling or changing <no> behaviour

=item All-in-one interface

=item Filtering only specific components of source code

C<"code">, C<"code_no_comments">, C<"executable">,
C<"executable_no_comments">, C<"quotelike">, C<"string">, C<"regex">,
C<"all">

=item Filtering only the code parts of source code

=item Using Filter::Simple with an explicit C<import> subroutine

=item Using Filter::Simple and Exporter together

=item How it works

=back

=item AUTHOR

=item CONTACT

=item COPYRIGHT AND LICENSE

=back

=head2 Filter::Util::Call - Perl Source Filter Utility Module

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item B<use Filter::Util::Call>

=item B<import()>

=item B<filter_add()>

=item B<filter() and anonymous sub>

B<$_>, B<$status>, B<filter_read> and B<filter_read_exact>, B<filter_del>,
I<real_import>, I<unimport()>

=back

=item LIMITATIONS

__DATA__ is ignored, Max. codesize limited to 32-bit

=item EXAMPLES

=over 4

=item Example 1: A simple filter.

=item Example 2: Using the context

=item Example 3: Using the context within the filter

=item Example 4: Using filter_del

=back

=item Filter::Simple

=item AUTHOR

=item DATE

=item LICENSE

=back

=head2 FindBin - Locate directory of original Perl script

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXPORTABLE VARIABLES

C<$Bin> or C<$Dir>, C<$Script>, C<$RealBin> or C<$RealDir>, C<$RealScript>

=item KNOWN ISSUES

=item AUTHORS

=item COPYRIGHT

=back

=head2 Getopt::Long - Extended processing of command line options

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Command Line Options, an Introduction

=item Getting Started with Getopt::Long

=over 4

=item Simple options

=item A little bit less simple options

=item Mixing command line option with other arguments

=item Options with values

=item Options with multiple values

=item Options with hash values

=item User-defined subroutines to handle options

=item Options with multiple names

=item Case and abbreviations

=item Summary of Option Specifications

!, +, s, i, o, f, : I<type> [ I<desttype> ], : I<number> [ I<desttype> ], :
+ [ I<desttype> ]

=back

=item Advanced Possibilities

=over 4

=item Object oriented interface

=item Callback object

name, given

=item Thread Safety

=item Documentation and help texts

=item Parsing options from an arbitrary array

=item Parsing options from an arbitrary string

=item Storing options values in a hash

=item Bundling

=item The lonesome dash

=item Argument callback

=back

=item 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)

=item Exportable Methods

VersionMessage, C<-message>, C<-msg>, C<-exitval>, C<-output>, HelpMessage

=item Return values and Errors

=item Legacy

=over 4

=item Default destinations

=item Alternative option starters

=item Configuration variables

=back

=item Tips and Techniques

=over 4

=item Pushing multiple values in a hash option

=back

=item Troubleshooting

=over 4

=item GetOptions does not return a false result when an option is not
supplied

=item GetOptions does not split the command line correctly

=item Undefined subroutine &main::GetOptions called

=item How do I put a "-?" option into a Getopt::Long?

=back

=item AUTHOR

=item COPYRIGHT AND DISCLAIMER

=back

=head2 Getopt::Long::Parser - Getopt::Long object-oriented interface

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

config

=back

=over 4

=item METHODS

=over 4

=item configure

=back

=back

=over 4

=item getoptionsfromarray

=item getoptions

=back

=over 4

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND DISCLAIMER

=back

=head2 Getopt::Std - Process single-character switches with switch
clustering

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item C<--help> and C<--version>

=back

=head2 HTTP::Tiny - A small, simple, correct HTTP/1.1 client

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item new

=item get|head|put|post|patch|delete

=item post_form

=item mirror

=item request

=item www_form_urlencode

=item can_ssl

=item connected

=back

=item TLS/SSL SUPPORT

=item PROXY SUPPORT

=item LIMITATIONS

=item SEE ALSO

=item SUPPORT

=over 4

=item Bugs / Feature Requests

=item Source Code

=back

=item AUTHORS

=item CONTRIBUTORS

=item COPYRIGHT AND LICENSE

=back

=head2 Hash::Util - A selection of general-utility hash subroutines

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Restricted hashes

B<lock_keys>, B<unlock_keys>

=back

=back

B<lock_keys_plus>

B<lock_value>, B<unlock_value>

B<lock_hash>, B<unlock_hash>

B<lock_hash_recurse>, B<unlock_hash_recurse>

B<hashref_locked>, B<hash_locked>

B<hashref_unlocked>, B<hash_unlocked>

B<legal_keys>, B<hidden_keys>, B<all_keys>, B<hash_seed>, B<hash_value>,
B<bucket_info>, B<bucket_stats>, B<bucket_array>

B<bucket_stats_formatted>

B<hv_store>, B<hash_traversal_mask>, B<bucket_ratio>, B<used_buckets>,
B<num_buckets>

=over 4

=item 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

=back

=over 4

=item CAVEATS

=item BUGS

=item AUTHOR

=item SEE ALSO

=back

=head2 Hash::Util::FieldHash - Support for Inside-Out Classes

=over 4

=item SYNOPSIS

=item FUNCTIONS

id, id_2obj, register, idhash, idhashes, fieldhash, fieldhashes

=item DESCRIPTION

=over 4

=item The Inside-out Technique

=item Problems of Inside-out

=item Solutions

=item More Problems

=item The Generic Object

=item How to use Field Hashes

=item Garbage-Collected Hashes

=back

=item EXAMPLES

C<init()>, C<first()>, C<last()>, C<name()>, C<Name_hash>, C<Name_id>,
C<Name_idhash>, C<Name_id_reg>, C<Name_idhash_reg>, C<Name_fieldhash>

=over 4

=item Example 1

=item Example 2

=back

=item GUTS

=over 4

=item The C<PERL_MAGIC_uvar> interface for hashes

=item Weakrefs call uvar magic

=item How field hashes work

=item Internal function Hash::Util::FieldHash::_fieldhash

=back

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 I18N::LangTags - functions for dealing with RFC3066-style language
tags

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

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

=over 4

=item ABOUT LOWERCASING

=item ABOUT UNICODE PLAINTEXT LANGUAGE TAGS

=item SEE ALSO

=item COPYRIGHT

=item AUTHOR

=back

=head2 I18N::LangTags::Detect - detect the user's language preferences

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS

=item ENVIRONMENT

=item SEE ALSO

=item COPYRIGHT

=item AUTHOR

=back

=head2 I18N::LangTags::List -- tags and names for human languages

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item ABOUT LANGUAGE TAGS

=item 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

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMER

=item AUTHOR

=back

=head2 I18N::Langinfo - query locale information

=over 4

=item SYNOPSIS

=item DESCRIPTION

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

=over 4

=item For systems without C<nl_langinfo>

C<ERA>, C<CODESET>, C<YESEXPR>, C<YESSTR>, C<NOEXPR>, C<NOSTR>,
C<ALT_DIGITS>, C<D_FMT>, C<T_FMT>, C<D_T_FMT>, C<CRNCYSTR>, C<ERA_D_FMT>,
C<ERA_T_FMT>, C<ERA_D_T_FMT>, C<T_FMT_AMPM>, All C<_NL_I<foo>> items

=item EXPORT

=back

=item BUGS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 IO - load various IO modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item DEPRECATED

=back

=head2 IO::Compress - read/write compressed data in multiple formats

=over 4

=item DESCRIPTION

=item AUTHOR

=item COPYRIGHT

=back

=head2 IO::Compress::Base - Base Class for IO::Compress modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Compress::Bzip2 - Write bzip2 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeIn => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle

=item Oneshot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< Append => 0|1 >>, A Buffer, A Filename, A
Filehandle, C<< BlockSize100K => number >>, C<< WorkFactor => number >>,
C<< Strict => 0|1 >>

=item Examples

=back

=item Methods

=over 4

=item print

=item printf

=item syswrite

=item write

=item flush

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item newStream([OPTS])

=back

=item Importing

:all

=item EXAMPLES

=over 4

=item Apache::GZip Revisited

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Compress::Deflate - Write RFC 1950 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeIn => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle

=item Oneshot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< Append => 0|1 >>, A Buffer, A Filename, A
Filehandle, C<< Merge => 0|1 >>, -Level, -Strategy, C<< Strict => 0|1 >>

=item Examples

=back

=item Methods

=over 4

=item print

=item printf

=item syswrite

=item write

=item flush

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item newStream([OPTS])

=item deflateParams

=back

=item Importing

:all, :constants, :flush, :level, :strategy

=item EXAMPLES

=over 4

=item Apache::GZip Revisited

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Compress::FAQ -- Frequently Asked Questions about IO::Compress

=over 4

=item DESCRIPTION

=item GENERAL

=over 4

=item Compatibility with Unix compress/uncompress.

=item Accessing .tar.Z files

=item How do I recompress using a different compression?

=back

=item ZIP

=over 4

=item What Compression Types do IO::Compress::Zip & IO::Uncompress::Unzip
support?

Store (method 0), Deflate (method 8), Bzip2 (method 12), Lzma (method 14)

=item Can I Read/Write Zip files larger the 4 Gig?

=item Can I write more that 64K entries is a Zip files?

=item Zip Resources

=back

=item GZIP

=over 4

=item Gzip Resources

=item Dealing with concatenated gzip files

=item Reading bgzip files with IO::Uncompress::Gunzip

=back

=item ZLIB

=over 4

=item Zlib Resources

=back

=item Bzip2

=over 4

=item Bzip2 Resources

=item Dealing with Concatenated bzip2 files

=item Interoperating with Pbzip2

=back

=item HTTP & NETWORK

=over 4

=item Apache::GZip Revisited

=item Compressed files and Net::FTP

=back

=item MISC

=over 4

=item Using C<InputLength> to uncompress data embedded in a larger
file/buffer.

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Compress::Gzip - Write RFC 1952 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeIn => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle

=item Oneshot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< Append => 0|1 >>, A Buffer, A Filename, A
Filehandle, C<< Merge => 0|1 >>, -Level, -Strategy, C<< Minimal => 0|1 >>,
C<< Comment => $comment >>, C<< Name => $string >>, C<< Time => $number >>,
C<< TextFlag => 0|1 >>, C<< HeaderCRC => 0|1 >>, C<< OS_Code => $value >>,
C<< ExtraField => $data >>, C<< ExtraFlags => $value >>, C<< Strict => 0|1
>>

=item Examples

=back

=item Methods

=over 4

=item print

=item printf

=item syswrite

=item write

=item flush

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item newStream([OPTS])

=item deflateParams

=back

=item Importing

:all, :constants, :flush, :level, :strategy

=item EXAMPLES

=over 4

=item Apache::GZip Revisited

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Compress::RawDeflate - Write RFC 1951 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeIn => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle

=item Oneshot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< Append => 0|1 >>, A Buffer, A Filename, A
Filehandle, C<< Merge => 0|1 >>, -Level, -Strategy, C<< Strict => 0|1 >>

=item Examples

=back

=item Methods

=over 4

=item print

=item printf

=item syswrite

=item write

=item flush

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item newStream([OPTS])

=item deflateParams

=back

=item Importing

:all, :constants, :flush, :level, :strategy

=item EXAMPLES

=over 4

=item Apache::GZip Revisited

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Compress::Zip - Write zip files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

Store (0), Deflate (8), Bzip2 (12), Lzma (14), Zstandard (93), Xz (95)

=item Functional Interface

=over 4

=item 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
C<$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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeIn => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle

=item Oneshot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

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

=item Examples

=back

=item Methods

=over 4

=item print

=item printf

=item syswrite

=item write

=item flush

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item newStream([OPTS])

=item deflateParams

=back

=item Importing

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

=item EXAMPLES

=over 4

=item Apache::GZip Revisited

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Dir - supply object methods for directory handles

=over 4

=item SYNOPSIS

=item DESCRIPTION

new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (),
rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=back

=head2 IO::File - supply object methods for filehandles

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile

=item METHODS

open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS )

=item NOTE

=item SEE ALSO

=item HISTORY

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

new (), new_from_fd ( FD, MODE )

=item 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

=item NOTE

=item SEE ALSO

=item BUGS

=item HISTORY

=back

=head2 IO::Pipe - supply object methods for pipes

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

new ( [READER, WRITER] )

=item METHODS

reader ([ARGS]), writer ([ARGS]), handles ()

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=back

=head2 IO::Poll - Object interface to system poll call

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove (
IO ), handles( [ EVENT_MASK ] )

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item 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

=item SEE ALSO

=item HISTORY

=back

=head2 IO::Select - OO interface to the C<select> system call

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

new ( [ HANDLES ] )

=item METHODS

add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read (
[ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ),
count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )

=item EXAMPLE

=item AUTHOR

=item COPYRIGHT

=back

=head2 IO::Socket - Object interface to socket communications

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR ARGUMENTS

=over 4

=item Blocking

=item Domain

=item Listen

=item Timeout

=item Type

=back

=item CONSTRUCTORS

=over 4

=item new

=back

=item METHODS

=over 4

=item accept

=item atmark

=item autoflush

=item bind

=item connected

=item getsockopt

=item listen

=item peername

=item protocol

=item recv

=item send

=item setsockopt

=item shutdown

=item sockdomain

=item socket

=item socketpair

=item sockname

=item sockopt

=item socktype

=item timeout

=back

=item EXAMPLES

=item LIMITATIONS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=back

=head2 IO::Socket::INET - Object interface for AF_INET domain sockets

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

new ( [ARGS] )

=over 4

=item METHODS

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

=back

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=back

=head2 IO::Socket::IP, C<IO::Socket::IP> - Family-neutral IP socket
supporting both IPv4 and IPv6

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item REPLACING C<IO::Socket> DEFAULT BEHAVIOUR

=back

=over 4

=item CONSTRUCTORS

=back

=over 4

=item 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

=item new (one arg)

=back

=over 4

=item METHODS

=back

=over 4

=item sockhost_service

=back

=over 4

=item sockhost

=item sockport

=item sockhostname

=item sockservice

=back

=over 4

=item sockaddr

=back

=over 4

=item peerhost_service

=back

=over 4

=item peerhost

=item peerport

=item peerhostname

=item peerservice

=back

=over 4

=item peeraddr

=back

=over 4

=item as_inet

=back

=over 4

=item NON-BLOCKING

=back

=over 4

=item C<PeerHost> AND C<LocalHost> PARSING

=over 4

=item split_addr

=back

=back

=over 4

=item join_addr

=back

=over 4

=item C<IO::Socket::INET> INCOMPATIBILITIES

=back

=over 4

=item TODO

=item AUTHOR

=back

=head2 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

new ( [ARGS] )

=item METHODS

hostpath(), peerpath()

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

RFC 1950, RFC 1951 (optionally), gzip (RFC 1952), zip

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeOut => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle, C<< MultiStream => 0|1 >>, C<<
TrailingData => $scalar >>

=item OneShot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< MultiStream => 0|1 >>, C<< Prime => $string
>>, C<< Transparent => 0|1 >>, C<< BlockSize => $num >>, C<< InputLength =>
$size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< RawInflate => 0|1
>>, C<< 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

=back

=item Methods

=over 4

=item read

=item read

=item getline

=item getc

=item ungetc

=item inflateSync

=item getHeaderInfo

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item nextStream

=item trailingData

=back

=item Importing

:all

=item EXAMPLES

=over 4

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

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

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeOut => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle, C<< MultiStream => 0|1 >>, C<<
TrailingData => $scalar >>

=item OneShot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< MultiStream => 0|1 >>, C<< Prime => $string
>>, C<< Transparent => 0|1 >>, C<< BlockSize => $num >>, C<< InputLength =>
$size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< RawInflate => 0|1
>>, C<< UnLzma => 0|1 >>

=back

=item Methods

=over 4

=item read

=item read

=item getline

=item getc

=item ungetc

=item getHeaderInfo

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item nextStream

=item trailingData

=back

=item Importing

:all

=item EXAMPLES

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Uncompress::Base - Base Class for IO::Uncompress modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Uncompress::Bunzip2 - Read bzip2 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeOut => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle, C<< MultiStream => 0|1 >>, C<<
TrailingData => $scalar >>

=item OneShot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< MultiStream => 0|1 >>, C<< Prime => $string
>>, C<< Transparent => 0|1 >>, C<< BlockSize => $num >>, C<< InputLength =>
$size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< Small => 0|1 >>

=back

=item Methods

=over 4

=item read

=item read

=item getline

=item getc

=item ungetc

=item getHeaderInfo

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item nextStream

=item trailingData

=back

=item Importing

:all

=item EXAMPLES

=over 4

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Uncompress::Gunzip - Read RFC 1952 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeOut => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle, C<< MultiStream => 0|1 >>, C<<
TrailingData => $scalar >>

=item OneShot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< MultiStream => 0|1 >>, C<< Prime => $string
>>, C<< Transparent => 0|1 >>, C<< BlockSize => $num >>, C<< InputLength =>
$size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< 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

=back

=item Methods

=over 4

=item read

=item read

=item getline

=item getc

=item ungetc

=item inflateSync

=item getHeaderInfo

Name, Comment

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item nextStream

=item trailingData

=back

=item Importing

:all

=item EXAMPLES

=over 4

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Uncompress::Inflate - Read RFC 1950 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeOut => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle, C<< MultiStream => 0|1 >>, C<<
TrailingData => $scalar >>

=item OneShot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< MultiStream => 0|1 >>, C<< Prime => $string
>>, C<< Transparent => 0|1 >>, C<< BlockSize => $num >>, C<< InputLength =>
$size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>

=back

=item Methods

=over 4

=item read

=item read

=item getline

=item getc

=item ungetc

=item inflateSync

=item getHeaderInfo

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item nextStream

=item trailingData

=back

=item Importing

:all

=item EXAMPLES

=over 4

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Uncompress::RawInflate - Read RFC 1951 files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeOut => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle, C<< MultiStream => 0|1 >>, C<<
TrailingData => $scalar >>

=item OneShot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< AutoClose => 0|1 >>, C<< MultiStream => 0|1 >>, C<< Prime => $string
>>, C<< Transparent => 0|1 >>, C<< BlockSize => $num >>, C<< InputLength =>
$size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>

=back

=item Methods

=over 4

=item read

=item read

=item getline

=item getc

=item ungetc

=item inflateSync

=item getHeaderInfo

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item nextStream

=item trailingData

=back

=item Importing

:all

=item EXAMPLES

=over 4

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Uncompress::Unzip - Read zip files/buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

Store (0), Deflate (8), Bzip2 (12), Lzma (14), Xz (95), Zstandard (93)

=item Functional Interface

=over 4

=item 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

=item Notes

=item Optional Parameters

C<< AutoClose => 0|1 >>, C<< BinModeOut => 0|1 >>, C<< Append => 0|1 >>, A
Buffer, A Filename, A Filehandle, C<< MultiStream => 0|1 >>, C<<
TrailingData => $scalar >>

=item OneShot Examples

=back

=item OO Interface

=over 4

=item Constructor

A filename, A filehandle, A scalar reference

=item Constructor Options

C<< Name => "membername" >>, C<< Efs => 0| 1 >>, C<< AutoClose => 0|1 >>,
C<< MultiStream => 0|1 >>, C<< Prime => $string >>, C<< Transparent => 0|1
>>, C<< BlockSize => $num >>, C<< InputLength => $size >>, C<< Append =>
0|1 >>, C<< Strict => 0|1 >>

=back

=item Methods

=over 4

=item read

=item read

=item getline

=item getc

=item ungetc

=item inflateSync

=item getHeaderInfo

=item tell

=item eof

=item seek

=item binmode

=item opened

=item autoflush

=item input_line_number

=item fileno

=item close

=item nextStream

=item trailingData

=back

=item Importing

:all

=item EXAMPLES

=over 4

=item  Simple Read

=item Walking through a zip file

=item Unzipping a complete zip file to disk

=item Working with Net::FTP

=back

=item SUPPORT

=item SEE ALSO

=item AUTHOR

=item MODIFICATION HISTORY

=item COPYRIGHT AND LICENSE

=back

=head2 IO::Zlib - IO:: style interface to L<Compress::Zlib>

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

new ( [ARGS] )

=item 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 )

=item USING THE EXTERNAL GZIP

=item CLASS METHODS

has_Compress_Zlib, gzip_external, gzip_used, gzip_read_open,
gzip_write_open

=item 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

=item SEE ALSO

=item HISTORY

=item COPYRIGHT

=back

=head2 IPC::Cmd - finding and running system commands made easy

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CLASS METHODS

=over 4

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

=back

=back

=over 4

=item $ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] )

=back

=over 4

=item $bool = IPC::Cmd->can_capture_buffer

=back

=over 4

=item $bool = IPC::Cmd->can_use_run_forked

=back

=over 4

=item FUNCTIONS

=over 4

=item $path = can_run( PROGRAM );

=back

=back

=over 4

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

=back

=over 4

=item $hashref = run_forked( COMMAND, { child_stdin => SCALAR, timeout =>
DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );

C<timeout>, C<child_stdin>, C<stdout_handler>, C<stderr_handler>,
C<wait_loop_callback>, C<discard_output>,
C<terminate_on_parent_sudden_death>, C<exit_code>, C<timeout>, C<stdout>,
C<stderr>, C<merged>, C<err_msg>

=back

=over 4

=item $q = QUOTE

=back

=over 4

=item HOW IT WORKS

=item Global Variables

=over 4

=item $IPC::Cmd::VERBOSE

=item $IPC::Cmd::USE_IPC_RUN

=item $IPC::Cmd::USE_IPC_OPEN3

=item $IPC::Cmd::WARN

=item $IPC::Cmd::INSTANCES

=item $IPC::Cmd::ALLOW_NULL_ARGS

=back

=item Caveats

Whitespace and IPC::Open3 / system(), Whitespace and IPC::Run, IO Redirect,
Interleaving STDOUT/STDERR

=item See Also

=item ACKNOWLEDGEMENTS

=item BUG REPORTS

=item AUTHOR

=item COPYRIGHT

=back

=head2 IPC::Msg - SysV Msg IPC object class

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set
( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [,
FLAGS ] ), stat

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item WARNING 

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item See Also

L<IPC::Open2>, L<IPC::Run>

=item WARNING

=back

=head2 IPC::Semaphore - SysV Semaphore IPC object class

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item 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

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT

=back

=head2 IPC::SharedMem - SysV Shared Memory IPC object class

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

new ( KEY , SIZE , FLAGS ), id, read ( POS, SIZE ), write ( STRING, POS,
SIZE ), remove, is_removed, stat, attach ( [FLAG] ), detach, addr

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT

=back

=head2 IPC::SysV - System V IPC constants and system calls

=over 4

=item SYNOPSIS

=item DESCRIPTION

ftok( PATH ), ftok( PATH, ID ), shmat( ID, ADDR, FLAG ), shmdt( ADDR ),
memread( ADDR, VAR, POS, SIZE ), memwrite( ADDR, STRING, POS, SIZE )

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT

=back

=head2 Internals - Reserved special namespace for internals related
functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item FUNCTIONS

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

=back

=item AUTHOR

=item SEE ALSO

=back

=head2 JSON::PP - JSON::XS compatible pure-Perl module.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONAL INTERFACE

=over 4

=item encode_json

=item decode_json

=item JSON::PP::is_bool

=back

=item OBJECT-ORIENTED INTERFACE

=over 4

=item new

=item ascii

=item latin1

=item utf8

=item pretty

=item indent

=item space_before

=item space_after

=item 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

=item canonical

=item allow_nonref

=item allow_unknown

=item allow_blessed

=item convert_blessed

=item allow_tags

=item boolean_values

=item core_bools

=item filter_json_object

=item filter_json_single_key_object

=item shrink

=item max_depth

=item max_size

=item encode

=item decode

=item decode_prefix

=back

=item FLAGS FOR JSON::PP ONLY

=over 4

=item allow_singlequote

=item allow_barekey

=item allow_bignum

=item loose

=item escape_slash

=item indent_length

=item sort_by

=back

=item INCREMENTAL PARSING

=over 4

=item incr_parse

=item incr_text

=item incr_skip

=item incr_reset

=back

=item MAPPING

=over 4

=item JSON -> PERL

object, array, string, number, true, false, null, shell-style comments (C<<
# I<text> >>), tagged values (C<< (I<tag>)I<value> >>)

=item PERL -> JSON

hash references, array references, other references, JSON::PP::true,
JSON::PP::false, JSON::PP::null, blessed objects, simple scalars

=item OBJECT SERIALISATION

1. C<allow_tags> is enabled and the object has a C<FREEZE> method, 2.
C<convert_blessed> is enabled and the object has a C<TO_JSON> method, 3.
C<allow_bignum> is enabled and the object is a C<Math::BigInt> or
C<Math::BigFloat>, 4. C<allow_blessed> is enabled, 5. none of the above

=back

=item ENCODING/CODESET FLAG NOTES

C<utf8> flag disabled, C<utf8> flag enabled, C<latin1> or C<ascii> flags
enabled

=item BUGS

=item SEE ALSO

=item AUTHOR

=item CURRENT MAINTAINER

=item COPYRIGHT AND LICENSE

=back

=head2 JSON::PP::Boolean - dummy module providing JSON::PP::Boolean

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item AUTHOR

=item LICENSE

=back

=head2 List::Util - A selection of general-utility list subroutines

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item LIST-REDUCTION FUNCTIONS

=back

=over 4

=item reduce

=item reductions

=item any

=item all

=item none

=item notall

=item first

=item max

=item maxstr

=item min

=item minstr

=item product

=item sum

=item sum0

=back

=over 4

=item KEY/VALUE PAIR LIST FUNCTIONS

=back

=over 4

=item pairs

=item unpairs

=item pairkeys

=item pairvalues

=item pairgrep

=item pairfirst

=item pairmap

=back

=over 4

=item OTHER FUNCTIONS

=back

=over 4

=item shuffle

=back

=over 4

=item sample

=item uniq

=item uniqint

=item uniqnum

=item uniqstr

=back

=over 4

=item head

=item tail

=item zip

=item mesh

=back

=over 4

=item CONFIGURATION VARIABLES

=over 4

=item $RAND

=back

=item KNOWN BUGS

=over 4

=item RT #95409

=item uniqnum() on oversized bignums

=back

=item SUGGESTED ADDITIONS

=item SEE ALSO

=item COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item COPYRIGHT

=back

=head2 Locale::Maketext - framework for localization

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item QUICK OVERVIEW

=item METHODS

=over 4

=item Construction Methods

=item The "maketext" Method

$lh->fail_with I<or> $lh->fail_with(I<PARAM>), $lh->failure_handler_auto,
$lh->denylist(@list) <or> $lh->blacklist(@list), $lh->allowlist(@list) <or>
$lh->whitelist(@list)

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

=item Language Handle Attributes and Internals

=back

=item LANGUAGE CLASS HIERARCHIES

=item ENTRIES IN EACH LEXICON

=item BRACKET NOTATION

=item BRACKET NOTATION SECURITY

=item AUTO LEXICONS

=item READONLY LEXICONS

=item CONTROLLING LOOKUP FAILURE

=item HOW TO USE MAKETEXT

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMER

=item AUTHOR

=back

=head2 Locale::Maketext::Cookbook - recipes for using Locale::Maketext

=over 4

=item INTRODUCTION

=item ONESIDED LEXICONS

=item DECIMAL PLACES IN NUMBER FORMATTING

=back

=head2 Locale::Maketext::Guts - Deprecated module to load Locale::Maketext
utf8 code

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 Locale::Maketext::GutsLoader - Deprecated module to load
Locale::Maketext utf8 code

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 Locale::Maketext::Simple - Simple interface to
Locale::Maketext::Lexicon

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item OPTIONS

=over 4

=item Class

=item Path

=item Style

=item Export

=item Subclass

=item Decode

=item Encoding

=back

=back

=over 4

=item ACKNOWLEDGMENTS

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT

=over 4

=item The "MIT" License

=back

=back

=head2 Locale::Maketext::TPJ13 -- article about software localization

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Localization and Perl: gettext breaks, Maketext fixes

=over 4

=item A Localization Horror Story: It Could Happen To You

=item The Linguistic View

=item Breaking gettext

=item Replacing gettext

=item Buzzwords: Abstraction and Encapsulation

=item Buzzword: Isomorphism

=item Buzzword: Inheritance

=item Buzzword: Concision

=item The Devil in the Details

=item The Proof in the Pudding: Localizing Web Sites

=item References

=back

=back

=head2 MIME::Base64 - Encoding and decoding of base64 strings

=over 4

=item SYNOPSIS

=item 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 )

=item EXAMPLES

=item COPYRIGHT

=item SEE ALSO

=back

=head2 MIME::QuotedPrint - Encoding and decoding of quoted-printable
strings

=over 4

=item SYNOPSIS

=item DESCRIPTION

encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol, $binmode
), decode_qp( $str )

=item COPYRIGHT

=item SEE ALSO

=back

=head2 Math::BigFloat - arbitrary size floating point math package

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Input

=item Output

=back

=item METHODS

=over 4

=item Configuration methods

accuracy(), precision()

=item Constructor methods

from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(),
from_ieee754(), from_base(), bpi(), as_int(), as_rat(), as_float()

=item Arithmetic methods

bdiv(), bmod(), bfdiv(), binv(), bmuladd(), bexp(), bnok(), bperm(),
bsin(), bcos(), batan(), batan2(), bgcd()

=item String conversion methods

bstr(), bsstr(), bnstr(), bestr(), bdstr(), to_bytes(), to_ieee754()

=item ACCURACY AND PRECISION

=item Rounding

bfround ( +$scale ), bfround ( -$scale ), bfround ( 0 ), bround  ( +$scale
), bround  ( -$scale ) and bround ( 0 )

=back

=item NUMERIC LITERALS

=over 4

=item Hexadecimal, octal, and binary floating point literals

=item Math library

=back

=item EXPORTS

Modifying and =, precision() vs. accuracy()

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item SEE ALSO

=item AUTHORS

=back

=head2 Math::BigInt - arbitrary size integer math package

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Input

=item Output

=back

=item METHODS

=over 4

=item Configuration methods

accuracy(), precision(), round_mode(), div_scale(), trap_inf(), trap_nan(),
upgrade(), downgrade(), modify(), config()

=item Constructor methods

new(), from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(),
from_ieee754(), from_base(), from_base_num(), bzero(), bone(), binf(),
bnan(), bpi(), copy(), as_int(), as_rat(), as_float()

=item Boolean methods

is_zero(), is_one(), is_finite(), is_inf(), is_nan(), is_positive(),
is_pos(), is_negative(), is_neg(), is_non_positive(), is_non_negative(),
is_odd(), is_even(), is_int()

=item Comparison methods

bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge()

=item Arithmetic methods

bneg(), babs(), bsgn(), bnorm(), binc(), bdec(), badd(), bsub(), bmul(),
bdiv(), bmod(), bfdiv(), bfmod(), btdiv(), btmod(), binv(), bsqrt(),
bpow(), broot(), bmuladd(), bmodpow(), bmodinv(), blog(), bexp(), bilog2(),
bilog10(), bclog2(), bclog10(), bnok(), bperm(), bhyperop(), hyperop(),
buparrow(), uparrow(), backermann(), ackermann(), bsin(), bcos(), batan(),
batan2(), bfac(), bdfac(), btfac(), bmfac(), bfib(), blucas(), blsft(),
brsft()

=item Bitwise methods

bblsft(), bbrsft(), band(), bior(), bxor(), bnot()

=item Rounding methods

round(), bround(), bfround(), bfloor(), bceil(), bint()

=item Other mathematical methods

bgcd(), blcm()

=item Object property methods

sign(), digit(), bdigitsum(), digitsum(), length(), mantissa(), exponent(),
parts(), sparts(), nparts(), eparts(), dparts(), fparts(), numerator(),
denominator()

=item String conversion methods

bstr(), bsstr(), bnstr(), bestr(), bdstr(), bfstr(), to_hex(), to_oct(),
to_bin(), to_bytes(), to_ieee754(), to_base(), to_base_num(), as_hex(),
as_oct(), as_bin(), as_bytes()

=item Other conversion methods

numify()

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

=back

=item ACCURACY AND PRECISION

=over 4

=item Accuracy A

=item Precision P

=item Rounding mode R

'trunc', 'even', 'odd', '+inf', '-inf', 'zero', 'common'

=item Fallback F

=item More details on rounding

Precision, Accuracy (significant digits), Setting/Accessing, Creating
numbers, Usage, Precedence, Overriding globals, Local settings, Rounding,
Default values, Remarks

=back

=item INTERNALS

=over 4

=item Math Library

=item Sign

=back

=item EXAMPLES

=item NUMERIC LITERALS

=over 4

=item Hexadecimal, octal, and binary floating point literals

=back

=item PERFORMANCE

=over 4

=item Alternative math libraries

=back

=item SUBCLASSING

=over 4

=item Subclassing Math::BigInt

=back

=item UPGRADING

=over 4

=item Auto-upgrade

=back

=item EXPORTS

=item CAVEATS

Comparing numbers as strings, oct()/hex(), int(), Modifying and =,
Overloading -$x, Mixing different object types

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item SEE ALSO

=item AUTHORS

=back

=head2 Math::BigInt::Calc - pure Perl module to support Math::BigInt

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OPTIONS

base_len, use_int

=item METHODS

_base_len()

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item STORAGE

=item METHODS

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item AUTHORS

=item SEE ALSO

=back

=head2 Math::BigInt::Lib - virtual parent class for Math::BigInt libraries

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item General Notes

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

=item API version 2

CLASS-E<gt>_1ex(N), CLASS-E<gt>_nok(OBJ1, OBJ2), CLASS-E<gt>_alen(OBJ)

=back

=item WRAP YOUR OWN

=item BUGS

=item SUPPORT

GitHub Source Repository, RT: CPAN's request tracker, MetaCPAN, CPAN
Testers Matrix

=item LICENSE

=item AUTHOR

=item SEE ALSO

=back

=head2 Math::BigRat - arbitrary size rational number math package

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Math Library

=back

=item METHODS

new(), from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(),
from_ieee754(), from_base(), bzero(), bone(), binf(), bnan(), bpi(),
copy(), as_int(), as_rat(), as_float(), bround()/round()/bfround(),
is_zero(), is_one(), is_finite(), is_positive(), is_pos(), is_negative(),
is_neg(), is_odd(), is_even(), is_int()

=over 4

=item Comparison methods

bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge(), blsft()/brsft(),
bneg(), bnorm(), binc(), bdec(), badd(), bsub(), bmul(), bdiv(), bmod(),
binv(), bsqrt(), bpow(), broot(), bmodpow(), bmodinv(), blog(), bexp(),
bnok(), bperm(), bfac(), band(), bior(), bxor(), bnot(), bfloor(), bceil(),
bint(), bgcd(), digit(), length(), parts(), dparts(), fparts(),
numerator(), denominator()

=item String conversion methods

bstr(), bnstr(), bestr(), bdstr(), to_bytes(), to_ieee754(), as_hex(),
as_oct(), as_bin(), numify(), config()

=back

=item NUMERIC LITERALS

=over 4

=item Hexadecimal, octal, and binary floating point literals

=back

=item BUGS

=item SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

=item LICENSE

=item SEE ALSO

=item AUTHORS

=back

=head2 Math::Complex - complex numbers and associated mathematical
functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item OPERATIONS

=item CREATION

=item DISPLAYING

=over 4

=item CHANGED IN PERL 5.6

=back

=item USAGE

=item CONSTANTS

=over 4

=item PI

=item Inf

=back

=item ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO

=item ERRORS DUE TO INDIGESTIBLE ARGUMENTS

=item BUGS

=item SEE ALSO

=item AUTHORS

=item LICENSE

=back

=head2 Math::Trig - trigonometric functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item TRIGONOMETRIC FUNCTIONS

B<tan>

=over 4

=item ERRORS DUE TO DIVISION BY ZERO

=item SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS

=back

=item PLANE ANGLE CONVERSIONS

deg2rad, grad2rad, rad2deg, grad2deg, deg2grad, rad2grad, rad2rad, deg2deg,
grad2grad

=item RADIAL COORDINATE CONVERSIONS

=over 4

=item COORDINATE SYSTEMS

=item 3-D ANGLE CONVERSIONS

cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian,
cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical

=back

=item GREAT CIRCLE DISTANCES AND DIRECTIONS

=over 4

=item great_circle_distance

=item great_circle_direction

=item great_circle_bearing

=item great_circle_destination

=item great_circle_midpoint

=item great_circle_waypoint

=back

=item EXAMPLES

=over 4

=item CAVEAT FOR GREAT CIRCLE FORMULAS

=item Real-valued asin and acos

asin_real, acos_real

=back

=item BUGS

=item SEE ALSO

=item AUTHORS

=item LICENSE

=back

=head2 Memoize - Make functions faster by trading space for time

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLE

=item DETAILS

=item OPTIONS

=over 4

=item INSTALL

=item NORMALIZER

=item C<SCALAR_CACHE>, C<LIST_CACHE>

C<MEMORY>, C<HASH>, C<TIE>, C<FAULT>, C<MERGE>

=back

=item OTHER FACILITIES

=over 4

=item C<unmemoize>

=item C<flush_cache>

=back

=item CAVEATS

=item PERSISTENT CACHE SUPPORT

=item EXPIRATION SUPPORT

=item BUGS

=item SEE ALSO

=item THANK YOU

=item AUTHOR

=item COPYRIGHT AND LICENSE

=back

=head2 Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for
Storable use

=over 4

=item DESCRIPTION

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item INTERFACE

 TIEHASH,  EXISTS,  STORE

=item ALTERNATIVES

=item CAVEATS

=item AUTHOR

=item SEE ALSO

=back

=head2 Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for
Storable use

=over 4

=item DESCRIPTION

=back

=head2 Memoize::SDBM_File - DEPRECATED compatibility shim

=over 4

=item DESCRIPTION

=back

=head2 Memoize::Storable - store Memoized data in Storable database

=over 4

=item DESCRIPTION

=back

=head2 Module::CoreList - what modules shipped with versions of perl

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS API

C<first_release( MODULE )>, C<first_release_by_date( MODULE )>,
C<find_modules( REGEX, [ LIST OF PERLS ] )>, C<find_version( PERL_VERSION
)>, C<is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] )>,
C<is_deprecated( MODULE, PERL_VERSION )>, C<deprecated_in( MODULE )>,
C<removed_from( MODULE )>, C<removed_from_by_date( MODULE )>,
C<changes_between( PERL_VERSION, PERL_VERSION )>

=item DATA STRUCTURES

C<%Module::CoreList::version>, C<%Module::CoreList::delta>,
C<%Module::CoreList::released>, C<%Module::CoreList::families>,
C<%Module::CoreList::deprecated>, C<%Module::CoreList::upstream>,
C<%Module::CoreList::bug_tracker>

=item CAVEATS

=item HISTORY

=item AUTHOR

=item LICENSE

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS API

C<utilities>, C<first_release( UTILITY )>, C<first_release_by_date( UTILITY
)>, C<removed_from( UTILITY )>, C<removed_from_by_date( UTILITY )>

=item DATA STRUCTURES

C<%Module::CoreList::Utils::utilities>

=item AUTHOR

=item LICENSE

=item SEE ALSO

=back

=head2 Module::Load - runtime require of both modules and files

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Difference between C<load> and C<autoload>

=back

=item FUNCTIONS

load, autoload, load_remote, autoload_remote

=item Rules

=item IMPORTS THE FUNCTIONS

"load","autoload","load_remote","autoload_remote", 'all', '','none',undef

=item Caveats

=item SEE ALSO

=item ACKNOWLEDGEMENTS

=item BUG REPORTS

=item AUTHOR

=item COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Methods

=over 4

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

module, version, verbose, file, dir, version, uptodate

=back

=back

=over 4

=item $bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] },
[verbose => BOOL, nocache => BOOL, autoload => BOOL] )

modules, verbose, nocache, autoload

=back

=over 4

=item @list = requires( MODULE );

=back

=over 4

=item Global Variables

=over 4

=item $Module::Load::Conditional::VERBOSE

=item $Module::Load::Conditional::FIND_VERSION

=item $Module::Load::Conditional::CHECK_INC_HASH

=item $Module::Load::Conditional::FORCE_SAFE_INC

=item $Module::Load::Conditional::CACHE

=item $Module::Load::Conditional::ERROR

=item $Module::Load::Conditional::DEPRECATED

=back

=item See Also

=item BUG REPORTS

=item AUTHOR

=item COPYRIGHT

=back

=head2 Module::Loaded - mark modules as loaded or unloaded

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS

=over 4

=item $bool = mark_as_loaded( PACKAGE );

=back

=back

=over 4

=item $bool = mark_as_unloaded( PACKAGE );

=back

=over 4

=item $loc = is_loaded( PACKAGE );

=back

=over 4

=item BUG REPORTS

=item AUTHOR

=item COPYRIGHT

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item CLASS METHODS

=over 4

=item C<< new_from_file($filename, collect_pod => 1, decode_pod => 1) >>

=item C<< new_from_handle($handle, $filename, collect_pod => 1, decode_pod
=> 1) >>

=item C<< new_from_module($module, collect_pod => 1, inc => \@dirs,
decode_pod => 1) >>

=item C<< find_module_by_name($module, \@dirs) >>

=item C<< find_module_dir_by_name($module, \@dirs) >>

=item C<< provides( %options ) >>

version B<(required)>, dir, files, prefix

=item C<< package_versions_from_directory($dir, \@files?) >>

=item C<< log_info (internal) >>

=back

=item OBJECT METHODS

=over 4

=item C<< name() >>

=item C<< version($package) >>

=item C<< filename() >>

=item C<< packages_inside() >>

=item C<< pod_inside() >>

=item C<< contains_pod() >>

=item C<< pod($section) >>

=item C<< is_indexable($package) >> or C<< is_indexable() >>

=back

=item SUPPORT

=item AUTHOR

=item CONTRIBUTORS

=item COPYRIGHT & LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Enforcing redispatch

=item Avoiding repetitions

=item Invoking all versions of a method with a single call

=item Using C<EVERY> methods

=back

=item SEE ALSO

=item AUTHOR

=item BUGS AND IRRITATIONS

=item COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Public Methods

C<debug($level)>, C<message()>, C<code()>, C<ok()>, C<status()>,
C<datasend($data)>, C<dataend()>

=item Protected Methods

C<debug_print($dir, $text)>, C<debug_text($dir, $text)>, C<command($cmd[,
$args, ... ])>, C<unsupported()>, C<response()>, C<parse_response($text)>,
C<getline()>, C<ungetline($text)>, C<rawdatasend($data)>,
C<read_until_dot()>, C<tied_fh()>

=item Pseudo Responses

Initial value, Connection closed, Timeout

=back

=item EXPORTS

Default Exports, Optional Exports, Export Tags

=item KNOWN BUGS

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Net::Config - Local configuration data for libnet

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Class Methods

C<requires_firewall($host)>

=item NetConfig Values

nntp_hosts, snpp_hosts, pop3_hosts, smtp_hosts, ph_hosts, daytime_hosts,
time_hosts, inet_domain, ftp_firewall, ftp_firewall_type, 0Z<>, 1Z<>, 2Z<>,
3Z<>, 4Z<>, 5Z<>, 6Z<>, 7Z<>, ftp_ext_passive, ftp_int_passive,
local_netmask, test_hosts, test_exists

=back

=item EXPORTS

Default Exports, Optional Exports, Export Tags

=item KNOWN BUGS

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Functions

C<hostfqdn()>, C<domainname()>, C<hostname()>, C<hostdomain()>

=back

=item EXPORTS

Default Exports, Optional Exports, Export Tags

=item KNOWN BUGS

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Net::FTP - FTP Client class

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Overview

=item Class Methods

C<new([$host][, %options])>

=item Object Methods

C<login([$login[, $password[, $account]]])>, C<starttls()>, C<stoptls()>,
C<prot($level)>, C<host()>, C<account($acct)>, C<authorize([$auth[,
$resp]])>, C<site($args)>, C<ascii()>, C<binary()>, C<type([$type])>,
C<rename($oldname, $newname)>, C<delete($filename)>, C<cwd([$dir])>,
C<cdup()>, C<passive([$passive])>, C<pwd()>, C<restart($where)>,
C<rmdir($dir[, $recurse])>, C<mkdir($dir[, $recurse])>, C<alloc($size[,
$record_size])>, C<ls([$dir])>, C<dir([$dir])>, C<get($remote_file[,
$local_file[, $where]])>, C<put($local_file[, $remote_file])>,
C<put_unique($local_file[, $remote_file])>, C<append($local_file[,
$remote_file])>, C<unique_name()>, C<mdtm($file)>, C<size($file)>,
C<supported($cmd)>, C<hash([$filehandle_glob_ref[,
$bytes_per_hash_mark]])>, C<feature($name)>, C<nlst([$dir])>,
C<list([$dir])>, C<retr($file)>, C<stor($file)>, C<stou($file)>,
C<appe($file)>, C<port([$port])>, C<eprt([$port])>, C<pasv()>, C<epsv()>,
C<pasv_xfer($src_file, $dest_server[, $dest_file ])>,
C<pasv_xfer_unique($src_file, $dest_server[, $dest_file ])>,
C<pasv_wait($non_pasv_server)>, C<abort()>, C<quit()>

=item Methods for the Adventurous

C<quot($cmd[, $args])>, C<can_inet6()>, C<can_ssl()>

=item The dataconn Class

=item Unimplemented

C<SMNT>, C<HELP>, C<MODE>, C<SYST>, C<STAT>, C<STRU>, C<REIN>

=back

=item EXPORTS

=item KNOWN BUGS

=over 4

=item Reporting Bugs

=back

=item SEE ALSO

=item ACKNOWLEDGEMENTS

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Net::NNTP - NNTP Client class

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Class Methods

C<new([$host][, %options])>

=item Object Methods

C<host()>, C<starttls()>, C<article([{$msgid|$msgnum}[, $fh]])>,
C<body([{$msgid|$msgnum}[, [$fh]])>, C<head([{$msgid|$msgnum}[, [$fh]])>,
C<articlefh([{$msgid|$msgnum}])>, C<bodyfh([{$msgid|$msgnum}])>,
C<headfh([{$msgid|$msgnum}])>, C<nntpstat([{$msgid|$msgnum}])>,
C<group([$group])>, C<help()>, C<ihave($msgid[, $message])>, C<last()>,
C<date()>, C<postok()>, C<authinfo($user, $pass)>, C<authinfo_simple($user,
$pass)>, C<list()>, C<newgroups($since[, $distributions])>,
C<newnews($since[, $groups[, $distributions]])>, C<next()>,
C<post([$message])>, C<postfh()>, C<slave()>, C<quit()>, C<can_inet6()>,
C<can_ssl()>

=item Extension Methods

C<newsgroups([$pattern])>, C<distributions()>, C<distribution_patterns()>,
C<subscriptions()>, C<overview_fmt()>, C<active_times()>,
C<active([$pattern])>, C<xgtitle($pattern)>, C<xhdr($header,
$message_spec)>, C<xover($message_spec)>, C<xpath($message_id)>,
C<xpat($header, $pattern, $message_spec)>, C<xrover($message_spec)>,
C<listgroup([$group])>, C<reader()>

=item Unsupported

=item Definitions

$message_spec, $pattern, Examples, C<[^]-]>, C<*bdc>, C<[0-9a-zA-Z]>,
C<a??d>

=back

=item EXPORTS

=item KNOWN BUGS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Net::Netrc - OO interface to users netrc file

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item The F<.netrc> File

machine name, default, login name, password string, account string, macdef
name

=item Class Methods

C<lookup($machine[, $login])>

=item Object Methods

C<login()>, C<password()>, C<account()>, C<lpa()>

=back

=item EXPORTS

=item KNOWN BUGS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Class Methods

C<new([$host][, %options])>

=item Object Methods

C<host()>, C<auth($username, $password)>, C<user($user)>, C<pass($pass)>,
C<login([$user[, $pass]])>, C<starttls(%sslargs)>, C<apop([$user[,
$pass]])>, C<banner()>, C<capa()>, C<capabilities()>, C<top($msgnum[,
$numlines])>, C<list([$msgnum])>, C<get($msgnum[, $fh])>,
C<getfh($msgnum)>, C<last()>, C<popstat()>, C<ping($user)>,
C<uidl([$msgnum])>, C<delete($msgnum)>, C<reset()>, C<quit()>,
C<can_inet6()>, C<can_ssl()>

=item Notes

=back

=item EXPORTS

=item KNOWN BUGS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Net::Ping - check a remote host for reachability

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item 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]) X<new>, $p->ping($host [, $timeout [,
$family]]); X<ping>, $p->source_verify( { 0 | 1 } ); X<source_verify>,
$p->service_check( { 0 | 1 } ); X<service_check>, $p->tcp_service_check( {
0 | 1 } ); X<tcp_service_check>, $p->hires( { 0 | 1 } ); X<hires>, $p->time
X<time>, $p->socket_blocking_mode( $fh, $mode ); X<socket_blocking_mode>,
$p->IPV6_USE_MIN_MTU X<IPV6_USE_MIN_MTU>, $p->IPV6_RECVPATHMTU
X<IPV6_RECVPATHMTU>, $p->IPV6_HOPLIMIT X<IPV6_HOPLIMIT>, $p->IPV6_REACHCONF
I<NYI> X<IPV6_REACHCONF>, $p->bind($local_addr); X<bind>,
$p->message_type([$ping_type]); X<message_type>, $p->open($host); X<open>,
$p->ack( [ $host ] ); X<ack>, $p->nack( $failed_ack_host ); X<nack>,
$p->ack_unfork($host) X<ack_unfork>, $p->ping_icmp([$host, $timeout,
$family]) X<ping_icmp>, $p->ping_icmpv6([$host, $timeout, $family])
X<ping_icmpv6>, $p->ping_stream([$host, $timeout, $family]) X<ping_stream>,
$p->ping_syn([$host, $ip, $start_time, $stop_time]) X<ping_syn>,
$p->ping_syn_fork([$host, $timeout, $family]) X<ping_syn_fork>,
$p->ping_tcp([$host, $timeout, $family]) X<ping_tcp>, $p->ping_udp([$host,
$timeout, $family]) X<ping_udp>, $p->ping_external([$host, $timeout,
$family]) X<ping_external>, $p->tcp_connect([$ip, $timeout])
X<tcp_connect>, $p->tcp_echo([$ip, $timeout, $pingstring]) X<tcp_echo>,
$p->close(); X<close>, $p->port_number([$port_number]) X<port_number>,
$p->mselect X<mselect>, $p->ntop X<ntop>, $p->checksum($msg) X<checksum>,
$p->icmp_result X<icmp_result>, pingecho($host [, $timeout]); X<pingecho>,
wakeonlan($mac, [$host, [$port]]) X<wakeonlan>

=back

=item NOTES

=item INSTALL

=item BUGS

=item AUTHORS

=item COPYRIGHT

=back

=head2 Net::SMTP - Simple Mail Transfer Protocol Client

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Class Methods

C<new([$host][, %options])>

=back

=item Object Methods

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

=over 4

=item Addresses

=back

=item EXAMPLES

=item EXPORTS

=item KNOWN BUGS

=item SEE ALSO

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Net::Time - time and daytime network client interface

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Functions

C<inet_time([$host[, $protocol[, $timeout]]])>, C<inet_daytime([$host[,
$protocol[, $timeout]]])>

=back

=item EXPORTS

Default Exports, Optional Exports, Export Tags

=item KNOWN BUGS

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLES

=item NOTE

=item AUTHOR

=back

=head2 Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions

=over 4

=item DESCRIPTION

=over 4

=item Where to get this document

=item How to contribute to this document

=back

=item Author and Copyright Information

=over 4

=item Disclaimer

=back

=item Obtaining and installing libnet

=over 4

=item What is libnet ?

=item Which version of perl do I need ?

=item What other modules do I need ?

=item What machines support libnet ?

=item Where can I get the latest libnet release

=back

=item Using Net::FTP

=over 4

=item How do I download files from an FTP server ?

=item How do I transfer files in binary mode ?

=item How can I get the size of a file on a remote FTP server ?

=item How can I get the modification time of a file on a remote FTP server
?

=item How can I change the permissions of a file on a remote server ?

=item Can I do a reget operation like the ftp command ?

=item How do I get a directory listing from an FTP server ?

=item Changing directory to "" does not fail ?

=item I am behind a SOCKS firewall, but the Firewall option does not work ?

=item I am behind an FTP proxy firewall, but cannot access machines outside
?

=item My ftp proxy firewall does not listen on port 21

=item Is it possible to change the file permissions of a file on an FTP
server ?

=item I have seen scripts call a method message, but cannot find it
documented ?

=item Why does Net::FTP not implement mput and mget methods

=back

=item Using Net::SMTP

=over 4

=item Why can't the part of an Email address after the @ be used as the
hostname ?

=item Why does Net::SMTP not do DNS MX lookups ?

=item The verify method always returns true ?

=back

=item Debugging scripts

=over 4

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

=back

=item AUTHOR AND COPYRIGHT

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLES

=item NOTE

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTE

=item AUTHOR

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLES

=item NOTE

=item AUTHOR

=back

=head2 O - Generic interface to Perl Compiler backends

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONVENTIONS

=item IMPLEMENTATION

=item BUGS

=item AUTHOR

=back

=head2 Opcode - Disable named opcodes when compiling perl code

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTE

=item WARNING

=item Operator Names and Operator Lists

an operator name (opname), an operator tag name (optag), a negated opname
or optag, an operator set (opset)

=item 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)

=item Manipulating Opsets

=item TO DO (maybe)

=back

=over 4

=item 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

=item SEE ALSO

=item AUTHORS

=back

=head2 POSIX - Perl interface to IEEE Std 1003.1

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEATS

=item FUNCTIONS

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

=item CLASSES

=over 4

=item C<POSIX::SigAction>

C<new>, C<handler>, C<mask>, C<flags>, C<safe>

=item C<POSIX::SigRt>

C<%SIGRT>, C<SIGRTMIN>, C<SIGRTMAX>

=item C<POSIX::SigSet>

C<new>, C<addset>, C<delset>, C<emptyset>, C<fillset>, C<ismember>

=item C<POSIX::Termios>

C<new>, C<getattr>, C<getcc>, C<getcflag>, C<getiflag>, C<getispeed>,
C<getlflag>, C<getoflag>, C<getospeed>, C<setattr>, C<setcc>, C<setcflag>,
C<setiflag>, C<setispeed>, C<setlflag>, C<setoflag>, C<setospeed>, Baud
rate values, Terminal interface values, C<c_cc> field values, C<c_cflag>
field values, C<c_iflag> field values, C<c_lflag> field values, C<c_oflag>
field values

=back

=item PATHNAME CONSTANTS

Constants

=item POSIX CONSTANTS

Constants

=item RESOURCE CONSTANTS

Constants

=item SYSTEM CONFIGURATION

Constants

=item ERRNO

Constants

=item FCNTL

Constants

=item FLOAT

Constants

=item FLOATING-POINT ENVIRONMENT

Constants

=item LIMITS

Constants

=item LOCALE

Constants

=item MATH

Constants

=item SIGNAL

Constants

=item STAT

Constants, Macros

=item STDLIB

Constants

=item STDIO

Constants

=item TIME

Constants

=item UNISTD

Constants

=item WAIT

Constants, C<WNOHANG>, C<WUNTRACED>, Macros, C<WIFEXITED>, C<WEXITSTATUS>,
C<WIFSIGNALED>, C<WTERMSIG>, C<WIFSTOPPED>, C<WSTOPSIG>

=item WINSOCK

Constants

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Template

default, required, strict_type, defined, no_override, store, allow

=item Functions

=over 4

=item check( \%tmpl, \%args, [$verbose] );

Template, Arguments, Verbose

=back

=back

=over 4

=item allow( $test_me, \@criteria );

string, regexp, subroutine, array ref

=back

=over 4

=item last_error()

=back

=over 4

=item Global Variables

=over 4

=item $Params::Check::VERBOSE

=item $Params::Check::STRICT_TYPE

=item $Params::Check::ALLOW_UNKNOWN

=item $Params::Check::STRIP_LEADING_DASHES

=item $Params::Check::NO_DUPLICATES

=item $Params::Check::PRESERVE_CASE

=item $Params::Check::ONLY_ALLOW_DEFINED

=item $Params::Check::SANITY_CHECK_TEMPLATE

=item $Params::Check::WARNINGS_FATAL

=item $Params::Check::CALLER_DEPTH

=back

=item Acknowledgements

=item BUG REPORTS

=item AUTHOR

=item COPYRIGHT

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item load_file

=item load_yaml_string

=item load_json_string

=item load_string

=item yaml_backend

=item json_backend

=item json_decoder

=back

=item FUNCTIONS

=over 4

=item Load

=item LoadFile

=back

=item ENVIRONMENT

=over 4

=item CPAN_META_JSON_DECODER

=item CPAN_META_JSON_BACKEND

=item PERL_JSON_BACKEND

=item PERL_YAML_BACKEND

=back

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

=head2 Perl::OSType - Map Perl operating system names to generic types

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item USAGE

=over 4

=item os_type()

=item is_os_type()

=back

=item SEE ALSO

=item SUPPORT

=over 4

=item Bugs / Feature Requests

=item Source Code

=back

=item AUTHOR

=item CONTRIBUTORS

=item COPYRIGHT AND LICENSE

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Layers

:unix, :stdio, :perlio, :crlf, :utf8, :bytes, :raw, :pop

=item Custom Layers

:encoding, :mmap, :via, :scalar

=item Alternatives to raw

=item Defaults and how to override them

=item Querying the layers of filehandles

=back

=item AUTHOR

=item SEE ALSO

=back

=head2 PerlIO::encoding - encoding layer

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=back

=head2 PerlIO::mmap - Memory mapped IO

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item IMPLEMENTATION NOTE

=back

=head2 PerlIO::scalar - in-memory IO, scalar IO

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item IMPLEMENTATION NOTE

=back

=head2 PerlIO::via - Helper class for PerlIO layers implemented in perl

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item 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)

=item EXAMPLES

=over 4

=item Example - a Hexadecimal Handle

=back

=back

=head2 PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXPORTS

=item KNOWN BUGS

=item FEEDBACK

=item SEE ALSO

=item ACKNOWLEDGEMENTS

=item AVAILABILITY

=item INSTALLATION

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Pod::Checker - check pod documents for syntax errors

=over 4

=item SYNOPSIS

=item OPTIONS/ARGUMENTS

=over 4

=item podchecker()

B<-warnings> =E<gt> I<val>, B<-quiet> =E<gt> I<val>

=back

=item DESCRIPTION

=item DIAGNOSTICS

=over 4

=item Errors

empty =headn, =over on line I<N> without closing =back, You forgot a
'=back' before '=headI<N>', =over is the last thing in the document?!,
'=item' outside of any '=over', =back without =over, Can't have a 0 in
=over I<N>, =over should be: '=over' or '=over positive_number', =begin
I<TARGET> without matching =end I<TARGET>, =begin without a target?, =end
I<TARGET> without matching =begin, '=end' without a target?, '=end
I<TARGET>' is invalid, =end I<CONTENT> doesn't match =begin I<TARGET>, =for
without a target?, unresolved internal link I<NAME>, Unknown directive:
I<CMD>, Deleting unknown formatting code I<SEQ>, Unterminated
I<SEQ>E<lt>E<gt> sequence, An EE<lt>...E<gt> surrounding strange content,
An empty EE<lt>E<gt>, An empty C<< LE<lt>E<gt> >>, An empty XE<lt>E<gt>,
Spurious text after =pod / =cut, =back doesn't take any parameters, but you
said =back I<ARGUMENT>, =pod directives shouldn't be over one line long! 
Ignoring all I<N> lines of content, =cut found outside a pod block, Invalid
=encoding syntax: I<CONTENT>

=item Warnings

nested commands I<CMD>E<lt>...I<CMD>E<lt>...E<gt>...E<gt>, multiple
occurrences (I<N>) of link target I<name>, line containing nothing but
whitespace in paragraph, =item has no contents, You can't have =items (as
at line I<N>) unless the first thing after the =over is an =item, Expected
'=item I<EXPECTED VALUE>', Expected '=item *', Possible =item type
mismatch: 'I<x>' found leading a supposed definition =item, You have '=item
x' instead of the expected '=item I<N>', Unknown E content in
EE<lt>I<CONTENT>E<gt>, empty =over/=back block, empty section in previous
paragraph, Verbatim paragraph in NAME section, =headI<n> without preceding
higher level, A non-empty ZE<lt>E<gt>

=item Hyperlinks

ignoring leading/trailing whitespace in link, alternative text/node '%s'
contains non-escaped | or /

=back

=item RETURN VALUE

=item EXAMPLES

=item SCRIPTS

=item 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

=back

C<Pod::Checker-E<gt>new( %options )>

C<$checker-E<gt>poderror( @args )>, C<$checker-E<gt>poderror( {%opts},
@args )>

C<$checker-E<gt>num_errors()>

C<$checker-E<gt>num_warnings()>

C<$checker-E<gt>name()>

C<$checker-E<gt>node()>

C<$checker-E<gt>idx()>

C<$checker-E<gt>hyperlinks()>

line()

type()

page()

node()

=over 4

=item AUTHOR

=back

=head2 Pod::Escapes - for resolving Pod EE<lt>...E<gt> sequences

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item GOODIES

e2char($e_content), e2charnum($e_content), $Name2character{I<name>},
$Name2character_number{I<name>}, $Latin1Code_to_fallback{I<integer>},
$Latin1Char_to_fallback{I<character>}, $Code2USASCII{I<integer>}

=item CAVEATS

=item SEE ALSO

=item REPOSITORY

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Html - module to convert pod files to HTML

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS

=over 4

=item pod2html

backlink, cachedir, css, flush, header, help, htmldir, htmlroot, index,
infile, outfile, poderrors, podpath, podroot, quiet, recurse, title,
verbose

=item Formerly Exported Auxiliary Functions

C<htmlify()> (by default), C<anchorify()> (upon request),
C<relativize_url()> (upon request)

=back

=item ENVIRONMENT

=item AUTHOR

=item SEE ALSO

=item COPYRIGHT

=back

=head2 Pod::Html::Util - helper functions for Pod-Html

=over 4

=item SUBROUTINES

=back

=over 4

=item C<process_command_line()>

=back

=over 4

=item C<usage()>

=back

=over 4

=item C<unixify()>

=back

=over 4

=item C<relativize_url()>

=back

=over 4

=item C<html_escape()>

=back

=over 4

=item C<htmlify()>

=back

=over 4

=item C<anchorify()>

=back

=over 4

=item C<trim_leading_whitespace()>

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item 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

=item 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)

=item ENCODING

=over 4

=item History

=item Testing results

[1], [2], [3]

=back

=item DIAGNOSTICS

roff font should be 1 or 2 chars, not "%s", Invalid errors setting "%s",
Invalid quote specification "%s", POD document had syntax errors

=item ENVIRONMENT

PERL_CORE, POD_MAN_DATE, SOURCE_DATE_EPOCH

=item COMPATIBILITY

=item BUGS

=item CAVEATS

=over 4

=item Sentence spacing

=item Hyphens and quotes

=back

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

=head2 Pod::ParseLink - Parse an LE<lt>E<gt> formatting code in POD text

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

=head2 Pod::Perldoc - Look up Perl documentation in Pod format.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc

=over 4

=item SYNOPSIS

=item 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

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToANSI - render Pod with ANSI color escapes 

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToChecker - let Perldoc check Pod for errors

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToMan - let Perldoc render Pod as man pages

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToPod - let Perldoc render Pod as ... Pod!

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToRtf - let Perldoc render Pod as RTF

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToTerm - render Pod with terminal escapes

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item PAGER FORMATTING

=item CAVEAT

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToText - let Perldoc render Pod as plaintext

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Perldoc::ToTk - let Perldoc use Tk::Pod to render Pod

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item AUTHOR

=back

=head2 Pod::Perldoc::ToXml - let Perldoc render Pod as XML

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

=back

=head2 Pod::Simple - framework for parsing Pod

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item MAIN METHODS

C<< $parser = I<SomeClass>->new(); >>, C<< $parser->output_fh( *OUT ); >>,
C<< $parser->output_string( \$somestring ); >>, C<< $parser->parse_file(
I<$some_filename> ); >>, C<< $parser->parse_file( *INPUT_FH ); >>, C<<
$parser->parse_string_document( I<$all_content> ); >>, C<<
$parser->parse_lines( I<...@lines...>, undef ); >>, C<<
$parser->content_seen >>, C<< I<SomeClass>->filter( I<$filename> ); >>, C<<
I<SomeClass>->filter( I<*INPUT_FH> ); >>, C<< I<SomeClass>->filter(
I<\$document_content> ); >>

=item SECONDARY METHODS

C<< $parser->parse_characters( I<SOMEVALUE> ) >>, C<< $parser->no_whining(
I<SOMEVALUE> ) >>, C<< $parser->no_errata_section( I<SOMEVALUE> ) >>, C<<
$parser->complain_stderr( I<SOMEVALUE> ) >>, C<< $parser->source_filename
>>, C<< $parser->doc_has_started >>, C<< $parser->source_dead >>, C<<
$parser->strip_verbatim_indent( I<SOMEVALUE> ) >>, C<<
$parser->expand_verbatim_tabs( I<n> ) >>

=item TERTIARY METHODS

C<< $parser->abandon_output_fh() >>X<abandon_output_fh>, C<<
$parser->abandon_output_string() >>X<abandon_output_string>, C<<
$parser->accept_code( @codes ) >>X<accept_code>, C<< $parser->accept_codes(
@codes ) >>X<accept_codes>, C<< $parser->accept_directive_as_data(
@directives ) >>X<accept_directive_as_data>, C<<
$parser->accept_directive_as_processed( @directives )
>>X<accept_directive_as_processed>, C<<
$parser->accept_directive_as_verbatim( @directives )
>>X<accept_directive_as_verbatim>, C<< $parser->accept_target( @targets )
>>X<accept_target>, C<< $parser->accept_target_as_text( @targets )
>>X<accept_target_as_text>, C<< $parser->accept_targets( @targets )
>>X<accept_targets>, C<< $parser->accept_targets_as_text( @targets )
>>X<accept_targets_as_text>, C<< $parser->any_errata_seen()
>>X<any_errata_seen>, C<< $parser->errata_seen() >>X<errata_seen>, C<<
$parser->detected_encoding() >>X<detected_encoding>, C<<
$parser->encoding() >>X<encoding>, C<< $parser->parse_from_file( $source,
$to ) >>X<parse_from_file>, C<< $parser->scream( @error_messages )
>>X<scream>, C<< $parser->unaccept_code( @codes ) >>X<unaccept_code>, C<<
$parser->unaccept_codes( @codes ) >>X<unaccept_codes>, C<<
$parser->unaccept_directive( @directives ) >>X<unaccept_directive>, C<<
$parser->unaccept_directives( @directives ) >>X<unaccept_directives>, C<<
$parser->unaccept_target( @targets ) >>X<unaccept_target>, C<<
$parser->unaccept_targets( @targets ) >>X<unaccept_targets>, C<<
$parser->version_report() >>X<version_report>, C<< $parser->whine(
@error_messages ) >>X<whine>

=item ENCODING

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>, Karl Williamson C<khw@cpan.org>,
Gabor Szabo C<szabgab@gmail.com>, Shawn H Corey  C<SHCOREY at cpan.org>

=back

=head2 Pod::Simple::Checker -- check the Pod syntax of a document

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::Debug -- put Pod::Simple into trace/debug mode

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEATS

=item GUTS

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::DumpAsText -- dump Pod-parsing events as text

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::DumpAsXML -- turn Pod into XML

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::HTML - convert Pod to HTML

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CALLING FROM THE COMMAND LINE

=item CALLING FROM PERL

=over 4

=item Minimal code

=item More detailed example

=back

=item METHODS

=over 4

=item html_css

=item html_javascript

=item title_prefix

=item title_postfix

=item html_header_before_title

=item top_anchor

=item html_h_level

=item index

=item html_header_after_title

=item html_footer

=back

=item SUBCLASSING

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item ACKNOWLEDGEMENTS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::HTMLBatch - convert several Pod files to several HTML
files

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item FROM THE COMMAND LINE

=back

=item MAIN METHODS

$batchconv = Pod::Simple::HTMLBatch->new;, $batchconv->batch_convert(
I<indirs>, I<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' );

=over 4

=item ACCESSOR METHODS

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

=back

=item NOTES ON CUSTOMIZATION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::Methody -- turn Pod::Simple events into method calls

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHOD CALLING

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::PullParser -- a pull-parser interface to parsing Pod

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item 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

=item NOTE

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::PullParserEndToken -- end-tokens from
Pod::Simple::PullParser

=over 4

=item SYNOPSIS

=item DESCRIPTION

$token->tagname, $token->tagname(I<somestring>), $token->tag(...),
$token->is_tag(I<somestring>) or $token->is_tagname(I<somestring>)

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::PullParserStartToken -- start-tokens from
Pod::Simple::PullParser

=over 4

=item SYNOPSIS

=item DESCRIPTION

$token->tagname, $token->tagname(I<somestring>), $token->tag(...),
$token->is_tag(I<somestring>) or $token->is_tagname(I<somestring>),
$token->attr(I<attrname>), $token->attr(I<attrname>, I<newvalue>),
$token->attr_hash

=item SEE ALSO

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::PullParserTextToken -- text-tokens from
Pod::Simple::PullParser

=over 4

=item SYNOPSIS

=item DESCRIPTION

$token->text, $token->text(I<somestring>), $token->text_r()

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::PullParserToken -- tokens from Pod::Simple::PullParser

=over 4

=item SYNOPSIS

=item DESCRIPTION

$token->type, $token->is_start, $token->is_text, $token->is_end,
$token->dump

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::RTF -- format Pod as RTF

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FORMAT CONTROL ATTRIBUTES

$parser->head1_halfpoint_size( I<halfpoint_integer> );,
$parser->head2_halfpoint_size( I<halfpoint_integer> );,
$parser->head3_halfpoint_size( I<halfpoint_integer> );,
$parser->head4_halfpoint_size( I<halfpoint_integer> );,
$parser->codeblock_halfpoint_size( I<halfpoint_integer> );,
$parser->header_halfpoint_size( I<halfpoint_integer> );,
$parser->normal_halfpoint_size( I<halfpoint_integer> );,
$parser->no_proofing_exemptions( I<true_or_false> );, $parser->doc_lang(
I<microsoft_decimal_language_code> )

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::Search - find POD documents in directory trees

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CONSTRUCTOR

=item ACCESSORS

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

=item MAIN SEARCH METHODS

=over 4

=item C<< $search->survey( @directories ) >>

C<name2path>, C<path2name>

=item C<< $search->simplify_name( $str ) >>

=item C<< $search->find( $pod ) >>

=item C<< $search->find( $pod, @search_dirs ) >>

=item C<< $self->contains_pod( $file ) >>

=back

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::SimpleTree -- parse Pod into a simple parse tree

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=item Tree Contents

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::Subclassing -- write a formatter as a Pod::Simple
subclass

=over 4

=item SYNOPSIS

=item DESCRIPTION

Pod::Simple, Pod::Simple::Methody, Pod::Simple::PullParser,
Pod::Simple::SimpleTree

=item Events

C<< $parser->_handle_element_start( I<element_name>, I<attr_hashref> ) >>,
C<< $parser->_handle_element_end( I<element_name>  ) >>, C<<
$parser->_handle_text(	I<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

=item More Pod::Simple Methods

C<< $parser->accept_targets( I<SOMEVALUE> ) >>, C<<
$parser->accept_targets_as_text(  I<SOMEVALUE>	) >>, C<<
$parser->accept_codes( I<Codename>, I<Codename>...  ) >>, C<<
$parser->accept_directive_as_data( I<directive_name> ) >>, C<<
$parser->accept_directive_as_verbatim( I<directive_name> ) >>, C<<
$parser->accept_directive_as_processed( I<directive_name> ) >>, C<<
$parser->nbsp_for_S( I<BOOLEAN> ); >>, C<< $parser->version_report() >>,
C<< $parser->pod_para_count() >>, C<< $parser->line_count() >>, C<<
$parser->nix_X_codes(  I<SOMEVALUE>  ) >>, C<<
$parser->keep_encoding_directive(  I<SOMEVALUE>  ) >>, C<<
$parser->merge_text(  I<SOMEVALUE>  ) >>, C<< $parser->code_handler( 
I<CODE_REF>  ) >>, C<< $parser->cut_handler(  I<CODE_REF>  ) >>, C<<
$parser->pod_handler(  I<CODE_REF>  ) >>, C<< $parser->whiteline_handler( 
I<CODE_REF>  ) >>, C<< $parser->whine( I<linenumber>, I<complaint string> )
>>, C<< $parser->scream( I<linenumber>, I<complaint string> ) >>, C<<
$parser->source_dead(1) >>, C<< $parser->hide_line_numbers( I<SOMEVALUE> )
>>, C<< $parser->no_whining( I<SOMEVALUE> ) >>, C<<
$parser->no_errata_section( I<SOMEVALUE> ) >>, C<<
$parser->complain_stderr( I<SOMEVALUE> ) >>, C<< $parser->bare_output(
I<SOMEVALUE> ) >>, C<< $parser->preserve_whitespace( I<SOMEVALUE> ) >>, C<<
$parser->parse_empty_lists( I<SOMEVALUE> ) >>

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::Text -- format Pod as plaintext

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::TextContent -- get the text content of Pod

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::XHTML -- format Pod as validating XHTML

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Minimal code

=back

=back

=over 4

=item METHODS

=over 4

=item perldoc_url_prefix

=item perldoc_url_postfix

=item man_url_prefix

=item man_url_postfix

=item title_prefix, title_postfix

=item html_css

=item html_javascript

=item html_doctype

=item html_charset

=item html_header_tags

=item html_h_level

=item default_title

=item force_title

=item html_header, html_footer

=item index

=item anchor_items

=item backlink

=back

=back

=over 4

=item SUBCLASSING

=back

=over 4

=item handle_text

=item handle_code

=item accept_targets_as_html

=back

=over 4

=item resolve_pod_page_link

=back

=over 4

=item resolve_man_page_link

=back

=over 4

=item idify

=back

=over 4

=item batch_mode_page_object_init

=back

=over 4

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item ACKNOWLEDGEMENTS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Simple::XMLOutStream -- turn Pod into XML

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item ABOUT EXTENDING POD

=item SEE ALSO

=item SUPPORT

=item COPYRIGHT AND DISCLAIMERS

=item AUTHOR

Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
David E. Wheeler C<dwheeler@cpan.org>

=back

=head2 Pod::Text - Convert POD data to formatted text

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Encoding

=back

=item CLASS METHODS

new(ARGS), alt, code, encoding, errors, guesswork, quoting, indent, loose,
margin, nourls, quotes, sentence, stderr, utf8, width

=item 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)

=item FUNCTIONS

pod2text([[-a,] [-NNN,]] INPUT[, OUTPUT])

=item 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

=item COMPATIBILITY

=item CAVEATS

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item COMPATIBILITY

=item CAVEATS

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item BUGS

=item COMPATIBILITY

=item CAVEATS

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item COMPATIBILITY

=item CAVEATS

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

=head2 Pod::Usage - extracts POD documentation and shows usage information

=over 4

=item SYNOPSIS

=item ARGUMENTS

C<-message> I<string>, C<-msg> I<string>, C<-exitval> I<value>, C<-verbose>
I<value>, C<-sections> I<spec>, C<-output> I<handle>, C<-input> I<handle>,
C<-pathlist> I<string>, C<-noperldoc>, C<-perlcmd>, C<-perldoc>
I<path-to-perldoc>, C<-perldocopt> I<string>

=over 4

=item Formatting base class

=item Pass-through options

=back

=item DESCRIPTION

=over 4

=item Scripts

=back

=item EXAMPLES

=over 4

=item Recommended Use

=back

=item CAVEATS

=item SUPPORT

=item AUTHOR

=item LICENSE

=item ACKNOWLEDGMENTS

=item SEE ALSO

=back

=head2 SDBM_File - Tied access to sdbm files

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Tie

=back

=item EXPORTS

=item DIAGNOSTICS

=over 4

=item C<sdbm store returned -1, errno 22, key "..." at ...>

=back

=item SECURITY WARNING

=item BUGS AND WARNINGS

=back

=head2 Safe - Compile and execute code in restricted compartments

=over 4

=item SYNOPSIS

=item DESCRIPTION

a new namespace, an operator mask

=item WARNING

=item METHODS

=over 4

=item permit (OP, ...)

=item permit_only (OP, ...)

=item deny (OP, ...)

=item deny_only (OP, ...)

=item trap (OP, ...), untrap (OP, ...)

=item share (NAME, ...)

=item share_from (PACKAGE, ARRAYREF)

=item varglob (VARNAME)

=item reval (STRING, STRICT)

=item rdo (FILENAME)

=item root (NAMESPACE)

=item mask (MASK)

=item wrap_code_ref (CODEREF)

=item wrap_code_refs_within (...)

=back

=item RISKS

Memory, CPU, Snooping, Signals, State Changes

=item AUTHOR

=back

=head2 Scalar::List::Utils - A distribution of general-utility subroutines

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item MODULES

=over 4

=item L<List::Util>

=item L<Scalar::Util>

=item L<Sub::Util>

=back

=back

=head2 Scalar::Util - A selection of general-utility scalar subroutines

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Core Perl C<builtin> Functions

=back

=back

=over 4

=item FUNCTIONS FOR REFERENCES

=over 4

=item blessed

=item refaddr

=item reftype

=item weaken

=item unweaken

=item isweak

=back

=item OTHER FUNCTIONS

=over 4

=item dualvar

=item isdual

=item isvstring

=item looks_like_number

=item openhandle

=item readonly

=item set_prototype

=item tainted

=back

=item DIAGNOSTICS

Vstrings are not implemented in this version of perl

=item KNOWN BUGS

=item SEE ALSO

=item COPYRIGHT

=back

=head2 Search::Dict - look - search for key in dictionary file

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 SelectSaver - save and restore selected file handle

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 SelfLoader - load functions only on demand

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item The __DATA__ token

=item SelfLoader autoloading

=item Autoloading and package lexicals

=item SelfLoader and AutoLoader

=item __DATA__, __END__, and the FOOBAR::DATA filehandle

=item Classes and inherited methods

=back

=item Multiple packages and fully qualified subroutine names

=item AUTHOR

=item COPYRIGHT AND LICENSE

a), b)

=back

=head2 Socket, C<Socket> - networking constants and support functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item CONSTANTS

=back

=over 4

=item PF_INET, PF_INET6, PF_UNIX, ...

=item AF_INET, AF_INET6, AF_UNIX, ...

=item SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ...

=item SOCK_NONBLOCK. SOCK_CLOEXEC

=item SOL_SOCKET

=item SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ...

=item IP_OPTIONS, IP_TOS, IP_TTL, ...

=item IP_PMTUDISC_WANT, IP_PMTUDISC_DONT, ...

=item IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY, ...

=item MSG_BCAST, MSG_OOB, MSG_TRUNC, ...

=item SHUT_RD, SHUT_RDWR, SHUT_WR

=item INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE

=item IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP, ...

=item TCP_CORK, TCP_KEEPALIVE, TCP_NODELAY, ...

=item IN6ADDR_ANY, IN6ADDR_LOOPBACK

=item IPV6_ADD_MEMBERSHIP, IPV6_MTU, IPV6_V6ONLY, ...

=back

=over 4

=item STRUCTURE MANIPULATORS

=back

=over 4

=item $family = sockaddr_family $sockaddr

=item $sockaddr = pack_sockaddr_in $port, $ip_address

=item ($port, $ip_address) = unpack_sockaddr_in $sockaddr

=item $sockaddr = sockaddr_in $port, $ip_address

=item ($port, $ip_address) = sockaddr_in $sockaddr

=item $sockaddr = pack_sockaddr_in6 $port, $ip6_address, [$scope_id,
[$flowinfo]]

=item ($port, $ip6_address, $scope_id, $flowinfo) = unpack_sockaddr_in6
$sockaddr

=item $sockaddr = sockaddr_in6 $port, $ip6_address, [$scope_id,
[$flowinfo]]

=item ($port, $ip6_address, $scope_id, $flowinfo) = sockaddr_in6 $sockaddr

=item $sockaddr = pack_sockaddr_un $path

=item ($path) = unpack_sockaddr_un $sockaddr

=item $sockaddr = sockaddr_un $path

=item ($path) = sockaddr_un $sockaddr

=item $ip_mreq = pack_ip_mreq $multiaddr, $interface

=item ($multiaddr, $interface) = unpack_ip_mreq $ip_mreq

=item $ip_mreq_source = pack_ip_mreq_source $multiaddr, $source, $interface

=item ($multiaddr, $source, $interface) = unpack_ip_mreq_source $ip_mreq

=item $ipv6_mreq = pack_ipv6_mreq $multiaddr6, $ifindex

=item ($multiaddr6, $ifindex) = unpack_ipv6_mreq $ipv6_mreq

=back

=over 4

=item FUNCTIONS

=back

=over 4

=item $ip_address = inet_aton $string

=item $string = inet_ntoa $ip_address

=item $address = inet_pton $family, $string

=item $string = inet_ntop $family, $address

=item ($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

=item ($err, $hostname, $servicename) = getnameinfo $sockaddr, [$flags,
[$xflags]]

NI_NUMERICHOST, NI_NUMERICSERV, NI_NAMEREQD, NI_DGRAM, NIx_NOHOST,
NIx_NOSERV

=back

=over 4

=item getaddrinfo() / getnameinfo() ERROR CONSTANTS

EAI_AGAIN, EAI_BADFLAGS, EAI_FAMILY, EAI_NODATA, EAI_NONAME, EAI_SERVICE

=back

=over 4

=item EXAMPLES

=over 4

=item Lookup for connect()

=item Making a human-readable string out of an address

=item Resolving hostnames into IP addresses

=item Accessing socket options

=back

=back

=over 4

=item AUTHOR

=back

=head2 Storable - persistence for Perl data structures

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item MEMORY STORE

=item ADVISORY LOCKING

=item SPEED

=item CANONICAL REPRESENTATION

=item CODE REFERENCES

=item FORWARD COMPATIBILITY

utf8 data, restricted hashes, huge objects, files from future versions of
Storable

=item ERROR REPORTING

=item WIZARDS ONLY

=over 4

=item Hooks

C<STORABLE_freeze> I<obj>, I<cloning>, C<STORABLE_thaw> I<obj>, I<cloning>,
I<serialized>, .., C<STORABLE_attach> I<class>, I<cloning>, I<serialized>

=item Predicates

C<Storable::last_op_in_netorder>, C<Storable::is_storing>,
C<Storable::is_retrieving>

=item Recursion

=item Deep Cloning

=back

=item Storable magic

$info = Storable::file_magic( $filename ), C<version>, C<version_nv>,
C<major>, C<minor>, C<hdrsize>, C<netorder>, C<byteorder>, C<intsize>,
C<longsize>, C<ptrsize>, C<nvsize>, C<file>, $info = Storable::read_magic(
$buffer ), $info = Storable::read_magic( $buffer, $must_be_file )

=item EXAMPLES

=item SECURITY WARNING

=item WARNING

=item REGULAR EXPRESSIONS

=item BUGS

=over 4

=item 64 bit data in perl 5.6.0 and 5.6.1

=back

=item CREDITS

=item AUTHOR

=item SEE ALSO

=back

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

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item FUNCTIONS

=back

=over 4

=item prototype

=back

=over 4

=item set_prototype

=back

=over 4

=item subname

=back

=over 4

=item set_subname

=back

=over 4

=item AUTHOR

=back

=head2 Symbol - manipulate Perl symbols and their names

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item BUGS

=back

=head2 Sys::Hostname - Try every conceivable way to get hostname

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item AUTHOR

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item EXPORTS

=item FUNCTIONS

B<openlog($ident, $logopt, $facility)>, B<syslog($priority, $message)>,
B<syslog($priority, $format, @args)>, B<Note>,
B<setlogmask($mask_priority)>, B<setlogsock()>, B<Note>, B<closelog()>

=item THE RULES OF SYS::SYSLOG

=item EXAMPLES

=item CONSTANTS

=over 4

=item Facilities

=item Levels

=back

=item DIAGNOSTICS

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

=item HISTORY

=item SEE ALSO

=over 4

=item Other modules

=item Manual Pages

=item RFCs

=item Articles

=item Event Log

=back

=item AUTHORS & ACKNOWLEDGEMENTS

=item BUGS

=item SUPPORT

Perl Documentation, MetaCPAN, Search CPAN, AnnoCPAN: Annotated CPAN
documentation, CPAN Ratings, RT: CPAN's request tracker

=item COPYRIGHT

=item LICENSE

=back

=head2 TAP::Base - Base class that provides common functionality to
L<TAP::Parser>
and L<TAP::Harness>

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=head2 TAP::Formatter::Base - Base class for harness output delegates

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=back

=over 4

=item METHODS

=over 4

=item Class Methods

C<verbosity>, C<verbose>, C<timer>, C<failures>, C<comments>, C<quiet>,
C<really_quiet>, C<silent>, C<errors>, C<directives>, C<stdout>, C<color>,
C<jobs>, C<show_count>

=back

=back

=head2 TAP::Formatter::Color - Run Perl test scripts with color

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

=over 4

=item Class Methods

=back

=back

=head2 TAP::Formatter::Console - Harness output delegate for default
console output

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=over 4

=item C<< open_test >>

=back

=back

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

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=back

=over 4

=item METHODS

=over 4

=item Class Methods

=back

=back

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

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=back

=over 4

=item C<<	clear_for_close >>

=item C<<	close_test >>

=item C<<	header >>

=item C<<	result >>

=back

=head2 TAP::Formatter::File - Harness output delegate for file output

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=over 4

=item C<< open_test >>

=back

=back

=head2 TAP::Formatter::File::Session - Harness output delegate for file
output

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=back

=over 4

=item METHODS

=over 4

=item result

=back

=back

=over 4

=item close_test

=back

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

=over 4

=item VERSION

=back

=over 4

=item METHODS

=over 4

=item Class Methods

C<formatter>, C<parser>, C<name>, C<show_count>

=back

=back

=head2 TAP::Harness - Run test scripts with statistics

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item SYNOPSIS

=back

=over 4

=item METHODS

=over 4

=item Class Methods

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

=back

=back

=over 4

=item Instance Methods

=back

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

=over 4

=item CONFIGURING

=over 4

=item Plugins

=item C<Module::Build>

=item C<ExtUtils::MakeMaker>

=item C<prove>

=back

=item WRITING PLUGINS

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

=item SUBCLASSING

=over 4

=item Methods

L<TAP::Harness/new>, L<TAP::Harness/runtests>, L<TAP::Harness/summary>

=back

=back

=over 4

=item REPLACING

=item SEE ALSO

=back

=head2 TAP::Harness::Beyond, Test::Harness::Beyond - Beyond make test

=over 4

=item Beyond make test

=over 4

=item Saved State

=item Parallel Testing

=item Non-Perl Tests

=item Mixing it up

=item Rolling My Own

=item Deeper Customisation

=item Callbacks

=item Parsing TAP

=item Getting Support

=back

=back

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

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

create( \%args )

=item ENVIRONMENTAL VARIABLES

C<HARNESS_PERL_SWITCHES>, C<HARNESS_VERBOSE>, C<HARNESS_SUBCLASS>,
C<HARNESS_OPTIONS>, C<< j<n> >>, C<< c >>, C<< a<file.tgz> >>, C<<
fPackage-With-Dashes >>, C<HARNESS_TIMER>, C<HARNESS_COLOR>,
C<HARNESS_IGNORE_EXIT>

=back

=head2 TAP::Object - Base class that provides common functionality to all
C<TAP::*> modules

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser - Parse L<TAP|Test::Harness::TAP> output

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

C<source>, C<tap>, C<exec>, C<sources>, C<callback>, C<switches>,
C<test_args>, C<spool>, C<merge>, C<grammar_class>,
C<result_factory_class>, C<iterator_factory_class>

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item INDIVIDUAL RESULTS

=over 4

=item Result types

Version, Plan, Pragma, Test, Comment, Bailout, Unknown

=item Common type methods

=item C<plan> methods

=item C<pragma> methods

=item C<comment> methods

=item C<bailout> methods

=item C<unknown> methods

=item C<test> methods

=back

=item TOTAL RESULTS

=over 4

=item Individual Results

=back

=back

=over 4

=item Pragmas

=back

=over 4

=item Summary Results

=back

=over 4

=item C<ignore_exit>

=back

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

=over 4

=item CALLBACKS

C<test>, C<version>, C<plan>, C<comment>, C<bailout>, C<yaml>, C<unknown>,
C<ELSE>, C<ALL>, C<EOF>

=item TAP GRAMMAR

=item BACKWARDS COMPATIBILITY

=over 4

=item Differences

TODO plans, 'Missing' tests

=back

=item SUBCLASSING

=over 4

=item Parser Components

option 1, option 2

=back

=item 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ä

=item AUTHORS

=item BUGS

=item COPYRIGHT & LICENSE

=back

=head2 TAP::Parser::Aggregator - Aggregate TAP::Parser results

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item Summary methods

failed, parse_errors, passed, planned, skipped, todo, todo_passed, wait,
exit

=back

Failed tests, Parse errors, Bad exit or wait status

=over 4

=item See Also

=back

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

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item TAP GRAMMAR

=item SUBCLASSING

=item SEE ALSO

=back

=head2 TAP::Parser::Iterator - Base class for TAP source iterators

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=item Instance Methods

=back

=back

=over 4

=item SUBCLASSING

=over 4

=item Example

=back

=item SEE ALSO

=back

=head2 TAP::Parser::Iterator::Array - Iterator for array-based TAP sources

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=item Instance Methods

=back

=back

=over 4

=item ATTRIBUTION

=item SEE ALSO

=back

=head2 TAP::Parser::Iterator::Process - Iterator for process-based TAP
sources

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=item Instance Methods

=back

=back

=over 4

=item ATTRIBUTION

=item SEE ALSO

=back

=head2 TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP
sources

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item ATTRIBUTION

=item SEE ALSO

=back

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

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item SUBCLASSING

=over 4

=item Example

=back

=item AUTHORS

=item ATTRIBUTION

=item SEE ALSO

=back

=head2 TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item See Also

=back

=head2 TAP::Parser::Result - Base class for TAP::Parser output objects

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=over 4

=item DESCRIPTION

=item METHODS

=back

=back

=over 4

=item Boolean methods

C<is_plan>, C<is_pragma>, C<is_test>, C<is_comment>, C<is_bailout>,
C<is_version>, C<is_unknown>, C<is_yaml>

=back

=over 4

=item SUBCLASSING

=over 4

=item Example

=back

=item SEE ALSO

=back

=head2 TAP::Parser::Result::Bailout - Bailout result token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

C<as_string>

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser::Result::Comment - Comment result token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

C<as_string>

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser::Result::Plan - Plan result token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

C<as_string>, C<raw>

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser::Result::Pragma - TAP pragma token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

C<as_string>, C<raw>

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser::Result::Test - Test result token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

=over 4

=item Instance Methods

=back

=back

=head2 TAP::Parser::Result::Unknown - Unknown result token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

C<as_string>, C<raw>

=back

=head2 TAP::Parser::Result::Version - TAP syntax version token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

C<as_string>, C<raw>

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser::Result::YAML - YAML result token.

=over 4

=item VERSION

=back

=over 4

=item DESCRIPTION

=item OVERRIDDEN METHODS

C<as_string>, C<raw>

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser::ResultFactory - Factory for creating TAP::Parser output
objects

=over 4

=item SYNOPSIS

=item VERSION

=back

=over 4

=item DESCRIPTION

=item METHODS

=item Class Methods

=back

=over 4

=item SUBCLASSING

=over 4

=item Example

=back

=item SEE ALSO

=back

=head2 TAP::Parser::Scheduler - Schedule tests during parallel testing

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=item 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 C<jobs> in
your Harness object

=back

=back

=over 4

=item Instance Methods

=back

=head2 TAP::Parser::Scheduler::Job - A single testing job.

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item Attributes

=back

=head2 TAP::Parser::Scheduler::Spinner - A no-op job.

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item SEE ALSO

=back

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

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item Instance Methods

=back

=over 4

=item AUTHORS

=item SEE ALSO

=back

=head2 TAP::Parser::SourceHandler - Base class for different TAP source
handlers

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item SUBCLASSING

=over 4

=item Example

=back

=item AUTHORS

=item SEE ALSO

=back

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

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item SUBCLASSING

=over 4

=item Example

=back

=item SEE ALSO

=back

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

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item CONFIGURATION

=item SUBCLASSING

=item SEE ALSO

=back

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

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item SUBCLASSING

=item SEE ALSO

=back

=head2 TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item SUBCLASSING

=over 4

=item Example

=back

=item SEE ALSO

=back

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

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=back

=back

=over 4

=item SUBCLASSING

=item SEE ALSO

=back

=head2 TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=item Instance Methods

=back

=item AUTHOR

=item SEE ALSO

=item COPYRIGHT

=back

=head2 TAP::Parser::YAMLish::Writer - Write YAMLish data

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=over 4

=item Class Methods

=item 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

=back

=item AUTHOR

=item SEE ALSO

=item COPYRIGHT

=back

=head2 Term::ANSIColor - Color screen output using ANSI escape sequences

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Supported Colors

=item 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 ...])

=item Constant Interface

=item The Color Stack

=item Supporting CLICOLOR

=back

=item 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

=item ENVIRONMENT

ANSI_COLORS_ALIASES, ANSI_COLORS_DISABLED, NO_COLOR

=item COMPATIBILITY

=item RESTRICTIONS

=item NOTES

=item AUTHORS

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=back

=head2 Term::Cap - Perl termcap interface

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item METHODS

=back

=back

B<Tgetent>, OSPEED, TERM

B<Tpad>, B<$string>, B<$cnt>, B<$FH>

B<Tputs>, B<$cap>, B<$cnt>, B<$FH>

B<Tgoto>, B<$cap>, B<$col>, B<$row>, B<$FH>

B<Trequire>

=over 4

=item EXAMPLES

=item COPYRIGHT AND LICENSE

=item AUTHOR

=item SEE ALSO

=back

=head2 Term::Complete - Perl word completion module

=over 4

=item SYNOPSIS

=item DESCRIPTION

E<lt>tabE<gt>, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>

=item DIAGNOSTICS

=item BUGS

=item AUTHOR

=back

=head2 Term::ReadLine - Perl interface to various C<readline> packages.
If no real package is found, substitutes stubs instead of basic functions.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Minimal set of supported functions

C<ReadLine>, C<new>, C<readline>, C<addhistory>, C<IN>, C<OUT>, C<MinLine>,
C<findConsole>, Attribs, C<Features>

=item Additional supported functions

C<tkRunning>, C<event_loop>, C<ornaments>, C<newTTY>

=item EXPORTS

=item ENVIRONMENT

=back

=head2 Term::Table - Format a header and rows into a table

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item INTERFACE

=over 4

=item 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, ... }

=back

=item NOTE ON UNICODE/WIDE CHARACTERS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Term::Table::HashBase - Build hash based classes.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item THIS IS A BUNDLED COPY OF HASHBASE

=item METHODS

=over 4

=item PROVIDED BY HASH BASE

$it = $class->new(%PAIRS), $it = $class->new(\%PAIRS), $it =
$class->new(\@ORDERED_VALUES)

=item HOOKS

$self->init()

=back

=item ACCESSORS

=over 4

=item READ/WRITE

foo(), set_foo(), FOO()

=item READ ONLY

set_foo()

=item DEPRECATED SETTER

set_foo()

=item NO SETTER

=item NO READER

=item CONSTANT ONLY

=back

=item SUBCLASSING

=item GETTING A LIST OF ATTRIBUTES FOR A CLASS

@list = Term::Table::HashBase::attr_list($class), @list =
$class->Term::Table::HashBase::attr_list()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Term::Table::Util - Utilities for Term::Table.

=over 4

=item DESCRIPTION

=item EXPORTS

=over 4

=item CONSTANTS

$bool = USE_GCS, $bool = USE_TERM_READKEY

=item UTILITIES

$width = term_size(), $width = uni_length($string)

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test - provides a simple framework for writing test scripts

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item QUICK START GUIDE

=over 4

=item Functions

C<plan(...)>, C<tests =E<gt> I<number>>, C<todo =E<gt> [I<1,5,14>]>,
C<onfail =E<gt> sub { ... }>, C<onfail =E<gt> \&some_sub>

=back

=back

B<_to_value>

C<ok(...)>

C<skip(I<skip_if_true>, I<args...>)>

=over 4

=item TEST TYPES

NORMAL TESTS, SKIPPED TESTS, TODO TESTS

=item ONFAIL

=item BUGS and CAVEATS

=item ENVIRONMENT

=item NOTE

=item SEE ALSO

=item AUTHOR

=back

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

=over 4

=item DESCRIPTION

=over 4

=item 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

=back

=item GETTING STARTED

=back

=head2 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 L<Test2::Suite>.

=over 4

=item Test2::Tools::

=item Test2::Plugin::

=item Test2::Bundle::

=item Test2::Require::

=item Test2::Formatter::

=item Test2::Event::

=item Test2::Hub::

=item Test2::IPC::

=item Test2::Util::

=item Test2::API::

=item Test2::

=back

=over 4

=item SEE ALSO

=item CONTACTING US

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item ***INTERNALS NOTE***

=item DESCRIPTION

=item SYNOPSIS

=over 4

=item WRITING A TOOL

=item TESTING YOUR TOOLS

=item OTHER API FUNCTIONS

=back

=item ENVIRONMENT VARIABLES

=item MAIN API EXPORTS

=over 4

=item context(...)

$ctx = context(), $ctx = context(%params), level => $int, wrapped => $int,
stack => $stack, hub => $hub, on_init => sub { ... }, on_release => sub {
... }

=item release($;$)

release $ctx;, release $ctx, ...;

=item context_do(&;@)

=item no_context(&;$)

no_context { ... };, no_context { ... } $hid;

=item intercept(&)

=item 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

=back

=item OTHER API EXPORTS

=over 4

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

=item 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(), test2_add_pending_diag($diag),
test2_add_pending_diag($diag1, $diag2), @diags = test2_get_pending_diags(),
@diags = test2_clear_pending_diags()

=item 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)

=item MANAGING FORMATTERS

$formatter = test2_formatter, test2_formatter_set($class_or_instance),
@formatters = test2_formatters(), test2_formatter_add($class_or_instance)

=item TIME STAMPS

test2_enable_trace_stamps(), test2_disable_trace_stamps(), $bool =
test2_trace_stamps_enabled()

=back

=item OTHER EXAMPLES

=item SEE ALSO

=item MAGIC

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::API::Breakage - What breaks at what version

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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

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

=over 4

=item 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)

=back

=item HOOKS

=over 4

=item INIT HOOKS

=item RELEASE HOOKS

=back

=item THIRD PARTY META-DATA

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Kent Fredric
E<lt>kentnl@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::API::Instance - Object used by Test2::API under the hood

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::API::InterceptResult - Representation of a list of events.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

=over 4

=item CONSTRUCTION

$events = Test2::API::InterceptResult->new(@EVENTS), $events =
Test2::API::InterceptResult->new_from_ref(\@EVENTS), $clone =
$events->clone()

=item 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)

=item 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)

=item 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)

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

=over 4

=item !!! IMPORTANT NOTES ON DESIGN !!!

=item ATTRIBUTES

$hashref = $event->facet_data, $class = $event->result_class

=item DUPLICATION

$copy = $event->clone

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

=item DIRECT ARBITRARY FACET ACCESS

@list_of_facets = $event->facet($name), $undef_or_facet =
$event->the_facet($name)

=item 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

=item ASSERT FACET

$bool = $event->has_assert, $undef_or_hashref = $event->the_assert,
@list_of_facets = $event->assert, EMPTY_LIST_OR_STRING =
$event->assert_brief

=item 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

=item 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

=item PLAN FACET

$bool = $event->has_plan, $undef_or_hashref = $event->the_plan,
@list_if_hashrefs = $event->plan, EMPTY_LIST_OR_STRING $event->plan_brief

=item 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

=item ERROR FACET (CAPTURED EXCEPTIONS)

$event->has_errors, $event->the_errors, $event->errors,
$event->error_messages, $event->error_brief

=item 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

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::API::InterceptResult::Hub - Hub used by InterceptResult.

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::API::Stack - Object to manage a stack of L<Test2::Hub>
instances.

=over 4

=item ***INTERNALS NOTE***

=item DESCRIPTION

=item SYNOPSIS

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::AsyncSubtest - Object representing an async subtest.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item CONSTRUCTION

name => $name (required), send_to => $hub (optional), trace => $trace
(optional), hub => $hub (optional)

=item METHODS

=over 4

=item 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

=item 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

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::AsyncSubtest::Hub - Hub used by async subtests.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

$ast = $hub->ast

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Bundle - Documentation for bundles.

=over 4

=item DESCRIPTION

=item FAQ

Should my bundle subclass Test2::Bundle?

=item HOW DO I WRITE A BUNDLE?

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Bundle::Extended - Old name for Test2::V0

=over 4

=item *** DEPRECATED ***

=item DESCRIPTION

=item SYNOPSIS

=item RESOLVING CONFLICTS WITH MOOSE

=over 4

=item TAGS

:v1, :DEFAULT

=item RENAMING ON IMPORT

':v1', '!ok', ok => {-as => 'my_ok'}

=back

=item PRAGMAS

=over 4

=item STRICT

=item WARNINGS

=item UTF8

=back

=item PLUGINS

=over 4

=item SRAND

=item UTF8

=item EXIT SUMMARY

=back

=item API FUNCTIONS

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

=item TOOLS

=over 4

=item TARGET

$CLASS, $class = CLASS()

=item DEFER

def $func => @args;, do_def()

=item 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)

=item 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 => ..

=item CLASSIC COMPARE

cmp_ok($got, $op, $want, $name)

=item SUBTEST

subtest $name => sub { ... }

=item CLASS

can_ok($thing, @methods), isa_ok($thing, @classes), DOES_ok($thing, @roles)

=item ENCODING

set_encoding($encoding)

=item EXPORTS

imported_ok('function', '$scalar', ...), not_imported_ok('function',
'$scalar', ...)

=item REF

ref_ok($ref, $type), ref_is($got, $want), ref_is_not($got, $do_not_want)

=item MOCK

$control = mock .., $bool = mocked($thing)

=item EXCEPTION

$exception = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }

=item WARNINGS

$count = warns { ... }, $warning = warning { ... }, $warnings_ref =
warnings { ... }, $bool = no_warnings { ... }

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item PLUGINS

=item 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 { ... }

=item KEY DIFFERENCES FROM Test::More

You cannot plan at import, You have three subs imported for use in
planning, isa_ok accepts different arguments

=over 4

=item THESE FUNCTIONS AND VARIABLES HAVE BEEN REMOVED

$TODO, use_ok(), require_ok(), todo_skip(), eq_array(), eq_hash(),
eq_set(), explain(), new_ok()

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item PLUGINS

=item TOOLS

ok($bool, $name), plan($count), skip_all($reason), done_testing();

=item KEY DIFFERENCES FROM Test::Simple

You cannot plan at import, You have three subs imported for use in planning

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare - Test2 extension for writing deep comparison tools.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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

=item WRITING A VARIANT OF IS/LIKE

compare(), \&convert, $delta

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Gianni Ceccarelli
E<lt>dakkar@thenautilus.netE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Gianni Ceccarelli
E<lt>dakkar@thenautilus.netE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Base - Base class for comparison classes.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Bool - Compare two values as booleans

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Custom - Custom field check for comparisons.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item ARGUMENTS

got, $_, exists, operator, name

=item METHODS

$code = $cus->code, $name = $cus->name, $op = $cus->operator, $stringify =
$cus->stringify_got, $bool = $cus->verify(got => $got, exists => $bool)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Daniel Böhmer
E<lt>dboehmer@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::DeepRef - Ref comparison

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item METHODS

=over 4

=item CLASS METHODS

$class->add_column($NAME => sub { ... }), $class->add_column($NAME,
%PARAMS), $bool = $class->remove_column($NAME),
$class->set_column_alias($NAME, $ALIAS)

=item 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)

=item 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

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Event - Event specific Object subclass.

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item DEFINED CHECKS

file, line, package, subname, debug, tid, pid

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Andrew Grangaard E<lt>spazm@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, TOYAMA Nao
E<lt>nanto@moon.email.ne.jpE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Meta - Check library for meta-checks

=over 4

=item DESCRIPTION

=item DEFINED CHECKS

blessed, reftype, isa, this, size

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item WHY?

=item ATTRIBUTES

$bool = $obj->negate, $obj->set_negate($bool), $attr = NEGATE()

=item METHODS

$clone = $obj->clone_negate(), $obj->toggle_negate()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Number - Compare two values as numbers

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Ref - Ref comparison

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Regex - Regex direct comparison

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

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

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::String - Compare two values as strings

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Undef - Check that something is undefined

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Compare::Wildcard - Placeholder check.

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Env - Documentation for environment variables used or set by
Test2.

=over 4

=item DESCRIPTION

=item AUTHOR_TESTING

=item AUTOMATED_TESTING

=item EXTENDED_TESTING

=item HARNESS_ACTIVE

=item NONINTERACTIVE_TESTING

=item RELEASE_TESTING

=item T2_FORMATTER

=item T2_IN_PRELOAD

=item TABLE_TERM_SIZE

=item TEST2_ACTIVE

=item TEST2_ENABLE_PLUGINS

=item TEST_ACTIVE

=item TS_MAX_DELTA

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event - Base class for events

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

=over 4

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

=item 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 => [{...}, ...]

=item 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

=back

=item THIRD PARTY META-DATA

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Bail - Bailout!

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

$reason = $e->reason

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Diag - Diag event type

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item ACCESSORS

$diag->message

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Encoding - Set the encoding for the output stream

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

$encoding = $e->encoding

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Exception - Exception event

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

$reason = $e->error

=item CAVEATS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Fail - Event for a simple failed assertion

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Generic - Generic event type.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Note - Note event type

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item ACCESSORS

$note->message

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Ok - Ok event type

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item ACCESSORS

$rb = $e->pass, $name = $e->name, $b = $e->effective_pass

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Pass - Event for a simple passing assertion

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Plan - The event of a plan

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item ACCESSORS

$num = $plan->max, $dir = $plan->directive, $reason = $plan->reason

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Skip - Skip event type

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item ACCESSORS

$reason = $e->reason

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Subtest - Event for subtest types

=over 4

=item DESCRIPTION

=item ACCESSORS

$arrayref = $e->subevents, $bool = $e->buffered

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::TAP::Version - Event for TAP version.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item METHODS

$version = $e->version

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::V2 - Second generation event.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=over 4

=item USING A CONTEXT

=item USING THE CONSTRUCTOR

=back

=item METHODS

$fd = $e->facet_data(), $about = $e->about(), $trace = $e->trace()

=over 4

=item MUTATION

$e->add_amnesty({...}), $e->add_hub({...}), $e->set_uuid($UUID),
$e->set_trace($trace)

=item LEGACY SUPPORT METHODS

causes_fail, diagnostics, global, increments_count, no_display, sets_plan,
subtest_id, summary, terminate

=back

=item THIRD PARTY META-DATA

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Event::Waiting - Tell all procs/threads it is time to be done

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet - Base class for all event facets.

=over 4

=item DESCRIPTION

=item METHODS

$key = $facet_class->facet_key(), $bool = $facet_class->is_list(), $clone =
$facet->clone(), $clone = $facet->clone(%replace)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::About - Facet with event details.

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Amnesty - Facet for assertion amnesty.

=over 4

=item DESCRIPTION

=item NOTES

=item FIELDS

$string = $amnesty->{details}, $string = $amnesty->details(), $short_string
= $amnesty->{tag}, $short_string = $amnesty->tag(), $bool =
$amnesty->{inherited}, $bool = $amnesty->inherited()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Assert - Facet representing an assertion.

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Control - Facet for hub actions and behaviors.

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Error - Facet for errors that need to be shown.

=over 4

=item DESCRIPTION

=item NOTES

=item FIELDS

$string = $error->{details}, $string = $error->details(), $short_string =
$error->{tag}, $short_string = $error->tag(), $bool = $error->{fail}, $bool
= $error->fail()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Hub - Facet for the hubs an event passes through.

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Info - Facet for information a developer might
care about.

=over 4

=item DESCRIPTION

=item NOTES

=item 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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Info::Table - Intermediary representation of a
table.

=over 4

=item DESCRIPTION

=item SYNOPSIS

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Meta - Facet for meta-data

=over 4

=item DESCRIPTION

=item METHODS AND FIELDS

$anything = $meta->{anything}, $anything = $meta->anything()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Parent - Facet for events contains other events

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Plan - Facet for setting the plan

=over 4

=item DESCRIPTION

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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Render - Facet that dictates how to render an
event.

=over 4

=item DESCRIPTION

=item 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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::EventFacet::Trace - Debug information for events

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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

=over 4

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

=back

=item 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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Formatter - Namespace for formatters.

=over 4

=item DESCRIPTION

=item 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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Formatter::TAP - Standard TAP formatter

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Kent Fredric
E<lt>kentnl@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Hub - The conduit through which all events flow.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item COMMON TASKS

=over 4

=item SENDING EVENTS

=item ALTERING OR REMOVING EVENTS

=item LISTENING FOR EVENTS

=item POST-TEST BEHAVIORS

=item SETTING THE FORMATTER

=back

=item 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)

=over 4

=item 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

=back

=item THIRD PARTY META-DATA

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Hub::Interceptor - Hub used by interceptor to grab results.

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Hub::Interceptor::Terminator - Exception class used by
Test2::Hub::Interceptor

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Hub::Subtest - Hub used by subtests

=over 4

=item DESCRIPTION

=item TOGGLES

$bool = $hub->manual_skip_all, $hub->set_manual_skip_all($bool)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::IPC - Turn on IPC for threading or forking support.

=over 4

=item SYNOPSIS

=over 4

=item DISABLING IT

=back

=item EXPORTS

cull()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::IPC::Driver - Base class for Test2 IPC drivers.

=over 4

=item SYNOPSIS

=item METHODS

$self->abort($msg), $self->abort_trace($msg)

=item LOADING DRIVERS

=item WRITING DRIVERS

=over 4

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

=item METHODS SUBCLASSES MAY IMPLEMENT OR OVERRIDE

$ipc->driver_abort($msg)

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::IPC::Driver::Files - Temp dir + Files concurrency model.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item ENVIRONMENT VARIABLES

T2_KEEP_TEMPDIR=0, T2_TEMPDIR_TEMPLATE='test2-XXXXXX'

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual - Documentation hub for Test2 and Test2-Suite.

=over 4

=item DESCRIPTION

=item WRITING TESTS

=item WRITING TOOLS

=item GUTS AND INNER WORKINGS

=item A NOTE ON CONCURRENCY (SUPPORT FOR FORKING AND THREADING)

=item CONTRIBUTING

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy - The hub for documentation of the inner
workings of
Test2 components.

=over 4

=item DESCRIPTION

=item END TO END

=item EVENTS

=item THE CONTEXT

=item THE API AND THE API INSTANCE

=item HUBS

=item THE IPC SYSTEM

=item INTERNAL UTILITIES

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy::API - Internals documentation for the API.

=over 4

=item DESCRIPTION

=item IMPLEMENTATION DETAILS

=over 4

=item Test2::API

=item Test2::API::Instance

=back

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy::Context - Internals documentation for the
Context
objects.

=over 4

=item DESCRIPTION

=item WHAT IS THE CONTEXT OBJECT?

=over 4

=item PRIMARY INTERFACE FOR TEST TOOLS

=item TRACK FILE AND LINE NUMBERS FOR ERROR REPORTING

=item PRESERVE $?, $!, $^E AND $@

=item FINALIZE THE API STATE

=item FIND/CREATE THE CURRENT/ROOT HUB

=item PROVIDE HOOKS

=back

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy::EndToEnd - Overview of Test2 from load to
finish.

=over 4

=item DESCRIPTION

=item 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?

=item 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

=item 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

=item 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

=item 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

=item 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

=item 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

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy::Event - The internals of events

=over 4

=item DESCRIPTION

=item HISTORY

=item THE EVENT OBJECT

=item 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}

=over 4

=item CUSTOM FACETS

$string = $facet_class->facet_key, $bool = $facet_class->is_list

=back

=item 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

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy::Hubs - Internals documentation for the hub
stack, and
hubs.

=over 4

=item DESCRIPTION

=item WHAT IS A HUB?

=item WHY DO WE HAVE A HUB STACK?

subtests, testing your test tools

=item WHEN SHOULD I ADD A HUB TO THE STACK?

=item WHERE IS THE STACK?

=item WHAT ABOUT THE ROOT HUB?

=item HOW DO HUBS HANDLE IPC?

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy::IPC - Manual for the IPC system.

=over 4

=item DESCRIPTION

=item WHAT IS THE IPC SYSTEM

=item HOW DOES THE IPC SYSTEM AFFECT EVERYTHING?

=item WHAT DOES AN IPC DRIVER DO?

=item HOW DOES THE DEFAULT IPC DRIVER WORK?

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Anatomy::Utilities - Overview of utilities for Test2.

=over 4

=item DESCRIPTION

=item Test2::Util

=item Test2::Util::ExternalMeta

=item Test2::Util::Facets2Legacy

=item Test2::Util::HashBase

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Concurrency - Documentation for Concurrency support.

=over 4

=item FORKING

=over 4

=item Test2

=item Test::Builder

=item Test2::Suite

=item Test::SharedFork

=item Others

=back

=item THREADING

=over 4

=item Test2

=item Test::Builder

=item Test2::Suite

=back

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Contributing - How to contribute to the Test2
project.

=over 4

=item DESCRIPTION

=item WAYS TO HELP

=over 4

=item REPORT BUGS

Test2/Test-Builder/Test-More/test-more, Test2-Harness

=item SUBMIT PATCHES

=item ADD/UPDATE DOCUMENTATION

=item ANSWER QUESTIONS ON IRC/SLACK

=item WRITE NEW TOOLS USING TEST2

=item PORT OLD TOOLS TO TEST2

=back

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Testing - Hub for documentation about writing tests
with Test2.

=over 4

=item DESCRIPTION

=back

=head2 Test2::Manual::Testing, When writing tests there are a couple
namespaces to focus on:

Test2::Tools::*, Test2::Plugins::*, Test2::Bundle::*, Test2::Require::*

=over 4

=item LISTING DEPENDENCIES

=item TUTORIALS

=over 4

=item SIMPLE/INTRODUCTION TUTORIAL

=item MIGRATING FROM TEST::BUILDER and TEST::MORE

=item ADVANCED PLANNING

=item TODO TESTS

=item SUBTESTS

=item COMPARISONS

=item TESTING EXPORTERS

=item TESTING CLASSES

=item TRAPPING

=item DEFERRED TESTING

=item MANAGING ENCODINGS

=item AUTO-ABORT ON FAILURE

=item CONTROLLING RANDOM BEHAVIOR

=item WRITING YOUR OWN BUNDLE

=back

=item TOOLSET DOCUMENTATION

=item PLUGIN DOCUMENTATION

=item BUNDLE DOCUMENTATION

=item REQUIRE DOCUMENTATION

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Testing::Introduction - Introduction to testing with
Test2.

=over 4

=item DESCRIPTION

=item BOILERPLATE

=over 4

=item THE TEST FILE

use Test2::V0;, done_testing;

=item DIST CONFIG

=back

=item MAKING ASSERTIONS

=item RUNNING THE TEST

=over 4

=item RUN DIRECTLY

=item USING YATH

=item USING PROVE

=back

=item THE "PLAN"

done_testing(), plan($COUNT)

=item ADDITIONAL ASSERTION TOOLS

is($a, $b, $description), like($a, $b, $description)

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Testing::Migrating - How to migrate existing tests
from
Test::More to Test2.

=over 4

=item DESCRIPTION

=item LEGACY TEST

=item 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

=item SIMPLE ASSERTIONS

=item TODO

todo $reason => sub { ... }, { my $TODO = todo $reason; ... }

=item DEEP COMPARISONS

=item COMPARING REFERENCES

=item TOOLS THAT ARE GONE

=item TOOLS THAT HAVE CHANGED

=item FINAL VERSION

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Testing::Planning - The many ways to set a plan.

=over 4

=item DESCRIPTION

=item TEST COUNT

=item DONE TESTING

=item SKIP ALL

=item CUSTOM PLAN EVENT

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Testing::Todo - Tutorial for marking tests as TODO.

=over 4

=item DESCRIPTION

=item THE TOOL

=over 4

=item TODO BLOCK

=item TODO VARIABLE

=back

=item MANUAL TODO EVENTS

=item HOW THE TODO TOOLS WORK UNDER THE HOOD

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling - Manual page for tool authors.

=over 4

=item DESCRIPTION

=item TOOL TUTORIALS

=over 4

=item FIRST TOOL

=item MOVING FROM Test::Builder

=item NESTING TOOLS

=item TOOLS WITH SUBTESTS

=item TESTING YOUR TEST TOOLS

=back

=item PLUGIN TUTORIALS

=over 4

=item TAKING ACTION WHEN A NEW TOOL STARTS

=item TAKING ACTION AFTER A TOOL IS DONE

=item TAKING ACTION AT THE END OF TESTING

=item TAKING ACTION JUST BEFORE EXIT

=back

=item WRITING A SIMPLE JSONL FORMATTER

=item WHERE TO FIND HOOKS AND APIS

global API, In hubs

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::FirstTool - Write your first tool with
Test2.

=over 4

=item DESCRIPTION

=item COMPLETE CODE UP FRONT

=item 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);

=item CONTEXT OBJECT DOCUMENTATION

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Formatter - How to write a custom formatter,
in our
case a JSONL formatter.

=over 4

=item DESCRIPTION

=item COMPLETE CODE UP FRONT

=item 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";

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Nesting - Tutorial for using other tools
within your
own.

=over 4

=item DESCRIPTION

=item NAIVE WAY

=over 4

=item WHATS WRONG WITH IT?

=item HOW TO FIX IT

=back

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Plugin::TestExit - How to safely add
pre-exit
behaviors.

=over 4

=item DESCRIPTION

=item COMPLETE CODE UP FRONT

=item 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

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Plugin::TestingDone - Run code when the test
file is
finished, or when done_testing is called.

=over 4

=item DESCRIPTION

=item COMPLETE CODE UP FRONT

=item 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"

=item UNDER THE HOOD

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Plugin::ToolCompletes - How to add behaviors
that occur
when a tool completes work.

=over 4

=item DESCRIPTION

=item COMPLETE CODE UP FRONT

=item 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"

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Plugin::ToolStarts - How to add behaviors
that occur
when a tool starts work.

=over 4

=item DESCRIPTION

=item COMPLETE CODE UP FRONT

=item 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"

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Subtest - How to implement a tool that makes
use of
subtests.

=over 4

=item DESCRIPTION

=item WHICH TYPE OF SUBTEST DO I NEED?

=over 4

=item SUBTEST WITH USER SUPPLIED CODEREF

@args, \%params, buffered => $bool, inherit_trace => $bool, no_fork =>
$bool

=item SUBTEST WITH TOOL-SIDE CODEREF

=back

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::TestBuilder - This section maps
Test::Builder methods
to Test2 concepts.

=over 4

=item DESCRIPTION

=item CONTEXT

=item 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

=item LEVEL

=item TODO

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Manual::Tooling::Testing - Tutorial on how to test your
testing tools.

=over 4

=item DESCRIPTION

=item THE HOLY GRAIL OF TESTING YOUR TOOLS

=item ADDITIONAL HELPERS

=over 4

=item Test2::Tools::Tester

=item Test2::Tools::HarnessTester

=item Test2::Tools::Compare

event $TYPE => .., fail_events $TYPE => ..

=back

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Mock - Module for managing mocked classes and instances.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item CONSTRUCTION

=item 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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Plugin - Documentation for plugins

=over 4

=item DESCRIPTION

=item FAQ

Should I subclass Test2::Plugin?

=item HOW DO I WRITE A PLUGIN?

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Plugin::BailOnFail - Automatically bail out of testing on the
first test
failure.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Plugin::DieOnFail - Automatically die on the first test
failure.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Plugin::ExitSummary - Add extra diagnostics on failure at the
end of the
test.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Plugin::SRand - Control the random seed for more controlled
test
environments.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item NOTE ON LOAD ORDER

=item CAVEATS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Plugin::Times - Output timing data at the end of the test.

=over 4

=item CAVEAT

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Plugin::UTF8 - Test2 plugin to test with utf8.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item import options

=over 4

=item encoding_only

=back

=item NOTES

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require - Base class and documentation for skip-unless type
test
packages.

=over 4

=item DESCRIPTION

=item HOW DO I WRITE A 'REQUIRE' MODULE?

=over 4

=item AS A SUBCLASS

=item STAND-ALONE

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::AuthorTesting - Only run a test when the
AUTHOR_TESTING
environment variable is set.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::AutomatedTesting - Only run a test when the
AUTOMATED_TESTING
environment variable is set.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::EnvVar - Only run a test when a specific environment
variable
is set.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::ExtendedTesting - Only run a test when the
EXTENDED_TESTING
environment variable is set.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::Fork - Skip a test file unless the system supports
forking

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPLANATION

=item SEE ALSO

L<Test2::Require::RealFork>, L<Test2::Require::Threads>

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::Module - Skip tests if certain packages are not
installed, or
insufficient versions.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::NonInteractiveTesting - Only run a test when the
NONINTERACTIVE_TESTING
environment variable is set.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::Perl - Skip the test unless the necessary version of
Perl is
installed.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::RealFork - Skip a test file unless the system
supports true
forking

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SEE ALSO

L<Test2::Require::Fork>, L<Test2::Require::Threads>

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::ReleaseTesting - Only run a test when the
RELEASE_TESTING
environment variable is set.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Require::Threads - Skip a test file unless the system
supports threading

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPLANATION

=item SEE ALSO

L<Test2::Require::Fork>, L<Test2>

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Suite - Distribution with a rich set of tools built upon the
Test2
framework.

=over 4

=item DESCRIPTION

=over 4

=item WHAT ARE TOOLS, PLUGINS, AND BUNDLES?

TOOLS, PLUGINS, BUNDLES

=back

=item INCLUDED BUNDLES

Test2::V#, Extended, More, Simple

=item INCLUDED TOOLS

Basic, Compare, ClassicCompare, Class, Defer, Encoding, Exports, Mock, Ref,
Spec, Subtest, Target

=item INCLUDED PLUGINS

BailOnFail, DieOnFail, ExitSummary, SRand, UTF8

=item INCLUDED REQUIREMENT CHECKERS

AuthorTesting, EnvVar, Fork, RealFork, Module, Perl, Threads

=item SEE ALSO

=item CONTACTING US

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Todo - TODO extension for Test2.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item CONSTRUCTION OPTIONS

reason (required), hub (optional)

=item INSTANCE METHODS

$todo->end

=item CLASS METHODS

$count = Test2::Todo->hub_in_todo($hub)

=item OTHER NOTES

=over 4

=item How it works

=item $todo->end is called at destruction

=item Can I use multiple instances?

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools - Documentation for Tools.

=over 4

=item DESCRIPTION

=item FAQ

Why is it called Test2::Tools, and not Test2::Tool?, Should my tools
subclass Test2::Tools?

=item HOW DO I WRITE A 'TOOLS' MODULE?

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::AsyncSubtest - Tools for writing async subtests.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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 { ... }

=item NOTES

Async Subtests are always buffered, Do not use done_testing() yourself

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Basic - Test2 implementation of the basic testing
tools.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

=over 4

=item PLANNING

plan($num), plan('tests' => $num), plan('skip_all' => $reason),
skip_all($reason), done_testing, bail_out($reason)

=item ASSERTIONS

ok($bool), ok($bool, $name), ok($bool, $name, @diag), pass(), pass($name),
fail(), fail($name), fail($name, @diag)

=item DIAGNOSTICS

diag(@messages), note(@messages)

=item META

$todo = todo($reason), todo $reason => sub { ... }, skip($why), skip($why,
$count)

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Class - Test2 implementation of the tools for testing
classes.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::ClassicCompare - Classic (Test::More style) comparison
tools.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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, //, &, |, ~~

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Compare - Tools for comparing deep data structures.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=over 4

=item ADVANCED

=back

=item 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)

=over 4

=item QUICK CHECKS

$check = T(), $check = F(), $check = D(), $check = U(), $check = DF(),
$check = E(), $check = DNE(), $check = FDNE(), $check = L()

=item 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)

=item SET BUILDERS

my $check = check_set($check1, $check2, ...), my $check = in_set($check1,
$check2, ...), not_in_set($check1, $check2, ...), check $thing

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

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

=item BAG BUILDER

$check = bag { ... }, item $VAL, item $CHECK, all_items($CHECK1, $CHECK2,
...), end(), etc()

=item ORDERED SUBSET BUILDER

$check = subset { ... }, item $VAL, item $CHECK

=item META BUILDER

meta { ... }, meta_check { ... }, prop $NAME => $VAL, prop $NAME => $CHECK,
'blessed', 'reftype', 'isa', 'this', 'size'

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

=item 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 => { ... };

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Defer - Write tests that get executed at a later time

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

def function => @args;, do_def()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Encoding - Tools for managing the encoding of L<Test2>
based
tests.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

set_encoding($encoding)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Event - Tools for generating test events.

=over 4

=item DESCRIPTION

=item EXPORTS

$e = gen_event($TYPE), $e = gen_event($TYPE, %FIELDS), $e = gen_event
'Ok';, $e = gen_event Ok => ( ... ), $e = gen_event '+Test2::Event::Ok' =>
( ... )

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Exception - Test2 based tools for checking exceptions

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

$e = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }, $bool =
try_ok { ... } "Test Description"

=item DIFFERENCES FROM TEST::FATAL

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Exports - Tools for validating exporters.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

imported_ok(@SYMBOLS), not_imported_ok(@SYMBOLS)

=item CAVEATS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::GenTemp - Tool for generating a populated temp
directory.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

gen_temp(file => 'content', subdir => [ sub_dir_file => 'content', ...],
...), gen_temp(-tempdir => \@TEMPDIR_ARGS, file => 'content', subdir => [
sub_dir_file => 'content', ...], ...)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Grab - Temporarily intercept all events without adding
a scope
level.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

$grab = grab()

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Mock - Class/Instance mocking for Test2.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

=over 4

=item 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 => ( ... )

=item 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/)

=back

=item MOCK CONTROL OBJECTS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Ref - Tools for validating references.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

ref_ok($thing), ref_ok($thing, $type), ref_ok($thing, $type, $name),
ref_is($ref1, $ref2, $name), ref_is_not($ref1, $ref2, $name)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Refcount, C<Test2::Tools::Refcount> - assert reference
counts on objects

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item FUNCTIONS

=back

=over 4

=item is_refcount

=back

=over 4

=item is_oneref

=back

=over 4

=item refcount

=back

=over 4

=item EXAMPLE

=item BUGS

Temporaries created on the stack

=item ACKNOWLEDGEMENTS

=item AUTHOR

=back

=head2 Test2::Tools::Spec - RSPEC implementation on top of Test2::Workflow

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

NAME, PARAMS, flat => $bool, async => $bool, iso => $bool, todo => $reason,
skip => $reason, CODEREF

=over 4

=item 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)

=item SHORTCUTS

mini NAME => sub { ... }, iso NAME => sub { ... }, miso NAME => sub { ...
}, async NAME => sub { ... }, masync NAME => sub { ... }

=item CUSTOM ATTRIBUTE DEFAULTS

=back

=item EXECUTION ORDER

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Subtest - Tools for writing subtests

=over 4

=item DESCRIPTION

=item SYNOPSIS

=over 4

=item BUFFERED

=item STREAMED

=back

=item IMPORTANT NOTE

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Target - Alias the testing target package.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Tester - Tools to help you test other testing tools.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item 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

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Tiny - Tiny set of tools for unfortunate souls who
cannot use
L<Test2::Suite>.

=over 4

=item DESCRIPTION

=item USE Test2::Suite INSTEAD

=item 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 { ... }

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Tools::Warnings - Tools to verify warnings.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

$count = warns { ... }, $warning = warning { ... }, $warnings_ref =
warnings { ... }, $bool = no_warnings { ... }

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Transition - Transition notes when upgrading to Test2

=over 4

=item DESCRIPTION

=item THINGS THAT BREAK

=over 4

=item Test::Builder1.5/2 conditionals

=item Replacing the Test::Builder singleton

=item Directly Accessing Hash Elements

=item Subtest indentation

=back

=item DISTRIBUTIONS THAT BREAK OR NEED TO BE UPGRADED

=over 4

=item WORKS BUT TESTS WILL FAIL

Test::DBIx::Class::Schema, Device::Chip

=item UPGRADE SUGGESTED

Test::Exception, Data::Peek, circular::require, Test::Module::Used,
Test::Moose::More, Test::FITesque, Test::Kit, autouse

=item NEED TO UPGRADE

Test::SharedFork, Test::Builder::Clutch, Test::Dist::VersionSync,
Test::Modern, Test::UseAllModules, Test::More::Prefix

=item STILL BROKEN

Test::Aggregate, Test::Wrapper, Test::ParallelSubtest, Test::Pretty,
Net::BitTorrent, Test::Group, Test::Flatten,
Log::Dispatch::Config::TestLog, Test::Able

=back

=item MAKE ASSERTIONS -> SEND EVENTS

=over 4

=item LEGACY

=item TEST2

ok($bool, $name), diag(@messages), note(@messages), subtest($name, $code)

=back

=item WRAP EXISTING TOOLS

=over 4

=item LEGACY

=item TEST2

=back

=item USING UTF8

=over 4

=item LEGACY

=item TEST2

=back

=item AUTHORS, CONTRIBUTORS AND REVIEWERS

Chad Granum (EXODIST) E<lt>exodist@cpan.orgE<gt>

=item SOURCE

=item MAINTAINER

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util - Tools used by Test2 and friends.

=over 4

=item DESCRIPTION

=item 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)

=item NOTES && CAVEATS

Devel::Cover

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Kent Fredric
E<lt>kentnl@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::ExternalMeta - Allow third party tools to safely attach
meta-data
to your instances.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item WHERE IS THE DATA STORED?

=item 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)

=item META-KEY RESTRICTIONS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Facets2Legacy - Convert facet data to the legacy event
API.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=over 4

=item AS METHODS

=item AS FUNCTIONS

=back

=item NOTE ON CYCLES

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Grabber - Object used to temporarily intercept all
events.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

$grab = grab()

=item METHODS

$grab = $class->new(), $ar = $grab->flush(), $ar = $grab->events(), $ar =
$grab->finish(), $hub = $grab->hub()

=item ENDING BEHAVIOR

=item SEE ALSO

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Guard - Inline copy of L<Scope::Guard>

=over 4

=item SEE ALSO

=item ORIGINAL AUTHOR

chocolateboy <chocolate@cpan.org>

=over 4

=item INLINE AND MODIFICATION AUTHOR

Chad Granum E<lt>exodist@cpan.orgE<gt>

=back

=item COPYRIGHT

=back

=head2 Test2::Util::HashBase - Build hash based classes.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item THIS IS A BUNDLED COPY OF HASHBASE

=item METHODS

=over 4

=item PROVIDED BY HASH BASE

$it = $class->new(%PAIRS), $it = $class->new(\%PAIRS), $it =
$class->new(\@ORDERED_VALUES)

=item HOOKS

$self->init()

=back

=item ACCESSORS

=over 4

=item READ/WRITE

foo(), set_foo(), FOO()

=item READ ONLY

set_foo()

=item DEPRECATED SETTER

set_foo()

=item NO SETTER

=item NO READER

=item CONSTANT ONLY

=back

=item SUBCLASSING

=item GETTING A LIST OF ATTRIBUTES FOR A CLASS

@list = Test2::Util::HashBase::attr_list($class), @list =
$class->Test2::Util::HashBase::attr_list()

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Importer - Inline copy of L<Importer>.

=over 4

=item DESCRIPTION

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Ref - Tools for inspecting or manipulating references.

=over 4

=item DESCRIPTION

=item EXPORTS

$type = rtype($ref), $addr_str = render_ref($ref)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Kent Fredric
E<lt>kentnl@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Sig - Signal tools used by Test2 and friends.

=over 4

=item DESCRIPTION

=item EXPORTS

($ok, $err) = try_sig_mask { ... }, SIGINT, SIGALRM, SIGHUP, SIGTERM,
SIGUSR1, SIGUSR2

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Kent Fredric
E<lt>kentnl@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Stash - Utilities for manipulating stashes and globs.

=over 4

=item DESCRIPTION

=item 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)

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Sub - Tools for inspecting and manipulating subs.

=over 4

=item DESCRIPTION

=item 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]

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>, Kent Fredric
E<lt>kentnl@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Table - Format a header and rows into a table

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item EXPORTS

=over 4

=item @rows = table(...)

header => [ ... ], rows => [ [...], [...], ... ], collapse => $bool,
max_width => $num, sanitize => $bool, mark_tail => $bool

=item my $cols = term_size()

=back

=item NOTE ON UNICODE/WIDE CHARACTERS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Table::LineBreak - Break up lines for use in tables.

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Times - Format timing/benchmark information.

=over 4

=item DESCRIPTION

=item EXPORTS

$str = render_bench($start, $end, $user, $system, $cuser, $csystem), $str =
render_bench($start, time(), times())

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Util::Trace - Legacy wrapper for L<Test2::EventFacet::Trace>.

=over 4

=item DESCRIPTION

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::V0 - 0Th edition of the Test2 recommended bundle.

=over 4

=item DESCRIPTION

=item NAMING, USING, DEPENDING

=item SYNOPSIS

=item RESOLVING CONFLICTS WITH MOOSE

=over 4

=item TAGS

:DEFAULT

=item RENAMING ON IMPORT

'!ok', ok => {-as => 'my_ok'}

=back

=item PRAGMAS

=over 4

=item STRICT

=item WARNINGS

=item UTF8

=back

=item PLUGINS

=over 4

=item SRAND

=item UTF8

=item EXIT SUMMARY

=back

=item ENVIRONMENT VARIABLES

=item API FUNCTIONS

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

=item TOOLS

=over 4

=item TARGET

$CLASS, $class = CLASS()

=item DEFER

def $func => @args;, do_def()

=item 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)

=item 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 => ..

=item CLASSIC COMPARE

cmp_ok($got, $op, $want, $name)

=item SUBTEST

subtest $name => sub { ... };

=item CLASS

can_ok($thing, @methods), isa_ok($thing, @classes), DOES_ok($thing, @roles)

=item ENCODING

set_encoding($encoding)

=item EXPORTS

imported_ok('function', '$scalar', ...), not_imported_ok('function',
'$scalar', ...)

=item 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)

=item MOCK

$control = mock .., $bool = mocked($thing)

=item EXCEPTION

$exception = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }

=item WARNINGS

$count = warns { ... }, $warning = warning { ... }, $warnings_ref =
warnings { ... }, $bool = no_warnings { ... }

=back

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Workflow - A test workflow is a way of structuring tests
using
composable units.

=over 4

=item DESCRIPTION

=item IMPORTANT CONCEPTS

=over 4

=item BUILD

=item RUNNER

=item TASK

=back

=item 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 { ... })

=item SEE ALSO

Test2::Tools::Spec

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Workflow::BlockBase - Base class for all workflow blocks.

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Workflow::Build - Represents a build in progress.

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Workflow::Runner - Runs the workflows.

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Workflow::Task - Encapsulation of a Task

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Workflow::Task::Action - Encapsulation of an action.

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test2::Workflow::Task::Group - Encapsulation of a group (describe).

=over 4

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test::Builder - Backend for building test libraries

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Construction

B<new>, B<create>, B<subtest>, B<name>, B<reset>

=item Setting up tests

B<plan>, B<expected_tests>, B<no_plan>, B<done_testing>, B<has_plan>,
B<skip_all>, B<exported_to>

=item Running tests

B<ok>, B<is_eq>, B<is_num>, B<isnt_eq>, B<isnt_num>, B<like>, B<unlike>,
B<cmp_ok>

=item Other Testing Methods

B<BAIL_OUT>, B<skip>, B<todo_skip>, B<skip_rest>

=item Test building utility methods

B<maybe_regex>, B<is_fh>

=back

=back

=over 4

=item Test style

B<level>, B<use_numbers>, B<no_diag>, B<no_ending>, B<no_header>

=item Output

B<diag>, B<note>, B<explain>, B<output>, B<failure_output>, B<todo_output>,
reset_outputs, carp, croak

=item Test Status and Info

B<no_log_results>, B<current_test>, B<is_passing>, B<summary>, B<details>,
B<todo>, B<find_TODO>, B<in_todo>, B<todo_start>, C<todo_end>, B<caller>

=back

=over 4

=item EXIT CODES

=item THREADS

=item MEMORY

=item EXAMPLES

=item SEE ALSO

=over 4

=item INTERNALS

=item LEGACY

=item EXTERNAL

=back

=item AUTHORS

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test::Builder::Formatter - Test::Builder subclass of
Test2::Formatter::TAP

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test::Builder::Module - Base class for test modules

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Importing

=back

=back

=over 4

=item Builder

=back

=over 4

=item SEE ALSO

=back

=head2 Test::Builder::Tester - test testsuites that have been built with
Test::Builder

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item Functions

test_out, test_err

=back

test_fail

test_diag

test_test, title (synonym 'name', 'label'), skip_out, skip_err

line_num

color

=over 4

=item BUGS

=item AUTHOR

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item NOTES

=item SEE ALSO

=back

=head2 Test::Builder::Tester::Color - turn on colour in
Test::Builder::Tester

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=over 4

=item AUTHOR

=item BUGS

=item SEE ALSO

=back

=head2 Test::Builder::TodoDiag - Test::Builder subclass of
Test2::Event::Diag

=over 4

=item DESCRIPTION

=item SYNOPSIS

=item SOURCE

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item AUTHORS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test::Harness - Run Perl standard test scripts with statistics

=over 4

=item VERSION

=back

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS

=over 4

=item runtests( @test_files )

=back

=back

=over 4

=item execute_tests( tests => \@test_files, out => \*FH )

=back

=over 4

=item EXPORT

=item ENVIRONMENT VARIABLES THAT TAP::HARNESS::COMPATIBLE SETS

C<HARNESS_ACTIVE>, C<HARNESS_VERSION>

=item ENVIRONMENT VARIABLES THAT AFFECT TEST::HARNESS

C<HARNESS_PERL_SWITCHES>, C<HARNESS_TIMER>, C<HARNESS_VERBOSE>,
C<HARNESS_OPTIONS>, C<< j<n> >>, C<< c >>, C<< a<file.tgz> >>, C<<
fPackage-With-Dashes >>, C<HARNESS_SUBCLASS>,
C<HARNESS_SUMMARY_COLOR_SUCCESS>, C<HARNESS_SUMMARY_COLOR_FAIL>

=item Taint Mode

=item SEE ALSO

=item BUGS

=item AUTHORS

=item LICENCE AND COPYRIGHT

=back

=head2 Test::More - yet another framework for writing test scripts

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item I love it when a plan comes together

=back

=back

B<done_testing>

=over 4

=item Test names

=item I'm ok, you're not ok.

B<ok>

=back

B<is>, B<isnt>

B<like>

B<unlike>

B<cmp_ok>

B<can_ok>

B<isa_ok>

B<new_ok>

B<subtest>

B<pass>, B<fail>

=over 4

=item Module tests

B<require_ok>

=back

B<use_ok>

=over 4

=item Complex data structures

B<is_deeply>

=back

=over 4

=item Diagnostics

B<diag>, B<note>

=back

B<explain>

=over 4

=item Conditional tests

B<SKIP: BLOCK>

=back

B<TODO: BLOCK>, B<todo_skip>

When do I use SKIP vs. TODO?

=over 4

=item Test control

B<BAIL_OUT>

=back

=over 4

=item Discouraged comparison functions

B<eq_array>

=back

B<eq_hash>

B<eq_set>

=over 4

=item Extending and Embedding Test::More

B<builder>

=back

=over 4

=item EXIT CODES

=item COMPATIBILITY

subtests, C<done_testing()>, C<cmp_ok()>, C<new_ok()> C<note()> and
C<explain()>

=item CAVEATS and NOTES

UTF-8 / "Wide character in print", Overloaded objects, Threads

=item HISTORY

=item SEE ALSO

=over 4

=item ALTERNATIVES

=item ADDITIONAL LIBRARIES

=item OTHER COMPONENTS

=item BUNDLES

=back

=item ENVIRONMENT VARIABLES

=item AUTHORS

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item BUGS

=item SOURCE

=item COPYRIGHT

=back

=head2 Test::Simple - Basic utilities for writing tests.

=over 4

=item SYNOPSIS

=item DESCRIPTION

B<ok>

=back

=over 4

=item EXAMPLE

=item CAVEATS

=item NOTES

=item HISTORY

=item SEE ALSO

L<Test::More>

=item AUTHORS

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test::Tester - Ease testing test modules built with Test::Builder

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item HOW TO USE (THE EASY WAY)

=item HOW TO USE (THE HARD WAY)

=item TEST RESULTS

ok, actual_ok, name, type, reason, diag, depth

=item SPACES AND TABS

=item COLOUR

=item EXPORTED FUNCTIONS

=item HOW IT WORKS

=item CAVEATS

=item SEE ALSO

=item AUTHOR

=item LICENSE

=back

=head2 Test::Tester::Capture - Help testing test modules built with
Test::Builder

=over 4

=item DESCRIPTION

=item AUTHOR

=item LICENSE

=back

=head2 Test::Tester::CaptureRunner - Help testing test modules built with
Test::Builder

=over 4

=item DESCRIPTION

=item AUTHOR

=item LICENSE

=back

=head2 Test::Tutorial - A tutorial about writing really basic tests

=over 4

=item DESCRIPTION

=over 4

=item Nuts and bolts of testing.

=item Where to start?

=item Names

=item Test the manual

=item Sometimes the tests are wrong

=item Testing lots of values

=item Informative names

=item Skipping tests

=item Todo tests

=item Testing with taint mode.

=back

=item FOOTNOTES

=item AUTHORS

=item MAINTAINERS

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item COPYRIGHT

=back

=head2 Test::use::ok - Alternative to Test::More::use_ok

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=item MAINTAINER

Chad Granum E<lt>exodist@cpan.orgE<gt>

=item CC0 1.0 Universal

=back

=head2 Text::Abbrev - abbrev - create an abbreviation table from a list

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLE

=back

=head2 Text::Balanced - Extract delimited text sequences from strings.

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item General Behaviour in List Contexts

[0], [1], [2]

=item General Behaviour in Scalar and Void Contexts

=item A Note About Prefixes

=item Functions

C<extract_delimited>, C<extract_bracketed>, C<extract_variable>, [0], [1],
[2], C<extract_tagged>, C<reject =E<gt> $listref>, C<ignore =E<gt>
$listref>, C<fail =E<gt> $str>, [0], [1], [2], [3], [4], [5],
C<gen_extract_tagged>, C<extract_quotelike>, [0], [1], [2], [3], [4], [5],
[6], [7], [8], [9], [10], C<extract_quotelike>, [0], [1], [2], [3], [4],
[5], [6], [7..10], C<extract_codeblock>, C<extract_multiple>,
C<gen_delimited_pat>, C<delimited_pat>

=back

=item 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>

=item EXPORTS

Default Exports, Optional Exports, Export Tags, C<:ALL>

=item KNOWN BUGS

=item FEEDBACK

=item AVAILABILITY

=item INSTALLATION

=item AUTHOR

=item COPYRIGHT

=item LICENCE

=item VERSION

=item DATE

=item HISTORY

=back

=head2 Text::ParseWords - parse text into an array of tokens or array of
arrays

=over 4

=item SYNOPSIS

=item DESCRIPTION

true, false, C<"delimiters">

=item EXAMPLES

0Z<>, 1Z<>, 2Z<>, 3Z<>, 4Z<>, 5Z<>

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

=head2 Text::Tabs - expand and unexpand tabs like unix expand(1) and
unexpand(1)

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item EXPORTS

expand, unexpand, $tabstop

=item EXAMPLE

=item BUGS

=item LICENSE

=back

=head2 Text::Wrap - line wrapping to form simple paragraphs

=over 4

=item SYNOPSIS 

=item DESCRIPTION

=item OVERRIDES

=item EXAMPLES

=item SEE ALSO

=item AUTHOR

=item LICENSE

=back

=head2 Thread - Manipulate threads in Perl (for old code only)

=over 4

=item DEPRECATED

=item HISTORY

=item SYNOPSIS

=item DESCRIPTION

=item 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

=item METHODS

join, detach, equal, tid, done

=item DEFUNCT

lock(\&sub), eval, flags

=item SEE ALSO

=back

=head2 Thread::Queue - Thread-safe queues

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

Ordinary scalars, Array refs, Hash refs, Scalar refs, Objects based on the
above

=item QUEUE CREATION

->new(), ->new(LIST)

=item BASIC METHODS

->enqueue(LIST), ->dequeue(), ->dequeue(COUNT), ->dequeue_nb(),
->dequeue_nb(COUNT), ->dequeue_timed(TIMEOUT), ->dequeue_timed(TIMEOUT,
COUNT), ->pending(), ->limit, ->end()

=item ADVANCED METHODS

->peek(), ->peek(INDEX), ->insert(INDEX, LIST), ->extract(),
->extract(INDEX), ->extract(INDEX, COUNT)

=item NOTES

=item LIMITATIONS

=item SEE ALSO

=item MAINTAINER

=item LICENSE

=back

=head2 Thread::Semaphore - Thread-safe semaphores

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item 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)

=item NOTES

=item SEE ALSO

=item MAINTAINER

=item LICENSE

=back

=head2 Tie::Array - base class for tied arrays

=over 4

=item SYNOPSIS

=item 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

=item CAVEATS

=item AUTHOR

=back

=head2 Tie::File - Access the lines of a disk file via a Perl array

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item C<unicode>

=item C<recsep>

=item C<autochomp>

=item C<mode>

=item C<memory>

=item C<dw_size>

=item Option Format

=back

=item Public Methods

=over 4

=item C<flock>

=item C<autochomp>

=item C<defer>, C<flush>, C<discard>, and C<autodefer>

=item C<offset>

=back

=item Tying to an already-opened filehandle

=item Deferred Writing

=over 4

=item Autodeferring

=back

=item CONCURRENT ACCESS TO FILES

=item CAVEATS

=item SUBCLASSING

=item WHAT ABOUT C<DB_File>?

=item AUTHOR

=item LICENSE

=item WARRANTY

=item THANKS

=item TODO

=back

=head2 Tie::Handle - base class definitions for tied handles

=over 4

=item SYNOPSIS

=item 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

=item MORE INFORMATION

=item COMPATIBILITY

=back

=head2 Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for
tied hashes

=over 4

=item SYNOPSIS

=item 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

=item Inheriting from B<Tie::StdHash>

=item Inheriting from B<Tie::ExtraHash>

=item C<SCALAR>, C<UNTIE> and C<DESTROY>

=item MORE INFORMATION

=back

=head2 Tie::Hash::NamedCapture - Named regexp capture buffers

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

=back

=head2 Tie::Memoize - add data to hash when needed

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item Inheriting from B<Tie::Memoize>

=item EXAMPLE

=item BUGS

=item AUTHOR

=back

=head2 Tie::RefHash - Use references as hash keys

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item EXAMPLE

=item THREAD SUPPORT

=item STORABLE SUPPORT

=item SEE ALSO

=item SUPPORT

=item AUTHORS

=item CONTRIBUTORS

=item COPYRIGHT AND LICENCE

=back

=head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
scalars

=over 4

=item SYNOPSIS

=item DESCRIPTION

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

=over 4

=item Tie::Scalar vs Tie::StdScalar

=back

=item MORE INFORMATION

=back

=head2 Tie::StdHandle - base class definitions for tied handles

=over 4

=item SYNOPSIS

=item DESCRIPTION

=back

=head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEATS

=back

=head2 Time::HiRes - High resolution alarm, sleep, gettimeofday, interval
timers

=over 4

=item SYNOPSIS

=item 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

=item EXAMPLES

=item C API

=item DIAGNOSTICS

=over 4

=item useconds or interval more than ...

=item negative time not invented yet

=item internal error: useconds < 0 (unsigned ... signed ...)

=item useconds or uinterval equal to or more than 1000000

=item unimplemented in this platform

=back

=item CAVEATS

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT AND LICENSE

=back

=head2 Time::Local - Efficiently compute time from local and GMT time

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=item FUNCTIONS

=over 4

=item C<timelocal_posix()> and C<timegm_posix()>

=item C<timelocal_modern()> and C<timegm_modern()>

=item C<timelocal()> and C<timegm()>

=item C<timelocal_nocheck()> and C<timegm_nocheck()>

=item Year Value Interpretation

=item Limits of time_t

=item Ambiguous Local Times (DST)

=item Non-Existent Local Times (DST)

=item Negative Epoch Values

=back

=item IMPLEMENTATION

=item AUTHORS EMERITUS

=item BUGS

=item SOURCE

=item AUTHOR

=item CONTRIBUTORS

=item COPYRIGHT AND LICENSE

=back

=head2 Time::Piece - Object Oriented time objects

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item USAGE

=over 4

=item Local Locales

=item Date Calculations

=item Truncation

=item Date Comparisons

=item Date Parsing

=item YYYY-MM-DDThh:mm:ss

=item Week Number

=item Global Overriding

=back

=item CAVEATS

=over 4

=item Setting $ENV{TZ} in Threads on Win32

=item Use of epoch seconds

=back

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item SEE ALSO

=item BUGS

=back

=head2 Time::Seconds - a simple API to convert seconds to other date values

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item METHODS

=item AUTHOR

=item COPYRIGHT AND LICENSE

=item Bugs

=back

=head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
function

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTE

=item AUTHOR

=back

=head2 Time::localtime - by-name interface to Perl's built-in localtime()
function

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTE

=item AUTHOR

=back

=head2 Time::tm - internal object used by Time::gmtime and Time::localtime

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item AUTHOR

=back

=head2 UNIVERSAL - base class for ALL classes (blessed references)

=over 4

=item SYNOPSIS

=item DESCRIPTION

C<< $obj->isa( TYPE ) >>, C<< CLASS->isa( TYPE ) >>, C<< eval { VAL->isa(
TYPE ) } >>, C<TYPE>, C<$obj>, C<CLASS>, C<VAL>, C<< $obj->DOES( ROLE ) >>,
C<< CLASS->DOES( ROLE ) >>, C<< $obj->can( METHOD ) >>, C<< CLASS->can(
METHOD ) >>, C<< eval { VAL->can( METHOD ) } >>, C<VERSION ( [ REQUIRE ] )>

=item WARNINGS

=item EXPORTS

=back

=head2 Unicode::Collate - Unicode Collation Algorithm

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item 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

=item Methods for Collation

C<@sorted = $Collator-E<gt>sort(@not_sorted)>, C<$result =
$Collator-E<gt>cmp($a, $b)>, C<$result = $Collator-E<gt>eq($a, $b)>,
C<$result = $Collator-E<gt>ne($a, $b)>, C<$result = $Collator-E<gt>lt($a,
$b)>, C<$result = $Collator-E<gt>le($a, $b)>, C<$result =
$Collator-E<gt>gt($a, $b)>, C<$result = $Collator-E<gt>ge($a, $b)>,
C<$sortKey = $Collator-E<gt>getSortKey($string)>, C<$sortKeyForm =
$Collator-E<gt>viewSortKey($string)>

=item Methods for Searching

C<$position = $Collator-E<gt>index($string, $substring[, $position])>,
C<($position, $length) = $Collator-E<gt>index($string, $substring[,
$position])>, C<$match_ref = $Collator-E<gt>match($string, $substring)>,
C<($match)   = $Collator-E<gt>match($string, $substring)>, C<@match =
$Collator-E<gt>gmatch($string, $substring)>, C<$count =
$Collator-E<gt>subst($string, $substring, $replacement)>, C<$count =
$Collator-E<gt>gsubst($string, $substring, $replacement)>

=item Other Methods

C<%old_tailoring = $Collator-E<gt>change(%new_tailoring)>,
C<$modified_collator = $Collator-E<gt>change(%new_tailoring)>, C<$version =
$Collator-E<gt>version()>, C<UCA_Version()>, C<Base_Unicode_Version()>

=back

=item EXPORT

=item INSTALL

=item CAVEATS

Normalization, Conformance Test

=item AUTHOR, COPYRIGHT AND LICENSE

=item 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

=back

=head2 Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs
for Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>

=back

=head2 Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs
for Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>

=back

=head2 Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for
Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

L<Unicode::Collate>, L<Unicode::Collate::Locale>

=back

=head2 Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs
for Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>

=back

=head2 Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs
for Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>

=back

=head2 Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs
for Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>

=back

=head2 Unicode::Collate::CJK::Zhuyin - weighting CJK Unified Ideographs
for Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item CAVEAT

=item SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>

=back

=head2 Unicode::Collate::Locale - Linguistic tailoring for DUCET via
Unicode::Collate

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Constructor

=item Methods

C<$Collator-E<gt>getlocale>, C<$Collator-E<gt>locale_version>

=item A list of tailorable locales

=item A list of variant codes and their aliases

=back

=item INSTALL

=item CAVEAT

Tailoring is not maximum, Collation reordering is not supported

=over 4

=item Reference

=back

=item AUTHOR

=item 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, L<Unicode::Collate>,
L<Unicode::Normalize>

=back

=head2 Unicode::Normalize - Unicode Normalization Forms

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Normalization Forms

C<$NFD_string = NFD($string)>, C<$NFC_string = NFC($string)>,
C<$NFKD_string = NFKD($string)>, C<$NFKC_string = NFKC($string)>,
C<$FCD_string = FCD($string)>, C<$FCC_string = FCC($string)>,
C<$normalized_string = normalize($form_name, $string)>

=item Decomposition and Composition

C<$decomposed_string = decompose($string [, $useCompatMapping])>,
C<$reordered_string = reorder($string)>, C<$composed_string =
compose($string)>, C<($processed, $unprocessed) =
splitOnLastStarter($normalized)>, C<$processed = normalize_partial($form,
$unprocessed)>, C<$processed = NFD_partial($unprocessed)>, C<$processed =
NFC_partial($unprocessed)>, C<$processed = NFKD_partial($unprocessed)>,
C<$processed = NFKC_partial($unprocessed)>

=item Quick Check

C<$result = checkNFD($string)>, C<$result = checkNFC($string)>, C<$result =
checkNFKD($string)>, C<$result = checkNFKC($string)>, C<$result =
checkFCD($string)>, C<$result = checkFCC($string)>, C<$result =
check($form_name, $string)>

=item Character Data

C<$canonical_decomposition = getCanon($code_point)>,
C<$compatibility_decomposition = getCompat($code_point)>,
C<$code_point_composite = getComposite($code_point_here,
$code_point_next)>, C<$combining_class = getCombinClass($code_point)>,
C<$may_be_composed_with_prev_char = isComp2nd($code_point)>,
C<$is_exclusion = isExclusion($code_point)>, C<$is_singleton =
isSingleton($code_point)>, C<$is_non_starter_decomposition =
isNonStDecomp($code_point)>, C<$is_Full_Composition_Exclusion =
isComp_Ex($code_point)>, C<$NFD_is_NO = isNFD_NO($code_point)>,
C<$NFC_is_NO = isNFC_NO($code_point)>, C<$NFC_is_MAYBE =
isNFC_MAYBE($code_point)>, C<$NFKD_is_NO = isNFKD_NO($code_point)>,
C<$NFKC_is_NO = isNFKC_NO($code_point)>, C<$NFKC_is_MAYBE =
isNFKC_MAYBE($code_point)>

=back

=item EXPORT

=item CAVEATS

Perl's version vs. Unicode version, Correction of decomposition mapping,
Revised definition of canonical composition

=item AUTHOR

=item LICENSE

=item SEE ALSO

L<http://www.unicode.org/reports/tr15/>,
L<http://www.unicode.org/Public/UNIDATA/CompositionExclusions.txt>,
L<http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt>,
L<http://www.unicode.org/Public/UNIDATA/NormalizationCorrections.txt>,
L<http://www.unicode.org/review/pr-29.html>,
L<http://www.unicode.org/notes/tn5/>

=back

=head2 Unicode::UCD - Unicode character database

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item code point argument

=back

=back

=over 4

=item B<charinfo()>

B<code>, B<name>, B<category>, B<combining>, B<bidi>, B<decomposition>,
B<decimal>, B<digit>, B<numeric>, B<mirrored>, B<unicode10>, B<comment>,
B<upper>, B<lower>, B<title>, B<block>, B<script>

=back

=over 4

=item B<charprop()>

Block, Decomposition_Mapping, Name_Alias, Numeric_Value, Script_Extensions

=back

=over 4

=item B<charprops_all()>

=back

=over 4

=item B<charblock()>

=back

=over 4

=item B<charscript()>

=back

=over 4

=item B<charblocks()>

=back

=over 4

=item B<charscripts()>

=back

=over 4

=item B<charinrange()>

=back

=over 4

=item B<general_categories()>

=back

=over 4

=item B<bidi_types()>

=back

=over 4

=item B<compexcl()>

=back

=over 4

=item B<casefold()>

B<code>, B<full>, B<simple>, B<mapping>, B<status>, Z<>B<*> If you use this
C<I> mapping, Z<>B<*> If you exclude this C<I> mapping, B<turkic>

=back

=over 4

=item B<all_casefolds()>

=back

=over 4

=item B<casespec()>

B<code>, B<lower>, B<title>, B<upper>, B<condition>

=back

=over 4

=item B<namedseq()>

=back

=over 4

=item B<num()>

=back

=over 4

=item B<prop_aliases()>

=back

=over 4

=item B<prop_values()>

=back

=over 4

=item B<prop_value_aliases()>

=back

=over 4

=item B<prop_invlist()>

=back

=over 4

=item B<prop_invmap()>

B<C<s>>, B<C<sl>>, C<correction>, C<control>, C<alternate>, C<figment>,
C<abbreviation>, B<C<a>>, B<C<al>>, B<C<ae>>, B<C<ale>>, B<C<ar>>, B<C<n>>,
B<C<ad>>

=back

=over 4

=item B<search_invlist()>

=back

=over 4

=item Unicode::UCD::UnicodeVersion

=back

=over 4

=item B<Blocks versus Scripts>

=item B<Matching Scripts and Blocks>

=item Old-style versus new-style block names

=item Use with older Unicode versions

=back

=over 4

=item AUTHOR

=back

=head2 User::grent - by-name interface to Perl's built-in getgr*()
functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=item NOTE

=item AUTHOR

=back

=head2 User::pwent - by-name interface to Perl's built-in getpw*()
functions

=over 4

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item System Specifics

=back

=item NOTE

=item AUTHOR

=item HISTORY

March 18th, 2000

=back

=head2 XSLoader - Dynamically load C libraries into Perl code

=over 4

=item VERSION

=item SYNOPSIS

=item DESCRIPTION

=over 4

=item Migration from C<DynaLoader>

=item Backward compatible boilerplate

=back

=item Order of initialization: early load()

=over 4

=item The most hairy case

=back

=item DIAGNOSTICS

C<Can't find '%s' symbol in %s>, C<Can't load '%s' for module %s: %s>,
C<Undefined symbols present after loading %s: %s>

=item LIMITATIONS

=item KNOWN BUGS

=item BUGS

=item SEE ALSO

=item AUTHORS

=item COPYRIGHT & LICENSE

=back

=head1 AUXILIARY DOCUMENTATION

Here should be listed all the extra programs' documentation, but they
don't all have manual pages yet:

=over 4

=item h2ph

=item h2xs

=item perlbug

=item pl2pm

=item pod2html

=item pod2man

=item splain

=item xsubpp

=back

=head1 AUTHOR

Larry Wall <F<larry@wall.org>>, with the help of oodles
of other folks.

