PERLTOC(1)

NAME
perltoc - perl documentation table of contents

DESCRIPTION
This page provides a brief table of contents for the rest of the Perl documentation set. It is meant to be scanned quickly or grepped through to locate the proper section you're looking for.

BASIC DOCUMENTATION

  perl - The Perl 5 language interpreter

SYNOPSIS
GETTING HELP
    Overview
    Tutorials
    Reference Manual
    Internals and C Language Interface
    History
    Miscellaneous
    Language-Specific
    Platform-Specific
    Stubs for Deleted Documents

DESCRIPTION
AVAILABILITY
ENVIRONMENT
AUTHOR
FILES
SEE ALSO
    <https://www.perl.org/>, <https://www.perl.com/>, <https://www.cpan.org/>, <https://www.pm.org/>

DIAGNOSTICS
BUGS
NOTES

  perlintro - a brief introduction and overview of Perl

DESCRIPTION
    What is Perl?
    Running Perl programs
    Safety net
    Basic syntax overview
    Perl variable types
        Scalars, Arrays, Hashes

    Variable scoping
    Conditional and looping constructs
        if, while, for, foreach

    Builtin operators and functions
        Arithmetic, Numeric comparison, String comparison, Boolean logic, Miscellaneous

    Files and I/O
    Regular expressions
        Simple matching, Simple substitution, More complex regular expressions, Parentheses for capturing, Other regexp features

    Writing subroutines
    OO Perl
    Using Perl modules

AUTHOR

  perlrun - how to execute the Perl interpreter

SYNOPSIS
DESCRIPTION
    #! and quoting on non-Unix systems
        OS/2, MS-DOS, Win95/NT, VMS

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

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

ORDER OF APPLICATION
    -I, -M, the PERL5LIB environment variable, combinations of -I, -M and PERL5LIB, the PERL5OPT environment variable, Other complications, arch and version subdirs, sitecustomize.pl

  perlreftut - Mark's very short tutorial about references

DESCRIPTION
Who Needs Complicated Data Structures?
The Solution
Syntax
    Making References
    Using References
    An Example
    Arrow Rule

Solution
The Rest
Summary
Credits
    Distribution Conditions

  perldsc - Perl Data Structures Cookbook

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

REFERENCES
COMMON MISTAKES
CAVEAT ON PRECEDENCE
WHY YOU SHOULD ALWAYS "use VERSION"
DEBUGGING
CODE EXAMPLES
ARRAYS OF ARRAYS
    Declaration of an ARRAY OF ARRAYS
    Generation of an ARRAY OF ARRAYS
    Access and Printing of an ARRAY OF ARRAYS

HASHES OF ARRAYS
    Declaration of a HASH OF ARRAYS
    Generation of a HASH OF ARRAYS
    Access and Printing of a HASH OF ARRAYS

ARRAYS OF HASHES
    Declaration of an ARRAY OF HASHES
    Generation of an ARRAY OF HASHES
    Access and Printing of an ARRAY OF HASHES

HASHES OF HASHES
    Declaration of a HASH OF HASHES
    Generation of a HASH OF HASHES
    Access and Printing of a HASH OF HASHES

MORE ELABORATE RECORDS
    Declaration of MORE ELABORATE RECORDS
    Declaration of a HASH OF COMPLEX RECORDS
    Generation of a HASH OF COMPLEX RECORDS

Database Ties
SEE ALSO
AUTHOR

  perllol - Manipulating Arrays of Arrays in Perl

DESCRIPTION
    Declaration and Access of Arrays of Arrays
    Growing Your Own
    Access and Printing
    Slices

SEE ALSO
AUTHOR

  perlrequick - Perl regular expressions quick start

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

BUGS
SEE ALSO
AUTHOR AND COPYRIGHT
    Acknowledgments

  perlretut - Perl regular expressions tutorial

DESCRIPTION
Part 1: The basics
    Simple word matching
    Using character classes
    Matching this or that
    Grouping things and hierarchical matching
    Extracting matches
    Backreferences
    Relative backreferences
    Named backreferences
    Alternative capture group numbering
    Position information
    Non-capturing groupings
    Matching repetitions
    Possessive quantifiers
    Building a regexp
    Using regular expressions in Perl

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

SEE ALSO
AUTHOR AND COPYRIGHT
    Acknowledgments

  perlootut - Object-Oriented Programming in Perl Tutorial

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

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

    Class::Accessor
    Class::Tiny
    Role::Tiny
    OO System Summary
        Moose, Class::Accessor, Class::Tiny, Role::Tiny

    Other OO Systems

CONCLUSION

  perlopentut - simple recipes for opening files and pipes in Perl

DESCRIPTION
    OK, HANDLE, MODE, PATHNAME

Opening Text Files
    Opening Text Files for Reading
    Opening Text Files for Writing

Opening Binary Files
Opening Pipes
    Opening a pipe for reading
    Opening a pipe for writing
    Expressing the command as a list

SEE ALSO
AUTHOR and COPYRIGHT

  perlpacktut - tutorial on "pack" and "unpack"

DESCRIPTION
The Basic Principle
Packing Text
Packing Numbers
    Integers
    Unpacking a Stack Frame
    How to Eat an Egg on a Net
    Byte-order modifiers
    Floating point Numbers

Exotic Templates
    Bit Strings
    Uuencoding
    Doing Sums
    Unicode
    Another Portable Binary Encoding

Template Grouping
Lengths and Widths
    String Lengths
    Dynamic Templates
    Counting Repetitions
    Intel HEX

Packing and Unpacking C Structures
    The Alignment Pit
    Dealing with Endian-ness
    Alignment, Take 2
    Alignment, Take 3
    Pointers for How to Use Them

Pack Recipes
Funnies Section
Authors

  perldebtut - Perl debugging tutorial

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

  perlcheat - Perl 5 Cheat Sheet

DESCRIPTION
    The sheet

ACKNOWLEDGEMENTS
AUTHOR
SEE ALSO

  perlperf - Perl Performance and Optimization Techniques

DESCRIPTION
OVERVIEW
    ONE STEP SIDEWAYS
    ONE STEP FORWARD
    ANOTHER STEP SIDEWAYS

GENERAL GUIDELINES
BENCHMARKS
    Assigning and Dereferencing Variables
    Search and replace or tr

PROFILING TOOLS
    Devel::DProf
    Devel::Profiler
    Devel::SmallProf
    Devel::FastProf
    Devel::NYTProf

SORTING
    Elapsed Real Time, User CPU Time, System CPU Time

LOGGING
    Logging if DEBUG (constant)

POSTSCRIPT
SEE ALSO
    PERLDOCS
    MAN PAGES
    MODULES
    URLS

AUTHOR

  perlstyle - Perl style guide

DESCRIPTION

  perltrap - Perl traps for the unwary

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

  perlfaq - Frequently asked questions about Perl

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

TABLE OF CONTENTS
    perlfaq1 - General Questions About Perl, perlfaq2 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System Interaction, perlfaq9 - Web, Email and Networking

THE QUESTIONS
    perlfaq1: General Questions About Perl
    perlfaq2: Obtaining and Learning about Perl
    perlfaq3: Programming Tools
    perlfaq4: Data Manipulation
    perlfaq5: Files and Formats
    perlfaq6: Regular Expressions
    perlfaq7: General Perl Language Issues
    perlfaq8: System Interaction
    perlfaq9: Web, Email and Networking

CREDITS
AUTHOR AND COPYRIGHT

  perlfaq1 - General Questions About Perl

VERSION
DESCRIPTION
    What is Perl?
    Who supports Perl? Who develops it? Why is it free?
    Which version of Perl should I use?
    What is Raku (Perl 6)?
    How stable is Perl?
    How often are new versions of Perl released?
    Is Perl difficult to learn?
    How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
    Can I do [task] in Perl?
    When shouldn't I program in Perl?
    What's the difference between "perl" and "Perl"?
    What is a JAPH?
    How can I convince others to use Perl?
        <http://www.perl.org/about.html>, <http://perltraining.com.au/whyperl.html>

AUTHOR AND COPYRIGHT

  perlfaq2 - Obtaining and Learning about Perl

VERSION
DESCRIPTION
    What machines support Perl? Where do I get it?
    How can I get a binary version of Perl?
    I don't have a C compiler. How can I build my own Perl interpreter?
    I copied the Perl binary from one machine to another, but scripts don't work.
    I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
    What modules and extensions are available for Perl? What is CPAN?
    Where can I get information on Perl?
        <http://www.perl.org/>, <http://perldoc.perl.org/>, <http://learn.perl.org/>

    What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
        <http://www.perl.org/>, <http://learn.perl.org/>, <http://jobs.perl.org/>, <http://lists.perl.org/>

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

AUTHOR AND COPYRIGHT

  perlfaq3 - Programming Tools

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

    How can I use Perl interactively?
    How do I find which modules are installed on my system?
    How do I debug my Perl programs?
    How do I profile my Perl programs?
    How do I cross-reference my Perl programs?
    Is there a pretty-printer (formatter) for Perl?
    Is there an IDE or Windows Perl Editor?
        Eclipse, EngInSite, IntelliJ IDEA, Kephra, Komodo, Notepad++, Open Perl IDE, OptiPerl, Padre, PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Vim, Vile, MultiEdit, SlickEdit, ConTEXT, bash, zsh, BBEdit and TextWrangler

    Where can I get Perl macros for vi?
    Where can I get perl-mode or cperl-mode for emacs?
    How can I use curses with Perl?
    How can I write a GUI (X, Tk, Gtk, etc.) in Perl?
        Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena

    How can I make my Perl program run faster?
    How can I make my Perl program take less memory?
        Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk

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

AUTHOR AND COPYRIGHT

  perlfaq4 - Data Manipulation

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

    Why doesn't & work the way I want it to?
    How do I multiply matrices?
    How do I perform an operation on a series of integers?
    How can I output Roman numerals?
    Why aren't my random numbers random?
    How do I get a random number between X and Y?

Data: Dates
    How do I find the day or week of the year?
    How do I find the current century or millennium?
    How can I compare two dates and find the difference?
    How can I take a string and turn it into epoch seconds?
    How can I find the Julian Day?
    How do I find yesterday's date?
    Does Perl have a Year 2000 or 2038 problem? Is Perl Y2K compliant?

Data: Strings
    How do I validate input?
    How do I unescape a string?
    How do I remove consecutive pairs of characters?
    How do I expand function calls in a string?
    How do I find matching/nesting anything?
    How do I reverse a string?
    How do I expand tabs in a string?
    How do I reformat a paragraph?
    How can I access or change N characters of a string?
    How do I change the Nth occurrence of something?
    How can I count the number of occurrences of a substring within a string?
    How do I capitalize all the words on one line?
    How can I split a [character]-delimited string except when inside [character]?
    How do I strip blank space from the beginning/end of a string?
    How do I pad a string with blanks or pad a number with zeroes?
    How do I extract selected columns from a string?
    How do I find the soundex value of a string?
    How can I expand variables in text strings?
    Does Perl have anything like Ruby's #{} or Python's f string?
    What's wrong with always quoting "$vars"?
    Why don't my <<HERE documents work?
        There must be no space after the << part, There (probably) should be a semicolon at the end of the opening token, You can't (easily) have any space in front of the tag, There needs to be at least a line separator after the end token

Data: Arrays
    What is the difference between a list and an array?
    What is the difference between $array[1] and @array[1]?
    How can I remove duplicate elements from a list or array?
    How can I tell whether a certain element is contained in a list or array?
    How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
    How do I test whether two arrays or hashes are equal?
    How do I find the first array element for which a condition is true?
    How do I handle linked lists?
    How do I handle circular lists?
    How do I shuffle an array randomly?
    How do I process/modify each element of an array?
    How do I select a random element from an array?
    How do I permute N elements of a list?
    How do I sort an array by (anything)?
    How do I manipulate arrays of bits?
    Why does defined() return true on empty arrays and hashes?

Data: Hashes (Associative Arrays)
    How do I process an entire hash?
    How do I merge two hashes?
    What happens if I add or remove keys from a hash while iterating over it?
    How do I look up a hash element by value?
    How can I know how many entries are in a hash?
    How do I sort a hash (optionally by value instead of key)?
    How can I always keep my hash sorted?
    What's the difference between "delete" and "undef" with hashes?
    Why don't my tied hashes make the defined/exists distinction?
    How do I reset an each() operation part-way through?
    How can I get the unique keys from two hashes?
    How can I store a multidimensional array in a DBM file?
    How can I make my hash remember the order I put elements into it?
    Why does passing a subroutine an undefined element in a hash create it?
    How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
    How can I use a reference as a hash key?
    How can I check if a key exists in a multilevel hash?
    How can I prevent addition of unwanted keys into a hash?

Data: Misc
    How do I handle binary data correctly?
    How do I determine whether a scalar is a number/whole/integer/float?
    How do I keep persistent data across program calls?
    How do I print out or copy a recursive data structure?
    How do I define methods for every class/object?
    How do I verify a credit card checksum?
    How do I pack arrays of doubles or floats for XS code?

AUTHOR AND COPYRIGHT

  perlfaq5 - Files and Formats

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

AUTHOR AND COPYRIGHT

  perlfaq6 - Regular Expressions

VERSION
DESCRIPTION
    How can I hope to use regular expressions without creating illegible and unmaintainable code?
        Comments Outside the Regex, Comments Inside the Regex, Different Delimiters

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

AUTHOR AND COPYRIGHT

  perlfaq7 - General Perl Language Issues

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

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

AUTHOR AND COPYRIGHT

  perlfaq8 - System Interaction

VERSION
DESCRIPTION
    How do I find out which operating system I'm running under?
    Why does exec() not return?
    How do I do fancy stuff with the keyboard/screen/mouse?
        Keyboard, Screen, Mouse

    How do I print something out in color?
    How do I read just one key without waiting for a return key?
    How do I check whether input is ready on the keyboard?
    How do I clear the screen?
    How do I get the screen size?
    How do I ask the user for a password?
    How do I read and write the serial port?
        lockfiles, open mode, end of line, flushing output, non-blocking input

    How do I decode encrypted password files?
    How do I start a process in the background?
        STDIN, STDOUT, and STDERR are shared, Signals, Zombies

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

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

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

AUTHOR AND COPYRIGHT

  perlfaq9 - Web, Email and Networking

VERSION
DESCRIPTION
    Should I use a web framework?
    Which web framework should I use?
        Catalyst, Dancer2, Mojolicious, Web::Simple

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

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

AUTHOR AND COPYRIGHT

  perlsyn - Perl syntax: declarations, statements, comments

DESCRIPTION
    Declarations
    Comments
    Simple Statements
    Statement Modifiers
    Compound Statements
    Loop Control
    For Loops
    Foreach Loops
    Try Catch Exception Handling
    Basic BLOCKs
    defer blocks
    Switch Statements
    Goto
    The Ellipsis Statement
    PODs: Embedded Documentation
    Plain Old Comments (Not!)
    Experimental Details on given and when
        1, 2, 3, 4, 5, 6, 7, 8, 9, 10

  perldata - Perl data types

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

SEE ALSO

  perlop - Perl expressions: operators, precedence, string literals

DESCRIPTION
    Operator Precedence and Associativity
    Terms and List Operators (Leftward)
    The Arrow Operator
    Auto-increment and Auto-decrement
    Exponentiation
    Symbolic Unary Operators
    Binding Operators
    Multiplicative Operators
    Additive Operators
    Shift Operators
    Named Unary Operators
    Class Instance Operator
    Relational Operators
    Equality Operators
        1. Empty hashes or arrays match, 2. That is, each element smartmatches the element of the same index in the other array.[3], 3. If a circular reference is found, fall back to referential equality, 4. Either an actual number, or a string that looks like one

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

    Quote and Quote-like Operators
        [1], [2], [3], [4], [5], [6], [7], [8], "q/STRING/" , 'STRING', "qq/STRING/"
         , "STRING", "qx/STRING/" , `STRING`, "qw/STRING/" , "qr/STRING/msixpodualn" , "m/PATTERN/msixpodualngc"

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

                , "tr/SEARCHLIST/REPLACEMENTLIST/cdsr"
          , "y/SEARCHLIST/REPLACEMENTLIST/cdsr", "<<EOT", "<<~EOT", Double Quotes, Single Quotes, Backticks, Finding the end, Interpolation , "<<'EOF'", "m''", the pattern of "s'''", '', "q//", "tr'''", "y'''", the replacement of "s'''", "tr///", "y///", "", ``, "qq//", "qx//", "<file*glob>", "<<"EOF"", The replacement of "s///", "RE" in "m?RE?", "/RE/", "m/RE/", "s/RE/foo/",, Parsing regular expressions , Optimization of regular expressions

    I/O Operators
    Constant Folding
    No-ops
    Bitwise String Operators
    Integer Arithmetic
    Floating-point Arithmetic
    Bigger Numbers
    C-style Logical Or
    C-style Logical Xor
    Logical Defined-Or
    Quote-Like Operators
    Indented Here-docs

APPENDIX
    List of Extra Paired Delimiters

  perlsub - Perl subroutines (user-defined functions)

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

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

SEE ALSO

  perlfunc - Perl builtin functions

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

    Portability
    Alphabetical Listing of Perl Functions
        -X FILEHANDLE , -X EXPR, -X DIRHANDLE, -X, abs VALUE , abs, accept NEWSOCKET,GENERICSOCKET , alarm SECONDS , alarm, all BLOCK LIST, any BLOCK LIST, atan2 Y,X
          , bind SOCKET,NAME , binmode FILEHANDLE, LAYER , binmode FILEHANDLE, bless REF,CLASSNAME , bless REF, Bless the referred-to item into a specific package (recommended form):, Bless the referred-to item into package "main":, Bless the referred-to item into the current package (not inheritable):, break, caller EXPR
         , caller, chdir EXPR , chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST
         , chomp VARIABLE
          , chomp( LIST ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST , chr NUMBER
           , chr, chroot FILENAME , chroot, class NAMESPACE, class NAMESPACE VERSION, class NAMESPACE BLOCK, class NAMESPACE VERSION BLOCK, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR , cos, crypt PLAINTEXT,SALT
             , dbmclose HASH , dbmopen HASH,DBNAME,MASK
          , defined EXPR , defined, delete EXPR , die LIST
          , do BLOCK , do EXPR , dump LABEL
          , dump EXPR, dump, each HASH , each ARRAY , eof FILEHANDLE , eof (), eof, eval EXPR
            , eval BLOCK, eval, String eval, Under the "unicode_eval" feature, Outside the "unicode_eval" feature, If upgraded, $v will be "\xc4\x80" (i.e., the "use utf8" has no effect.), If non-upgraded, $v will be "\x{100}", Block eval, evalbytes EXPR , evalbytes, exec LIST
         , exec PROGRAM LIST, exists EXPR , exit EXPR , exit, exp EXPR , exp, fc EXPR
            , fc, fcntl FILEHANDLE,FUNCTION,SCALAR , __FILE__ , field VARNAME , fileno FILEHANDLE , fileno DIRHANDLE, flock FILEHANDLE,OPERATION , fork , format , formline PICTURE,LIST , getc FILEHANDLE , getc, getlogin
         , getpeername SOCKET , getpgrp PID , getppid , getpriority WHICH,WHO , getpwnam NAME

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

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

  perlpod - the Plain Old Documentation format

DESCRIPTION
    Ordinary Paragraph
    Verbatim Paragraph
    Command Paragraph
        "=head1 Heading Text"
              , "=head2 Heading Text", "=head3 Heading Text", "=head4 Heading Text", "=head5 Heading Text", "=head6 Heading Text", "=over indentlevel" , "=item stuff...", "=back", "=cut" , "=pod" , "=begin formatname" , "=end formatname", "=for formatname text...", "=encoding encodingname"

    Formatting Codes
        "I<text>" -- italic text , "B<text>" -- bold text
         , "U<text>" -- underline text, "C<code>" -- code text , "L<name>" -- a hyperlink
         , "E<escape>" -- a character escape , "F<filename>" -- used for filenames
         , "S<text>" -- text contains non-breaking spaces , "X<topic name>" -- an index entry , "Z<>" -- a null (zero-effect) formatting code

    The Intent
    Embedding Pods in Perl Modules
    Hints for Writing Pod

SEE ALSO
AUTHOR

  perlpodspec - Plain Old Documentation: format specification and notes

DESCRIPTION
Pod Definitions
Pod Commands
    "=head1", "=head2", "=head3", "=head4", "=head5", "=head6", "=pod", "=cut", "=over", "=item", "=back", "=begin formatname", "=begin formatname parameter", "=end formatname", "=for formatname text...", "=encoding encodingname"

Pod Formatting Codes
    "I<text>" -- italic text, "B<text>" -- bold text, "U<text>" -- underline text, "C<code>" -- code text, "F<filename>" -- style for filenames, "X<topic name>" -- an index entry, "Z<>" -- a null (zero-effect) formatting code, "L<name>" -- a hyperlink, "E<escape>" -- a character escape, "S<text>" -- text contains non-breaking spaces

Notes on Implementing Pod Processors
About L<...> Codes
    First:, Second:, Third:, Fourth:, Fifth:, Sixth:

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

  perldocstyle - A style guide for writing Perl's documentation

DESCRIPTION
    Purpose of this guide
    Intended audience
    Status of this document

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

FORMATTING AND STRUCTURE
    Document structure
    Formatting rules
    Adding comments
    Perlfunc has special rules

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

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

SEE ALSO
AUTHOR

  perlpodstyle - Perl POD style guide

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

AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

  perldiag - various Perl diagnostics

DESCRIPTION
SEE ALSO

  perldeprecation - list Perl deprecations

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

SEE ALSO

  perllexwarn - Perl Lexical Warnings

DESCRIPTION

  perldebug - Perl debugging

DESCRIPTION
The Perl Debugger
    Calling the Debugger
        perl -d program_name, perl -d -e 0, perl -d:ptkdb program_name, perl -dt threaded_program_name

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

    Configurable Options
        "recallCommand", "ShellBang" , "pager" , "tkRunning" , "signalLevel", "warnLevel", "dieLevel"
          , "AutoTrace" , "LineInfo" , "inhibit_exit" , "PrintRet" , "ornaments" , "frame" , "maxTraceLen" , "windowSize" , "arrayDepth", "hashDepth" , "dumpDepth" , "compactDump", "veryCompact" , "globPrint" , "DumpDBFiles" , "DumpPackages" , "DumpReused" , "quote", "HighBit", "undefPrint"
         , "UsageOnly" , "HistFile" , "HistSize" , "TTY" , "noTTY" , "ReadLine" , "NonStop"

    Debugger Input/Output
        Prompt, Multiline commands, Stack backtrace , Line Listing Format, Frame listing

    Debugging Compile-Time Statements
    Debugger Customization
    Readline Support / History in the Debugger
    Editor Support for Debugging
    The Perl Profiler

Debugging Regular Expressions
Debugging Memory Usage
SEE ALSO
BUGS

  perlvar - Perl predefined variables

DESCRIPTION
    The Syntax of Variable Names

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

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

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

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

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

    Deprecated and removed variables
        $# , $* , $[ , ${^ENCODING} , ${^WIN32_SLOPPY_STAT}

  perlre - Perl regular expressions

DESCRIPTION
    The Basics
    Modifiers
        "m" , "s" , "i" , "x" and "xx" , "p" , "a", "d", "l", and "u"
          , "n" , Other Modifiers

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

    Quoting (escaping) metacharacters
    Extended Patterns
        "(?#text)" , "(?adlupimnsx-imnsx)", "(?^alupimnsx)" , "(?:pattern)" , "(?adluimnsx-imnsx:pattern)", "(?^aluimnsx:pattern)" , "(?|pattern)" , Lookaround Assertions , "(?=pattern)", "(*pla:pattern)", "(*positive_lookahead:pattern)"
          , "(?!pattern)", "(*nla:pattern)", "(*negative_lookahead:pattern)"
          , "(?<=pattern)", "\K", "(*plb:pattern)", "(*positive_lookbehind:pattern)"

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

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

    Backtracking
    Script Runs
    Special Backtracking Control Verbs
        Verbs, "(*PRUNE)" "(*PRUNE:NAME)" , "(*SKIP)" "(*SKIP:NAME)" , "(*MARK:NAME)" "(*:NAME)"
          , "(*THEN)" "(*THEN:NAME)", "(*COMMIT)" "(*COMMIT:arg)" , "(*FAIL)" "(*F)" "(*FAIL:arg)" , "(*ACCEPT)" "(*ACCEPT:arg)"

    Warning on "\1" Instead of $1
    Repeated Patterns Matching a Zero-length Substring
    Combining RE Pieces
        "ST", "S|T", "S{REPEAT_COUNT}", "S{min,max}", "S{min,max}?", "S?", "S*", "S+", "S??", "S*?", "S+?", "(?>S)", "(?=S)", "(?<=S)", "(?!S)", "(?<!S)", "(??{ EXPR })", "(?PARNO)", "(?(condition)yes-pattern|no-pattern)"

    Creating Custom RE Engines
    Embedded Code Execution Frequency
    PCRE/Python Support
        "(?P<NAME>pattern)", "(?P=NAME)", "(?P>NAME)"

    Quoting metacharacters

BUGS
SEE ALSO

  perlrebackslash - Perl Regular Expression Backslash Sequences and Escapes

DESCRIPTION
    The backslash
    All the sequences and escapes
    Character Escapes
        [1], [2]

    Modifiers
    Character classes
    Referencing
    Assertions
        \A, \z, \Z, \G, \b{}, \b, \B{}, \B, "\b{gcb}" or "\b{g}", "\b{lb}", "\b{sb}", "\b{wb}"

    Misc
        \K, \N, \R , \X

  perlrecharclass - Perl Regular Expression Character Classes

DESCRIPTION
    The dot
    Backslash sequences
        If the "/a" modifier is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., if, instead, Unicode rules are in effect .., otherwise .., If the "/a" modifier is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., if, instead, Unicode rules are in effect .., otherwise .., [1], [2]

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

  perlreref - Perl Regular Expressions Reference

DESCRIPTION
    OPERATORS
    SYNTAX
    ESCAPE SEQUENCES
    CHARACTER CLASSES
    ANCHORS
    QUANTIFIERS
    EXTENDED CONSTRUCTS
    VARIABLES
    FUNCTIONS
    TERMINOLOGY

AUTHOR
SEE ALSO
THANKS

  perlref - Perl references and nested data structures

NOTE
DESCRIPTION
    Making References
    Using References
    Circular References
    Symbolic references
    Not-so-symbolic references
    Pseudo-hashes: Using an array as a hash
    Function Templates
    Postfix Dereference Syntax
    Postfix Reference Slicing
    Assigning to References
    Declaring a Reference to a Variable

WARNING: Don't use references as hash keys
SEE ALSO

  perlform - Perl formats

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

NOTES
    Footers
    Accessing Formatting Internals

WARNINGS

  perlobj - Perl object reference

DESCRIPTION
    An Object is Simply a Data Structure
    A Class is Simply a Package
    A Method is Simply a Subroutine
    Method Invocation
    Inheritance
    Writing Constructors
    Attributes
    An Aside About Smarter and Safer Code
    Method Call Variations
    Invoking Class Methods
    "bless", "blessed", and "ref"
    The UNIVERSAL Class
        isa($class) , DOES($role) , can($method) , VERSION($need)

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

SEE ALSO

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

SYNOPSIS
DESCRIPTION
    Tying Scalars
        TIESCALAR classname, LIST , FETCH this , STORE this, value , UNTIE this , DESTROY this

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

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

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

    UNTIE this
    The "untie" Gotcha

SEE ALSO
BUGS
AUTHOR

  perldbmfilter - Perl DBM Filters

SYNOPSIS
DESCRIPTION
    filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

    The Filter
    An Example: the NULL termination problem
    Another Example: Key is a C int

SEE ALSO
AUTHOR

  perlclass - Perl class syntax reference

SYNOPSIS
DESCRIPTION
    History

KEYWORDS
    class
    field
    method

ATTRIBUTES
    Class attributes
    Field attributes
    Method attributes

OBJECT LIFECYCLE
    Construction
    Adjustment
    Lifetime
    Destruction

TODO
    Roles, Parameters to ADJUST blocks, ADJUST blocks as true blocks, Metaprogramming, Extension Customisation

KNOWN BUGS
    Declaring fields after declaring a nested subclass corrupts the object storage. [GH #24393 <https://github.com/Perl/perl5/issues/24393>]

AUTHORS

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

DESCRIPTION
Signals
    Handling the SIGHUP Signal in Daemons
    Deferred Signals (Safe Signals)
        Long-running opcodes, Interrupting IO, Restartable system calls, Signals as "faults", Signals triggered by operating system state

Named Pipes
Using open() for IPC
    Filehandles
    Background Processes
    Complete Dissociation of Child from Parent
    Safe Pipe Opens
    Avoiding Pipe Deadlocks
    Bidirectional Communication with Another Process
    Bidirectional Communication with Yourself

Sockets: Client/Server Communication
    Internet Line Terminators
    Internet TCP Clients and Servers
    Unix-Domain TCP Clients and Servers

TCP Clients with IO::Socket
    A Simple Client
        "Proto", "PeerAddr", "PeerPort"

    A Webget Client
    Interactive Client with IO::Socket

TCP Servers with IO::Socket
    Proto, LocalPort, Listen, Reuse

UDP: Message Passing
SysV IPC
NOTES
BUGS
AUTHOR
SEE ALSO

  perlfork - Perl's fork() emulation

SYNOPSIS
DESCRIPTION
    Behavior of other Perl features in forked pseudo-processes
        $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to files, directories and network sockets

    Resource limits
    Killing the parent process
    Lifetime of the parent process and pseudo-processes

CAVEATS AND LIMITATIONS
    BEGIN blocks, Open filehandles, Open directory handles, Forking pipe open() not yet implemented, Global state maintained by XSUBs, Interpreter embedded in larger application, Thread-safety of extensions

PORTABILITY CAVEATS
BUGS
AUTHOR
SEE ALSO

  perlnumber - semantics of numbers and numeric operations in Perl

SYNOPSIS
DESCRIPTION
Storing numbers
Numeric operators and numeric conversions
Flavors of Perl numeric operations
    Arithmetic operators, ++, Arithmetic operators during "use integer", Other mathematical operators, Bitwise operators, Bitwise operators during "use integer", Operators which expect an integer, Operators which expect a string

AUTHOR
SEE ALSO

  perlthrtut - Tutorial on threads in Perl

DESCRIPTION
What Is A Thread Anyway?
Threaded Program Models
    Boss/Worker
    Work Crew
    Pipeline

What kind of threads are Perl threads?
Thread-Safe Modules
Thread Basics
    Basic Thread Support
    A Note about the Examples
    Creating Threads
    Waiting For A Thread To Exit
    Ignoring A Thread
    Process and Thread Termination

Threads And Data
    Shared And Unshared Data
    Thread Pitfalls: Races

Synchronization and control
    Controlling access: lock()
    A Thread Pitfall: Deadlocks
    Queues: Passing Data Around
    Semaphores: Synchronizing Data Access
    Basic semaphores
    Advanced Semaphores
    Waiting for a Condition
    Giving up control

General Thread Utility Routines
    What Thread Am I In?
    Thread IDs
    Are These Threads The Same?
    What Threads Are Running?

A Complete Example
Different implementations of threads
Performance considerations
Process-scope Changes
Thread-Safety of System Libraries
Conclusion
SEE ALSO
Bibliography
    Introductory Texts
    OS-Related References
    Other References

Acknowledgements
AUTHOR
Copyrights

  perlport - Writing portable Perl

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

ISSUES
    Newlines
    Numbers endianness and Width
    Files and Filesystems
    System Interaction
    Command names versus file pathnames
    Networking
    Interprocess Communication (IPC)
    External Subroutines (XS)
    Standard Modules
    Time and Date
    Character sets and character encoding
    Internationalisation
    System Resources
    Security
    Style

CPAN Testers
PLATFORMS
    Unix
    DOS and Derivatives
    VMS
    VOS
    EBCDIC Platforms
    Acorn RISC OS
    Other perls

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

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

EOL Platforms
    (Perl 5.37.1)
        Ultrix

    (Perl 5.36)
        NetWare, DOS/DJGPP, AT&T UWIN

    (Perl 5.20)
        AT&T 3b1

    (Perl 5.14)
        Windows 95, Windows 98, Windows ME, Windows NT4

    (Perl 5.12)
        Atari MiNT, Apollo Domain/OS, Apple Mac OS 8/9, Tenon Machten

Supported Platforms (Perl 5.8)
SEE ALSO
AUTHORS / CONTRIBUTORS

  perllocale - Perl locale handling (internationalization and localization)

DESCRIPTION
WHAT IS A LOCALE
    Category "LC_NUMERIC": Numeric formatting, Category "LC_MONETARY": Formatting of monetary amounts, Category "LC_TIME": Date/Time formatting, Category "LC_COLLATE": Collation, Category "LC_CTYPE": Character Types, Category "LC_MESSAGES": Error and other messages, Category "LC_TIME": Date/Time formatting, Category "LC_ALL", Other categories

PREPARING TO USE LOCALES
USING LOCALES
    The "use locale" pragma
        Not within the scope of "use locale", Lingering effects of "use locale", Under ""use locale";"

    The setlocale function
    Multi-threaded operation
    Finding locales
    LOCALE PROBLEMS
    The localeconv function
    I18N::Langinfo

LOCALE CATEGORIES
    Category "LC_COLLATE": Collation: Text Comparisons and Sorting
    Category "LC_CTYPE": Character Types
    Category "LC_NUMERIC": Numeric Formatting
    Category "LC_MONETARY": Formatting of monetary amounts
    Category "LC_TIME": Representation of time
    Category "LC_MESSAGES": System messages
    Other categories

SECURITY
ENVIRONMENT
    PERL_SKIP_LOCALE_INIT, PERL_BADLANG, "LC_ALL", "LANGUAGE", "LC_CTYPE", "LC_COLLATE", "LC_MONETARY", "LC_NUMERIC", "LC_TIME", "LANG"

    Examples

NOTES
    String "eval" and "LC_NUMERIC"
    Backward compatibility
    I18N:Collate obsolete
    Sort speed and memory use impacts
    Freely available locale definitions
    I18n and l10n
    An imperfect standard

Unicode and UTF-8
BUGS
    Collation of strings containing embedded "NUL" characters
    "LANGUAGE"
    Embedded perls and multi-threaded
    Broken systems

SEE ALSO
HISTORY

  perluniintro - Perl Unicode introduction

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

UNICODE IN OLDER PERLS
SEE ALSO
ACKNOWLEDGMENTS
AUTHOR, COPYRIGHT, AND LICENSE

  perlunicode - Unicode support in Perl

DESCRIPTION
    Important Caveats
        Safest if you "use feature 'unicode_strings'", Input and Output Layers, You must convert your non-ASCII, non-UTF-8 Perl scripts to be UTF-8, "use utf8" still needed to enable UTF-8 in scripts, UTF-16 scripts autodetected

    Byte and Character Semantics
    ASCII Rules versus Unicode Rules
        When the string has been upgraded to UTF-8, There are additional methods for regular expression patterns

    Extended Grapheme Clusters (Logical characters)
    Unicode Character Properties
        "\p{All}", "\p{Alnum}", "\p{Any}", "\p{ASCII}", "\p{Assigned}", "\p{Blank}", "\p{Decomposition_Type: Non_Canonical}" (Short: "\p{Dt=NonCanon}"), "\p{Graph}", "\p{HorizSpace}", "\p{In=*}", "\p{PerlSpace}", "\p{PerlWord}", "\p{Posix...}", "\p{Present_In: *}" (Short: "\p{In=*}"), "\p{Print}", "\p{SpacePerl}", "\p{Title}" and "\p{Titlecase}", "\p{Unicode}", "\p{VertSpace}", "\p{Word}", "\p{XPosix...}"

    Comparison of "\N{...}" and "\p{name=...}"
        [1], [2], [3], [4], [5]

    Wildcards in Property Values
    User-Defined Character Properties
    User-Defined Case Mappings (for serious hackers only)
    Character Encodings for Input and Output
    Unicode Regular Expression Support Level
        [1] "\N{U+...}" and "\x{...}", [2] "\p{...}" "\P{...}". This
        requirement is for a minimal list of properties.  Perl supports these.    See
        R2.7 for other properties, [3], [4], [5] "\b" "\B" meet most, but not all, the details of this requirement, but "\b{wb}" and "\B{wb}" do, as well as the stricter R2.3, [6], [7], [8] UTF-8/UTF-EBDDIC used in Perl allows not only "U+10000" to "U+10FFFF" but also beyond "U+10FFFF", [9] Unicode has rewritten this portion of UTS#18 to say that getting canonical equivalence (see UAX#15 "Unicode Normalization Forms" <https://www.unicode.org/reports/tr15>) is basically to be done at the programmer level. Use NFD to write both your regular expressions and text to match them against (you can use Unicode::Normalize), [10] Perl has "\X" and "\b{gcb}". Unicode has retracted their "Grapheme Cluster Mode", and recently added string properties, which Perl does not yet support, [11] see UAX#29 "Unicode Text Segmentation" <https://www.unicode.org/reports/tr29>,, [12] see "Wildcards in Property Values" in perlunicode above, [13] Perl supports all the properties in the Unicode Character Database (UCD). It does not yet support the listed properties that come from other Unicode sources, [14] The only optional property that Perl supports is Named Sequence. None of these properties are in the UCD

    Unicode Encodings
    Noncharacter code points
    Beyond Unicode code points
    Security Implications of Unicode
        Confusables, Malformed text , Illegal code points

    Regular Expressions
    Unicode in Perl on EBCDIC
    Locales
    When Unicode Does Not Happen
    The "Unicode Bug"
    Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
    Using Unicode in XS
    Hacking Perl to work on earlier Unicode versions (for very serious hackers only)
    Porting code from perl-5.6.X

BUGS
    Interaction with Extensions
    Speed

SEE ALSO

  perlunicook - cookbookish examples of handling Unicode in Perl

DESCRIPTION
EXAMPLES
    ℞ 0: Standard preamble
    ℞ 1: Generic Unicode-savvy filter
    ℞ 2: Fine-tuning Unicode warnings
    ℞ 3: Declare source in utf8 for identifiers and literals
    ℞ 4: Characters and their numbers
    ℞ 5: Unicode literals by character number
    ℞ 6: Get character name by number
    ℞ 7: Get character number by name
    ℞ 8: Unicode named characters
    ℞ 9: Unicode named sequences
    ℞ 10: Custom named characters
    ℞ 11: Names of CJK codepoints
    ℞ 12: Explicit encode/decode
    ℞ 13: Decode program arguments as utf8
    ℞ 14: Decode program arguments as locale encoding
    ℞ 15: Declare STD{IN,OUT,ERR} to be utf8
    ℞ 16: Declare STD{IN,OUT,ERR} to be in locale encoding
    ℞ 17: Make file I/O default to utf8
    ℞ 18: Make all I/O and args default to utf8
    ℞ 19: Open file with specific encoding
    ℞ 20: Unicode casing
    ℞ 21: Unicode case-insensitive comparisons
    ℞ 22: Match Unicode linebreak sequence in regex
    ℞ 23: Get character category
    ℞ 24: Disabling Unicode-awareness in builtin charclasses
    ℞ 25: Match Unicode properties in regex with \p, \P
    ℞ 26: Custom character properties
    ℞ 27: Unicode normalization
    ℞ 28: Convert non-ASCII Unicode numerics
    ℞ 29: Match Unicode grapheme cluster in regex
    ℞ 30: Extract by grapheme instead of by codepoint (regex)
    ℞ 31: Extract by grapheme instead of by codepoint (substr)
    ℞ 32: Reverse string by grapheme
    ℞ 33: String length in graphemes
    ℞ 34: Unicode column-width for printing
    ℞ 35: Unicode collation
    ℞ 36: Case- and accent-insensitive Unicode sort
    ℞ 37: Unicode locale collation
    ℞ 38: Making "cmp" work on text instead of codepoints
    ℞ 39: Case- and accent-insensitive comparisons
    ℞ 40: Case- and accent-insensitive locale comparisons
    ℞ 41: Unicode linebreaking
    ℞ 42: Unicode text in DBM hashes, the tedious way
    ℞ 43: Unicode text in DBM hashes, the easy way
    ℞ 44: PROGRAM: Demo of Unicode collation and printing

SEE ALSO
    §3.13 Default Case Algorithms, page 113; §4.2 Case, pages 120–122; Case Mappings, page 166–172, especially Caseless Matching starting on page 170, UAX #44: Unicode Character Database, UTS #18: Unicode Regular Expressions, UAX #15: Unicode Normalization Forms, UTS #10: Unicode Collation Algorithm, UAX #29: Unicode Text Segmentation, UAX #14: Unicode Line Breaking Algorithm, UAX #11: East Asian Width

AUTHOR
COPYRIGHT AND LICENCE
REVISION HISTORY

  perlunifaq - Perl Unicode FAQ

Q and A
    perlunitut isn't really a Unicode tutorial, is it?
    What character encodings does Perl support?
    Which version of perl should I use?
    What about binary data, like images?
    When should I decode or encode?
    What if I don't decode?
    What if I don't encode?
        If the string's characters are all code point 255 or lower, Perl outputs bytes that match those code points. This is what happens with encoded strings. It can also, though, happen with unencoded strings that happen to be all code point 255 or lower, Otherwise, Perl outputs the string encoded as UTF-8. This only happens with strings you neglected to encode. Since that should not happen, Perl also throws a "wide character" warning in this case

    Is there a way to automatically decode or encode?
    What if I don't know which encoding was used?
    Can I use Unicode in my Perl sources?
    Data::Dumper doesn't restore the UTF8 flag; is it broken?
    Why do regex character classes sometimes match only in the ASCII range?
    Why do some characters not uppercase or lowercase correctly?
    How can I determine if a string is a text string or a binary string?
    How do I convert from encoding FOO to encoding BAR?
    What are "decode_utf8" and "encode_utf8"?
    What is a "wide character"?

INTERNALS
    What is "the UTF8 flag"?
    What about the "use bytes" pragma?
    What about the "use encoding" pragma?
    What is the difference between ":encoding" and ":utf8"?
    What's the difference between "UTF-8" and "utf8"?
    I lost track; what encoding is the internal format really?

AUTHOR
SEE ALSO

  perluniprops - Index of Unicode Version 17.0.0 character properties in Perl

DESCRIPTION
Properties accessible through "\p{}" and "\P{}"
    Single form ("\p{name}") tighter rules:, white space adjacent to a non-word character, underscores separating digits in numbers, Compound form ("\p{name=value}" or "\p{name:value}") tighter rules:, Stabilized, Deprecated, Obsolete, Discouraged, * is a wild-card, (\d+) in the info column gives the number of Unicode code points matched by this property, D means this is deprecated, O means this is obsolete, S means this is stabilized, T means tighter (stricter) name matching applies, X means use of this form is discouraged, and may not be stable, ? means this property is considered provisional by Unicode, and may be changed or removed in some future version of the Unicode Standard

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

Properties accessible through Unicode::UCD
Properties accessible through other means
Unicode character properties that are NOT accepted by Perl
    Expands_On_NFC (XO_NFC), Expands_On_NFD (XO_NFD), Expands_On_NFKC (XO_NFKC), Expands_On_NFKD (XO_NFKD), Grapheme_Link (Gr_Link), Jamo_Short_Name (JSN), Other_Alphabetic (OAlpha), Other_Default_Ignorable_Code_Point (ODI), Other_Grapheme_Extend (OGr_Ext), Other_ID_Continue (OIDC), Other_ID_Start (OIDS), Other_Lowercase (OLower), Other_Math (OMath), Other_Uppercase (OUpper), Script=Katakana_Or_Hiragana (sc=Hrkt), Script_Extensions=Katakana_Or_Hiragana (scx=Hrkt)

Other information in the Unicode data base
    auxiliary/GraphemeBreakTest.html, auxiliary/LineBreakTest.html, auxiliary/SentenceBreakTest.html, auxiliary/WordBreakTest.html, BidiCharacterTest.txt, BidiTest.txt, CJKRadicals.txt, confusables.txt, confusablesSummary.txt, DoNotEmit.txt, intentional.txt, emoji/ReadMe.txt, ReadMe.txt, EmojiSources.txt, extracted/DName.txt, Index.txt, NamedSqProv.txt, NamesList.html, NamesList.txt, NormalizationCorrections.txt, NushuSources.txt, StandardizedVariants.html, StandardizedVariants.txt, TangutSources.txt, USourceData.txt, USourceGlyphs.pdf

SEE ALSO

  perlunitut - Perl Unicode Tutorial

DESCRIPTION
    Definitions
    Your new toolkit
    I/O flow (the actual 5 minute tutorial)

SUMMARY
Q and A (or FAQ)
ACKNOWLEDGEMENTS
AUTHOR
SEE ALSO

  perlebcdic - Considerations for running Perl on EBCDIC platforms

DESCRIPTION
COMMON CHARACTER CODE SETS
    ASCII
    ISO 8859
    EBCDIC
        0037, 1047, POSIX-BC

    Unicode code points versus EBCDIC code points
    Unicode and UTF
    Using Encode

SINGLE OCTET TABLES
    recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6

    Table in hex, sorted in 1047 order

IDENTIFYING CHARACTER CODE SETS
CONVERSIONS
    utf8::unicode_to_native() and utf8::native_to_unicode()
    tr///
    iconv
    C RTL

OPERATOR DIFFERENCES
FUNCTION DIFFERENCES
    chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()

REGULAR EXPRESSION DIFFERENCES
SOCKETS
SORTING
    Ignore ASCII vs. EBCDIC sort differences
    Use a sort helper function
    MONO CASE then sort data (for non-digits, non-underscore)
    Perform sorting on one type of platform only

TRANSFORMATION FORMATS
    URL decoding and encoding
    uu encoding and decoding
    Quoted-Printable encoding and decoding
    Caesarean ciphers

Hashing order and checksums
I18N AND L10N
MULTI-OCTET CHARACTER SETS
OS ISSUES
    OS/400
        PASE, IFS access

    OS/390, z/OS
        "sigaction", "chcp", dataset access, "iconv", locales

    POSIX-BC?

BUGS
SEE ALSO
REFERENCES
HISTORY
AUTHOR

  perlsec - Perl security

DESCRIPTION
SECURITY VULNERABILITY CONTACT INFORMATION
SECURITY MECHANISMS AND CONCERNS
    Taint mode
    Laundering and Detecting Tainted Data
    Switches On the "#!" Line
    Taint mode and @INC
    Cleaning Up Your Path
    Shebang Race Condition
    Protecting Your Programs
    Unicode
    Algorithmic Complexity Attacks
        Hash Seed Randomization, Hash Traversal Randomization, Bucket Order Perturbance, New Default Hash Function, Alternative Hash Functions

    Using Sudo

SEE ALSO

  perlsecpolicy - Perl security report handling policy

DESCRIPTION
REPORTING SECURITY ISSUES IN PERL
WHAT ARE SECURITY ISSUES
    Software covered by the Perl security team
    Bugs that may qualify as security issues in Perl
    Bugs that do not qualify as security issues in Perl
    Bugs that require special categorization

HOW WE DEAL WITH SECURITY ISSUES
    Perl's vulnerability remediation workflow
    Publicly known and zero-day security issues
    Vulnerability credit and bounties
    Embargo Period
    Example Release Process

  perlmod - Perl modules (packages and symbol tables)

DESCRIPTION
    Is this the document you were after?
        This doc, perlnewmod, perlmodstyle

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

SEE ALSO

  perlmodlib - constructing new Perl modules and finding existing ones

THE PERL MODULE LIBRARY
    Pragmatic Modules
        attributes, autodie, autodie::exception, autodie::exception::system, autodie::hints, autodie::skip, autouse, base, bigfloat, bigint, bignum, bigrat, blib, builtin, bytes, charnames, constant, deprecate, diagnostics, encoding, encoding::warnings, experimental, feature, fields, filetest, if, integer, less, lib, locale, mro, ok, open, ops, overload, overloading, parent, re, sigtrap, sort, source::encoding, stable, strict, subs, threads, threads::shared, utf8, vars, version, vmsish, warnings, warnings::register

    Standard Modules
        Amiga::ARexx, Amiga::Exec, AnyDBM_File, App::Cpan, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Deparse, B::Op_private, B::Showlex, B::Terse, B::Xref, Benchmark, 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::IP, 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, Socket, 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::Handle, 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::Refcount, 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::V1, Test2::V1::Base, Test2::V1::Handle, 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

    Extension Modules

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

NOTE

  perlmodstyle - Perl module style guide

INTRODUCTION
QUICK CHECKLIST
    Before you start
    The API
    Stability
    Documentation
    Release considerations

BEFORE YOU START WRITING A MODULE
    Has it been done before?
    Do one thing and do it well
    What's in a name?
    Get feedback before publishing

DESIGNING AND WRITING YOUR MODULE
    To OO or not to OO?
    Designing your API
        Write simple routines to do simple things, Separate functionality from output, Provide sensible shortcuts and defaults, Naming conventions, Parameter passing

    Strictness and warnings
    Backwards compatibility
    Error handling and messages

DOCUMENTING YOUR MODULE
    POD
    README, INSTALL, release notes, changelogs
        perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, perl Build test, perl Build install

RELEASE CONSIDERATIONS
    Version numbering
    Pre-requisites
    Testing
    Packaging
    Licensing

COMMON PITFALLS
    Reinventing the wheel
    Trying to do too much
    Inappropriate documentation

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

AUTHOR

  perlmodinstall - Installing CPAN Modules

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

PORTABILITY
HEY
AUTHOR
COPYRIGHT

  perlnewmod - preparing a new module for distribution

DESCRIPTION
    Warning
    What should I make into a module?
    Step-by-step: Preparing the ground
        Look around, Check it's new, Discuss the need, Choose a name, Check again

    Step-by-step: Making the module
        Start with module-starter or h2xs, Use strict and warnings, Use Carp, Use Exporter - wisely!, Use plain old documentation, Write tests, Write the README, Write Changes

    Step-by-step: Distributing your module
        Get a CPAN user ID, Make the tarball, Upload the tarball, Fix bugs!

AUTHOR
SEE ALSO

  perlpragma - how to write a user pragma

DESCRIPTION
A basic example
Key naming
Implementation details

  perlutil - utilities packaged with the Perl distribution

DESCRIPTION
LIST OF UTILITIES
    Documentation
        perldoc, pod2man, pod2text, pod2html, pod2usage, podchecker, splain, roffitall

    Converters
        pl2pm

    Administration
        libnetcfg, perlivp

    Development
        perlbug, perlthanks, h2ph, h2xs, enc2xs, xsubpp, prove, corelist

    General tools
        encguess, json_pp, piconv, ptar, ptardiff, ptargrep, shasum, streamzip, zipdetails

    Installation
        cpan, instmodsh

SEE ALSO

  perlfilter - Source Filters

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

CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE
WRITING A SOURCE FILTER IN PERL
USING CONTEXT: THE DEBUG FILTER
CONCLUSION
LIMITATIONS
THINGS TO LOOK OUT FOR
    Some Filters Clobber the "DATA" Handle

REQUIREMENTS
AUTHOR
Copyrights

  perldtrace - Perl's support for DTrace

SYNOPSIS
DESCRIPTION
HISTORY
PROBES
    sub-entry(SUBNAME, FILE, LINE, PACKAGE), sub-return(SUBNAME, FILE, LINE, PACKAGE), phase-change(NEWPHASE, OLDPHASE), op-entry(OPNAME), loading-file(FILENAME), loaded-file(FILENAME)

EXAMPLES
    Most frequently called functions, Trace function calls, Function calls during interpreter cleanup, System calls at compile time, Perl functions that execute the most opcodes

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

SEE ALSO
    Devel::DTrace::Provider

AUTHORS

  perlglossary - Perl Glossary

VERSION
DESCRIPTION
    A   accessor methods, actual arguments, address operator, algorithm, alias, alphabetic, alternatives, anonymous, application, architecture, argument, ARGV, arithmetical operator, array, array context, Artistic License, ASCII, assertion, assignment, assignment operator, associative array, associativity, asynchronous, atom, atomic operation, attribute, autogeneration, autoincrement, autoload, autosplit, autovivification, AV, awk

    B   backreference, backtracking, backward compatibility, bareword, base class, big-endian, binary, binary operator, bind, bit, bit shift, bit string, bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint, broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode

    C   C, cache, callback, call by reference, call by value, canonical, capture variables, capturing, cargo cult, case, casefolding, casemapping, character, character class, character property, circumfix operator, class, class method, client, closure, cluster, CODE, code generator, codepoint, code subpattern, collating sequence, co-maintainer, combining character, command, command buffering, command-line arguments, command name, comment, compilation unit, compile, compile phase, compiler, compile time, composer, concatenation, conditional, connection, construct, constructor, context, continuation, core dump, CPAN, C preprocessor, cracker, currently selected output channel, current package, current working directory, CV

    D   dangling statement, datagram, data structure, data type, DBM, declaration, declarator, decrement, default, defined, delimiter, dereference, derived class, descriptor, destroy, destructor, device, directive, directory, directory handle, discipline, dispatch, distribution, dual-lived, dweomer, dwimmer, dynamic scoping

    E   eclectic, element, embedding, empty subclass test, encapsulation, endian, en passant, environment, environment variable, EOF, errno, error, escape sequence, exception, exception handling, exec, executable file, execute, execute bit, exit status, exploit, export, expression, extension

    F   false, FAQ, fatal error, feeping creaturism, field, FIFO, file, file descriptor, fileglob, filehandle, filename, filesystem, file test operator, filter, first-come, flag, floating point, flush, FMTEYEWTK, foldcase, fork, formal arguments, format, freely available, freely redistributable, freeware, function, funny character

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

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

    I   identifier, impatience, implementation, import, increment, indexing, indirect filehandle, indirection, indirect object, indirect object slot, infix, inheritance, instance, instance data, instance method, instance variable, integer, interface, interpolation, interpreter, invocant, invocation, I/O, IO, I/O layer, IPA, IP, IPC, is-a, iteration, iterator, IV

    J   JAPH

    K   key, keyword

    L   label, laziness, leftmost longest, left shift, lexeme, lexer, lexical analysis, lexical scoping, lexical variable, library, LIFO, line, linebreak, line buffering, line number, link, LIST, list, list context, list operator, list value, literal, little-endian, local, logical operator, lookahead, lookbehind, loop, loop control statement, loop label, lowercase, lvaluable, lvalue, lvalue modifier

    M   magic, magical increment, magical variables, Makefile, man, manpage, matching, member data, memory, metacharacter, metasymbol, method, method resolution order, minicpan, minimalism, mode, modifier, module, modulus, mojibake, monger, mortal, mro, multidimensional array, multiple inheritance

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

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

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

    Q   qualified, quantifier

    R   race condition, readable, reaping, record, recursion, reference, referent, regex, regular expression, regular expression modifier, regular file, relational operator, reserved words, return value, RFC, right shift, role, root, RTFM, run phase, runtime, runtime pattern, RV, rvalue

    S   sandbox, scalar, scalar context, scalar literal, scalar value, scalar variable, scope, scratchpad, script, script kiddie, sed, semaphore, separator, serialization, server, service, setgid, setuid, shared memory, shebang, shell, side effects, sigil, signal, signal handler, single inheritance, slice, slurp, socket, soft reference, source filter, stack, standard, standard error, standard input, standard I/O, Standard Library, standard output, statement, statement modifier, static, static method, static scoping, static variable, stat structure, status, STDERR, STDIN, STDIO, STDOUT, stream, string, string context, stringification, struct, structure, subclass, subpattern, subroutine, subscript, substitution, substring, superclass, superuser, SV, switch, switch cluster, switch statement, symbol, symbolic debugger, symbolic link, symbolic reference, symbol table, synchronous, syntactic sugar, syntax, syntax tree, syscall

    T   taint checks, tainted, taint mode, TCP, term, terminator, ternary, text, thread, tie, titlecase, TMTOWTDI, token, tokener, tokenizing, toolbox approach, topic, transliterate, trigger, trinary, troff, true, truncating, type, type casting, typedef, typed lexical, typeglob, typemap

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

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

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

    X   XS, XSUB

    Y   yacc

    Z   zero width, zombie

AUTHOR AND COPYRIGHT

  perlembed - how to embed perl in your C program

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

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

Hiding Perl_
MORAL
AUTHOR
COPYRIGHT

  perldebguts - Guts of Perl debugging

DESCRIPTION
Debugger Internals
    Writing Your Own Debugger

Frame Listing Output Examples
Debugging Regular Expressions
    Compile-time Output
        "anchored" STRING "at" POS, "floating" STRING "at" POS1..POS2, "matching floating/anchored", "minlen", "stclass" TYPE, "noscan", "isall", "GPOS", "plus", "implicit", "with eval", anchored(TYPE)

    Types of Nodes
    Run-time Output

Debugging Perl Memory Usage
    Using $ENV{PERL_DEBUG_MSTATS}
        "buckets SMALLEST(APPROX)..GREATEST(APPROX)", Free/Used, "Total sbrk(): SBRKed/SBRKs:CONTINUOUS", "pad: 0", "heads: 2192", "chain: 0", tail: 6144

SEE ALSO

  perlxstut - Tutorial for writing XSUBs

DESCRIPTION
SPECIAL NOTES
    make
    Version caveat
    Dynamic Loading versus Static Loading
    Threads and PERL_NO_GET_CONTEXT

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

See also
Author
    Last Changed

  perlxs - the XS Language Reference Manual

SYNOPSIS
DESCRIPTION
    Version numbers

THE FORMAL SYNTAX OF AN XS FILE
OVERVIEW OF XS AND XSUBS
    Initial and Further Reading
    An Introduction to XS and XSUBs
    The Structure of an XS File
    Overview of how data is passed to and from an XSUB
    The Anatomy of an XSUB
    Returning Values from an XSUB
    Bootstrapping

REFERENCE MANUAL
    The MODULE Declaration
    File-scoped XS Keywords and Directives
    The Structure of an XSUB
    An XSUB Declaration
    An XSUB Parameter
    The XSUB Input Part
    The XSUB Init Part
    The XSUB Code Part
    The XSUB Output Part
    The XSUB Cleanup Part
    XSUB Generic Keywords
    Sharing XSUB bodies
    Using Typemaps
    Using XS With C++
    Safely Storing Static Data in XS
        MY_CXT_KEY, my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT, aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl), dMY_CXT_INTERP(my_perl)

EXAMPLES
CAVEATS
    Use of standard C library functions
    Symbols defined by Perl that are visible to XS code
    Event loops and control flow

XS VERSION
AUTHOR DIAGNOSTICS
AUTHOR

  perlxstypemap - Perl XS C/Perl type mapping

DESCRIPTION
    Anatomy of a typemap
    The Role of the typemap File in Your Distribution
    Sharing typemaps Between CPAN Distributions
    Writing typemap Entries
    Full Listing of Core Typemaps
        T_SV, T_SVREF, T_SVREF_REFCOUNT_FIXED, T_AVREF, T_AVREF_REFCOUNT_FIXED, T_HVREF, T_HVREF_REFCOUNT_FIXED, T_CVREF, T_CVREF_REFCOUNT_FIXED, T_SYSRET, T_UV, T_IV, T_INT, T_ENUM, T_BOOL, T_U_INT, T_SHORT, T_U_SHORT, T_LONG, T_U_LONG, T_CHAR, T_U_CHAR, T_FLOAT, T_NV, T_DOUBLE, T_PV, T_PTR, T_PTRREF, T_PTROBJ, T_REF_IV_REF, T_REF_IV_PTR, T_PTRDESC, T_REFREF, T_REFOBJ, T_OPAQUEPTR, T_OPAQUE, Implicit array, T_PACKED, T_PACKEDARRAY, T_DATAUNIT, T_CALLBACK, T_ARRAY, T_STDIO, T_INOUT, T_IN, T_OUT

  perlclib - Interacting with standard C library functions

DESCRIPTION
libc functions to avoid
    Conventions
        "~", "t", "p", "n", "s"

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

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

    Functions that need the environment to be constant
    Locale-specific issues

SEE ALSO

  perlguts - Introduction to the Perl API

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

    Offsets
    What's Really Stored in an SV?
    Read-Only Values
    Copy on Write
    THINKFIRST before writing to a string buffer
        Points to a COW buffer, Is READONLY, Contains a reference, Has some relevant magic assigned, SV_CHECK_THINKFIRST(sv) calls sv_force_normal(sv) to copy the string buffer, turning it into a mutable string, SV_CHECK_THINKFIRST_COW_DROP(sv) calls "sv_force_normal_flags(sv, SV_COW_DROP_PV)" which drops any string buffer pointed to by "sv". This is usually used to avoid copying any COW string to a new buffer, prior to writing some completely new string to "sv"

    Working with AVs
        "av_store_simple", "av_fetch_simple", "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

    Working with HVs
    Hash API Extensions
    AVs, HVs and undefined values
    References
    Blessed References and Class Objects
    Creating New Variables
        GV_ADDMULTI, GV_ADDWARN

    Reference Counts and Mortality
    Stashes and Globs
    I/O Handles
    Double-Typed SVs
    Magic Variables
    Assigning Magic
    Magic Virtual Tables
    Finding Magic
    Understanding the Magic of Tied Hashes and Arrays
    Localizing changes
        "SAVEINT(int i)", "SAVEIV(IV i)", "SAVEI32(I32 i)", "SAVEI8(I8 i)", "SAVEI16(I16 i)", "SAVEBOOL(int i)", "SAVESTRLEN(STRLEN i)", SAVESPTR(s), SAVEPPTR(p), "SAVERCPV(char **ppv)", "SAVEGENERICSV(SV **psv)", "SAVEFREESV(SV *sv)", "SAVEMORTALIZESV(SV *sv)", "SAVEFREEOP(OP *op)", SAVEFREEPV(p), "SAVEFREERCPV(char *pv)", "SAVECLEARSV(SV *sv)", "SAVEDELETE(HV *hv, char *key, I32 length)", "SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)", "SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)", "MORTALSVFUNC_X(SVFUNC_t f, SV *sv)", "MORTALDESTRUCTOR_SV(SV *coderef, SV *args)", SAVESTACK_POS(), "SV* save_scalar(GV *gv)", "AV* save_ary(GV *gv)", "HV* save_hash(GV *gv)", "void save_item(SV *item)", "SV* save_svref(SV **sptr)", "void save_aptr(AV **aptr)", "void save_hptr(HV **hptr)"

Subroutines
    XSUBs and the Argument Stack
    Autoloading with XSUBs
    Calling Perl Routines from within C Programs
    Putting a C value on Perl stack
    Scratchpads
    Scratchpads and recursion

Memory Allocation
    Allocation
    Reallocation
    Moving

PerlIO
Compiled code
    Code tree
    Examining the tree
    Compile pass 1: check routines
    Compile pass 1a: constant folding
    Compile pass 2: context propagation
    Compile pass 3: peephole optimization
    Pluggable runops
    Compile-time scope hooks
        "void bhk_start(pTHX_ int full)", "void bhk_pre_end(pTHX_ OP **o)", "void bhk_post_end(pTHX_ OP **o)", "void bhk_eval(pTHX_ OP *const o)"

Examining internal data structures with the "dump" functions
Tracing the interpreter execution
    perl must have been compiled with -DDEBUGGING, The $^D variable must have the appropriate bit set

How multiple interpreters and concurrency are supported
    Background and MULTIPLICITY
    So what happened to dTHR?
    How do I use all this in extensions?
    Should I do anything special if I call perl from multiple threads?
    Future Plans and PERL_IMPLICIT_SYS

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

Formatted Printing of "Size_t" and "SSize_t"
Formatted Printing of "Ptrdiff_t", "intmax_t", "short" and other special sizes
Pointer-To-Integer and Integer-To-Pointer
Exception Handling
Source Documentation
Backwards compatibility

Unicode Support
    What is Unicode, anyway?
    How can I recognise a UTF-8 string?
    How does UTF-8 represent Unicode characters?
    How does Perl store UTF-8 strings?
    How do I pass a Perl string to a C library?
        bytes: 0x64 0x78 0x8c, UTF-8: 0x64 0x78 0xc2 0x8c

    How do I convert a string to UTF-8?
    How do I compare strings?
    Is there anything else I need to know?

Custom Operators
    xop_name, xop_desc, xop_class, OA_BASEOP, OA_UNOP, OA_BINOP, OA_LOGOP, OA_LISTOP, OA_PMOP, OA_SVOP, OA_PADOP, OA_PVOP_OR_SVOP, OA_LOOP, OA_COP, OA_UNOP_AUX, xop_peep, xop_dump

Stacks
    Value Stack
    Mark Stack
    Temporaries Stack
    Save Stack
    Scope Stack

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

Reference-counted argument stack
    Introduction
    Reference counted stack states
        not reference-counted, fully reference-counted, partially reference-counted (split)

    Wrapping
    (Re)writing a PP function using the rpp_() API

Slab-based operator allocation
AUTHORS
SEE ALSO

  perlcall - Perl calling conventions from C

DESCRIPTION
    An Error Handler, An Event-Driven Program

THE CALL_ FUNCTIONS
    call_sv, call_pv, call_method, call_argv

FLAG VALUES
    G_VOID
    G_SCALAR
    G_LIST
    G_DISCARD
    G_NOARGS
    G_EVAL
    G_KEEPERR
    Determining the Context

EXAMPLES
    No Parameters, Nothing Returned
    Passing Parameters
    Returning a Scalar
    Returning a List of Values
    Returning a List in Scalar Context
    Returning Data from Perl via the Parameter List
    Using G_EVAL
    Using G_KEEPERR
    Using call_sv
    Using call_argv
    Using call_method
    Using GIMME_V
    Using Perl to Dispose of Temporaries
    Strategies for Storing Callback Context Information
        1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of callbacks - hard wired limit, 3. Use a parameter to map to the Perl callback

    Alternate Stack Manipulation
    Creating and Calling an Anonymous Subroutine in C

LIGHTWEIGHT CALLBACKS
SEE ALSO
AUTHOR
DATE

  perlmroapi - Perl method resolution plugin interface

DESCRIPTION
    resolve, name, length, kflags, hash

Callbacks
Caching
Examples
AUTHORS

  perlreapi - Perl regular expression plugin interface

DESCRIPTION
Callbacks
    comp
        "/m" - RXf_PMf_MULTILINE, "/s" - RXf_PMf_SINGLELINE, "/i" - RXf_PMf_FOLD, "/x" - RXf_PMf_EXTENDED, "/p" - RXf_PMf_KEEPCOPY, Character set, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, RXf_WHITE, RXf_NULL, RXf_NO_INPLACE_SUBST

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

    intuit
    checkstr
    free
    Numbered capture callbacks
    Named capture callbacks
    qr_package
    dupe
    op_comp

The REGEXP structure
    "engine"
    "mother_re"
    "extflags"
    "minlen" "minlenret"
    "gofs"
    "substrs"
    "nparens", "logical_nparens"
    "logical_to_parno", "parno_to_logical", "parno_to_logical_next"
    "lastparen", and "lastcloseparen"
    "intflags"
    "pprivate"
    "offs"
    "RX_PRECOMP" "RX_PRELEN"
    "paren_names"
    "substrs"
    "subbeg" "sublen" "saved_copy" "suboffset" "subcoffset"
    "RX_WRAPPED" "RX_WRAPLEN"
    RX_REFCNT()

HISTORY
AUTHORS
LICENSE

  perlreguts - Description of the Perl regular expression engine.

DESCRIPTION
OVERVIEW
    A quick note on terms
    What is a regular expression engine?
    Structure of a Regexp Program
        "regnode_1", "regnode_2", "regnode_string", "regnode_charclass", "regnode_charclass_posixl", "REGNODE_AFTER", "regnext"

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

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

    Execution

MISCELLANEOUS
    Unicode and Localisation Support
    Base Structures
        "regstclass", "data", "code_blocks", "proglen", "name_list_idx", "program"

SEE ALSO
AUTHOR
LICENCE
REFERENCES

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

DESCRIPTION
DATA STORAGE
    Classes
    Fields
    Methods
    Instances

API
    Class Manipulation
    Field Manipulation
    Method Manipulation
    Object Instances

OPCODES
    OP_METHSTART
    OP_INITFIELD

COMPILE-TIME BEHAVIOUR
    "ADJUST" Phasers
    Attributes
    Field Initializing Expressions

RUNTIME BEHAVIOUR
    Constructor
    $self Access During Methods

AUTHORS

  perlapi - autogenerated documentation for the perl public API

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

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

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

Casting
    "cBOOL" , "I_V" , "I_32" , "INT2PTR", "PTRV", "PTR2IV", "PTR2nat", "PTR2NV", "PTR2ul", "PTR2UV", "U_V" , "U_32"

Character case changing
    "toCTRL", "fromCTRL" , "toFOLD", "toFOLD_A", "toFOLD_utf8", "toFOLD_utf8_safe", "toFOLD_uvchr" , "toLOWER", "toLOWER_A", "toLOWER_LATIN1", "toLOWER_LC", "toLOWER_L1", "toLOWER_utf8", "toLOWER_utf8_safe", "toLOWER_uvchr" , "toTITLE", "toTITLE_A", "toTITLE_utf8", "toTITLE_utf8_safe", "toTITLE_uvchr" , "toUPPER", "toUPPER_A", "toUPPER_utf8", "toUPPER_utf8_safe", "toUPPER_uvchr"

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

Compiler and Preprocessor information
    "CPPLAST" , "CPPMINUS" , "CPPRUN" , "CPPSTDIN" , "HAS_BUILTIN_ADD_OVERFLOW" , "HAS_BUILTIN_CHOOSE_EXPR" , "HAS_BUILTIN_EXPECT" , "HAS_BUILTIN_MUL_OVERFLOW" , "HAS_BUILTIN_SUB_OVERFLOW" , "HAS_C99_VARIADIC_MACROS" , "HAS_STATIC_INLINE" , "HASATTRIBUTE_ALWAYS_INLINE" , "HASATTRIBUTE_DEPRECATED" , "HASATTRIBUTE_FORMAT" , "HASATTRIBUTE_NONNULL" , "HASATTRIBUTE_NORETURN" , "HASATTRIBUTE_PURE" , "HASATTRIBUTE_UNUSED" , "HASATTRIBUTE_VISIBILITY" , "HASATTRIBUTE_WARN_UNUSED_RESULT" , "MEM_ALIGNBYTES" , "PERL_STATIC_INLINE" , "PERL_THREAD_LOCAL" , "U32_ALIGNMENT_REQUIRED"

Compiler directives
    "assert_", "__ASSERT_" , "ASSUME" , "dNOOP" , "END_EXTERN_C" , "EXTERN_C" , "LIKELY" , "NOOP" , "PERL_UNUSED_ARG" , "PERL_UNUSED_CONTEXT" , "PERL_UNUSED_DECL" , "PERL_UNUSED_RESULT" , "PERL_UNUSED_VAR" , "START_EXTERN_C" , "STATIC_ASSERT_DECL", "STATIC_ASSERT_EXPR", "STATIC_ASSERT_STMT" , "STMT_START", "STMT_END" , "UNLIKELY"

Compile-time scope hooks
    "BhkDISABLE" , "BhkENABLE" , "BhkENTRY_set" , "blockhook_register"

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

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

Custom Operators
    "custom_op_register" , "Perl_custom_op_xop" , "XopDISABLE" , "XopENABLE" , "XopENTRY" , "XopENTRY_set" , "XopENTRYCUSTOM" , "XopFLAGS"

CV Handling
    "caller_cx" , "CvDEPTH" , "CvGV" , "CvREFCNT_inc", "CvREFCNT_inc_simple", "CvREFCNT_inc_simple_NN" , "CvSTASH" , "find_runcv" , "get_cv", "get_cvn_flags", "get_cvs" , "Nullcv"

Debugging
    "av_dump" , "deb", "deb_nocontext", "vdeb" , "debstack" , "DEBUG_U", "DEBUG_Uv", "DEBUG_U_TEST", "DEBUG_Uv_TEST", "dump_all" , "dump_c_backtrace" , "dump_eval", "dump_form" , "dump_packsubs" , "dump_sub", "get_c_backtrace_dump" , "gv_dump" , "HAS_BACKTRACE" , "hv_dump" , "magic_dump" , "op_class" , "op_dump" , "opdump_printf" , "PERL_POISON", "PL_DBsub" , "PL_op", "PL_runops", "PL_sv_serial", "pmop_dump" , "PoisonFree", "Poison" , "PoisonNew" , "PoisonWith" , "sv_dump", "sv_dump_depth" , "vdeb*"

Declaration and Initialization of Globals
Display functions
    "form", "form_nocontext", "vform" , "mess", "mess_nocontext", "vmess" , "mess_sv" , "pv_display" , "pv_escape" , "pv_pretty" , "vform*", "vmess*"

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

Errno
    "sv_string_from_errnum"

Exception Handling (simple) Macros
    "dXCPT" , "JMPENV_JUMP", "JMPENV_PUSH", "PL_restartop", "XCPT_CATCH" , "XCPT_RETHROW" , "XCPT_TRY_END" , "XCPT_TRY_START"

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

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

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

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

Global Variables
    "PL_check" , "PL_infix_plugin" , "PL_keyword_plugin" , "PL_phase"

GV Handling and Stashes
    "amagic_call" , "AMGf_noleft", "AMGf_noright", "AMGf_unary", "AMGf_assign", "AMGf_force_scalar", "AMGf_force_overload", "amagic_deref_call" , "gv_add_by_type" , "Gv_AMupdate" , 1 on success and there is some overload, 0 if there is no overload, -1 if some error occurred and it couldn't croak (because "destructing" is true), "gv_autoload_pv", "gv_autoload_pvn", "gv_autoload_sv", "gv_autoload4" , "gv_AVadd", "gv_HVadd", "gv_IOadd", "gv_SVadd" , "gv_const_sv" , "gv_efullname3", "gv_efullname4", "gv_fullname3", "gv_fullname4" , "gv_fetchfile", "gv_fetchfile_flags" , "gv_fetchmeth", "gv_fetchmeth_autoload", "gv_fetchmeth_pv", "gv_fetchmeth_pv_autoload", "gv_fetchmeth_pvn", "gv_fetchmeth_pvn_autoload", "gv_fetchmeth_sv", "gv_fetchmeth_sv_autoload" , If -1, If 0, "gv_fetchmethod", "gv_fetchmethod_autoload" , "gv_fetchpv", "gv_fetchpvn", "gv_fetchpvn_flags", "gv_fetchpvs", "gv_fetchsv", "gv_fetchsv_nomg" , "gv_fullname3*", "gv_fullname4*", "gv_HVadd*", "gv_init", "gv_init_pv", "gv_init_pvn", "gv_init_sv" , "gv_IOadd*", "gv_name_set" , "gv_stashpv", "gv_stashpvn", "gv_stashpvs", "gv_stashsv" , "gv_SVadd*", "GvAV" , "GvCV" , "GvHV" , "GvREFCNT_inc", "GvREFCNT_inc_simple", "GvREFCNT_inc_simple_NN" , "GvSV" , "GvSVn" , "newGVgen", "newGVgen_flags" , "PL_curstash" , "PL_defgv" , "PL_defoutgv" , "PL_defstash", "save_gp" , "setdefout"

Hook manipulation
    "rcpv_copy" , "rcpv_free" , "rcpv_new" , "wrap_op_checker"

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

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

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

I/O Formats
    "HvNAMEf", "HvNAMEf_QUOTEDPREFIX", "HvNAMEfARG", "IVdf" , "NVef" , "NVff" , "NVgf" , "PERL_PRIeldbl" , "PERL_PRIfldbl" , "PERL_PRIgldbl" , "PERL_SCNfldbl" , "PRINTF_FORMAT_NULL_OK" , "SVf", "SVf_QUOTEDPREFIX", "SVfARG", "UTF8f", "UTF8f_QUOTEDPREFIX", "UTF8fARG", "UVf" , "UVof" , "UVuf" , "UVXf" , "UVxf"

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

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

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

Memory Management
    "dump_mstats" , "HAS_MALLOC_GOOD_SIZE" , "HAS_MALLOC_SIZE" , "HASATTRIBUTE_MALLOC" , "I_MALLOCMALLOC" , "MYMALLOC" , "Newx", "safemalloc" , "Newxc" , "Newxz", "safecalloc" , "PERL_MALLOC_WRAP" , "Renew", "saferealloc" , "Renewc" , "safecalloc*", "Safefree" , "safemalloc*", "saferealloc*", "safesyscalloc" , "safesysfree" , "safesysmalloc" , "safesysrealloc"

MRO "HvMROMETA", "mro_get_from_name" , "mro_get_linear_isa" , "MRO_GET_PRIVATE_DATA", "mro_method_changed_in" , "mro_register" , "mro_set_mro" , "mro_set_private_data"

Multicall Functions
    "dMULTICALL" , "MULTICALL" , "POP_MULTICALL" , "PUSH_MULTICALL"

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

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

Pack and Unpack
    "packlist" , "unpackstring"

Pad Data Structures
    "CvPADLIST" , "pad_new" , "PadARRAY" , "PadlistARRAY" , "PadlistMAX" , "PadlistNAMES" , "PadlistNAMESARRAY" , "PadlistNAMESMAX" , "PadlistREFCNT" , "PadMAX" , "PadnameLEN" , "PadnamelistARRAY" , "PadnamelistMAX" , "PadnamelistREFCNT" , "PadnamelistREFCNT_dec" , "PadnamePV" , "PadnameREFCNT" , "PadnameREFCNT_dec" , "PadnameREFCNT_inc" , "PadnameSV" , "PadnameUTF8" , "PL_comppad" , "PL_comppad_name" , "PL_curpad" , "SVs_PADMY", "SVs_PADTMP"

Password and Group access
    "GRPASSWD" , "HAS_ENDGRENT" , "HAS_ENDGRENT_R" , "HAS_ENDPWENT" , "HAS_ENDPWENT_R" , "HAS_GETGRENT" , "HAS_GETGRENT_R" , "HAS_GETPWENT" , "HAS_GETPWENT_R" , "HAS_SETGRENT" , "HAS_SETGRENT_R" , "HAS_SETPWENT" , "HAS_SETPWENT_R" , "PWAGE" , "PWCHANGE" , "PWCLASS" , "PWCOMMENT" , "PWEXPIRE" , "PWGECOS" , "PWPASSWD" , "PWQUOTA"

Paths to system commands
    "CSH" , "LOC_SED" , "SH_PATH"

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

Reference-counted stack manipulation
    "rpp_context" , "rpp_extend" , "rpp_invoke_xs" , "rpp_is_lone" , "rpp_pop_1_norc" , "rpp_popfree_to" , "rpp_popfree_to_NN" , "rpp_popfree_1" , "rpp_popfree_1_NN" , "rpp_popfree_2" , "rpp_popfree_2_NN" , "rpp_push_1", "rpp_push_IMM", "rpp_push_2", "rpp_xpush_1", "rpp_xpush_IMM", "rpp_xpush_2" , "rpp_push_1_norc" , "rpp_push_2*", "rpp_replace_at" , "rpp_replace_at_NN" , "rpp_replace_at_norc" , "rpp_replace_at_norc_NN" , "rpp_replace_1_1", "rpp_replace_1_1_NN", "rpp_replace_1_IMM_NN" , "rpp_replace_2_1", "rpp_replace_2_1_NN", "rpp_replace_2_IMM_NN" , "rpp_stack_is_rc" , "rpp_try_AMAGIC_1", "rpp_try_AMAGIC_2" , "rpp_xpush_IMM*", "rpp_xpush_1*", "rpp_xpush_2*", "XSPP_wrapped"

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

Reports and Formats
    "IoBOTTOM_GV", "IoBOTTOM_NAME", "IoFMT_GV", "IoFMT_NAME", "IoLINES", "IoLINES_LEFT", "IoPAGE", "IoPAGE_LEN", "IoTOP_GV", "IoTOP_NAME"

Signals
    "HAS_SIGINFO_SI_ADDR" , "HAS_SIGINFO_SI_BAND" , "HAS_SIGINFO_SI_ERRNO" , "HAS_SIGINFO_SI_PID" , "HAS_SIGINFO_SI_STATUS" , "HAS_SIGINFO_SI_UID" , "HAS_SIGINFO_SI_VALUE" , "PERL_SIGNALS_UNSAFE_FLAG" , "rsignal" , "rsignal_state" , "SIG_NAME" , "SIG_NUM" , "SIG_SIZE" , "Sigjmp_buf" , "Siglongjmp" , "Sigsetjmp" , "whichsig", "whichsig_pv", "whichsig_pvn", "whichsig_sv"

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

Sockets configuration values
    "HAS_SOCKADDR_IN6" , "HAS_SOCKADDR_SA_LEN" , "HAS_SOCKADDR_STORAGE" , "HAS_SOCKATMARK" , "HAS_SOCKET" , "HAS_SOCKETPAIR" , "HAS_SOCKS5_INIT" , "I_SOCKS" , "I_SYS_SOCKIO"

Source Filters
    "apply_builtin_cv_attributes" , "filter_add", "filter_del" , "filter_read", "scan_vstring" , "start_subparse"

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

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

SV Flags
    "SVt_IV", "SVt_NULL", "SVt_NV", "SVt_PV" , "SVt_PVAV" , "SVt_PVCV" , "SVt_PVFM" , "SVt_PVGV" , "SVt_PVHV" , "SVt_PVIO" , "SVt_PVIV", "SVt_PVLV", "SVt_PVMG", "SVt_PVNV" , "SVt_PVOBJ" , "SVt_REGEXP" , "svtype"

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

Tainting
    "SvTAINT" , "SvTAINTED" , "SvTAINTED_off" , "SvTAINTED_on"

Time
    "ASCTIME_R_PROTO" , "CTIME_R_PROTO" , "GMTIME_MAX" , "GMTIME_MIN" , "GMTIME_R_PROTO" , "HAS_ASCTIME_R" , "HAS_ASCTIME64" , "HAS_CTIME_R" , "HAS_CTIME64" , "HAS_DIFFTIME" , "HAS_DIFFTIME64" , "HAS_FUTIMES" , "HAS_GETITIMER" , "HAS_GETTIMEOFDAY" , "HAS_GMTIME_R" , "HAS_GMTIME64" , "HAS_LOCALTIME_R" , "HAS_LOCALTIME64" , "HAS_MKTIME" , "HAS_MKTIME64" , "HAS_NANOSLEEP" , "HAS_SETITIMER" , "HAS_STRFTIME" , "HAS_TIME" , "HAS_TIMEGM" , "HAS_TIMES" , "HAS_TM_TM_GMTOFF" , "HAS_TM_TM_ZONE" , "HAS_TZNAME" , "HAS_USLEEP" , "HAS_USLEEP_PROTO" , "I_TIME" , "I_UTIME" , "L_R_TZSET" , "LOCALTIME_MAX" , "LOCALTIME_MIN" , "LOCALTIME_R_NEEDS_TZSET" , "LOCALTIME_R_PROTO" , "mini_mktime" , "sv_strftime_ints", "sv_strftime_tm", "my_strftime" , "isdst" is 0, "isdst" is >0, "isdst" is <0

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

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

Utility Functions
    "C_ARRAY_END" , "C_ARRAY_LENGTH" , "getcwd_sv" , "grok_bin", "grok_hex", "grok_oct" , For "grok_bin", For "grok_hex", For "grok_oct", "IN_PERL_COMPILETIME" , "IN_PERL_RUNTIME" , "is_safe_syscall", "IS_SAFE_SYSCALL" , "my_setenv" , "newPADxVOP" , "phase_name" , "StructCopy" , "sv_destroyable" , "sv_nosharing"

Versioning
    "new_version" , "PERL_REVISION" , "PERL_SUBVERSION" , "PERL_VERSION" , "PERL_VERSION_EQ", "PERL_VERSION_GE", "PERL_VERSION_GT", "PERL_VERSION_LE", "PERL_VERSION_LT", "PERL_VERSION_NE" , "prescan_version" , "scan_version" , "upg_version" , "vcmp" , "vnormal" , "vnumify" , "vstringify" , "vverify" , The SV is an HV or a reference to an HV, The hash contains a "version" key, The "version" key has a reference to an AV as its value

Warning and Dieing
    "ck_warner", "ck_warner_d" , "ckWARN", "ckWARN2", "ckWARN3", "ckWARN4" , "ckWARN_d", "ckWARN2_d", "ckWARN3_d", "ckWARN4_d" , "ckWARN2*", "ckWARN3*", "ckWARN4*", "CLEAR_ERRSV" , "croak", "croak_sv", "vcroak", "die", "die_sv", "croak_nocontext", "die_nocontext" , "croak_no_modify" , "croak_nocontext*", "croak_sv*", "die*", "die_nocontext*", "die_sv*", "ERRSV" , "fatal_warner*", "line_t" , "packWARN", "packWARN2", "packWARN3", "packWARN4" , "PL_dowarn" , "qerror" , "SANE_ERRSV" , "sv_regex_global_pos_clear" , "sv_regex_global_pos_get" , "sv_regex_global_pos_set" , "sv_vstring_get" , "vcroak*", "vfatal_warner*", "vwarner*", "warn", "warn_nocontext", "warn_sv", "vwarn" , "warner", "warner_nocontext", "vwarner", "fatal_warner", "vfatal_warner"

XS  "aMY_CXT", "aMY_CXT_", "_aMY_CXT", "ax" , "CLASS" , "dAX" , "dAXMARK" , "dITEMS" , "dMY_CXT", "dMY_CXT_INIT_INTERP*", "dMY_CXT_SV" , "dUNDERBAR" , "dXSARGS" , "dXSI32" , "items" , "ix" , "MY_CXT", "MY_CXT_CLONE", "MY_CXT_INIT", "MY_CXT_INIT_INTERP", "dMY_CXT_INIT_INTERP", "MY_CXT_KEY", "pMY_CXT", "pMY_CXT_", "_pMY_CXT", "RETVAL" , "ST" , "START_MY_CXT", "THIS" , "UNDERBAR" , "XS" , "XS_EXTERNAL" , "XS_INTERNAL" , "XSPROTO"

Undocumented elements
AUTHORS
SEE ALSO

  perlintern - autogenerated documentation of purely internal Perl functions

DESCRIPTION
AV Handling
    "av_fetch_simple" , "av_new_alloc" , "av_store_simple" , "AvFILLp"

Callback Functions
    "dowantarray" , "leave_scope" , "magic_freedestruct" , "mortal_svfunc_x", "MORTALSVFUNC_X" , "pop_scope" , "push_scope" , "save_adelete" , "save_freercpv" , "save_generic_pvref" , "save_generic_svref" , "save_hdelete" , "save_hints" , "save_op" , "save_padsv" , "save_padsv_and_mortalize" , "save_pushptr" , "save_rcpv" , "save_scalar_at" , "save_set_svflags" , "save_shared_pvref" , "save_vptr"

Casting
Character case changing
Character classification
    "CC_mask_" , "Perl_isCC_by_bit"

Compiler and Preprocessor information
Compiler directives
    "PREVENT_LVALUE"

Compile-time scope hooks
    "BhkENTRY" , "BhkFLAGS" , "CALL_BLOCK_HOOKS"

Concurrency
    "CVf_SLABBED", "CvROOT", "CvSTART", "CX_CUR", "CX_LEAVE_SCOPE", "CX_POP", "cx_type", "CXt_BLOCK", "CXt_EVAL", "CXt_FORMAT", "CXt_GIVEN", "CXt_LOOP_ARY", "CXt_LOOP_LAZYIV", "CXt_LOOP_LAZYSV", "CXt_LOOP_LIST", "CXt_LOOP_PLAIN", "CXt_NULL", "CXt_SUB", "CXt_SUBST", "CXt_WHEN", "CXINC", "cxstack", "cxstack_ix", "CXt_BLOCK*", "CXt_EVAL*", "CXt_FORMAT*", "CXt_GIVEN*", "CXt_LOOP_ARY*", "CXt_LOOP_LAZYIV*", "CXt_LOOP_LAZYSV*", "CXt_LOOP_LIST*", "CXt_LOOP_PLAIN*", "CXt_NULL*", "CXt_SUB*", "CXt_SUBST*", "CXt_WHEN*", "dounwind", "my_fork" , "PERL_CONTEXT"

COPs and Hint Hashes
Custom Operators
    "core_prototype"

CV Handling
    "CvREFCOUNTED_ANYSV" , "CvREFCOUNTED_ANYSV_off" , "CvREFCOUNTED_ANYSV_on" , "CvWEAKOUTSIDE" , "docatch"

Debugging
    "comma_aDEPTH" , "comma_pDEPTH" , "debop" , "debprof" , "debprofdump" , "debug_aDEPTH" , "DEBUG_L_FLAG", "debug_pDEPTH" , "free_c_backtrace" , "get_c_backtrace" , "PL_DBsingle" , "PL_DBtrace" , "runops_debug", "runops_standard"

Declaration and Initialization of Globals
    "dEXT*", "dEXTCONST*", "DOINIT" , "EXT", "EXTCONST", "dEXT", "dEXTCONST" , "INIT"

Display functions
    "sv_peek"

Embedding, Threads, and Interpreter Cloning
    "cv_dump" , "cv_forget_slab" , "do_dump_pad" , "get_context" , "noshutdownhook" , "pad_alloc_name" , "pad_block_start" , "pad_check_dup" , "pad_findlex" , "pad_fixup_inner_anons" , "pad_free" , "pad_leavemy" , "pad_push" , "pad_reset" , "pad_setsv" , "pad_sv" , "pad_swipe" , "padlist_dup" , "padname_dup" , "padnamelist_dup" , "set_context" , "si_dup" , "ss_dup"

Errno
    "dSAVE_ERRNO" , "dSAVEDERRNO" , "RESTORE_ERRNO" , "SAVE_ERRNO" , "SETERRNO"

Exception Handling (simple) Macros
Filesystem configuration values
Floating point
General Configuration
Global Variables
GV Handling and Stashes
    "amagic_applies" , "gp_dup" , "gv_handler" , "gv_stashsvpvn_cached" , "gv_try_downgrade"

Hook manipulation
HV Handling
    "hv_eiter_p" , "hv_eiter_set" , "hv_ename_add" , "hv_ename_delete" , "hv_fill" , "hv_placeholders_get" , "hv_placeholders_set" , "hv_riter_p" , "hv_riter_set" , "refcounted_he_chain_2hv" , "refcounted_he_fetch_pv", "refcounted_he_fetch_pvn", "refcounted_he_fetch_pvs", "refcounted_he_fetch_sv" , "refcounted_he_free" , "refcounted_he_inc" , "refcounted_he_new_pv", "refcounted_he_new_pvn", "refcounted_he_new_pvs", "refcounted_he_new_sv" , "unsharepvn"

Input/Output
    "dirp_dup" , "fp_dup" , "my_fflush_all" , "my_mkostemp" , "my_mkstemp" , "PL_last_in_gv" , "PL_ofsgv" , "PL_rs" , "start_glob" , "USE_STDIO"

Integer
    "ABS_IV_MIN" , "NEGATE_2IV" , "NEGATE_2UV"

I/O Formats
Lexer interface
    "validate_proto"

Locales
Magic
    "magic_clearhint" , "magic_clearhints" , "magic_methcall" , "magic_sethint" , "mg_dup" , "mg_localize"

Memory Management
    "calloc" , "malloc" , "mfree" , "realloc"

MRO "mro_get_linear_isa_dfs" , "mro_isa_changed_in" , "mro_package_moved"

Multicall Functions
Numeric Functions
    "grok_uint_by_base" , "isEVEN", "isODD" , "isinfnansv" , "isODD*", "S_perl_hash_siphash_1_3" , "S_perl_hash_siphash_1_3_with_state" , "S_perl_hash_siphash_1_3_with_state_64" , "S_perl_hash_siphash_1_3_64" , "S_perl_hash_siphash_2_4" , "S_perl_hash_siphash_2_4_with_state" , "S_perl_hash_siphash_2_4_with_state_64" , "S_perl_hash_siphash_2_4_64" , "S_perl_siphash_seed_state"

Optrees
    "new_block_statement" , "newATTRSUB_x" , "newFORM" , "newMYSUB" , "newXS_len_flags" , "op_lvalue_flags" , OP_LVALUE_NO_CROAK, "op_refcnt_lock" , "op_refcnt_unlock" , "package" , "traverse_op_tree"

Pack and Unpack
Pad Data Structures
    "CX_CURPAD_SAVE" , "CX_CURPAD_SV" , "PAD_BASE_SV" , "PAD_CLONE_VARS" , "PAD_COMPNAME_FLAGS" , "PAD_COMPNAME_GEN" , "PAD_COMPNAME_GEN_set" , "PAD_COMPNAME_OURSTASH" , "PAD_COMPNAME_PV" , "PAD_COMPNAME_TYPE" , "PAD_RESTORE_LOCAL" , "PAD_SAVE_LOCAL" , "PAD_SAVE_SETNULLPAD" , "PAD_SET_CUR" , "PAD_SET_CUR_NOSAVE" , "PAD_SETSV" , "PAD_SV" , "PAD_SVl" , "PadnameIsFIELD" , "PadnameIsOUR" , "PadnameIsSTATE" , "PadnameOURSTASH" , "PadnameOUTER" , "PadnameTYPE" , "SAVECLEARSV" , "SAVECOMPPAD" , "SAVEPADSVANDMORTALIZE"

Password and Group access
Paths to system commands
Prototype information
Reference-counted stack manipulation
REGEXP Functions
    "regnode"

Reports and Formats
Signals
Site configuration
Sockets configuration values
Source Filters
    "parse_ident_msg"

Stack Manipulation Macros
    "djSP" , "LVRET" , "save_alloc"

String Handling
    "delimcpy_no_escape" , "quadmath_format_needed" , "quadmath_format_valid"

SV Flags
    "SVt_INVLIST"

SV Handling
    "PL_Sv" , "sv_add_arena" , "sv_clean_all" , "sv_clean_objs" , "sv_free_arenas" , "sv_grow" , "sv_grow_fresh" , "sv_newref" , "sv_numcmp_common" , "sv_pv" , "sv_pvbyte" , "sv_pvbyten_force" , "sv_pvn_force" , "sv_pvutf8" , "sv_pvutf8n_force" , "sv_tainted" , "sv_true" , "sv_untaint" , "sv_2bool" , "sv_2bool_flags" , "sv_2num_flags", "sv_2num" , "sv_2pv_nolen" , "sv_2pvbyte_nolen" , "sv_2pvutf8_nolen" , "SvTHINKFIRST"

Tainting
    "sv_taint" , "TAINT" , "TAINT_ENV" , "taint_env" , "TAINT_get" , "TAINT_IF" , "TAINT_NOT" , "TAINT_PROPER" , "taint_proper" , "TAINT_set" , "TAINT_WARN_get" , "TAINT_WARN_set" , "TAINTING_get" , "TAINTING_set"

Time
Typedef names
Unicode Support
    "invlist_highest_range_start" , "invlist_lowest" , "is_utf8_non_invariant_string" , "isSCRIPT_RUN" , "UNI_DISPLAY_TR" , "utf8_to_uvuni" , "utf8n_to_uvuni" , "uvoffuni_to_utf8_flags" , "valid_utf8_to_uv", "valid_utf8_to_uvchr" , "variant_under_utf8_count"

Utility Functions
    "my_popen_list" , "my_socketpair"

Versioning
Warning and Dieing
    "deprecate", "deprecate_disappears_in", "deprecate_fatal_in" , "find_uninit_var" , "report_uninit"

XS  "api_version_assert" , "my_cxt_init" , "my_cxt_t"

Undocumented elements
AUTHORS
SEE ALSO

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

SYNOPSIS
DESCRIPTION
    History and Background
    Basic Structure
    Layers vs Disciplines
    Data Structures
    Functions and Attributes
    Per-instance Data
    Layers in action
    Per-instance flag bits
        PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR, PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8, PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF, PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS

    Methods in Detail
        fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF, PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode, Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof,
        Error,    Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt,
        Set_ptrcnt

    Utilities
    Implementing PerlIO Layers
        C implementations, Perl implementations

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

    Extension Layers
        ":encoding", ":scalar", ":via"

TODO

  perlapio - perl's IO abstraction interface.

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

    Co-existence with stdio
        PerlIO_importFILE(f,mode), PerlIO_exportFILE(f,mode), PerlIO_releaseFILE(p,f), PerlIO_findFILE(f)

    "Fast gets" Functions
        PerlIO_fast_gets(f), PerlIO_has_cntptr(f), PerlIO_get_cnt(f), PerlIO_get_ptr(f), PerlIO_set_ptrcnt(f,p,c), PerlIO_canset_cnt(f), PerlIO_set_cnt(f,c), PerlIO_has_base(f), PerlIO_get_base(f), PerlIO_get_bufsiz(f)

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

  perlhack - How to hack on Perl

DESCRIPTION
SUPER QUICK PATCH GUIDE
    Check out the source repository, Ensure you're following the latest advice, Create a branch for your change, Make your change, Test your change, Commit your change, Add your name to the Perl contributors list, If you want to be publicly credited, If you want to remain anonymous, Submit your changes to GitHub, Thank you, Next time

BUG REPORTING
PERL 5 PORTERS
    perl-changes mailing list
    #p5p on IRC

GETTING THE PERL SOURCE
    Read access via Git
    Read access via the web
    Write access via git

PATCHING PERL
    Submitting patches
    Getting your patch accepted
        Why, What, How

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

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

    Special "make test" targets
        test_porting, minitest, test.valgrind check.valgrind, test_harness, test-notty test_notty

    Parallel tests
    Running tests by hand
    Using t/harness for testing
        -v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST, PERL_TEST_Net_Ping, PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS, PERL_TEST_MEMORY

    Performance testing
    Building perl at older commits

MORE READING FOR GUTS HACKERS
    perlsource, perlinterp, perlhacktut, perlhacktips, perlguts, perlxstut and perlxs, perlapi, Porting/pumpkin.pod

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

AUTHOR

  perlsource - A guide to the Perl source tree

DESCRIPTION
FINDING YOUR WAY AROUND
    C code
    Core modules
        lib/, ext/, dist/, cpan/

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

    Documentation
    Hacking tools and documentation
        check*, Maintainers, Maintainers.pl, and Maintainers.pm, podtidy

    Build system
    AUTHORS
    MANIFEST

  perlinterp - An overview of the Perl interpreter

DESCRIPTION
ELEMENTS OF THE INTERPRETER
    Startup
    Parsing
    Optimization
    Running
    Exception handing
        level 2: perl-level exit() and internals my_exit(), level 3: perl-level die() and internals croak(), level 1: unused, level 0: normal return

    INTERNAL VARIABLE TYPES

OP TREES
STACKS
    Argument stack
    Mark stack
    Save stack

MILLIONS OF MACROS
FURTHER READING

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

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

AUTHOR

  perlhacktips - Tips for Perl core C code hacking

DESCRIPTION
COMMON PROBLEMS
    Perl environment problems
    C99 AIX, HP/UX, Solaris

    Symbol Names and Namespace Pollution
        Don't begin a file-level symbol name with an underscore; (e.g., don't use: "_FOOBAR"), Don't use two consecutive underscores in a symbol name; (e.g., don't use "FOO__BAR")

    Writing safer macros
    Portability problems
    Problematic System Interfaces

DEBUGGING
    Poking at Perl
    Catching hidden flaws
    Using a source-level debugger
        run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', ptype, print

    gdb macro support
    Dumping Perl Data Structures
    Using gdb to look at specific parts of a program
    Using gdb to look at what the parser/lexer are doing

SOURCE CODE STATIC ANALYSIS
    lint
    Coverity
    HP-UX cadvise (Code Advisor)
    cpd (cut-and-paste detector)
    gcc warnings
    Warnings of other C compilers

MEMORY DEBUGGERS
    valgrind
    AddressSanitizer
        -Dcc=clang, -Accflags="-fsanitize=address -fsanitize-ignorelist=$PWD/asan_ignore", -Aldflags="-fsanitize=address", -Alddlflags="-shared -fsanitize=address"

    Dr Memory

PROFILING
    Gprof Profiling
        -a, -b, -e routine, -f routine, -s, -z

    GCC gcov Profiling
    callgrind profiling
        --threshold, --auto

    "profiler" profiling (Cygwin)
    Visual Studio Profiling

MISCELLANEOUS TRICKS
    PERL_DESTRUCT_LEVEL
    Leaked SV spotting: sv_mark_arenas() and sv_sweep_arenas()
    PERL_MEM_LOG
    DDD over gdb
    C backtrace
        Linux, OS X, get_c_backtrace, free_c_backtrace, get_c_backtrace_dump, dump_c_backtrace

    Poison
    Read-only optrees
    When is a bool not a bool?
    Finding unsafe truncations
    The .i Targets

AUTHOR

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

DESCRIPTION
GOVERNANCE
    Perl 5 Porters

VERSIONING
MAINTENANCE AND SUPPORT
BACKWARD COMPATIBILITY AND DEPRECATION
    Terminology
        experimental, deprecated, discouraged, removed

MAINTENANCE BRANCHES
    Getting changes into a maint branch

CONTRIBUTED MODULES
    A Social Contract about Artistic Control

DOCUMENTATION
STANDARDS OF CONDUCT
CREDITS

  perlgov - Perl Rules of Governance

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

    The Core Team
    The Steering Council
    The Vote Administrator

Steering Council and Core Team Members
    Steering Council Members
        Aristotle Pagaltzis, Leon Timmermans, Paul Evans

    Core Team Members
        Andreas König <andk@cpan.org>, 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>, Lukas Mai <lukasmai.403+p5p@gmail.com>, Matthew Horsfall <wolfsage@gmail.com>, Max Maischein <cpan@corion.net>, Neil Bowers <neilb@neilb.org>, Nicholas Clark <nick@ccl4.org>, Nicolas R <nicolas@atoomic.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>, Thibault Duponchelle <thibault.duponchelle@gmail.com>, Todd Rinaldo <toddr@cpanel.net>, Tony Cook <tony@develop-help.com>, Yves Orton <demerphq@gmail.com>, Abhijit Menon-Sen <ams@toroid.org>, Andy Dougherty <doughera@lafayette.edu>, David Golden <xdg@xdg.me>, Jan Dubois <jan@jandubois.com>, Jason McIntosh <jmac@jmac.org>, Jesse Vincent <jesse@fsck.com>

  perlgit - Detailed information about git and the Perl repository

DESCRIPTION
CLONING THE REPOSITORY
WORKING WITH THE REPOSITORY
    Finding out your status
    Patch workflow
    A note on derived files
    Cleaning a working directory
    Bisecting
    Topic branches and rewriting history
    Grafts

WRITE ACCESS TO THE GIT REPOSITORY
    Working with GitHub pull requests
    Accepting a patch
    Committing to blead
    On merging and rebasing
    Committing to maintenance versions
    Using a smoke-me branch to test changes

  perlhist - the Perl history records

DESCRIPTION
INTRODUCTION
THE KEEPERS OF THE PUMPKIN
    PUMPKIN?

THE RECORDS
    SELECTED RELEASE SIZES
    SELECTED PATCH SIZES

THE KEEPERS OF THE RECORDS

  perldelta - what is new for perl v5.44.0

DESCRIPTION
Core Enhancements
    Named Parameters in Signatures
    Multi-variable "foreach" can now use aliased references
    Enhanced operation of regular expression patterns under /xx
    Unicode 17.0 is supported
    New source of entropy for PRNG seeding

Security
    CVE-2026-8376 - Buffer overflow in Perl_study_chunk
    CVE-2026-57432 - Buffer overflow in S_measure_struct
    CVE-2026-13221 - Regex trie 16-bit field overflow

Incompatible Changes
    Unicode rules are now fully enforced on identifier and regular expression group names.

Deprecations
Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    Changes to Existing Diagnostics
        old message, new message

    New Diagnostics

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        Windows, Fix builds with "USE_IMP_SYS" defined but "USE_ITHREADS" not defined, OpenBSD, When testing embedding, ensure we link against the correct static libperl. [GH #22125 <https://github.com/Perl/perl5/issues/22125>], AIX, Thread-safe locale handling has been turned off on all releases due to apparent bugs in the underlying operating system support, The ibm-clang/ibm-clang_r IBM Open XL C/C++ compiler is now supported for AIX 7.2 and 7.3. This is the recommended compiler to use when compiling Perl on these versions of AIX, z/OS, clang is now the only supported compiler, A single test failure remains for the core Perl test suite, Some cpan modules shipped with core have known problems:, Encode, ExtUtils-MakeMaker, HTTP-Tiny, IO-Compress, JSON-PP, libnet, MIME-Base64, PerlIO-via-QuotedPrint, Pod-Checker, podlators, Pod-Simple, You can get a perl that works in ASCII mode

Internal Changes
Selected Bug Fixes
    INTERFACE keyword in XS, "&CORE::__CLASS__" no longer returns invalid results, parse_subsignature() can now handle empty subroutine signatures

Known Problems
Obituary
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5440delta, perldelta - what is new for perl v5.44.0

DESCRIPTION
Core Enhancements
    Named Parameters in Signatures
    Multi-variable "foreach" can now use aliased references
    Enhanced operation of regular expression patterns under /xx
    Unicode 17.0 is supported
    New source of entropy for PRNG seeding

Security
    CVE-2026-8376 - Buffer overflow in Perl_study_chunk
    CVE-2026-57432 - Buffer overflow in S_measure_struct
    CVE-2026-13221 - Regex trie 16-bit field overflow

Incompatible Changes
    Unicode rules are now fully enforced on identifier and regular expression group names.

Deprecations
Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    Changes to Existing Diagnostics
        old message, new message

    New Diagnostics

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        Windows, Fix builds with "USE_IMP_SYS" defined but "USE_ITHREADS" not defined, OpenBSD, When testing embedding, ensure we link against the correct static libperl. [GH #22125 <https://github.com/Perl/perl5/issues/22125>], AIX, Thread-safe locale handling has been turned off on all releases due to apparent bugs in the underlying operating system support, The ibm-clang/ibm-clang_r IBM Open XL C/C++ compiler is now supported for AIX 7.2 and 7.3. This is the recommended compiler to use when compiling Perl on these versions of AIX, z/OS, clang is now the only supported compiler, A single test failure remains for the core Perl test suite, Some cpan modules shipped with core have known problems:, Encode, ExtUtils-MakeMaker, HTTP-Tiny, IO-Compress, JSON-PP, libnet, MIME-Base64, PerlIO-via-QuotedPrint, Pod-Checker, podlators, Pod-Simple, You can get a perl that works in ASCII mode

Internal Changes
Selected Bug Fixes
    INTERFACE keyword in XS, "&CORE::__CLASS__" no longer returns invalid results, parse_subsignature() can now handle empty subroutine signatures

Known Problems
Obituary
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5422delta - what is new for perl v5.42.2

DESCRIPTION
Security
    [CVE-2026-4176] Vulnerability in Compress::Raw::Zlib

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5421delta - what is new for perl v5.42.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        AIX, Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5420delta - what is new for perl v5.42.0

DESCRIPTION
Core Enhancements
    More CORE:: subs
    New pragma "source::encoding"
    New ":writer" attribute on field variables
    New "any" and "all" operators
    Apostrophe as a global name separator can be disabled
    Lexical method declaration using "my method"
    Lexical method invocation operator "->&"
    Switch and Smart Match operator kept, behind a feature
    Unicode 16.0 supported
    Assigning logical xor "^^=" operator

Security
    [CVE-2024-56406] Heap buffer overflow vulnerability with tr//
    [CVE-2025-40909] Perl threads have a working directory race condition where file operations may target unintended paths

Incompatible Changes
    Removed containing function references for functions without eval

Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Utility Changes
    Porting/test-dist-modules.pl

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        arm64 Darwin, Android, Cygwin, MacOS (Darwin)

Internal Changes
Selected Bug Fixes
Obituaries
    Abe Timmerman
    Andrew Main

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5404delta - what is new for perl v5.40.4

DESCRIPTION
Security
    [CVE-2026-4176] Vulnerability in Compress::Raw::Zlib

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5403delta - what is new for perl v5.40.3

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

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5402delta - what is new for perl v5.40.2

DESCRIPTION
Security
    [CVE-2024-56406] Heap buffer overflow vulnerability with tr//

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5401delta - what is new for perl v5.40.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

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

  perl5400delta - what is new for perl v5.40.0

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

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

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

Deprecations
Performance Enhancements
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support
    New Platforms
        Serenity OS

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

Internal Changes
Selected Bug Fixes
Known Problems
    perlivp is missing streamzip on Windows

Errata From Previous Releases
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5385delta - what is new for perl v5.38.5

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

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5384delta - what is new for perl v5.38.4

DESCRIPTION
Security
    [CVE-2024-56406] Heap buffer overflow vulnerability with tr//

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5383delta - what is new for perl v5.38.3

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5382delta - what is new for perl v5.38.2

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

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5381delta - what is new for perl v5.38.1

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

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5380delta - what is new for perl v5.38.0

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

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

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

Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support
    Discontinued Platforms
        Ultrix

    Platform-Specific Notes
        DragonflyBSD, FreeBSD, Solaris, Synology, Windows

Internal Changes
    "newSVbool(const bool bool_val)", newSV_true(), newSV_false(), "sv_set_true(SV *sv)", "sv_set_false(SV *sv)", "sv_set_bool(SV *sv, const bool bool_val)", SvIandPOK(sv), SvIandPOK_off(sv), "SvIandPOK_on", I32df -- Like %d, U32of -- Like %o, U32uf -- Like %u, U32xf -- Like %x, U32Xf -- Like %X

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5363delta - what is new for perl v5.36.3

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

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5362delta - what is new for perl v5.36.2

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

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5361delta - what is new for perl v5.36.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

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

  perl5360delta - what is new for perl v5.36.0

DESCRIPTION
Core Enhancements
    "use v5.36"
    -g command-line flag
    Unicode 14.0 is supported
    regex sets are no longer considered experimental
    Variable length lookbehind is mostly no longer considered experimental
    SIGFPE no longer deferred
    Stable boolean tracking
    iterating over multiple values at a time (experimental)
    builtin functions (experimental)
        builtin::trim, builtin::indexed, builtin::true, builtin::false, builtin::is_bool, builtin::weaken, builtin::unweaken, builtin::is_weak, builtin::blessed, builtin::refaddr, builtin::reftype, builtin::ceil, builtin::floor

    "defer" blocks (experimental)
    try/catch can now have a "finally" block (experimental)
    non-ASCII delimiters for quote-like operators (experimental)
    @_ is now experimental within signatured subs

Incompatible Changes
    A physically empty sort is now a compile-time error

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

Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support
    Windows
    VMS "keys %ENV" on VMS returns consistent results

    Discontinued Platforms
        AT&T UWIN, DOS/DJGPP, NetWare

    Platform-Specific Notes
        z/OS

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

  perl5343delta - what is new for perl v5.34.3

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

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5342delta - what is new for perl v5.34.2

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

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5341delta - what is new for perl v5.34.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Testing
    Platform-Specific Notes
        Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5340delta - what is new for perl v5.34.0

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

Blanks freely allowed within but adjacent to curly braces
New octal syntax "0oddddd"

Performance Enhancements
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

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

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

Testing
Platform Support
    New Platforms
        9front

    Updated Platforms
        Plan9, MacOS (Darwin)

    Discontinued Platforms
        Symbian

    Platform-Specific Notes
        DragonFlyBSD, Mac OS X, Windows, z/OS

Internal Changes
Selected Bug Fixes
    pack/unpack format 'D' now works on all systems that could support it

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

  perl5321delta - what is new for perl v5.32.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        MacOS (Darwin), Minix

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5320delta - what is new for perl v5.32.0

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

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

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

Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

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

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Utility Changes
    perlbug
        The bug tracker homepage URL now points to GitHub

    streamzip

Configuration and Compilation
    Configure

Testing
Platform Support
    Discontinued Platforms
        Windows CE

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

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

  perl5303delta - what is new for perl v5.30.3

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

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5302delta - what is new for perl v5.30.2

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5301delta - what is new for perl v5.30.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5300delta - what is new for perl v5.30.0

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

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

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

Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    Changes to Existing Diagnostics

Utility Changes
    xsubpp

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

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

  perl5283delta - what is new for perl v5.28.3

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

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Testing
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5282delta - what is new for perl v5.28.2

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

Modules and Pragmata
    Updated Modules and Pragmata

Platform Support
    Platform-Specific Notes
        Windows, Mac OS X

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5281delta - what is new for perl v5.28.1

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

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5280delta - what is new for perl v5.28.0

DESCRIPTION
Core Enhancements
    Unicode 10.0 is supported
    "delete" on key/value hash slices
    Experimentally, there are now alphabetic synonyms for some regular expression assertions
    Mixed Unicode scripts are now detectable
    In-place editing with "perl -i" is now safer
    Initialisation of aggregate state variables
    Full-size inode numbers
    The "sprintf" %j format size modifier is now available with pre-C99 compilers
    Close-on-exec flag set atomically
    String- and number-specific bitwise ops are no longer experimental
    Locales are now thread-safe on systems that support them
    New read-only predefined variable "${^SAFE_LOCALES}"

Security
    [CVE-2017-12837] Heap buffer overflow in regular expression compiler
    [CVE-2017-12883] Buffer over-read in regular expression parser
    [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows
    Default Hash Function Change

Incompatible Changes
    Subroutine attribute and signature order
    Comma-less variable lists in formats are no longer allowed
    The ":locked" and ":unique" attributes have been removed
    "\N{}" with nothing between the braces is now illegal
    Opening the same symbol as both a file and directory handle is no longer allowed
    Use of bare "<<" to mean "<<""" is no longer allowed
    Setting $/ to a reference to a non-positive integer no longer allowed
    Unicode code points with values exceeding "IV_MAX" are now fatal
    The "B::OP::terse" method has been removed
    Use of inherited AUTOLOAD for non-methods is no longer allowed
    Use of strings with code points over 0xFF is not allowed for bitwise string operators
    Setting "${^ENCODING}" to a defined value is now illegal
    Backslash no longer escapes colon in PATH for the "-S" switch
    the -DH (DEBUG_H) misfeature has been removed
    Yada-yada is now strictly a statement
    Sort algorithm can no longer be specified
    Over-radix digits in floating point literals
    Return type of unpackstring()

Deprecations
    Use of "vec" on strings with code points above 0xFF is deprecated
    Some uses of unescaped "{" in regexes are no longer fatal
    Use of unescaped "{" immediately after a "(" in regular expression patterns is deprecated
    Assignment to $[ will be fatal in Perl 5.30
    hostname() won't accept arguments in Perl 5.32
    Module removals
        B::Debug, Locale::Codes and its associated Country, Currency and Language modules

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

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

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Utility Changes
    perlbug

Configuration and Compilation
    C89 requirement, New probes, HAS_BUILTIN_ADD_OVERFLOW, HAS_BUILTIN_MUL_OVERFLOW, HAS_BUILTIN_SUB_OVERFLOW, HAS_THREAD_SAFE_NL_LANGINFO_L, HAS_LOCALECONV_L, HAS_MBRLEN, HAS_MBRTOWC, HAS_MEMRCHR, HAS_NANOSLEEP, HAS_STRNLEN, HAS_STRTOLD_L, I_WCHAR

Testing
Packaging
Platform Support
    Discontinued Platforms
        PowerUX / Power MAX OS

    Platform-Specific Notes
        CentOS, Cygwin, Darwin, FreeBSD, VMS, Windows

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

  perl5263delta - what is new for perl v5.26.3

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

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5262delta - what is new for perl v5.26.2

DESCRIPTION
Security
    [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c)
    [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c)
    [CVE-2018-6913] heap-buffer-overflow in S_pack_rec
    Assertion failure in Perl__core_swash_init (utf8.c)

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Platform Support
    Platform-Specific Notes
        Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5261delta - what is new for perl v5.26.1

DESCRIPTION
Security
    [CVE-2017-12837] Heap buffer overflow in regular expression compiler
    [CVE-2017-12883] Buffer over-read in regular expression parser
    [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Platform Support
    Platform-Specific Notes
        FreeBSD, Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
Give Thanks
SEE ALSO

  perl5260delta - what is new for perl v5.26.0

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

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

Security
    Removal of the current directory (".") from @INC
        Configure -Udefault_inc_excludes_dot, "PERL_USE_UNSAFE_INC", A new deprecation warning issued by "do", Script authors, Installing and using CPAN modules, Module Authors

    Escaped colons and relative paths in PATH
    New "-Di" switch is now required for PerlIO debugging output

Incompatible Changes
    Unescaped literal "{" characters in regular expression patterns are no longer permissible
    scalar(%hash) return signature changed
    "keys" returned from an lvalue subroutine
    The "${^ENCODING}" facility has been removed
    POSIX::tmpnam() has been removed
    require ::Foo::Bar is now illegal
    Literal control character variable names are no longer permissible
    "NBSP" is no longer permissible in "\N{...}"

Deprecations
    String delimiters that aren't stand-alone graphemes are now deprecated
    "\cX" that maps to a printable is no longer deprecated

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

Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Utility Changes
    c2ph and pstruct
    Porting/pod_lib.pl
    Porting/sync-with-cpan
    perf/benchmarks
    Porting/checkAUTHORS.pl
    t/porting/regen.t
    utils/h2xs.PL
    perlbug

Configuration and Compilation
Testing
Platform Support
    New Platforms
        NetBSD/VAX

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

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

  perl5244delta - what is new for perl v5.24.4

DESCRIPTION
Security
    [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c)
    [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c)
    [CVE-2018-6913] heap-buffer-overflow in S_pack_rec
    Assertion failure in Perl__core_swash_init (utf8.c)

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5243delta - what is new for perl v5.24.3

DESCRIPTION
Security
    [CVE-2017-12837] Heap buffer overflow in regular expression compiler
    [CVE-2017-12883] Buffer over-read in regular expression parser
    [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Configuration and Compilation
Platform Support
    Platform-Specific Notes
        VMS, Windows

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5242delta - what is new for perl v5.24.2

DESCRIPTION
Security
    Improved handling of '.' in @INC in base.pm
    "Escaped" colons and relative paths in PATH

Modules and Pragmata
    Updated Modules and Pragmata

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5241delta - what is new for perl v5.24.1

DESCRIPTION
Security
    -Di switch is now required for PerlIO debugging output
    Core modules and tools no longer search "." for optional modules

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5240delta - what is new for perl v5.24.0

DESCRIPTION
Core Enhancements
    Postfix dereferencing is no longer experimental
    Unicode 8.0 is now supported
    perl will now croak when closing an in-place output file fails
    New "\b{lb}" boundary in regular expressions
    "qr/(?[ ])/" now works in UTF-8 locales
    Integer shift ("<<" and ">>") now more explicitly defined
    printf and sprintf now allow reordered precision arguments
    More fields provided to "sigaction" callback with "SA_SIGINFO"
    Hashbang redirection to Perl 6

Security
    Set proper umask before calling mkstemp(3)
    Fix out of boundary access in Win32 path handling
    Fix loss of taint in canonpath
    Avoid accessing uninitialized memory in win32 crypt()
    Remove duplicate environment variables from "environ"

Incompatible Changes
    The "autoderef" feature has been removed
    Lexical $_ has been removed
    "qr/\b{wb}/" is now tailored to Perl expectations
    Regular expression compilation errors
    "qr/\N{}/" now disallowed under "use re "strict""
    Nested declarations are now disallowed
    The "/\C/" character class has been removed
    chdir('') no longer chdirs home
    ASCII characters in variable names must now be all visible
    An off by one issue in $Carp::MaxArgNums has been fixed
    Only blanks and tabs are now allowed within "[...]" within "(?[...])"

Deprecations
    Using code points above the platform's "IV_MAX" is now deprecated
    Doing bitwise operations on strings containing code points above 0xFF is deprecated
    sysread(), syswrite(), recv() and send() are deprecated on :utf8 handles

Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Configuration and Compilation
Testing
Platform Support
    Platform-Specific Notes
        AmigaOS, Cygwin, EBCDIC, UTF-EBCDIC extended, EBCDIC cmp() and sort() fixed for UTF-EBCDIC strings, EBCDIC "tr///" and "y///" fixed for "\N{}", and "use utf8" ranges, FreeBSD, IRIX, MacOS X, Solaris, Tru64, VMS, Win32, ppc64el, floating point

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5224delta - what is new for perl v5.22.4

DESCRIPTION
Security
    Improved handling of '.' in @INC in base.pm
    "Escaped" colons and relative paths in PATH

Modules and Pragmata
    Updated Modules and Pragmata

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5223delta - what is new for perl v5.22.3

DESCRIPTION
Security
    -Di switch is now required for PerlIO debugging output
    Core modules and tools no longer search "." for optional modules

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Testing
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5222delta - what is new for perl v5.22.2

DESCRIPTION
Security
    Fix out of boundary access in Win32 path handling
    Fix loss of taint in canonpath()
    Set proper umask before calling mkstemp(3)
    Avoid accessing uninitialized memory in Win32 crypt()
    Remove duplicate environment variables from "environ"

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

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

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5221delta - what is new for perl v5.22.1

DESCRIPTION
Incompatible Changes
    Bounds Checking Constructs

Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    Changes to Existing Diagnostics

Configuration and Compilation
Platform Support
    Platform-Specific Notes
        IRIX

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5220delta - what is new for perl v5.22.0

DESCRIPTION
Core Enhancements
    New bitwise operators
    New double-diamond operator
    New "\b" boundaries in regular expressions
    Non-Capturing Regular Expression Flag
    "use re 'strict'"
    Unicode 7.0 (with correction) is now supported
    "use locale" can restrict which locale categories are affected
    Perl now supports POSIX 2008 locale currency additions
    Better heuristics on older platforms for determining locale UTF-8ness
    Aliasing via reference
    "prototype" with no arguments
    New ":const" subroutine attribute
    "fileno" now works on directory handles
    List form of pipe open implemented for Win32
    Assignment to list repetition
    Infinity and NaN (not-a-number) handling improved
    Floating point parsing has been improved
    Packing infinity or not-a-number into a character is now fatal
    Experimental C Backtrace API

Security
    Perl is now compiled with "-fstack-protector-strong" if available
    The Safe module could allow outside packages to be replaced
    Perl is now always compiled with "-D_FORTIFY_SOURCE=2" if available

Incompatible Changes
    Subroutine signatures moved before attributes
    "&" and "\&" prototypes accepts only subs
    "use encoding" is now lexical
    List slices returning empty lists
    "\N{}" with a sequence of multiple spaces is now a fatal error
    "use UNIVERSAL '...'" is now a fatal error
    In double-quotish "\cX", X must now be a printable ASCII character
    Splitting the tokens "(?" and "(*" in regular expressions is now a fatal compilation error
    "qr/foo/x" now ignores all Unicode pattern white space
    Comment lines within "(?[ ])" are now ended only by a "\n"
    "(?[...])" operators now follow standard Perl precedence
    Omitting "%" and "@" on hash and array names is no longer permitted
    "$!" text is now in English outside the scope of "use locale"
    "$!" text will be returned in UTF-8 when appropriate
    Support for "?PATTERN?" without explicit operator has been removed
    defined(@array) and defined(%hash) are now fatal errors
    Using a hash or an array as a reference are now fatal errors
    Changes to the "*" prototype

Deprecations
    Setting "${^ENCODING}" to anything but "undef"
    Use of non-graphic characters in single-character variable names
    Inlining of "sub () { $var }" with observable side-effects
    Use of multiple "/x" regexp modifiers
    Using a NO-BREAK space in a character alias for "\N{...}" is now deprecated
    A literal "{" should now be escaped in a pattern
    Making all warnings fatal is discouraged

Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics
    Diagnostic Removals

Utility Changes
    find2perl, s2p and a2p removal
    h2ph
    encguess

Configuration and Compilation
Testing
Platform Support
    Regained Platforms
        IRIX and Tru64 platforms are working again, z/OS running EBCDIC Code Page 1047

    Discontinued Platforms
        NeXTSTEP/OPENSTEP

    Platform-Specific Notes
        EBCDIC, HP-UX, Android, VMS, Win32, OpenBSD, Solaris

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

  perl5203delta - what is new for perl v5.20.3

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Utility Changes
    h2ph

Testing
Platform Support
    Platform-Specific Notes
        Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5202delta - what is new for perl v5.20.2

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    Changes to Existing Diagnostics

Testing
Platform Support
    Regained Platforms

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

  perl5201delta - what is new for perl v5.20.1

DESCRIPTION
Incompatible Changes
Performance Enhancements
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Diagnostics
    Changes to Existing Diagnostics

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

Internal Changes
Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5200delta - what is new for perl v5.20.0

DESCRIPTION
Core Enhancements
    Experimental Subroutine signatures
    "sub"s now take a "prototype" attribute
    More consistent prototype parsing
    "rand" now uses a consistent random number generator
    New slice syntax
    Experimental Postfix Dereferencing
    Unicode 6.3 now supported
    New "\p{Unicode}" regular expression pattern property
    Better 64-bit support
    "use locale" now works on UTF-8 locales
    "use locale" now compiles on systems without locale ability
    More locale initialization fallback options
    "-DL" runtime option now added for tracing locale setting
    -F now implies -a and -a implies -n
    $a and $b warnings exemption

Security
    Avoid possible read of free()d memory during parsing

Incompatible Changes
    "do" can no longer be used to call subroutines
    Quote-like escape changes
    Tainting happens under more circumstances; now conforms to documentation
    "\p{}", "\P{}" matching has changed for non-Unicode code points.
    "\p{All}" has been expanded to match all possible code points
    Data::Dumper's output may change
    Locale decimal point character no longer leaks outside of "use locale" scope
    Assignments of Windows sockets error codes to $! now prefer errno.h values over WSAGetLastError() values
    Functions "PerlIO_vsprintf" and "PerlIO_sprintf" have been removed

Deprecations
    The "/\C/" character class
    Literal control characters in variable names
    References to non-integers and non-positive integers in $/
    Character matching routines in POSIX
    Interpreter-based threads are now discouraged
    Module removals
        CGI and its associated CGI:: packages, inc::latest, Package::Constants, Module::Build and its associated Module::Build:: packages

    Utility removals
        find2perl, s2p, a2p

Performance Enhancements
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Testing
Platform Support
    New Platforms
        Android, Bitrig, FreeMiNT, Synology

    Discontinued Platforms
        "sfio", AT&T 3b1, DG/UX, EBCDIC

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

Internal Changes
Selected Bug Fixes
    Regular Expressions
    Perl 5 Debugger and -d
    Lexical Subroutines
    Everything Else

Known Problems
Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5184delta - what is new for perl v5.18.4

DESCRIPTION
Modules and Pragmata
    Updated Modules and Pragmata

Platform Support
    Platform-Specific Notes
        Win32

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5182delta - what is new for perl v5.18.2

DESCRIPTION
Modules and Pragmata
    Updated Modules and Pragmata

Documentation
    Changes to Existing Documentation

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5181delta - what is new for perl v5.18.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Platform Support
    Platform-Specific Notes
        AIX, MidnightBSD

Selected Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5180delta - what is new for perl v5.18.0

DESCRIPTION
Core Enhancements
    New mechanism for experimental features
    Hash overhaul
    Upgrade to Unicode 6.2
    Character name aliases may now include non-Latin1-range characters
    New DTrace probes
    "${^LAST_FH}"
    Regular Expression Set Operations
    Lexical subroutines
    Computed Labels
    More CORE:: subs
    "kill" with negative signal names

Security
    See also: hash overhaul
    "Storable" security warning in documentation
    "Locale::Maketext" allowed code injection via a malicious template
    Avoid calling memset with a negative count

Incompatible Changes
    See also: hash overhaul
    An unknown character name in "\N{...}" is now a syntax error
    Formerly deprecated characters in "\N{}" character name aliases are now errors
    "\N{BELL}" now refers to U+1F514 instead of U+0007
    New Restrictions in Multi-Character Case-Insensitive Matching in Regular Expression Bracketed Character Classes
    Explicit rules for variable names and identifiers
    Vertical tabs are now whitespace
    "/(?{})/" and "/(??{})/" have been heavily reworked
    Stricter parsing of substitution replacement
    "given" now aliases the global $_
    The smartmatch family of features are now experimental
    Lexical $_ is now experimental
    readline() with "$/ = \N" now reads N characters, not N bytes
    Overridden "glob" is now passed one argument
    Here doc parsing
    Alphanumeric operators must now be separated from the closing delimiter of regular expressions
    qw(...) can no longer be used as parentheses
    Interaction of lexical and default warnings
    "state sub" and "our sub"
    Defined values stored in environment are forced to byte strings
    "require" dies for unreadable files
    "gv_fetchmeth_*" and SUPER
    "split"'s first argument is more consistently interpreted

Deprecations
    Module removals
        encoding, Archive::Extract, B::Lint, B::Lint::Debug, CPANPLUS and all included "CPANPLUS::*" modules, Devel::InnerPackage, Log::Message, Log::Message::Config, Log::Message::Handlers, Log::Message::Item, Log::Message::Simple, Module::Pluggable, Module::Pluggable::Object, Object::Accessor, Pod::LaTeX, Term::UI, Term::UI::History

    Deprecated Utilities
        cpanp, "cpanp-run-perl", cpan2dist, pod2latex

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

Future Deprecations
    DG/UX, NeXT

Performance Enhancements
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

Documentation
    Changes to Existing Documentation
    New Diagnostics
    Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Testing
Platform Support
    Discontinued Platforms
        BeOS, UTS Global, VM/ESA, MPE/IX, EPOC, Rhapsody

    Platform-Specific Notes

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

  perl5163delta - what is new for perl v5.16.3

DESCRIPTION
Core Enhancements
Security
    CVE-2013-1667: memory exhaustion with arbitrary hash keys
    wrap-around with IO on long strings
    memory leak in Encode

Incompatible Changes
Deprecations
Modules and Pragmata
    Updated Modules and Pragmata

Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5162delta - what is new for perl v5.16.2

DESCRIPTION
Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Configuration and Compilation
    configuration should no longer be confused by ls colorization

Platform Support
    Platform-Specific Notes
        AIX

Selected Bug Fixes
    fix /\h/ equivalence with /[\h]/

Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5161delta - what is new for perl v5.16.1

DESCRIPTION
Security
    an off-by-two error in Scalar-List-Util has been fixed

Incompatible Changes
Modules and Pragmata
    Updated Modules and Pragmata

Configuration and Compilation
Platform Support
    Platform-Specific Notes
        VMS

Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5160delta - what is new for perl v5.16.0

DESCRIPTION
Notice
Core Enhancements
    "use VERSION"
    "__SUB__"
    New and Improved Built-ins
    Unicode Support
    XS Changes
    Changes to Special Variables
    Debugger Changes
    The "CORE" Namespace
    Other Changes

Security
    Use is_utf8_char_buf() and not is_utf8_char()
    Malformed UTF-8 input could cause attempts to read beyond the end of the buffer
    File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728)
    Privileges are now set correctly when assigning to $(

Deprecations
    Don't read the Unicode data base files in lib/unicore
    XS functions is_utf8_char(), utf8_to_uvchr() and utf8_to_uvuni()

Future Deprecations
    Core Modules
    Platforms with no supporting programmers
    Other Future Deprecations

Incompatible Changes
    Special blocks called in void context
    The "overloading" pragma and regexp objects
    Two XS typemap Entries removed
    Unicode 6.1 has incompatibilities with Unicode 6.0
    Borland compiler
    Certain deprecated Unicode properties are no longer supported by default
    Dereferencing IO thingies as typeglobs
    User-defined case-changing operations
    XSUBs are now 'static'
    Weakening read-only references
    Tying scalars that hold typeglobs
    IPC::Open3 no longer provides xfork(), xclose_on_exec() and xpipe_anon()
    $$ no longer caches PID
    $$ and getppid() no longer emulate POSIX semantics under LinuxThreads
    $<, $>, $( and $) are no longer cached
    Which Non-ASCII characters get quoted by "quotemeta" and "\Q" has changed

Performance Enhancements
Modules and Pragmata
    Deprecated Modules
        Version::Requirements

    New Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation
    Removed Documentation

Diagnostics
    New Diagnostics
    Removed Errors
    Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Platform Support
    Platform-Specific Notes

Internal Changes
Selected Bug Fixes
    Array and hash
    C API fixes
    Compile-time hints
    Copy-on-write scalars
    The debugger
    Dereferencing operators
    Filehandle, last-accessed
    Filetests and "stat"
    Formats
    "given" and "when"
    The "glob" operator
    Lvalue subroutines
    Overloading
    Prototypes of built-in keywords
    Regular expressions
    Smartmatching
    The "sort" operator
    The "substr" operator
    Support for embedded nulls
    Threading bugs
    Tied variables
    Version objects and vstrings
    Warnings, redefinition
    Warnings, "Uninitialized"
    Weak references
    Other notable fixes

Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5144delta - what is new for perl v5.14.4

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

Incompatible Changes
Deprecations
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata
        Socket, SDBM_File, List::Util

    Removed Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
Utility Changes
Configuration and Compilation
Platform Support
    New Platforms
    Discontinued Platforms
    Platform-Specific Notes
        VMS

Selected Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5143delta - what is new for perl v5.14.3

DESCRIPTION
Core Enhancements
Security
    "Digest" unsafe use of eval (CVE-2011-3597)
    Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)

Incompatible Changes
Deprecations
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Configuration and Compilation
Platform Support
    New Platforms
    Discontinued Platforms
    Platform-Specific Notes
        FreeBSD, Solaris and NetBSD, HP-UX, Linux, Mac OS X, GNU/Hurd, NetBSD

Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5142delta - what is new for perl v5.14.2

DESCRIPTION
Core Enhancements
Security
    File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728)
    "Encode" decode_xs n-byte heap-overflow (CVE-2011-2939)

Incompatible Changes
Deprecations
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

Platform Support
    New Platforms
    Discontinued Platforms
    Platform-Specific Notes
        HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode 4 works again

Bug Fixes
Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5141delta - what is new for perl v5.14.1

DESCRIPTION
Core Enhancements
Security
Incompatible Changes
Deprecations
Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragmata
    Removed Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
    Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Testing
Platform Support
    New Platforms
    Discontinued Platforms
    Platform-Specific Notes

Internal Changes
Bug Fixes
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5140delta - what is new for perl v5.14.0

DESCRIPTION
Notice
Core Enhancements
    Unicode
    Regular Expressions
    Syntactical Enhancements
    Exception Handling
    Other Enhancements
        "-d:-foo", "-d:-foo=bar"

    New C APIs

Security
    User-defined regular expression properties

Incompatible Changes
    Regular Expressions and String Escapes
    Stashes and Package Variables
    Changes to Syntax or to Perl Operators
    Threads and Processes
    Configuration

Deprecations
    Omitting a space between a regular expression and subsequent word
    "\cX"
    "\b{" and "\B{"
    Perl 4-era .pl libraries
    List assignment to $[
    Use of qw(...) as parentheses
    "\N{BELL}"
    "?PATTERN?"
    Tie functions on scalars holding typeglobs
    User-defined case-mapping
    Deprecated modules
        Devel::DProf

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

Modules and Pragmata
    New Modules and Pragmata
    Updated Modules and Pragma
        much less configuration dialog hassle, support for META/MYMETA.json, support for local::lib, support for HTTP::Tiny to reduce the dependency on FTP sites, automatic mirror selection, iron out all known bugs in configure_requires, support for distributions compressed with bzip2(1), allow Foo/Bar.pm on the command line to mean "Foo::Bar", charinfo(), charscript(), charblock()

    Removed Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Diagnostics
    New Diagnostics
        Closure prototype called, Insecure user-defined property %s, panic: gp_free failed to free glob pointer - something is repeatedly re-creating entries, Parsing code internal error (%s), refcnt: fd %d%s, Regexp modifier "/%c" may not appear twice, Regexp modifiers "/%c" and "/%c" are mutually exclusive, Using !~ with %s doesn't make sense, "\b{" is deprecated; use "\b\{" instead, "\B{" is deprecated; use "\B\{" instead, Operation "%s" returns its argument for .., Use of qw(...) as parentheses is deprecated

    Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Platform Support
    New Platforms
        AIX

    Discontinued Platforms
        Apollo DomainOS, MacOS Classic

    Platform-Specific Notes

Internal Changes
    New APIs
    C API Changes
    Deprecated C APIs
        "Perl_ptr_table_clear", "sv_compile_2op", "find_rundefsvoffset", "CALL_FPTR" and "CPERLscope"

    Other Internal Changes

Selected Bug Fixes
    I/O
    Regular Expression Bug Fixes
    Syntax/Parsing Bugs
    Stashes, Globs and Method Lookup
        Aliasing packages by assigning to globs [perl #77358], Deleting packages by deleting their containing stash elements, Undefining the glob containing a package ("undef *Foo::"), Undefining an ISA glob ("undef *Foo::ISA"), Deleting an ISA stash element ("delete $Foo::{ISA}"), Sharing @ISA arrays between classes (via "*Foo::ISA = \@Bar::ISA" or "*Foo::ISA = *Bar::ISA") [perl #77238]

    Unicode
    Ties, Overloading and Other Magic
    The Debugger
    Threads
    Scoping and Subroutines
    Signals
    Miscellaneous Memory Leaks
    Memory Corruption and Crashes
    Fixes to Various Perl Operators
    Bugs Relating to the C API

Known Problems
Errata
    keys(), values(), and each() work on arrays
    split() and @_

Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5125delta - what is new for perl v5.12.5

DESCRIPTION
Security
    "Encode" decode_xs n-byte heap-overflow (CVE-2011-2939)
    File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728)
    Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)

Incompatible Changes
Modules and Pragmata
    Updated Modules

Changes to Existing Documentation
    perlebcdic
    perlunicode
    perluniprops

Installation and Configuration Improvements
    Platform Specific Changes
        Mac OS X, NetBSD

Selected Bug Fixes
Errata
    split() and @_

Acknowledgements
Reporting Bugs
SEE ALSO

  perl5124delta - what is new for perl v5.12.4

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

Acknowledgements
Reporting Bugs
SEE ALSO

  perl5123delta - what is new for perl v5.12.3

DESCRIPTION
Incompatible Changes
Core Enhancements
    "keys", "values" work on arrays

Bug Fixes
Platform Specific Notes
    Solaris, VMS, VOS

Acknowledgements
Reporting Bugs
SEE ALSO

  perl5122delta - what is new for perl v5.12.2

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
    New Modules and Pragmata
    Pragmata Changes
    Updated Modules
        "Carp", "CPANPLUS", "File::Glob", "File::Copy", "File::Spec"

Utility Changes
Changes to Existing Documentation
Installation and Configuration Improvements
    Configuration improvements
    Compilation improvements

Selected Bug Fixes
Platform Specific Notes
    AIX
    Windows
    VMS

Acknowledgements
Reporting Bugs
SEE ALSO

  perl5121delta - what is new for perl v5.12.1

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

Changes to Existing Documentation
Testing
    Testing Improvements

Installation and Configuration Improvements
    Configuration improvements

Bug Fixes
Platform Specific Notes
    HP-UX
    AIX
    FreeBSD 7
    VMS

Known Problems
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5120delta - what is new for perl v5.12.0

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

Potentially Incompatible Changes
    Deprecations warn by default
    Version number formats
    @INC reorganization
    REGEXPs are now first class
    Switch statement changes
        flip-flop operators, defined-or operator

    Smart match changes
    Other potentially incompatible changes

Deprecations
    suidperl, Use of ":=" to mean an empty attribute list, "UNIVERSAL->import()", Use of "goto" to jump into a construct, Custom character names in \N{name} that don't look like names, Deprecated Modules, Class::ISA, Pod::Plainer, Shell, Switch, Assignment to $[, Use of the attribute :locked on subroutines, Use of "locked" with the attributes pragma, Use of "unique" with the attributes pragma, Perl_pmflag, Numerous Perl 4-era libraries

Unicode overhaul
Modules and Pragmata
    New Modules and Pragmata
        "autodie", "Compress::Raw::Bzip2", "overloading", "parent", "Parse::CPAN::Meta", "VMS::DCLsym", "VMS::Stdio", "XS::APItest::KeywordRPN"

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

    Updated Modules
        "Archive::Extract", "Archive::Tar", "Attribute::Handlers", "AutoLoader", "B::Concise", "B::Debug", "B::Deparse", "B::Lint", "CGI", "Class::ISA", "Compress::Raw::Zlib", "CPAN", "CPANPLUS", "CPANPLUS::Dist::Build", "Data::Dumper", "DB_File", "Devel::PPPort", "Digest", "Digest::MD5", "Digest::SHA", "Encode", "Exporter", "ExtUtils::CBuilder", "ExtUtils::Command", "ExtUtils::Constant", "ExtUtils::Install", "ExtUtils::MakeMaker", "ExtUtils::Manifest", "ExtUtils::ParseXS", "File::Fetch", "File::Path", "File::Temp", "Filter::Simple", "Filter::Util::Call", "Getopt::Long", "IO", "IO::Zlib", "IPC::Cmd", "IPC::SysV", "Locale::Maketext", "Locale::Maketext::Simple", "Log::Message", "Log::Message::Simple", "Math::BigInt", "Math::BigInt::FastCalc", "Math::BigRat", "Math::Complex", "Memoize", "MIME::Base64", "Module::Build", "Module::CoreList", "Module::Load", "Module::Load::Conditional", "Module::Loaded", "Module::Pluggable", "Net::Ping", "NEXT", "Object::Accessor", "Package::Constants", "PerlIO", "Pod::Parser", "Pod::Perldoc", "Pod::Plainer", "Pod::Simple", "Safe", "SelfLoader", "Storable", "Switch", "Sys::Syslog", "Term::ANSIColor", "Term::UI", "Test", "Test::Harness", "Test::Simple", "Text::Balanced", "Text::ParseWords", "Text::Soundex", "Thread::Queue", "Thread::Semaphore", "Tie::RefHash", "Time::HiRes", "Time::Local", "Time::Piece", "Unicode::Collate", "Unicode::Normalize", "Win32", "Win32API::File", "XSLoader"

    Removed Modules and Pragmata
        "attrs", "CPAN::API::HOWTO", "CPAN::DeferedCode", "CPANPLUS::inc", "DCLsym", "ExtUtils::MakeMaker::bytes", "ExtUtils::MakeMaker::vmsish", "Stdio", "Test::Harness::Assert", "Test::Harness::Iterator", "Test::Harness::Point", "Test::Harness::Results", "Test::Harness::Straps", "Test::Harness::Util", "XSSymSet"

    Deprecated Modules and Pragmata

Documentation
    New Documentation
    Changes to Existing Documentation

Selected Performance Enhancements
Installation and Configuration Improvements
Internal Changes
Testing
    Testing improvements
        Parallel tests, Test harness flexibility, Test watchdog

    New Tests

New or Changed Diagnostics
    New Diagnostics
    Changed Diagnostics
        "Illegal character in prototype for %s : %s", "Prototype after '%c' for %s : %s"

Utility Changes
Selected Bug Fixes
Platform Specific Changes
    New Platforms
        Haiku, MirOS BSD

    Discontinued Platforms
        Domain/OS, MiNT, Tenon MachTen

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

Known Problems
Errata
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5101delta - what is new for perl v5.10.1

DESCRIPTION
Incompatible Changes
    Switch statement changes
        flip-flop operators, defined-or operator

    Smart match changes
    Other incompatible changes

Core Enhancements
    Unicode Character Database 5.1.0
    A proper interface for pluggable Method Resolution Orders
    The "overloading" pragma
    Parallel tests
    DTrace support
    Support for "configure_requires" in CPAN module metadata

Modules and Pragmata
    New Modules and Pragmata
        "autodie", "Compress::Raw::Bzip2", "parent", "Parse::CPAN::Meta"

    Pragmata Changes
        "attributes", "attrs", "base", "bigint", "bignum", "bigrat", "charnames", "constant", "feature", "fields", "lib", "open", "overload", "overloading", "version"

    Updated Modules
        "Archive::Extract", "Archive::Tar", "Attribute::Handlers", "AutoLoader", "AutoSplit", "B", "B::Debug", "B::Deparse", "B::Lint", "B::Xref", "Benchmark", "Carp", "CGI", "Compress::Zlib", "CPAN", "CPANPLUS", "CPANPLUS::Dist::Build", "Cwd", "Data::Dumper", "DB", "DB_File", "Devel::PPPort", "Digest::MD5", "Digest::SHA", "DirHandle", "Dumpvalue", "DynaLoader", "Encode", "Errno", "Exporter", "ExtUtils::CBuilder", "ExtUtils::Command", "ExtUtils::Constant", "ExtUtils::Embed", "ExtUtils::Install", "ExtUtils::MakeMaker", "ExtUtils::Manifest", "ExtUtils::ParseXS", "Fatal", "File::Basename", "File::Compare", "File::Copy", "File::Fetch", "File::Find", "File::Path", "File::Spec", "File::stat", "File::Temp", "FileCache", "FileHandle", "Filter::Simple", "Filter::Util::Call", "FindBin", "GDBM_File", "Getopt::Long", "Hash::Util::FieldHash", "I18N::Collate", "IO", "IO::Compress::*", "IO::Dir", "IO::Handle", "IO::Socket", "IO::Zlib", "IPC::Cmd", "IPC::Open3", "IPC::SysV", "lib", "List::Util", "Locale::MakeText", "Log::Message", "Math::BigFloat", "Math::BigInt", "Math::BigInt::FastCalc", "Math::BigRat", "Math::Complex", "Math::Trig", "Memoize", "Module::Build", "Module::CoreList", "Module::Load", "Module::Load::Conditional", "Module::Loaded", "Module::Pluggable", "NDBM_File", "Net::Ping", "NEXT", "Object::Accessor", "OS2::REXX", "Package::Constants", "PerlIO", "PerlIO::via", "Pod::Man", "Pod::Parser", "Pod::Simple", "Pod::Text", "POSIX", "Safe", "Scalar::Util", "SelectSaver", "SelfLoader", "Socket", "Storable", "Switch", "Symbol", "Sys::Syslog", "Term::ANSIColor", "Term::ReadLine", "Term::UI", "Test::Harness", "Test::Simple", "Text::ParseWords", "Text::Tabs", "Text::Wrap", "Thread::Queue", "Thread::Semaphore", "threads", "threads::shared", "Tie::RefHash", "Tie::StdHandle", "Time::HiRes", "Time::Local", "Time::Piece", "Unicode::Normalize", "Unicode::UCD", "UNIVERSAL", "Win32", "Win32API::File", "XSLoader"

Utility Changes
    h2ph, h2xs, perl5db.pl, perlthanks

New Documentation
    perlhaiku, perlmroapi, perlperf, perlrepository, perlthanks

Changes to Existing Documentation
Performance Enhancements
Installation and Configuration Improvements
    ext/ reorganisation
    Configuration improvements
    Compilation improvements
    Platform Specific Changes
        AIX, Cygwin, FreeBSD, Irix, Haiku, MirOS BSD, NetBSD, Stratus VOS, Symbian, Win32, VMS

Selected Bug Fixes
New or Changed Diagnostics
    "panic: sv_chop %s", "Can't locate package %s for the parents of %s", "v-string in use/require is non-portable", Deep recursion on subroutine "%s"

Changed Internals
    "SVf_UTF8", "SVs_TEMP"

New Tests
    t/comp/retainedlines.t, t/io/perlio_fail.t, t/io/perlio_leaks.t, t/io/perlio_open.t, t/io/perlio.t, t/io/pvbm.t, t/mro/package_aliases.t, t/op/dbm.t, t/op/index_thr.t, t/op/pat_thr.t, t/op/qr_gc.t, t/op/reg_email_thr.t, t/op/regexp_qr_embed_thr.t, t/op/regexp_unicode_prop.t, t/op/regexp_unicode_prop_thr.t, t/op/reg_nc_tie.t, t/op/reg_posixcc.t, t/op/re.t, t/op/setpgrpstack.t, t/op/substr_thr.t, t/op/upgrade.t, t/uni/lex_utf8.t, t/uni/tie.t

Known Problems
Deprecations
Acknowledgements
Reporting Bugs
SEE ALSO

  perl5100delta - what is new for perl 5.10.0

DESCRIPTION
Core Enhancements
    The "feature" pragma
    New -E command-line switch
    Defined-or operator
    Switch and Smart Match operator
    Regular expressions
        Recursive Patterns, Named Capture Buffers, Possessive Quantifiers, Backtracking control verbs, Relative backreferences, "\K" escape, Vertical and horizontal whitespace, and linebreak, Optional pre-match and post-match captures with the /p flag

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

    Miscellaneous
    UCD 5.0.0
    MAD
    kill() on Windows

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

Modules and Pragmata
    Upgrading individual core modules
    Pragmata Changes
        "feature", "mro", Scoping of the "sort" pragma, Scoping of "bignum", "bigint", "bigrat", "base", "strict" and "warnings", "version", "warnings", "less"

    New modules
    Selected Changes to Core Modules
        "Attribute::Handlers", "B::Lint", "B", "Thread"

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

New Documentation
Performance Enhancements
    In-place sorting
    Lexical array access
    XS-assisted SWASHGET
    Constant subroutines
    "PERL_DONT_CREATE_GVSV"
    Weak references are cheaper
    sort() enhancements
    Memory optimisations
    UTF-8 cache optimisation
    Sloppy stat on Windows
    Regular expressions optimisations
        Engine de-recursivised, Single char char-classes treated as literals, Trie optimisation of literal string alternations, Aho-Corasick start-point optimisation

Installation and Configuration Improvements
    Configuration improvements
        "-Dusesitecustomize", Relocatable installations, strlcat() and strlcpy(), "d_pseudofork" and "d_printf_format_null", Configure help

    Compilation improvements
        Parallel build, Borland's compilers support, Static build on Windows, ppport.h files, C++ compatibility, Support for Microsoft 64-bit compiler, Visual C++, Win32 builds

    Installation improvements
        Module auxiliary files

    New Or Improved Platforms

Selected Bug Fixes
    strictures in regexp-eval blocks, Calling CORE::require(), Subscripts of slices, "no warnings 'category'" works correctly with -w, threads improvements, chr() and negative values, PERL5SHELL and tainting, Using *FILE{IO}, Overloading and reblessing, Overloading and UTF-8, eval memory leaks fixed, Random device on Windows, PERLIO_DEBUG, PerlIO::scalar and read-only scalars, study() and UTF-8, Critical signals, @INC-hook fix, "-t" switch fix, Duping UTF-8 filehandles, Localisation of hash elements

New or Changed Diagnostics
    Use of uninitialized value, Deprecated use of my() in false conditional, !=~ should be !~, Newline in left-justified string, Too late for "-T" option, "%s" variable %s masks earlier declaration, readdir()/closedir()/etc. attempted on invalid dirhandle, Opening dirhandle/filehandle %s also as a file/directory, Use of -P is deprecated, v-string in use/require is non-portable, perl -V

Changed Internals
    Reordering of SVt_* constants
    Elimination of SVt_PVBM
    New type SVt_BIND
    Removal of CPP symbols
    Less space is used by ops
    New parser
    Use of "const"
    Mathoms
    "AvFLAGS" has been removed
    "av_*" changes
    $^H and %^H
    B:: modules inheritance changed
    Anonymous hash and array constructors

Known Problems
    UTF-8 problems

Platform Specific Problems
Reporting Bugs
SEE ALSO

  perl589delta - what is new for perl v5.8.9

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

    "readpipe" is now overridable
    simple exception handling macros
    -D option enhancements
    XS-assisted SWASHGET
    Constant subroutines

New Platforms
Modules and Pragmata
    New Modules
    Updated Modules

Utility Changes
    debugger upgraded to version 1.31
    perlthanks
    perlbug
    h2xs
    h2ph

New Documentation
Changes to Existing Documentation
Performance Enhancements
Installation and Configuration Improvements
    Relocatable installations
    Configuration improvements
    Compilation improvements
    Installation improvements
    Platform Specific Changes

Selected Bug Fixes
    Unicode
    PerlIO
    Magic
    Reblessing overloaded objects now works
    "strict" now propagates correctly into string evals
    Other fixes
    Platform Specific Fixes
    Smaller fixes

New or Changed Diagnostics
    panic: sv_chop %s
    Maximal count of pending signals (%s) exceeded
    panic: attempt to call %s in %s
    FETCHSIZE returned a negative value
    Can't upgrade %s (%d) to %d
    %s argument is not a HASH or ARRAY element or a subroutine
    Cannot make the non-overridable builtin %s fatal
    Unrecognized character '%s' in column %d
    Offset outside string
    Invalid escape in the specified encoding in regexp; marked by <-- HERE in m/%s/
    Your machine doesn't support dump/undump

Changed Internals
    Macro cleanups

New Tests
    ext/DynaLoader/t/DynaLoader.t, t/comp/fold.t, t/io/pvbm.t, t/lib/proxy_constant_subs.t, t/op/attrhand.t, t/op/dbm.t, t/op/inccode-tie.t, t/op/incfilter.t, t/op/kill0.t, t/op/qrstack.t, t/op/qr.t, t/op/regexp_qr_embed.t, t/op/regexp_qr.t, t/op/rxcode.t, t/op/studytied.t, t/op/substT.t, t/op/symbolcache.t, t/op/upgrade.t, t/mro/package_aliases.t, t/pod/twice.t, t/run/cloexec.t, t/uni/cache.t, t/uni/chr.t, t/uni/greek.t, t/uni/latin2.t, t/uni/overload.t, t/uni/tie.t

Known Problems
Platform Specific Notes
    Win32
    OS/2
    VMS

Obituary
Acknowledgements
Reporting Bugs
SEE ALSO

  perl588delta - what is new for perl v5.8.8

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes
    "h2xs" enhancements
    "perlivp" enhancements

New Documentation
Performance Enhancements
Installation and Configuration Improvements
Selected Bug Fixes
    no warnings 'category' works correctly with -w
    Remove over-optimisation
    sprintf() fixes
    Debugger and Unicode slowdown
    Smaller fixes

New or Changed Diagnostics
    Attempt to set length of freed array
    Non-string passed as bitmask
    Search pattern not terminated or ternary operator parsed as search pattern

Changed Internals
Platform Specific Problems
Reporting Bugs
SEE ALSO

  perl587delta - what is new for perl v5.8.7

DESCRIPTION
Incompatible Changes
Core Enhancements
    Unicode Character Database 4.1.0
    suidperl less insecure
    Optional site customization script
    "Config.pm" is now much smaller

Modules and Pragmata
Utility Changes
    find2perl enhancements

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

  perl586delta - what is new for perl v5.8.6

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

  perl585delta - what is new for perl v5.8.5

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes
    Perl's debugger
    h2ph

Installation and Configuration Improvements
Selected Bug Fixes
New or Changed Diagnostics
Changed Internals
Known Problems
Platform Specific Problems
Reporting Bugs
SEE ALSO

  perl584delta - what is new for perl v5.8.4

DESCRIPTION
Incompatible Changes
Core Enhancements
    Malloc wrapping
    Unicode Character Database 4.0.1
    suidperl less insecure
    format

Modules and Pragmata
    Updated modules
        Attribute::Handlers, B, Benchmark, CGI, Carp, Cwd, Exporter, File::Find, IO, IPC::Open3, Local::Maketext, Math::BigFloat, Math::BigInt, Math::BigRat, MIME::Base64, ODBM_File, POSIX, Shell, Socket, Storable, Switch, Sys::Syslog, Term::ANSIColor, Time::HiRes, Unicode::UCD, Win32, base, open, threads, utf8

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

  perl583delta - what is new for perl v5.8.3

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
    CGI, Cwd, Digest, Digest::MD5, Encode, File::Spec, FindBin, List::Util, Math::BigInt, PodParser, Pod::Perldoc, POSIX, Unicode::Collate, Unicode::Normalize, Test::Harness, threads::shared

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

  perl582delta - what is new for perl v5.8.2

DESCRIPTION
Incompatible Changes
Core Enhancements
    Hash Randomisation
    Threading

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

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

  perl581delta - what is new for perl v5.8.1

DESCRIPTION
Incompatible Changes
    Hash Randomisation
    UTF-8 On Filehandles No Longer Activated By Locale
    Single-number v-strings are no longer v-strings before "=>"
    (Win32) The -C Switch Has Been Repurposed
    (Win32) The /d Switch Of cmd.exe

Core Enhancements
    UTF-8 no longer default under UTF-8 locales
    Unsafe signals again available
    Tied Arrays with Negative Array Indices
    local ${$x}
    Unicode Character Database 4.0.0
    Deprecation Warnings
    Miscellaneous Enhancements

Modules and Pragmata
    Updated Modules And Pragmata
        base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes, CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5, Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping, PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc, Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More, Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared, Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath, Win32::GetOSVersion

Utility Changes
New Documentation
Installation and Configuration Improvements
    Platform-specific enhancements

Selected Bug Fixes
    Closures, eval and lexicals
    Generic fixes
    Platform-specific fixes

New or Changed Diagnostics
    Changed "A thread exited while %d threads were running"
    Removed "Attempt to clear a restricted hash"
    New "Illegal declaration of anonymous subroutine"
    Changed "Invalid range "%s" in transliteration operator"
    New "Missing control char name in \c"
    New "Newline in left-justified string for %s"
    New "Possible precedence problem on bitwise %c operator"
    New "Pseudo-hashes are deprecated"
    New "read() on %s filehandle %s"
    New "5.005 threads are deprecated"
    New "Tied variable freed while still in use"
    New "To%s: illegal mapping '%s'"
    New "Use of freed value in iteration"

Changed Internals
New Tests
Known Problems
    Tied hashes in scalar context
    Net::Ping 450_service and 510_ping_udp failures
    B::C

Platform Specific Problems
    EBCDIC Platforms
    Cygwin 1.5 problems
    HP-UX: HP cc warnings about sendfile and sendpath
    IRIX: t/uni/tr_7jis.t falsely failing
    Mac OS X: no usemymalloc
    Tru64: No threaded builds with GNU cc (gcc)
    Win32: sysopen, sysread, syswrite

Future Directions
Reporting Bugs
SEE ALSO

  perl58delta - what is new for perl v5.8.0

DESCRIPTION
Highlights In 5.8.0
Incompatible Changes
    Binary Incompatibility
    64-bit platforms and malloc
    AIX Dynaloading
    Attributes for "my" variables now handled at run-time
    Socket Extension Dynamic in VMS
    IEEE-format Floating Point Default on OpenVMS Alpha
    New Unicode Semantics (no more "use utf8", almost)
    New Unicode Properties
    REF(...) Instead Of SCALAR(...)
    pack/unpack D/F recycled
    glob() now returns filenames in alphabetical order
    Deprecations

Core Enhancements
    Unicode Overhaul
    PerlIO is Now The Default
    ithreads
    Restricted Hashes
    Safe Signals
    Understanding of Numbers
    Arrays now always interpolate into double-quoted strings [561]
    Miscellaneous Changes

Modules and Pragmata
    New Modules and Pragmata
    Updated And Improved Modules and Pragmata

Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements
    Generic Improvements
    New Or Improved Platforms

Selected Bug Fixes
    Platform Specific Changes and Fixes

New or Changed Diagnostics
Changed Internals
Security Vulnerability Closed [561]
New Tests
Known Problems
    The Compiler Suite Is Still Very Experimental
    Localising Tied Arrays and Hashes Is Broken
    Building Extensions Can Fail Because Of Largefiles
    Modifying $_ Inside for(..)
    mod_perl 1.26 Doesn't Build With Threaded Perl
    lib/ftmp-security tests warn 'system possibly insecure'
    libwww-perl (LWP) fails base/date #51
    PDL failing some tests
    Perl_get_sv
    Self-tying Problems
    ext/threads/t/libc
    Failure of Thread (5.005-style) tests
    Timing problems
    Tied/Magical Array/Hash Elements Do Not Autovivify
    Unicode in package/class and subroutine names does not work

Platform Specific Problems
    AIX
    Alpha systems with old gccs fail several tests
    AmigaOS
    BeOS
    Cygwin "unable to remap"
    Cygwin ndbm tests fail on FAT
    DJGPP Failures
    FreeBSD built with ithreads coredumps reading large directories
    FreeBSD Failing locale Test 117 For ISO 8859-15 Locales
    IRIX fails ext/List/Util/t/shuffle.t or Digest::MD5
    HP-UX lib/posix Subtest 9 Fails When LP64-Configured
    Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint
    Linux With Sfio Fails op/misc Test 48
    Mac OS X
    Mac OS X dyld undefined symbols
    OS/2 Test Failures
    op/sprintf tests 91, 129, and 130
    SCO
    Solaris 2.5
    Solaris x86 Fails Tests With -Duse64bitint
    SUPER-UX (NEC SX)
    Term::ReadKey not working on Win32
    UNICOS/mk
    UTS
    VOS (Stratus)
    VMS
    Win32
    XML::Parser not working
    z/OS (OS/390)
    Unicode Support on EBCDIC Still Spotty
    Seen In Perl 5.7 But Gone Now

Reporting Bugs
SEE ALSO
HISTORY

  perl561delta - what's new for perl v5.6.1

DESCRIPTION
Summary of changes between 5.6.0 and 5.6.1
    Security Issues
    Core bug fixes
        UNIVERSAL::isa(), Memory leaks, Numeric conversions, qw(a\\b), caller(), Bugs in regular expressions, "slurp" mode, Autovivification of symbolic references to special variables, Lexical warnings, Spurious warnings and errors, glob(), Tainting, sort(), #line directives, Subroutine prototypes, map(), Debugger, PERL5OPT, chop(), Unicode support, 64-bit support, Compiler, Lvalue subroutines, IO::Socket, File::Find, xsubpp, "no Module;", Tests

    Core features
    Configuration issues
    Documentation
    Bundled modules
        B::Concise, File::Temp, Pod::LaTeX, Pod::Text::Overstrike, CGI, CPAN, Class::Struct, DB_File, Devel::Peek, File::Find, Getopt::Long, IO::Poll, IPC::Open3, Math::BigFloat, Math::Complex, Net::Ping, Opcode, Pod::Parser, Pod::Text, SDBM_File, Sys::Syslog, Tie::RefHash, Tie::SubstrHash

    Platform-specific improvements
        NCR MP-RAS, NonStop-UX

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

Modules and Pragmata
    Modules
        attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters

    Pragmata

Utility Changes
    dprofpp
    find2perl
    h2xs
    perlcc
    perldoc
    The Perl Debugger

Improved Documentation
    perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod

Performance enhancements
    Simple sort() using { $a <=> $b } and the like are optimized
    Optimized assignments to lexical variables
    Faster subroutine calls
    delete(), each(), values() and hash iteration are faster

Installation and Configuration Improvements
    -Dusethreads means something different
    New Configure flags
    Threadedness and 64-bitness now more daring
    Long Doubles
    -Dusemorebits
    -Duselargefiles
    installusrbinperl
    SOCKS support
    "-A" flag
    Enhanced Installation Directories
    gcc automatically tried if 'cc' does not seem to be working

Platform specific changes
    Supported platforms
    DOS
    OS390 (OpenEdition MVS)
    VMS
    Win32

Significant bug fixes
    <HANDLE> on empty files
    "eval '...'" improvements
    All compilation errors are true errors
    Implicitly closed filehandles are safer
    Behavior of list slices is more consistent
    "(\$)" prototype and $foo{a}
    "goto &sub" and AUTOLOAD
    "-bareword" allowed under "use integer"
    Failures in DESTROY()
    Locale bugs fixed
    Memory leaks
    Spurious subroutine stubs after failed subroutine calls
    Taint failures under "-U"
    END blocks and the "-c" switch
    Potential to leak DATA filehandles

New or Changed Diagnostics
    "%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number

New tests
Incompatible Changes
    Perl Source Incompatibilities
        CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, "undef" fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and "\(%h)", vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, "%@" has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype "(*)" have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results

    C Source Incompatibilities
        "PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC"

    Compatible C Source API Changes
        "PATCHLEVEL" is now "PERL_VERSION"

    Binary Incompatibilities

Known Problems
    Localizing a tied hash element may leak memory
    Known test failures
    EBCDIC platforms not fully supported
    UNICOS/mk CC failures during Configure run
    Arrow operator and arrays
    Experimental features
        Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:

Obsolete Diagnostics
    Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated

Reporting Bugs
SEE ALSO
HISTORY

  perl56delta - what's new for perl v5.6.0

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

Modules and Pragmata
    Modules
        attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters

    Pragmata

Utility Changes
    dprofpp
    find2perl
    h2xs
    perlcc
    perldoc
    The Perl Debugger

Improved Documentation
    perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod

Performance enhancements
    Simple sort() using { $a <=> $b } and the like are optimized
    Optimized assignments to lexical variables
    Faster subroutine calls
    delete(), each(), values() and hash iteration are faster

Installation and Configuration Improvements
    -Dusethreads means something different
    New Configure flags
    Threadedness and 64-bitness now more daring
    Long Doubles
    -Dusemorebits
    -Duselargefiles
    installusrbinperl
    SOCKS support
    "-A" flag
    Enhanced Installation Directories

Platform specific changes
    Supported platforms
    DOS
    OS390 (OpenEdition MVS)
    VMS
    Win32

Significant bug fixes
    <HANDLE> on empty files
    "eval '...'" improvements
    All compilation errors are true errors
    Implicitly closed filehandles are safer
    Behavior of list slices is more consistent
    "(\$)" prototype and $foo{a}
    "goto &sub" and AUTOLOAD
    "-bareword" allowed under "use integer"
    Failures in DESTROY()
    Locale bugs fixed
    Memory leaks
    Spurious subroutine stubs after failed subroutine calls
    Taint failures under "-U"
    END blocks and the "-c" switch
    Potential to leak DATA filehandles

New or Changed Diagnostics
    "%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number

New tests
Incompatible Changes
    Perl Source Incompatibilities
        CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, "undef" fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and "\(%h)", vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, "%@" has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype "(*)" have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results

    C Source Incompatibilities
        "PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC"

    Compatible C Source API Changes
        "PATCHLEVEL" is now "PERL_VERSION"

    Binary Incompatibilities

Known Problems
    Thread test failures
    EBCDIC platforms not supported
    In 64-bit HP-UX the lib/io_multihomed test may hang
    NEXTSTEP 3.3 POSIX test failure
    Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with gcc
    UNICOS/mk CC failures during Configure run
    Arrow operator and arrays
    Experimental features
        Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:

Obsolete Diagnostics
    Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated

Reporting Bugs
SEE ALSO
HISTORY

  perl5005delta - what's new for perl5.005

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

Core Changes
    Threads
    Compiler
    Regular Expressions
        Many new and improved optimizations, Many bug fixes, New regular expression constructs, New operator for precompiled regular expressions, Other improvements, Incompatible changes

    Improved malloc()
    Quicksort is internally implemented
    Reliable signals
    Reliable stack pointers
    More generous treatment of carriage returns
    Memory leaks
    Better support for multiple interpreters
    Behavior of local() on array and hash elements is now well-defined
    "%!" is transparently tied to the Errno module
    Pseudo-hashes are supported
    "EXPR foreach EXPR" is supported
    Keywords can be globally overridden
    $^E is meaningful on Win32
    "foreach (1..1000000)" optimized
    "Foo::" can be used as implicitly quoted package name
    "exists $Foo::{Bar::}" tests existence of a package
    Better locale support
    Experimental support for 64-bit platforms
    prototype() returns useful results on builtins
    Extended support for exception handling
    Re-blessing in DESTROY() supported for chaining DESTROY() methods
    All "printf" format conversions are handled internally
    New "INIT" keyword
    New "lock" keyword
    New "qr//" operator
    "our" is now a reserved word
    Tied arrays are now fully supported
    Tied handles support is better
    4th argument to substr
    Negative LENGTH argument to splice
    Magic lvalues are now more magical
    <> now reads in records

Supported Platforms
    New Platforms
    Changes in existing support

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

    Changes in existing modules
        Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd

Utility Changes
Documentation Changes
New Diagnostics
    Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index while coercing array into hash, Bareword "%s" refers to nonexistent package, Can't call method "%s" on an undefined value, Can't check filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't goto subroutine from an eval-string, Can't localize pseudo-hash element, Can't use %%! because Errno.pm is not available, Cannot find an opnumber for "%s", Character class syntax [. .] is reserved for future extensions, Character class syntax [: :] is reserved for future extensions, Character class syntax [= =] is reserved for future extensions, %s: Eval-group in insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s: Eval-group not allowed at run time, Explicit blessing to '' (assuming package main), Illegal hex digit ignored, No such array field, No such field "%s" in variable %s of type %s, Out of memory during ridiculously large request, Range iterator outside integer range, Recursive inheritance detected while looking for method '%s' %s, Reference found where even-sized list expected, Undefined value assigned to typeglob, Use of reserved word "%s" is deprecated, perl: warning: Setting locale failed

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

Configuration Changes
BUGS
SEE ALSO
HISTORY

  perl5004delta - what's new for perl5.004

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

    New Opcode module and revised Safe module
    Embedding improvements
    Internal change: FileHandle class based on IO::* classes
    Internal change: PerlIO abstraction interface
    New and changed syntax
        $coderef->(PARAMS)

    New and changed builtin constants
        __PACKAGE__

    New and changed builtin variables
        $^E, $^H, $^M

    New and changed builtin functions
        delete on slices, flock, printf and sprintf, keys as an lvalue, my() in Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module VERSION LIST, prototype(FUNCTION), srand, $_ as Default, "m//gc" does not reset search position on failure, "m//x" ignores whitespace before ?*+{}, nested "sub{}" closures work now, formats work right on changing lexicals

    New builtin methods
        isa(CLASS), can(METHOD), VERSION( [NEED] )

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

    Malloc enhancements
        -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE

    Miscellaneous efficiency enhancements

Support for More Operating Systems
    Win32
    Plan 9
    QNX
    AmigaOS

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

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

Utility Changes
    pod2html
        Sends converted HTML to standard output

    xsubpp
        "void" XSUBs now default to returning nothing

C Language API Changes
    "gv_fetchmethod" and "perl_call_sv", "perl_eval_pv", Extended API for manipulating hashes

Documentation Changes
    perldelta, perlfaq, perllocale, perltoot, perlapio, perlmodlib, perldebug, perlsec

New Diagnostics
    "my" variable %s masks earlier declaration in same scope, %s argument is not a HASH element or slice, Allocation too large: %lx, Allocation too large, Applying %s to %s will act on scalar(%s), Attempt to free nonexistent shared string, Attempt to use reference as lvalue in substr, Bareword "%s" refers to nonexistent package, Can't redefine active sort subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant subroutine %s redefined, Constant subroutine %s undefined, Copy method did not return a reference, Died, Exiting pseudo-block via %s, Identifier too long, Illegal character %s (carriage return), Illegal switch in PERL5OPT: %s, Integer overflow in hex number, Integer overflow in octal number, internal error: glob failed, Invalid conversion in %s: "%s", Invalid type in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once: possible typo, Null picture in formline, Offset outside string, Out of memory!, Out of memory during request for %s, panic: frexp, Possible attempt to put comments in qw() list, Possible attempt to separate words with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found while resolving method `%s' overloading `%s' in %s, Too late for "-T" option, untie attempted while %d inner references still exist, Unrecognized character %s, Unsupported function fork, Use of "$$<digit>" to mean "${$}<digit>" is deprecated, Value of %s can be "0"; test with defined(), Variable "%s" may be unavailable, Variable "%s" will not stay shared, Warning: something's wrong, Ill-formed logical name |%s| in prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too long, Process terminated by SIG%s

BUGS
SEE ALSO
HISTORY

  perlbook - Books about and related to Perl

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

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

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

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

    Special Topics
        Regular Expressions Cookbook, Programming the Perl DBI, Perl Best Practices, Higher-Order Perl, Mastering Regular Expressions, Network Programming with Perl, Perl Template Toolkit, Object Oriented Perl, Data Munging with Perl, Mastering Perl/Tk, Extending and Embedding Perl, Pro Perl Debugging

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

    A note on freshness
    Get your book listed

  perlcommunity - a brief overview of the Perl community

DESCRIPTION
    Where to Find the Community
    Mailing Lists and Newsgroups
    IRC
    Websites
        <https://perl.com/>, <https://blogs.perl.org/>, <https://perl.theplanetarium.org/>, <https://perlweekly.com/>, <https://www.perlmonks.org/>, <https://stackoverflow.com/>

    User Groups
    Workshops
    Hackathons
    Conventions
        The Perl Conference, OSCON

AUTHOR

  perldoc - Look up Perl documentation in Pod format.

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

SECURITY
ENVIRONMENT
CHANGES
SEE ALSO
AUTHOR

  perlexperiment - A listing of experimental features in Perl

DESCRIPTION
    Current experiments
        Pluggable keywords, Aliasing via reference, use re 'strict';, Declaring a reference to a variable, There is an "installhtml" target in the Makefile, (Limited) Variable-length look-behind, Unicode private use character hooks, Unicode property wildcards, try/catch control structure, Use of @_ within subroutine signatures, The builtin namespace, The defer block modifier, Extra paired delimiters for quote-like operators, New object system and "class" syntax, "any" and "all" list processing operators, Named parameters in subroutine signatures, Enhanced "/xx" modifier in regular expression pattern matching

    Accepted features
        64-bit support, die accepts a reference, DB module, Weak references, Internal file glob, fork() emulation, -Dusemultiplicity -Duseithreads, Support for long doubles, The "\N" regex character class, "(?{code})" and "(??{ code })", Linux abstract Unix domain sockets, Lvalue subroutines, Backtracking control verbs, The ":pop" IO pseudolayer, "\s" in regexp matches vertical tab, Postfix dereference syntax, Lexical subroutines, String- and number-specific bitwise operators, Alphabetic assertions, Script runs, The infix "isa" operator, Subroutine signatures, Regular Expression Set Operations, try/catch control structure, The "const" attribute, for loop with multiple iteration variables

    Removed features
        5.005-style threading, perlcc, The pseudo-hash data type, GetOpt::Long Options can now take multiple values at once (experimental), Assertions, Test::Harness::Straps, "legacy", Lexical $_, Array and hash container functions accept references, "our" can have an experimental optional attribute "unique", The ":win32" IO pseudolayer

    Features abandoned in place
        Smart match ("~~"), Switch (given/when)

SEE ALSO
AUTHORS
COPYRIGHT
LICENSE

  perlartistic - the Perl Artistic License

SYNOPSIS
DESCRIPTION
The "Artistic License"
    Preamble
    Definitions
        "Package", "Standard Version", "Copyright Holder", "You", "Reasonable copying fee", "Freely Available"

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

  perlgpl - the GNU General Public License, version 1

SYNOPSIS
DESCRIPTION

GNU GENERAL PUBLIC LICENSE

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

DESCRIPTION
    Compiling Perl 5 on AIX
    Supported Compilers
    Incompatibility with AIX Toolbox lib gdbm
    Perl 5 was successfully compiled and tested on:
    Building Dynamic Extensions on AIX
    Using Large Files with Perl
    Threaded Perl
    64-bit Perl
    Long doubles
    Recommended Options AIX 7.2 and 7.3 (threaded/32-bit)
    Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit)
    Recommended Options AIX 7.2 and 7.3 (32-bit)
    Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit)
    Recommended Options AIX 7.2 and 7.3 (threaded/64-bit)
    Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit)
    Recommended Options AIX 7.2 and 7.3 (64-bit)
    Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)
    Compiling Perl 5 on AIX 7.1.0
    Compiling Perl 5 on older AIX versions up to 4.3.3
    OS level
    Building Dynamic Extensions on AIX < 5L
    The IBM ANSI C Compiler
    The usenm option
    Using GNU's gcc for building Perl
    Using Large Files with Perl < 5L
    Threaded Perl < 5L
    64-bit Perl < 5L
    AIX 4.2 and extensions using C++ with statics

AUTHORS

  perlamiga - Perl under AmigaOS 4.1

NOTE
SYNOPSIS

DESCRIPTION
    Prerequisites for running Perl 5.22.1 under AmigaOS 4.1
        AmigaOS 4.1 update 6 with all updates applied as of 9th October 2013, newlib.library version 53.28 or greater, AmigaOS SDK, abc-shell

    Starting Perl programs under AmigaOS 4.1
    Limitations of Perl under AmigaOS 4.1
        Nested Piped programs can crash when run from older abc-shells, Incorrect or unexpected command line unescaping, Starting subprocesses via open has limitations, If you find any other limitations or bugs then let me know

INSTALLATION
Amiga Specific Modules
    Amiga::ARexx
    Amiga::Exec

BUILDING
CHANGES
    August 2015, Port to Perl 5.22, Add handling of NIL: to afstat(), Fix inheritance of environment variables by subprocesses, Fix exec, and exit in "forked" subprocesses, Fix issue with newlib's unlink, which could cause infinite loops, Add flock() emulation using IDOS->LockRecord thanks to Tony Cook for the suggestion, Fix issue where kill was using the wrong kind of process ID, 27th November 2013, Create new installation system based on installperl links and Amiga protection bits now set correctly, Pod now defaults to text, File::Spec should now recognise an Amiga style absolute path as well as an Unix style one. Relative paths must always be Unix style, 20th November 2013, Configured to use SDK:Local/C/perl to start standard scripts, Added Amiga::Exec module with support for Wait() and AmigaOS signal numbers, 10th October 13

SEE ALSO

  perlandroid - Perl under Android

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

Native Builds
    CCTools
    Termux

AUTHOR

  perlbs2000 - building and installing Perl for BS2000.

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

AUTHORS
SEE ALSO
    Mailing list

HISTORY

  perlcygwin - Perl for Cygwin

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

CONFIGURE PERL ON CYGWIN
    Stripping Perl Binaries on Cygwin
    Optional Libraries for Perl on Cygwin
        "-lcrypt", "-lgdbm_compat" ("use GDBM_File"), "-ldb" ("use DB_File"), "cygserver" ("use IPC::SysV"), "-lutil"

    Configure-time Options for Perl on Cygwin
        "-Uusedl", "-Dusemymalloc", "-Uuseperlio", "-Dusemultiplicity", "-Uuse64bitint", "-Duselongdouble", "-Uuseithreads", "-Duselargefiles", "-Dmksymlinks"

MAKE ON CYGWIN
TEST ON CYGWIN
    File Permissions on Cygwin
    NDBM_File and ODBM_File do not work on FAT filesystems
    fork() failures in io_* tests

Specific features of the Cygwin port
    Script Portability on Cygwin
        Pathnames, Text/Binary, PerlIO, .exe, Cygwin vs. Windows process ids, Cygwin vs. Windows errors, rebase errors on fork or system, Miscellaneous

    Prebuilt methods:
        "Cwd::cwd", "Cygwin::pid_to_winpid", "Cygwin::winpid_to_pid", "Cygwin::win_to_posix_path", "Cygwin::posix_to_win_path", Cygwin::mount_table(), "Cygwin::mount_flags", "Cygwin::is_binmount", "Cygwin::sync_winenv"

INSTALL PERL ON CYGWIN
MANIFEST ON CYGWIN
    Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests

BUGS ON CYGWIN
AUTHORS
HISTORY

  perlfreebsd - Perl version 5 on FreeBSD systems

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

AUTHOR

  perlhaiku - Perl version 5.10+ on Haiku

DESCRIPTION
BUILD AND INSTALL
KNOWN PROBLEMS
CONTACT

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

DESCRIPTION
    Using perl as shipped with HP-UX
    Using perl from HP's porting centre
    Other prebuilt perl binaries
    Compiling Perl 5 on HP-UX
    PA-RISC
    PA-RISC 1.0
    PA-RISC 1.1
    PA-RISC 2.0
    Portability Between PA-RISC Versions
    Itanium Processor Family (IPF) and HP-UX
    Itanium, Itanium 2 & Madison 6
    HP-UX versions
    Building Dynamic Extensions on HP-UX
    The HP ANSI C Compiler
    The GNU C Compiler
    Using Large Files with Perl on HP-UX
    Threaded Perl on HP-UX
    64-bit Perl on HP-UX
    Oracle on HP-UX
    GDBM and Threads on HP-UX
    NFS filesystems and utime(2) on HP-UX
    HP-UX Kernel Parameters (maxdsiz) for Compiling Perl

nss_delete core dump from op/pwent or op/grent
error: pasting ")" and "l" does not give a valid preprocessing token
Redeclaration of "sendpath" with a different storage class specifier
Miscellaneous
AUTHOR

  perlhurd - Perl version 5 on Hurd

DESCRIPTION
    Known Problems with Perl on Hurd

AUTHOR

  perlirix - Perl version 5 on Irix systems

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

AUTHOR

  perllinux - Perl version 5 on Linux systems

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

AUTHOR

  perlmacosx - Perl under Mac OS X

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

Starting From Scratch
AUTHOR
DATE

  perlopenbsd - Perl version 5 on OpenBSD systems

DESCRIPTION
    OpenBSD core dumps from getprotobyname_r and getservbyname_r with ithreads

AUTHOR

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

SYNOPSIS

DESCRIPTION
    Target
    Other OSes
    Prerequisites
        EMX, RSX, HPFS, pdksh

    Starting Perl programs under OS/2 (and DOS and...)
    Starting OS/2 (and DOS) programs under Perl

Frequently asked questions
    "It does not work"
    I cannot run external programs
    I cannot embed perl into my program, or use perl.dll from my program.
        Is your program EMX-compiled with "-Zmt -Zcrtdll"?, Did you use ExtUtils::Embed?

    `` and pipe-"open" do not work under DOS
    Cannot start "find.exe "pattern" file"

INSTALLATION
    Automatic binary installation
        "PERL_BADLANG", "PERL_BADFREE", Config.pm

    Manual binary installation
        Perl VIO and PM executables (dynamically linked), Perl_ VIO executable (statically linked), Executables for Perl utilities, Main Perl library, Additional Perl modules, Tools to compile Perl modules, Manpages for Perl and utilities, Manpages for Perl modules, Source for Perl documentation, Perl manual in .INF format, Pdksh

    Warning

Accessing documentation
    OS/2 .INF file
    Plain text
    Manpages
    HTML
    GNU "info" files
    PDF files
    "LaTeX" docs

BUILD
    The short story
    Prerequisites
    Getting perl source
    Application of the patches
    Hand-editing
    Making
    Testing
        A lot of "bad free", Process terminated by SIGTERM/SIGINT, op/fs.t, 18, 25, op/stat.t

    Installing the built perl
    "a.out"-style build

Building a binary distribution
Building custom .EXE files
    Making executables with a custom collection of statically loaded extensions
    Making executables with a custom search-paths

Build FAQ
    Some "/" became "\" in pdksh
    'errno' - unresolved external
    Problems with tr or sed
    Some problem (forget which ;-)
    Library ... not found
    Segfault in make
    op/sprintf test failure

Specific (mis)features of OS/2 port
    "setpriority", "getpriority"
    system()
    "extproc" on the first line
    Additional modules:
    Prebuilt methods:
        "File::Copy::syscopy", "DynaLoader::mod2fname", Cwd::current_drive(),
         Cwd::sys_chdir(name), Cwd::change_drive(name),
        Cwd::sys_is_absolute(name),    Cwd::sys_is_rooted(name),
        Cwd::sys_is_relative(name),    Cwd::sys_cwd(name),
        "Cwd::sys_abspath(name, dir)", Cwd::extLibpath([type]), "Cwd::extLibpath_set( path [, type ] )", "OS2::Error(do_harderror,do_exception)", OS2::Errors2Drive(drive), OS2::SysInfo(), OS2::BootDrive(), OS2::MorphPM(serve), OS2::UnMorphPM(serve), OS2::Serve_Messages(force), "OS2::Process_Messages(force [, cnt])", "OS2::_control87(new,mask)", OS2::get_control87(), "OS2::set_control87_em(new=MCW_EM,mask=MCW_EM)", "OS2::DLLname([how [, \&xsub]])"

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

    Misfeatures
    Modifications
        "popen", "tmpnam", "tmpfile", "ctermid", "stat", "mkdir", "rmdir", "flock"

    Identifying DLLs
    Centralized management of resources
        "HAB", "HMQ", Treating errors reported by OS/2 API, CheckOSError(expr), CheckWinError(expr), SaveWinError(expr), "SaveCroakWinError(expr,die,name1,name2)", "WinError_2_Perl_rc", "FillWinError", FillOSError(rc), Loading DLLs and ordinals in DLLs

Perl flavors
    perl.exe
    perl_.exe
    perl__.exe
    perl___.exe
    Why strange names?
    Why dynamic linking?
    Why chimera build?

ENVIRONMENT
    "PERLLIB_PREFIX"
    "PERL_BADLANG"
    "PERL_BADFREE"
    "PERL_SH_DIR"
    "USE_PERL_FLOCK"
    "TMP" or "TEMP"

Evolution
    Text-mode filehandles
    Priorities
    DLL name mangling: pre 5.6.2
    DLL name mangling: 5.6.2 and beyond
        Global DLLs, specific DLLs, "BEGINLIBPATH" and "ENDLIBPATH", . from "LIBPATH"

    DLL forwarder generation
    Threading
    Calls to external programs
    Memory allocation
    Threads
        "COND_WAIT", os2.c

BUGS

AUTHOR
SEE ALSO

  perlos390 - building and installing Perl for z/OS (previously called OS/390)

SYNOPSIS
DESCRIPTION
    EBCDIC vs ASCII
    EBCDIC perl
    Tools
        native commands on z/OS, through the zopen community, at no cost from IBM

    Building EBCDIC Perl on z/OS
        Official stable release, Development release

    Optimization
    Installing other modules
    Running EBCDIC Perl on z/OS

AUTHORS
HISTORY

  perlos400 - Perl version 5 on OS/400

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

AUTHORS

  perlplan9 - Plan 9-specific documentation for Perl

DESCRIPTION
    Invoking Perl
    What's in Plan 9 Perl
    What's not in Plan 9 Perl
    Perl5 Functions not currently supported in Plan 9 Perl
    Signals in Plan 9 Perl

COMPILING AND INSTALLING PERL ON PLAN 9
    Installing Perl Documentation on Plan 9

BUGS
Revision date
AUTHOR

  perlqnx - Perl version 5 on QNX

DESCRIPTION
    Required Software for Compiling Perl on QNX4
        /bin/sh, ar, nm, cpp, make

    Outstanding Issues with Perl on QNX4
    QNX auxiliary files
        qnx/ar, qnx/cpp

    Outstanding issues with perl under QNX6
    Cross-compilation

AUTHOR

  perlriscos - Perl version 5 for RISC OS

DESCRIPTION
BUILD
AUTHOR

  perlsolaris - Perl version 5 on Solaris systems

DESCRIPTION
    Solaris Version Numbers

RESOURCES
    Solaris FAQ, Precompiled Binaries, Solaris Documentation

SETTING UP
    File Extraction Problems on Solaris
    Compiler and Related Tools on Solaris
    Environment for Compiling perl on Solaris

RUN CONFIGURE
    64-bit perl on Solaris
    Threads in perl on Solaris
    Malloc Issues with perl on Solaris

MAKE PROBLEMS
    Dynamic Loading Problems With GNU as and GNU ld, ld.so.1: ./perl: fatal: relocation error:, dlopen: stub interception failed, #error "No DATAMODEL_NATIVE specified", sh: ar: not found

MAKE TEST
    op/stat.t test 4 in Solaris
    nss_delete core dump from op/pwent or op/grent

CROSS-COMPILATION
PREBUILT BINARIES OF PERL FOR SOLARIS
RUNTIME ISSUES FOR PERL ON SOLARIS
    Limits on Numbers of Open Files on Solaris

SOLARIS-SPECIFIC MODULES
SOLARIS-SPECIFIC PROBLEMS WITH MODULES
    Proc::ProcessTable on Solaris
    BSD::Resource on Solaris
    Net::SSLeay on Solaris

SunOS 4.x
AUTHOR

  perlsynology - Perl 5 on Synology DSM systems

DESCRIPTION
    Setting up the build environment
    Compiling Perl 5
    Known problems
        Error message "No error definitions found", ext/DynaLoader/t/DynaLoader.t

    Smoke testing Perl
    Adding libraries

REVISION
AUTHOR

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

DESCRIPTION
    Compiling Perl 5 on Tru64
    Using Large Files with Perl on Tru64
    Threaded Perl on Tru64
    Long Doubles on Tru64
    DB_File tests failing on Tru64
    64-bit Perl on Tru64
    Warnings about floating-point overflow when compiling Perl on Tru64

Testing Perl on Tru64
ext/ODBM_File/odbm Test Failing With Static Builds
Perl Fails Because Of Unresolved Symbol sockatmark
read_cur_obj_info: bad file magic number
AUTHOR

  perlvms - VMS-specific documentation for Perl

DESCRIPTION
Installation
Organization of Perl Images
    Core Images
    Perl Extensions
    Installing static extensions
    Installing dynamic extensions

File specifications
    Syntax
    Filename Case
    Symbolic Links
    Wildcard expansion
    Pipes

PERL5LIB and PERLLIB
The Perl Forked Debugger
PERL_VMS_EXCEPTION_DEBUG
Command line
    I/O redirection and backgrounding
    Command line switches
        -i, -S, -u

Perl functions
    File tests, backticks, binmode FILEHANDLE, crypt PLAINTEXT, USER, die, dump, exec LIST, fork, getpwent, getpwnam, getpwuid, gmtime, kill, qx//, select (system call), stat EXPR, system LIST, time, times, unlink LIST, utime LIST, waitpid PID,FLAGS

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

Standard modules with VMS-specific differences
    SDBM_File

Revision date
AUTHOR

  perlvos - Perl for Stratus OpenVOS

SYNOPSIS
BUILDING PERL FOR OPENVOS
INSTALLING PERL IN OPENVOS
USING PERL IN OPENVOS
    Restrictions of Perl on OpenVOS

TEST STATUS
SUPPORT STATUS
AUTHOR
LAST UPDATE

  perlwin32 - Perl under Windows

SYNOPSIS
DESCRIPTION
    <https://osdn.net/projects/mingw/>, <https://mingw-w64.org>

    Setting Up Perl on Windows
        Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2015-2026 Community Edition, Microsoft C++ Build Tools, GCC, Intel C++ Compiler

    Building
    Testing Perl on Windows
    Installation of Perl on Windows
    Usage Hints for Perl on Windows
        Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Notes on 64-bit Windows

    Running Perl Scripts
    Miscellaneous Things

BUGS AND CAVEATS
ACKNOWLEDGEMENTS
AUTHORS
    Gary Ng <71564.1743@CompuServe.COM>, Gurusamy Sarathy <gsar@activestate.com>, Nick Ing-Simmons <nick@ing-simmons.net>, Jan Dubois <jand@activestate.com>, Steve Hay <steve.m.hay@googlemail.com>

SEE ALSO
HISTORY

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

DESCRIPTION

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

DESCRIPTION

  perlrepository - Links to current information on the Perl source repository

DESCRIPTION

  perltodo - Link to the Perl to-do list

DESCRIPTION

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

DESCRIPTION

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

DESCRIPTION

PRAGMA DOCUMENTATION

  attributes - get/set subroutine or variable attributes

SYNOPSIS
DESCRIPTION
    What "import" does
    Built-in Attributes
        lvalue, method, prototype(..), const, shared

    Available Subroutines
        get, reftype

    Package-specific Attribute Handling
        FETCH_type_ATTRIBUTES, MODIFY_type_ATTRIBUTES

    Syntax of Attribute Lists

EXPORTS
    Default exports
    Available exports
    Export tags defined

EXAMPLES
MORE EXAMPLES
SEE ALSO

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

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

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

Tips and Tricks
    Importing autodie into another namespace than "caller"

BUGS
    autodie and string eval
    REPORTING BUGS

FEEDBACK
AUTHOR
LICENSE
SEE ALSO
ACKNOWLEDGEMENTS

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

SYNOPSIS
DESCRIPTION
    Methods

AUTHOR
LICENSE

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

SYNOPSIS
DESCRIPTION
    Methods

AUTHOR
LICENSE

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

SYNOPSIS
DESCRIPTION
    Methods

AUTHOR
LICENSE

  autodie::exception - Exceptions from autodying functions.

SYNOPSIS
DESCRIPTION
    Common Methods

Advanced methods

SEE ALSO
LICENSE
AUTHOR

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

SYNOPSIS
DESCRIPTION

stringify

LICENSE
AUTHOR

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

SYNOPSIS
DESCRIPTION
    Introduction
    What are hints?
    Example hints

Manually setting hints from within your program
Adding hints to your module
Insisting on hints

Diagnostics
    Attempts to set_hints_for unidentifiable subroutine, fail hints cannot be provided with either scalar or list hints for %s, %s hint missing for %s

ACKNOWLEDGEMENTS
AUTHOR
LICENSE
SEE ALSO

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

SYNPOSIS
DESCRIPTION
AUTHOR
LICENSE
SEE ALSO

  autouse - postpone load of modules until a function is used

SYNOPSIS
DESCRIPTION
WARNING
AUTHOR
SEE ALSO

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

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

HISTORY
CAVEATS
SEE ALSO

  bigfloat - transparent big floating point number support for Perl

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

    Math Library
    Method calls
    Methods
        inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect()

CAVEATS
    Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()

EXAMPLES
BUGS
SUPPORT
    GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

  bigint - transparent big integer support for Perl

SYNOPSIS
DESCRIPTION
    use integer vs. use bigint
    Options
        a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version

    Math Library
    Method calls
    Methods
        inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect()

CAVEATS
    Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()

EXAMPLES
BUGS
SUPPORT
    GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

  bignum - transparent big number support for Perl

SYNOPSIS
DESCRIPTION
    Literal numeric constants
    Upgrading and downgrading
    Overloading
    Options
        a or accuracy, p or precision, l, lib, try, or only, hex, oct, v or version

    Math Library
    Method calls
    Methods
        inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect()

CAVEATS
    The upgrade() and downgrade() methods, Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()

EXAMPLES
BUGS
SUPPORT
    GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

  bigrat - transparent big rational number support for Perl

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

    Math Library
    Method calls
    Methods
        inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect()

CAVEATS
    Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct()

EXAMPLES
BUGS
SUPPORT
    GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

  blib - Use MakeMaker's uninstalled version of a package

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

  builtin - Perl pragma to import built-in utility functions

SYNOPSIS
DESCRIPTION
    Lexical Import
    Version Bundles
    Function Optimisations

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

SEE ALSO

  bytes - Perl pragma to expose the individual bytes of characters

NOTICE
SYNOPSIS
DESCRIPTION
LIMITATIONS
SEE ALSO

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

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

  constant - Perl pragma to declare constants

SYNOPSIS
DESCRIPTION
NOTES
    List constants
    Defining multiple constants at once
    Magic constants

TECHNICAL NOTES
CAVEATS
SEE ALSO
BUGS
AUTHORS
COPYRIGHT & LICENSE

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

SYNOPSIS
DESCRIPTION
    Important Caveat

EXPORT
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

  diagnostics, splain - produce verbose warning diagnostics

SYNOPSIS
DESCRIPTION
    The "diagnostics" Pragma
    The splain Program

EXAMPLES
INTERNALS
BUGS
AUTHOR

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

WARNING
SYNOPSIS
DESCRIPTION
    "use encoding ['ENCNAME'] ;", "use encoding ENCNAME, Filter=>1;", "no encoding;"

OPTIONS
    Setting "STDIN" and/or "STDOUT" individually
    The ":locale" sub-pragma

CAVEATS
    SIDE EFFECTS
    DO NOT MIX MULTIPLE ENCODINGS
    Prior to Perl v5.22
    Prior to Encode version 1.87
    Prior to Perl v5.8.1
        "NON-EUC" doublebyte encodings, "tr///", Legend of characters above

EXAMPLE - Greekperl
BUGS
    Thread safety, Can't be used by more than one module in a single program, Other modules using "STDIN" and "STDOUT" get the encoded stream, literals in regex that are longer than 127 bytes, EBCDIC, "format", See also "CAVEATS" in encoding

HISTORY
SEE ALSO

  encoding::warnings - Warn on implicit encoding conversions

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

CAVEATS

SEE ALSO
AUTHORS
COPYRIGHT

  experimental - Experimental features made easy

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

    Ordering matters
    Disclaimer

SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

  feature - Perl pragma to enable new features

SYNOPSIS
DESCRIPTION
    Lexical effect
    "no feature"

AVAILABLE FEATURES
    The 'apostrophe_as_package_separator' feature
    The 'array_base' feature
    The 'bareword_filehandles' feature
    The 'bitwise' feature
    The 'class' feature
    The 'current_sub' feature
    The 'declared_refs' feature
    The 'defer' feature
    The 'enhanced_xx' feature
    The 'evalbytes' feature
    The 'extra_paired_delimiters' feature
    The 'fc' feature
    The 'indirect' feature
    The 'isa' feature
    The 'keyword_all' feature
    The 'keyword_any' feature
    The 'lexical_subs' feature
    The 'module_true' feature
    The 'multidimensional' feature
    The 'postderef' and 'postderef_qq' features
    The 'refaliasing' feature
    The 'say' feature
    The 'signatures' feature
    The 'smartmatch' feature
    The 'state' feature
    The 'switch' feature
    The 'try' feature
    The 'unicode_eval' and 'evalbytes' features
    The 'unicode_strings' feature

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

  fields - compile-time class fields

SYNOPSIS
DESCRIPTION
    new, phash

SEE ALSO

  filetest - Perl pragma to control the filetest permission operators

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

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

SYNOPSIS
DESCRIPTION
    "use if"
    "no if"

BUGS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENCE

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

SYNOPSIS
DESCRIPTION

  less - perl pragma to request less of something

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

CAVEATS
    This probably does nothing, This works only on 5.10+

  lib - manipulate @INC at compile time

SYNOPSIS
DESCRIPTION
    Adding directories to @INC
    Deleting directories from @INC
    Restoring original @INC

CAVEATS
NOTES
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION

  mro - Method Resolution Order

SYNOPSIS
DESCRIPTION
OVERVIEW
The C3 MRO
    What is C3?
    How does C3 work

Functions
    mro::get_linear_isa($classname[, $type])
    mro::set_mro ($classname, $type)
    mro::get_mro($classname)
    mro::get_isarev($classname)
    mro::is_universal($classname)
    mro::invalidate_all_method_caches()
    mro::method_changed_in($classname)
    mro::get_pkg_gen($classname)
    next::method
    next::can
    maybe::next::method

SEE ALSO
    The original Dylan paper
        "/citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1 &type=pdf" in http:

    Python 2.3 MRO
        <https://www.python.org/download/releases/2.3/mro/>

    Class::C3
        Class::C3

AUTHOR

  ok - Alternative to Test::More::use_ok

SYNOPSIS
DESCRIPTION
CC0 1.0 Universal

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

SYNOPSIS
DESCRIPTION
IMPLEMENTATION DETAILS
SEE ALSO

  ops - Perl pragma to restrict unsafe operations when compiling

SYNOPSIS
DESCRIPTION
SEE ALSO

  overload - Package for overloading Perl operations

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

    Magic Autogeneration
    Special Keys for "use overload"
        defined, but FALSE, "undef", TRUE

    How Perl Chooses an Operator Implementation
    Losing Overloading
    Inheritance and Overloading
        Method names in the "use overload" directive, Overloading of an operation is inherited by derived classes

    Run-time Overloading
    Public Functions
        overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)

    Overloading Constants
        integer, float, binary, q, qr

IMPLEMENTATION
COOKBOOK
    Two-face Scalars
    Two-face References
    Symbolic Calculator
    Really Symbolic Calculator

AUTHOR
SEE ALSO
DIAGNOSTICS
    Odd number of arguments for overload::constant, '%s' is not an overloadable type, '%s' is not a code reference, overload arg '%s' is invalid

BUGS AND PITFALLS

  overloading - perl pragma to lexically control overloading

SYNOPSIS
DESCRIPTION
    "no overloading", "no overloading @ops", "use overloading", "use overloading @ops"

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

SYNOPSIS
DESCRIPTION
HISTORY
CAVEATS
SEE ALSO
    base, parent::versioned

AUTHORS AND CONTRIBUTORS
MAINTAINER
LICENSE

  re - Perl pragma to alter regular expression behaviour

SYNOPSIS
DESCRIPTION
    'taint' mode
    'eval' mode
    'strict' mode
    '/flags' mode
    'debug' mode
    'Debug' mode
        Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, FLAGS, TEST, Execute related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options, EXTRA, BUFFERS, TRIEM, STATE, STACK, GPOS, OPTIMISEM, DUMP_PRE_OPTIMIZE, WILDCARD, Other useful flags, ALL, All, MORE, More

    Exportable Functions
        is_regexp($ref), regexp_pattern($ref), regname($name,$all), regnames($all), regnames_count(), regmust($ref), optimization($ref), minlen, minlenret, gofs, noscan, isall, anchor SBOL, anchor MBOL, anchor GPOS, skip, implicit, anchored/floating, anchored utf8/floating utf8, anchored min offset/floating min offset, anchored max offset/floating max offset, anchored end shift/floating end shift, checking, stclass

SEE ALSO

  sigtrap - Perl pragma to enable simple signal handling

SYNOPSIS
DESCRIPTION
OPTIONS
    SIGNAL HANDLERS
        stack-trace, die, handler your-handler

    SIGNAL LISTS
        normal-signals, error-signals, old-interface-signals

    OTHER
        untrapped, any, signal, number

EXAMPLES

  sort - perl pragma to control sort() behaviour

SYNOPSIS
DESCRIPTION
CAVEATS

  source::encoding -- Declare Perl source code encoding

SYNOPSIS
DESCRIPTION
SEE ALSO

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

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

SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

  strict - Perl pragma to restrict unsafe constructs

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

HISTORY

  subs - Perl pragma to predeclare subroutine names

SYNOPSIS
DESCRIPTION

  threads - Perl interpreter-based threads

VERSION
WARNING
SYNOPSIS
DESCRIPTION
    $thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(), threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr", threads->object($tid), threads->yield(), threads->list(), threads->list(threads::all), threads->list(threads::running), threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;, $thr->error(), $thr->_handle(), threads->_handle()

EXITING A THREAD
    threads->exit(), threads->exit(status), die(), exit(status), use threads 'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...), $thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean)

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

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

THREAD STACK SIZE
    threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size = threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);, $ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE}, FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS)

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

WARNINGS
    Perl exited with active threads:, Thread creation failed: pthread_create returned #, Thread # terminated abnormally: .., Using minimum thread stack size of #, Thread creation failed: pthread_attr_setstacksize(SIZE) returned 22

ERRORS
    This Perl not built to support threads, Cannot change stack size of an existing thread, Cannot signal threads without safe signals, Unrecognized signal name: ..

BUGS AND LIMITATIONS
    Thread-safe modules, Using non-thread-safe modules, Memory consumption, Current working directory, Locales, Environment variables, Catching signals, Parent-child threads, Unsafe signals, Perl has been built with "PERL_OLD_SIGNALS" (see "perl -V"), The environment variable "PERL_SIGNALS" is set to "unsafe" (see "PERL_SIGNALS" in perlrun), The module Perl::Unsafe::Signals is used, Identity of objects returned from threads, Returning blessed objects from threads, END blocks in threads, Open directory handles, Detached threads and global destruction, Perl Bugs and the CPAN Version of threads

REQUIREMENTS
SEE ALSO
AUTHOR
LICENSE
ACKNOWLEDGEMENTS

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

VERSION
SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS
    share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE

OBJECTS
NOTES
WARNINGS
    cond_broadcast() called on unlocked variable, cond_signal() called on unlocked variable

BUGS AND LIMITATIONS
SEE ALSO
AUTHOR
LICENSE

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

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

BUGS
SEE ALSO

  vars - Perl pragma to predeclare global variable names

SYNOPSIS
DESCRIPTION

  version - Perl extension for Version Objects

SYNOPSIS
DESCRIPTION
TYPES OF VERSION OBJECTS
    Decimal Versions, Dotted Decimal Versions

DECLARING VERSIONS
    How to convert a module from decimal to dotted-decimal
    How to declare() a dotted-decimal version

PARSING AND COMPARING VERSIONS
    How to parse() a version
    How to check for a legal version string
        is_lax(), is_strict()

    How to compare version objects

OBJECT METHODS
    is_alpha()
    is_qv()
    normal()
    numify()
    to_decimal
    to_dotted_decimal
    tuple()
    from_tuple(...)
    stringify()
    tuple

EXPORTED FUNCTIONS
    qv()
    is_lax()
    is_strict()

AUTHOR
SEE ALSO

  version::Internals - Perl extension for Version Objects

DESCRIPTION
WHAT IS A VERSION?
    Decimal versions, Dotted-Decimal versions

    Decimal Versions
    Dotted-Decimal Versions
    Alpha Versions
    Regular Expressions for Version Parsing
        $version::LAX, $version::STRICT, v1.234.5

IMPLEMENTATION DETAILS
    Equivalence between Decimal and Dotted-Decimal Versions
    Quoting Rules
    What about v-strings?
    Replacement UNIVERSAL::VERSION

USAGE DETAILS
    Using modules that use version.pm
        Decimal versions always work, Dotted-Decimal version work sometimes

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

AUTHOR
SEE ALSO

  vmsish - Perl pragma to control VMS-specific language features

SYNOPSIS
DESCRIPTION
    "vmsish status", "vmsish exit", "vmsish time", "vmsish hushed"

  warnings - Perl pragma to control optional warnings

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

    Backward Compatibility
    Category Hierarchy
    Fatal Warnings
    Reporting Warnings from a Module

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

  warnings::register - warnings import function

SYNOPSIS
DESCRIPTION

MODULE DOCUMENTATION

  AnyDBM_File - provide framework for multiple DBMs

SYNOPSIS
DESCRIPTION
    DBM Comparisons
        [0], [1], [2], [3]

SEE ALSO

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

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

    Examples
    Environment variables
        NONINTERACTIVE_TESTING, PERL_MM_USE_DEFAULT, CPAN_OPTS, CPANSCRIPT_LOGLEVEL, GIT_COMMAND

    Methods

run( ARGS )

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

  App::Prove - Implements the "prove" command.

VERSION

DESCRIPTION
SYNOPSIS

METHODS
    Class Methods

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

PLUGINS
    Sample Plugin

SEE ALSO

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

VERSION

DESCRIPTION
SYNOPSIS

METHODS
    Class Methods
        "store", "extensions" (optional), "result_class" (optional)

"result_class"

"extensions"

"results"

"commit"

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

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

VERSION

DESCRIPTION
SYNOPSIS

METHODS
    Class Methods

"state_version"

"test_class"

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

VERSION

DESCRIPTION
SYNOPSIS

METHODS
    Class Methods

Instance Methods

  Archive::Tar - module for manipulations of tar archives

SYNOPSIS
DESCRIPTION
Object Methods
    Archive::Tar->new( [$file, $compressed] )

$tar->read ( $filename|$handle, [$compressed, {opt => 'val'}] )
    limit, filter, md5, extract

$tar->contains_file( $filename )

$tar->extract( [@filenames] )

$tar->extract_file( $file, [$extract_path] )

$tar->list_files( [\@properties] )

$tar->get_files( [@filenames] )

$tar->get_content( $file )

$tar->replace_content( $file, $content )

$tar->rename( $file, $new_name )

$tar->chmod( $file, $mode )

$tar->chown( $file, $uname [, $gname] )

$tar->remove (@filenamelist)

$tar->clear

$tar->write ( [$file, $compressed, $prefix] )

$tar->add_files( @filenamelist )

$tar->add_data ( $filename, $data, [$opthashref] )
    FILE, HARDLINK, SYMLINK, CHARDEV, BLOCKDEV, DIR, FIFO, SOCKET

$tar->error( [$BOOL] )

$tar->setcwd( $cwd );

Class Methods
    Archive::Tar->create_archive($file, $compressed, @filelist)

Archive::Tar->iter( $filename, [ $compressed, {opt => $val} ] )

Archive::Tar->list_archive($file, $compressed, [\@properties])

Archive::Tar->extract_archive($file, $compressed)

$bool = Archive::Tar->has_io_string

$bool = Archive::Tar->has_perlio

$bool = Archive::Tar->has_zlib_support

$bool = Archive::Tar->has_bzip2_support

$bool = Archive::Tar->has_xz_support

Archive::Tar->can_handle_compressed_files

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

    $Archive::Tar::EXTRACT_BLOCK_SIZE
    $Archive::Tar::MAX_FILE_SIZE

FAQ What's the minimum perl version required to run Archive::Tar?, Isn't Archive::Tar slow?, Isn't Archive::Tar heavier on memory than /bin/tar?, Can you lazy-load data instead?, How much memory will an X kb tar file need?, What do you do with unsupported filetypes in an archive?, I'm using WinZip, or some other non-POSIX client, and files are not being extracted properly!, How do I extract only files that have property X from an archive?, How do I access .tar.Z files?, How do I handle Unicode strings?

CAVEATS
TODO
    Check if passed in handles are open for read/write, Allow archives to be passed in as string, Facilitate processing an opened filehandle of a compressed archive

SEE ALSO
    The GNU tar specification, The PAX format specification

AUTHOR
ACKNOWLEDGEMENTS
COPYRIGHT

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

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

Methods
    Archive::Tar::File->new( file => $path )
    Archive::Tar::File->new( data => $path, $data, $opt )
    Archive::Tar::File->new( chunk => $chunk )

$bool = $file->extract( [ $alternative_name ] )

$path = $file->full_path

$bool = $file->validate

$bool = $file->has_content

$content = $file->get_content

$cref = $file->get_content_by_ref

$bool = $file->replace_content( $content )

$bool = $file->rename( $new_name )

$bool = $file->chmod( $mode )

$bool = $file->chown( $user [, $group])

Convenience methods
    $file->is_file, $file->is_dir, $file->is_hardlink, $file->is_symlink, $file->is_chardev, $file->is_blockdev, $file->is_fifo, $file->is_socket, $file->is_longlink, $file->is_label, $file->is_unknown

  Attribute::Handlers - Simpler definition of attribute handlers

VERSION
SYNOPSIS
DESCRIPTION
    [0], [1], [2], [3], [4], [5], [6], [7]

    Typed lexicals
    Type-specific attribute handlers
    Non-interpretive attribute handlers
    Phase-specific attribute handlers
    Attributes as "tie" interfaces

EXAMPLES
UTILITY FUNCTIONS
    findsym

DIAGNOSTICS
    "Bad attribute type: ATTR(%s)", "Attribute handler %s doesn't handle %s attributes", "Declaration of %s attribute in package %s may clash with future reserved word", "Can't have two ATTR specifiers on one subroutine", "Can't autotie a %s", "Internal error: %s symbol went missing", "Won't be able to apply END handler"

AUTHOR
BUGS
COPYRIGHT AND LICENSE

  AutoLoader - load subroutines only on demand

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

CAVEATS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

  AutoSplit - split a package for autoloading

SYNOPSIS
DESCRIPTION
    $keep, $check, $modtime

    Multiple packages

DIAGNOSTICS
AUTHOR
COPYRIGHT AND LICENSE

  B - The Perl Compiler Backend

SYNOPSIS
DESCRIPTION
OVERVIEW
Utility Functions
    Functions Returning "B::SV", "B::AV", "B::HV", and "B::CV" objects
        sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, check_av, unitcheck_av, begin_av, end_av, comppadlist, regex_padav, main_cv

    Functions for Examining the Symbol Table
        walksymtable(SYMREF, METHOD, RECURSE, PREFIX)

    Functions Returning "B::OP" objects or for walking op trees
        main_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG)

    Miscellaneous Utility Functions
        ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), perlstring(STR), safename(STR), class(OBJ), threadsv_names

    Exported utility variables
        @optype, @specialsv_name

OVERVIEW OF CLASSES
    SV-RELATED CLASSES
    B::SV Methods
        REFCNT, FLAGS, IsBOOL, object_2svref, TRUE, TRUE_nomg

    B::IV Methods
        IV, IVX, UVX, int_value, needs64bits, packiv

    B::NV Methods
        NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH

    B::RV Methods
        RV

    B::PV Methods
        PV, RV, PVX, CUR, LEN

    B::PVMG Methods
        MAGIC, SvSTASH

    B::MAGIC Methods
        MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX

    B::INVLIST Methods
        prev_index, is_offset, array_len, get_invlist_array

    B::PVLV Methods
        TARGOFF, TARGLEN, TYPE, TARG

    B::BM Methods
        USEFUL, PREVIOUS, RARE, TABLE

    B::REGEXP Methods
        REGEX, precomp, qr_anoncv, compflags

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

    B::IO Methods
        LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD

    B::AV Methods
        FILL, MAX, ARRAY, ARRAYelt

    B::CV Methods
        STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS, const_sv, NAME_HEK

    B::HV Methods
        FILL, MAX, KEYS, RITER, NAME, ARRAY

    OP-RELATED CLASSES
    B::OP Methods
        next, sibling, parent, name, ppaddr, desc, targ, type, opt, flags, private, spare

    B::UNOP Method
        first

    B::UNOP_AUX Methods (since 5.22)
        aux_list(cv), string(cv)

    B::BINOP Method
        last

    B::LOGOP Method
        other

    B::LISTOP Method
        children

    B::PMOP Methods
        pmreplroot, pmreplstart, pmflags, precomp, pmoffset, code_list, pmregexp

    B::SVOP Methods
        sv, gv

    B::PADOP Method
        padix

    B::PVOP Method
        pv

    B::LOOP Methods
        redoop, nextop, lastop

    B::COP Methods
        label, stash, stashpv, stashoff (threaded only), file, cop_seq, line, warnings, io, hints, hints_hash

    B::METHOP Methods (Since Perl 5.22)
        first, meth_sv

    PAD-RELATED CLASSES
    B::PADLIST Methods
        MAX, ARRAY, ARRAYelt, NAMES, REFCNT, id, outid

    B::PADNAMELIST Methods
        MAX, ARRAY, ARRAYelt, REFCNT

    B::PADNAME Methods
        PV, PVX, LEN, REFCNT, GEN, FLAGS, TYPE, SvSTASH, OURSTASH, PROTOCV, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH, PARENT_PAD_INDEX, PARENT_FAKELEX_FLAGS, IsUndef

    $B::overlay

AUTHOR

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

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS
    Options for Opcode Ordering
        -basic, -exec, -tree

    Options for Line-Style
        -concise, -terse, -linenoise, -debug, -env

    Options for tree-specific formatting
        -compact, -loose, -vt, -ascii

    Options controlling sequence numbering
        -basen, -bigendian, -littleendian

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

    Option Stickiness

ABBREVIATIONS
    OP class abbreviations
    OP flags abbreviations

FORMATTING SPECIFICATIONS
    Special Patterns
        (x(exec_text;basic_text)x), (*(text)*), (*(text1;text2)*), (?(text1#varText2)?), ~

    # Variables
        #var, #varN, #Var, #addr, #arg, #class, #classsym, #coplabel, #exname, #extarg, #firstaddr, #flags, #flagval, #hints, #hintsval, #hyphseq, #label, #lastaddr, #name, #NAME, #next, #nextaddr, #noise, #private, #privval, #seq, #opt, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum

One-Liner Command tips
    perl -MO=Concise,bar foo.pl, perl -MDigest::MD5=md5 -MO=Concise,md5 -e1, perl -MPOSIX -MO=Concise,_POSIX_ARG_MAX -e1, perl -MPOSIX -MO=Concise -e 'print _POSIX_SAVED_IDS', perl -MPOSIX -MO=Concise,a -e 'sub a{print _POSIX_SAVED_IDS}', perl -MB::Concise -e 'B::Concise::compile("-exec","-src", \%B::Concise::)->()'

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

AUTHOR

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

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

USING B::Deparse AS A MODULE
    Synopsis
    Description
    new
    ambient_pragmas
        strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits, %^H

    ambient_pragmas_from_caller
    coderef2text

BUGS
AUTHOR

  B::Op_private - OP op_private flag definitions

SYNOPSIS
DESCRIPTION
    %bits
    %defines
    %labels
    %ops_using

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

SYNOPSIS
DESCRIPTION
EXAMPLES
    OPTIONS

SEE ALSO
TODO
AUTHOR

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

SYNOPSIS
DESCRIPTION
AUTHOR

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

SYNOPSIS
DESCRIPTION
    i, &, s, r

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

BUGS
AUTHOR

  Benchmark - Benchmark running times of Perl code

SYNOPSIS
DESCRIPTION
    Methods
        new, debug, iters

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

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

    :hireswallclock

Benchmark Object
    cpu_p, cpu_c, cpu_a, real, iters

NOTES
EXAMPLES
INHERITANCE
CAVEATS
SEE ALSO
AUTHORS
MODIFICATION HISTORY

  CORE - Namespace for Perl's core routines

SYNOPSIS
DESCRIPTION
OVERRIDING CORE FUNCTIONS
AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION
    CPAN::shell([$prompt, $command]) Starting Interactive Mode
        Searching for authors, bundles, distribution files and modules, "get", "make", "test", "install", "clean" modules or distributions, "readme", "perldoc", "look" module or distribution, "ls" author, "ls" globbing_expression, "failed", Persistence between sessions, The "force" and the "fforce" pragma, Lockfile, Signals

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

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

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

    CPAN::anycwd($path): Note on config variable getcwd
        cwd, getcwd, fastcwd, getdcwd, backtickcwd

    Note on the format of the urllist parameter
    The urllist parameter has CD-ROM support
    Maintaining the urllist parameter
    The "requires" and "build_requires" dependency declarations
    Configuration of the allow_installing_* parameters
    Configuration for individual distributions (Distroprefs)
    Filenames
    Fallback Data::Dumper and Storable
    Blueprint
    Language Specs
        comment [scalar], cpanconfig [hash], depends [hash] *** EXPERIMENTAL FEATURE ***, disabled [boolean], features [array] *** EXPERIMENTAL FEATURE ***, goto [string], install [hash], make [hash], match [hash], patches [array], pl [hash], test [hash]

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

    Schema verification with "Kwalify"
    Example Distroprefs Files

PROGRAMMER'S INTERFACE
    expand($type,@things), expandany(@things), Programming Examples

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

    Cache Manager
    Bundles

PREREQUISITES
UTILITIES
    Finding packages and VERSION
    Debugging
        o debug package.., o debug -package.., o debug all, o debug number

    Floppy, Zip, Offline Mode
    Basic Utilities for Programmers
        has_inst($module), use_inst($module), has_usable($module), instance($module), frontend(), frontend($new_frontend)

SECURITY
    Cryptographically signed modules

EXPORT
ENVIRONMENT
POPULATE AN INSTALLATION WITH LOTS OF MODULES
WORKING WITH CPAN.pm BEHIND FIREWALLS
    Three basic types of firewalls
        http firewall, ftp firewall, One-way visibility, SOCKS, IP Masquerade

    Configuring lynx or ncftp for going through a firewall

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

COMPATIBILITY
    OLD PERL VERSIONS
    CPANPLUS
    CPANMINUS

SECURITY ADVICE
BUGS
AUTHOR
LICENSE
TRANSLATIONS
SEE ALSO

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

RECIPES
    What distribution contains a particular module?
    What modules does a particular distribution contain?

SEE ALSO
LICENSE
AUTHOR

  CPAN::Debug - internal debugging for CPAN.pm

LICENSE

  CPAN::Distroprefs -- read and match distroprefs

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

RESULTS
    Common
    Errors
    Successes

PREFS
LICENSE

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

SYNOPSIS
DESCRIPTION

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

LICENSE

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

"CLASS->safe_quote ITEM"

LICENSE

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

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

AUTHOR
LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    new
    create
    load_file
    load_yaml_string
    load_json_string
    load_string
    save
    meta_spec_version
    effective_prereqs
    should_index_file
    should_index_package
    features
    feature
    as_struct
    as_string

STRING DATA
LIST DATA
MAP DATA
CUSTOM DATA
BUGS
SEE ALSO
SUPPORT
    Bugs / Feature Requests
    Source Code

AUTHORS
CONTRIBUTORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    new
    convert
    upgrade_fragment

BUGS
AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
DESCRIPTION
METHODS
    new
    identifier
    description
    prereqs

BUGS
AUTHORS
COPYRIGHT AND LICENSE

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

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

AUTHORS
COPYRIGHT AND LICENSE

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

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

Related Projects
    DOAP

History

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

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

    Ingy's suggestions
        short_description, description, maturity, author_id, owner_id, categorization, keyword, chapter_id, URL for further information, namespaces

History

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

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY
    distribution, module

VERSION SPECIFICATIONS
HEADER
FIELDS
    meta-spec
    name
    version
    abstract
    author
    license
        perl, gpl, lgpl, artistic, bsd, open_source, unrestricted, restrictive

    distribution_type
    requires
    recommends
    build_requires
    conflicts
    dynamic_config
    private
    provides
    no_index
    keywords
    resources
        homepage, license, bugtracker

    generated_by

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

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

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY
    distribution, module

HEADER
FIELDS
    meta-spec
    name
    version
    abstract
    author
    license
        apache, artistic, bsd, gpl, lgpl, mit, mozilla, open_source, perl, restrictive, unrestricted

    distribution_type
    requires
    recommends
    build_requires
    conflicts
    dynamic_config
    private
    provides
    no_index
    keywords
    resources
        homepage, license, bugtracker

    generated_by

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

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

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY
    distribution, module

HEADER
FIELDS
    meta-spec
    name
    version
    abstract
    author
    license
        apache, artistic, bsd, gpl, lgpl, mit, mozilla, open_source, perl, restrictive, unrestricted

    distribution_type
    requires
    recommends
    build_requires
    configure_requires
    conflicts
    dynamic_config
    private
    provides
    no_index
    keywords
    resources
        homepage, license, bugtracker

    generated_by

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

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    new
    merge(@fragments)

MERGE STRATEGIES
    identical, set_addition, uniq_map, improvise

AUTHORS
COPYRIGHT AND LICENSE

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

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

BUGS
AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    new
    add_minimum
    add_maximum
    add_exclusion
    exact_version
    version_range_for_module
    add_requirements
    accepts_module
    clear_requirement
    requirements_for_module
    structured_requirements_for_module
    required_modules
    clone
    is_simple
    is_finalized
    finalize
    as_string_hash
    add_string_requirement
        >= 1.3, <= 1.3, != 1.3, > 1.3, < 1.3, >= 1.3, != 1.5, <= 2.0

    from_string_hash

SUPPORT
    Bugs / Feature Requests
    Source Code

AUTHORS
CONTRIBUTORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    with_string_requirement
        >= 1.3, <= 1.3, != 1.3, > 1.3, < 1.3, >= 1.3, != 1.5, <= 2.0

    with_range
    with_exact_version
    with_minimum
    with_maximum
    with_exclusion
    as_struct
    as_string
    accepts
    is_simple

AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
TERMINOLOGY
    distribution, module, package, consumer, producer, must, should, may, etc

DATA TYPES
    Boolean
    String
    List
    Map
    License String
    URL
    Version
    Version Range

STRUCTURE
    REQUIRED FIELDS
        version, url, stable, testing, unstable

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

    DEPRECATED FIELDS

VERSION NUMBERS
    Version Formats
        Decimal versions, Dotted-integer versions

    Version Ranges

PREREQUISITES
    Prereq Spec
        configure, build, test, runtime, develop, requires, recommends, suggests, conflicts

    Merging and Resolving Prerequisites

SERIALIZATION
NOTES FOR IMPLEMENTORS
    Extracting Version Numbers from Perl Modules
    Comparing Version Numbers
    Prerequisites for dynamically configured distributions
    Indexing distributions a la PAUSE

SEE ALSO
HISTORY
AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    new
    is_valid
    errors
    Check Methods
    Validator Methods

BUGS
AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHORS
CONTRIBUTOR
COPYRIGHT AND LICENSE

SYNOPSIS
DESCRIPTION

new( LOCAL_FILE_NAME )

continents()

countries( [CONTINENTS] )

mirrors( [COUNTRIES] )

get_mirrors_by_countries( [COUNTRIES] )

get_mirrors_by_continents( [CONTINENTS] )

get_countries_by_continents( [CONTINENTS] )

default_mirror

best_mirrors

get_n_random_mirrors_by_continents( N, [CONTINENTS] )

get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK, %ARGS );

find_best_continents( HASH_REF );

AUTHOR
LICENSE

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

SYNOPSIS
DESCRIPTION
LICENSE
SEE ALSO

  CPAN::Plugin - Base class for CPAN shell extensions

SYNOPSIS
DESCRIPTION
    Alpha Status
    How Plugins work?

METHODS
    plugin_requires
    distribution_object
    distribution
    distribution_info
    build_dir
    is_xs

AUTHOR

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

SYNOPSIS
DESCRIPTION
    OPTIONS

AUTHOR

  CPAN::Queue - internal queue support for CPAN.pm

LICENSE

  CPAN::Tarzip - internal handling of tar archives for CPAN.pm

LICENSE

  CPAN::Version - utility functions to compare CPAN versions

SYNOPSIS
DESCRIPTION
LICENSE

  Carp - alternative warn and die for modules

SYNOPSIS
DESCRIPTION
    Forcing a Stack Trace
    Stack Trace formatting

GLOBAL VARIABLES
    $Carp::MaxEvalLen
    $Carp::MaxArgLen
    $Carp::MaxArgNums
    $Carp::Verbose
    $Carp::RefArgFormatter
    @CARP_NOT
    %Carp::Internal
    %Carp::CarpInternal
    $Carp::CarpLevel

BUGS
SEE ALSO
CONTRIBUTING
AUTHOR
COPYRIGHT
LICENSE

  Class::Struct - declare struct-like datatypes as Perl classes

SYNOPSIS
DESCRIPTION
    The struct() function
    Class Creation at Compile Time
    Element Types and Accessor Methods
        Scalar ('$' or '*$'), Array ('@' or '*@'), Hash ('%' or '*%'), Class ('Class_Name' or '*Class_Name')

    Initializing with "new"

EXAMPLES
    Example 1, Example 2, Example 3

Author and Modification History

  Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library

SYNOPSIS
DESCRIPTION
Compression
    ($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor;
        $appendOutput, $blockSize100k, $workfactor

    $status = $bz->bzdeflate($input, $output);
    $status = $bz->bzflush($output);
    $status = $bz->bzclose($output);
    Example

Uncompression
    ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput;
        $appendOutput, $consumeInput, $small, $limitOutput, $verbosity

    $status = $z->bzinflate($input, $output);

Misc
    my $version = Compress::Raw::Bzip2::bzlibversion();

Constants
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

  Compress::Raw::Zlib - Low-Level Interface to zlib or zlib-ng compression library

SYNOPSIS
DESCRIPTION
Compress::Raw::Zlib::Deflate
    ($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] )
        -Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize, -AppendOutput, -CRC32, -ADLER32

    $status = $d->deflate($input, $output)
    $status = $d->flush($output [, $flush_type])
    $status = $d->deflateReset()
    $status = $d->deflateParams([OPT])
        -Level, -Strategy, -BufSize

    $status = $d->deflateTune($good_length, $max_lazy, $nice_length, $max_chain)
    $d->dict_adler()
    $d->crc32()
    $d->adler32()
    $d->msg()
    $d->total_in()
    $d->total_out()
    $d->get_Strategy()
    $d->get_Level()
    $d->get_Bufsize()
    Example

Compress::Raw::Zlib::Inflate
    ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] )
        -WindowBits, -Bufsize, -Dictionary, -AppendOutput, -CRC32, -ADLER32, -ConsumeInput, -LimitOutput

    $status = $i->inflate($input, $output [,$eof])
    $status = $i->inflateSync($input)
    $status = $i->inflateReset()
    $i->dict_adler()
    $i->crc32()
    $i->adler32()
    $i->msg()
    $i->total_in()
    $i->total_out()
    $d->get_Bufsize()
    Examples

CHECKSUM FUNCTIONS
Misc
    my $version = Compress::Raw::Zlib::zlib_version();
    my $version = Compress::Raw::Zlib::zlibng_version();
    my $flags = Compress::Raw::Zlib::zlibCompileFlags();
    is_zlib_native(); =head2 is_zlibng_native(); =head2 is_zlibng_compat(); =head2 is_zlibng();

The LimitOutput option.
ACCESSING ZIP FILES
FAQ
    Compatibility with Unix compress/uncompress.
    Accessing .tar.Z files
    Zlib Library Version Support

CONSTANTS
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

  Compress::Zlib - Interface to zlib compression library

SYNOPSIS
DESCRIPTION
    Notes for users of Compress::Zlib version 1

GZIP INTERFACE
    $gz = gzopen($filename, $mode), $gz = gzopen($filehandle, $mode), $bytesread = $gz->gzread($buffer [, $size]) ;, $bytesread = $gz->gzreadline($line) ;, $byteswritten = $gz->gzwrite($buffer) ;, $status = $gz->gzflush($flush_type) ;, $offset = $gz->gztell() ;, $status = $gz->gzseek($offset, $whence) ;, $gz->gzclose, $gz->gzsetparams($level, $strategy, $level, $strategy, $gz->gzerror, $gzerrno

    Examples
    Compress::Zlib::memGzip
    Compress::Zlib::memGunzip

COMPRESS/UNCOMPRESS
    $dest = compress($source [, $level] ) ;, $dest = uncompress($source) ;

Deflate Interface
    ($d, $status) = deflateInit( [OPT] )
        -Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize

    ($out, $status) = $d->deflate($buffer)
    ($out, $status) = $d->flush() =head2 ($out, $status) = $d->flush($flush_type)
    $status = $d->deflateParams([OPT])
        -Level, -Strategy

    $d->dict_adler()
    $d->msg()
    $d->total_in()
    $d->total_out()
    Example

Inflate Interface
    ($i, $status) = inflateInit()
        -WindowBits, -Bufsize, -Dictionary

    ($out, $status) = $i->inflate($buffer)
    $status = $i->inflateSync($buffer)
    $i->dict_adler()
    $i->msg()
    $i->total_in()
    $i->total_out()
    Example

CHECKSUM FUNCTIONS
Misc
    my $version = Compress::Zlib::zlib_version();

CONSTANTS
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
    myconfig(), config_sh(), config_re($regex), config_vars(@names), bincompat_options(), non_bincompat_options(), compile_date(), local_patches(), header_files()

EXAMPLE
WARNING
GLOSSARY

P   "PERL_API_REVISION", "PERL_API_SUBVERSION", "PERL_API_VERSION", "PERL_CONFIG_SH", "PERL_PATCHLEVEL", "PERL_REVISION", "PERL_SUBVERSION", "PERL_VERSION"

_   "_a", "_exe", "_o"

a   "afs", "afsroot", "alignbytes", "aphostname", "api_revision", "api_subversion", "api_version", "api_versionstring", "ar", "archlib", "archlibexp", "archname", "archname64", "archobjs", "asctime_r_proto", "awk"

b   "baserev", "bash", "bin", "bin_ELF", "binexp", "bison", "byacc", "byteorder"

c   "c", "castflags", "cat", "cc", "cccdlflags", "ccdlflags", "ccflags", "ccflags_uselargefiles", "ccname", "ccsymbols", "ccversion", "cf_by", "cf_email", "cf_time", "charbits", "charsize", "chgrp", "chmod", "chown", "clocktype", "comm", "compiler_warning", "compress", "config_arg0", "config_argc", "config_args", "contains", "cp", "cpio", "cpp", "cpp_stuff", "cppccsymbols", "cppflags", "cpplast", "cppminus", "cpprun", "cppstdin", "cppsymbols", "crypt_r_proto", "cryptlib", "csh", "ctermid_r_proto", "ctime_r_proto"

d   "d_Gconvert", "d_PRIEUldbl", "d_PRIFUldbl", "d_PRIGUldbl", "d_PRIXU64", "d_PRId64", "d_PRIeldbl", "d_PRIfldbl", "d_PRIgldbl", "d_PRIi64", "d_PRIo64", "d_PRIu64", "d_PRIx64", "d_SCNfldbl", "d__fwalk", "d_accept4", "d_access", "d_accessx", "d_acosh", "d_aintl", "d_alarm", "d_archlib", "d_asctime64", "d_asctime_r", "d_asinh", "d_atanh", "d_atolf", "d_atoll", "d_attribute_always_inline", "d_attribute_deprecated", "d_attribute_format", "d_attribute_malloc", "d_attribute_nonnull", "d_attribute_noreturn", "d_attribute_pure", "d_attribute_unused", "d_attribute_visibility", "d_attribute_warn_unused_result", "d_backtrace", "d_bsd", "d_bsdgetpgrp", "d_bsdsetpgrp", "d_builtin_add_overflow", "d_builtin_choose_expr", "d_builtin_expect", "d_builtin_mul_overflow", "d_builtin_sub_overflow", "d_c99_variadic_macros", "d_casti32", "d_castneg", "d_cbrt", "d_chown", "d_chroot", "d_chsize", "d_class", "d_clearenv", "d_closedir", "d_cmsghdr_s", "d_copysign", "d_copysignl", "d_cplusplus", "d_crypt", "d_crypt_r", "d_csh", "d_ctermid", "d_ctermid_r", "d_ctime64", "d_ctime_r", "d_cuserid", "d_dbminitproto", "d_difftime", "d_difftime64", "d_dir_dd_fd", "d_dirfd", "d_dirnamlen", "d_dladdr", "d_dlerror", "d_dlopen", "d_dlsymun", "d_dosuid", "d_double_has_inf", "d_double_has_nan", "d_double_has_negative_zero", "d_double_has_subnormals", "d_double_style_cray", "d_double_style_ibm", "d_double_style_ieee", "d_double_style_vax", "d_drand48_r", "d_drand48proto", "d_dup2", "d_dup3", "d_duplocale", "d_eaccess", "d_endgrent", "d_endgrent_r", "d_endhent", "d_endhostent_r", "d_endnent", "d_endnetent_r", "d_endpent", "d_endprotoent_r", "d_endpwent", "d_endpwent_r", "d_endsent", "d_endservent_r", "d_eofnblk", "d_erf", "d_erfc", "d_eunice", "d_exp2", "d_expm1", "d_faststdio", "d_fchdir", "d_fchmod", "d_fchmodat", "d_fchown", "d_fcntl", "d_fcntl_can_lock", "d_fd_macros", "d_fd_set", "d_fdclose", "d_fdim", "d_fdopendir", "d_fds_bits", "d_fegetround", "d_ffs", "d_ffsl", "d_fgetpos", "d_finite", "d_finitel", "d_flexfnam", "d_flock", "d_flockproto", "d_fma", "d_fmax", "d_fmin", "d_fork", "d_fp_class", "d_fp_classify", "d_fp_classl", "d_fpathconf", "d_fpclass", "d_fpclassify", "d_fpclassl", "d_fpgetround", "d_fpos64_t", "d_freelocale", "d_frexpl", "d_fs_data_s", "d_fseeko", "d_fsetpos", "d_fstatfs", "d_fstatvfs", "d_fsync", "d_ftello", "d_ftime", "d_futimes", "d_gai_strerror", "d_gdbm_ndbm_h_uses_prototypes", "d_gdbmndbm_h_uses_prototypes", "d_getaddrinfo", "d_getcwd", "d_getentropy", "d_getenv_preserves_other_thread", "d_getespwnam", "d_getfsstat", "d_getgrent", "d_getgrent_r", "d_getgrgid_r", "d_getgrnam_r", "d_getgrps", "d_gethbyaddr", "d_gethbyname", "d_gethent", "d_gethname", "d_gethostbyaddr_r", "d_gethostbyname_r", "d_gethostent_r", "d_gethostprotos", "d_getitimer", "d_getlogin", "d_getlogin_r", "d_getmnt", "d_getmntent", "d_getnameinfo", "d_getnbyaddr", "d_getnbyname", "d_getnent", "d_getnetbyaddr_r", "d_getnetbyname_r", "d_getnetent_r", "d_getnetprotos", "d_getpagsz", "d_getpbyname", "d_getpbynumber", "d_getpent", "d_getpgid", "d_getpgrp", "d_getpgrp2", "d_getppid", "d_getprior", "d_getprotobyname_r", "d_getprotobynumber_r", "d_getprotoent_r", "d_getprotoprotos", "d_getprpwnam", "d_getpwent", "d_getpwent_r", "d_getpwnam_r", "d_getpwuid_r", "d_getsbyname", "d_getsbyport", "d_getsent", "d_getservbyname_r", "d_getservbyport_r", "d_getservent_r", "d_getservprotos", "d_getspnam", "d_getspnam_r", "d_gettimeod", "d_gmtime64", "d_gmtime_r", "d_gnulibc", "d_grpasswd", "d_has_C_UTF8", "d_hasmntopt", "d_htonl", "d_hypot", "d_ilogb", "d_ilogbl", "d_inc_version_list", "d_inetaton", "d_inetntop", "d_inetpton", "d_int64_t", "d_ip_mreq", "d_ip_mreq_source", "d_ipv6_mreq", "d_ipv6_mreq_source", "d_isascii", "d_isblank", "d_isfinite", "d_isfinitel", "d_isinf", "d_isinfl", "d_isless", "d_isnan", "d_isnanl", "d_isnormal", "d_j0", "d_j0l", "d_killpg", "d_lc_monetary_2008", "d_lchown", "d_ldbl_dig", "d_ldexpl", "d_lgamma", "d_lgamma_r", "d_libm_lib_version", "d_libname_unique", "d_link", "d_linkat", "d_llrint", "d_llrintl", "d_llround", "d_llroundl", "d_localeconv_l", "d_localtime64", "d_localtime_r", "d_localtime_r_needs_tzset", "d_locconv", "d_lockf", "d_log1p", "d_log2", "d_logb", "d_long_double_style_ieee", "d_long_double_style_ieee_doubledouble", "d_long_double_style_ieee_extended", "d_long_double_style_ieee_std", "d_long_double_style_vax", "d_longdbl", "d_longlong", "d_lrint", "d_lrintl", "d_lround", "d_lroundl", "d_lseekproto", "d_lstat", "d_madvise", "d_malloc_good_size", "d_malloc_size", "d_malloc_usable_size", "d_mblen", "d_mbrlen", "d_mbrtowc", "d_mbstowcs", "d_mbtowc", "d_memmem", "d_memrchr", "d_mkdir", "d_mkdtemp", "d_mkfifo", "d_mkostemp", "d_mkstemp", "d_mkstemps", "d_mktime", "d_mktime64", "d_mmap", "d_modfl", "d_modflproto", "d_mprotect", "d_msg", "d_msg_ctrunc", "d_msg_dontroute", "d_msg_oob", "d_msg_peek", "d_msg_proxy", "d_msgctl", "d_msgget", "d_msghdr_s", "d_msgrcv", "d_msgsnd", "d_msync", "d_munmap", "d_mymalloc", "d_nan", "d_nanosleep", "d_ndbm", "d_ndbm_h_uses_prototypes", "d_nearbyint", "d_newlocale", "d_nextafter", "d_nexttoward", "d_nice", "d_nl_langinfo", "d_nl_langinfo_l", "d_non_int_bitfields", "d_nv_preserves_uv", "d_nv_zero_is_allbits_zero", "d_off64_t", "d_old_pthread_create_joinable", "d_oldpthreads", "d_oldsock", "d_open3", "d_openat", "d_pathconf", "d_pause", "d_perl_lc_all_category_positions_init", "d_perl_lc_all_separator", "d_perl_lc_all_uses_name_value_pairs", "d_perl_otherlibdirs", "d_phostname", "d_pipe", "d_pipe2", "d_poll", "d_portable", "d_prctl", "d_prctl_set_name", "d_printf_format_null", "d_procselfexe", "d_pseudofork", "d_pthread_atfork", "d_pthread_attr_setscope", "d_pthread_yield", "d_ptrdiff_t", "d_pwage", "d_pwchange", "d_pwclass", "d_pwcomment", "d_pwexpire", "d_pwgecos", "d_pwpasswd", "d_pwquota", "d_qgcvt", "d_quad", "d_querylocale", "d_random_r", "d_re_comp", "d_readdir", "d_readdir64_r", "d_readdir_r", "d_readlink", "d_readv", "d_recvmsg", "d_regcmp", "d_regcomp", "d_remainder", "d_remquo", "d_rename", "d_renameat", "d_rewinddir", "d_rint", "d_rmdir", "d_round", "d_sbrkproto", "d_scalbn", "d_scalbnl", "d_sched_yield", "d_scm_rights", "d_seekdir", "d_select", "d_sem", "d_semctl", "d_semctl_semid_ds", "d_semctl_semun", "d_semget", "d_semop", "d_sendmsg", "d_setegid", "d_setenv", "d_seteuid", "d_setgrent", "d_setgrent_r", "d_setgrps", "d_sethent", "d_sethostent_r", "d_setitimer", "d_setlinebuf", "d_setlocale", "d_setlocale_accepts_any_locale_name", "d_setlocale_r", "d_setnent", "d_setnetent_r", "d_setpent", "d_setpgid", "d_setpgrp", "d_setpgrp2", "d_setprior", "d_setproctitle", "d_setprotoent_r", "d_setpwent", "d_setpwent_r", "d_setregid", "d_setresgid", "d_setresuid", "d_setreuid", "d_setrgid", "d_setruid", "d_setsent", "d_setservent_r", "d_setsid", "d_setvbuf", "d_shm", "d_shmat", "d_shmatprototype", "d_shmctl", "d_shmdt", "d_shmget", "d_sigaction", "d_siginfo_si_addr", "d_siginfo_si_band", "d_siginfo_si_errno", "d_siginfo_si_fd", "d_siginfo_si_pid", "d_siginfo_si_status", "d_siginfo_si_uid", "d_siginfo_si_value", "d_signbit", "d_sigprocmask", "d_sigsetjmp", "d_sin6_scope_id", "d_sitearch", "d_snprintf", "d_sockaddr_in6", "d_sockaddr_sa_len", "d_sockaddr_storage", "d_sockatmark", "d_sockatmarkproto", "d_socket", "d_socklen_t", "d_sockpair", "d_socks5_init", "d_sqrtl", "d_srand48_r", "d_srandom_r", "d_sresgproto", "d_sresuproto", "d_stat", "d_statblks", "d_statfs_f_flags", "d_statfs_s", "d_static_inline", "d_statvfs", "d_stdio_cnt_lval", "d_stdio_ptr_lval", "d_stdio_ptr_lval_nochange_cnt", "d_stdio_ptr_lval_sets_cnt", "d_stdio_stream_array", "d_stdiobase", "d_stdstdio", "d_strcoll", "d_strerror_l", "d_strerror_r", "d_strftime", "d_strlcat", "d_strlcpy", "d_strnlen", "d_strtod", "d_strtod_l", "d_strtol", "d_strtold", "d_strtold_l", "d_strtoll", "d_strtoq", "d_strtoul", "d_strtoull", "d_strtouq", "d_strxfrm", "d_strxfrm_l", "d_suidsafe", "d_symlink", "d_syscall", "d_syscallproto", "d_sysconf", "d_sysernlst", "d_syserrlst", "d_system", "d_tcgetpgrp", "d_tcsetpgrp", "d_telldir", "d_telldirproto", "d_tgamma", "d_thread_local", "d_time", "d_timegm", "d_times", "d_tm_tm_gmtoff", "d_tm_tm_zone", "d_tmpnam_r", "d_towlower", "d_towupper", "d_trunc", "d_truncate", "d_truncl", "d_ttyname_r", "d_tzname", "d_u32align", "d_ualarm", "d_umask", "d_uname", "d_union_semun", "d_unlinkat", "d_unordered", "d_unsetenv", "d_uselocale", "d_usleep", "d_usleepproto", "d_ustat", "d_vendorarch", "d_vendorbin", "d_vendorlib", "d_vendorscript", "d_vfork", "d_void_closedir", "d_voidsig", "d_voidtty", "d_vsnprintf", "d_wait4", "d_waitpid", "d_wcrtomb", "d_wcscmp", "d_wcstombs", "d_wcsxfrm", "d_wctomb", "d_writev", "d_xenix", "date", "db_hashtype", "db_prefixtype", "db_version_major", "db_version_minor", "db_version_patch", "default_inc_excludes_dot", "direntrytype", "dlext", "dlsrc", "doubleinfbytes", "doublekind", "doublemantbits", "doublenanbytes", "doublesize", "drand01", "drand48_r_proto", "dtrace", "dtraceobject", "dtracexnolibs", "dynamic_ext"

e   "eagain", "ebcdic", "echo", "egrep", "emacs", "endgrent_r_proto", "endhostent_r_proto", "endnetent_r_proto", "endprotoent_r_proto", "endpwent_r_proto", "endservent_r_proto", "eunicefix", "exe_ext", "expr", "extensions", "extern_C", "extras"

f   "fflushNULL", "fflushall", "find", "firstmakefile", "flex", "fpossize", "fpostype", "freetype", "from", "full_ar", "full_csh", "full_sed"

g   "gccansipedantic", "gccosandvers", "gccversion", "getgrent_r_proto", "getgrgid_r_proto", "getgrnam_r_proto", "gethostbyaddr_r_proto", "gethostbyname_r_proto", "gethostent_r_proto", "getlogin_r_proto", "getnetbyaddr_r_proto", "getnetbyname_r_proto", "getnetent_r_proto", "getprotobyname_r_proto", "getprotobynumber_r_proto", "getprotoent_r_proto", "getpwent_r_proto", "getpwnam_r_proto", "getpwuid_r_proto", "getservbyname_r_proto", "getservbyport_r_proto", "getservent_r_proto", "getspnam_r_proto", "gidformat", "gidsign", "gidsize", "gidtype", "glibpth", "gmake", "gmtime_r_proto", "gnulibc_version", "grep", "groupcat", "groupstype", "gzip"

h   "h_fcntl", "h_sysfile", "hint", "hostcat", "hostgenerate", "hostosname", "hostperl", "html1dir", "html1direxp", "html3dir", "html3direxp"

i   "i16size", "i16type", "i32dformat", "i32size", "i32type", "i64size", "i64type", "i8size", "i8type", "i_arpainet", "i_bfd", "i_bsdioctl", "i_crypt", "i_db", "i_dbm", "i_dirent", "i_dlfcn", "i_execinfo", "i_fcntl", "i_fenv", "i_fp", "i_fp_class", "i_gdbm", "i_gdbm_ndbm", "i_gdbmndbm", "i_grp", "i_ieeefp", "i_inttypes", "i_langinfo", "i_libutil", "i_locale", "i_machcthr", "i_malloc", "i_mallocmalloc", "i_mntent", "i_ndbm", "i_netdb", "i_neterrno", "i_netinettcp", "i_niin", "i_poll", "i_prot", "i_pthread", "i_pwd", "i_quadmath", "i_rpcsvcdbm", "i_sgtty", "i_shadow", "i_socks", "i_stdbool", "i_stdckdint", "i_stdint", "i_stdlib", "i_sunmath", "i_sysaccess", "i_sysdir", "i_sysfile", "i_sysfilio", "i_sysin", "i_sysioctl", "i_syslog", "i_sysmman", "i_sysmode", "i_sysmount", "i_sysndir", "i_sysparam", "i_syspoll", "i_sysrandom", "i_sysresrc", "i_syssecrt", "i_sysselct", "i_syssockio", "i_sysstat", "i_sysstatfs", "i_sysstatvfs", "i_syssyscall", "i_systime", "i_systimek", "i_systimes", "i_systypes", "i_sysuio", "i_sysun", "i_sysutsname", "i_sysvfs", "i_syswait", "i_termio", "i_termios", "i_time", "i_unistd", "i_ustat", "i_utime", "i_vfork", "i_wchar", "i_wctype", "i_xlocale", "ignore_versioned_solibs", "inc_version_list", "inc_version_list_init", "incpath", "incpth", "inews", "initialinstalllocation", "installarchlib", "installbin", "installhtml1dir", "installhtml3dir", "installman1dir", "installman3dir", "installprefix", "installprefixexp", "installprivlib", "installscript", "installsitearch", "installsitebin", "installsitehtml1dir", "installsitehtml3dir", "installsitelib", "installsiteman1dir", "installsiteman3dir", "installsitescript", "installstyle", "installusrbinperl", "installvendorarch", "installvendorbin", "installvendorhtml1dir", "installvendorhtml3dir", "installvendorlib", "installvendorman1dir", "installvendorman3dir", "installvendorscript", "intmaxsize", "intsize", "issymlink", "ivdformat", "ivsize", "ivtype"

k   "known_extensions", "ksh"

l   "ld", "ld_can_script", "lddlflags", "ldflags", "ldflags_uselargefiles", "ldlibpthname", "less", "lib_ext", "libc", "libperl", "libpth", "libs", "libsdirs", "libsfiles", "libsfound", "libspath", "libswanted", "libswanted_uselargefiles", "line", "lint", "lkflags", "ln", "lns", "localtime_r_proto", "locincpth", "loclibpth", "longdblinfbytes", "longdblkind", "longdblmantbits", "longdblnanbytes", "longdblsize", "longlongsize", "longsize", "lp", "lpr", "ls", "lseeksize", "lseektype"

m   "mail", "mailx", "make", "make_set_make", "mallocobj", "mallocsrc", "malloctype", "man1dir", "man1direxp", "man1ext", "man3dir", "man3direxp", "man3ext", "mips_type", "mistrustnm", "mkdir", "mmaptype", "modetype", "more", "multiarch", "mv", "myarchname", "mydomain", "myhostname", "myuname"

n   "n", "need_va_copy", "netdb_hlen_type", "netdb_host_type", "netdb_name_type", "netdb_net_type", "nm", "nm_opt", "nm_so_opt", "nonxs_ext", "nroff", "nvEUformat", "nvFUformat", "nvGUformat", "nv_overflows_integers_at", "nv_preserves_uv_bits", "nveformat", "nvfformat", "nvgformat", "nvmantbits", "nvsize", "nvtype"

o   "o_nonblock", "obj_ext", "old_pthread_create_joinable", "optimize", "orderlib", "osname", "osvers", "otherlibdirs"

p   "package", "pager", "passcat", "patchlevel", "path_sep", "perl", "perl5", "perl_lc_all_category_positions_init", "perl_lc_all_separator", "perl_patchlevel", "perl_static_inline", "perl_thread_local", "perladmin", "perllibs", "perlpath", "pg", "phostname", "pidtype", "plibpth", "pmake", "pr", "prefix", "prefixexp", "privlib", "privlibexp", "procselfexe", "ptrsize"

q   "quadkind", "quadtype"

r   "randbits", "randfunc", "random_r_proto", "randseedtype", "ranlib", "rd_nodata", "readdir64_r_proto", "readdir_r_proto", "revision", "rm", "rm_try", "rmail", "run", "runnm"

s   "sGMTIME_max", "sGMTIME_min", "sLOCALTIME_max", "sLOCALTIME_min", "sPRIEUldbl", "sPRIFUldbl", "sPRIGUldbl", "sPRIXU64", "sPRId64", "sPRIeldbl", "sPRIfldbl", "sPRIgldbl", "sPRIi64", "sPRIo64", "sPRIu64", "sPRIx64", "sSCNfldbl", "sched_yield", "scriptdir", "scriptdirexp", "sed", "seedfunc", "selectminbits", "selecttype", "sendmail", "setgrent_r_proto", "sethostent_r_proto", "setlocale_r_proto", "setnetent_r_proto", "setprotoent_r_proto", "setpwent_r_proto", "setservent_r_proto", "sh", "shar", "sharpbang", "shmattype", "shortsize", "shrpenv", "shsharp", "sig_count", "sig_name", "sig_name_init", "sig_num", "sig_num_init", "sig_size", "signal_t", "sitearch", "sitearchexp", "sitebin", "sitebinexp", "sitehtml1dir", "sitehtml1direxp", "sitehtml3dir", "sitehtml3direxp", "sitelib", "sitelib_stem", "sitelibexp", "siteman1dir", "siteman1direxp", "siteman3dir", "siteman3direxp", "siteprefix", "siteprefixexp", "sitescript", "sitescriptexp", "sizesize", "sizetype", "sleep", "smail", "so", "sockethdr", "socketlib", "socksizetype", "sort", "spackage", "spitshell", "srand48_r_proto", "srandom_r_proto", "src", "ssizetype", "st_dev_sign", "st_dev_size", "st_ino_sign", "st_ino_size", "startperl", "startsh", "static_ext", "stdchar", "stdio_base", "stdio_bufsiz", "stdio_cnt", "stdio_filbuf", "stdio_ptr", "stdio_stream_array", "strerror_r_proto", "submit", "subversion", "sysman", "sysroot"

t   "tail", "taint_disabled", "taint_support", "tar", "targetarch", "targetdir", "targetenv", "targethost", "targetmkdir", "targetport", "targetsh", "tbl", "tee", "test", "timeincl", "timetype", "tmpnam_r_proto", "to", "touch", "tr", "trnl", "troff", "ttyname_r_proto"

u   "u16size", "u16type", "u32XUformat", "u32oformat", "u32size", "u32type", "u32uformat", "u32xformat", "u64size", "u64type", "u8size", "u8type", "uidformat", "uidsign", "uidsize", "uidtype", "uname", "uniq", "uquadtype", "use64bitall", "use64bitint", "usecbacktrace", "usecrosscompile", "usedefaultstrict", "usedevel", "usedl", "usedtrace", "usefaststdio", "useithreads", "usekernprocpathname", "uselanginfo", "uselargefiles", "uselongdouble", "usemallocwrap", "usemorebits", "usemultiplicity", "usemymalloc", "usenm", "usensgetexecutablepath", "useopcode", "useperlio", "useposix", "usequadmath", "usereentrant", "userelocatableinc", "useshrplib", "usesitecustomize", "usesocks", "usethreads", "usevendorprefix", "useversionedarchname", "usevfork", "usrinc", "uuname", "uvXUformat", "uvoformat", "uvsize", "uvtype", "uvuformat", "uvxformat"

v   "vendorarch", "vendorarchexp", "vendorbin", "vendorbinexp", "vendorhtml1dir", "vendorhtml1direxp", "vendorhtml3dir", "vendorhtml3direxp", "vendorlib", "vendorlib_stem", "vendorlibexp", "vendorman1dir", "vendorman1direxp", "vendorman3dir", "vendorman3direxp", "vendorprefix", "vendorprefixexp", "vendorscript", "vendorscriptexp", "version", "version_patchlevel_string", "versiononly", "vi"

x   "xlibpth", "xlocale_needed"

y   "yacc", "yaccflags"

z   "zcat", "zip"

GIT DATA
NOTE

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

SYNOPSIS
DESCRIPTION
    dynamic, nonxs, static

AUTHOR

  Config::Perl::V - Structured data retrieval of perl -V output

SYNOPSIS
DESCRIPTION
    $conf = myconfig ()
    $conf = plv2hash ($text [, ...])
    $info = summary ([$conf])
    $md5 = signature ([$conf])
    The hash structure
        build, osname, stamp, options, derived, patches, environment, config, inc

REASONING
BUGS
TODO
AUTHOR
COPYRIGHT AND LICENSE

  Cwd - get pathname of current working directory

SYNOPSIS
DESCRIPTION
    getcwd and friends
        getcwd, cwd, fastcwd, fastgetcwd, getdcwd

    abs_path and friends
        abs_path, realpath, fast_abs_path

    $ENV{PWD}

NOTES
AUTHOR
COPYRIGHT
SEE ALSO

  DB - programmatic interface to the Perl debugging API

SYNOPSIS
DESCRIPTION
    Global Variables
         $DB::sub,  %DB::sub,  $DB::single,  $DB::signal,  $DB::trace,  @DB::args,
        @DB::dbline,  %DB::dbline,  $DB::package,  $DB::filename,  $DB::subname,
        $DB::lineno

    API Methods
        CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'), CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()

    Client Callback Methods
        CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(), CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(), CLIENT->output(LIST)

BUGS
AUTHOR

  DBM_Filter -- Filter DBM keys/values

SYNOPSIS
DESCRIPTION
What is a DBM Filter?
    So what's new?

METHODS
    $db->Filter_Push() / $db->Filter_Key_Push() / $db->Filter_Value_Push()
        Filter_Push, Filter_Key_Push, Filter_Value_Push

    $db->Filter_Pop()
    $db->Filtered()

Writing a Filter
    Immediate Filters
    Canned Filters
        "name", params

Filters Included
    utf8, encode, compress, int32, null

NOTES
    Maintain Round Trip Integrity
    Don't mix filtered & non-filtered data in the same database file.

EXAMPLE
SEE ALSO
AUTHOR

  DBM_Filter::compress - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

  DBM_Filter::encode - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

  DBM_Filter::int32 - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

  DBM_Filter::null - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

  DBM_Filter::utf8 - filter for DBM_Filter

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

  DB_File - Perl access to Berkeley DB 1.x

SYNOPSIS
DESCRIPTION
    DB_HASH, DB_BTREE, DB_RECNO

    Using DB_File with Berkeley DB version 2 or greater
    Interface to Berkeley DB
    Opening a Berkeley DB Database File
    Default Parameters
    In Memory Databases

DB_HASH
    A Simple Example

DB_BTREE
    Changing the BTREE sort order
    Handling Duplicate Keys
    The get_dup() Method
    The find_dup() Method
    The del_dup() Method
    Matching Partial Keys

DB_RECNO
    The 'bval' Option
    A Simple Example
    Extra RECNO Methods
        $X->push(list) ;, $value = $X->pop ;, $X->shift, $X->unshift(list) ;, $X->length, $X->splice(offset, length, elements);

    Another Example

THE API INTERFACE
    $status = $X->get($key, $value [, $flags]) ;, $status = $X->put($key, $value [, $flags]) ;, $status = $X->del($key [, $flags]) ;, $status = $X->fd ;, $status = $X->seq($key, $value, $flags) ;, $status = $X->sync([$flags]) ;

DBM FILTERS
    DBM Filter Low-level API
        filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

    The Filter
    An Example -- the NULL termination problem.
    Another Example -- Key is a C int.

HINTS AND TIPS
    Locking: The Trouble with fd
    Safe ways to lock a database
        Tie::DB_Lock, Tie::DB_LockFile, DB_File::Lock

    Sharing Databases With C Applications
    The untie() Gotcha

COMMON QUESTIONS
    Why is there Perl source in my database?
    How do I store complex data structures with DB_File?
    What does "wide character in subroutine entry" mean?
    What does "Invalid Argument" mean?
    What does "Bareword 'DB_File' not allowed" mean?

REFERENCES
HISTORY
BUGS
SUPPORT
AVAILABILITY
COPYRIGHT
SEE ALSO
AUTHOR

  Data::Dumper - stringified perl data structures, suitable for both printing and "eval"

SYNOPSIS
DESCRIPTION
    Methods
        PACKAGE->new(ARRAYREF [, ARRAYREF]), $OBJ->Dump or PACKAGE->Dump(ARRAYREF [, ARRAYREF]), $OBJ->Seen([HASHREF]), $OBJ->Values([ARRAYREF]), $OBJ->Names([ARRAYREF]), $OBJ->Reset

    Functions
        Dumper(LIST)

    Configuration Variables or Methods
    Exports
        Dumper

EXAMPLES
BUGS
    NOTE

AUTHOR
VERSION
SEE ALSO

  Devel::PPPort - Perl/Pollution/Portability

SYNOPSIS
Start using Devel::PPPort for XS projects
DESCRIPTION
    Why use ppport.h?
    How to use ppport.h
    Running ppport.h

FUNCTIONS
    WriteFile
    GetFileContents

COMPATIBILITY
    Provided Perl compatibility API
    Supported Perl API, sorted by version
        perl 5.35.9, perl 5.35.8, perl 5.35.7, perl 5.35.6, perl 5.35.5, perl 5.35.4, perl 5.35.1, perl 5.33.8, perl 5.33.7, perl 5.33.5, perl 5.33.2, perl 5.32.1, perl 5.31.9, perl 5.31.7, perl 5.31.5, perl 5.31.4, perl 5.31.3, perl 5.29.10, perl 5.29.9, perl 5.27.11, perl 5.27.9, perl 5.27.8, perl 5.27.7, perl 5.27.6, perl 5.27.5, perl 5.27.4, perl 5.27.3, perl 5.27.2, perl 5.27.1, perl 5.25.11, perl 5.25.10, perl 5.25.9, perl 5.25.8, perl 5.25.7, perl 5.25.6, perl 5.25.5, perl 5.25.4, perl 5.25.3, perl 5.25.2, perl 5.25.1, perl 5.24.0, perl 5.23.9, perl 5.23.8, perl 5.23.6, perl 5.23.5, perl 5.23.2, perl 5.23.0, perl 5.21.10, perl 5.21.9, perl 5.21.8, perl 5.21.7, perl 5.21.6, perl 5.21.5, perl 5.21.4, perl 5.21.3, perl 5.21.2, perl 5.21.1, perl 5.19.10, perl 5.19.9, perl 5.19.7, perl 5.19.5, perl 5.19.4, perl 5.19.3, perl 5.19.2, perl 5.19.1, perl 5.18.0, perl 5.17.11, perl 5.17.8, perl 5.17.7, perl 5.17.6, perl 5.17.5, perl 5.17.4, perl 5.17.2, perl 5.17.1, perl 5.16.0, perl 5.15.8, perl 5.15.7, perl 5.15.6, perl 5.15.4, perl 5.15.3, perl 5.15.2, perl 5.15.1, perl 5.13.10, perl 5.13.9, perl 5.13.8, perl 5.13.7, perl 5.13.6, perl 5.13.5, perl 5.13.4, perl 5.13.3, perl 5.13.2, perl 5.13.1, perl 5.13.0, perl 5.11.5, perl 5.11.4, perl 5.11.2, perl 5.11.0, perl 5.10.1, perl 5.10.0, perl 5.9.5, perl 5.9.4, perl 5.9.3, perl 5.9.2, perl 5.9.1, perl 5.9.0, perl 5.8.9, perl 5.8.8, perl 5.8.3, perl 5.8.1, perl 5.8.0, perl 5.7.3, perl 5.7.2, perl 5.7.1, perl 5.7.0, perl 5.6.1, perl 5.6.0, perl 5.005_03, perl 5.005, perl 5.004_05, perl 5.004, perl 5.003_07 (or maybe earlier), Backported version unknown

BUGS
AUTHORS
COPYRIGHT
SEE ALSO

  Devel::Peek - A data debugging tool for the XS programmer

SYNOPSIS
DESCRIPTION
    Runtime debugging
    Memory footprint debugging

EXAMPLES
    A simple scalar string
    A simple scalar number
    A simple scalar with an extra reference
    A reference to a simple scalar
    A reference to an array
    A reference to a hash
    Dumping a large array or hash
    A reference to an SV which holds a C pointer
    A reference to a subroutine

EXPORTS
BUGS
AUTHOR
SEE ALSO

  Devel::SelfStubber - generate stubs for a SelfLoading module

SYNOPSIS
DESCRIPTION

  Digest - Modules that calculate message digests

SYNOPSIS
DESCRIPTION
    binary, hex, base64

OO INTERFACE
    $ctx = Digest->XXX($arg,...), $ctx = Digest->new(XXX => $arg,...), $ctx = Digest::XXX->new($arg,...), $other_ctx = $ctx->clone, $ctx->reset, $ctx->add( $data ), $ctx->add( $chunk1, $chunk2, ... ), $ctx->addfile( $io_handle ), $ctx->add_bits( $data, $nbits ), $ctx->add_bits( $bitstring ), $ctx->digest, $ctx->hexdigest, $ctx->b64digest, $ctx->base64_padded_digest

Digest speed
SEE ALSO
AUTHOR

  Digest::MD5 - Perl interface to the MD5 Algorithm

SYNOPSIS
DESCRIPTION
FUNCTIONS
    md5($data,...), md5_hex($data,...), md5_base64($data,...)

METHODS
    $md5 = Digest::MD5->new, $md5->reset, $md5->clone, $md5->add($data,...), $md5->addfile($io_handle), $md5->add_bits($data, $nbits), $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest, @ctx = $md5->context, $md5->context(@ctx)

EXAMPLES
SEE ALSO
COPYRIGHT
AUTHORS

  Digest::SHA - Perl extension for SHA-1/224/256/384/512

SYNOPSIS
SYNOPSIS (HMAC-SHA)
ABSTRACT
DESCRIPTION
UNICODE AND SIDE EFFECTS
NIST STATEMENT ON SHA-1
PADDING OF BASE64 DIGESTS
EXPORT
EXPORTABLE FUNCTIONS
    sha1($data, ...), sha224($data, ...), sha256($data, ...), sha384($data, ...), sha512($data, ...), sha512224($data, ...), sha512256($data, ...), sha1_hex($data, ...), sha224_hex($data, ...), sha256_hex($data, ...), sha384_hex($data, ...), sha512_hex($data, ...), sha512224_hex($data, ...), sha512256_hex($data, ...), sha1_base64($data, ...), sha224_base64($data, ...), sha256_base64($data, ...), sha384_base64($data, ...), sha512_base64($data, ...), sha512224_base64($data, ...), sha512256_base64($data, ...), new($alg), reset($alg), hashsize, algorithm, clone, add($data, ...), add_bits($data, $nbits), add_bits($bits), addfile(*FILE), addfile($filename [, $mode]), getstate, putstate($str), dump($filename), load($filename), digest, hexdigest, b64digest, hmac_sha1($data, $key), hmac_sha224($data, $key), hmac_sha256($data, $key), hmac_sha384($data, $key), hmac_sha512($data, $key), hmac_sha512224($data, $key), hmac_sha512256($data, $key), hmac_sha1_hex($data, $key), hmac_sha224_hex($data, $key), hmac_sha256_hex($data, $key), hmac_sha384_hex($data, $key), hmac_sha512_hex($data, $key), hmac_sha512224_hex($data, $key), hmac_sha512256_hex($data, $key), hmac_sha1_base64($data, $key), hmac_sha224_base64($data, $key), hmac_sha256_base64($data, $key), hmac_sha384_base64($data, $key), hmac_sha512_base64($data, $key), hmac_sha512224_base64($data, $key), hmac_sha512256_base64($data, $key)

SEE ALSO
AUTHOR
ACKNOWLEDGMENTS
COPYRIGHT AND LICENSE

  Digest::base - Digest base class

SYNOPSIS
DESCRIPTION
SEE ALSO

  Digest::file - Calculate digests of files

SYNOPSIS
DESCRIPTION
    digest_file( $file, $algorithm, [$arg,...] ), digest_file_hex( $file, $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...] )

SEE ALSO

  DirHandle - (obsolete) supply object methods for directory handles

SYNOPSIS
DESCRIPTION

  Dumpvalue - provides screen dump of Perl data.

SYNOPSIS
DESCRIPTION
    Creation
        "arrayDepth", "hashDepth", "compactDump", "veryCompact", "globPrint", "dumpDBFiles", "dumpPackages", "dumpReused", "tick", "quoteHighBit", "printUndef", "usageOnly", unctrl, subdump, bareStringify, quoteHighBit, stopDbSignal

    Methods
        dumpValue, dumpValues, stringify, dumpvars, set_quote, set_unctrl, compactDump, veryCompact, set, get

  DynaLoader - Dynamically load C libraries into Perl code

SYNOPSIS
DESCRIPTION
    @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs, @dl_modules, @dl_shared_objects, dl_error(), $dl_debug, $dl_dlext, dl_findfile(), dl_expandspec(), dl_load_file(), dl_unload_file(), dl_load_flags(), dl_find_symbol(), dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(), bootstrap()

AUTHOR

  Encode - character encodings in Perl

SYNOPSIS
    Table of Contents
        Encode::Alias - Alias definitions to encodings, Encode::Encoding - Encode Implementation Base Class, Encode::Supported - List of Supported Encodings, Encode::CN - Simplified Chinese Encodings, Encode::JP - Japanese Encodings, Encode::KR - Korean Encodings, Encode::TW - Traditional Chinese Encodings

DESCRIPTION
    TERMINOLOGY

THE PERL ENCODING API
    Basic methods
    Listing available encodings
    Defining Aliases
    Finding IANA Character Set Registry names

Encoding via PerlIO
Handling Malformed Data
    List of CHECK values
        perlqq mode (CHECK = Encode::FB_PERLQQ), HTML charref mode (CHECK = Encode::FB_HTMLCREF), XML charref mode (CHECK = Encode::FB_XMLCREF)

    coderef for CHECK

Defining Encodings
The UTF8 flag
    Goal #1:, Goal #2:, Goal #3:, Goal #4:

    Messing with Perl's Internals

UTF-8 vs. utf8 vs. UTF8
SEE ALSO
MAINTAINER
COPYRIGHT

  Encode::Alias - alias definitions to encodings

SYNOPSIS
DESCRIPTION
    As a simple string, As a qr// compiled regular expression, e.g.:, As a code reference, e.g.:

    Alias overloading

SEE ALSO

  Encode::Byte - Single Byte Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

  Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_*

  Encode::CN - China-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

  Encode::CN::HZ -- internally used by Encode::CN

  Encode::Config -- internally used by Encode

  Encode::EBCDIC - EBCDIC Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

  Encode::Encoder -- Object Oriented Encoder

SYNOPSIS
ABSTRACT
Description
    Predefined Methods
        $e = Encode::Encoder->new([$data, $encoding]);, encoder(), $e->data([$data]), $e->encoding([$encoding]), $e->bytes([$encoding])

    Example: base64 transcoder
    Operator Overloading

SEE ALSO

  Encode::Encoding - Encode Implementation Base Class

SYNOPSIS
DESCRIPTION
    Methods you should implement
        ->encode($string [,$check]), ->decode($octets [,$check]), ->cat_decode($destination, $octets, $offset, $terminator [,$check])

    Other methods defined in Encode::Encodings
        ->name, ->mime_name, ->renew, ->renewed, ->perlio_ok(), ->needs_lines()

    Example: Encode::ROT13

Why the heck Encode API is different?
    Compiled Encodings

SEE ALSO
    Scheme 1, Scheme 2, Other Schemes

  Encode::GSM0338 -- ETSI GSM 03.38 Encoding

SYNOPSIS
DESCRIPTION
    Septets

BUGS
SEE ALSO

  Encode::Guess -- Guesses encoding from data

SYNOPSIS
ABSTRACT
DESCRIPTION
    Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode("Guess" ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects])

CAVEATS
TO DO
SEE ALSO

  Encode::JP - Japanese Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
Note on ISO-2022-JP(-1)?
BUGS
SEE ALSO

  Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*

  Encode::JP::JIS7 -- internally used by Encode::JP

  Encode::KR - Korean Encodings

SYNOPSIS
DESCRIPTION
BUGS
SEE ALSO

  Encode::KR::2022_KR -- internally used by Encode::KR

  Encode::MIME::Header -- MIME encoding for an unstructured email header

SYNOPSIS
ABSTRACT
DESCRIPTION
BUGS
AUTHORS
SEE ALSO

  Encode::MIME::Name, Encode::MIME::NAME -- internally used by Encode

SEE ALSO

  Encode::PerlIO -- a detailed document on Encode and PerlIO

Overview
How does it work?
Line Buffering
    How can I tell whether my encoding fully supports PerlIO ?

SEE ALSO

  Encode::Supported -- Encodings supported by Encode

DESCRIPTION
    Encoding Names

Supported Encodings
    Built-in Encodings
    Encode::Unicode -- other Unicode encodings
    Encode::Byte -- Extended ASCII
        ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world

    gsm0338 - Hentai Latin 1
        gsm0338 support before 2.19

    CJK: Chinese, Japanese, Korean (Multibyte)
        Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN

    Miscellaneous encodings
        Encode::EBCDIC, Encode::Symbol, Encode::MIME::Header, Encode::Guess

Unsupported encodings
      ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings,
    Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran
    System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS,
    Various Mac encodings, (Mac) Indic encodings

Encoding vs. Charset -- terminology
Encoding Classification (by Anton Tagunov and Dan Kogai)
    Microsoft-related naming mess
        KS_C_5601-1987, GB2312, Big5, Shift_JIS

Glossary
    character repertoire, coded character set (CCS), character encoding scheme (CES), charset (in MIME context), EUC, ISO-2022, UCS, UCS-2, Unicode, UTF, UTF-16

See Also
References
    ECMA, ECMA-035 (eq "ISO-2022"), IANA, Assigned Charset Names by IANA, ISO, RFC, UC, Unicode Glossary

    Other Notable Sites
        czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org: "Introduction to i18n"

    Offline sources
        "CJKV Information Processing" by Ken Lunde

  Encode::Symbol - Symbol Encodings

SYNOPSIS
ABSTRACT
DESCRIPTION
SEE ALSO

  Encode::TW - Taiwan-based Chinese Encodings

SYNOPSIS
DESCRIPTION
NOTES
BUGS
SEE ALSO

  Encode::Unicode -- Various Unicode Transformation Formats

SYNOPSIS
ABSTRACT
    <http://www.unicode.org/glossary/> says:, Quick Reference

Size, Endianness, and BOM
    by size
    by endianness
        BOM as integer when fetched in network byte order

Surrogate Pairs
Error Checking
SEE ALSO

  Encode::Unicode::UTF7 -- UTF-7 encoding

SYNOPSIS
ABSTRACT
In Practice
SEE ALSO

  English - use nice English (or awk) names for ugly punctuation variables

SYNOPSIS
DESCRIPTION
PERFORMANCE

  Env - perl module that imports environment variables as scalars or arrays

SYNOPSIS
DESCRIPTION
LIMITATIONS
AUTHOR

  Errno - System errno constants

SYNOPSIS
DESCRIPTION
CAVEATS
AUTHOR
COPYRIGHT

  Exporter - Implements default import method for modules

SYNOPSIS
DESCRIPTION
    How to Export
    Selecting What to Export
    How to Import
        "use YourModule;", "use YourModule ();", "use YourModule qw(...);"

Advanced Features
    Specialised Import Lists
    Exporting Without Using Exporter's import Method
    Exporting Without Inheriting from Exporter
    Module Version Checking
    Managing Unknown Symbols
    Tag Handling Utility Functions
    Generating Combined Tags
    "AUTOLOAD"ed Constants

Good Practices
    Declaring @EXPORT_OK and Friends
    Playing Safe
    What Not to Export

SEE ALSO
LICENSE

  Exporter::Heavy - Exporter guts

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION
METHODS
    new, have_compiler, have_cplusplus, compile, "object_file", "include_dirs", "extra_compiler_flags", "C++", link, lib_file, module_name, extra_linker_flags, link_executable, exe_file, object_file, lib_file, exe_file, prelink, need_prelink, extra_link_args_after_prelink

TO DO
HISTORY
SUPPORT
AUTHOR
COPYRIGHT
SEE ALSO

  ExtUtils::CBuilder::Platform::Windows - Builder class for Windows platforms

DESCRIPTION
AUTHOR
SEE ALSO

  ExtUtils::Command - utilities to replace common UNIX commands in Makefiles etc.

SYNOPSIS
DESCRIPTION
    FUNCTIONS

cat

eqtime

rm_rf

rm_f

touch

mv

cp

chmod

mkpath

test_f

test_d

dos2unix

SEE ALSO
AUTHOR

  ExtUtils::Command::MM - Commands for the MM's to use in Makefiles

SYNOPSIS
DESCRIPTION
    test_harness

pod2man

warn_if_old_packlist

perllocal_install

uninstall

test_s

cp_nonempty

  ExtUtils::Constant - generate XS code to import C header constants

SYNOPSIS
DESCRIPTION
USAGE
    IV, UV, NV, PV, PVN, SV, YES, NO, UNDEF

FUNCTIONS

constant_types

XS_constant PACKAGE, TYPES, XS_SUBNAME, C_SUBNAME

autoload PACKAGE, VERSION, AUTOLOADER

WriteMakefileSnippet

WriteConstants ATTRIBUTE => VALUE [, ...], NAME, DEFAULT_TYPE, BREAKOUT_AT, NAMES, PROXYSUBS, C_FH, C_FILE, XS_FH, XS_FILE, XS_SUBNAME, C_SUBNAME

AUTHOR

  ExtUtils::Constant::Base - base class for ExtUtils::Constant objects

SYNOPSIS
DESCRIPTION
USAGE

header

memEQ_clause args_hashref

dump_names arg_hashref, ITEM..

assign arg_hashref, VALUE..

return_clause arg_hashref, ITEM

switch_clause arg_hashref, NAMELEN, ITEMHASH, ITEM..

params WHAT

dogfood arg_hashref, ITEM..

normalise_items args, default_type, seen_types, seen_items, ITEM..

C_constant arg_hashref, ITEM.., name, type, value, macro, default, pre, post, def_pre, def_post, utf8, weight

BUGS
AUTHOR

  ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant

SYNOPSIS
DESCRIPTION
USAGE
    C_stringify NAME

perl_stringify NAME

AUTHOR

  ExtUtils::Constant::XS - generate C code for XS modules' constants.

SYNOPSIS
DESCRIPTION
BUGS
AUTHOR

  ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications

SYNOPSIS
DESCRIPTION
@EXPORT
FUNCTIONS
    xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(), ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)

EXAMPLES
SEE ALSO
AUTHOR

  ExtUtils::Install - install files from here to there

SYNOPSIS
VERSION

DESCRIPTION
    _chmod($$;$)
    _warnonce(@)
    _choke(@)

_move_file_at_boot( $file, $target, $moan  )

_unlink_or_rename( $file, $tryhard, $installing )

Functions
    _get_install_skip

_have_write_access

_can_write_dir($dir)

_mkpath($dir,$show,$mode,$verbose,$dry_run)

_copy($from,$to,$verbose,$dry_run)

_chdir($from)

install

_do_cleanup

install_rooted_file( $file )
install_rooted_dir( $dir )

forceunlink( $file, $tryhard )

directory_not_empty( $dir )

install_default

uninstall

inc_uninstall($filepath,$libdir,$verbose,$dry_run,$ignore,$results)

run_filter($cmd,$src,$dest)

pm_to_blib

_autosplit

_invokant

ENVIRONMENT
    PERL_INSTALL_ROOT, EU_INSTALL_IGNORE_SKIP, EU_INSTALL_SITE_SKIPFILE, EU_INSTALL_ALWAYS_COPY

AUTHOR
LICENSE

  ExtUtils::Installed - Inventory management of installed modules

SYNOPSIS
DESCRIPTION
USAGE
METHODS
    new(), modules(), files(), directories(), directory_tree(), validate(), packlist(), version()

EXAMPLE
AUTHOR

  ExtUtils::Liblist - determine libraries to use and how to use them

SYNOPSIS
DESCRIPTION
    For static extensions, For dynamic extensions at build/link time, For dynamic extensions at load time

    EXTRALIBS
    LDLOADLIBS and LD_RUN_PATH
    BSLOADLIBS

PORTABILITY
    VMS implementation
    Win32 implementation

SEE ALSO

  ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass

SYNOPSIS
DESCRIPTION

  ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
    Overridden methods

AUTHOR
SEE ALSO

  ExtUtils::MM_Any - Platform-agnostic MM methods

SYNOPSIS
DESCRIPTION
METHODS
    Cross-platform helper methods

Targets

Init methods

Tools

File::Spec wrappers

Misc

AUTHOR

  ExtUtils::MM_BeOS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

init_linker

  ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
    os_flavor

cflags

replace_manpage_separator

init_linker

maybe_command

dynamic_lib

install

  ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
    Overridden methods
        os_flavor

replace_manpage_separator

xs_static_lib_is_xs

AUTHOR
SEE ALSO

  ExtUtils::MM_Darwin - special behaviors for OS X

SYNOPSIS
DESCRIPTION
    Overridden Methods

  ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic

SYNOPSIS
DESCRIPTION

  ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

init_platform, platform_constants

static_lib_pure_cmd

xs_static_lib_is_xs

dynamic_lib

  ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS
    init_dist

init_linker

os_flavor

xs_static_lib_is_xs

  ExtUtils::MM_OS390 - OS390 specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
    Overriden methods
        xs_make_dynamic_lib

AUTHOR
SEE ALSO

  ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
    Overridden methods

AUTHOR
SEE ALSO

  ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
    Overridden methods
        os_flavor

replace_manpage_separator

AUTHOR
SEE ALSO

  ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS

Methods
    os_flavor

c_o (o)

xs_obj_opt

dbgoutflag

cflags (o)

const_cccmd (o)

const_config (o)

const_loadlibs (o)

constants (o)

dep_constants (o)

depend (o)

init_DEST

init_dist

dist (o)

dist_basics (o)

dist_ci (o)

dist_core (o)

dist_target

tardist_target

zipdist_target

tarfile_target

zipfile_target

uutardist_target

shdist_target

dlsyms (o)

dynamic_bs (o)

dynamic_lib (o)

xs_dynamic_lib_macros

xs_make_dynamic_lib

exescan

extliblist

find_perl

fixin

force (o)

guess_name

has_link_code

init_dirscan

init_MANPODS

init_MAN1PODS

init_MAN3PODS

init_PM

init_DIRFILESEP

init_main

init_tools

init_linker

init_lib2arch

init_PERL

init_platform, platform_constants

init_PERM

init_xs

install (o)

installbin (o)

linkext (o)

lsdir

macro (o)

makeaperl (o)

xs_static_lib_is_xs (o)

makefile (o)

maybe_command

needs_linking (o)

parse_abstract

parse_version

pasthru (o)

perl_script

perldepend (o)

pm_to_blib

ppd

prefixify

processPL (o)

specify_shell

quote_paren

replace_manpage_separator

cd

oneliner

quote_literal

escape_newlines

max_exec_len

static (o)

xs_make_static_lib

static_lib_closures

static_lib_fixtures

static_lib_pure_cmd

staticmake (o)

subdir_x (o)

subdirs (o)

test (o)

test_via_harness (override)

test_via_script (override)

tool_xsubpp (o)

all_target

top_targets (o)

writedoc

xs_c (o)

xs_cpp (o)

xs_o (o)

SEE ALSO

  ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
    Methods always loaded
        wraplist

Methods
    guess_name (override)

find_perl (override)

_fixin_replace_shebang (override)

maybe_command (override)

pasthru (override)

pm_to_blib (override)

perl_script (override)

replace_manpage_separator

init_DEST

init_DIRFILESEP

init_main (override)

init_tools (override)

init_platform (override)

platform_constants

init_VERSION (override)

constants (override)

special_targets

cflags (override)

const_cccmd (override)

tools_other (override)

init_dist (override)

c_o (override)

xs_c (override)

xs_o (override)

_xsbuild_replace_macro (override)

_xsbuild_value (override)

dlsyms (override)

xs_obj_opt

dynamic_lib (override)

xs_make_static_lib (override)

static_lib_pure_cmd (override)

xs_static_lib_is_xs

extra_clean_files

zipfile_target, tarfile_target, shdist_target

install (override)

perldepend (override)

makeaperl (override)

maketext_filter (override)

prefixify (override)

cd

oneliner

echo

quote_literal

escape_dollarsigns

escape_all_dollarsigns

escape_newlines

max_exec_len

init_linker

catdir (override), catfile (override)

eliminate_macros

fixpath

os_flavor

is_make_type (override)

make_type (override)

AUTHOR

  ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
    Overridden methods

AUTHOR
SEE ALSO

  ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

Overridden methods
    dlsyms

xs_dlsyms_ext

replace_manpage_separator

maybe_command

init_DIRFILESEP

init_tools

init_others

init_platform, platform_constants

specify_shell

constants

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

  ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X

SYNOPSIS
DESCRIPTION
    Overridden methods
        max_exec_len

os_flavor

AUTHOR

  ExtUtils::MY - ExtUtils::MakeMaker subclass for customization

SYNOPSIS
DESCRIPTION

  ExtUtils::MakeMaker - Create a module Makefile

SYNOPSIS
DESCRIPTION
    How To Write A Makefile.PL
    Default Makefile Behaviour
    make test
    make testdb
    make install
    INSTALL_BASE
    PREFIX and LIB attribute
    AFS users
    Static Linking of a new Perl Binary
    Determination of Perl Library and Installation Locations
    Which architecture dependent directory?
    Using Attributes and Parameters
        ABSTRACT, ABSTRACT_FROM, AUTHOR, BINARY_LOCATION, BUILD_REQUIRES, C, CCFLAGS, CONFIG, CONFIGURE, CONFIGURE_REQUIRES, DEFINE, DESTDIR, DIR, DISTNAME, DISTVNAME, DLEXT, DL_FUNCS, DL_VARS, EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITEBIN, INSTALLSITELIB, INSTALLSITEMAN1DIR, INSTALLSITEMAN3DIR, INSTALLSITESCRIPT, INSTALLVENDORARCH, INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, INSTALLVENDORMAN3DIR, INSTALLVENDORSCRIPT, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LICENSE, LINKTYPE, MAGICXS, MAKE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, MAP_TARGET, META_ADD, META_MERGE, MIN_PERL_VERSION, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_MYMETA, NO_PACKLIST, NO_PERLLOCAL, NO_VC, OBJECT, OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_DIR, PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PPM_UNINSTALL_EXEC, PPM_UNINSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SIGN, SKIP, TEST_REQUIRES, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM, VERSION_SYM, XS, XSBUILD, XSMULTI, XSOPT, XSPROTOARG, XS_VERSION

    Additional lowercase attributes
        clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean, test, tool_autosplit

    Overriding MakeMaker Methods
    The End Of Cargo Cult Programming
        "MAN3PODS => ' '"

    Hintsfile support
    Distribution Support
           make distcheck,    make skipcheck,    make distclean,    make veryclean,
           make manifest,    make distdir,   make disttest,    make tardist,
        make dist,    make uutardist,    make shdist,    make zipdist,    make ci

    Module Meta-Data (META and MYMETA)
    Disabling an extension
    Other Handy Functions
        prompt, os_unsupported

    Supported versions of Perl

ENVIRONMENT
    PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE

SEE ALSO
AUTHORS
LICENSE

  ExtUtils::MakeMaker::Config - Wrapper around Config.pm

SYNOPSIS
DESCRIPTION

  ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker

DESCRIPTION
    Module Installation
        How do I install a module into my home directory?, How do I get MakeMaker and Module::Build to install to the same place?, How do I keep from installing man pages?, How do I use a module without installing it?, How can I organize tests into subdirectories and have them run?, PREFIX vs INSTALL_BASE from Module::Build::Cookbook, Generating *.pm files with substitutions eg of $VERSION

    Common errors and problems
        "No rule to make target `/usr/lib/perl5/CORE/config.h', needed by `Makefile'"

    Philosophy and History
        Why not just use <insert other build config tool here>?, What is
        Module::Build and how does it relate to MakeMaker?, pure perl.    no make, no
        shell commands, easier to customize, cleaner internals, less cruft

    Module Writing
        How do I keep my $VERSION up to date without resetting it manually?, What's this META.yml thing and how did it get in my MANIFEST?!, How do I delete everything not in my MANIFEST?, Which tar should I use on Windows?, Which zip should I use on Windows for '[ndg]make zipdist'?

    XS  How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?, How do I make two or more XS files coexist in the same directory?, XSMULTI, Separate directories, Bootstrapping

DESIGN
    MakeMaker object hierarchy (simplified)
    MakeMaker object hierarchy (real)
    The MM_* hierarchy

PATCHING
    make a pull request on the MakeMaker github repository, raise a issue on the MakeMaker github repository, file an RT ticket, email makemaker@perl.org

AUTHOR
SEE ALSO

  ExtUtils::MakeMaker::Locale - bundled Encode::Locale

SYNOPSIS
DESCRIPTION
    decode_argv( ), decode_argv( Encode::FB_CROAK ), env( $uni_key ), env( $uni_key => $uni_value ), reinit( ), reinit( $encoding ), $ENCODING_LOCALE, $ENCODING_LOCALE_FS, $ENCODING_CONSOLE_IN, $ENCODING_CONSOLE_OUT

NOTES
    Windows
    Mac OS X
    POSIX (Linux and other Unixes)

SEE ALSO
AUTHOR

  ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker

SYNOPSIS
DESCRIPTION
    The Mantra
    The Layout
        Makefile.PL, MANIFEST, lib/, t/, Changes, README, INSTALL, MANIFEST.SKIP, bin/

SEE ALSO

  ExtUtils::Manifest - Utilities to write and check a MANIFEST file

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS
    mkmanifest

manifind

manicheck

filecheck

fullcheck

skipcheck

maniread

maniskip

manicopy

maniadd

MANIFEST
MANIFEST.SKIP
    #!include_default, #!include /Path/to/another/manifest.skip

EXPORT_OK
GLOBAL VARIABLES

DIAGNOSTICS
    "Not in MANIFEST:" file, "Skipping" file, "No such file:" file, "MANIFEST:" $!, "Added to MANIFEST:" file

ENVIRONMENT
    PERL_MM_MANIFEST_DEBUG

SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

  ExtUtils::Miniperl - write the C code for miniperlmain.c and perlmain.c

SYNOPSIS
DESCRIPTION
SEE ALSO

  ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader

SYNOPSIS
DESCRIPTION

  ExtUtils::Mksymlists - write linker options files for dynamic extension

SYNOPSIS
DESCRIPTION
    DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME

AUTHOR
REVISION

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

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

ACKNOWLEDGEMENTS
AUTHOR
COPYRIGHT AND LICENSE

mkfh()

__find_relocations

  ExtUtils::Packlist - manage .packlist files

SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS
    new(), read(), write(), validate(), packlist_file()

EXAMPLE
AUTHOR

  ExtUtils::ParseXS - converts Perl XS code into C code

SYNOPSIS
DESCRIPTION
EXPORT
METHODS
    $pxs->new(), $pxs->process_file(), filename, C++, hiertype, except, typemap, prototypes, versioncheck, linenumbers, optimize, inout, argtypes, s, die_on_error, $pxs->report_error_count()

AUTHOR
COPYRIGHT
SEE ALSO

  ExtUtils::ParseXS::Constants - Initialization values for some globals

SYNOPSIS
DESCRIPTION

  ExtUtils::ParseXS::Eval - Clean package to evaluate code in

SYNOPSIS
SUBROUTINES
    $pxs->eval_output_typemap_code($typemapcode, $other_hashref)

$pxs->eval_input_typemap_code($typemapcode, $other_hashref)

TODO

  ExtUtils::ParseXS::Node - Classes for nodes of an Abstract Syntax Tree

SYNOPSIS
DESCRIPTION
    Methods
        $pxs, $xsub, $xbody

    Class Hierachy
    Abstract Syntax Tree structure

  ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS

SYNOPSIS
SUBROUTINES
    standard_typemap_locations()
        Purpose, Arguments, Return Value

trim_whitespace()
    Purpose, Argument, Return Value

C_string()
    Purpose, Arguments, Return Value

valid_proto_string()
    Purpose, Arguments, Return Value

process_typemaps()
    Purpose, Arguments, Return Value

"map_type($self, $type, $varname)"

set_cond()
    Purpose, Arguments, Return Value

current_line_number()
    Purpose, Arguments, Return Value

Error handling methods
    "$self->Warn(@messages)", "$self->blurt(@messages)", "$self->death(@messages)", "$self->WarnHint(@messages, $hints)", "$self->deathHint(@messages, $hints)"

check_conditional_preprocessor_statements()
    Purpose, Arguments, Return Value

escape_file_for_line_directive()
    Purpose, Arguments, Return Value

"report_typemap_failure"
    Purpose, Arguments, Return Value

"looks like_MODULE_line($line)"

  ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files

SYNOPSIS
DESCRIPTION
METHODS

new

file

add_typemap

add_inputmap

add_outputmap

add_string

remove_typemap

remove_inputmap

remove_outputmap

get_typemap

get_inputmap

get_outputmap

write

as_string

as_embedded_typemap

merge

is_empty

list_mapped_ctypes

_get_typemap_hash

_get_inputmap_hash

_get_outputmap_hash

_get_prototype_hash

clone

tidy_type

CAVEATS
SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

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

SYNOPSIS
DESCRIPTION
EXPORTED FUNCTIONS
    embeddable_typemap

SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

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

SYNOPSIS
DESCRIPTION
METHODS

new

code

xstype

cleaned_code

SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

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

SYNOPSIS
DESCRIPTION
METHODS

new

code

xstype

cleaned_code

targetable_legacy

targetable

SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

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

SYNOPSIS
DESCRIPTION
METHODS

new

proto

xstype

ctype

tidy_ctype

SEE ALSO
AUTHOR
COPYRIGHT & LICENSE

  ExtUtils::testlib - add blib/* directories to @INC

SYNOPSIS
DESCRIPTION

  Fatal - Replace functions with equivalents which succeed or die

SYNOPSIS
BEST PRACTICE
DESCRIPTION
DIAGNOSTICS
    Bad subroutine name for Fatal: %s, %s is not a Perl subroutine, %s is neither a builtin, nor a Perl subroutine, Cannot make the non-overridable %s fatal, Internal error: %s

BUGS
AUTHOR
LICENSE
SEE ALSO

  Fcntl - various flag constants and helper functions from C's fcntl.h

SYNOPSIS
DESCRIPTION
EXPORTED SYMBOLS
    Default exports and export tags
        ":DEFAULT", ":flock", ":mode", ":seek", ":Fcompat"

    Symbols for use with "fcntl"
        "F_ALLOCSP", "F_ALLOCSP64", "F_DUP2FD", "F_DUPFD", "F_FREESP", "F_FREESP64", "F_FSYNC", "F_FSYNC64", "F_GETFD", "FD_CLOEXEC", "F_GETFL", "F_GETLEASE", "F_RDLCK", "F_WRLCK", "F_UNLCK", "F_GETLK", "F_GETLK64", "F_GETOWN", "F_GETPIPE_SZ", "F_GETSIG", "F_NOTIFY", "DN_ACCESS", "DN_ATTRIB", "DN_CREATE", "DN_DELETE", "DN_MODIFY", "DN_MULTISHOT", "DN_RENAME", "F_SETFD", "F_SETFL", "F_SETLEASE", "F_RDLCK", "F_WRLCK", "F_UNLCK", "F_SETLK", "F_SETLK64", "F_SETLKW", "F_SETLKW64", "F_SETOWN", "F_SETPIPE_SZ", "F_SETSIG", "F_SHARE", "F_UNSHARE", "F_COMPAT", "F_EXLCK", "F_NODNY", "F_POSIX", "F_RDACC", "F_RDDNY", "F_RWACC", "F_RWDNY", "F_SHLCK", "F_WRACC", "F_WRDNY"

    Symbols for use with "flock"
        "LOCK_EX", "LOCK_MAND", "LOCK_NB", "LOCK_READ", "LOCK_RW", "LOCK_SH", "LOCK_UN", "LOCK_WRITE"

    Symbols for use with "sysopen"
        "O_ACCMODE", "O_ALIAS", "O_ALT_IO", "O_APPEND", "O_ASYNC", "O_BINARY", "O_CREAT", "O_DEFER", "O_DIRECT", "O_DIRECTORY", "O_DSYNC", "O_EVTONLY", "O_EXCL", "O_EXLOCK", "O_IGNORE_CTTY", "O_LARGEFILE", "O_NDELAY", "O_NOATIME", "O_NOCTTY", "O_NOFOLLOW", "O_NOINHERIT", "O_NOLINK", "O_NONBLOCK", "O_NOSIGPIPE", "O_NOTRANS", "O_RANDOM", "O_RAW", "O_RDONLY", "O_RDWR", "O_RSRC", "O_RSYNC", "O_SEQUENTIAL", "O_SHLOCK", "O_SYMLINK", "O_SYNC", "O_TEMPORARY", "O_TEXT", "O_TMPFILE", "O_TRUNC", "O_TTY_INIT", "O_WRONLY", "FAPPEND", "FASYNC", "FCREAT", "FDEFER", "FDSYNC", "FEXCL", "FLARGEFILE", "FNDELAY", "FNONBLOCK", "FRSYNC", "FSYNC", "FTRUNC"

    Symbols for use with "seek" and "sysseek"
        "SEEK_CUR", "SEEK_END", "SEEK_SET"

    Symbols for use with "stat" and "chmod"
        "S_ENFMT", "S_IEXEC", "S_IFBLK", "S_IFCHR", "S_IFDIR", "S_IFIFO", "S_IFLNK", "S_IFMT", "_S_IFMT", "S_IFREG", "S_IFSOCK", "S_IFWHT", "S_IMODE", "S_IREAD", "S_IRGRP", "S_IROTH", "S_IRUSR", "S_IRWXG", "S_IRWXO", "S_IRWXU", "S_ISBLK", "S_ISCHR", "S_ISDIR", "S_ISFIFO", "S_ISGID", "S_ISLNK", "S_ISREG", "S_ISSOCK", "S_ISTXT", "S_ISUID", "S_ISVTX", "S_ISWHT", "S_IWGRP", "S_IWOTH", "S_IWRITE", "S_IWUSR", "S_IXGRP", "S_IXOTH", "S_IXUSR"

SEE ALSO
APPENDIX A

  File::Basename - Parse file paths into directory, filename and suffix.

SYNOPSIS
DESCRIPTION

"fileparse"

"basename"

"dirname"

"fileparse_set_fstype"

SEE ALSO

  File::Compare - Compare files or filehandles

SYNOPSIS
DESCRIPTION
RETURN
AUTHOR

  File::Copy - Copy files or filehandles

SYNOPSIS
DESCRIPTION
    copy , move , syscopy , rmscopy($from,$to[,$date_flag])

RETURN
NOTES
AUTHOR

  File::DosGlob - DOS like globbing and then some

SYNOPSIS
DESCRIPTION
EXPORTS (by request only)
BUGS
AUTHOR
HISTORY
SEE ALSO

  File::Fetch - A generic file fetching mechanism

SYNOPSIS
DESCRIPTION
ACCESSORS
    $ff->uri, $ff->scheme, $ff->host, $ff->vol, $ff->share, $ff->path, $ff->file, $ff->file_default

$ff->output_file

METHODS
    $ff = File::Fetch->new( uri => 'http://some.where.com/dir/file.txt' );

$where = $ff->fetch( [to => /my/output/dir/ | \$scalar] )

$ff->error([BOOL])

HOW IT WORKS
GLOBAL VARIABLES
    $File::Fetch::FROM_EMAIL
    $File::Fetch::USER_AGENT
    $File::Fetch::FTP_PASSIVE
    $File::Fetch::TIMEOUT
    $File::Fetch::WARN
    $File::Fetch::DEBUG
    $File::Fetch::BLACKLIST
    $File::Fetch::METHOD_FAIL

MAPPING
FREQUENTLY ASKED QUESTIONS
    So how do I use a proxy with File::Fetch?
    I used 'lynx' to fetch a file, but its contents is all wrong!
    Files I'm trying to fetch have reserved characters or non-ASCII characters in them. What do I do?

TODO
    Implement $PREFER_BIN

BUG REPORTS
AUTHOR
COPYRIGHT

  File::Find - Traverse a directory tree.

SYNOPSIS
DESCRIPTION
    find, finddepth

    %options
        "wanted", "bydepth", "preprocess", "postprocess", "follow", "follow_fast", "follow_skip", "dangling_symlinks", "no_chdir", "untaint", "untaint_pattern", "untaint_skip"

    The wanted function
        $File::Find::dir is the current directory name,, $_ is the current filename within that directory, $File::Find::name is the complete pathname to the file

WARNINGS
BUGS AND CAVEATS
    $dont_use_nlink, Symlinks

HISTORY
SEE ALSO

  File::Glob - Perl extension for BSD glob routine

SYNOPSIS
DESCRIPTION
    META CHARACTERS
    EXPORTS
    POSIX FLAGS
        "GLOB_ERR", "GLOB_LIMIT", "GLOB_MARK", "GLOB_NOCASE", "GLOB_NOCHECK", "GLOB_NOSORT", "GLOB_BRACE", "GLOB_NOMAGIC", "GLOB_QUOTE", "GLOB_TILDE", "GLOB_CSH", "GLOB_ALPHASORT"

DIAGNOSTICS
    "GLOB_NOSPACE", "GLOB_ABEND"

NOTES
SEE ALSO
AUTHOR

  File::GlobMapper - Extend File Glob to Allow Input and Output Files

SYNOPSIS
DESCRIPTION
    Behind The Scenes
    Limitations
    Input File Glob
        ~, ~user, ., *, ?, \, [], {,}, ()

    Output File Glob
        "*", #1

    Returned Data

EXAMPLES
    A Rename script
    A few example globmaps

SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

  File::Path - Create or remove directory trees

VERSION
SYNOPSIS
DESCRIPTION
    make_path( $dir1, $dir2, .... ), make_path( $dir1, $dir2, ...., \%opts ), mode => $num, chmod => $num, verbose => $bool, error => \$err, owner => $owner, user => $owner, uid => $owner, group => $group, mkpath( $dir ), mkpath( $dir, $verbose, $mode ), mkpath( [$dir1, $dir2,...], $verbose, $mode ), mkpath( $dir1, $dir2,..., \%opt ), remove_tree( $dir1, $dir2, .... ), remove_tree( $dir1, $dir2, ...., \%opts ), verbose => $bool, safe => $bool, keep_root => $bool, result => \$res, error => \$err, rmtree( $dir ), rmtree( $dir, $verbose, $safe ), rmtree( [$dir1, $dir2,...], $verbose, $safe ), rmtree( $dir1, $dir2,..., \%opt )

    ERROR HANDLING
        NOTE:

    NOTES
        <http://cve.circl.lu/cve/CVE-2004-0452>, <http://cve.circl.lu/cve/CVE-2005-0448>

DIAGNOSTICS
    mkdir [path]: [errmsg] (SEVERE), No root path(s) specified, No such file or directory, cannot fetch initial working directory: [errmsg], cannot stat initial working directory: [errmsg], cannot chdir to [dir]: [errmsg], directory [dir] changed before chdir, expected dev=[n] ino=[n], actual dev=[n] ino=[n], aborting. (FATAL), cannot make directory [dir] read+writeable: [errmsg], cannot read [dir]: [errmsg], cannot reset chmod [dir]: [errmsg], cannot remove [dir] when cwd is [dir], cannot chdir to [parent-dir] from [child-dir]: [errmsg], aborting. (FATAL), cannot stat prior working directory [dir]: [errmsg], aborting. (FATAL), previous directory [parent-dir] changed before entering [child-dir], expected dev=[n] ino=[n], actual dev=[n] ino=[n], aborting. (FATAL), cannot make directory [dir] writeable: [errmsg], cannot remove directory [dir]: [errmsg], cannot restore permissions of [dir] to [0nnn]: [errmsg], cannot make file [file] writeable: [errmsg], cannot unlink file [file]: [errmsg], cannot restore permissions of [file] to [0nnn]: [errmsg], unable to map [owner] to a uid, ownership not changed");, unable to map [group] to a gid, group ownership not changed

SEE ALSO
BUGS AND LIMITATIONS
    MULTITHREADED APPLICATIONS
    NFS Mount Points
    REPORTING BUGS

ACKNOWLEDGEMENTS
AUTHORS
CONTRIBUTORS
    <bulkdd@cpan.org>, Charlie Gonzalez <itcharlie@cpan.org>, Craig A. Berry <craigberry@mac.com>, James E Keenan <jkeenan@cpan.org>, John Lightsey <john@perlsec.org>, Nigel Horne <njh@bandsman.co.uk>, Richard Elberger <riche@cpan.org>, Ryan Yee <ryee@cpan.org>, Skye Shaw <shaw@cpan.org>, Tom Lutz <tommylutz@gmail.com>, Will Sheppard <willsheppard@github>

COPYRIGHT
LICENSE

  File::Spec - portably perform operations on file names

SYNOPSIS
DESCRIPTION
METHODS
    canonpath , catdir , catfile , curdir , devnull , rootdir , tmpdir , updir , no_upwards, case_tolerant, file_name_is_absolute, path , join , splitpath , splitdir
     , catpath(), abs2rel , rel2abs()

SEE ALSO
AUTHOR
COPYRIGHT

  File::Spec::AmigaOS - File::Spec for AmigaOS

SYNOPSIS
DESCRIPTION
METHODS
    tmpdir

file_name_is_absolute

  File::Spec::Cygwin - methods for Cygwin file specs

SYNOPSIS
DESCRIPTION

canonpath

file_name_is_absolute

tmpdir (override)

case_tolerant

COPYRIGHT

  File::Spec::Epoc - methods for Epoc file specs

SYNOPSIS
DESCRIPTION

canonpath()

AUTHOR
COPYRIGHT
SEE ALSO

  File::Spec::Functions - portably perform operations on file names

SYNOPSIS
DESCRIPTION
    Exports

COPYRIGHT
SEE ALSO

  File::Spec::Mac - File::Spec for Mac OS (Classic)

SYNOPSIS
DESCRIPTION
METHODS
    canonpath

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

file_name_is_absolute

path

splitpath

splitdir

catpath

abs2rel

rel2abs

AUTHORS
COPYRIGHT
SEE ALSO

  File::Spec::OS2 - methods for OS/2 file specs

SYNOPSIS
DESCRIPTION
    tmpdir, splitpath

COPYRIGHT

  File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules

SYNOPSIS
DESCRIPTION
METHODS
    canonpath()

catdir()

catfile

curdir

devnull

rootdir

tmpdir

updir

no_upwards

case_tolerant

file_name_is_absolute

path

join

splitpath

splitdir

catpath()

abs2rel

rel2abs()

COPYRIGHT
SEE ALSO

  File::Spec::VMS - methods for VMS file specs

SYNOPSIS
DESCRIPTION

canonpath (override)

catdir (override)

catfile (override)

curdir (override)

devnull (override)

rootdir (override)

tmpdir (override)

updir (override)

case_tolerant (override)

path (override)

file_name_is_absolute (override)

splitpath (override)

splitdir (override)

catpath (override)

abs2rel (override)

rel2abs (override)

COPYRIGHT
SEE ALSO

  File::Spec::Win32 - methods for Win32 file specs

SYNOPSIS
DESCRIPTION
    devnull

tmpdir

case_tolerant

file_name_is_absolute

catfile

canonpath

splitpath

splitdir

catpath

Note For File::Spec::Win32 Maintainers

COPYRIGHT
SEE ALSO

  File::Temp - return name and handle of a temporary file safely

VERSION
SYNOPSIS
DESCRIPTION
PORTABILITY
OBJECT-ORIENTED INTERFACE
    new, newdir, filename, dirname, unlink_on_destroy, DESTROY

FUNCTIONS
    tempfile, tempdir

MKTEMP FUNCTIONS
    mkstemp, mkstemps, mkdtemp, mktemp

POSIX FUNCTIONS
    tmpnam, tmpfile

ADDITIONAL FUNCTIONS
    tempnam

UTILITY FUNCTIONS
    unlink0, cmpstat, unlink1, cleanup

PACKAGE VARIABLES
    safe_level, STANDARD, MEDIUM, HIGH, TopSystemUID, $KEEP_ALL, $DEBUG

WARNING
    Temporary files and NFS
    Forking
    Directory removal
    Taint mode
    BINMODE

HISTORY
SEE ALSO
SUPPORT
AUTHOR
CONTRIBUTORS
COPYRIGHT AND LICENSE

  File::stat - by-name interface to Perl's built-in stat() functions

SYNOPSIS
DESCRIPTION
BUGS
ERRORS
    -%s is not implemented on a File::stat object

WARNINGS
    File::stat ignores use filetest 'access', File::stat ignores VMS ACLs

NOTE
AUTHOR

  FileCache - keep more files open than the system permits

SYNOPSIS
DESCRIPTION
    cacheout EXPR, cacheout MODE, EXPR

CAVEATS
BUGS

  FileHandle - supply object methods for filehandles

SYNOPSIS
DESCRIPTION
    $fh->print, $fh->printf, $fh->getline, $fh->getlines

SEE ALSO

  Filter::Simple - Simplified source filtering

SYNOPSIS
DESCRIPTION
    The Problem
    A Solution
    Disabling or changing <no> behaviour
    All-in-one interface
    Filtering only specific components of source code
        "code", "code_no_comments", "executable", "executable_no_comments", "quotelike", "string", "regex", "all"

    Filtering only the code parts of source code
    Using Filter::Simple with an explicit "import" subroutine
    Using Filter::Simple and Exporter together
    How it works

AUTHOR
CONTACT
COPYRIGHT AND LICENSE

  Filter::Util::Call - Perl Source Filter Utility Module

SYNOPSIS
DESCRIPTION
    use Filter::Util::Call
    import()
    filter_add()
    filter() and anonymous sub
        $_, $status, filter_read and filter_read_exact, filter_del, real_import, unimport()

LIMITATIONS
    __DATA__ is ignored, Max. codesize limited to 32-bit

EXAMPLES
    Example 1: A simple filter.
    Example 2: Using the context
    Example 3: Using the context within the filter
    Example 4: Using filter_del

Filter::Simple
AUTHOR
DATE
LICENSE

  FindBin - Locate directory of original Perl script

SYNOPSIS
DESCRIPTION
EXPORTABLE VARIABLES
    $Bin or $Dir, $Script, $RealBin or $RealDir, $RealScript

KNOWN ISSUES
AUTHORS
COPYRIGHT

  Getopt::Long - Extended processing of command line options

SYNOPSIS
DESCRIPTION
Command Line Options, an Introduction
Getting Started with Getopt::Long
    Simple options
    A little bit less simple options
    Mixing command line option with other arguments
    Options with values
    Options with multiple values
    Options with hash values
    User-defined subroutines to handle options
    Options with multiple names
    Case and abbreviations
    Summary of Option Specifications
        !, +, s, i, o, f, : type [ desttype ], : number [ desttype ], : + [ desttype ]

Advanced Possibilities
    Object oriented interface
    Callback object
        name, given

    Thread Safety
    Documentation and help texts
    Parsing options from an arbitrary array
    Parsing options from an arbitrary string
    Storing options values in a hash
    Bundling
    The lonesome dash
    Argument callback

Configuring Getopt::Long
    default, posix_default, auto_abbrev, getopt_compat, gnu_compat, gnu_getopt, require_order, permute, bundling (default: disabled), bundling_override (default: disabled), ignore_case (default: enabled), ignore_case_always (default: disabled), auto_version (default:disabled), auto_help (default:disabled), pass_through (default: disabled), prefix, prefix_pattern, long_prefix_pattern, debug (default: disabled)

Exportable Methods
    VersionMessage, "-message", "-msg", "-exitval", "-output", HelpMessage

Return values and Errors
Legacy
    Default destinations
    Alternative option starters
    Configuration variables

Tips and Techniques
    Pushing multiple values in a hash option

Troubleshooting
    GetOptions does not return a false result when an option is not supplied
    GetOptions does not split the command line correctly
    Undefined subroutine &main::GetOptions called
    How do I put a "-?" option into a Getopt::Long?

AUTHOR
COPYRIGHT AND DISCLAIMER

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    config

METHODS
    configure

getoptionsfromarray
getoptions

SEE ALSO
AUTHOR
COPYRIGHT AND DISCLAIMER

  Getopt::Std - Process single-character switches with switch clustering

SYNOPSIS
DESCRIPTION
"--help" and "--version"

  HTTP::Tiny - A small, simple, correct HTTP/1.1 client

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    new
    get|head|put|post|patch|delete
    post_form
    mirror
    request
    www_form_urlencode
    can_ssl
    connected

TLS/SSL SUPPORT
PROXY SUPPORT
LIMITATIONS
SEE ALSO
SUPPORT
    Bugs / Feature Requests
    Source Code

AUTHORS
CONTRIBUTORS
COPYRIGHT AND LICENSE

  Hash::Util - A selection of general-utility hash subroutines

SYNOPSIS
DESCRIPTION
    Restricted hashes
        lock_keys, unlock_keys

lock_keys_plus

lock_value, unlock_value

lock_hash, unlock_hash

lock_hash_recurse, unlock_hash_recurse

hashref_locked, hash_locked

hashref_unlocked, hash_unlocked

legal_keys, hidden_keys, all_keys, hash_seed, hash_value, bucket_info, bucket_stats, bucket_array

bucket_stats_formatted

hv_store, hash_traversal_mask, bucket_ratio, used_buckets, num_buckets

Operating on references to hashes
    lock_ref_keys, unlock_ref_keys, lock_ref_keys_plus, lock_ref_value, unlock_ref_value, lock_hashref, unlock_hashref, lock_hashref_recurse, unlock_hashref_recurse, hash_ref_unlocked, legal_ref_keys, hidden_ref_keys

CAVEATS
BUGS
AUTHOR
SEE ALSO

  Hash::Util::FieldHash - Support for Inside-Out Classes

SYNOPSIS
FUNCTIONS
    id, id_2obj, register, idhash, idhashes, fieldhash, fieldhashes

DESCRIPTION
    The Inside-out Technique
    Problems of Inside-out
    Solutions
    More Problems
    The Generic Object
    How to use Field Hashes
    Garbage-Collected Hashes

EXAMPLES
    init(), first(), last(), name(), "Name_hash", "Name_id", "Name_idhash", "Name_id_reg", "Name_idhash_reg", "Name_fieldhash"

    Example 1
    Example 2

GUTS
    The "PERL_MAGIC_uvar" interface for hashes
    Weakrefs call uvar magic
    How field hashes work
    Internal function Hash::Util::FieldHash::_fieldhash

AUTHOR
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION

  I18N::LangTags - functions for dealing with RFC3066-style language tags

SYNOPSIS
DESCRIPTION

the function is_language_tag($lang1)

the function extract_language_tags($whatever)

the function same_language_tag($lang1, $lang2)

the function similarity_language_tag($lang1, $lang2)

the function is_dialect_of($lang1, $lang2)

the function super_languages($lang1)

the function locale2language_tag($locale_identifier)

the function encode_language_tag($lang1)

the function alternate_language_tags($lang1)

the function @langs = panic_languages(@accept_languages)

the function implicate_supers( ...languages... ), the function implicate_supers_strictly( ...languages... )

ABOUT LOWERCASING
ABOUT UNICODE PLAINTEXT LANGUAGE TAGS
SEE ALSO
COPYRIGHT
AUTHOR

  I18N::LangTags::Detect - detect the user's language preferences

SYNOPSIS
DESCRIPTION
FUNCTIONS
ENVIRONMENT
SEE ALSO
COPYRIGHT
AUTHOR

  I18N::LangTags::List -- tags and names for human languages

SYNOPSIS
DESCRIPTION
ABOUT LANGUAGE TAGS
LIST OF LANGUAGES
    {ab} : Abkhazian, {ace} : Achinese, {ach} : Acoli, {ada} : Adangme, {ady} : Adyghe, {aa} : Afar, {afh} : Afrihili, {af} : Afrikaans, [{afa} : Afro-Asiatic (Other)], {ak} : Akan, {akk} : Akkadian, {sq} : Albanian, {ale} : Aleut, [{alg} : Algonquian languages], [{tut} : Altaic (Other)], {am} : Amharic, {i-ami} : Ami, [{apa} : Apache languages], {ar} : Arabic, {arc} : Aramaic, {arp} : Arapaho, {arn} : Araucanian, {arw} : Arawak, {hy} : Armenian, {an} : Aragonese, [{art} : Artificial (Other)], {ast} : Asturian, {as} : Assamese, [{ath} : Athapascan languages], [{aus} : Australian languages], [{map} : Austronesian (Other)], {av} : Avaric, {ae} : Avestan, {awa} : Awadhi, {ay} : Aymara, {az} : Azerbaijani, {ban} : Balinese, [{bat} : Baltic (Other)], {bal} : Baluchi, {bm} : Bambara, [{bai} : Bamileke languages], {bad} : Banda, [{bnt} : Bantu (Other)], {bas} : Basa, {ba} : Bashkir, {eu} : Basque, {btk} : Batak (Indonesia), {bej} : Beja, {be} : Belarusian, {bem} : Bemba, {bn} : Bengali, [{ber} : Berber (Other)], {bho} : Bhojpuri, {bh} : Bihari, {bik} : Bikol, {bin} : Bini, {bi} : Bislama, {bs} : Bosnian, {bra} : Braj, {br} : Breton, {bug} : Buginese, {bg} : Bulgarian, {i-bnn} : Bunun, {bua} : Buriat, {my} : Burmese, {cad} : Caddo, {car} : Carib, {ca} : Catalan, [{cau} : Caucasian (Other)], {ceb} : Cebuano, [{cel} : Celtic (Other)], [{cai} : Central American Indian (Other)], {chg} : Chagatai, [{cmc} : Chamic languages], {ch} : Chamorro, {ce} : Chechen, {chr} : Cherokee, {chy} : Cheyenne, {chb} : Chibcha, {ny} : Chichewa, {zh} : Chinese, {chn} : Chinook Jargon, {chp} : Chipewyan, {cho} : Choctaw, {cu} : Church Slavic, {chk} : Chuukese, {cv} : Chuvash, {cop} : Coptic, {kw} : Cornish, {co} : Corsican, {cr} : Cree, {mus} : Creek, [{cpe} : English-based Creoles and pidgins (Other)], [{cpf} : French-based Creoles and pidgins (Other)], [{cpp} : Portuguese-based Creoles and pidgins (Other)], [{crp} : Creoles and pidgins (Other)], {hr} : Croatian, [{cus} : Cushitic (Other)], {cs} : Czech, {dak} : Dakota, {da} : Danish, {dar} : Dargwa, {day} : Dayak, {i-default} : Default (Fallthru) Language, {del} : Delaware, {din} : Dinka, {dv} : Divehi, {doi} : Dogri, {dgr} : Dogrib, [{dra} : Dravidian (Other)], {dua} : Duala, {nl} : Dutch, {dum} : Middle Dutch (ca.1050-1350), {dyu} : Dyula, {dz} : Dzongkha, {efi} : Efik, {egy} : Ancient Egyptian, {eka} : Ekajuk, {elx} : Elamite, {en} : English, {enm} : Old English (1100-1500), {ang} : Old English (ca.450-1100), {i-enochian} : Enochian (Artificial), {myv} : Erzya, {eo} : Esperanto, {et} : Estonian, {ee} : Ewe, {ewo} : Ewondo, {fan} : Fang, {fat} : Fanti, {fo} : Faroese, {fj} : Fijian, {fi} : Finnish, [{fiu} : Finno-Ugrian (Other)], {fon} : Fon, {fr} : French, {frm} : Middle French (ca.1400-1600), {fro} : Old French (842-ca.1400), {fy} : Frisian, {fur} : Friulian, {ff} : Fulah, {gaa} : Ga, {gd} : Scots Gaelic, {gl} : Gallegan, {lg} : Ganda, {gay} : Gayo, {gba} : Gbaya, {gez} : Geez, {ka} : Georgian, {de} : German, {gmh} : Middle High German (ca.1050-1500), {goh} : Old High German (ca.750-1050), [{gem} : Germanic (Other)], {gil} : Gilbertese, {gon} : Gondi, {gor} : Gorontalo, {got} : Gothic, {grb} : Grebo, {grc} : Ancient Greek, {el} : Modern Greek, {gn} : Guarani, {gu} : Gujarati, {gwi} : Gwich'in, {hai} : Haida, {ht} : Haitian, {ha} : Hausa, {haw} : Hawaiian, {he} : Hebrew, {hz} : Herero, {hil} : Hiligaynon, {him} : Himachali, {hi} : Hindi, {ho} : Hiri Motu, {hit} : Hittite, {hmn} : Hmong, {hu} : Hungarian, {hup} : Hupa, {iba} : Iban, {is} : Icelandic, {io} : Ido, {ig} : Igbo, {ijo} : Ijo, {ilo} : Iloko, [{inc} : Indic (Other)], [{ine} : Indo-European (Other)], {id} : Indonesian, {inh} : Ingush, {ia} : Interlingua (International Auxiliary Language Association), {ie} : Interlingue, {iu} : Inuktitut, {ik} : Inupiaq, [{ira} : Iranian (Other)], {ga} : Irish, {mga} : Middle Irish (900-1200), {sga} : Old Irish (to 900), [{iro} : Iroquoian languages], {it} : Italian, {ja} : Japanese, {jv} : Javanese, {jrb} : Judeo-Arabic, {jpr} : Judeo-Persian, {kbd} : Kabardian, {kab} : Kabyle, {kac} : Kachin, {kl} : Kalaallisut, {xal} : Kalmyk, {kam} : Kamba, {kn} : Kannada, {kr} : Kanuri, {krc} : Karachay-Balkar, {kaa} : Kara-Kalpak, {kar} : Karen, {ks} : Kashmiri, {csb} : Kashubian, {kaw} : Kawi, {kk} : Kazakh, {kha} : Khasi, {km} : Khmer, [{khi} : Khoisan (Other)], {kho} : Khotanese, {ki} : Kikuyu, {kmb} : Kimbundu, {rw} : Kinyarwanda, {ky} : Kirghiz, {i-klingon} : Klingon, {kv} : Komi, {kg} : Kongo, {kok} : Konkani, {ko} : Korean, {kos} : Kosraean, {kpe} : Kpelle, {kro} : Kru, {kj} : Kuanyama, {kum} : Kumyk, {ku} : Kurdish, {kru} : Kurukh, {kut} : Kutenai, {lad} : Ladino, {lah} : Lahnda, {lam} : Lamba, {lo} : Lao, {la} : Latin, {lv} : Latvian, {lb} : Letzeburgesch, {lez} : Lezghian, {li} : Limburgish, {ln} : Lingala, {lt} : Lithuanian, {nds} : Low German, {art-lojban} : Lojban (Artificial), {loz} : Lozi, {lu} : Luba-Katanga, {lua} : Luba-Lulua, {lui} : Luiseno, {lun} : Lunda, {luo} : Luo (Kenya and Tanzania), {lus} : Lushai, {mk} : Macedonian, {mad} : Madurese, {mag} : Magahi, {mai} : Maithili, {mak} : Makasar, {mg} : Malagasy, {ms} : Malay, {ml} : Malayalam, {mt} : Maltese, {mnc} : Manchu, {mdr} : Mandar, {man} : Mandingo, {mni} : Manipuri, [{mno} : Manobo languages], {gv} : Manx, {mi} : Maori, {mr} : Marathi, {chm} : Mari, {mh} : Marshall, {mwr} : Marwari, {mas} : Masai, [{myn} : Mayan languages], {men} : Mende, {mic} : Micmac, {min} : Minangkabau, {i-mingo} : Mingo, [{mis} : Miscellaneous languages], {moh} : Mohawk, {mdf} : Moksha, {mo} : Moldavian, [{mkh} : Mon-Khmer (Other)], {lol} : Mongo, {mn} : Mongolian, {mos} : Mossi, [{mul} : Multiple languages], [{mun} : Munda languages], {nah} : Nahuatl, {nap} : Neapolitan, {na} : Nauru, {nv} : Navajo, {nd} : North Ndebele, {nr} : South Ndebele, {ng} : Ndonga, {ne} : Nepali, {new} : Newari, {nia} : Nias, [{nic} : Niger-Kordofanian (Other)], [{ssa} : Nilo-Saharan (Other)], {niu} : Niuean, {nog} : Nogai, {non} : Old Norse, [{nai} : North American Indian], {no} : Norwegian, {nb} : Norwegian Bokmal, {nn} : Norwegian Nynorsk, [{nub} : Nubian languages], {nym} : Nyamwezi, {nyn} : Nyankole, {nyo} : Nyoro, {nzi} : Nzima, {oc} : Occitan (post 1500), {oj} : Ojibwa, {or} : Oriya, {om} : Oromo, {osa} : Osage, {os} : Ossetian; Ossetic, [{oto} : Otomian languages], {pal} : Pahlavi, {i-pwn} : Paiwan, {pau} : Palauan, {pi} : Pali, {pam} : Pampanga, {pag} : Pangasinan, {pa} : Panjabi, {pap} : Papiamento, [{paa} : Papuan (Other)], {fa} : Persian, {peo} : Old Persian (ca.600-400 B.C.), [{phi} : Philippine (Other)], {phn} : Phoenician, {pon} : Pohnpeian, {pl} : Polish, {pt} : Portuguese, [{pra} : Prakrit languages], {pro} : Old Provencal (to 1500), {ps} : Pushto, {qu} : Quechua, {rm} : Raeto-Romance, {raj} : Rajasthani, {rap} : Rapanui, {rar} : Rarotongan, [{qaa - qtz} : Reserved for local use.], [{roa} : Romance (Other)], {ro} : Romanian, {rom} : Romany, {rn} : Rundi, {ru} : Russian, [{sal} : Salishan languages], {sam} : Samaritan Aramaic, {se} : Northern Sami, {sma} : Southern Sami, {smn} : Inari Sami, {smj} : Lule Sami, {sms} : Skolt Sami, [{smi} : Sami languages (Other)], {sm} : Samoan, {sad} : Sandawe, {sg} : Sango, {sa} : Sanskrit, {sat} : Santali, {sc} : Sardinian, {sas} : Sasak, {sco} : Scots, {sel} : Selkup, [{sem} : Semitic (Other)], {sr} : Serbian, {srr} : Serer, {shn} : Shan, {sn} : Shona, {sid} : Sidamo, {sgn-...} : Sign Languages, {bla} : Siksika, {sd} : Sindhi, {si} : Sinhalese, [{sit} : Sino-Tibetan (Other)], [{sio} : Siouan languages], {den} : Slave (Athapascan), [{sla} : Slavic (Other)], {sk} : Slovak, {sl} : Slovenian, {sog} : Sogdian, {so} : Somali, {son} : Songhai, {snk} : Soninke, {wen} : Sorbian languages, {nso} : Northern Sotho, {st} : Southern Sotho, [{sai} : South American Indian (Other)], {es} : Spanish, {suk} : Sukuma, {sux} : Sumerian, {su} : Sundanese, {sus} : Susu, {sw} : Swahili, {ss} : Swati, {sv} : Swedish, {syr} : Syriac, {tl} : Tagalog, {ty} : Tahitian, [{tai} : Tai (Other)], {tg} : Tajik, {tmh} : Tamashek, {ta} : Tamil, {i-tao} : Tao, {tt} : Tatar, {i-tay} : Tayal, {te} : Telugu, {ter} : Tereno, {tet} : Tetum, {th} : Thai, {bo} : Tibetan, {tig} : Tigre, {ti} : Tigrinya, {tem} : Timne, {tiv} : Tiv, {tli} : Tlingit, {tpi} : Tok Pisin, {tkl} : Tokelau, {tog} : Tonga (Nyasa), {to} : Tonga (Tonga Islands), {tsi} : Tsimshian, {ts} : Tsonga, {i-tsu} : Tsou, {tn} : Tswana, {tum} : Tumbuka, [{tup} : Tupi languages], {tr} : Turkish, {ota} : Ottoman Turkish (1500-1928), {crh} : Crimean Turkish, {tk} : Turkmen, {tvl} : Tuvalu, {tyv} : Tuvinian, {tw} : Twi, {udm} : Udmurt, {uga} : Ugaritic, {ug} : Uighur, {uk} : Ukrainian, {umb} : Umbundu, {und} : Undetermined, {ur} : Urdu, {uz} : Uzbek, {vai} : Vai, {ve} : Venda, {vi} : Vietnamese, {vo} : Volapuk, {vot} : Votic, [{wak} : Wakashan languages], {wa} : Walloon, {wal} : Walamo, {war} : Waray, {was} : Washo, {cy} : Welsh, {wo} : Wolof, {x-...} : Unregistered (Semi-Private Use), {xh} : Xhosa, {sah} : Yakut, {yao} : Yao, {yap} : Yapese, {ii} : Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd} : Zande, [{zap} : Zapotec], {zen} : Zenaga, {za} : Zhuang, {zu} : Zulu, {zun} : Zuni

SEE ALSO
COPYRIGHT AND DISCLAIMER
AUTHOR

  I18N::Langinfo - query locale information

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

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

    EXPORT

BUGS
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

  IO - load various IO modules

SYNOPSIS
DESCRIPTION
DEPRECATED

  IO::Compress - read/write compressed data in multiple formats

DESCRIPTION
AUTHOR
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    bzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle

    Oneshot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

    Constructor Options
        "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "BlockSize100K => number", "WorkFactor => number", "Strict => 0|1"

    Examples

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

Importing
    :all

EXAMPLES
    Apache::GZip Revisited
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    deflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle

    Oneshot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

    Examples

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

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

EXAMPLES
    Apache::GZip Revisited
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

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

ZIP
    What Compression Types do IO::Compress::Zip & IO::Uncompress::Unzip support?
        Store (method 0), Deflate (method 8), Bzip2 (method 12), Lzma (method 14)

    Can I Read/Write Zip files larger the 4 Gig?
    Can I write more that 64K entries is a Zip files?
    Zip Resources

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

ZLIB
    Zlib Resources

Bzip2
    Bzip2 Resources
    Dealing with Concatenated bzip2 files
    Interoperating with Pbzip2

HTTP & NETWORK
    Apache::GZip Revisited
    Compressed files and Net::FTP

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

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    gzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle

    Oneshot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

    Examples

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

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

EXAMPLES
    Apache::GZip Revisited
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    rawdeflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle

    Oneshot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

    Examples

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

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

EXAMPLES
    Apache::GZip Revisited
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

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

Functional Interface
    zip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, the full filename contained in $input_filename_or_reference, the file protection attributes, the UID/GID for the file, the file timestamps, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle

    Oneshot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

    Examples

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

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

EXAMPLES
    Apache::GZip Revisited
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

  IO::Dir - supply object methods for directory handles

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

SEE ALSO
AUTHOR
COPYRIGHT

  IO::File - supply object methods for filehandles

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile

METHODS
    open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS )

NOTE
SEE ALSO
HISTORY

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    new (), new_from_fd ( FD, MODE )

METHODS
    $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines, $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error, $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ), $io->blocking ( [ BOOL ] ), binmode( [LAYER] ), $io->untaint

NOTE
SEE ALSO
BUGS
HISTORY

  IO::Pipe - supply object methods for pipes

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    new ( [READER, WRITER] )

METHODS
    reader ([ARGS]), writer ([ARGS]), handles ()

SEE ALSO
AUTHOR
COPYRIGHT

  IO::Poll - Object interface to system poll call

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

SEE ALSO
AUTHOR
COPYRIGHT

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

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

SEE ALSO
HISTORY

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    new ( [ HANDLES ] )

METHODS
    add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )

EXAMPLE
AUTHOR
COPYRIGHT

  IO::Socket - Object interface to socket communications

SYNOPSIS
DESCRIPTION
CONSTRUCTOR ARGUMENTS
    Blocking
    Domain
    Listen
    Timeout
    Type

CONSTRUCTORS
    new

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

EXAMPLES
LIMITATIONS
SEE ALSO
AUTHOR
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    new ( [ARGS] )

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

SEE ALSO
AUTHOR
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
REPLACING "IO::Socket" DEFAULT BEHAVIOUR

CONSTRUCTORS

new PeerHost => STRING, PeerService => STRING, PeerAddr => STRING, PeerPort => STRING, PeerAddrInfo => ARRAY, LocalHost => STRING, LocalService => STRING, LocalAddr => STRING, LocalPort => STRING, LocalAddrInfo => ARRAY, Family => INT, Type => INT, Proto => STRING or INT, GetAddrInfoFlags => INT, Listen => INT, ReuseAddr => BOOL, ReusePort => BOOL, Broadcast => BOOL, Sockopts => ARRAY, V6Only => BOOL, MultiHomed, Blocking => BOOL, Timeout => NUM

new (one arg)

METHODS

sockhost_service

sockhost
sockport
sockhostname
sockservice

sockaddr

peerhost_service

peerhost
peerport
peerhostname
peerservice

peeraddr

as_inet

NON-BLOCKING

"PeerHost" AND "LocalHost" PARSING
    split_addr

join_addr

"IO::Socket::INET" INCOMPATIBILITIES

TODO
AUTHOR

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    new ( [ARGS] )

METHODS
    hostpath(), peerpath()

SEE ALSO
AUTHOR
COPYRIGHT

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

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

Functional Interface
    anyinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"

    OneShot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

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

Importing
    :all

EXAMPLES
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

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

Functional Interface
    anyuncompress $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"

    OneShot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

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

Importing
    :all

EXAMPLES
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    bunzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"

    OneShot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

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

Importing
    :all

EXAMPLES
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    gunzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"

    OneShot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

Methods
    read
    read
    getline
    getc
    ungetc
    inflateSync
    getHeaderInfo
        Name, Comment

    tell
    eof
    seek
    binmode
    opened
    autoflush
    input_line_number
    fileno
    close
    nextStream
    trailingData

Importing
    :all

EXAMPLES
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    inflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"

    OneShot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

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

Importing
    :all

EXAMPLES
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
    rawinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"

    OneShot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

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

Importing
    :all

EXAMPLES
    Working with Net::FTP

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

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

Functional Interface
    unzip $input_filename_or_reference => $output_filename_or_reference [, OPTS]
        A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

    Notes
    Optional Parameters
        "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar"

    OneShot Examples

OO Interface
    Constructor
        A filename, A filehandle, A scalar reference

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

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

Importing
    :all

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

SUPPORT
SEE ALSO
AUTHOR
MODIFICATION HISTORY
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
    new ( [ARGS] )

OBJECT METHODS
    open ( FILENAME, MODE ), opened, close, getc, getline, getlines, print ( ARGS... ), read ( BUF, NBYTES, [OFFSET] ), eof, seek ( OFFSET, WHENCE ), tell, setpos ( POS ), getpos ( POS )

USING THE EXTERNAL GZIP
CLASS METHODS
    has_Compress_Zlib, gzip_external, gzip_used, gzip_read_open, gzip_write_open

DIAGNOSTICS
    IO::Zlib::getlines: must be called in list context, IO::Zlib::gzopen_external: mode '...' is illegal, IO::Zlib::import: '...' is illegal, IO::Zlib::import: ':gzip_external' requires an argument, IO::Zlib::import: 'gzip_read_open' requires an argument, IO::Zlib::import: 'gzip_read' '...' is illegal, IO::Zlib::import: 'gzip_write_open' requires an argument, IO::Zlib::import: 'gzip_write_open' '...' is illegal, IO::Zlib::import: no Compress::Zlib and no external gzip, IO::Zlib::open: needs a filename, IO::Zlib::READ: NBYTES must be specified, IO::Zlib::WRITE: too long LENGTH

SEE ALSO
HISTORY
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
CLASS METHODS
    $ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] )

$ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] )

$bool = IPC::Cmd->can_capture_buffer

$bool = IPC::Cmd->can_use_run_forked

FUNCTIONS
    $path = can_run( PROGRAM );

$ok | ($ok, $err, $full_buf, $stdout_buff, $stderr_buff) = run( command => COMMAND, [verbose => BOOL, buffer => \$SCALAR, timeout => DIGIT] );
    command, verbose, buffer, timeout, success, error message, full_buffer, out_buffer, error_buffer

$hashref = run_forked( COMMAND, { child_stdin => SCALAR, timeout => DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );
    "timeout", "child_stdin", "stdout_handler", "stderr_handler", "wait_loop_callback", "discard_output", "terminate_on_parent_sudden_death", "exit_code", "timeout", "stdout", "stderr", "merged", "err_msg"

$q = QUOTE

HOW IT WORKS
Global Variables
    $IPC::Cmd::VERBOSE
    $IPC::Cmd::USE_IPC_RUN
    $IPC::Cmd::USE_IPC_OPEN3
    $IPC::Cmd::WARN
    $IPC::Cmd::INSTANCES
    $IPC::Cmd::ALLOW_NULL_ARGS

Caveats
    Whitespace and IPC::Open3 / system(), Whitespace and IPC::Run, IO Redirect, Interleaving STDOUT/STDERR

See Also
ACKNOWLEDGEMENTS
BUG REPORTS
AUTHOR
COPYRIGHT

  IPC::Msg - SysV Msg IPC object class

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

SEE ALSO
AUTHORS
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
WARNING
SEE ALSO

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

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

WARNING

  IPC::Semaphore - SysV Semaphore IPC object class

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

SEE ALSO
AUTHORS
COPYRIGHT

  IPC::SharedMem - SysV Shared Memory IPC object class

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

SEE ALSO
AUTHORS
COPYRIGHT

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

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

SEE ALSO
AUTHORS
COPYRIGHT

  Internals - Reserved special namespace for internals related functions

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

AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION
FUNCTIONAL INTERFACE
    encode_json
    decode_json
    JSON::PP::is_bool

OBJECT-ORIENTED INTERFACE
    new
    ascii
    latin1
    utf8
    pretty
    indent
    space_before
    space_after
    relaxed
        list items can have an end-comma, shell-style '#'-comments, C-style multiple-line '/* */'-comments (JSON::PP only), C++-style one-line '//'-comments (JSON::PP only), literal ASCII TAB characters in strings

    canonical
    allow_nonref
    allow_unknown
    allow_blessed
    convert_blessed
    allow_tags
    boolean_values
    core_bools
    filter_json_object
    filter_json_single_key_object
    shrink
    max_depth
    max_size
    encode
    decode
    decode_prefix

FLAGS FOR JSON::PP ONLY
    allow_singlequote
    allow_barekey
    allow_bignum
    loose
    escape_slash
    indent_length
    sort_by

INCREMENTAL PARSING
    incr_parse
    incr_text
    incr_skip
    incr_reset

MAPPING
    JSON -> PERL
        object, array, string, number, true, false, null, shell-style comments ("# text"), tagged values ("(tag)value")

    PERL -> JSON
        hash references, array references, other references, JSON::PP::true, JSON::PP::false, JSON::PP::null, blessed objects, simple scalars

    OBJECT SERIALISATION
        1. "allow_tags" is enabled and the object has a "FREEZE" method, 2. "convert_blessed" is enabled and the object has a "TO_JSON" method, 3. "allow_bignum" is enabled and the object is a "Math::BigInt" or "Math::BigFloat", 4. "allow_blessed" is enabled, 5. none of the above

ENCODING/CODESET FLAG NOTES
    "utf8" flag disabled, "utf8" flag enabled, "latin1" or "ascii" flags enabled

BUGS
SEE ALSO
AUTHOR
CURRENT MAINTAINER
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
AUTHOR
LICENSE

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

SYNOPSIS
DESCRIPTION

LIST-REDUCTION FUNCTIONS

reduce
reductions
any
all
none
notall
first
max
maxstr
min
minstr
product
sum
sum0

KEY/VALUE PAIR LIST FUNCTIONS

pairs
unpairs
pairkeys
pairvalues
pairgrep
pairfirst
pairmap

OTHER FUNCTIONS

shuffle

sample
uniq
uniqint
uniqnum
uniqstr

head
tail
zip
mesh

CONFIGURATION VARIABLES
    $RAND

KNOWN BUGS
    RT #95409
    uniqnum() on oversized bignums

SUGGESTED ADDITIONS
SEE ALSO
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT

  Locale::Maketext - framework for localization

SYNOPSIS
DESCRIPTION
QUICK OVERVIEW
METHODS
    Construction Methods
    The "maketext" Method
        $lh->fail_with or $lh->fail_with(PARAM), $lh->failure_handler_auto, $lh->denylist(@list) <or> $lh->blacklist(@list), $lh->allowlist(@list) <or> $lh->whitelist(@list)

    Utility Methods
        $language->quant($number, $singular), $language->quant($number, $singular, $plural), $language->quant($number, $singular, $plural, $negative), $language->numf($number), $language->numerate($number, $singular, $plural, $negative), $language->sprintf($format, @items), $language->language_tag(), $language->encoding()

    Language Handle Attributes and Internals

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

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

INTRODUCTION
ONESIDED LEXICONS
DECIMAL PLACES IN NUMBER FORMATTING

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

SYNOPSIS
DESCRIPTION

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

SYNOPSIS
DESCRIPTION

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

VERSION
SYNOPSIS
DESCRIPTION
OPTIONS
    Class
    Path
    Style
    Export
    Subclass
    Decode
    Encoding

ACKNOWLEDGMENTS
SEE ALSO
AUTHORS
COPYRIGHT
    The "MIT" License

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

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

  MIME::Base64 - Encoding and decoding of base64 strings

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

EXAMPLES
COPYRIGHT
SEE ALSO

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

SYNOPSIS
DESCRIPTION
    encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol, $binmode ), decode_qp( $str )

COPYRIGHT
SEE ALSO

  Math::BigFloat - arbitrary size floating point math package

SYNOPSIS
DESCRIPTION
    Input
    Output

METHODS
    Configuration methods
        accuracy(), precision()

    Constructor methods
        from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(), from_ieee754(), from_fp80(), from_base(), bpi(), as_int(), as_rat(), as_float()

    Arithmetic methods
        bdiv(), bmod(), bfdiv(), binv(), bmuladd(), bexp(), bnok(), bperm(), bsin(), bcos(), batan(), batan2(), bgcd()

    String conversion methods
        bstr(), bsstr(), bnstr(), bestr(), bdstr(), to_bytes(), to_ieee754()

    ACCURACY AND PRECISION
    Rounding
        bfround ( +$scale ), bfround ( -$scale ), bfround ( 0 ), bround ( +$scale ), bround ( -$scale ) and bround ( 0 )

NUMERIC LITERALS
    Hexadecimal, octal, and binary floating point literals
    Math library

EXPORTS
    Modifying and =, precision() vs. accuracy()

BUGS
SUPPORT
    GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

  Math::BigInt - arbitrary size integer math package

SYNOPSIS
DESCRIPTION
    Input
    Output

METHODS
    Configuration methods
        accuracy(), precision(), round_mode(), div_scale(), trap_inf(), trap_nan(), upgrade(), downgrade(), modify(), config()

    Constructor methods
        new(), from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(), from_ieee754(), from_fp80(), from_base(), from_base_num(), bzero(), bone(), binf(), bnan(), bpi(), copy(), as_int(), as_rat(), as_float()

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

    Comparison methods
        bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge()

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

    Bitwise methods
        bblsft(), bbrsft(), band(), bior(), bxor(), bnot()

    Rounding methods
        round(), bround(), bfround(), bfloor(), bceil(), bint()

    Other mathematical methods
        bgcd(), blcm()

    Object property methods
        sign(), digit(), bdigitsum(), digitsum(), length(), mantissa(), exponent(), parts(), sparts(), nparts(), eparts(), dparts(), fparts(), numerator(), denominator()

    String conversion methods
        bstr(), bsstr(), bnstr(), bestr(), bdstr(), bfstr(), to_hex(), to_oct(), to_bin(), to_bytes(), to_ieee754(), to_fp80(), to_base(), to_base_num(), as_hex(), as_oct(), as_bin(), as_bytes()

    Other conversion methods
        numify()

    Utility methods
        dec_str_to_dec_flt_str(), hex_str_to_dec_flt_str(), oct_str_to_dec_flt_str(), bin_str_to_dec_flt_str(), dec_str_to_dec_str(), hex_str_to_dec_str(), oct_str_to_dec_str(), bin_str_to_dec_str()

ACCURACY AND PRECISION
    Accuracy A
    Precision P
    Rounding mode R
        'trunc', 'even', 'odd', '+inf', '-inf', 'zero', 'common'

    Fallback F
    More details on rounding
        Precision, Accuracy (significant digits), Setting/Accessing, Creating numbers, Usage, Precedence, Overriding globals, Local settings, Rounding, Default values, Remarks

INTERNALS
    Math Library
    Sign

EXAMPLES
NUMERIC LITERALS
    Hexadecimal, octal, and binary floating point literals

PERFORMANCE
    Alternative math libraries

SUBCLASSING
    Subclassing Math::BigInt

UPGRADING
    Auto-upgrade

EXPORTS
CAVEATS
    Comparing numbers as strings, oct()/hex(), int(), Modifying and =, Overloading -$x, Mixing different object types

BUGS
SUPPORT
    GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

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

SYNOPSIS
DESCRIPTION
OPTIONS
    base_len, use_int

METHODS
    _base_len()

SEE ALSO

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

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

LICENSE
AUTHORS
SEE ALSO

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

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

    API version 2
        CLASS->_1ex(N), CLASS->_nok(OBJ1, OBJ2), CLASS->_alen(OBJ)

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

LICENSE
AUTHOR
SEE ALSO

  Math::BigRat - arbitrary size rational number math package

SYNOPSIS
DESCRIPTION
    Math Library

METHODS
    new(), from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(), from_ieee754(), from_fp80(), 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()

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

    String conversion methods
        bstr(), bnstr(), bestr(), bdstr(), to_bytes(), to_ieee754(), to_fp80(), as_hex(), as_oct(), as_bin(), numify(), config()

NUMERIC LITERALS
    Hexadecimal, octal, and binary floating point literals

BUGS
SUPPORT
    GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix

LICENSE
SEE ALSO
AUTHORS

  Math::Complex - complex numbers and associated mathematical functions

SYNOPSIS
DESCRIPTION
OPERATIONS
CREATION
DISPLAYING
    CHANGED IN PERL 5.6

USAGE
CONSTANTS
    PI
    Inf

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

  Math::Trig - trigonometric functions

SYNOPSIS
DESCRIPTION
TRIGONOMETRIC FUNCTIONS
    tan

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

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

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

GREAT CIRCLE DISTANCES AND DIRECTIONS
    great_circle_distance
    great_circle_direction
    great_circle_bearing
    great_circle_destination
    great_circle_midpoint
    great_circle_waypoint

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

BUGS
SEE ALSO
AUTHORS
LICENSE

  Memoize - Make functions faster by trading space for time

SYNOPSIS
DESCRIPTION
EXAMPLE
DETAILS
OPTIONS
    INSTALL
    NORMALIZER
    "SCALAR_CACHE", "LIST_CACHE"
        "MEMORY", "HASH", "TIE", "FAULT", "MERGE"

OTHER FACILITIES
    "unmemoize"
    "flush_cache"

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

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

DESCRIPTION

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

SYNOPSIS
DESCRIPTION
INTERFACE
     TIEHASH,  EXISTS,  STORE

ALTERNATIVES
CAVEATS
AUTHOR
SEE ALSO

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

DESCRIPTION

  Memoize::SDBM_File - DEPRECATED compatibility shim

DESCRIPTION

  Memoize::Storable - store Memoized data in Storable database

DESCRIPTION

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

SYNOPSIS
DESCRIPTION
FUNCTIONS API
    first_release( MODULE ), first_release_by_date( MODULE ), "find_modules( REGEX, [ LIST OF PERLS ] )", find_version( PERL_VERSION ), "is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] )", "is_deprecated( MODULE, PERL_VERSION )", deprecated_in( MODULE ), removed_from( MODULE ), removed_from_by_date( MODULE ), "changes_between( PERL_VERSION, PERL_VERSION )"

DATA STRUCTURES
    %Module::CoreList::version, %Module::CoreList::delta, %Module::CoreList::released, %Module::CoreList::families, %Module::CoreList::deprecated, %Module::CoreList::upstream, %Module::CoreList::bug_tracker

CAVEATS
HISTORY
AUTHOR
LICENSE
SEE ALSO

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

SYNOPSIS
DESCRIPTION
FUNCTIONS API
    "utilities", first_release( UTILITY ), first_release_by_date( UTILITY ), removed_from( UTILITY ), removed_from_by_date( UTILITY )

DATA STRUCTURES
    %Module::CoreList::Utils::utilities

AUTHOR
LICENSE
SEE ALSO

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

SYNOPSIS
DESCRIPTION
    Difference between "load" and "autoload"

FUNCTIONS
    load, autoload, load_remote, autoload_remote

Rules
IMPORTS THE FUNCTIONS
    "load","autoload","load_remote","autoload_remote", 'all', '','none',undef

Caveats
SEE ALSO
ACKNOWLEDGEMENTS
BUG REPORTS
AUTHOR
COPYRIGHT

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

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

$bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL, autoload => BOOL] )
    modules, verbose, nocache, autoload

@list = requires( MODULE );

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

See Also
BUG REPORTS
AUTHOR
COPYRIGHT

  Module::Loaded - mark modules as loaded or unloaded

SYNOPSIS
DESCRIPTION
FUNCTIONS
    $bool = mark_as_loaded( PACKAGE );

$bool = mark_as_unloaded( PACKAGE );

$loc = is_loaded( PACKAGE );

BUG REPORTS
AUTHOR
COPYRIGHT

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

VERSION
SYNOPSIS
DESCRIPTION
CLASS METHODS
    "new_from_file($filename, collect_pod => 1, decode_pod => 1)"
    "new_from_handle($handle, $filename, collect_pod => 1, decode_pod => 1)"
    "new_from_module($module, collect_pod => 1, inc => \@dirs, decode_pod => 1)"
    "find_module_by_name($module, \@dirs)"
    "find_module_dir_by_name($module, \@dirs)"
    provides( %options )
        version (required), dir, files, prefix

    "package_versions_from_directory($dir, \@files?)"
    "log_info (internal)"

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

GIVING THANKS
SUPPORT
AUTHOR
CONTRIBUTORS
COPYRIGHT & LICENSE

  NDBM_File - Tied access to ndbm files

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

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

SECURITY AND PORTABILITY
BUGS AND WARNINGS

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

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

SEE ALSO
AUTHOR
BUGS AND IRRITATIONS
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
    Public Methods
        debug($level), message(), code(), ok(), status(), datasend($data), dataend()

    Protected Methods
        "debug_print($dir, $text)", "debug_text($dir, $text)", "command($cmd[, $args, ... ])", unsupported(), response(), parse_response($text), getline(), ungetline($text), rawdatasend($data), read_until_dot(), tied_fh()

    Pseudo Responses
        Initial value, Connection closed, Timeout

EXPORTS
    Default Exports, Optional Exports, Export Tags

KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

  Net::Config - Local configuration data for libnet

SYNOPSIS
DESCRIPTION
    Class Methods
        requires_firewall($host)

    NetConfig Values
        nntp_hosts, snpp_hosts, pop3_hosts, smtp_hosts, ph_hosts, daytime_hosts, time_hosts, inet_domain, ftp_firewall, ftp_firewall_type, 0, 1, 2, 3, 4, 5, 6, 7, ftp_ext_passive, ftp_int_passive, local_netmask, test_hosts, test_exists

EXPORTS
    Default Exports, Optional Exports, Export Tags

KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

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

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

EXPORTS
    Default Exports, Optional Exports, Export Tags

KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

  Net::FTP - FTP Client class

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

    Object Methods
        "login([$login[, $password[, $account]]])", starttls(), stoptls(), prot($level), host(), account($acct), "authorize([$auth[, $resp]])", site($args), ascii(), binary(), type([$type]), "rename($oldname, $newname)", delete($filename), cwd([$dir]), cdup(), passive([$passive]), pwd(), restart($where), "rmdir($dir[, $recurse])", "mkdir($dir[, $recurse])", "alloc($size[, $record_size])", ls([$dir]), dir([$dir]), "get($remote_file[, $local_file[, $where]])", "put($local_file[, $remote_file])", "put_unique($local_file[, $remote_file])", "append($local_file[, $remote_file])", unique_name(), mdtm($file), size($file), supported($cmd), "hash([$filehandle_glob_ref[, $bytes_per_hash_mark]])", feature($name), nlst([$dir]), list([$dir]), retr($file), stor($file), stou($file), appe($file), port([$port]), eprt([$port]), pasv(), epsv(), "pasv_xfer($src_file, $dest_server[, $dest_file ])", "pasv_xfer_unique($src_file, $dest_server[, $dest_file ])", pasv_wait($non_pasv_server), abort(), quit()

    Methods for the Adventurous
        "quot($cmd[, $args])", can_inet6(), can_ssl()

    The dataconn Class
    Unimplemented
        "SMNT", "HELP", "MODE", "SYST", "STAT", "STRU", "REIN"

EXPORTS
KNOWN BUGS
    Reporting Bugs

SEE ALSO
ACKNOWLEDGEMENTS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

  Net::NNTP - NNTP Client class

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

    Object Methods
        host(), starttls(), "article([{$msgid|$msgnum}[, $fh]])", "body([{$msgid|$msgnum}[, [$fh]])", "head([{$msgid|$msgnum}[, [$fh]])", articlefh([{$msgid|$msgnum}]), bodyfh([{$msgid|$msgnum}]), headfh([{$msgid|$msgnum}]), nntpstat([{$msgid|$msgnum}]), group([$group]), help(), "ihave($msgid[, $message])", last(), date(), postok(), "authinfo($user, $pass)", "authinfo_simple($user, $pass)", list(), "newgroups($since[, $distributions])", "newnews($since[, $groups[, $distributions]])", next(), post([$message]), postfh(), slave(), quit(), can_inet6(), can_ssl()

    Extension Methods
        newsgroups([$pattern]), distributions(), distribution_patterns(), subscriptions(), overview_fmt(), active_times(), active([$pattern]), xgtitle($pattern), "xhdr($header, $message_spec)", xover($message_spec), xpath($message_id), "xpat($header, $pattern, $message_spec)", xrover($message_spec), listgroup([$group]), reader()

    Unsupported
    Definitions
        $message_spec, $pattern, Examples, "[^]-]", *bdc, "[0-9a-zA-Z]", "a??d"

EXPORTS
KNOWN BUGS
SEE ALSO
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

  Net::Netrc - OO interface to users netrc file

SYNOPSIS
DESCRIPTION
    The .netrc File
        machine name, default, login name, password string, account string, macdef name

    Class Methods
        "lookup($machine[, $login])"

    Object Methods
        login(), password(), account(), lpa()

EXPORTS
KNOWN BUGS
SEE ALSO
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

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

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

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

    Notes

EXPORTS
KNOWN BUGS
SEE ALSO
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

  Net::Ping - check a remote host for reachability

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

NOTES
INSTALL
BUGS
AUTHORS
COPYRIGHT

  Net::SMTP - Simple Mail Transfer Protocol Client

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

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

    Addresses

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

  Net::Time - time and daytime network client interface

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

EXPORTS
    Default Exports, Optional Exports, Export Tags

KNOWN BUGS
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

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

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

  Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions

DESCRIPTION
    Where to get this document
    How to contribute to this document

Author and Copyright Information
    Disclaimer

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

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

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

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

AUTHOR AND COPYRIGHT

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

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

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

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

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

SYNOPSIS
DESCRIPTION
EXAMPLES
NOTE
AUTHOR

  O - Generic interface to Perl Compiler backends

SYNOPSIS
DESCRIPTION
CONVENTIONS
IMPLEMENTATION
BUGS
AUTHOR

  Opcode - Disable named opcodes when compiling perl code

SYNOPSIS
DESCRIPTION
NOTE
WARNING
Operator Names and Operator Lists
    an operator name (opname), an operator tag name (optag), a negated opname or optag, an operator set (opset)

Opcode Functions
    opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET), full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...), define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...), opdump (PAT)

Manipulating Opsets
TO DO (maybe)

Predefined Opcode Tags
    :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math, :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write, :subprocess, :ownprocess, :others, :load, :still_to_be_decided, :dangerous

SEE ALSO
AUTHORS

  POSIX - Perl interface to IEEE Std 1003.1

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

CLASSES
    "POSIX::SigAction"
        "new", "handler", "mask", "flags", "safe"

    "POSIX::SigRt"
        %SIGRT, "SIGRTMIN", "SIGRTMAX"

    "POSIX::SigSet"
        "new", "addset", "delset", "emptyset", "fillset", "ismember"

    "POSIX::Termios"
        "new", "getattr", "getcc", "getcflag", "getiflag", "getispeed", "getlflag", "getoflag", "getospeed", "setattr", "setcc", "setcflag", "setiflag", "setispeed", "setlflag", "setoflag", "setospeed", Baud rate values, Terminal interface values, "c_cc" field values, "c_cflag" field values, "c_iflag" field values, "c_lflag" field values, "c_oflag" field values

PATHNAME CONSTANTS
    Constants

POSIX CONSTANTS
    Constants

RESOURCE CONSTANTS
    Constants

SYSTEM CONFIGURATION
    Constants

ERRNO
    Constants

FCNTL
    Constants

FLOAT
    Constants

FLOATING-POINT ENVIRONMENT
    Constants

LIMITS
    Constants

LOCALE
    Constants

MATH
    Constants

SIGNAL
    Constants

STAT
    Constants, Macros

STDLIB
    Constants

STDIO
    Constants

TIME
    Constants

UNISTD
    Constants

WAIT
    Constants, "WNOHANG", "WUNTRACED", Macros, "WIFEXITED", "WEXITSTATUS", "WIFSIGNALED", "WTERMSIG", "WIFSTOPPED", "WSTOPSIG"

WINSOCK
    Constants

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

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

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

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

last_error()

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

Acknowledgements
BUG REPORTS
AUTHOR
COPYRIGHT

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    load_file
    load_yaml_string
    load_json_string
    load_string
    yaml_backend
    json_backend
    json_decoder

FUNCTIONS
    Load
    LoadFile

ENVIRONMENT
    CPAN_META_JSON_DECODER
    CPAN_META_JSON_BACKEND
    PERL_JSON_BACKEND
    PERL_YAML_BACKEND

AUTHORS
COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
USAGE
    os_type()
    is_os_type()

SEE ALSO
SUPPORT
    Bugs / Feature Requests
    Source Code

AUTHOR
CONTRIBUTORS
COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
    Layers
        :unix, :stdio, :perlio, :crlf, :utf8, :bytes, :raw, :pop

    Custom Layers
        :encoding, :mmap, :via, :scalar

    Alternatives to raw
    Defaults and how to override them
    Querying the layers of filehandles

AUTHOR
SEE ALSO

  PerlIO::encoding - encoding layer

SYNOPSIS
DESCRIPTION
SEE ALSO

  PerlIO::mmap - Memory mapped IO

SYNOPSIS
DESCRIPTION
IMPLEMENTATION NOTE

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

SYNOPSIS
DESCRIPTION
IMPLEMENTATION NOTE

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

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

EXAMPLES
    Example - a Hexadecimal Handle

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

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

  Pod::Checker - check pod documents for syntax errors

SYNOPSIS
OPTIONS/ARGUMENTS
    podchecker()
        -warnings => val, -quiet => val

DESCRIPTION
DIAGNOSTICS
    Errors
        empty =headn, =over on line N without closing =back, You forgot a '=back' before '=headN', =over is the last thing in the document?!, '=item' outside of any '=over', =back without =over, Can't have a 0 in =over N, =over should be: '=over' or '=over positive_number', =begin TARGET without matching =end TARGET, =begin without a target?, =end TARGET without matching =begin, '=end' without a target?, '=end TARGET' is invalid, =end CONTENT doesn't match =begin TARGET, =for without a target?, unresolved internal link NAME, Unknown directive: CMD, Deleting unknown formatting code SEQ, Unterminated SEQ<> sequence, An E<...> surrounding strange content, An empty E<>, An empty "L<>", An empty X<>, Spurious text after =pod / =cut, =back doesn't take any parameters, but you said =back ARGUMENT, =pod directives shouldn't be over one line long! Ignoring all N lines of content, =cut found outside a pod block, Invalid =encoding syntax: CONTENT

    Warnings
        nested commands CMD<...CMD<...>...>, multiple occurrences (N) of link target name, line containing nothing but whitespace in paragraph, =item has no contents, You can't have =items (as at line N) unless the first thing after the =over is an =item, Expected '=item EXPECTED VALUE', Expected '=item *', Possible =item type mismatch: 'x' found leading a supposed definition =item, You have '=item x' instead of the expected '=item N', Unknown E content in E<CONTENT>, empty =over/=back block, empty section in previous paragraph, Verbatim paragraph in NAME section, =headn without preceding higher level, A non-empty Z<>

    Hyperlinks
        ignoring leading/trailing whitespace in link, alternative text/node '%s' contains non-escaped | or /

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

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

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

"$checker->num_errors()"

"$checker->num_warnings()"

"$checker->name()"

"$checker->node()"

"$checker->idx()"

"$checker->hyperlinks()"

line()

type()

page()

node()

AUTHOR

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

SYNOPSIS
DESCRIPTION
GOODIES
    e2char($e_content), e2charnum($e_content), $Name2character{name}, $Name2character_number{name}, $Latin1Code_to_fallback{integer}, $Latin1Char_to_fallback{character}, $Code2USASCII{integer}

CAVEATS
SEE ALSO
REPOSITORY
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
FUNCTIONS
    pod2html
        backlink, cachedir, css, flush, header, help, htmldir, htmlroot, index, infile, outfile, poderrors, podpath, podroot, quiet, recurse, title, verbose

    Formerly Exported Auxiliary Functions
        htmlify() (by default), anchorify() (upon request), relativize_url() (upon request)

ENVIRONMENT
AUTHOR
SEE ALSO
COPYRIGHT

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

SUBROUTINES

process_command_line()

usage()

unixify()

relativize_url()

html_escape()

htmlify()

anchorify()

trim_leading_whitespace()

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

SYNOPSIS
DESCRIPTION
CLASS METHODS
    new(ARGS), center, date, encoding, errors, fixed, fixedbold, fixeditalic, fixedbolditalic, guesswork, functions, manref, quoting, variables, language, lquote, rquote, name, nourls, quotes, release, section, stderr, utf8

INSTANCE METHODS
    output_fh(FH), output_string(REF), parse_file(PATH), parse_from_file(INPUT, OUTPUT), parse_from_filehandle(FH, OUTPUT), parse_lines(LINES[, ...[, undef]]), parse_string_document(INPUT)

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

DIAGNOSTICS
    roff font should be 1 or 2 chars, not "%s", Invalid errors setting "%s", Invalid quote specification "%s", POD document had syntax errors

ENVIRONMENT
    PERL_CORE, POD_MAN_DATE, SOURCE_DATE_EPOCH

COMPATIBILITY
BUGS
CAVEATS
    Sentence spacing
    Hyphens and quotes

AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

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

SYNOPSIS
DESCRIPTION
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

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

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

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

SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
PAGER FORMATTING
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

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

SYNOPSIS
DESCRIPTION
SEE ALSO
AUTHOR

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

SYNOPSIS
DESCRIPTION
SEE ALSO
COPYRIGHT AND DISCLAIMERS
AUTHOR

  Pod::Simple - framework for parsing Pod

SYNOPSIS
DESCRIPTION
MAIN METHODS
    "$parser = SomeClass->new();", "$parser->output_fh( *OUT );", "$parser->output_string( \$somestring );", "$parser->parse_file( $some_filename );", "$parser->parse_file( *INPUT_FH );", "$parser->parse_string_document( $all_content );", "$parser->parse_lines( ...@lines..., undef );", "$parser->content_seen", "SomeClass->filter( $filename );", "SomeClass->filter( *INPUT_FH );", "SomeClass->filter( \$document_content );"

SECONDARY METHODS
    "$parser->parse_characters( SOMEVALUE )", "$parser->no_whining( SOMEVALUE )", "$parser->no_errata_section( SOMEVALUE )", "$parser->complain_stderr( SOMEVALUE )", "$parser->source_filename", "$parser->doc_has_started", "$parser->source_dead", "$parser->strip_verbatim_indent( SOMEVALUE )", "$parser->expand_verbatim_tabs( n )"

TERTIARY METHODS
    "$parser->abandon_output_fh()", "$parser->abandon_output_string()", "$parser->accept_code( @codes )", "$parser->accept_codes( @codes )", "$parser->accept_directive_as_data( @directives )", "$parser->accept_directive_as_processed( @directives )", "$parser->accept_directive_as_verbatim( @directives )", "$parser->accept_target( @targets )", "$parser->accept_target_as_text( @targets )", "$parser->accept_targets( @targets )", "$parser->accept_targets_as_text( @targets )", "$parser->any_errata_seen()", "$parser->errata_seen()", "$parser->detected_encoding()", "$parser->encoding()", "$parser->parse_from_file( $source, $to )", "$parser->scream( @error_messages )", "$parser->unaccept_code( @codes )", "$parser->unaccept_codes( @codes )", "$parser->unaccept_directive( @directives )", "$parser->unaccept_directives( @directives )", "$parser->unaccept_target( @targets )", "$parser->unaccept_targets( @targets )", "$parser->version_report()", "$parser->whine( @error_messages )"

ENCODING
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR
    Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org", Karl Williamson "khw@cpan.org", Gabor Szabo "szabgab@gmail.com", Shawn H Corey "SHCOREY at cpan.org"

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

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

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

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

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

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

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

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

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

SYNOPSIS
DESCRIPTION
CALLING FROM THE COMMAND LINE
CALLING FROM PERL
    Minimal code
    More detailed example

METHODS
    html_css
    html_javascript
    title_prefix
    title_postfix
    html_header_before_title
    top_anchor
    html_h_level
    index
    html_header_after_title
    html_footer

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

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

SYNOPSIS
DESCRIPTION
    FROM THE COMMAND LINE

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

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

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

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

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

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

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

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

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

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

SYNOPSIS
DESCRIPTION
METHODS
    my $token = $parser->get_token, $parser->unget_token( $token ), $parser->unget_token( $token1, $token2, ... ), $parser->set_source( $filename ), $parser->set_source( $filehandle_object ), $parser->set_source( \$document_source ), $parser->set_source( \@document_lines ), $parser->parse_file(...), $parser->parse_string_document(...), $parser->filter(...), $parser->parse_from_file(...), my $title_string = $parser->get_title, my
    $title_string = $parser->get_short_title, $author_name     =
    $parser->get_author, $description_name = $parser->get_description, $version_block = $parser->get_version

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

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

SYNOPSIS
DESCRIPTION
    $token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring)

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

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

SYNOPSIS
DESCRIPTION
    $token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring), $token->attr(attrname), $token->attr(attrname, newvalue), $token->attr_hash

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

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

SYNOPSIS
DESCRIPTION
    $token->text, $token->text(somestring), $token->text_r()

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

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

SYNOPSIS
DESCRIPTION
    $token->type, $token->is_start, $token->is_text, $token->is_end, $token->dump

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

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

SYNOPSIS
DESCRIPTION
FORMAT CONTROL ATTRIBUTES
    $parser->head1_halfpoint_size( halfpoint_integer );, $parser->head2_halfpoint_size( halfpoint_integer );, $parser->head3_halfpoint_size( halfpoint_integer );, $parser->head4_halfpoint_size( halfpoint_integer );, $parser->codeblock_halfpoint_size( halfpoint_integer );, $parser->header_halfpoint_size( halfpoint_integer );, $parser->normal_halfpoint_size( halfpoint_integer );, $parser->no_proofing_exemptions( true_or_false );, $parser->doc_lang( microsoft_decimal_language_code )

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

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

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

MAIN SEARCH METHODS
    "$search->survey( @directories )"
        "name2path", "path2name"

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

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

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

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

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

SYNOPSIS
DESCRIPTION
    Pod::Simple, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::SimpleTree

Events
    "$parser->_handle_element_start( element_name, attr_hashref )",
    "$parser->_handle_element_end( element_name  )", "$parser->_handle_text(    text_string    )", events with an element_name
    of Document, events with an element_name of Para, events with an element_name of B, C, F, I, or U, events with an element_name of S, events with an element_name of X, events with an element_name of L, events with an element_name of E or Z, events with an element_name of Verbatim, events with an element_name of head1 .. head4, events with an element_name of encoding, events with an element_name of over-bullet, events with an element_name of over-number, events with an element_name of over-text, events with an element_name of over-block, events with an element_name of over-empty, events with an element_name of item-bullet, events with an element_name of item-number, events with an element_name of item-text, events with an element_name of for, events with an element_name of Data

More Pod::Simple Methods
    "$parser->accept_targets( SOMEVALUE )", "$parser->accept_targets_as_text(  SOMEVALUE    )", "$parser->accept_codes( Codename, Codename...  )", "$parser->accept_directive_as_data( directive_name )", "$parser->accept_directive_as_verbatim( directive_name )", "$parser->accept_directive_as_processed( directive_name )", "$parser->nbsp_for_S( BOOLEAN );", "$parser->version_report()",
    "$parser->pod_para_count()", "$parser->line_count()", "$parser->nix_X_codes( SOMEVALUE )", "$parser->keep_encoding_directive( SOMEVALUE )", "$parser->merge_text( SOMEVALUE )", "$parser->code_handler( CODE_REF )", "$parser->cut_handler( CODE_REF )", "$parser->pod_handler( CODE_REF )", "$parser->whiteline_handler( CODE_REF )", "$parser->whine( linenumber, complaint string )", "$parser->scream( linenumber, complaint string )", "$parser->source_dead(1)", "$parser->hide_line_numbers( SOMEVALUE )", "$parser->no_whining( SOMEVALUE )", "$parser->no_errata_section( SOMEVALUE )", "$parser->complain_stderr( SOMEVALUE )", "$parser->bare_output( SOMEVALUE )", "$parser->preserve_whitespace( SOMEVALUE )", "$parser->parse_empty_lists( SOMEVALUE )"

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

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

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

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

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

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

SYNOPSIS
DESCRIPTION
    Minimal code

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

SUBCLASSING

handle_text
handle_code
accept_targets_as_html

resolve_pod_page_link

resolve_man_page_link

idify

batch_mode_page_object_init

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

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

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

  Pod::Text - Convert POD data to formatted text

SYNOPSIS
DESCRIPTION
    Encoding

CLASS METHODS
    new(ARGS), alt, code, encoding, errors, guesswork, quoting, indent, loose, margin, nourls, quotes, sentence, stderr, utf8, width

INSTANCE METHODS
    output_fh(FH), output_string(REF), parse_file(PATH), parse_from_file(INPUT, OUTPUT), parse_from_filehandle(FH, OUTPUT), parse_lines(LINES[, ...[, undef]]), parse_string_document(INPUT)

FUNCTIONS
    pod2text([[-a,] [-NNN,]] INPUT[, OUTPUT])

DIAGNOSTICS
    Bizarre space in item, Item called without tag, Can't open %s for reading: %s, Invalid errors setting "%s", Invalid quote specification "%s", POD document had syntax errors

COMPATIBILITY
CAVEATS
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

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

SYNOPSIS
DESCRIPTION
COMPATIBILITY
CAVEATS
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

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

SYNOPSIS
DESCRIPTION
BUGS
COMPATIBILITY
CAVEATS
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

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

SYNOPSIS
DESCRIPTION
COMPATIBILITY
CAVEATS
AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO

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

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

    Formatting base class
    Pass-through options

DESCRIPTION
    Scripts

EXAMPLES
    Recommended Use

CAVEATS
SUPPORT
AUTHOR
LICENSE
ACKNOWLEDGMENTS
SEE ALSO

  SDBM_File - Tied access to sdbm files

SYNOPSIS
DESCRIPTION
    Tie

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

SECURITY WARNING
BUGS AND WARNINGS

  Safe - Compile and execute code in restricted compartments

SYNOPSIS
DESCRIPTION
    a new namespace, an operator mask

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

RISKS
    Memory, CPU, Snooping, Signals, State Changes

AUTHOR

  Scalar::List::Utils - A distribution of general-utility subroutines

SYNOPSIS
DESCRIPTION
MODULES
    List::Util
    Scalar::Util
    Sub::Util

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

SYNOPSIS
DESCRIPTION
    Core Perl "builtin" Functions

FUNCTIONS FOR REFERENCES
    blessed
    refaddr
    reftype
    weaken
    unweaken
    isweak

OTHER FUNCTIONS
    dualvar
    isdual
    isvstring
    looks_like_number
    openhandle
    readonly
    set_prototype
    tainted

DIAGNOSTICS
    Vstrings are not implemented in this version of perl

KNOWN BUGS
SEE ALSO
COPYRIGHT

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

SYNOPSIS
DESCRIPTION

  SelectSaver - save and restore selected file handle

SYNOPSIS
DESCRIPTION

  SelfLoader - load functions only on demand

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

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

  Socket, "Socket" - networking constants and support functions

SYNOPSIS
DESCRIPTION

CONSTANTS

PF_INET, PF_INET6, PF_UNIX, ...
AF_INET, AF_INET6, AF_UNIX, ...
SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ...
SOCK_NONBLOCK. SOCK_CLOEXEC
SOL_SOCKET
SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ...
IP_OPTIONS, IP_TOS, IP_TTL, ...
IP_PMTUDISC_WANT, IP_PMTUDISC_DONT, ...
IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY, ...
MSG_BCAST, MSG_OOB, MSG_TRUNC, ...
SHUT_RD, SHUT_RDWR, SHUT_WR
INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE
IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP, ...
TCP_CORK, TCP_KEEPALIVE, TCP_NODELAY, ...
IN6ADDR_ANY, IN6ADDR_LOOPBACK
IPV6_ADD_MEMBERSHIP, IPV6_MTU, IPV6_V6ONLY, ...

STRUCTURE MANIPULATORS

sockaddr_family
pack_sockaddr_in
unpack_sockaddr_in
sockaddr_in
pack_sockaddr_in6
unpack_sockaddr_in6
sockaddr_in6
pack_sockaddr_un
unpack_sockaddr_un
sockaddr_un
pack_ip_mreq
unpack_ip_mreq
pack_ip_mreq_source
unpack_ip_mreq_source
pack_ipv6_mreq
unpack_ipv6_mreq

FUNCTIONS

inet_aton
inet_ntoa
inet_pton
inet_ntop
getaddrinfo
    flags => INT, family => INT, socktype => INT, protocol => INT, family => INT, socktype => INT, protocol => INT, addr => STRING, canonname => STRING, AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST

getnameinfo
    NI_NUMERICHOST, NI_NUMERICSERV, NI_NAMEREQD, NI_DGRAM, NIx_NOHOST, NIx_NOSERV

getaddrinfo() / getnameinfo() ERROR CONSTANTS
    EAI_AGAIN, EAI_BADFLAGS, EAI_FAMILY, EAI_NODATA, EAI_NONAME, EAI_SERVICE

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

AUTHOR

  Storable - persistence for Perl data structures

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

ERROR REPORTING
WIZARDS ONLY
    Hooks
        "STORABLE_freeze" obj, cloning, "STORABLE_thaw" obj, cloning, serialized, .., "STORABLE_attach" class, cloning, serialized

    Predicates
        "Storable::last_op_in_netorder", "Storable::is_storing", "Storable::is_retrieving"

    Recursion
    Deep Cloning

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

EXAMPLES
SECURITY WARNING
WARNING
REGULAR EXPRESSIONS
BUGS
    64 bit data in perl 5.6.0 and 5.6.1

CREDITS
AUTHOR
SEE ALSO

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

SYNOPSIS
DESCRIPTION

FUNCTIONS

prototype

set_prototype

subname

set_subname

AUTHOR

  Symbol - manipulate Perl symbols and their names

SYNOPSIS
DESCRIPTION
BUGS

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

SYNOPSIS
DESCRIPTION
AUTHOR

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

VERSION
SYNOPSIS
DESCRIPTION
EXPORTS
FUNCTIONS
    openlog($ident, $logopt, $facility), syslog($priority, $message), syslog($priority, $format, @args), Note, setlogmask($mask_priority), setlogsock(), Note, closelog()

THE RULES OF SYS::SYSLOG
EXAMPLES
CONSTANTS
    Facilities
    Levels

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

HISTORY
SEE ALSO
    Other modules
    Manual Pages
    RFCs
    Articles
    Event Log

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

COPYRIGHT
LICENSE

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

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

VERSION

DESCRIPTION
SYNOPSIS

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

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

VERSION

DESCRIPTION
SYNOPSIS
METHODS
    Class Methods

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

VERSION

DESCRIPTION
SYNOPSIS
    "open_test"

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

VERSION

DESCRIPTION
SYNOPSIS

METHODS
    Class Methods

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

VERSION

DESCRIPTION

"clear_for_close"
"close_test"
"header"
"result"

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

VERSION

DESCRIPTION
SYNOPSIS
    "open_test"

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

VERSION

DESCRIPTION

METHODS
    result

close_test

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

VERSION

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

  TAP::Harness - Run test scripts with statistics

VERSION

DESCRIPTION
SYNOPSIS

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

Instance Methods

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

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

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

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

REPLACING
SEE ALSO

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

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

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    create( \%args )

ENVIRONMENTAL VARIABLES
    "HARNESS_PERL_SWITCHES", "HARNESS_VERBOSE", "HARNESS_SUBCLASS", "HARNESS_OPTIONS", "j<n>", "c", "a<file.tgz>", "fPackage-With-Dashes", "HARNESS_TIMER", "HARNESS_COLOR", "HARNESS_IGNORE_EXIT"

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

  TAP::Parser - Parse TAP output

VERSION

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

Instance Methods

INDIVIDUAL RESULTS
    Result types
        Version, Plan, Pragma, Test, Comment, Bailout, Unknown

    Common type methods
    "plan" methods
    "pragma" methods
    "comment" methods
    "bailout" methods
    "unknown" methods
    "test" methods

TOTAL RESULTS
    Individual Results

Pragmas

Summary Results

"ignore_exit"

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

CALLBACKS
    "test", "version", "plan", "comment", "bailout", "yaml", "unknown", "ELSE", "ALL", "EOF"

TAP GRAMMAR
BACKWARDS COMPATIBILITY
    Differences
        TODO plans, 'Missing' tests

SUBCLASSING
    Parser Components
        option 1, option 2

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

AUTHORS
BUGS
COPYRIGHT & LICENSE

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

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

Failed tests, Parse errors, Bad exit or wait status

See Also

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

TAP GRAMMAR
SUBCLASSING
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods
    Instance Methods

SUBCLASSING
    Example

SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods
    Instance Methods

ATTRIBUTION
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods
    Instance Methods

ATTRIBUTION
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

ATTRIBUTION
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

SUBCLASSING
    Example

AUTHORS
ATTRIBUTION
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

See Also

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

VERSION

SYNOPSIS
    DESCRIPTION
    METHODS

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

SUBCLASSING
    Example

SEE ALSO

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    "as_string"

Instance Methods

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    "as_string"

Instance Methods

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    "as_string", "raw"

Instance Methods

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    "as_string", "raw"

Instance Methods

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    Instance Methods

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    "as_string", "raw"

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    "as_string", "raw"

Instance Methods

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

VERSION

DESCRIPTION
OVERRIDDEN METHODS
    "as_string", "raw"

Instance Methods

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

SYNOPSIS
VERSION

DESCRIPTION
METHODS
Class Methods

SUBCLASSING
    Example

SEE ALSO

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

VERSION

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

Instance Methods

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

Attributes

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

Instance Methods

AUTHORS
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

SUBCLASSING
    Example

AUTHORS
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

SUBCLASSING
    Example

SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

CONFIGURATION
SUBCLASSING
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

SUBCLASSING
SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

SUBCLASSING
    Example

SEE ALSO

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

VERSION

SYNOPSIS
DESCRIPTION
METHODS
    Class Methods

SUBCLASSING
SEE ALSO

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    Class Methods
    Instance Methods

AUTHOR
SEE ALSO
COPYRIGHT

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

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

AUTHOR
SEE ALSO
COPYRIGHT

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

SYNOPSIS
DESCRIPTION
    Supported Colors
    Function Interface
        color(ATTR[, ATTR ...]), colored(STRING, ATTR[, ATTR ...]), colored(ATTR-REF, STRING[, STRING...]), uncolor(ESCAPE), colorstrip(STRING[, STRING ...]), colorvalid(ATTR[, ATTR ...]), coloralias(ALIAS[, ATTR ...])

    Constant Interface
    The Color Stack
    Supporting CLICOLOR

DIAGNOSTICS
    Bad color mapping %s, Bad escape sequence %s, Bareword "%s" not allowed while "strict subs" in use, Cannot alias standard color %s, Cannot alias standard color %s in %s, Invalid alias name %s, Invalid alias name %s in %s, Invalid attribute name %s, Invalid attribute name %s in %s, Name "%s" used only once: possible typo, No comma allowed after filehandle, No name for escape sequence %s

ENVIRONMENT
    ANSI_COLORS_ALIASES, ANSI_COLORS_DISABLED, NO_COLOR

COMPATIBILITY
RESTRICTIONS
NOTES
AUTHORS
COPYRIGHT AND LICENSE
SEE ALSO

  Term::Cap - Perl termcap interface

SYNOPSIS
DESCRIPTION
    METHODS

Tgetent, OSPEED, TERM

Tpad, $string, $cnt, $FH

Tputs, $cap, $cnt, $FH

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

Trequire

EXAMPLES
COPYRIGHT AND LICENSE
AUTHOR
SEE ALSO

  Term::Complete - Perl word completion module

SYNOPSIS
DESCRIPTION
    <tab>, ^D, ^U, <del>, <bs>

DIAGNOSTICS
BUGS
AUTHOR

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

SYNOPSIS
DESCRIPTION
Minimal set of supported functions
    "ReadLine", "new", "readline", "addhistory", "IN", "OUT", "MinLine", "findConsole", Attribs, "Features"

Additional supported functions
    "tkRunning", "event_loop", "ornaments", "newTTY"

EXPORTS
ENVIRONMENT

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

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

SYNOPSIS
DESCRIPTION
THIS IS A BUNDLED COPY OF HASHBASE
METHODS
    PROVIDED BY HASH BASE
        $it = $class->new(%PAIRS), $it = $class->new(\%PAIRS), $it = $class->new(\@ORDERED_VALUES)

    HOOKS
        $self->init()

ACCESSORS
    READ/WRITE
        foo(), set_foo(), FOO()

    READ ONLY
        set_foo()

    DEPRECATED SETTER
        set_foo()

    NO SETTER
    NO READER
    CONSTANT ONLY

SUBCLASSING
GETTING A LIST OF ATTRIBUTES FOR A CLASS
    @list = Term::Table::HashBase::attr_list($class), @list = $class->Term::Table::HashBase::attr_list()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
EXPORTS
    CONSTANTS
        $bool = USE_GCS, $bool = USE_TERM_READKEY

    UTILITIES
        $width = term_size(), $width = uni_length($string)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test - provides a simple framework for writing test scripts

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

_to_value

ok(...)

"skip(skip_if_true, args...)"

TEST TYPES
    NORMAL TESTS, SKIPPED TESTS, TODO TESTS

ONFAIL
BUGS and CAVEATS
ENVIRONMENT
NOTE
SEE ALSO
AUTHOR

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

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

GETTING STARTED

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

Test2::Tools::
Test2::Plugin::
Test2::Bundle::
Test2::Require::
Test2::Formatter::
Test2::Event::
Test2::Hub::
Test2::IPC::
Test2::Util::
Test2::API::
Test2::

SEE ALSO
CONTACTING US
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

***INTERNALS NOTE***
DESCRIPTION
SYNOPSIS
    WRITING A TOOL
    TESTING YOUR TOOLS
    OTHER API FUNCTIONS

ENVIRONMENT VARIABLES
MAIN API EXPORTS
    context(...)
        $ctx = context(), $ctx = context(%params), level => $int, wrapped => $int, stack => $stack, hub => $hub, on_init => sub { ... }, on_release => sub { ... }

    release($;$)
        release $ctx;, release $ctx, ...;

    context_do(&;@)
    no_context(&;$)
        no_context { ... };, no_context { ... } $hid;

    intercept(&)
    run_subtest(...)
        $NAME, \&CODE, $BUFFERED or \%PARAMS, 'buffered' => $bool, 'inherit_trace' => $bool, 'no_fork' => $bool, @ARGS, Things not affected by this flag, Things that are affected by this flag, Things that are formatter dependent

OTHER API EXPORTS
    STATUS AND INITIALIZATION STATE
        $bool = test2_init_done(), $bool = test2_load_done(), test2_set_is_end(), test2_set_is_end($bool), $bool = test2_get_is_end(), $stack = test2_stack(), $bool = test2_is_testing_done(), test2_ipc_disable, $bool = test2_ipc_disabled, test2_ipc_wait_enable(), test2_ipc_wait_disable(), $bool = test2_ipc_wait_enabled(), $bool = test2_no_wait(), test2_no_wait($bool), $fh = test2_stdout(), $fh = test2_stderr(), test2_reset_io()

    BEHAVIOR HOOKS
        test2_add_callback_exit(sub { ... }), test2_add_callback_post_load(sub { ... }), test2_add_callback_testing_done(sub { ... }), test2_add_callback_context_acquire(sub { ... }), test2_add_callback_context_init(sub { ... }), test2_add_callback_context_release(sub { ... }), test2_add_callback_pre_subtest(sub { ... }), @list = test2_list_context_acquire_callbacks(), @list = test2_list_context_init_callbacks(), @list = test2_list_context_release_callbacks(), @list = test2_list_exit_callbacks(), @list = test2_list_post_load_callbacks(), @list = test2_list_pre_subtest_callbacks(), test2_add_uuid_via(sub { ... }), $sub = test2_add_uuid_via(), test2_add_pending_diag($diag), test2_add_pending_diag($diag1, $diag2), @diags = test2_get_pending_diags(), @diags = test2_clear_pending_diags()

    IPC AND CONCURRENCY
        $bool = test2_has_ipc(), $ipc = test2_ipc(), test2_ipc_add_driver($DRIVER), @drivers = test2_ipc_drivers(), $bool = test2_ipc_polling(), test2_ipc_enable_polling(), test2_ipc_disable_polling(), test2_ipc_enable_shm(), test2_ipc_set_pending($uniq_val), $pending = test2_ipc_get_pending(), $timeout = test2_ipc_get_timeout(), test2_ipc_set_timeout($timeout)

    MANAGING FORMATTERS
        $formatter = test2_formatter, test2_formatter_set($class_or_instance), @formatters = test2_formatters(), test2_formatter_add($class_or_instance)

    TIME STAMPS
        test2_enable_trace_stamps(), test2_disable_trace_stamps(), $bool = test2_trace_stamps_enabled()

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
FUNCTIONS
    %mod_ver = upgrade_suggested(), %mod_ver = Test2::API::Breakage->upgrade_suggested(), %mod_ver = upgrade_required(), %mod_ver = Test2::API::Breakage->upgrade_required(), %mod_ver = known_broken(), %mod_ver = Test2::API::Breakage->known_broken()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
CRITICAL DETAILS
    you MUST always use the context() sub from Test2::API, You MUST always release the context when done with it, You MUST NOT pass context objects around, You MUST NOT store or cache a context for later, You SHOULD obtain your context as soon as possible in a given tool

METHODS
    $ctx->done_testing;, $clone = $ctx->snapshot(), $ctx->release(), $ctx->throw($message), $ctx->alert($message), $stack = $ctx->stack(), $hub = $ctx->hub(), $dbg = $ctx->trace(), $ctx->do_in_context(\&code, @args);, $ctx->restore_error_vars(), $! = $ctx->errno(), $? = $ctx->child_error(), $@ = $ctx->eval_error()

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

HOOKS
    INIT HOOKS
    RELEASE HOOKS

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

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

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

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
METHODS
    CONSTRUCTION
        $events = Test2::API::InterceptResult->new(@EVENTS), $events = Test2::API::InterceptResult->new_from_ref(\@EVENTS), $clone = $events->clone()

    NORMALIZATION
        @events = $events->event_list, $hub = $events->hub, $state = $events->state, $new = $events->upgrade, $events->upgrade(in_place => $BOOL), $new = $events->squash_info, $events->squash_info(in_place => $BOOL)

    FILTERING
        in_place => $BOOL, args => \@ARGS, $events->grep($CALL, %PARAMS), $events->asserts(%PARAMS), $events->subtests(%PARAMS), $events->diags(%PARAMS), $events->notes(%PARAMS), $events->errors(%PARAMS), $events->plans(%PARAMS), $events->causes_fail(%PARAMS), $events->causes_failure(%PARAMS)

    MAPPING
        $arrayref = $events->map($CALL, %PARAMS), $arrayref = $events->flatten(%PARAMS), $arrayref = $events->briefs(%PARAMS), $arrayref = $events->summaries(%PARAMS), $arrayref = $events->subtest_results(%PARAMS), $arrayref = $events->diag_messages(%PARAMS), $arrayref = $events->note_messages(%PARAMS), $arrayref = $events->error_messages(%PARAMS)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
METHODS
    !!! IMPORTANT NOTES ON DESIGN !!!
    ATTRIBUTES
        $hashref = $event->facet_data, $class = $event->result_class

    DUPLICATION
        $copy = $event->clone

    CONDENSED MULTI-FACET DATA
        $bool = $event->causes_failure, $bool = $event->causes_fail, STRING_OR_EMPTY_LIST = $event->brief, $hashref = $event->flatten, $hashref = $event->flatten(include_subevents => 1), always present, Present if the event has a trace facet, If an assertion is present, If a plan is present:, If amnesty facets are present, If Info (note/diag) facets are present, If error facets are present, Present if the event is a subtest, If a bail-out is being requested, $hashref = $event->summary()

    DIRECT ARBITRARY FACET ACCESS
        @list_of_facets = $event->facet($name), $undef_or_facet = $event->the_facet($name)

    TRACE FACET
        @list_of_facets = $event->trace, $undef_or_hashref = $event->the_trace, $undef_or_arrayref = $event->frame, $undef_or_string = $event->trace_details, $undef_or_string = $event->trace_package, $undef_or_string = $event->trace_file, $undef_or_integer = $event->trace_line, $undef_or_string = $event->trace_subname, $undef_or_string = $event->trace_tool, $undef_or_string = $event->trace_signature

    ASSERT FACET
        $bool = $event->has_assert, $undef_or_hashref = $event->the_assert, @list_of_facets = $event->assert, EMPTY_LIST_OR_STRING = $event->assert_brief

    SUBTESTS (PARENT FACET)
        $bool = $event->has_subtest, $undef_or_hashref = $event->the_subtest, @list_of_facets = $event->subtest, EMPTY_LIST_OR_OBJECT = $event->subtest_result

    CONTROL FACET (BAILOUT, ENCODING)
        $bool = $event->has_bailout, $undef_hashref = $event->the_bailout, EMPTY_LIST_OR_HASHREF = $event->bailout, EMPTY_LIST_OR_STRING = $event->bailout_brief, EMPTY_LIST_OR_STRING = $event->bailout_reason

    PLAN FACET
        $bool = $event->has_plan, $undef_or_hashref = $event->the_plan, @list_if_hashrefs = $event->plan, EMPTY_LIST_OR_STRING $event->plan_brief

    AMNESTY FACET (TODO AND SKIP)
        $event->has_amnesty, $event->the_amnesty, $event->amnesty, $event->amnesty_reasons, $event->has_todos, $event->todos, $event->todo_reasons, $event->has_skips, $event->skips, $event->skip_reasons, $event->has_other_amnesty, $event->other_amnesty, $event->other_amnesty_reasons

    ERROR FACET (CAPTURED EXCEPTIONS)
        $event->has_errors, $event->the_errors, $event->errors, $event->error_messages, $event->error_brief

    INFO FACET (DIAG, NOTE)
        $event->has_info, $event->the_info, $event->info, $event->info_messages, $event->has_diags, $event->diags, $event->diag_messages, $event->has_notes, $event->notes, $event->note_messages, $event->has_other_info, $event->other_info, $event->other_info_messages

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

***INTERNALS NOTE***
DESCRIPTION
SYNOPSIS
METHODS
    $stack = Test2::API::Stack->new(), $hub = $stack->new_hub(), $hub = $stack->new_hub(%params), $hub = $stack->new_hub(%params, class => $class), $hub = $stack->top(), $hub = $stack->peek(), $stack->cull, @hubs = $stack->all, $stack->clear, $stack->push($hub), $stack->pop($hub)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::AsyncSubtest - Object representing an async subtest.

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

METHODS
    SIMPLE ACCESSORS
        $bool = $ast->active, $arrayref = $ast->children, $arrayref = $ast->events, $bool = $ast->finished, $hub = $ast->hub, $int = $ast->id, $str = $ast->name, $pid = $ast->pid, $tid = $ast->tid, $hub = $ast->send_to, $arrayref = $ast->stack, $trace = $ast->trace

    INTERFACE
        $ast->attach($id), $id = $ast->cleave, $ctx = $ast->context, $ast->detach, $ast->finish, $ast->finish(%options), collapse => 1, silent => 1, no_plan => 1, skip => "reason", $out = $ast->fork, $bool = $ast->pending, $bool = $ast->ready, $ast->run(sub { ... }), $pid = $ast->run_fork(sub { ... }), my $thr = $ast->run_thread(sub { ... });, $passing = $ast->start, $ast->stop, $ast->wait

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
METHODS
    $ast = $hub->ast

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Bundle - Documentation for bundles.

DESCRIPTION
FAQ Should my bundle subclass Test2::Bundle?

HOW DO I WRITE A BUNDLE?
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

*** DEPRECATED ***
DESCRIPTION
SYNOPSIS
RESOLVING CONFLICTS WITH MOOSE
    TAGS
        :v1, :DEFAULT

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

PRAGMAS
    STRICT
    WARNINGS
    UTF8

PLUGINS
    SRAND
    UTF8
    EXIT SUMMARY

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

TOOLS
    TARGET
        $CLASS, $class = CLASS()

    DEFER
        def $func => @args;, do_def()

    BASIC
        ok($bool, $name), pass($name), fail($name), diag($message), note($message), $todo = todo($reason), todo $reason => sub { ... }, skip($reason, $count), plan($count), skip_all($reason), done_testing(), bail_out($reason)

    COMPARE
        is($got, $want, $name), isnt($got, $do_not_want, $name), like($got, qr/match/, $name), unlike($got, qr/mismatch/, $name), $check = match(qr/pattern/), $check = mismatch(qr/pattern/), $check = validator(sub { return $bool }), $check = hash { ... }, $check = array { ... }, $check = bag { ... }, $check = object { ... }, $check = meta { ... }, $check = number($num), $check = string($str), $check = check_isa($class_name), $check = in_set(@things), $check = not_in_set(@things), $check = check_set(@things), $check = item($thing), $check = item($idx => $thing), $check = field($name => $val), $check = call($method => $expect), $check = call_list($method => $expect), $check = call_hash($method => $expect), $check = prop($name => $expect), $check = check($thing), $check = T(), $check = F(), $check = D(), $check = DF(), $check = E(), $check = DNE(), $check = FDNE(), $check = U(), $check = L(), $check = exact_ref($ref), end(), etc(), filter_items { grep { ... } @_ }, $check = event $type => .., @checks = fail_events $type => ..

    CLASSIC COMPARE
        cmp_ok($got, $op, $want, $name)

    SUBTEST
        subtest $name => sub { ... }

    CLASS
        can_ok($thing, @methods), isa_ok($thing, @classes), DOES_ok($thing, @roles)

    ENCODING
        set_encoding($encoding)

    EXPORTS
        imported_ok('function', '$scalar', ...), not_imported_ok('function', '$scalar', ...)

    REF ref_ok($ref, $type), ref_is($got, $want), ref_is_not($got, $do_not_want)

    MOCK
        $control = mock .., $bool = mocked($thing)

    EXCEPTION
        $exception = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }

    WARNINGS
        $count = warns { ... }, $warning = warning { ... }, $warnings_ref = warnings { ... }, $bool = no_warnings { ... }

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
PLUGINS
TOOLS
    ok($bool, $name), pass($name), fail($name), skip($why, $count), $todo = todo($why), diag($message), note($message), plan($count), skip_all($why), done_testing(), BAIL_OUT($why), is($got, $want, $name), isnt($got, $donotwant, $name), like($got, qr/match/, $name), unlike($got, qr/mismatch/, $name), is_deeply($got, $want, "Deep compare"), cmp_ok($got, $op, $want, $name), isa_ok($thing, @classes), can_ok($thing, @subs), subtest $name => sub { ... }

KEY DIFFERENCES FROM Test::More
    You cannot plan at import, You have three subs imported for use in planning, isa_ok accepts different arguments

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

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
PLUGINS
TOOLS
    ok($bool, $name), plan($count), skip_all($reason), done_testing();

KEY DIFFERENCES FROM Test::Simple
    You cannot plan at import, You have three subs imported for use in planning

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
EXPORTS
    $delta = compare($got, $expect, \&convert), $build = get_build(), push_build($build), $build = pop_build($build), build($class, sub { ... }), $check = convert($thing), $check = convert($thing, $config), implicit_end => 1, use_regex => 1, use_code => 0, $check = strict_convert($thing), implicit_end => 1, use_code => 0, use_regex => 0, $compare = relaxed_convert($thing), implicit_end => 0, use_code => 1, use_regex => 1

WRITING A VARIANT OF IS/LIKE
    compare(), \&convert, $delta

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
METHODS
    $bool = $arr->ending, $arr->set_ending($bool), $arrayref = $arr->items(), $arr->set_items($arrayref), $name = $arr->name(), $bool = $arr->verify(got => $got, exists => $bool), $arr->add_item($item), @deltas = $arr->deltas(got => $got, convert => \&convert, seen => \%seen)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>, Gianni Ceccarelli <dakkar@thenautilus.net>

AUTHORS
    Chad Granum <exodist@cpan.org>, Gianni Ceccarelli <dakkar@thenautilus.net>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
METHODS
    $dclass = $check->delta_class, @deltas = $check->deltas(id => $id, exists => $bool, got => $got, convert => \&convert, seen => \%seen), @lines = $check->got_lines($got), $op = $check->operator(), $op = $check->operator($got), $bool = $check->verify(id => $id, exists => $bool, got => $got, convert => \&convert, seen => \%seen), $name = $check->name, $display = $check->render, $delta = $check->run(id => $id, exists => $bool, got => $got, convert => \&convert, seen => \%seen)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
SYNOPSIS
ARGUMENTS
    got, $_, exists, operator, name

METHODS
    $code = $cus->code, $name = $cus->name, $op = $cus->operator, $stringify = $cus->stringify_got, $bool = $cus->verify(got => $got, exists => $bool)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>, Daniel Böhmer <dboehmer@cpan.org>

COPYRIGHT

  Test2::Compare::DeepRef - Ref comparison

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
METHODS
    CLASS METHODS
        $class->add_column($NAME => sub { ... }), $class->add_column($NAME, %PARAMS), $bool = $class->remove_column($NAME), $class->set_column_alias($NAME, $ALIAS)

    ATTRIBUTES
        $bool = $delta->verified, $delta->set_verified($bool), $aref = $delta->id, $delta->set_id([$type, $name]), $val = $delta->got, $delta->set_got($val), $check = $delta->chk, $check = $delta->check, $delta->set_chk($check), $delta->set_check($check), $aref = $delta->children, $delta->set_children([$delta1, $delta2, ...]), $dne = $delta->dne, $delta->set_dne($dne), $e = $delta->exception, $delta->set_exception($e)

    OTHER
        $string = $delta->render_got, $string = $delta->render_check, $bool = $delta->should_show, $aref = $delta->filter_visible, $aref = $delta->table_header, $string = $delta->table_op, $string = $delta->table_check_lines, $string = $delta->table_got_lines, $aref = $delta->table_rows, @table_lines = $delta->table

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
DEFINED CHECKS
    file, line, package, subname, debug, tid, pid

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Andrew Grangaard <spazm@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

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

COPYRIGHT

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

DESCRIPTION
DEFINED CHECKS
    blessed, reftype, isa, this, size

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
WHY?
ATTRIBUTES
    $bool = $obj->negate, $obj->set_negate($bool), $attr = NEGATE()

METHODS
    $clone = $obj->clone_negate(), $obj->toggle_negate()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
METHODS
    $class = $obj->meta_class, $class = $obj->object_base, $obj->add_prop(...), $obj->add_field(...), $obj->add_item(...), $obj->add_call($method, $check), $obj->add_call($method, $check, $name), $obj->add_call($method, $check, $name, $context)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

DESCRIPTION
METHODS
    $ref = $arr->inref(), $arrayref = $arr->items(), $arr->set_items($arrayref), $name = $arr->name(), $bool = $arr->verify(got => $got, exists => $bool), $arr->add_item($item), @deltas = $arr->deltas(got => $got, convert => \&convert, seen => \%seen)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Compare::Ref - Ref comparison

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Compare::Regex - Regex direct comparison

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

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

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Compare::Wildcard - Placeholder check.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Env - Documentation for environment variables used or set by Test2.

DESCRIPTION
AUTHOR_TESTING
AUTOMATED_TESTING
EXTENDED_TESTING
HARNESS_ACTIVE
NONINTERACTIVE_TESTING
RELEASE_TESTING
T2_FORMATTER
T2_IN_PRELOAD
TABLE_TERM_SIZE
TEST2_ACTIVE
TEST2_ENABLE_PLUGINS
TEST_ACTIVE
TS_MAX_DELTA
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event - Base class for events

DESCRIPTION
SYNOPSIS
METHODS
    GENERAL
        $trace = $e->trace, $bool_or_undef = $e->related($e2), $e->add_amnesty({tag => $TAG, details => $DETAILS});, $uuid = $e->uuid, $class = $e->load_facet($name), @classes = $e->FACET_TYPES(), @classes = Test2::Event->FACET_TYPES()

    NEW API
        $hashref = $e->common_facet_data();, $hashref = $e->facet_data(), $hashref = $e->facets(), @errors = $e->validate_facet_data();, @errors = $e->validate_facet_data(%params);, @errors = $e->validate_facet_data(\%facets, %params);, @errors = Test2::Event->validate_facet_data(%params);, @errors = Test2::Event->validate_facet_data(\%facets, %params);, require_facet_class => $BOOL, about => {...}, assert => {...}, control => {...}, meta => {...}, parent => {...}, plan => {...}, trace => {...}, amnesty => [{...}, ...], errors => [{...}, ...], info => [{...}, ...]

    LEGACY API
        $bool = $e->causes_fail, $bool = $e->increments_count, $e->callback($hub), $num = $e->nested, $bool = $e->global, $code = $e->terminate, $msg = $e->summary, ($count, $directive, $reason) = $e->sets_plan(), $bool = $e->diagnostics, $bool = $e->no_display, $id = $e->in_subtest, $id = $e->subtest_id

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Bail - Bailout!

DESCRIPTION
SYNOPSIS
METHODS
    $reason = $e->reason

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Diag - Diag event type

DESCRIPTION
SYNOPSIS
ACCESSORS
    $diag->message

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Encoding - Set the encoding for the output stream

DESCRIPTION
SYNOPSIS
METHODS
    $encoding = $e->encoding

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Exception - Exception event

DESCRIPTION
SYNOPSIS
METHODS
    $reason = $e->error

CAVEATS
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Fail - Event for a simple failed assertion

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Generic - Generic event type.

DESCRIPTION
SYNOPSIS
METHODS
    $e->facet_data($data), $data = $e->facet_data, $e->callback($hub), $e->set_callback(sub { ... }), $bool = $e->causes_fail, $e->set_causes_fail($bool), $bool = $e->diagnostics, $e->set_diagnostics($bool), $bool_or_undef = $e->global, @bool_or_empty = $e->global, $e->set_global($bool_or_undef), $bool = $e->increments_count, $e->set_increments_count($bool), $bool = $e->no_display, $e->set_no_display($bool), @plan = $e->sets_plan, $e->set_sets_plan(\@plan), $summary = $e->summary, $e->set_summary($summary_or_undef), $int_or_undef = $e->terminate, @int_or_empty = $e->terminate, $e->set_terminate($int_or_undef)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Note - Note event type

DESCRIPTION
SYNOPSIS
ACCESSORS
    $note->message

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Ok - Ok event type

DESCRIPTION
SYNOPSIS
ACCESSORS
    $rb = $e->pass, $name = $e->name, $b = $e->effective_pass

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Pass - Event for a simple passing assertion

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Plan - The event of a plan

DESCRIPTION
SYNOPSIS
ACCESSORS
    $num = $plan->max, $dir = $plan->directive, $reason = $plan->reason

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Skip - Skip event type

DESCRIPTION
SYNOPSIS
ACCESSORS
    $reason = $e->reason

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Subtest - Event for subtest types

DESCRIPTION
ACCESSORS
    $arrayref = $e->subevents, $bool = $e->buffered

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::TAP::Version - Event for TAP version.

DESCRIPTION
SYNOPSIS
METHODS
    $version = $e->version

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::V2 - Second generation event.

DESCRIPTION
SYNOPSIS
    USING A CONTEXT
    USING THE CONSTRUCTOR

METHODS
    $fd = $e->facet_data(), $about = $e->about(), $trace = $e->trace()

    MUTATION
        $e->add_amnesty({...}), $e->add_hub({...}), $e->set_uuid($UUID), $e->set_trace($trace)

    LEGACY SUPPORT METHODS
        causes_fail, diagnostics, global, increments_count, no_display, sets_plan, subtest_id, summary, terminate

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Event::Waiting - Tell all procs/threads it is time to be done

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet - Base class for all event facets.

DESCRIPTION
METHODS
    $key = $facet_class->facet_key(), $bool = $facet_class->is_list(), $clone = $facet->clone(), $clone = $facet->clone(%replace)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::About - Facet with event details.

DESCRIPTION
FIELDS
    $string = $about->{details}, $string = $about->details(), $package = $about->{package}, $package = $about->package(), $bool = $about->{no_display}, $bool = $about->no_display(), $uuid = $about->{uuid}, $uuid = $about->uuid(), $uuid = $about->{eid}, $uuid = $about->eid()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Amnesty - Facet for assertion amnesty.

DESCRIPTION
NOTES
FIELDS
    $string = $amnesty->{details}, $string = $amnesty->details(), $short_string = $amnesty->{tag}, $short_string = $amnesty->tag(), $bool = $amnesty->{inherited}, $bool = $amnesty->inherited()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Assert - Facet representing an assertion.

DESCRIPTION
FIELDS
    $string = $assert->{details}, $string = $assert->details(), $bool = $assert->{pass}, $bool = $assert->pass(), $bool = $assert->{no_debug}, $bool = $assert->no_debug(), $int = $assert->{number}, $int = $assert->number()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Control - Facet for hub actions and behaviors.

DESCRIPTION
FIELDS
    $string = $control->{details}, $string = $control->details(), $bool = $control->{global}, $bool = $control->global(), $exit = $control->{terminate}, $exit = $control->terminate(), $bool = $control->{halt}, $bool = $control->halt(), $bool = $control->{has_callback}, $bool = $control->has_callback(), $encoding = $control->{encoding}, $encoding = $control->encoding(), $phase = $control->{phase}, $phase = $control->phase()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Error - Facet for errors that need to be shown.

DESCRIPTION
NOTES
FIELDS
    $string = $error->{details}, $string = $error->details(), $short_string = $error->{tag}, $short_string = $error->tag(), $bool = $error->{fail}, $bool = $error->fail()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Hub - Facet for the hubs an event passes through.

DESCRIPTION
FACET FIELDS
    $string = $trace->{details}, $string = $trace->details(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Info - Facet for information a developer might care about.

DESCRIPTION
NOTES
FIELDS
    $string_or_structure = $info->{details}, $string_or_structure = $info->details(), $structure = $info->{table}, $structure = $info->table(), $short_string = $info->{tag}, $short_string = $info->tag(), $bool = $info->{debug}, $bool = $info->debug(), $bool = $info->{important}, $bool = $info->important

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Info::Table - Intermediary representation of a table.

DESCRIPTION
SYNOPSIS
ATTRIBUTES
    $header_aref = $t->header(), $rows_aref = $t->rows(), $bool = $t->collapse(), $aref = $t->no_collapse(), $str = $t->as_string(), $href = $t->as_hash(), %args = $t->info_args()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Meta - Facet for meta-data

DESCRIPTION
METHODS AND FIELDS
    $anything = $meta->{anything}, $anything = $meta->anything()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Parent - Facet for events contains other events

DESCRIPTION
FIELDS
    $string = $parent->{details}, $string = $parent->details(), $hid = $parent->{hid}, $hid = $parent->hid(), $arrayref = $parent->{children}, $arrayref = $parent->children(), $bool = $parent->{buffered}, $bool = $parent->buffered()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Plan - Facet for setting the plan

DESCRIPTION
FIELDS
    $string = $plan->{details}, $string = $plan->details(), $positive_int = $plan->{count}, $positive_int = $plan->count(), $bool = $plan->{skip}, $bool = $plan->skip(), $bool = $plan->{none}, $bool = $plan->none()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Render - Facet that dictates how to render an event.

DESCRIPTION
FIELDS
    $string = $render->[#]->{details}, $string = $render->[#]->details(), $string = $render->[#]->{tag}, $string = $render->[#]->tag(), $string = $render->[#]->{facet}, $string = $render->[#]->facet(), $mode = $render->[#]->{mode}, $mode = $render->[#]->mode(), calculated, replace

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::EventFacet::Trace - Debug information for events

DESCRIPTION
SYNOPSIS
FACET FIELDS
    $string = $trace->{details}, $string = $trace->details(), $frame = $trace->{frame}, $frame = $trace->frame(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $id = $trace->{cid}, $id = $trace->cid(), $uuid = $trace->{uuid}, $uuid = $trace->uuid(), ($pkg, $file, $line, $subname) = $trace->call, @caller = $trace->full_call, $warning_bits = $trace->warning_bits

    DISCOURAGED HUB RELATED FIELDS
        $hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered()

METHODS
    $trace->set_detail($msg), $msg = $trace->detail, $str = $trace->debug, $trace->alert($MESSAGE), $trace->throw($MESSAGE), ($package, $file, $line, $subname) = $trace->call(), $pkg = $trace->package, $file = $trace->file, $line = $trace->line, $subname = $trace->subname, $sig = trace->signature

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Formatter - Namespace for formatters.

DESCRIPTION
CREATING FORMATTERS
    The number of tests that were planned, The number of tests actually seen, The number of tests which failed, A boolean indicating whether or not the test suite passed, A boolean indicating whether or not this call is for a subtest

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Formatter::TAP - Standard TAP formatter

DESCRIPTION
SYNOPSIS
METHODS
    $bool = $tap->no_numbers, $tap->set_no_numbers($bool), $arrayref = $tap->handles, $tap->set_handles(\@handles);, $encoding = $tap->encoding, $tap->encoding($encoding), $tap->write($e, $num)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

  Test2::Handle - Base class for Test2 handles used in V# bundles.

DESCRIPTION
SYNOPSIS
    RECOMMENDED
    WITHOUT SUGAR

METHODS
    $base = $class_or_inst->DEFAULT_HANDLE_BASE, $base = $inst->HANDLE_BASE, $namespace = $inst->HANDLE_NAMESPACE, @sub_names = $inst->HANDLE_SUBS, $inst->HANDLE_INCLUDE($package, @subs), $inst = $class->import(), $inst->init(), AUTOLOAD

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Hub - The conduit through which all events flow.

SYNOPSIS
DESCRIPTION
COMMON TASKS
    SENDING EVENTS
    ALTERING OR REMOVING EVENTS
    LISTENING FOR EVENTS
    POST-TEST BEHAVIORS
    SETTING THE FORMATTER

METHODS
    $hub->send($event), $hub->process($event), $old = $hub->format($formatter), $sub = $hub->listen(sub { ... }, %optional_params), $hub->unlisten($sub), $sub = $hub->filter(sub { ... }, %optional_params), $sub = $hub->pre_filter(sub { ... }, %optional_params), $hub->unfilter($sub), $hub->pre_unfilter($sub), $hub->follow_up(sub { ... }), $sub = $hub->add_context_acquire(sub { ... });, $hub->remove_context_acquire($sub);, $sub = $hub->add_context_init(sub { ... });, $hub->remove_context_init($sub);, $sub = $hub->add_context_release(sub { ... });, $hub->remove_context_release($sub);, $hub->cull(), $pid = $hub->pid(), $tid = $hub->tid(), $hud = $hub->hid(), $uuid = $hub->uuid(), $ipc = $hub->ipc(), $hub->set_no_ending($bool), $bool = $hub->no_ending, $bool = $hub->active, $hub->set_active($bool)

    STATE METHODS
        $hub->reset_state(), $num = $hub->count, $num = $hub->failed, $bool = $hub->ended, $bool = $hub->is_passing, $hub->is_passing($bool), $hub->plan($plan), $plan = $hub->plan, $bool = $hub->check_plan

THIRD PARTY META-DATA
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Hub::Interceptor - Hub used by interceptor to grab results.

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Hub::Interceptor::Terminator - Exception class used by Test2::Hub::Interceptor

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Hub::Subtest - Hub used by subtests

DESCRIPTION
TOGGLES
    $bool = $hub->manual_skip_all, $hub->set_manual_skip_all($bool)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::IPC - Turn on IPC for threading or forking support.

SYNOPSIS
    DISABLING IT

EXPORTS
    cull()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::IPC::Driver - Base class for Test2 IPC drivers.

SYNOPSIS
METHODS
    $self->abort($msg), $self->abort_trace($msg)

LOADING DRIVERS
WRITING DRIVERS
    METHODS SUBCLASSES MUST IMPLEMENT
        $ipc->is_viable, $ipc->add_hub($hid), $ipc->drop_hub($hid), $ipc->send($hid, $event);, $ipc->send($hid, $event, $global);, @events = $ipc->cull($hid), $ipc->waiting()

    METHODS SUBCLASSES MAY IMPLEMENT OR OVERRIDE
        $ipc->driver_abort($msg)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::IPC::Driver::Files - Temp dir + Files concurrency model.

DESCRIPTION
SYNOPSIS
ENVIRONMENT VARIABLES
    T2_KEEP_TEMPDIR=0, T2_TEMPDIR_TEMPLATE='test2-XXXXXX'

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual - Documentation hub for Test2 and Test2-Suite.

DESCRIPTION
WRITING TESTS
WRITING TOOLS
GUTS AND INNER WORKINGS
A NOTE ON CONCURRENCY (SUPPORT FOR FORKING AND THREADING)
CONTRIBUTING
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy - The hub for documentation of the inner workings of Test2 components.

DESCRIPTION
END TO END
EVENTS
THE CONTEXT
THE API AND THE API INSTANCE
HUBS
THE IPC SYSTEM
INTERNAL UTILITIES
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy::API - Internals documentation for the API.

DESCRIPTION
IMPLEMENTATION DETAILS
    Test2::API
    Test2::API::Instance

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy::Context - Internals documentation for the Context objects.

DESCRIPTION
WHAT IS THE CONTEXT OBJECT?
    PRIMARY INTERFACE FOR TEST TOOLS
    TRACK FILE AND LINE NUMBERS FOR ERROR REPORTING
    PRESERVE $?, $!, $^E AND $@
    FINALIZE THE API STATE
    FIND/CREATE THE CURRENT/ROOT HUB
    PROVIDE HOOKS

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy::EndToEnd - Overview of Test2 from load to finish.

DESCRIPTION
WHAT HAPPENS WHEN I LOAD THE API?
    A singleton instance of Test2::API::Instance is created, Several API functions are defined that use the singleton instance, Then what?

WHAT HAPPENS WHEN I USE A TOOL?
    A tool function is run, The tool acquires a context object, The tool uses the context object to create, send, and return events, When done the tool MUST release the context, The tool returns

WHAT HAPPENS WHEN I ACQUIRE A CONTEXT?
    $!, $@, $? and $^E are captured and preserved, The API state is changed to 'loaded', The current hub is found, Context acquire hooks fire, Any existing context is found, Stack depth is measured, A new context is created (if no existing context was found), Context init hooks fire (if no existing context was found), $!, $@, $?, and $^E are restored, The context is returned

WHAT HAPPENS WHEN I SEND AN EVENT?
    The Test2::Event::Ok module is loaded, A new instance of Test2::Event::Ok is created, The event object is sent to the hub, The hub runs the event through any filters, The global test state is updated to reflect the event, The event is sent to the formatter, The event is sent to all listeners

WHAT HAPPENS WHEN I RELEASE A CONTEXT?
    The current context clone is released, If this was the canonical context, it will actually release, Release hooks are called, The context is cleared, $!, $@, $?, and $^E are restored

WHAT HAPPENS WHEN I USE done_testing()?
    Any pending IPC events will be culled, Follow-up hooks are run, The final plan event is generated and processed, The current hub is finalized

WHAT HAPPENS WHEN A TEST SCRIPT IS DONE?
    API Versions are checked, Any remaining context objects are cleaned up, Child processes are sent a 'waiting' event, The script will wait for all child processes and/or threads to complete, The hub stack is cleaned up, The root hub is finalized, Exit callbacks are called, The scripts exit value ($?) is set, Broken module diagnostics

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy::Event - The internals of events

DESCRIPTION
HISTORY
THE EVENT OBJECT
THE FACET API
    assert => {details => $name, pass => $bool, no_debug => $bool, number => $maybe_int}, about => {details => $string, no_display => $bool, package => $pkg}, amnesty => [{details => $string, tag => $short_string, inherited => $bool}], control => {details => $string, global => $bool, terminate => $maybe_int, halt => $bool, has_callback => $bool, encoding => $enc}, errors => [{details => $string, tag => $short_string, fail => $bool}], info => [{details => $string, tag => $short_string, debug => $bool, important => $bool}], parent => {details => $string, hid => $hid, children => [...], buffered => 1}, plan => {details => $string, count => $int, skip => $bool, none => $bool}, trace => {details => $string, frame => [$pkg, $file, $line, $sub], pid => $int, tid => $int, cid => $cid, hid => $hid, nested => $int, buffered => $bool}

    CUSTOM FACETS
        $string = $facet_class->facet_key, $bool = $facet_class->is_list

THE OLD API
    $bool = $e->causes_fail, $bool = $e->increments_count, $e->callback($hub), $num = $e->nested, $bool = $e->global, $code = $e->terminate, $msg = $e->summary, ($count, $directive, $reason) = $e->sets_plan(), $bool = $e->diagnostics, $bool = $e->no_display

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy::Hubs - Internals documentation for the hub stack, and hubs.

DESCRIPTION
WHAT IS A HUB?
WHY DO WE HAVE A HUB STACK?
    subtests, testing your test tools

WHEN SHOULD I ADD A HUB TO THE STACK?
WHERE IS THE STACK?
WHAT ABOUT THE ROOT HUB?
HOW DO HUBS HANDLE IPC?
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy::IPC - Manual for the IPC system.

DESCRIPTION
WHAT IS THE IPC SYSTEM
HOW DOES THE IPC SYSTEM AFFECT EVERYTHING?
WHAT DOES AN IPC DRIVER DO?
HOW DOES THE DEFAULT IPC DRIVER WORK?
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Anatomy::Utilities - Overview of utilities for Test2.

DESCRIPTION
Test2::Util
Test2::Util::ExternalMeta
Test2::Util::Facets2Legacy
Test2::Util::HashBase
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Concurrency - Documentation for Concurrency support.

FORKING
    Test2
    Test::Builder
    Test2::Suite
    Test::SharedFork
    Others

THREADING
    Test2
    Test::Builder
    Test2::Suite

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Contributing - How to contribute to the Test2 project.

DESCRIPTION
WAYS TO HELP
    REPORT BUGS
        Test2/Test-Builder/Test-More/test-more, Test2-Harness

    SUBMIT PATCHES
    ADD/UPDATE DOCUMENTATION
    ANSWER QUESTIONS ON IRC/SLACK
    WRITE NEW TOOLS USING TEST2
    PORT OLD TOOLS TO TEST2

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Testing - Hub for documentation about writing tests with Test2.

DESCRIPTION

  Test2::Manual::Testing, When writing tests there are a couple namespaces to focus on:
Test2::Tools::*, Test2::Plugins::*, Test2::Bundle::*, Test2::Require::*

LISTING DEPENDENCIES
TUTORIALS
    SIMPLE/INTRODUCTION TUTORIAL
    MIGRATING FROM TEST::BUILDER and TEST::MORE
    ADVANCED PLANNING
    TODO TESTS
    SUBTESTS
    COMPARISONS
    TESTING EXPORTERS
    TESTING CLASSES
    TRAPPING
    DEFERRED TESTING
    MANAGING ENCODINGS
    AUTO-ABORT ON FAILURE
    CONTROLLING RANDOM BEHAVIOR
    WRITING YOUR OWN BUNDLE

TOOLSET DOCUMENTATION
PLUGIN DOCUMENTATION
BUNDLE DOCUMENTATION
REQUIRE DOCUMENTATION
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Testing::Introduction - Introduction to testing with Test2.

DESCRIPTION
BOILERPLATE
    THE TEST FILE
        use Test2::V1 -ipP;, done_testing;

    DIST CONFIG

MAKING ASSERTIONS
RUNNING THE TEST
    RUN DIRECTLY
    USING YATH
    USING PROVE

THE "PLAN"
    done_testing(), T2->done_testing(), plan($COUNT), T2->plan($COUNT)

ADDITIONAL ASSERTION TOOLS
    is($a, $b, $description), T2->is($a, $b, $description), like($a, $b, $description), T2->like($a, $b, $description)

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Testing::Migrating - How to migrate existing tests from Test::More to Test2.

DESCRIPTION
LEGACY TEST
BOILERPLATE
    Replace Test::More with Test2::V1, NOTE: srand, Stop using use_ok(), Stop using require_ok(), (optional) remove strict/warnings, Change where the plan is set

SIMPLE ASSERTIONS
TODO
    todo $reason => sub { ... }, { my $TODO = todo $reason; ... }

DEEP COMPARISONS
COMPARING REFERENCES
TOOLS THAT ARE GONE
TOOLS THAT HAVE CHANGED
FINAL VERSION
    IMPORTS
    REDUCED BOILERPLATE
    CLEAN NAMESPACE

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Testing::Planning - The many ways to set a plan.

DESCRIPTION
TEST COUNT
DONE TESTING
SKIP ALL
CUSTOM PLAN EVENT
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Testing::Todo - Tutorial for marking tests as TODO.

DESCRIPTION
THE TOOL
    TODO BLOCK
    TODO VARIABLE

MANUAL TODO EVENTS
HOW THE TODO TOOLS WORK UNDER THE HOOD
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling - Manual page for tool authors.

DESCRIPTION
TOOL TUTORIALS
    FIRST TOOL
    MOVING FROM Test::Builder
    NESTING TOOLS
    TOOLS WITH SUBTESTS
    TESTING YOUR TEST TOOLS

PLUGIN TUTORIALS
    TAKING ACTION WHEN A NEW TOOL STARTS
    TAKING ACTION AFTER A TOOL IS DONE
    TAKING ACTION AT THE END OF TESTING
    TAKING ACTION JUST BEFORE EXIT

WRITING A SIMPLE JSONL FORMATTER
WHERE TO FIND HOOKS AND APIS
    global API, In hubs

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::FirstTool - Write your first tool with Test2.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
    sub ok($;$@) {, my ($bool, $name, @diag) = @_;, my $ctx = context();, return $ctx->pass_and_release($name) if $bool;, return $ctx->fail_and_release($name, @diag);

CONTEXT OBJECT DOCUMENTATION
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Formatter - How to write a custom formatter, in our case a JSONL formatter.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
    use base qw/Test2::Formatter/;, sub new { bless {}, shift }, sub encoding {};, sub write { ... }, my ($self, $e, $num, $f) = @_;, $self, $e, $num, $f, $f ||= $e->facet_data;, print encode_json($f), "\n";

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Nesting - Tutorial for using other tools within your own.

DESCRIPTION
NAIVE WAY
    WHAT'S WRONG WITH IT?
    HOW TO FIX IT

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Plugin::TestExit - How to safely add pre-exit behaviors.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
    use Test2::API qw{test2_add_callback_exit};, test2_add_callback_exit(sub { ... });, my ($ctx, $orig_code, $new_exit_code_ref) = @_, return if $orig_code == 42, $$new_exit_code_ref = 42

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Plugin::TestingDone - Run code when the test file is finished, or when done_testing is called.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
    use Test2::API qw{test2_add_callback_testing_done};, test2_add_callback_testing_done(sub { ... });, ok(!$some_global, '$some_global was not set'), print "The test file is done, or done_testing was just called\n"

UNDER THE HOOD
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Plugin::ToolCompletes - How to add behaviors that occur when a tool completes work.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
    use Test2::API qw{test2_add_callback_context_release};, test2_add_callback_context_release(sub { ... }), my $ctx_ref = shift, print "Context was released\n"

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Plugin::ToolStarts - How to add behaviors that occur when a tool starts work.

DESCRIPTION
COMPLETE CODE UP FRONT
LINE BY LINE
    use Test2::API qw{test2_add_callback_context_init test2_add_callback_context_acquire};, test2_add_callback_context_acquire(sub { ... }), my $params_ref = shift, print "A tool has requested the context\n", test2_add_callback_context_init(sub { ... }), my $ctx_ref = shift, print "A new context was created\n"

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Subtest - How to implement a tool that makes use of subtests.

DESCRIPTION
WHICH TYPE OF SUBTEST DO I NEED?
    SUBTEST WITH USER SUPPLIED CODEREF
        @args, \%params, buffered => $bool, inherit_trace => $bool, no_fork => $bool

    SUBTEST WITH TOOL-SIDE CODEREF

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::TestBuilder - This section maps Test::Builder methods to Test2 concepts.

DESCRIPTION
CONTEXT
TEST BUILDER METHODS
    $tb->BAIL_OUT($reason), $tb->diag($string), $tb->note($string), $tb->done_testing, $tb->like, $tb->unlike, $tb->ok($bool, $name), $tb->subtest, $tb->todo_start, $tb->todo_end, $tb->output, $tb->failure_output, and $tb->todo_output

LEVEL
TODO
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Manual::Tooling::Testing - Tutorial on how to test your testing tools.

DESCRIPTION
THE HOLY GRAIL OF TESTING YOUR TOOLS
ADDITIONAL HELPERS
    Test2::Tools::Tester
    Test2::Tools::HarnessTester
    Test2::Tools::Compare
        event $TYPE => .., fail_events $TYPE => ..

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Mock - Module for managing mocked classes and instances.

DESCRIPTION
SYNOPSIS
CONSTRUCTION
METHODS
    $mock = Test2::Mock->new(class => $CLASS, ...), $mock->track($bool), $hashref = $mock->sub_tracking, $arrayref = $mock->call_tracking, $mock->clear_sub_tracking(), $mock->clear_sub_tracking(\@subnames), $mock->clear_call_tracking(), $mock->add('symbol' => ..., 'symbol2' => ...), $mock->override('symbol1' => ..., 'symbol2' => ...), $mock->set('symbol1' => ..., 'symbol2' => ...), $mock->restore($SYMBOL), $mock->reset($SYMBOL), $mock->orig($SYMBOL), $mock->current($SYMBOL), $mock->reset_all, $mock->add_constructor($NAME => $TYPE), $mock->override_constructor($NAME => $TYPE), $mock->before($NAME, sub { ... }), $mock->after($NAME, sub { ... }), $mock->around($NAME, sub { ... }), $mock->autoload, $mock->block_load, $pm_file = $mock->file, $bool = $mock->purge_on_destroy($bool), $stash = $mock->stash, $class = $mock->class, $p = $mock->parent, $c = $mock->child

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Plugin - Documentation for plugins

DESCRIPTION
FAQ Should I subclass Test2::Plugin?

HOW DO I WRITE A PLUGIN?
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Plugin::BailOnFail - Automatically bail out of testing on the first test failure.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Plugin::DieOnFail - Automatically die on the first test failure.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Plugin::ExitSummary - Add extra diagnostics on failure at the end of the test.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Plugin::SRand - Control the random seed for more controlled test environments.

DESCRIPTION
SYNOPSIS
NOTE ON LOAD ORDER
CAVEATS
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Plugin::Times - Output timing data at the end of the test.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Plugin::UTF8 - Test2 plugin to test with utf8.

DESCRIPTION
SYNOPSIS
import options
    encoding_only

NOTES
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require - Base class and documentation for skip-unless type test packages.

DESCRIPTION
HOW DO I WRITE A 'REQUIRE' MODULE?
    AS A SUBCLASS
    STAND-ALONE

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::AuthorTesting - Only run a test when the AUTHOR_TESTING environment variable is set.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::AutomatedTesting - Only run a test when the AUTOMATED_TESTING environment variable is set.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::EnvVar - Only run a test when a specific environment variable is set.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::ExtendedTesting - Only run a test when the EXTENDED_TESTING environment variable is set.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::Fork - Skip a test file unless the system supports forking

DESCRIPTION
SYNOPSIS
EXPLANATION
SEE ALSO
    Test2::Require::RealFork, Test2::Require::Threads

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::Module - Skip tests if certain packages are not installed, or insufficient versions.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::NonInteractiveTesting - Only run a test when the NONINTERACTIVE_TESTING environment variable is set.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::Perl - Skip the test unless the necessary version of Perl is installed.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::RealFork - Skip a test file unless the system supports true forking

DESCRIPTION
SYNOPSIS
SEE ALSO
    Test2::Require::Fork, Test2::Require::Threads

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::ReleaseTesting - Only run a test when the RELEASE_TESTING environment variable is set.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Require::Threads - Skip a test file unless the system supports threading

DESCRIPTION
SYNOPSIS
EXPLANATION
SEE ALSO
    Test2::Require::Fork, Test2

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Suite - Distribution with a rich set of tools built upon the Test2 framework.

DESCRIPTION
    WHAT ARE TOOLS, PLUGINS, AND BUNDLES?
        TOOLS, PLUGINS, BUNDLES

INCLUDED BUNDLES
    Test2::V#, Extended, More, Simple

INCLUDED TOOLS
    Basic, Compare, ClassicCompare, Class, Defer, Encoding, Exports, Mock, Ref, Spec, Subtest, Target

INCLUDED PLUGINS
    BailOnFail, DieOnFail, ExitSummary, SRand, UTF8

INCLUDED REQUIREMENT CHECKERS
    AuthorTesting, EnvVar, Fork, RealFork, Module, Perl, Threads

SEE ALSO
CONTACTING US
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Todo - TODO extension for Test2.

DESCRIPTION
SYNOPSIS
CONSTRUCTION OPTIONS
    reason (required), hub (optional)

INSTANCE METHODS
    $todo->end

CLASS METHODS
    $count = Test2::Todo->hub_in_todo($hub)

OTHER NOTES
    How it works
    $todo->end is called at destruction
    Can I use multiple instances?

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools - Documentation for Tools.

DESCRIPTION
FAQ Why is it called Test2::Tools, and not Test2::Tool?, Should my tools subclass Test2::Tools?

HOW DO I WRITE A 'TOOLS' MODULE?
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::AsyncSubtest - Tools for writing async subtests.

DESCRIPTION
SYNOPSIS
EXPORTS
    $ast = async_subtest $name, $ast = async_subtest $name => sub { ... }, $ast = async_subtest $name => \%hub_params, sub { ... }, $ast = fork_subtest $name => sub { ... }, $ast = fork_subtest $name => \%hub_params, sub { ... }, $ast = thread_subtest $name => sub { ... }, $ast = thread_subtest $name => \%hub_params, sub { ... }

NOTES
    Async Subtests are always buffered, Do not use done_testing() yourself

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Basic - Test2 implementation of the basic testing tools.

DESCRIPTION
SYNOPSIS
EXPORTS
    PLANNING
        plan($num), plan('tests' => $num), plan('skip_all' => $reason), skip_all($reason), done_testing, bail_out($reason)

    ASSERTIONS
        ok($bool), ok($bool, $name), ok($bool, $name, @diag), pass(), pass($name), fail(), fail($name), fail($name, @diag)

    DIAGNOSTICS
        diag(@messages), note(@messages)

    META
        $todo = todo($reason), todo $reason => sub { ... }, skip($why), skip($why, $count)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Class - Test2 implementation of the tools for testing classes.

DESCRIPTION
SYNOPSIS
EXPORTS
    can_ok($thing, @methods), can_ok($thing, \@methods, $test_name), isa_ok($thing, @classes), isa_ok($thing, \@classes, $test_name), DOES_ok($thing, @roles), DOES_ok($thing, \@roles, $test_name)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::ClassicCompare - Classic (Test::More style) comparison tools.

DESCRIPTION
SYNOPSIS
EXPORTS
    $bool = is($got, $expect), $bool = is($got, $expect, $name), $bool = is($got, $expect, $name, @diag), $bool = isnt($got, $dont_expect), $bool = isnt($got, $dont_expect, $name), $bool = isnt($got, $dont_expect, $name, @diag), $bool = like($got, $pattern), $bool = like($got, $pattern, $name), $bool = like($got, $pattern, $name, @diag), $bool = unlike($got, $pattern), $bool = unlike($got, $pattern, $name), $bool = unlike($got, $pattern, $name, @diag), $bool = is_deeply($got, $expect), $bool = is_deeply($got, $expect, $name), $bool = is_deeply($got, $expect, $name, @diag), cmp_ok($got, $op, $expect), cmp_ok($got, $op, $expect, $name), cmp_ok($got, $op, $expect, $name, @diag), != (num), >= (num), <= (num), > (num), <
     (num), <=> (num), eq  (str), ne  (str), gt  (str), lt    (str), ge  (str),
    le (str), cmp (str), !~ (str), &&, ||, xor, or, and, //, &, |, ~~

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Compare - Tools for comparing deep data structures.

DESCRIPTION
SYNOPSIS
    ADVANCED

COMPARISON TOOLS
    $bool = is($got, $expect), $bool = is($got, $expect, $name), $bool = is($got, $expect, $name, @diag), $bool = isnt($got, $expect), $bool = isnt($got, $expect, $name), $bool = isnt($got, $expect, $name, @diag), $bool = like($got, $expect), $bool = like($got, $expect, $name), $bool = like($got, $expect, $name, @diag), $bool = unlike($got, $expect), $bool = unlike($got, $expect, $name), $bool = unlike($got, $expect, $name, @diag)

    QUICK CHECKS
        $check = T(), $check = F(), $check = D(), $check = U(), $check = DF(), $check = E(), $check = DNE(), $check = FDNE(), $check = L()

    VALUE SPECIFICATIONS
        $check = string "...", $check = !string "...", $check = number ...;, $check = !number ...;, $check = number_lt ...;, $check = number_le ...;, $check = number_ge ...;, $check = number_gt ...;, $check = float ...;, $check = !float ...;, $check = within($num, $tolerance);, $check = !within($num, $tolerance);, $check = rounded($num, $precision);, $check = !rounded($num, $precision);, $check = bool ...;, $check = !bool ...;, $check = check_isa ...;, $check = !check_isa ...;, $check = match qr/.../, $check = !mismatch qr/.../, $check = !match qr/.../, $check = mismatch qr/.../, $check = validator(sub{ ... }), $check = validator($NAME => sub{ ... }), $check = validator($OP, $NAME, sub{ ... }), $check = exact_ref($ref)

    SET BUILDERS
        my $check = check_set($check1, $check2, ...), my $check = in_set($check1, $check2, ...), not_in_set($check1, $check2, ...), check $thing

    HASH BUILDER
        $check = hash { ... }, field $NAME => $VAL, field $NAME => $CHECK, all_keys($CHECK1, $CHECK2, ...), all_vals($CHECK1, $CHECK2, ...), all_values($CHECK1, $CHECK2, ...), end(), etc(), DNE()

    ARRAY BUILDER
        $check = array { ... }, item $VAL, item $CHECK, item $IDX, $VAL, item $IDX, $CHECK, filter_items { my @remaining = @_; ...; return @filtered }, all_items($CHECK1, $CHECK2, ...), end(), etc(), DNE()

    BAG BUILDER
        $check = bag { ... }, item $VAL, item $CHECK, all_items($CHECK1, $CHECK2, ...), end(), etc()

    ORDERED SUBSET BUILDER
        $check = subset { ... }, item $VAL, item $CHECK

    META BUILDER
        meta { ... }, meta_check { ... }, prop $NAME => $VAL, prop $NAME => $CHECK, 'blessed', 'reftype', 'isa', 'this', 'size'

    OBJECT BUILDER
        $check = object { ... }, call $METHOD_NAME => $RESULT, call $METHOD_NAME => $CHECK, call [$METHOD_NAME, @METHOD_ARGS] => $RESULT, call [$METHOD_NAME, @METHOD_ARGS] => $CHECK, call sub { ... }, $RESULT, call sub { ... }, $CHECK, call_list $METHOD_NAME => $RESULT, call_list $METHOD_NAME => $CHECK, call_list [$METHOD_NAME, @METHOD_ARGS] => $RESULT, call_list [$METHOD_NAME, @METHOD_ARGS] => $CHECK, call_list sub { ... }, $RESULT, call_list sub { ... }, $CHECK, call_hash $METHOD_NAME => $RESULT, call_hash $METHOD_NAME => $CHECK, call_hash [$METHOD_NAME, @METHOD_ARGS] => $RESULT, call_hash [$METHOD_NAME, @METHOD_ARGS] => $CHECK, call_hash sub { ... }, $RESULT, call_hash sub { ... }, $CHECK, field $NAME => $VAL, item $VAL, item $IDX, $VAL, prop $NAME => $VAL, prop $NAME => $CHECK, 'blessed', 'reftype', 'isa', 'this', 'size', DNE(), end(), etc()

    EVENT BUILDERS
        $check = event $TYPE;, $check = event $TYPE => sub { ... };, $check = event $TYPE => { ... };, 'file', 'line', 'package', 'subname', 'skip', 'todo', 'trace', 'tid', 'pid', @checks = fail_events $TYPE;, @checks = fail_events $TYPE => sub { ... };, @checks = fail_events $TYPE => { ... };

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Defer - Write tests that get executed at a later time

DESCRIPTION
SYNOPSIS
EXPORTS
    def function => @args;, do_def()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Encoding - Tools for managing the encoding of Test2 based tests.

DESCRIPTION
SYNOPSIS
EXPORTS
    set_encoding($encoding)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Event - Tools for generating test events.

DESCRIPTION
EXPORTS
    $e = gen_event($TYPE), $e = gen_event($TYPE, %FIELDS), $e = gen_event 'Ok';, $e = gen_event Ok => ( ... ), $e = gen_event '+Test2::Event::Ok' => ( ... )

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Exception - Test2 based tools for checking exceptions

DESCRIPTION
SYNOPSIS
EXPORTS
    $e = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }, $bool = try_ok { ... } "Test Description"

DIFFERENCES FROM TEST::FATAL
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Exports - Tools for validating exporters.

DESCRIPTION
SYNOPSIS
EXPORTS
    imported_ok(@SYMBOLS), not_imported_ok(@SYMBOLS)

CAVEATS
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::GenTemp - Tool for generating a populated temp directory.

DESCRIPTION
SYNOPSIS
EXPORTS
    gen_temp(file => 'content', subdir => [ sub_dir_file => 'content', ...], ...), gen_temp(-tempdir => \@TEMPDIR_ARGS, file => 'content', subdir => [ sub_dir_file => 'content', ...], ...)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Grab - Temporarily intercept all events without adding a scope level.

DESCRIPTION
SYNOPSIS
EXPORTS
    $grab = grab()

SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Mock - Class/Instance mocking for Test2.

DESCRIPTION
SYNOPSIS
EXPORTS
    DEFAULT
        mock, @mocks = mocked($object), @mocks = mocked($class), $mock = mock $class => ( ... );, $mock = mock $instance => ( ... ), $mock = mock 'class', $class => ( ... ), $obj = mock(), $obj = mock { ... }, $obj = mock 'obj', ...;, mock $mock => sub { ... }, mock $method => ( ... )

    BY REQUEST
        $obj = mock_obj( ... ), $obj = mock_obj { ... } => ( ... ), $obj = mock_obj sub { ... }, $obj = mock_obj { ... } => sub { ... }, $mock = mock_class $class => ( ... ), $mock = mock_class $instance => ( ... ), $mock = mock_class ... => sub { ... }, mock_build $mock => sub { ... }, $mock = mock_building(), mock_do $method => $args, $sub = mock_accessor $field, $sub = mock_getter $field, $sub = mock_setter $field, %pairs = mock_accessors(qw/name1 name2 name3/), %pairs = mock_getters(qw/name1 name2 name3/), %pairs = mock_setters(qw/name1 name2 name3/)

MOCK CONTROL OBJECTS
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Ref - Tools for validating references.

DESCRIPTION
SYNOPSIS
EXPORTS
    ref_ok($thing), ref_ok($thing, $type), ref_ok($thing, $type, $name), ref_is($ref1, $ref2, $name), ref_is_not($ref1, $ref2, $name)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Refcount, "Test2::Tools::Refcount" - assert reference counts on objects

SYNOPSIS
DESCRIPTION

FUNCTIONS

is_refcount

is_oneref

refcount

EXAMPLE
BUGS
    Temporaries created on the stack

ACKNOWLEDGEMENTS
AUTHOR

  Test2::Tools::Spec - RSPEC implementation on top of Test2::Workflow

DESCRIPTION
SYNOPSIS
EXPORTS
    NAME, PARAMS, flat => $bool, async => $bool, iso => $bool, todo => $reason, skip => $reason, CODEREF

    ESSENTIALS
        tests NAME => sub { ... }, tests NAME => \%params, sub { ... }, tests($NAME, \%PARAMS, \&CODE), it NAME => sub { ... }, it NAME => \%params, sub { ... }, it($NAME, \%PARAMS, \&CODE), case NAME => sub { ... }, case NAME => \%params, sub { ... }, case($NAME, \%PARAMS, \&CODE), before_each NAME => sub { ... }, before_each NAME => \%params, sub { ... }, before_each($NAME, \%PARAMS, \&CODE), before_case NAME => sub { ... }, before_case NAME => \%params, sub { ... }, before_case($NAME, \%PARAMS, \&CODE), before_all NAME => sub { ... }, before_all NAME => \%params, sub { ... }, before_all($NAME, \%PARAMS, \&CODE), around_each NAME => sub { ... }, around_each NAME => \%params, sub { ... }, around_each($NAME, \%PARAMS, \&CODE), around_case NAME => sub { ... }, around_case NAME => \%params, sub { ... }, around_case($NAME, \%PARAMS, \&CODE), around_all NAME => sub { ... }, around_all NAME => \%params, sub { ... }, around_all($NAME, \%PARAMS, \&CODE), after_each NAME => sub { ... }, after_each NAME => \%params, sub { ... }, after_each($NAME, \%PARAMS, \&CODE), after_case NAME => sub { ... }, after_case NAME => \%params, sub { ... }, after_case($NAME, \%PARAMS, \&CODE), after_all NAME => sub { ... }, after_all NAME => \%params, sub { ... }, after_all($NAME, \%PARAMS, \&CODE)

    SHORTCUTS
        mini NAME => sub { ... }, iso NAME => sub { ... }, miso NAME => sub { ... }, async NAME => sub { ... }, masync NAME => sub { ... }

    CUSTOM ATTRIBUTE DEFAULTS

EXECUTION ORDER
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Subtest - Tools for writing subtests

DESCRIPTION
SYNOPSIS
    BUFFERED
    STREAMED

IMPORTANT NOTE
EXPORTS
    subtest_streamed $name => $sub, subtest_streamed($name, $sub, @args), subtest_streamed $name => \%params, $sub, subtest_streamed($name, \%params, $sub, @args), subtest_buffered $name => $sub, subtest_buffered($name, $sub, @args), subtest_buffered $name => \%params, $sub, subtest_buffered($name, \%params, $sub, @args)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Target - Alias the testing target package.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Tester - Tools to help you test other testing tools.

DESCRIPTION
SYNOPSIS
EXPORTS
    $array_ref = filter $events => $PACKAGE, $array_ref = filter $events => $PACKAGE1, $PACKAGE2, $array_ref = filter $events => qr/match/, $array_ref = filter $events => qr/match/, $PACKAGE, $grouped = group_events($events), $arrayref = facets TYPE => $events

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Tiny - Tiny set of tools for unfortunate souls who cannot use Test2::Suite.

DESCRIPTION
USE Test2::Suite INSTEAD
EXPORTS
    ok($bool, $name), ok($bool, $name, @diag), is($got, $want, $name), is($got, $want, $name, @diag), isnt($got, $do_not_want, $name), isnt($got, $do_not_want, $name, @diag), like($got, $regex, $name), like($got, $regex, $name, @diag), unlike($got, $regex, $name), unlike($got, $regex, $name, @diag), is_deeply($got, $want, $name), is_deeply($got, $want, $name, @diag), diag($msg), note($msg), skip_all($reason), todo $reason => sub { ... }, plan($count), done_testing(), $warnings = warnings { ... }, $exception = exception { ... }, tests $name => sub { ... }, $output = capture { ... }

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Tools::Warnings - Tools to verify warnings.

DESCRIPTION
SYNOPSIS
EXPORTS
    $count = warns { ... }, $warning = warning { ... }, $warnings_ref = warnings { ... }, $bool = no_warnings { ... }

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Transition - Transition notes when upgrading to Test2

DESCRIPTION
THINGS THAT BREAK
    Test::Builder1.5/2 conditionals
    Replacing the Test::Builder singleton
    Directly Accessing Hash Elements
    Subtest indentation

DISTRIBUTIONS THAT BREAK OR NEED TO BE UPGRADED
    WORKS BUT TESTS WILL FAIL
        Test::DBIx::Class::Schema, Device::Chip

    UPGRADE SUGGESTED
        Test::Exception, Data::Peek, circular::require, Test::Module::Used, Test::Moose::More, Test::FITesque, Test::Kit, autouse

    NEED TO UPGRADE
        Test::SharedFork, Test::Builder::Clutch, Test::Dist::VersionSync, Test::Modern, Test::UseAllModules, Test::More::Prefix

    STILL BROKEN
        Test::Aggregate, Test::Wrapper, Test::ParallelSubtest, Test::Pretty, Net::BitTorrent, Test::Group, Test::Flatten, Log::Dispatch::Config::TestLog, Test::Able

MAKE ASSERTIONS -> SEND EVENTS
    LEGACY
    TEST2
        ok($bool, $name), diag(@messages), note(@messages), subtest($name, $code)

WRAP EXISTING TOOLS
    LEGACY
    TEST2

USING UTF8
    LEGACY
    TEST2

AUTHORS, CONTRIBUTORS AND REVIEWERS
    Chad Granum (EXODIST) <exodist@cpan.org>

SOURCE
MAINTAINER
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util - Tools used by Test2 and friends.

DESCRIPTION
EXPORTS
    ($success, $error) = try { ... }, protect { ... }, CAN_FORK, CAN_REALLY_FORK, CAN_THREAD, USE_THREADS, get_tid, my $file = pkg_to_file($package), $string = ipc_separator(), $string = gen_uid(), ($ok, $err) = do_rename($old_name, $new_name), ($ok, $err) = do_unlink($filename)

NOTES && CAVEATS
    Devel::Cover

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

  Test2::Util::ExternalMeta - Allow third party tools to safely attach meta-data to your instances.

DESCRIPTION
SYNOPSIS
WHERE IS THE DATA STORED?
EXPORTS
    $val = $obj->meta($key), $val = $obj->meta($key, $default), $val = $obj->get_meta($key), $val = $obj->delete_meta($key), $obj->set_meta($key, $val)

META-KEY RESTRICTIONS
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Facets2Legacy - Convert facet data to the legacy event API.

DESCRIPTION
SYNOPSIS
    AS METHODS
    AS FUNCTIONS

NOTE ON CYCLES
EXPORTS
    $bool = $e->causes_fail(), $bool = causes_fail($f), $bool = $e->diagnostics(), $bool = diagnostics($f), $bool = $e->global(), $bool = global($f), $bool = $e->increments_count(), $bool = increments_count($f), $bool = $e->no_display(), $bool = no_display($f), ($max, $directive, $reason) = $e->sets_plan(), ($max, $directive, $reason) = sets_plan($f), $id = $e->subtest_id(), $id = subtest_id($f), $string = $e->summary(), $string = summary($f), $undef_or_int = $e->terminate(), $undef_or_int = terminate($f), $uuid = $e->uuid(), $uuid = uuid($f)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Grabber - Object used to temporarily intercept all events.

DESCRIPTION
SYNOPSIS
EXPORTS
    $grab = grab()

METHODS
    $grab = $class->new(), $ar = $grab->flush(), $ar = $grab->events(), $ar = $grab->finish(), $hub = $grab->hub()

ENDING BEHAVIOR
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Guard - Inline copy of Scope::Guard

SEE ALSO
ORIGINAL AUTHOR
    chocolateboy <chocolate@cpan.org>

    INLINE AND MODIFICATION AUTHOR
        Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::HashBase - Build hash based classes.

SYNOPSIS
DESCRIPTION
THIS IS A BUNDLED COPY OF HASHBASE
METHODS
    PROVIDED BY HASH BASE
        $it = $class->new(%PAIRS), $it = $class->new(\%PAIRS), $it = $class->new(\@ORDERED_VALUES)

    HOOKS
        $self->init()

ACCESSORS
    READ/WRITE
        foo(), set_foo(), FOO()

    READ ONLY
        set_foo()

    DEPRECATED SETTER
        set_foo()

    NO SETTER
    NO READER
    CONSTANT ONLY

SUBCLASSING
GETTING A LIST OF ATTRIBUTES FOR A CLASS
    @list = Test2::Util::HashBase::attr_list($class), @list = $class->Test2::Util::HashBase::attr_list()

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Importer - Inline copy of Importer.

DESCRIPTION
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Ref - Tools for inspecting or manipulating references.

DESCRIPTION
EXPORTS
    $type = rtype($ref), $addr_str = render_ref($ref)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

  Test2::Util::Sig - Signal tools used by Test2 and friends.

DESCRIPTION
EXPORTS
    ($ok, $err) = try_sig_mask { ... }, SIGINT, SIGALRM, SIGHUP, SIGTERM, SIGUSR1, SIGUSR2

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

  Test2::Util::Stash - Utilities for manipulating stashes and globs.

DESCRIPTION
EXPORTS
    $stash = get_stash($package), $sym_spec = parse_symbol($symbol), $sym_spec = parse_symbol($symbol, $package), $glob_ref = get_glob($symbol), $glob_ref = get_glob($symbol, $package), $ref = get_symbol($symbol), $ref = get_symbol($symbol, $package), $ref = purge_symbol($symbol), $ref = purge_symbol($symbol, $package), $sig = slot_to_sig($slot), $slot = sig_to_slot($sig)

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Sub - Tools for inspecting and manipulating subs.

DESCRIPTION
EXPORTS
    $name = sub_name(\&sub), my $hr = sub_info(\&code), $info->{ref} => \&code, $info->{cobj} => $cobj, $info->{name} => "Some::Mod::code", $info->{file} => "Some/Mod.pm", $info->{package} => "Some::Mod", $info->{start_line} => 22, $info->{end_line} => 42, $info->{lines} => [22, 42], $info->{all_lines} => [23, 25, ..., 39, 41]

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

  Test2::Util::Table - Format a header and rows into a table

DESCRIPTION
SYNOPSIS
EXPORTS
    @rows = table(...)
        header => [ ... ], rows => [ [...], [...], ... ], collapse => $bool, max_width => $num, sanitize => $bool, mark_tail => $bool

    my $cols = term_size()

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Table::LineBreak - Break up lines for use in tables.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Times - Format timing/benchmark information.

DESCRIPTION
EXPORTS
    $str = render_bench($start, $end, $user, $system, $cuser, $csystem), $str = render_bench($start, time(), times())

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Util::Trace - Legacy wrapper for Test2::EventFacet::Trace.

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::V0 - 0Th edition of the Test2 recommended bundle.

V1 IS OUT NOW!
DESCRIPTION
NAMING, USING, DEPENDING
SYNOPSIS
RESOLVING CONFLICTS WITH MOOSE
    TAGS
        :DEFAULT

    RENAMING ON IMPORT
        '!ok', ok => {-as => 'my_ok'}

PRAGMAS
    STRICT
    WARNINGS
    UTF8

PLUGINS
    SRAND
    UTF8
    EXIT SUMMARY

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

TOOLS
    TARGET
        $CLASS, $class = CLASS()

    DEFER
        def $func => @args;, do_def()

    BASIC
        ok($bool, $name), ok($bool, $name, @diag), pass($name), pass($name, @diag), fail($name), fail($name, @diag), diag($message), note($message), $todo = todo($reason), todo $reason => sub { ... }, skip($reason, $count), plan($count), skip_all($reason), done_testing(), bail_out($reason)

    COMPARE
        is($got, $want, $name), isnt($got, $do_not_want, $name), like($got, qr/match/, $name), unlike($got, qr/mismatch/, $name), $check = match(qr/pattern/), $check = mismatch(qr/pattern/), $check = validator(sub { return $bool }), $check = hash { ... }, $check = array { ... }, $check = bag { ... }, $check = object { ... }, $check = meta { ... }, $check = number($num), $check = string($str), $check = bool($bool), $check = check_isa($class_name), $check = in_set(@things), $check = not_in_set(@things), $check = check_set(@things), $check = item($thing), $check = item($idx => $thing), $check = field($name => $val), $check = call($method => $expect), $check = call_list($method => $expect), $check = call_hash($method => $expect), $check = prop($name => $expect), $check = check($thing), $check = T(), $check = F(), $check = D(), $check = DF(), $check = E(), $check = DNE(), $check = FDNE(), $check = U(), $check = L(), $check = exact_ref($ref), end(), etc(), filter_items { grep { ... } @_ }, $check = event $type => .., @checks = fail_events $type => ..

    CLASSIC COMPARE
        cmp_ok($got, $op, $want, $name)

    SUBTEST
        subtest $name => sub { ... };

    CLASS
        can_ok($thing, @methods), isa_ok($thing, @classes), DOES_ok($thing, @roles)

    ENCODING
        set_encoding($encoding)

    EXPORTS
        imported_ok('function', '$scalar', ...), not_imported_ok('function', '$scalar', ...)

    REF ref_ok($ref, $type), ref_is($got, $want), ref_is_not($got, $do_not_want), is_refcount($ref, $count, $description), is_oneref($ref, $description), $count = refcount($ref)

    MOCK
        $control = mock .., $bool = mocked($thing)

    EXCEPTION
        $exception = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }

    WARNINGS
        $count = warns { ... }, $warning = warning { ... }, $warnings_ref = warnings { ... }, $bool = no_warnings { ... }

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::V1 - V1 edition of the Test2 recommended bundle.

DESCRIPTION
    Key differences from Test2::V0
        Only 1 export by default: T2(), No pragmas by default, srand and utf8 are not enabled by default, Easy to still import everything, East to still enable pragmas

NAMING, USING, DEPENDING
SYNOPSIS
    RECOMMENDED
    WORK LIKE V0 DID
    IMPORT ARGUMENT GUIDE
        "-P" or "-plugins", "-p" or "-pragmas", "-i" or "-import", "-x", "-ipP", "-pPi", "-pP", "-Pix", etc., @EXPORT_LIST, "!EXPORT_NAME", "EXPORT_NAME => { -as => "ALT_NAME" }", "EXPORT_NAME => { -prefix => "PREFIX_" }", "EXPORT_NAME => { -postfix => "_POSTFIX" }"

    RENAMING IMPORTS
        '-import', '!ok', ok => {-as => 'my_ok'}

PRAGMAS AND PLUGINS
    strict, warnings, srand, utf8, summary

ENVIRONMENT VARIABLES
API FUNCTIONS
    $ctx = T2->context(), $events = T2->intercept(sub { ... });

THE T2() HANDLE
    ADDING/OVERRIDING TOOLS IN YOUR T2 HANDLE
    OTHER HANDLE OPTIONS
        include => $ARRAYREF_OR_HASHREF, namespace => $NAMESPACE, stomp => $BOOL, base => $BASE

EXAMPLE USE CASES
    OVERRIDING INCLUDED TOOLS WITH ALTERNATES

TOOLS
    TARGET
        $CLASS, $class = CLASS()

    DEFER
        def $func => @args;, do_def()

    BASIC
        ok($bool, $name), ok($bool, $name, @diag), pass($name), pass($name, @diag), fail($name), fail($name, @diag), diag($message), note($message), $todo = todo($reason), todo $reason => sub { ... }, skip($reason, $count), plan($count), skip_all($reason), done_testing(), bail_out($reason)

    COMPARE
        is($got, $want, $name), isnt($got, $do_not_want, $name), like($got, qr/match/, $name), unlike($got, qr/mismatch/, $name), $check = match(qr/pattern/), $check = mismatch(qr/pattern/), $check = validator(sub { return $bool }), $check = hash { ... }, $check = array { ... }, $check = bag { ... }, $check = object { ... }, $check = meta { ... }, $check = number($num), $check = string($str), $check = bool($bool), $check = check_isa($class_name), $check = in_set(@things), $check = not_in_set(@things), $check = check_set(@things), $check = item($thing), $check = item($idx => $thing), $check = field($name => $val), $check = call($method => $expect), $check = call_list($method => $expect), $check = call_hash($method => $expect), $check = prop($name => $expect), $check = check($thing), $check = T(), $check = F(), $check = D(), $check = DF(), $check = E(), $check = DNE(), $check = FDNE(), $check = U(), $check = L(), $check = exact_ref($ref), end(), etc(), filter_items { grep { ... } @_ }, $check = event $type => .., @checks = fail_events $type => ..

    CLASSIC COMPARE
        cmp_ok($got, $op, $want, $name)

    SUBTEST
        subtest $name => sub { ... };

    CLASS
        can_ok($thing, @methods), isa_ok($thing, @classes), DOES_ok($thing, @roles)

    ENCODING
        set_encoding($encoding)

    EXPORTS
        imported_ok('function', '$scalar', ...), not_imported_ok('function', '$scalar', ...)

    REF ref_ok($ref, $type), ref_is($got, $want), ref_is_not($got, $do_not_want), is_refcount($ref, $count, $description), is_oneref($ref, $description), $count = refcount($ref)

    MOCK
        $control = mock .., $bool = mocked($thing)

    EXCEPTION
        $exception = dies { ... }, $bool = lives { ... }, $bool = try_ok { ... }

    WARNINGS
        $count = warns { ... }, $warning = warning { ... }, $warnings_ref = warnings { ... }, $bool = no_warnings { ... }

JUSTIFICATION
    PROBLEMS WITH V0
        Assumptions of strict/warnings, Assumptions of UTF8, Huge default set of exports, which can grow

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::V1::Base - Base namespace used for Test2::Handle objects created via Test2::V1.

DESCRIPTION
SYNOPSIS
INCLUDED FUNCTIONALITY
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::V1::Handle - V1 subclass of Test2::Handle.

DESCRIPTION
SYNOPSIS
SUBCLASS OVERRIDES
SEE ALSO
SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Workflow - A test workflow is a way of structuring tests using composable units.

DESCRIPTION
IMPORTANT CONCEPTS
    BUILD
    RUNNER
    TASK

EXPORTS
    $parsed = parse_args(args => \@args), $parsed = parse_args(args => \@args, level => $L), $parsed = parse_args(args => \@args, caller => [caller($L)]), $build = init_root($pkg, %args), $build = root_build($pkg), $build = current_build(), $build = build($name, \%params, sub { ... })

SEE ALSO
    Test2::Tools::Spec

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Workflow::BlockBase - Base class for all workflow blocks.

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Workflow::Build - Represents a build in progress.

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Workflow::Runner - Runs the workflows.

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Workflow::Task - Encapsulation of a Task

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Workflow::Task::Action - Encapsulation of an action.

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test2::Workflow::Task::Group - Encapsulation of a group (describe).

SOURCE
MAINTAINERS
    Chad Granum <exodist@cpan.org>

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test::Builder - Backend for building test libraries

SYNOPSIS
DESCRIPTION
    Construction
        new, create, subtest, name, reset

    Setting up tests
        plan, expected_tests, no_plan, done_testing, has_plan, skip_all, exported_to

    Running tests
        ok, is_eq, is_num, isnt_eq, isnt_num, like, unlike, cmp_ok

    Other Testing Methods
        BAIL_OUT, skip, todo_skip, skip_rest

    Test building utility methods
        maybe_regex, is_fh

Test style
    level, use_numbers, no_diag, no_ending, no_header

Output
    diag, note, explain, output, failure_output, todo_output, reset_outputs, carp, croak

Test Status and Info
    no_log_results, current_test, is_passing, summary, details, todo, find_TODO, in_todo, todo_start, "todo_end", caller

EXIT CODES
THREADS
MEMORY
EXAMPLES
SEE ALSO
    INTERNALS
    LEGACY
    EXTERNAL

AUTHORS
MAINTAINERS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test::Builder::Formatter - Test::Builder subclass of Test2::Formatter::TAP

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test::Builder::Module - Base class for test modules

SYNOPSIS
DESCRIPTION
    Importing

Builder

SEE ALSO

  Test::Builder::Tester - test testsuites that have been built with Test::Builder

SYNOPSIS
DESCRIPTION

Functions
    test_out, test_err

test_fail

test_diag

test_test, title (synonym 'name', 'label'), skip_out, skip_err

line_num

color

BUGS
AUTHOR
MAINTAINERS
    Chad Granum <exodist@cpan.org>

NOTES
SEE ALSO

  Test::Builder::Tester::Color - turn on colour in Test::Builder::Tester

SYNOPSIS
DESCRIPTION

AUTHOR
BUGS
SEE ALSO

  Test::Builder::TodoDiag - Test::Builder subclass of Test2::Event::Diag

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

AUTHORS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test::Harness - Run Perl standard test scripts with statistics

VERSION

SYNOPSIS
DESCRIPTION
FUNCTIONS
    runtests( @test_files )

execute_tests( tests => \@test_files, out => \*FH )

EXPORT
ENVIRONMENT VARIABLES THAT TAP::HARNESS::COMPATIBLE SETS
    "HARNESS_ACTIVE", "HARNESS_VERSION"

ENVIRONMENT VARIABLES THAT AFFECT TEST::HARNESS
    "HARNESS_PERL_SWITCHES", "HARNESS_TIMER", "HARNESS_VERBOSE", "HARNESS_OPTIONS", "j<n>", "c", "a<file.tgz>", "fPackage-With-Dashes", "HARNESS_SUBCLASS", "HARNESS_SUMMARY_COLOR_SUCCESS", "HARNESS_SUMMARY_COLOR_FAIL"

Taint Mode
SEE ALSO
BUGS
AUTHORS
LICENCE AND COPYRIGHT

  Test::More - yet another framework for writing test scripts

SYNOPSIS
DESCRIPTION
    I love it when a plan comes together

done_testing

Test names
I'm ok, you're not ok.
    ok

is, isnt

like

unlike

cmp_ok

can_ok

isa_ok

new_ok

subtest

pass, fail

Module tests
    require_ok

use_ok

Complex data structures
    is_deeply

Diagnostics
    diag, note

explain

Conditional tests
    SKIP: BLOCK

TODO: BLOCK, todo_skip

When do I use SKIP vs. TODO?

Test control
    BAIL_OUT

Discouraged comparison functions
    eq_array

eq_hash

eq_set

Extending and Embedding Test::More
    builder

EXIT CODES
COMPATIBILITY
    subtests, done_testing(), cmp_ok(), new_ok() note() and explain()

CAVEATS and NOTES
    UTF-8 / "Wide character in print", Overloaded objects, Threads

HISTORY
SEE ALSO
    ALTERNATIVES
    ADDITIONAL LIBRARIES
    OTHER COMPONENTS
    BUNDLES

ENVIRONMENT VARIABLES
AUTHORS
MAINTAINERS
    Chad Granum <exodist@cpan.org>

BUGS
SOURCE
COPYRIGHT

  Test::Simple - Basic utilities for writing tests.

SYNOPSIS
DESCRIPTION
    ok

EXAMPLE
CAVEATS
NOTES
HISTORY
SEE ALSO
    Test::More

AUTHORS
MAINTAINERS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test::Tester - Ease testing test modules built with Test::Builder

SYNOPSIS
DESCRIPTION
HOW TO USE (THE EASY WAY)
HOW TO USE (THE HARD WAY)
TEST RESULTS
    ok, actual_ok, name, type, reason, diag, depth

SPACES AND TABS
COLOUR
EXPORTED FUNCTIONS
HOW IT WORKS
CAVEATS
SEE ALSO
AUTHOR
LICENSE

  Test::Tester::Capture - Help testing test modules built with Test::Builder

DESCRIPTION
AUTHOR
LICENSE

  Test::Tester::CaptureRunner - Help testing test modules built with Test::Builder

DESCRIPTION
AUTHOR
LICENSE

  Test::Tutorial - A tutorial about writing really basic tests

DESCRIPTION
    Nuts and bolts of testing.
    Where to start?
    Names
    Test the manual
    Sometimes the tests are wrong
    Testing lots of values
    Informative names
    Skipping tests
    Todo tests
    Testing with taint mode.

FOOTNOTES
AUTHORS
MAINTAINERS
    Chad Granum <exodist@cpan.org>

COPYRIGHT

  Test::use::ok - Alternative to Test::More::use_ok

SYNOPSIS
DESCRIPTION
SEE ALSO
MAINTAINER
    Chad Granum <exodist@cpan.org>

CC0 1.0 Universal

  Text::Abbrev - abbrev - create an abbreviation table from a list

SYNOPSIS
DESCRIPTION
EXAMPLE

  Text::Balanced - Extract delimited text sequences from strings.

SYNOPSIS
DESCRIPTION
    General Behaviour in List Contexts
        [0], [1], [2]

    General Behaviour in Scalar and Void Contexts
    A Note About Prefixes
    Functions
        "extract_delimited", "extract_bracketed", "extract_variable", [0], [1], [2], "extract_tagged", "reject => $listref", ignore => $listref, "fail => $str", [0], [1], [2], [3], [4], [5], "gen_extract_tagged", "extract_quotelike", [0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], "extract_quotelike", [0], [1], [2], [3], [4], [5], [6], [7..10], "extract_codeblock", "extract_multiple", "gen_delimited_pat", "delimited_pat"

DIAGNOSTICS
     C<Did not find a suitable bracket: "%s">,  C<Did not find prefix: /%s/>,
    C<Did not find opening bracket after prefix: "%s">,  C<No quotelike
    operator found after prefix: "%s">,  C<Unmatched closing bracket: "%c">,
    C<Unmatched opening bracket(s): "%s">, C<Unmatched embedded quote (%s)>,
    C<Did not find closing delimiter to match '%s'>,  C<Mismatched closing
    bracket: expected "%c" but found "%s">,  C<No block delimiter found after
    quotelike "%s">, C<Did not find leading dereferencer>, C<Bad identifier
    after dereferencer>, C<Did not find expected opening bracket at %s>,
    C<Improperly nested codeblock at %s>,  C<Missing second block for quotelike
    "%s">, C<No match found for opening bracket>, C<Did not find opening tag:
    /%s/>, C<Unable to construct closing tag to match: /%s/>, C<Found invalid
    nested tag: %s>, C<Found unbalanced nested tag: %s>, C<Did not find closing
    tag>

EXPORTS
    Default Exports, Optional Exports, Export Tags, ":ALL"

KNOWN BUGS
FEEDBACK
AVAILABILITY
INSTALLATION
AUTHOR
COPYRIGHT
LICENCE
VERSION
DATE
HISTORY

  Text::ParseWords - parse text into an array of tokens or array of arrays

SYNOPSIS
DESCRIPTION
    true, false, "delimiters"

EXAMPLES
    0, 1, 2, 3, 4, 5

SEE ALSO
AUTHORS
COPYRIGHT AND LICENSE

  Text::Tabs - expand and unexpand tabs like unix expand(1) and unexpand(1)

SYNOPSIS
DESCRIPTION
EXPORTS
    expand, unexpand, $tabstop

EXAMPLE
BUGS
LICENSE

  Text::Wrap - line wrapping to form simple paragraphs

SYNOPSIS
DESCRIPTION
OVERRIDES
EXAMPLES
SEE ALSO
AUTHOR
LICENSE

  Thread - Manipulate threads in Perl (for old code only)

DEPRECATED
HISTORY
SYNOPSIS
DESCRIPTION
FUNCTIONS
    $thread = Thread->new(\&start_sub), $thread = Thread->new(\&start_sub, LIST), lock VARIABLE, async BLOCK;, Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE, cond_broadcast VARIABLE, yield

METHODS
    join, detach, equal, tid, done

DEFUNCT
    lock(\&sub), eval, flags

SEE ALSO

  Thread::Queue - Thread-safe queues

VERSION
SYNOPSIS
DESCRIPTION
    Ordinary scalars, Array refs, Hash refs, Scalar refs, Objects based on the above

QUEUE CREATION
    ->new(), ->new(LIST)

BASIC METHODS
    ->enqueue(LIST), ->dequeue(), ->dequeue(COUNT), ->dequeue_nb(), ->dequeue_nb(COUNT), ->dequeue_timed(TIMEOUT), ->dequeue_timed(TIMEOUT, COUNT), ->pending(), ->limit, ->end()

ADVANCED METHODS
    ->peek(), ->peek(INDEX), ->insert(INDEX, LIST), ->extract(), ->extract(INDEX), ->extract(INDEX, COUNT)

NOTES
LIMITATIONS
SEE ALSO
MAINTAINER
LICENSE

  Thread::Semaphore - Thread-safe semaphores

VERSION
SYNOPSIS
DESCRIPTION
METHODS
    ->new(), ->new(NUMBER), ->down(), ->down(NUMBER), ->down_nb(), ->down_nb(NUMBER), ->down_force(), ->down_force(NUMBER), ->down_timed(TIMEOUT), ->down_timed(TIMEOUT, NUMBER), ->up(), ->up(NUMBER)

NOTES
SEE ALSO
MAINTAINER
LICENSE

  Tie::Array - base class for tied arrays

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

CAVEATS
AUTHOR

  Tie::File - Access the lines of a disk file via a Perl array

SYNOPSIS
DESCRIPTION
    "unicode"
    "recsep"
    "autochomp"
    "mode"
    "memory"
    "dw_size"
    Option Format

Public Methods
    "flock"
    "autochomp"
    "defer", "flush", "discard", and "autodefer"
    "offset"

Tying to an already-opened filehandle
Deferred Writing
    Autodeferring

CONCURRENT ACCESS TO FILES
CAVEATS
SUBCLASSING
WHAT ABOUT "DB_File"?
AUTHOR
LICENSE
WARRANTY
THANKS
TODO

  Tie::Handle - base class definitions for tied handles

SYNOPSIS
DESCRIPTION
    TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this, LIST, PRINTF this, format, LIST, READ this, scalar, length, offset, READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this, EOF this, TELL this, SEEK this, offset, whence, DESTROY this

MORE INFORMATION
COMPATIBILITY

  Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for tied hashes

SYNOPSIS
DESCRIPTION
    TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this, SCALAR this

Inheriting from Tie::StdHash
Inheriting from Tie::ExtraHash
"SCALAR", "UNTIE" and "DESTROY"
MORE INFORMATION

  Tie::Hash::NamedCapture - Named regexp capture buffers

SYNOPSIS
DESCRIPTION
SEE ALSO

  Tie::Memoize - add data to hash when needed

SYNOPSIS
DESCRIPTION
Inheriting from Tie::Memoize
EXAMPLE
BUGS
AUTHOR

  Tie::RefHash - Use references as hash keys

VERSION
SYNOPSIS
DESCRIPTION
EXAMPLE
THREAD SUPPORT
STORABLE SUPPORT
SEE ALSO
SUPPORT
AUTHORS
CONTRIBUTORS
COPYRIGHT AND LICENCE

  Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars

SYNOPSIS
DESCRIPTION
    TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this

    Tie::Scalar vs Tie::StdScalar

MORE INFORMATION

  Tie::StdHandle - base class definitions for tied handles

SYNOPSIS
DESCRIPTION

  Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing

SYNOPSIS
DESCRIPTION
CAVEATS

  Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers

SYNOPSIS
DESCRIPTION
    gettimeofday (), usleep ( $useconds ), nanosleep ( $nanoseconds ), ualarm ( $useconds [, $interval_useconds ] ), tv_interval, time (), sleep ( $floating_seconds ), alarm ( $floating_seconds [, $interval_floating_seconds ] ), setitimer ( $which, $floating_seconds [, $interval_floating_seconds ] ), getitimer ( $which ), clock_gettime ( $which ), clock_getres ( $which ), clock_nanosleep ( $which, $nanoseconds, $flags = 0), clock(), stat, stat FH, stat EXPR, lstat, lstat FH, lstat EXPR, utime LIST

EXAMPLES
C API
DIAGNOSTICS
    useconds or interval more than ...
    negative time not invented yet
    internal error: useconds < 0 (unsigned ... signed ...)
    useconds or uinterval equal to or more than 1000000
    unimplemented in this platform

CAVEATS
SEE ALSO
AUTHORS
COPYRIGHT AND LICENSE

  Time::Local - Efficiently compute time from local and GMT time

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS
    timelocal_posix() and timegm_posix()
    timelocal_modern() and timegm_modern()
    timelocal() and timegm()
    timelocal_nocheck() and timegm_nocheck()
    Year Value Interpretation
    Limits of time_t
    Ambiguous Local Times (DST)
    Non-Existent Local Times (DST)
    Negative Epoch Values

IMPLEMENTATION
AUTHORS EMERITUS
BUGS
SOURCE
AUTHOR
CONTRIBUTORS
COPYRIGHT AND LICENSE

  Time::Piece - Object Oriented time objects

SYNOPSIS
DESCRIPTION
Public Methods
    Time Components
    Date Components
    Day and Month Names
    Formatted Date/Time Output
    Epoch and Calendar Calculations
    Timezone and DST
        0 for GMT/UTC times (they never have DST), 0 or 1 for local times depending on whether DST is active, Automatically calculated if unknown

    Utility Methods
    Global Configuration
    Parsing

Date Calculations
    Adding seconds works on UTC time, so adding 3600 seconds during DST transition from 1:30 AM gives 3:30 AM (not 2:30 AM, which doesn't exist during "spring forward"), Subtracting across DST transitions may differ from wall-clock expectations due to skipped or repeated hours

    Adding Months and Years
        These preserve the day-of-month number, which can cause overflow (Jan 31 + 1 month = Mar 3, since "Feb 31" doesn't exist), Wall-clock time is preserved across DST transitions, Order matters: add_months(1) then + 86400 gives different results than "+ 86400" then add_months(1)

Truncation
Date Comparisons
Date Parsing
    Basic Usage
    Supported Format Flags
    GMT vs Local Time
    Timezone Parsing with %z and %Z
        Offsets are applied to convert to UTC (+0500 means "5 hours ahead of UTC"), Valid range: -1200 to +1400 with minutes less than 60, For local objects ("islocal == 1"), the result is converted to system timezone

    Handling Partial Dates
    Locale Considerations

Global Overriding
CAVEATS
    Setting $ENV{TZ} in Threads on Win32
    Use of epoch seconds

AUTHOR
COPYRIGHT AND LICENSE
SEE ALSO
BUGS
    The test harness leaves much to be desired. Patches welcome, Proper UTF8 support

  Time::Seconds - a simple API to convert seconds to other date values

SYNOPSIS
DESCRIPTION
METHODS
AUTHOR
COPYRIGHT AND LICENSE
Bugs

  Time::gmtime - by-name interface to Perl's built-in gmtime() function

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

  Time::localtime - by-name interface to Perl's built-in localtime() function

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

  Time::tm - internal object used by Time::gmtime and Time::localtime

SYNOPSIS
DESCRIPTION
AUTHOR

  UNIVERSAL - base class for ALL classes (blessed references)

SYNOPSIS
DESCRIPTION
    "$obj->isa( TYPE )", "CLASS->isa( TYPE )", "eval { VAL->isa( TYPE ) }", "TYPE", $obj, "CLASS", "VAL", "$obj->DOES( ROLE )", "CLASS->DOES( ROLE )", "$obj->can( METHOD )", "CLASS->can( METHOD )", "eval { VAL->can( METHOD ) }", "VERSION ( [ REQUIRE ] )"

WARNINGS
EXPORTS

  Unicode::Collate - Unicode Collation Algorithm

SYNOPSIS
DESCRIPTION
    Constructor and Tailoring
        UCA_Version, alternate, backwards, entry, hangul_terminator, highestFFFF, identical, ignoreChar, ignoreName, ignore_level2, katakana_before_hiragana, level, long_contraction, minimalFFFE, normalization, overrideCJK, overrideHangul, overrideOut, preprocess, rearrange, rewrite, suppress, table, undefChar, undefName, upper_before_lower, variable

    Methods for Collation
        "@sorted = $Collator->sort(@not_sorted)", "$result = $Collator->cmp($a, $b)", "$result = $Collator->eq($a, $b)", "$result = $Collator->ne($a, $b)", "$result = $Collator->lt($a, $b)", "$result = $Collator->le($a, $b)", "$result = $Collator->gt($a, $b)", "$result = $Collator->ge($a, $b)", "$sortKey = $Collator->getSortKey($string)", "$sortKeyForm = $Collator->viewSortKey($string)"

    Methods for Searching
        "$position = $Collator->index($string, $substring[, $position])", "($position, $length) = $Collator->index($string, $substring[, $position])", "$match_ref = $Collator->match($string, $substring)", "($match) = $Collator->match($string, $substring)", "@match = $Collator->gmatch($string, $substring)", "$count = $Collator->subst($string, $substring, $replacement)", "$count = $Collator->gsubst($string, $substring, $replacement)"

    Other Methods
        "%old_tailoring = $Collator->change(%new_tailoring)", "$modified_collator = $Collator->change(%new_tailoring)", "$version = $Collator->version()", UCA_Version(), Base_Unicode_Version()

EXPORT
INSTALL
CAVEATS
    Normalization, Conformance Test

AUTHOR, COPYRIGHT AND LICENSE
SEE ALSO
    Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), The conformance test for the UCA, Hangul Syllable Type, Unicode Normalization Forms - UAX #15, Unicode Locale Data Markup Language (LDML) - UTS #35

  Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO
    CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

  Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
    CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

  Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO
    Unicode::Collate, Unicode::Collate::Locale

  Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO
    CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

  Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
    CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

  Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
    CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

  Unicode::Collate::CJK::Zhuyin - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO
    CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

  Unicode::Collate::Locale - Linguistic tailoring for DUCET via Unicode::Collate

SYNOPSIS
DESCRIPTION
    Constructor
    Methods
        "$Collator->getlocale", "$Collator->locale_version"

    A list of tailorable locales
    A list of variant codes and their aliases

INSTALL
CAVEAT
    Tailoring is not maximum, Collation reordering is not supported

    Reference

AUTHOR
SEE ALSO
    Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), Unicode Locale Data Markup Language (LDML) - UTS #35, CLDR - Unicode Common Locale Data Repository, Unicode::Collate, Unicode::Normalize

  Unicode::Normalize - Unicode Normalization Forms

SYNOPSIS
DESCRIPTION
    Normalization Forms
        "$NFD_string = NFD($string)", "$NFC_string = NFC($string)", "$NFKD_string = NFKD($string)", "$NFKC_string = NFKC($string)", "$FCD_string = FCD($string)", "$FCC_string = FCC($string)", "$normalized_string = normalize($form_name, $string)"

    Decomposition and Composition
        "$decomposed_string = decompose($string [, $useCompatMapping])", "$reordered_string = reorder($string)", $composed_string = compose($string), ($processed, $unprocessed) = splitOnLastStarter($normalized), "$processed = normalize_partial($form, $unprocessed)", "$processed = NFD_partial($unprocessed)", $processed = NFC_partial($unprocessed), "$processed = NFKD_partial($unprocessed)", "$processed = NFKC_partial($unprocessed)"

    Quick Check
        "$result = checkNFD($string)", "$result = checkNFC($string)", $result = checkNFKD($string), "$result = checkNFKC($string)", $result = checkFCD($string), "$result = checkFCC($string)", "$result = check($form_name, $string)"

    Character Data
        "$canonical_decomposition = getCanon($code_point)", "$compatibility_decomposition = getCompat($code_point)", "$code_point_composite = getComposite($code_point_here, $code_point_next)", "$combining_class = getCombinClass($code_point)", "$may_be_composed_with_prev_char = isComp2nd($code_point)", "$is_exclusion = isExclusion($code_point)", $is_singleton = isSingleton($code_point), $is_non_starter_decomposition = isNonStDecomp($code_point), $is_Full_Composition_Exclusion = isComp_Ex($code_point), "$NFD_is_NO = isNFD_NO($code_point)", "$NFC_is_NO = isNFC_NO($code_point)", $NFC_is_MAYBE = isNFC_MAYBE($code_point), "$NFKD_is_NO = isNFKD_NO($code_point)", "$NFKC_is_NO = isNFKC_NO($code_point)", $NFKC_is_MAYBE = isNFKC_MAYBE($code_point)

EXPORT
CAVEATS
    Perl's version vs. Unicode version, Correction of decomposition mapping, Revised definition of canonical composition

AUTHOR
LICENSE
SEE ALSO
    <http://www.unicode.org/reports/tr15/>, <http://www.unicode.org/Public/UNIDATA/CompositionExclusions.txt>, <http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt>, <http://www.unicode.org/Public/UNIDATA/NormalizationCorrections.txt>, <http://www.unicode.org/review/pr-29.html>, <http://www.unicode.org/notes/tn5/>

  Unicode::UCD - Unicode character database

SYNOPSIS
DESCRIPTION
    code point argument

charinfo()
    code, name, category, combining, bidi, decomposition, decimal, digit, numeric, mirrored, unicode10, comment, upper, lower, title, block, script

charprop()
    Block, Decomposition_Mapping, Name_Alias, Numeric_Value, Script_Extensions

charprops_all()

charblock()

charscript()

charblocks()

charscripts()

charinrange()

general_categories()

bidi_types()

compexcl()

casefold()
    code, full, simple, mapping, status, * If you use this "I" mapping, * If you exclude this "I" mapping, turkic

all_casefolds()

casespec()
    code, lower, title, upper, condition

namedseq()

num()

prop_aliases()

prop_values()

prop_value_aliases()

prop_invlist()

prop_invmap()
    "s", "sl", "correction", "control", "alternate", "figment", "abbreviation", "a", "al", "ae", "ale", "ar", "n", "ad"

search_invlist()

Unicode::UCD::UnicodeVersion

Blocks versus Scripts
Matching Scripts and Blocks
Old-style versus new-style block names
Use with older Unicode versions

AUTHOR

  User::grent - by-name interface to Perl's built-in getgr*() functions

SYNOPSIS
DESCRIPTION
NOTE
AUTHOR

  User::pwent - by-name interface to Perl's built-in getpw*() functions

SYNOPSIS
DESCRIPTION
    System Specifics

NOTE
AUTHOR
HISTORY
    March 18th, 2000

  XSLoader - Dynamically load C libraries into Perl code

VERSION
SYNOPSIS
DESCRIPTION
    Migration from "DynaLoader"
    Backward compatible boilerplate

Order of initialization: early load()
    The most hairy case

DIAGNOSTICS
    "Can't find '%s' symbol in %s", "Can't load '%s' for module %s: %s", "Undefined symbols present after loading %s: %s"

LIMITATIONS
KNOWN BUGS
BUGS
SEE ALSO
AUTHORS
COPYRIGHT & LICENSE

AUXILIARY DOCUMENTATION
Here should be listed all the extra programs' documentation, but they don't all have manual pages yet:

h2ph
h2xs
perlbug
pl2pm
pod2html
pod2man
splain
xsubpp

AUTHOR
Larry Wall <larry@wall.org>, with the help of oodles of other folks.