perltoc - Man Page

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

DIAGNOSTICS

BUGS

NOTES

perlintro - a brief introduction and overview of Perl

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

Scalars, Arrays, Hashes

Variable scoping
Conditional and looping constructs

if, while, for, foreach

Builtin operators and functions

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

Files and I/O
Regular expressions

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

Writing subroutines

OO Perl

Using Perl modules

AUTHOR

perlrun - how to execute the Perl interpreter

SYNOPSIS
DESCRIPTION
#! and quoting on non-Unix systems

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

Location of Perl
Command Switches

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

ENVIRONMENT

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

ORDER OF APPLICATION

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

perlreftut - Mark's very short tutorial about references

DESCRIPTION
Who Needs Complicated Data Structures?
The Solution
Syntax

Making References

Using References

An Example

Arrow Rule

Solution
The Rest
Summary
Credits

Distribution Conditions

perldsc - Perl Data Structures Cookbook

DESCRIPTION

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

REFERENCES
COMMON MISTAKES
CAVEAT ON PRECEDENCE
WHY YOU SHOULD ALWAYS use VERSION
DEBUGGING
CODE EXAMPLES
ARRAYS OF ARRAYS

Declaration of an ARRAY OF ARRAYS

Generation of an ARRAY OF ARRAYS

Access and Printing of an ARRAY OF ARRAYS

HASHES OF ARRAYS

Declaration of a HASH OF ARRAYS

Generation of a HASH OF ARRAYS

Access and Printing of a HASH OF ARRAYS

ARRAYS OF HASHES

Declaration of an ARRAY OF HASHES

Generation of an ARRAY OF HASHES

Access and Printing of an ARRAY OF HASHES

HASHES OF HASHES

Declaration of a HASH OF HASHES

Generation of a HASH OF HASHES

Access and Printing of a HASH OF HASHES

MORE ELABORATE RECORDS

Declaration of MORE ELABORATE RECORDS

Declaration of a HASH OF COMPLEX RECORDS

Generation of a HASH OF COMPLEX RECORDS

Database Ties

SEE ALSO

AUTHOR

perllol - Manipulating Arrays of Arrays in Perl

DESCRIPTION

Declaration and Access of Arrays of Arrays

Growing Your Own

Access and Printing

Slices

SEE ALSO

AUTHOR

perlrequick - Perl regular expressions quick start

DESCRIPTION
The Guide

Simple word matching

Using character classes

Matching this or that

Grouping things and hierarchical matching

Extracting matches

Matching repetitions

More matching

Search and replace

The split operator

use re 'strict'

BUGS
SEE ALSO
AUTHOR AND COPYRIGHT

Acknowledgments

perlretut - Perl regular expressions tutorial

DESCRIPTION
Part 1: The basics

Simple word matching

Using character classes

Matching this or that

Grouping things and hierarchical matching

Extracting matches

Backreferences

Relative backreferences

Named backreferences

Alternative capture group numbering

Position information

Non-capturing groupings

Matching repetitions

Possessive quantifiers

Building a regexp

Using regular expressions in Perl

Part 2: Power tools

More on characters, strings, and character classes

Compiling and saving regular expressions

Composing regular expressions at runtime

Embedding comments and modifiers in a regular expression

Looking ahead and looking behind

Using independent subexpressions to prevent backtracking

Conditional expressions

Defining named patterns

Recursive patterns

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

Backtracking control verbs

Pragmas and debugging

SEE ALSO
AUTHOR AND COPYRIGHT

Acknowledgments

perlootut - Object-Oriented Programming in Perl Tutorial

DATE
DESCRIPTION
OBJECT-ORIENTED FUNDAMENTALS

Object

Class

Methods

Attributes

Polymorphism

Inheritance

Encapsulation

Composition

Roles

When to Use OO

PERL OO SYSTEMS
Moose

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

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

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

Other OO Systems

CONCLUSION

perlperf - Perl Performance and Optimization Techniques

DESCRIPTION
OVERVIEW

ONE STEP SIDEWAYS

ONE STEP FORWARD

ANOTHER STEP SIDEWAYS

GENERAL GUIDELINES
BENCHMARKS

Assigning and Dereferencing Variables.

Search and replace or tr

PROFILING TOOLS

Devel::DProf

Devel::Profiler

Devel::SmallProf

Devel::FastProf

Devel::NYTProf

SORTING

Elapsed Real Time, User CPU Time, System CPU Time

LOGGING

Logging if DEBUG (constant)

POSTSCRIPT
SEE ALSO

PERLDOCS

MAN PAGES

MODULES

URLS

AUTHOR

perlstyle - Perl style guide

DESCRIPTION

perlcheat - Perl 5 Cheat Sheet

DESCRIPTION

The sheet

ACKNOWLEDGEMENTS

AUTHOR

SEE ALSO

perltrap - Perl traps for the unwary

DESCRIPTION

Awk Traps

C/C++ Traps

JavaScript Traps

Sed Traps

Shell Traps

Perl Traps

perldebtut - Perl debugging tutorial

DESCRIPTION

use strict

Looking at data and -w and v

help

Stepping through code

Placeholder for a, w, t, T

REGULAR EXPRESSIONS

OUTPUT TIPS

CGI

GUIs

SUMMARY

SEE ALSO

AUTHOR

CONTRIBUTORS

perlfaq - Frequently asked questions about Perl

VERSION
DESCRIPTION

Where to find the perlfaq

How to use the perlfaq

How to contribute to the perlfaq

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

TABLE OF CONTENTS

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

THE QUESTIONS

perlfaq1: General Questions About Perl

perlfaq2: Obtaining and Learning about Perl

perlfaq3: Programming Tools

perlfaq4: Data Manipulation

perlfaq5: Files and Formats

perlfaq6: Regular Expressions

perlfaq7: General Perl Language Issues

perlfaq8: System Interaction

perlfaq9: Web, Email and Networking

CREDITS

AUTHOR AND COPYRIGHT

perlfaq1 - General Questions About Perl

VERSION
DESCRIPTION
What is Perl?
Who supports Perl? Who develops it? Why is it free?
Which version of Perl should I use?
What are Perl 4, Perl 5, or Raku (Perl 6)?
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?

How come when I open a file read-write it wipes it out?

Why do I sometimes get an "Argument list too long" when I use <*>?

How can I open a file named with a leading ">" or trailing blanks?

How can I reliably rename a file?

How can I lock a file?

Why can't I just open(FH, ">file.lock")?

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

All I want to do is append a small amount of text to the end of a file. Do I still have to use locking?

How do I randomly update a binary file?

How do I get a file's timestamp in perl?

How do I set a file's timestamp in perl?

How do I print to more than one file at once?

How can I read in an entire file all at once?

How can I read in a file by paragraphs?

How can I read a single character from a file? From the keyboard?

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

How do I do a tail -f in perl?

How do I dup() a filehandle in Perl?

How do I close a file descriptor by number?

Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?

Why doesn't glob("*.*") get all the files?

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

How do I select a random line from a file?

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

How do I traverse a directory tree?

How do I delete a directory tree?

How do I copy an entire directory?

AUTHOR AND COPYRIGHT

perlfaq6 - Regular Expressions

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

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

I'm having trouble matching over more than one line. What's wrong?

How can I pull out lines between two patterns that are themselves on different lines?

How do I match XML, HTML, or other nasty, ugly things with a regex?

I put a regular expression into $/ but it didn't work. What's wrong?

How do I substitute case-insensitively on the LHS while preserving case on the RHS?

How can I make \w match national character sets?

How can I match a locale-smart version of /[a-zA-Z]/?

How can I quote a variable to use in a regex?

What is /o really for?

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

Can I use Perl regular expressions to match balanced text?

What does it mean that regexes are greedy? How can I get around it?

How do I process each word on each line?

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

How can I do approximate matching?

How do I efficiently match many regular expressions at once?

Why don't word-boundary searches with \b work for me?

Why does using $&, $`, or $' slow my program down?

What good is \G in a regular expression?

Are Perl regexes DFAs or NFAs? Are they POSIX compliant?

What's wrong with using grep in a void context?

How can I match strings with multibyte characters?

How do I match a regular expression that's in a variable?

AUTHOR AND COPYRIGHT

perlfaq7 - General Perl Language Issues

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

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

How do I create a static variable?

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

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

What's the difference between deep and shallow binding?

Why doesn't "my($foo) = <$fh>;" work right?

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

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

How do I create a switch or case statement?

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

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

How can I find out my current or calling package?

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

How do I clear a package?

How can I use a variable as a variable name?

What does "bad interpreter" mean?

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

AUTHOR AND COPYRIGHT

perlfaq8 - System Interaction

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

Keyboard, Screen, Mouse

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

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

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

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

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

Unix

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

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

Where are modules installed?

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

AUTHOR AND COPYRIGHT

perlfaq9 - Web, Email and Networking

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

Catalyst, Dancer2, Mojolicious, Web::Simple

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

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

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

How do I read email?

How do I find out my hostname, domainname, or IP address?

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

How can I do RPC in Perl?

AUTHOR AND COPYRIGHT

perlsyn - Perl syntax

DESCRIPTION
Declarations
Comments
Simple Statements
Statement Modifiers
Compound Statements
Loop Control
For Loops
Foreach Loops
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 operators and precedence

DESCRIPTION
Operator Precedence and Associativity
Terms and List Operators (Leftward)
The Arrow Operator
Auto-increment and Auto-decrement
Exponentiation
Symbolic Unary Operators
Binding Operators
Multiplicative Operators
Additive Operators
Shift Operators
Named Unary Operators
Relational Operators
Equality Operators
Class Instance Operator
Smartmatch Operator

1. Empty hashes or arrays match, 2. That is, each element smartmatches the element of the same index in the other array.[3], 3. If a circular reference is found, fall back to referential equality, 4. Either an actual number, or a string that looks like one

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

unary &, unary *, (TYPE)

Quote and Quote-like Operators

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

Regexp Quote-Like Operators

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

Quote-Like Operators

q/STRING/    , 'STRING', qq/STRING/    , "STRING", qx/STRING/    , `STRING`, qw/STRING/   , tr/SEARCHLIST/REPLACEMENTLIST/cdsr  
 , y/SEARCHLIST/REPLACEMENTLIST/cdsr, <<EOF    , Double Quotes, Single Quotes, Backticks, Indented Here-docs

Gory details of parsing quoted constructs

Finding the end, Interpolation , <<'EOF',  m'', the pattern of s''', '', q//, tr''', y''', the replacement of s''', tr///, y///, "", ``, qq//, qx//, <file*glob>, <<"EOF", The replacement of s///, RE in m?RE?, /RE/, m/RE/, s/RE/foo/,, Parsing regular expressions , Optimization of regular expressions

I/O Operators

Constant Folding

No-ops

Bitwise String Operators

Integer Arithmetic

Floating-point Arithmetic

Bigger Numbers

perlsub - Perl subroutines

SYNOPSIS
DESCRIPTION

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

Signatures

Private Variables via my()

Persistent Private Variables

Temporary Values via local()

Lvalue subroutines

Lexical Subroutines

Passing Symbol Table Entries (typeglobs)

When to Still Use local()

Pass by Reference

Prototypes

Constant Functions

Overriding Built-in Functions

Autoloading

Subroutine Attributes

SEE ALSO

perlfunc - Perl builtin functions

DESCRIPTION
Perl Functions by Category

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

Portability
Alphabetical Listing of Perl Functions

-X FILEHANDLE

, -X EXPR, -X DIRHANDLE, -X, abs VALUE  , abs, accept NEWSOCKET,GENERICSOCKET , alarm SECONDS   , alarm, atan2 Y,X    , bind SOCKET,NAME , binmode FILEHANDLE, LAYER  
, binmode FILEHANDLE, bless REF,CLASSNAME , bless REF, Bless the referred-to item into a specific package (recommended form):, Bless the referred-to item into package main:, Bless the referred-to item into the current package (not inheritable):, break, caller EXPR    , caller, chdir EXPR
 , chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST   , chomp VARIABLE
  , chomp( LIST ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST  
, chr NUMBER    , chr, chroot FILENAME  , chroot, class NAMESPACE, class NAMESPACE VERSION, class NAMESPACE BLOCK, class NAMESPACE VERSION BLOCK, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR
  , cos, crypt PLAINTEXT,SALT
   
 , dbmclose HASH , dbmopen HASH,DBNAME,MASK     , defined EXPR
 , defined, delete EXPR , die LIST
    , do BLOCK  , do EXPR , dump LABEL   , dump EXPR, dump, each HASH  , each ARRAY , eof FILEHANDLE   , eof (), eof, eval EXPR
      , eval BLOCK, eval, String eval, Under the "unicode_eval" feature, Outside the "unicode_eval" feature, If upgraded, $v will be "\xc4\x80" (i.e., the use utf8 has no effect.), If non-upgraded, $v will be "\x{100}", Block eval, evalbytes EXPR , evalbytes, exec LIST  , exec PROGRAM LIST, exists EXPR
, exit EXPR   , exit, exp EXPR     , exp, fc EXPR     , fc, fcntl FILEHANDLE,FUNCTION,SCALAR , __FILE__ , field VARNAME , fileno FILEHANDLE , fileno DIRHANDLE, flock FILEHANDLE,OPERATION   , fork   , format , formline PICTURE,LIST , getc FILEHANDLE    , getc, getlogin
, getpeername SOCKET  , getpgrp PID  , getppid   , getpriority WHICH,WHO   , getpwnam NAME
   
 
   
   
   
   , getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockname SOCKET , getsockopt SOCKET,LEVEL,OPTNAME , glob EXPR
  , glob, gmtime EXPR
 , gmtime, goto LABEL   , goto EXPR, goto &NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR
, hex, import LIST , index STR,SUBSTR,POSITION   , index STR,SUBSTR, int EXPR     , int, ioctl FILEHANDLE,FUNCTION,SCALAR , join EXPR,LIST , keys HASH
, keys ARRAY, kill SIGNAL, LIST, kill SIGNAL  , last LABEL  , last EXPR, last, lc EXPR  , lc, If use bytes is in effect:, Otherwise, if use locale for LC_CTYPE is in effect:, Otherwise, If EXPR has the UTF8 flag set:, Otherwise, if use feature 'unicode_strings' or use locale ':not_characters' is in effect:, Otherwise:, lcfirst EXPR  , lcfirst, length EXPR  , length, __LINE__ , link OLDFILE,NEWFILE , listen SOCKET,QUEUESIZE , local EXPR , localtime EXPR  , localtime, lock THING , log EXPR     , log, lstat FILEHANDLE , lstat EXPR, lstat DIRHANDLE, lstat, m//, map BLOCK LIST , map EXPR,LIST, method NAME BLOCK , method NAME : ATTRS BLOCK, mkdir FILENAME,MODE   , mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my VARLIST , my TYPE VARLIST, my VARLIST : ATTRS, my TYPE VARLIST : ATTRS, next LABEL  , next EXPR, next, no MODULE VERSION LIST  , no MODULE VERSION, no MODULE LIST, no MODULE, no VERSION, oct EXPR  
  , oct, open FILEHANDLE,MODE,EXPR
  , open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,EXPR, open FILEHANDLE, Working with files, Simple examples, About filehandles, About modes, Checking the return value, Specifying I/O layers in MODE, Using undef for temporary files, Opening a filehandle into an in-memory scalar, Opening a filehandle into a command, Duping filehandles, Legacy usage, Specifying mode and filename as a single argument, Calling open with one argument via global variables, Assigning a filehandle to a bareword, 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__ , pipe READHANDLE,WRITEHANDLE , pop ARRAY  , pop, pos SCALAR  , pos, print FILEHANDLE LIST , print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST , printf FILEHANDLE, printf FORMAT, LIST, printf, prototype FUNCTION , prototype, push ARRAY,LIST  , q/STRING/, qq/STRING/, qw/STRING/, qx/STRING/, qr/STRING/, quotemeta EXPR  , quotemeta, rand EXPR  , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET  , read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR, readline   , readlink EXPR , readlink, readpipe EXPR, readpipe , recv SOCKET,SCALAR,LENGTH,FLAGS , redo LABEL , redo EXPR, redo, ref EXPR  , ref, rename OLDNAME,NEWNAME  
, require VERSION , require EXPR, require, reset EXPR , reset, return EXPR , return, reverse LIST
, rewinddir DIRHANDLE , rindex STR,SUBSTR,POSITION , rindex STR,SUBSTR, rmdir FILENAME
, rmdir, s///, say FILEHANDLE LIST , say FILEHANDLE, say LIST, say, scalar EXPR  , seek FILEHANDLE,POSITION,WHENCE   , seekdir DIRHANDLE,POS , select FILEHANDLE  , select, select RBITS,WBITS,EBITS,TIMEOUT , semctl ID,SEMNUM,CMD,ARG , semget KEY,NSEMS,FLAGS , semop KEY,OPSTRING , send SOCKET,MSG,FLAGS,TO , send SOCKET,MSG,FLAGS, setpgrp PID,PGRP  , setpriority WHICH,WHO,PRIORITY    , setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL , shift ARRAY , shift, shmctl ID,CMD,ARG , shmget KEY,SIZE,FLAGS , shmread ID,VAR,POS,SIZE  , shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW , sin EXPR    , sin, sleep EXPR  , sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL , socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL , sort SUBNAME LIST , sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST , splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT , split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST , format parameter index, flags, vector flag, (minimum) width, precision, or maximum width , size, order of arguments, sqrt EXPR   , sqrt, srand EXPR   , srand, stat FILEHANDLE
, stat EXPR, stat DIRHANDLE, stat, state VARLIST , state TYPE VARLIST, state VARLIST : ATTRS, state TYPE VARLIST : ATTRS, study SCALAR , study, sub NAME BLOCK , sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, __SUB__ , substr EXPR,OFFSET,LENGTH,REPLACEMENT
  , substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE    , syscall NUMBER, LIST  , sysopen FILEHANDLE,FILENAME,MODE , sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET , sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE  , system LIST  , system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET , syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell FILEHANDLE , tell, telldir DIRHANDLE , tie VARIABLE,CLASSNAME,LIST , tied VARIABLE , time  , times , tr///, truncate FILEHANDLE,LENGTH , truncate EXPR,LENGTH, uc EXPR   , uc, ucfirst EXPR  , ucfirst, umask EXPR , umask, undef EXPR  , undef, unlink LIST  
, unlink, unpack TEMPLATE,EXPR , unpack TEMPLATE, unshift ARRAY,LIST , untie VARIABLE , use Module VERSION LIST   , use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST , values HASH , values ARRAY, vec EXPR,OFFSET,BITS   , wait , waitpid PID,FLAGS , wantarray  , warn LIST
 , write FILEHANDLE , write EXPR, write, y///

Non-function Keywords by Cross-reference

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

perlopentut - simple recipes for opening files and pipes in Perl

DESCRIPTION

OK, HANDLE, MODE, PATHNAME

Opening Text Files

Opening Text Files for Reading

Opening Text Files for Writing

Opening Binary Files
Opening Pipes

Opening a pipe for reading

Opening a pipe for writing

Expressing the command as a list

SEE ALSO

AUTHOR and COPYRIGHT

perlpacktut - tutorial on pack and unpack

DESCRIPTION
The Basic Principle
Packing Text
Packing Numbers

Integers

Unpacking a Stack Frame

How to Eat an Egg on a Net

Byte-order modifiers

Floating point Numbers

Exotic Templates

Bit Strings

Uuencoding

Doing Sums

Unicode

Another Portable Binary Encoding

Template Grouping
Lengths and Widths

String Lengths

Dynamic Templates

Counting Repetitions

Intel HEX

Packing and Unpacking C Structures

The Alignment Pit

Dealing with Endian-ness

Alignment, Take 2

Alignment, Take 3

Pointers for How to Use Them

Pack Recipes

Funnies Section

Authors

perlpod - the Plain Old Documentation format

DESCRIPTION
Ordinary Paragraph
Verbatim Paragraph
Command Paragraph

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

Formatting Codes

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

The Intent

Embedding Pods in Perl Modules

Hints for Writing Pod

SEE ALSO

AUTHOR

perlpodspec - Plain Old Documentation: format specification and notes

DESCRIPTION
Pod Definitions
Pod Commands

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

Pod Formatting Codes

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

Notes on Implementing Pod Processors
About L<...> Codes

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

About =over...=back Regions

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

SEE ALSO

AUTHOR

perldocstyle - A style guide for writing Perl's documentation

DESCRIPTION

Purpose of this guide

Intended audience

Status of this document

FUNDAMENTALS

Choice of markup: Pod

Choice of language: American English

Choice of encoding: UTF-8

Choice of underlying style guide: CMOS

Contributing to Perl's documentation

FORMATTING AND STRUCTURE

Document structure

Formatting rules

Adding comments

Perlfunc has special rules

TONE AND STYLE

Apply one of the four documentation modes

Assume readers' intelligence, but not their knowledge

Use meaningful variable and symbol names in examples

Write in English, but not just for English-speakers

Omit placeholder text or commentary

Apply section-breaks and examples generously

Lead with common cases and best practices

Document Perl's present

The documentation speaks with one voice

INDEX OF PREFERRED TERMS

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

SEE ALSO

AUTHOR

perlpodstyle - Perl POD style guide

DESCRIPTION

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

AUTHOR

COPYRIGHT AND LICENSE

SEE ALSO

perldiag - various Perl diagnostics

DESCRIPTION

SEE ALSO

perldeprecation - list Perl deprecations

DESCRIPTION

Unscheduled Deprecations

Perl 5.42

Perl 5.40

Perl 5.38

Perl 5.34

Perl 5.32

Perl 5.30

Perl 5.28

Perl 5.26

Perl 5.24

Perl 5.16

SEE ALSO

perllexwarn - Perl Lexical Warnings

DESCRIPTION

perldebug - Perl debugging

DESCRIPTION
The Perl Debugger
Calling the Debugger

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

Debugger Commands

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

Configurable Options

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

Debugger Input/Output

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

Debugging Compile-Time Statements

Debugger Customization

Readline Support / History in the Debugger

Editor Support for Debugging

The Perl Profiler

Debugging Regular Expressions

Debugging Memory Usage

SEE ALSO

BUGS

perlvar - Perl predefined variables

DESCRIPTION

The Syntax of Variable Names

SPECIAL VARIABLES
General Variables

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

Variables related to regular expressions

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

Variables related to filehandles

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

Error Variables

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

Variables related to the interpreter state

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

Deprecated and removed variables

$# , $* , $[ , ${^ENCODING} , ${^WIN32_SLOPPY_STAT}

perlre - Perl regular expressions

DESCRIPTION
The Basics
Modifiers

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

Regular Expressions

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

Quoting metacharacters
Extended Patterns

(?#text) , (?adlupimnsx-imnsx), (?^alupimnsx)  , (?:pattern) , (?adluimnsx-imnsx:pattern), (?^aluimnsx:pattern) , (?|pattern)  , Lookaround Assertions    , (?=pattern), (*pla:pattern), (*positive_lookahead:pattern)  
 , (?!pattern), (*nla:pattern), (*negative_lookahead:pattern)  
 , (?<=pattern), \K, (*plb:pattern), (*positive_lookbehind:pattern)  
  , (?<!pattern), (*nlb:pattern), (*negative_lookbehind:pattern)  
 , (?<NAME>pattern), (?'NAME'pattern)
 , \k<NAME>, \k'NAME', \k{NAME}, (?{ code })    , (*{ code })  , (??{ code })
 , (?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)
     
 
 , (?&NAME) , (?(condition)yes-pattern|no-pattern) , (?(condition)yes-pattern), an integer in parentheses, a lookahead/lookbehind/evaluate zero-width assertion;, a name in angle brackets or single quotes, the special symbol (R), (1) (2) .., (<NAME>) ('NAME'), (?=...) (?!...) (?<=...) (?<!...), (?{ CODE }), (*{ CODE }), (R), (R1) (R2) .., (R&NAME), (DEFINE), (?>pattern), (*atomic:pattern)  
 , (?[ ])

Backtracking
Script Runs
Special Backtracking Control Verbs

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

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

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

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

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

BUGS

SEE ALSO

perlrebackslash - Perl Regular Expression Backslash Sequences and Escapes

DESCRIPTION
The backslash

[1]

All the sequences and escapes
Character Escapes

[1], [2]

Modifiers
Character classes
Referencing
Assertions

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

Misc

\K, \N, \R , \X

perlrecharclass - Perl Regular Expression Character Classes

DESCRIPTION
The dot
Backslash sequences

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

Bracketed Character Classes

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

perlreref - Perl Regular Expressions Reference

DESCRIPTION

OPERATORS

SYNTAX

ESCAPE SEQUENCES

CHARACTER CLASSES

ANCHORS

QUANTIFIERS

EXTENDED CONSTRUCTS

VARIABLES

FUNCTIONS

TERMINOLOGY

AUTHOR

SEE ALSO

THANKS

perlref - Perl references and nested data structures

NOTE
DESCRIPTION

Making References

Using References

Circular References

Symbolic references

Not-so-symbolic references

Pseudo-hashes: Using an array as a hash

Function Templates

Postfix Dereference Syntax

Postfix Reference Slicing

Assigning to References

Declaring a Reference to a Variable

WARNING: Don't use references as hash keys

SEE ALSO

perlform - Perl formats

DESCRIPTION

Text Fields

Numeric Fields

The Field @* for Variable-Width Multi-Line Text

The Field ^* for Variable-Width One-line-at-a-time Text

Specifying Values

Using Fill Mode

Suppressing Lines Where All Fields Are Void

Repeating Format Lines

Top of Form Processing

Format Variables

NOTES

Footers

Accessing Formatting Internals

WARNINGS

perlobj - Perl object reference

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

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

AUTOLOAD

Destructors

Non-Hash Objects

Inside-Out objects

Pseudo-hashes

SEE ALSO

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

SYNOPSIS
DESCRIPTION
Tying Scalars

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

Tying Arrays

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

Tying Hashes

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

Tying FileHandles

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

UNTIE this

The untie Gotcha

SEE ALSO

BUGS

AUTHOR

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, Accessor generator attributes, Metaprogramming, Extension Customisation

AUTHORS

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

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_MESSAGES: Error and other messages, Category LC_COLLATE: Collation, Category LC_CTYPE: Character Types, Other categories

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

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

The setlocale function

Multi-threaded operation

Finding locales

LOCALE PROBLEMS

Testing for broken locales

Temporarily fixing locale problems

Permanently fixing locale problems

Permanently fixing your system's locale configuration

Fixing system locale configuration

The localeconv function

I18N::Langinfo

LOCALE CATEGORIES

Category LC_COLLATE: Collation: Text Comparisons and Sorting

Category LC_CTYPE: Character Types

Category LC_NUMERIC: Numeric Formatting

Category LC_MONETARY: Formatting of monetary amounts

Category LC_TIME: Respresentation of time

Other categories

SECURITY
ENVIRONMENT

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

Examples

NOTES

String eval and LC_NUMERIC

Backward compatibility

I18N:Collate obsolete

Sort speed and memory use impacts

Freely available locale definitions

I18n and l10n

An imperfect standard

Unicode and UTF-8
BUGS

Collation of strings containing embedded NUL characters

Multi-threaded

Broken systems

SEE ALSO

HISTORY

perluniintro - Perl Unicode introduction

DESCRIPTION

Unicode

Perl's Unicode Support

Perl's Unicode Model

Unicode and EBCDIC

Creating Unicode

Handling Unicode

Legacy Encodings

Unicode I/O

Displaying Unicode As Text

Special Cases

Advanced Topics

Miscellaneous

Questions With Answers

Hexadecimal Notation

Further Resources

UNICODE IN OLDER PERLS

SEE ALSO

ACKNOWLEDGMENTS

AUTHOR, COPYRIGHT, AND LICENSE

perlunicode - Unicode support in Perl

DESCRIPTION
Important Caveats

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

Byte and Character Semantics
ASCII Rules versus Unicode Rules

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

Extended Grapheme Clusters (Logical characters)
Unicode Character Properties

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

Comparison of \N{...} and \p{name=...}

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

Wildcards in Property Values
User-Defined Character Properties
User-Defined Case Mappings (for serious hackers only)
Character Encodings for Input and Output
Unicode Regular Expression Support Level

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

Unicode Encodings

Noncharacter code points

Beyond Unicode code points

Security Implications of Unicode

Unicode in Perl on EBCDIC

Locales

When Unicode Does Not Happen

The "Unicode Bug"

Forcing Unicode in Perl (Or Unforcing Unicode in Perl)

Using Unicode in XS

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

Porting code from perl-5.6.X

BUGS

Interaction with Extensions

Speed

SEE ALSO

perlunicook - cookbookish examples of handling Unicode in Perl

DESCRIPTION
EXAMPLES

℞ 0: Standard preamble

℞ 1: Generic Unicode-savvy filter

℞ 2: Fine-tuning Unicode warnings

℞ 3: Declare source in utf8 for identifiers and literals

℞ 4: Characters and their numbers

℞ 5: Unicode literals by character number

℞ 6: Get character name by number

℞ 7: Get character number by name

℞ 8: Unicode named characters

℞ 9: Unicode named sequences

℞ 10: Custom named characters

℞ 11: Names of CJK codepoints

℞ 12: Explicit encode/decode

℞ 13: Decode program arguments as utf8

℞ 14: Decode program arguments as locale encoding

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

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

℞ 17: Make file I/O default to utf8

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

℞ 19: Open file with specific encoding

℞ 20: Unicode casing

℞ 21: Unicode case-insensitive comparisons

℞ 22: Match Unicode linebreak sequence in regex

℞ 23: Get character category

℞ 24: Disabling Unicode-awareness in builtin charclasses

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

℞ 26: Custom character properties

℞ 27: Unicode normalization

℞ 28: Convert non-ASCII Unicode numerics

℞ 29: Match Unicode grapheme cluster in regex

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

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

℞ 32: Reverse string by grapheme

℞ 33: String length in graphemes

℞ 34: Unicode column-width for printing

℞ 35: Unicode collation

℞ 36: Case- and accent-insensitive Unicode sort

℞ 37: Unicode locale collation

℞ 38: Making cmp work on text instead of codepoints

℞ 39: Case- and accent-insensitive comparisons

℞ 40: Case- and accent-insensitive locale comparisons

℞ 41: Unicode linebreaking

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

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

℞ 44: PROGRAM: Demo of Unicode collation and printing

SEE ALSO

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

AUTHOR

COPYRIGHT AND LICENCE

REVISION HISTORY

perlunifaq - Perl Unicode FAQ

Q and A
perlunitut isn't really a Unicode tutorial, is it?
What character encodings does Perl support?
Which version of perl should I use?
What about binary data, like images?
When should I decode or encode?
What if I don't decode?
What if I don't encode?

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

Is there a way to automatically decode or encode?

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

Can I use Unicode in my Perl sources?

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

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

Why do some characters not uppercase or lowercase correctly?

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

How do I convert from encoding FOO to encoding BAR?

What are decode_utf8 and encode_utf8?

What is a "wide character"?

INTERNALS

What is "the UTF8 flag"?

What about the use bytes pragma?

What about the use encoding pragma?

What is the difference between :encoding and :utf8?

What's the difference between UTF-8 and utf8?

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

AUTHOR

SEE ALSO

perluniprops - Index of Unicode Version 15.0.0 character properties in Perl

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

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

Legal \p{} and \P{} constructs that match no characters

\p{Canonical_Combining_Class=Attached_Below_Left}, \p{Canonical_Combining_Class=CCC133}, \p{Grapheme_Cluster_Break=E_Base}, \p{Grapheme_Cluster_Break=E_Base_GAZ}, \p{Grapheme_Cluster_Break=E_Modifier}, \p{Grapheme_Cluster_Break=Glue_After_Zwj}, \p{Word_Break=E_Base}, \p{Word_Break=E_Base_GAZ}, \p{Word_Break=E_Modifier}, \p{Word_Break=Glue_After_Zwj}

Properties accessible through Unicode::UCD
Properties accessible through other means
Unicode character properties that are NOT accepted by Perl

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

Other information in the Unicode data base

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

SEE ALSO

perlunitut - Perl Unicode Tutorial

DESCRIPTION

Definitions

Your new toolkit

I/O flow (the actual 5 minute tutorial)

SUMMARY

Q and A (or FAQ)

ACKNOWLEDGEMENTS

AUTHOR

SEE ALSO

perlebcdic - Considerations for running Perl on EBCDIC platforms

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

0037, 1047, POSIX-BC

Unicode code points versus EBCDIC code points

Unicode and UTF

Using Encode

SINGLE OCTET TABLES

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

Table in hex, sorted in 1047 order

IDENTIFYING CHARACTER CODE SETS
CONVERSIONS

utf8::unicode_to_native() and utf8::native_to_unicode()

tr///

iconv

C RTL

OPERATOR DIFFERENCES
FUNCTION DIFFERENCES

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

REGULAR EXPRESSION DIFFERENCES
SOCKETS
SORTING

Ignore ASCII vs. EBCDIC sort differences.

Use a sort helper function

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

Perform sorting on one type of platform only.

TRANSFORMATION FORMATS

URL decoding and encoding

uu encoding and decoding

Quoted-Printable encoding and decoding

Caesarean ciphers

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

PASE, IFS access

OS/390, z/OS

sigaction, chcp, dataset access, iconv, locales

POSIX-BC?

BUGS

SEE ALSO

REFERENCES

HISTORY

AUTHOR

perlsec - Perl security

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

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

Using Sudo

SEE ALSO

perlsecpolicy - Perl security report handling policy

DESCRIPTION
REPORTING SECURITY ISSUES IN PERL
WHAT ARE SECURITY ISSUES

Software covered by the Perl security team

Bugs that may qualify as security issues in Perl

Bugs that do not qualify as security issues in Perl

Bugs that require special categorization

HOW WE DEAL WITH SECURITY ISSUES

Perl's vulnerability remediation workflow

Publicly known and zero-day security issues

Vulnerability credit and bounties

perlmod - Perl modules (packages and symbol tables)

DESCRIPTION
Is this the document you were after?

This doc, perlnewmod, perlmodstyle

Packages

Symbol Tables

BEGIN, UNITCHECK, CHECK, INIT and END

Perl Classes

Perl Modules

Making your module threadsafe

SEE ALSO

perlmodlib - constructing new Perl modules and finding existing ones

THE PERL MODULE LIBRARY
Pragmatic Modules

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

Standard Modules

Amiga::ARexx, Amiga::Exec, AnyDBM_File, App::Cpan, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Deparse, B::Op_private, B::Showlex, B::Terse, B::Xref, Benchmark, IO::Socket::IP, Socket, CORE, CPAN, CPAN::API::HOWTO, CPAN::Debug, CPAN::Distroprefs, CPAN::FirstTime, CPAN::HandleConfig, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter, CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::History::Meta_1_0, CPAN::Meta::History::Meta_1_1, CPAN::Meta::History::Meta_1_2, CPAN::Meta::History::Meta_1_3, CPAN::Meta::History::Meta_1_4, CPAN::Meta::Merge, CPAN::Meta::Prereqs, CPAN::Meta::Requirements, CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox, CPAN::Plugin, CPAN::Plugin::Specfile, CPAN::Queue, CPAN::Tarzip, CPAN::Version, Carp, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config, Config::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::Utils, ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_OS390, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Locale, ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::PL2Bat, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval, ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps, ExtUtils::Typemaps::Cmd, ExtUtils::Typemaps::InputMap, ExtUtils::Typemaps::OutputMap, ExtUtils::Typemaps::Type, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec, File::Spec::AmigaOS, File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long, Getopt::Std, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash, I18N::Collate, I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List, I18N::Langinfo, IO, IO::Compress::Base, IO::Compress::Bzip2, IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip, IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress, IO::Uncompress::Base, IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem, IPC::SysV, Internals, JSON::PP, JSON::PP::Boolean, List::Util, List::Util::XS, Locale::Maketext, Locale::Maketext::Cookbook, Locale::Maketext::Guts, Locale::Maketext::GutsLoader, Locale::Maketext::Simple, Locale::Maketext::TPJ13, MIME::Base64, MIME::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigInt::FastCalc, Math::BigInt::Lib, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, Module::CoreList, Module::CoreList::Utils, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::FTP::dataconn, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO, PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker, Pod::Escapes, Pod::Functions, Pod::Html, Pod::Html::Util, Pod::Man, Pod::ParseLink, Pod::Perldoc, Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO, Pod::Perldoc::ToANSI, Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToTerm, Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug, Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML, Pod::Simple::HTMLBatch, Pod::Simple::JustPod, Pod::Simple::LinkSection, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::PullParserEndToken, Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken, Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search, Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text, Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Storable, Sub::Util, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32, TAP::Base, TAP::Formatter::Base, TAP::Formatter::Color, TAP::Formatter::Console, TAP::Formatter::Console::ParallelSession, TAP::Formatter::Console::Session, TAP::Formatter::File, TAP::Formatter::File::Session, TAP::Formatter::Session, TAP::Harness, TAP::Harness::Env, TAP::Object, TAP::Parser, TAP::Parser::Aggregator, TAP::Parser::Grammar, TAP::Parser::Iterator, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer, TAP::Parser::Result, TAP::Parser::Result::Bailout, TAP::Parser::Result::Comment, TAP::Parser::Result::Plan, TAP::Parser::Result::Pragma, TAP::Parser::Result::Test, TAP::Parser::Result::Unknown, TAP::Parser::Result::Version, TAP::Parser::Result::YAML, TAP::Parser::ResultFactory, TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job, TAP::Parser::Scheduler::Spinner, TAP::Parser::Source, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable, TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle, TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::RawTAP, TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, 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::Event, Test2::Event::Bail, Test2::Event::Diag, Test2::Event::Encoding, Test2::Event::Exception, Test2::Event::Fail, Test2::Event::Generic, Test2::Event::Note, Test2::Event::Ok, Test2::Event::Pass, Test2::Event::Plan, Test2::Event::Skip, Test2::Event::Subtest, Test2::Event::TAP::Version, Test2::Event::V2, Test2::Event::Waiting, Test2::EventFacet, Test2::EventFacet::About, Test2::EventFacet::Amnesty, Test2::EventFacet::Assert, Test2::EventFacet::Control, Test2::EventFacet::Error, Test2::EventFacet::Hub, Test2::EventFacet::Info, Test2::EventFacet::Info::Table, Test2::EventFacet::Meta, Test2::EventFacet::Parent, Test2::EventFacet::Plan, Test2::EventFacet::Render, Test2::EventFacet::Trace, Test2::Formatter, Test2::Formatter::TAP, Test2::Hub, Test2::Hub::Interceptor, Test2::Hub::Interceptor::Terminator, Test2::Hub::Subtest, Test2::IPC, Test2::IPC::Driver, Test2::IPC::Driver::Files, Test2::Tools::Tiny, Test2::Transition, Test2::Util, Test2::Util::ExternalMeta, Test2::Util::Facets2Legacy, Test2::Util::HashBase, Test2::Util::Trace, Test::Builder, Test::Builder::Formatter, Test::Builder::IO::Scalar, Test::Builder::Module, Test::Builder::Tester, Test::Builder::Tester::Color, Test::Builder::TodoDiag, Test::Harness, Test::Harness::Beyond, Test::More, Test::Simple, Test::Tester, Test::Tester::Capture, Test::Tester::CaptureRunner, Test::Tutorial, Test::use::ok, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece, Time::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Collate::CJK::Big5, Unicode::Collate::CJK::GB2312, Unicode::Collate::CJK::JISX0208, Unicode::Collate::CJK::Korean, Unicode::Collate::CJK::Pinyin, Unicode::Collate::CJK::Stroke, Unicode::Collate::CJK::Zhuyin, Unicode::Collate::Locale, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, VMS::DCLsym, VMS::Filespec, VMS::Stdio, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader, autodie::Scope::Guard, autodie::Scope::GuardStack, autodie::Util, version::Internals

Extension Modules

CPAN
Modules: Creation, Use, and Abuse

Guidelines for Module Creation

Guidelines for Converting Perl 4 Library Scripts into Modules

Guidelines for Reusing Application Code

NOTE

perlmodstyle - Perl module style guide

INTRODUCTION
QUICK CHECKLIST

Before you start

The API

Stability

Documentation

Release considerations

BEFORE YOU START WRITING A MODULE

Has it been done before?

Do one thing and do it well

What's in a name?

Get feedback before publishing

DESIGNING AND WRITING YOUR MODULE
To OO or not to OO?
Designing your API

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

Strictness and warnings

Backwards compatibility

Error handling and messages

DOCUMENTING YOUR MODULE
POD
README, INSTALL, release notes, changelogs

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

RELEASE CONSIDERATIONS

Version numbering

Pre-requisites

Testing

Packaging

Licensing

COMMON PITFALLS

Reinventing the wheel

Trying to do too much

Inappropriate documentation

SEE ALSO

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

AUTHOR

perlmodinstall - Installing CPAN Modules

DESCRIPTION
PREAMBLE

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

PORTABILITY

HEY

AUTHOR

COPYRIGHT

perlnewmod - preparing a new module for distribution

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

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

Step-by-step: Making the module

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

Step-by-step: Distributing your module

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

AUTHOR

SEE ALSO

perlpragma - how to write a user pragma

DESCRIPTION

A basic example

Key naming

Implementation details

perlutil - utilities packaged with the Perl distribution

DESCRIPTION
LIST OF UTILITIES
Documentation

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

Converters

pl2pm

Administration

libnetcfg, perlivp

Development

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

General tools

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

Installation

cpan, instmodsh

SEE ALSO

perlfilter - Source Filters

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

Decryption Filters

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

Some Filters Clobber the DATA Handle

REQUIREMENTS

AUTHOR

Copyrights

perldtrace - Perl's support for DTrace

SYNOPSIS
DESCRIPTION
HISTORY
PROBES

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

EXAMPLES

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

REFERENCES

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

SEE ALSO

Devel::DTrace::Provider

AUTHORS

perlglossary - Perl Glossary

VERSION
DESCRIPTION
A

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

B

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

C

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

D

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

E

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

F

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

G

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

H

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

I

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

J

JAPH

K

key, keyword

L

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

M

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

N

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

O

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

P

package, pad, parameter, parent class, parse tree, parsing, patch, PATH, pathname, pattern, pattern matching, PAUSE, Perl mongers, permission bits, Pern, pipe, pipeline, platform, pod, pod command, pointer, polymorphism, port, portable, porter, possessive, POSIX, postfix, pp, pragma, precedence, prefix, preprocessing, primary maintainer, procedure, process, program, program generator, progressive matching, property, protocol, prototype, pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin, pumpking, PV

Q

qualified, quantifier

R

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

S

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

T

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

U

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

V

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

W

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

X

XS, XSUB

Y

yacc

Z

zero width, zombie

AUTHOR AND COPYRIGHT

perlembed - how to embed perl in your C program

DESCRIPTION
PREAMBLE

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

ROADMAP

Compiling your C program

Adding a Perl interpreter to your C program

Calling a Perl subroutine from your C program

Evaluating a Perl statement from your C program

Performing Perl pattern matches and substitutions from your C program

Fiddling with the Perl stack from your C program

Maintaining a persistent interpreter

Execution of END blocks

$0 assignments

Maintaining multiple interpreter instances

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

Using embedded Perl with POSIX locales

Hiding Perl_

MORAL

AUTHOR

COPYRIGHT

perldebguts - Guts of Perl debugging

DESCRIPTION
Debugger Internals

Writing Your Own Debugger

Frame Listing Output Examples
Debugging Regular Expressions
Compile-time Output

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

Types of Nodes

Run-time Output

Debugging Perl Memory Usage
Using $ENV{PERL_DEBUG_MSTATS}

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

SEE ALSO

perlxstut - Tutorial for writing XSUBs

DESCRIPTION
SPECIAL NOTES

make

Version caveat

Dynamic Loading versus Static Loading

Threads and PERL_NO_GET_CONTEXT

TUTORIAL

EXAMPLE 1

EXAMPLE 2

What has gone on?

Writing good test scripts

EXAMPLE 3

What's new here?

Input and Output Parameters

The XSUBPP Program

The TYPEMAP file

Warning about Output Arguments

EXAMPLE 4

What has happened here?

Anatomy of .xs file

Getting the fat out of XSUBs

More about XSUB arguments

The Argument Stack

Extending your Extension

Documenting your Extension

Installing your Extension

EXAMPLE 5

New Things in this Example

EXAMPLE 6

New Things in this Example

EXAMPLE 7 (Coming Soon)

EXAMPLE 8 (Coming Soon)

EXAMPLE 9 Passing open files to XSes

Troubleshooting these Examples

See also
Author

Last Changed

perlxs - XS language reference manual

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

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

Thread-aware system interfaces

EXAMPLES
CAVEATS

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

XS VERSION

AUTHOR DIAGNOSTICS

AUTHOR

perlxstypemap - Perl XS C/Perl type mapping

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

T_SV, T_SVREF, T_SVREF_FIXED, T_AVREF, T_AVREF_REFCOUNT_FIXED, T_HVREF, T_HVREF_REFCOUNT_FIXED, T_CVREF, T_CVREF_REFCOUNT_FIXED, T_SYSRET, T_UV, T_IV, T_INT, T_ENUM, T_BOOL, T_U_INT, T_SHORT, T_U_SHORT, T_LONG, T_U_LONG, T_CHAR, T_U_CHAR, T_FLOAT, T_NV, T_DOUBLE, T_PV, T_PTR, T_PTRREF, T_PTROBJ, T_REF_IV_REF, T_REF_IV_PTR, T_PTRDESC, T_REFREF, T_REFOBJ, T_OPAQUEPTR, T_OPAQUE, Implicit array, T_PACKED, T_PACKEDARRAY, T_DATAUNIT, T_CALLBACK, T_ARRAY, T_STDIO, T_INOUT, T_IN, T_OUT

perlclib - Internal replacements for standard C library functions

DESCRIPTION
Conventions

t, p, n, s

File Operations

File Input and Output

File Positioning

Memory Management and String Handling

Character Class Tests

stdlib.h functions

Miscellaneous functions

SEE ALSO

perlguts - Introduction to the Perl API

DESCRIPTION
Variables
Datatypes
What is an "IV"?
Working with SVs

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

Offsets
What's Really Stored in an SV?
Working with AVs

av_store_simple, av_fetch_simple, av_push_simple, are not magical, are not readonly, are "real" (refcounted) AVs, have an av_top_index value > -2

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

GV_ADDMULTI, GV_ADDWARN

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

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

Subroutines

XSUBs and the Argument Stack

Autoloading with XSUBs

Calling Perl Routines from within C Programs

Putting a C value on Perl stack

Scratchpads

Scratchpads and recursion

Memory Allocation

Allocation

Reallocation

Moving

PerlIO
Compiled code
Code tree
Examining the tree
Compile pass 1: check routines
Compile pass 1a: constant folding
Compile pass 2: context propagation
Compile pass 3: peephole optimization
Pluggable runops
Compile-time scope hooks

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

Examining internal data structures with the dump functions
How multiple interpreters and concurrency are supported

Background and MULTIPLICITY

So what happened to dTHR?

How do I use all this in extensions?

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

Future Plans and PERL_IMPLICIT_SYS

Internal Functions

Formatted Printing of IVs, UVs, and NVs

Formatted Printing of SVs

Formatted Printing of Strings

Formatted Printing of Size_t and SSize_t
Formatted Printing of Ptrdiff_t, intmax_t, short and other special sizes
Pointer-To-Integer and Integer-To-Pointer
Exception Handling
Source Documentation
Backwards compatibility
Unicode Support
What is Unicode, anyway?
How can I recognise a UTF-8 string?
How does UTF-8 represent Unicode characters?
How does Perl store UTF-8 strings?
How do I pass a Perl string to a C library?

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

How do I convert a string to UTF-8?

How do I compare strings?

Is there anything else I need to know?

Custom Operators

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

Stacks

Value Stack

Mark Stack

Temporaries Stack

Save Stack

Scope Stack

Dynamic Scope and the Context Stack

Introduction to the context stack

Pushing contexts

Popping contexts

Redoing contexts

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, lastparen, and lastcloseparen

intflags

pprivate

offs

precomp prelen

paren_names

substrs

subbeg sublen saved_copy suboffset subcoffset

wrapped wraplen

seen_evals

refcnt

HISTORY

AUTHORS

LICENSE

perlreguts - Description of the Perl regular expression engine.

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

regnode_1, regnode_2, regnode_string, regnode_charclass, regnode_charclass_posixl, "REGNODE_AFTER", "regnext"

Process Overview

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

Compilation

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

Execution

MISCELLANEOUS
Unicode and Localisation Support
Base Structures

regstclass, data, code_blocks, proglen, name_list_idx, program

SEE ALSO

AUTHOR

LICENCE

REFERENCES

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

DESCRIPTION
DATA STORAGE

Classes

Fields

Methods

Instances

API

Class Manipulation

Field Manipulation

Method Manipulation

Object Instances

OPCODES

OP_METHSTART

OP_INITFIELD

COMPILE-TIME BEHAVIOUR

ADJUST Phasers

Attributes

Field Initializing Expressions

RUNTIME BEHAVIOUR

Constructor

$self Access During Methods

AUTHORS

perlapi - autogenerated documentation for the perl public API

DESCRIPTION

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

AV Handling

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

Callback Functions

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

Casting

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

Character case changing

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

Character classification

isALNUM, isALNUM_A, isALNUM_LC, isALNUM_LC_uvchr , isALNUMC, isALNUMC_A, isALNUMC_LC, isALNUMC_LC_uvchr, isALNUMC_L1 , isALPHA, isALPHA_A, isALPHA_LC, isALPHA_LC_utf8_safe, isALPHA_LC_uvchr, isALPHA_L1, isALPHA_utf8, isALPHA_utf8_safe, isALPHA_uvchr , isALPHANUMERIC, isALPHANUMERIC_A, isALPHANUMERIC_LC, isALPHANUMERIC_LC_utf8_safe, isALPHANUMERIC_LC_uvchr, isALPHANUMERIC_L1, isALPHANUMERIC_utf8, isALPHANUMERIC_utf8_safe, isALPHANUMERIC_uvchr , isASCII, isASCII_A, isASCII_LC, isASCII_LC_utf8_safe, isASCII_LC_uvchr, isASCII_L1, isASCII_utf8, isASCII_utf8_safe, isASCII_uvchr , isBLANK, isBLANK_A, isBLANK_LC, isBLANK_LC_utf8_safe, isBLANK_LC_uvchr, isBLANK_L1, isBLANK_utf8, isBLANK_utf8_safe, isBLANK_uvchr , isCNTRL, isCNTRL_A, isCNTRL_LC, isCNTRL_LC_utf8_safe, isCNTRL_LC_uvchr, isCNTRL_L1, isCNTRL_utf8, isCNTRL_utf8_safe, isCNTRL_uvchr , isDIGIT, isDIGIT_A, isDIGIT_LC, isDIGIT_LC_utf8_safe, isDIGIT_LC_uvchr, isDIGIT_L1, isDIGIT_utf8, isDIGIT_utf8_safe, isDIGIT_uvchr , isGRAPH, isGRAPH_A, isGRAPH_LC, isGRAPH_LC_utf8_safe, isGRAPH_LC_uvchr, isGRAPH_L1, isGRAPH_utf8, isGRAPH_utf8_safe, isGRAPH_uvchr , isIDCONT, isIDCONT_A, isIDCONT_LC, isIDCONT_LC_utf8_safe, isIDCONT_LC_uvchr, isIDCONT_L1, isIDCONT_utf8, isIDCONT_utf8_safe, isIDCONT_uvchr

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

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

Compiler and Preprocessor information

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

Compiler directives

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

Compile-time scope hooks

BhkDISABLE , BhkENABLE , BhkENTRY_set , blockhook_register

Concurrency

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

COPs and Hint Hashes

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

Custom Operators

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

CV Handling

caller_cx , CvDEPTH , CvGV , CvSTASH , find_runcv , get_cv, get_cvn_flags, get_cvs , Nullcv

Debugging

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

Display functions

form, form_nocontext , mess, mess_nocontext , mess_sv , pv_display , pv_escape , pv_pretty , vform , vmess

Embedding, Threads, and Interpreter Cloning

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

Errno

sv_string_from_errnum

Exception Handling (simple) Macros

dXCPT , JMPENV_JUMP, JMPENV_PUSH, PL_restartop, XCPT_CATCH , XCPT_RETHROW , XCPT_TRY_END , XCPT_TRY_START

Filesystem configuration values

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

Floating point

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

General Configuration

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

List of capability HAS_foo symbols

List of #include needed symbols

Global Variables

PL_check , PL_infix_plugin , PL_keyword_plugin , PL_phase

GV Handling and Stashes

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

Hook manipulation

rcpv_copy , rcpv_free , rcpv_new , wrap_op_checker

HV Handling

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

Input/Output

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

Integer

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

I/O Formats

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

Lexer interface

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

Locales

DECLARATION_FOR_LC_NUMERIC_MANIPULATION , foldEQ_locale , HAS_DUPLOCALE , HAS_FREELOCALE , HAS_LC_MONETARY_2008 , HAS_LOCALECONV , HAS_LOCALECONV_L , HAS_NEWLOCALE , HAS_NL_LANGINFO , HAS_NL_LANGINFO_L , HAS_QUERYLOCALE , HAS_SETLOCALE , HAS_SETLOCALE_R , HAS_THREAD_SAFE_NL_LANGINFO_L , HAS_USELOCALE , I_LANGINFO , I_LOCALE , IN_LOCALE , IN_LOCALE_COMPILETIME , IN_LOCALE_RUNTIME , I_XLOCALE , NEED_XLOCALE_H , Perl_langinfo, Perl_langinfo8 , a, b, c, d, e, Perl_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 , WITH_LC_NUMERIC_SET_TO_NEEDED , WITH_LC_NUMERIC_SET_TO_NEEDED_IN

Magic

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

Memory Management

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

MRO

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

Multicall Functions

dMULTICALL , MULTICALL , POP_MULTICALL , PUSH_MULTICALL

Numeric Functions

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

Optrees

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

Pack and Unpack

packlist , unpackstring

Pad Data Structures

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

Password and Group access

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

Paths to system commands

CSH , LOC_SED , SH_PATH

Prototype information

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

REGEXP Functions

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

Reports and Formats

IoBOTTOM_GV, IoBOTTOM_NAME, IoFMT_GV, IoFMT_NAME, IoLINES, IoLINES_LEFT, IoPAGE, IoPAGE_LEN, IoTOP_GV, IoTOP_NAME

Signals

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

Site configuration

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

Sockets configuration values

HAS_SOCKADDR_IN6 , HAS_SOCKADDR_SA_LEN , HAS_SOCKADDR_STORAGE , HAS_SOCKATMARK , HAS_SOCKET , HAS_SOCKETPAIR , HAS_SOCKS5_INIT , I_SOCKS , I_SYS_SOCKIO

Source Filters

apply_builtin_cv_attributes , filter_add, filter_del , filter_read, scan_vstring , start_subparse

Stack Manipulation Macros

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

String Handling

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

SV Flags

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

SV Handling

AV_FROM_REF, CV_FROM_REF, HV_FROM_REF , BOOL_INTERNALS_sv_isbool , BOOL_INTERNALS_sv_isbool_false , BOOL_INTERNALS_sv_isbool_true , boolSV , croak_xs_usage , DEFSV , DEFSV_set , get_sv , isGV_with_GP , looks_like_number , MUTABLE_AV, MUTABLE_CV, MUTABLE_GV, MUTABLE_HV, MUTABLE_IO, MUTABLE_PTR, MUTABLE_SV , newRV, newRV_inc , newRV_noinc , newSV , newSVbool , newSV_false , newSVhek , newSVhek_mortal , newSViv , newSVnv , newSVpadname , newSVpv , newSVpvf , newSVpvf_nocontext , newSVpvn , newSVpvn_flags , newSVpvn_share , newSVpvn_utf8 , newSVpvs , newSVpvs_flags , newSVpv_share , newSVpvs_share , newSVrv , newSVsv, newSVsv_flags, newSVsv_nomg , newSV_true , newSV_type , newSV_type_mortal , newSVuv , Nullsv , PL_sv_no , PL_sv_undef , PL_sv_yes , PL_sv_zero , SAVE_DEFSV , sortsv , sortsv_flags , SV, SvAMAGIC , SvAMAGIC_off , SvAMAGIC_on , sv_backoff , sv_bless , SvBoolFlagsOK , sv_catpv, sv_catpv_flags, sv_catpv_mg, sv_catpv_nomg , sv_catpvf, sv_catpvf_mg, sv_catpvf_mg_nocontext, sv_catpvf_nocontext , sv_catpvn, sv_catpvn_flags, sv_catpvn_mg, sv_catpvn_nomg , sv_catpvs , sv_catpvs_flags , sv_catpvs_mg , sv_catpvs_nomg , sv_catsv, sv_catsv_flags, sv_catsv_mg, sv_catsv_nomg , SV_CHECK_THINKFIRST , SV_CHECK_THINKFIRST_COW_DROP , sv_chop , sv_clear , sv_cmp , sv_cmp_flags , sv_cmp_locale , sv_cmp_locale_flags , sv_collxfrm , sv_collxfrm_flags , sv_copypv, sv_copypv_flags, sv_copypv_nomg , SvCUR , SvCUR_set , sv_2cv , sv_dec, sv_dec_nomg , sv_derived_from , sv_derived_from_hv , sv_derived_from_pv , sv_derived_from_pvn , sv_derived_from_sv , sv_does , sv_does_pv , sv_does_pvn , sv_does_sv , SvEND , sv_eq , sv_eq_flags , sv_force_normal , sv_force_normal_flags , sv_free , SvGAMAGIC , sv_get_backrefs , SvGETMAGIC , sv_gets , SvGROW , SvIandPOK , SvIandPOK_off , SvIandPOK_on , sv_inc, sv_inc_nomg , sv_insert , sv_insert_flags , sv_2io , SvIOK , SvIOK_notUV , SvIOK_off , SvIOK_on , SvIOK_only , SvIOK_only_UV , SvIOKp , SvIOK_UV , sv_isa , sv_isa_sv , SvIsBOOL , SvIsCOW , SvIsCOW_shared_hash , sv_isobject , SvIV, SvIV_nomg, SvIVx , sv_2iv_flags , SvIV_set , SvIVX , SvLEN , sv_len , SvLEN_set , sv_len_utf8, sv_len_utf8_nomg , SvLOCK , sv_magic , sv_magicext , SvMAGIC_set , sv_2mortal , sv_mortalcopy , sv_mortalcopy_flags , sv_newmortal , SvNIOK , SvNIOK_off , SvNIOKp , SvNOK , SvNOK_off , SvNOK_on , SvNOK_only , SvNOKp , sv_nolocking , sv_nounlocking , sv_numeq , sv_numeq_flags , SvNV, SvNV_nomg, SvNVx , sv_2nv_flags , SvNV_set , SvNVX , SvOK , SvOOK , SvOOK_off , SvOOK_offset , SvPOK , SvPOK_off , SvPOK_on , SvPOK_only , SvPOK_only_UTF8 , SvPOKp , sv_pos_b2u , sv_pos_b2u_flags , sv_pos_u2b , sv_pos_u2b_flags , SvPV, SvPV_const, SvPV_flags, SvPV_flags_const, SvPV_flags_mutable, SvPV_mutable, SvPV_nolen, SvPV_nolen_const, SvPV_nomg, SvPV_nomg_const, SvPV_nomg_const_nolen, SvPV_nomg_nolen, SvPVbyte, SvPVbyte_nolen, SvPVbyte_nomg, SvPVbyte_or_null, SvPVbyte_or_null_nomg, SvPVbytex, SvPVbytex_nolen, SvPVutf8, SvPVutf8_nolen, SvPVutf8_nomg, SvPVutf8_or_null, SvPVutf8_or_null_nomg, SvPVutf8x, SvPVx, SvPVx_const, SvPVx_nolen, SvPVx_nolen_const

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

Tainting

SvTAINT , SvTAINTED , SvTAINTED_off , SvTAINTED_on

Time

ASCTIME_R_PROTO , CTIME_R_PROTO , GMTIME_MAX , GMTIME_MIN , GMTIME_R_PROTO , HAS_ASCTIME_R , HAS_ASCTIME64 , HAS_CTIME_R , HAS_CTIME64 , HAS_DIFFTIME , HAS_DIFFTIME64 , HAS_FUTIMES , HAS_GETITIMER , HAS_GETTIMEOFDAY , HAS_GMTIME_R , HAS_GMTIME64 , HAS_LOCALTIME_R , HAS_LOCALTIME64 , HAS_MKTIME , HAS_MKTIME64 , HAS_NANOSLEEP , HAS_SETITIMER , HAS_STRFTIME , HAS_TIME , HAS_TIMEGM , HAS_TIMES , HAS_TM_TM_GMTOFF , HAS_TM_TM_ZONE , HAS_TZNAME , HAS_USLEEP , HAS_USLEEP_PROTO , I_TIME , I_UTIME , LOCALTIME_MAX , LOCALTIME_MIN , LOCALTIME_R_NEEDS_TZSET , LOCALTIME_R_PROTO , L_R_TZSET , mini_mktime , my_strftime , switch_to_global_locale , POSIX::localeconv, I18N::Langinfo, items CRNCYSTR and THOUSEP, "Perl_langinfo" in perlapi, items CRNCYSTR and THOUSEP, sync_locale

Typedef names

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

Unicode Support X <UNICODE_DISALLOW_ILLEGAL_INTERCHANGE>

BOM_UTF8 , bytes_cmp_utf8 , bytes_from_utf8 , bytes_to_utf8 , DO_UTF8 , foldEQ_utf8 , is_ascii_string , isC9_STRICT_UTF8_CHAR , is_c9strict_utf8_string , is_c9strict_utf8_string_loc , is_c9strict_utf8_string_loclen , is_invariant_string , isSTRICT_UTF8_CHAR , is_strict_utf8_string , is_strict_utf8_string_loc , is_strict_utf8_string_loclen , isUTF8_CHAR , is_utf8_char_buf , isUTF8_CHAR_flags , is_utf8_fixed_width_buf_flags , is_utf8_fixed_width_buf_loc_flags , is_utf8_fixed_width_buf_loclen_flags , is_utf8_invariant_string , is_utf8_invariant_string_loc , is_utf8_string , is_utf8_string_flags , is_utf8_string_loc , is_utf8_string_loc_flags , is_utf8_string_loclen , is_utf8_string_loclen_flags , is_utf8_valid_partial_char , is_utf8_valid_partial_char_flags , LATIN1_TO_NATIVE , NATIVE_TO_LATIN1 , NATIVE_TO_UNI , pv_uni_display , REPLACEMENT_CHARACTER_UTF8 , sv_cat_decode , sv_recode_to_utf8 , sv_uni_display , UNICODE_IS_NONCHAR , UNICODE_IS_REPLACEMENT , UNICODE_IS_SUPER , UNICODE_IS_SURROGATE , UNICODE_REPLACEMENT , UNI_TO_NATIVE , UTF8_CHK_SKIP , utf8_distance , utf8_hop , utf8_hop_back , utf8_hop_forward , utf8_hop_safe , UTF8_IS_INVARIANT , UTF8_IS_NONCHAR , UTF8_IS_REPLACEMENT , UTF8_IS_SUPER , UTF8_IS_SURROGATE , utf8_length , UTF8_MAXBYTES , UTF8_MAXBYTES_CASE , utf8ness_t , UTF8NESS_YES, UTF8NESS_NO, UTF8NESS_IMMATERIAL, UTF8NESS_UNKNOWN, 0 <= enum value <= UTF8NESS_IMMATERIAL, UTF8NESS_IMMATERIAL <= <enum value, utf8n_to_uvchr , utf8n_to_uvchr_error , UTF8_GOT_PERL_EXTENDED, UTF8_GOT_CONTINUATION, UTF8_GOT_EMPTY, UTF8_GOT_LONG, UTF8_GOT_NONCHAR, UTF8_GOT_NON_CONTINUATION, UTF8_GOT_OVERFLOW, UTF8_GOT_SHORT, UTF8_GOT_SUPER, UTF8_GOT_SURROGATE, utf8n_to_uvchr_msgs , text, warn_categories, flag, UTF8_SAFE_SKIP , UTF8SKIP , "UTF8_SAFE_SKIP" in perlapi if you know the maximum ending pointer in the buffer pointed to by s; or, "UTF8_CHK_SKIP" in perlapi if you don't know it, UTF8_SKIP , utf8_to_bytes , utf8_to_uvchr , utf8_to_uvchr_buf , UVCHR_IS_INVARIANT , UVCHR_SKIP , uvchr_to_utf8_flags , uvchr_to_utf8_flags_msgs , text, warn_categories, flag, uvchr_to_utf8

Utility Functions

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

Versioning

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

Warning and Dieing

ckWARN, ckWARN2, ckWARN3, ckWARN4 , ckWARN_d, ckWARN2_d, ckWARN3_d, ckWARN4_d , ck_warner, ck_warner_d , CLEAR_ERRSV , croak, croak_nocontext , croak_no_modify , croak_sv , die, die_nocontext , die_sv , ERRSV , packWARN, packWARN2, packWARN3, packWARN4 , SANE_ERRSV , vcroak , vwarn , vwarner , warn, warn_nocontext , warner, warner_nocontext , warn_sv

XS

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

Undocumented elements

AUTHORS

SEE ALSO

perlintern - autogenerated documentation of purely internal Perl functions

DESCRIPTION
AV Handling

av_fetch_simple , AvFILLp , av_new_alloc , av_store_simple

Callback Functions

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

Casting
Character case changing
Character classification
Compiler and Preprocessor information
Compiler directives
Compile-time scope hooks

BhkENTRY , BhkFLAGS , CALL_BLOCK_HOOKS

Concurrency

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

COPs and Hint Hashes
Custom Operators

core_prototype

CV Handling

CvREFCOUNTED_ANYSV , CvREFCOUNTED_ANYSV_off , CvREFCOUNTED_ANYSV_on , CvWEAKOUTSIDE , docatch

Debugging

comma_aDEPTH , comma_pDEPTH , debop , debprof , debprofdump , debug_aDEPTH , debug_pDEPTH , free_c_backtrace , get_c_backtrace , PL_DBsingle , PL_DBsub , PL_DBtrace , runops_debug, runops_standard

Display functions

sv_peek

Embedding, Threads, and Interpreter Cloning

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

Errno

dSAVEDERRNO , dSAVE_ERRNO , RESTORE_ERRNO , SAVE_ERRNO , SETERRNO

Exception Handling (simple) Macros
Filesystem configuration values
Floating point
General Configuration
Global Variables
GV Handling and Stashes

amagic_applies , gp_dup , gv_handler , gv_stashsvpvn_cached , gv_try_downgrade

Hook manipulation
HV Handling

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

Input/Output

dirp_dup , fp_dup , my_fflush_all , my_mkostemp , my_mkstemp , PL_last_in_gv , PL_ofsgv , PL_rs , start_glob

Integer
I/O Formats
Lexer interface

resume_compcv_and_save , resume_compcv_final , validate_proto

Locales
Magic

magic_clearhint , magic_clearhints , magic_methcall , magic_sethint , mg_dup , mg_localize

Memory Management

calloc , malloc , mfree , realloc

MRO

mro_get_linear_isa_dfs , mro_isa_changed_in , mro_package_moved

Multicall Functions
Numeric Functions

isinfnansv

Optrees

newATTRSUB_x , newXS_len_flags , op_refcnt_lock , op_refcnt_unlock , traverse_op_tree

Pack and Unpack
Pad Data Structures

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

Password and Group access
Paths to system commands
Prototype information
REGEXP Functions

regnode

Reports and Formats
Signals
Site configuration
Sockets configuration values
Source Filters
Stack Manipulation Macros

djSP , LVRET , save_alloc

String Handling

delimcpy_no_escape , my_cxt_init , quadmath_format_needed , quadmath_format_valid

SV Flags

SVt_INVLIST

SV Handling

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

Tainting

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

Time
Typedef names
Unicode Support

bytes_from_utf8_loc , find_uninit_var , isSCRIPT_RUN , is_utf8_non_invariant_string , utf8n_to_uvuni , utf8_to_uvuni , uvoffuni_to_utf8_flags , valid_utf8_to_uvchr , variant_under_utf8_count

Utility Functions

my_popen_list , my_socketpair

Versioning
Warning and Dieing

deprecate , deprecate_disappears_in , deprecate_fatal_in , PL_dowarn , report_uninit

XS

Undocumented elements

AUTHORS

SEE ALSO

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

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

PERLIO_F_EOF, PERLIO_F_CANWRITE,  PERLIO_F_CANREAD, PERLIO_F_ERROR, PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8, PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF, PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS

Methods in Detail

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

Utilities
Implementing PerlIO Layers

C implementations, Perl implementations

Core Layers

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

Extension Layers

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

TODO

perlapio - perl's IO abstraction interface.

SYNOPSIS
DESCRIPTION

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

Co-existence with stdio

PerlIO_importFILE(f,mode), PerlIO_exportFILE(f,mode), PerlIO_releaseFILE(p,f), PerlIO_findFILE(f)

"Fast gets" Functions

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

Other Functions

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

perlhack - How to hack on Perl

DESCRIPTION
SUPER QUICK PATCH GUIDE

Check out the source repository, Ensure you're following the latest advice, Create a branch for your change, Make your change, Test your change, Commit your change, Send your change to the Perl issue tracker, Thank you, Acknowledgement, Next time

BUG REPORTING
PERL 5 PORTERS

perl-changes mailing list

#p5p on IRC

GETTING THE PERL SOURCE

Read access via Git

Read access via the web

Write access via git

PATCHING PERL
Submitting patches
Getting your patch accepted

Why, What, How

Patching a core module

Updating perldelta

What makes for a good patch?

TESTING

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

Special make test targets

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

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

-v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST, PERL_TEST_Net_Ping, PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS, PERL_TEST_MEMORY

Performance testing

Building perl at older commits

MORE READING FOR GUTS HACKERS

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

CPAN TESTERS AND PERL SMOKERS
WHAT NEXT?

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

Metaphoric Quotations

AUTHOR

perlsource - A guide to the Perl source tree

DESCRIPTION
FINDING YOUR WAY AROUND
C code
Core modules

lib/, ext/, dist/, cpan/

Tests

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

Documentation
Hacking tools and documentation

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

Build system

AUTHORS

MANIFEST

perlinterp - An overview of the Perl interpreter

DESCRIPTION
ELEMENTS OF THE INTERPRETER
Startup
Parsing
Optimization
Running
Exception handing

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

INTERNAL VARIABLE TYPES

OP TREES
STACKS

Argument stack

Mark stack

Save stack

MILLIONS OF MACROS

FURTHER READING

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

DESCRIPTION
EXAMPLE OF A SIMPLE PATCH

Writing the patch

Testing the patch

Documenting the patch

Submit

AUTHOR

perlhacktips - Tips for Perl core C code hacking

DESCRIPTION
COMMON PROBLEMS
Perl environment problems
C99

AIX, HP/UX, Solaris

Symbol Names and Namespace Pollution

Don't begin a symbol name with an underscore; (e.g., don't use: _FOOBAR), Don't use two consecutive underscores in a symbol name; (e.g., don't use FOO__BAR)

Writing safer macros

Portability problems

Problematic System Interfaces

Security problems

DEBUGGING
Poking at Perl
Using a source-level debugger

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

gdb macro support

Dumping Perl Data Structures

Using gdb to look at specific parts of a program

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

SOURCE CODE STATIC ANALYSIS

lint

Coverity

HP-UX cadvise (Code Advisor)

cpd (cut-and-paste detector)

gcc warnings

Warnings of other C compilers

MEMORY DEBUGGERS
valgrind
AddressSanitizer

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

PROFILING
Gprof Profiling

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

GCC gcov Profiling
callgrind profiling

--threshold, --auto

MISCELLANEOUS TRICKS
PERL_DESTRUCT_LEVEL
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

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

Paul Evans, Philippe Bruhat, Ricardo Signes

Core Team Members
Active Members

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

Inactive Members

Abhijit Menon-Sen <ams@toroid.org>, Andy Dougherty <doughera@lafayette.edu>, David Golden <xdg@xdg.me>, Jan Dubois <jan@jandubois.com>, Jason McIntosh <jmac@jmac.org>, Jesse Vincent <jesse@fsck.com>

perlgit - Detailed information about git and the Perl repository

DESCRIPTION
CLONING THE REPOSITORY
WORKING WITH THE REPOSITORY

Finding out your status

Patch workflow

A note on derived files

Cleaning a working directory

Bisecting

Topic branches and rewriting history

Grafts

WRITE ACCESS TO THE GIT REPOSITORY

Working with Github pull requests

Accepting a patch

Committing to blead

On merging and rebasing

Committing to maintenance versions

Using a smoke-me branch to test changes

perlhist - the Perl history records

DESCRIPTION
INTRODUCTION
THE KEEPERS OF THE PUMPKIN

PUMPKIN?

THE RECORDS

SELECTED RELEASE SIZES

SELECTED PATCH SIZES

THE KEEPERS OF THE RECORDS

perldelta - what is new for perl v5.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

perl5382delta, perldelta - 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 gotos 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

subs now take a prototype attribute

More consistent prototype parsing

rand now uses a consistent random number generator

New slice syntax

Experimental Postfix Dereferencing

Unicode 6.3 now supported

New \p{Unicode} regular expression pattern property

Better 64-bit support

use locale now works on UTF-8 locales

use locale now compiles on systems without locale ability

More locale initialization fallback options

-DL runtime option now added for tracing locale setting

-F now implies -a and -a implies -n

$a and $b warnings exemption

Security

Avoid possible read of free()d memory during parsing

Incompatible Changes

do can no longer be used to call subroutines

Quote-like escape changes

Tainting happens under more circumstances; now conforms to documentation

\p{}, \P{} matching has changed for non-Unicode code points.

\p{All} has been expanded to match all possible code points

Data::Dumper's output may change

Locale decimal point character no longer leaks outside of use locale scope

Assignments of Windows sockets error codes to $! now prefer errno.h values over WSAGetLastError() values

Functions PerlIO_vsprintf and PerlIO_sprintf have been removed

Deprecations
The /\C/ character class
Literal control characters in variable names
References to non-integers and non-positive integers in $/
Character matching routines in POSIX
Interpreter-based threads are now discouraged
Module removals

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

Utility removals

find2perl, s2p, a2p

Performance Enhancements
Modules and Pragmata

New Modules and Pragmata

Updated Modules and Pragmata

Documentation

New Documentation

Changes to Existing Documentation

Diagnostics

New Diagnostics

Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Testing
Platform Support
New Platforms

Android, Bitrig, FreeMiNT, Synology

Discontinued Platforms

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

Platform-Specific Notes

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

Internal Changes
Selected Bug Fixes

Regular Expressions

Perl 5 Debugger and -d

Lexical Subroutines

Everything Else

Known Problems

Obituary

Acknowledgements

Reporting Bugs

SEE ALSO

perl5184delta - what is new for perl v5.18.4

DESCRIPTION
Modules and Pragmata

Updated Modules and Pragmata

Platform Support
Platform-Specific Notes

Win32

Selected Bug Fixes

Acknowledgements

Reporting Bugs

SEE ALSO

perl5182delta - what is new for perl v5.18.2

DESCRIPTION
Modules and Pragmata

Updated Modules and Pragmata

Documentation

Changes to Existing Documentation

Selected Bug Fixes

Acknowledgements

Reporting Bugs

SEE ALSO

perl5181delta - what is new for perl v5.18.1

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Platform Support
Platform-Specific Notes

AIX, MidnightBSD

Selected Bug Fixes

Acknowledgements

Reporting Bugs

SEE ALSO

perl5180delta - what is new for perl v5.18.0

DESCRIPTION
Core Enhancements

New mechanism for experimental features

Hash overhaul

Upgrade to Unicode 6.2

Character name aliases may now include non-Latin1-range characters

New DTrace probes

${^LAST_FH}

Regular Expression Set Operations

Lexical subroutines

Computed Labels

More CORE:: subs

kill with negative signal names

Security

See also: hash overhaul

Storable security warning in documentation

Locale::Maketext allowed code injection via a malicious template

Avoid calling memset with a negative count

Incompatible Changes

See also: hash overhaul

An unknown character name in \N{...} is now a syntax error

Formerly deprecated characters in \N{} character name aliases are now errors.

\N{BELL} now refers to U+1F514 instead of U+0007

New Restrictions in Multi-Character Case-Insensitive Matching in Regular Expression Bracketed Character Classes

Explicit rules for variable names and identifiers

Vertical tabs are now whitespace

/(?{})/ and /(??{})/ have been heavily reworked

Stricter parsing of substitution replacement

given now aliases the global $_

The smartmatch family of features are now experimental

Lexical $_ is now experimental

readline() with $/ = \N now reads N characters, not N bytes

Overridden glob is now passed one argument

Here doc parsing

Alphanumeric operators must now be separated from the closing delimiter of regular expressions

qw(...) can no longer be used as parentheses

Interaction of lexical and default warnings

state sub and our sub

Defined values stored in environment are forced to byte strings

require dies for unreadable files

gv_fetchmeth_* and SUPER

split's first argument is more consistently interpreted

Deprecations
Module removals

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

Deprecated Utilities

cpanp, cpanp-run-perl, cpan2dist, pod2latex

PL_sv_objcount

Five additional characters should be escaped in patterns with /x

User-defined charnames with surprising whitespace

Various XS-callable functions are now deprecated

Certain rare uses of backslashes within regexes are now deprecated

Splitting the tokens (? and (* in regular expressions

Pre-PerlIO IO implementations

Future Deprecations

DG/UX, NeXT

Performance Enhancements
Modules and Pragmata

New Modules and Pragmata

Updated Modules and Pragmata

Removed Modules and Pragmata

Documentation

Changes to Existing Documentation

New Diagnostics

Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Testing
Platform Support
Discontinued Platforms

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

Platform-Specific Notes

Internal Changes

Selected Bug Fixes

Known Problems

Obituary

Acknowledgements

Reporting Bugs

SEE ALSO

perl5163delta - what is new for perl v5.16.3

DESCRIPTION
Core Enhancements
Security

CVE-2013-1667: memory exhaustion with arbitrary hash keys

wrap-around with IO on long strings

memory leak in Encode

Incompatible Changes
Deprecations
Modules and Pragmata

Updated Modules and Pragmata

Known Problems

Acknowledgements

Reporting Bugs

SEE ALSO

perl5162delta - what is new for perl v5.16.2

DESCRIPTION
Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Configuration and Compilation

configuration should no longer be confused by ls colorization

Platform Support
Platform-Specific Notes

AIX

Selected Bug Fixes

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

Known Problems

Acknowledgements

Reporting Bugs

SEE ALSO

perl5161delta - what is new for perl v5.16.1

DESCRIPTION
Security

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

Incompatible Changes
Modules and Pragmata

Updated Modules and Pragmata

Configuration and Compilation
Platform Support
Platform-Specific Notes

VMS

Selected Bug Fixes

Known Problems

Acknowledgements

Reporting Bugs

SEE ALSO

perl5160delta - what is new for perl v5.16.0

DESCRIPTION
Notice
Core Enhancements

use VERSION

__SUB__

New and Improved Built-ins

Unicode Support

XS Changes

Changes to Special Variables

Debugger Changes

The CORE Namespace

Other Changes

Security

Use is_utf8_char_buf() and not is_utf8_char()

Malformed UTF-8 input could cause attempts to read beyond the end of the buffer

File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).

Privileges are now set correctly when assigning to $(

Deprecations

Don't read the Unicode data base files in lib/unicore

XS functions is_utf8_char(), utf8_to_uvchr() and utf8_to_uvuni()

Future Deprecations

Core Modules

Platforms with no supporting programmers

Other Future Deprecations

Incompatible Changes

Special blocks called in void context

The overloading pragma and regexp objects

Two XS typemap Entries removed

Unicode 6.1 has incompatibilities with Unicode 6.0

Borland compiler

Certain deprecated Unicode properties are no longer supported by default

Dereferencing IO thingies as typeglobs

User-defined case-changing operations

XSUBs are now 'static'

Weakening read-only references

Tying scalars that hold typeglobs

IPC::Open3 no longer provides xfork(), xclose_on_exec() and xpipe_anon()

$$ no longer caches PID

$$ and getppid() no longer emulate POSIX semantics under LinuxThreads

$<, $>, $( and $) are no longer cached

Which Non-ASCII characters get quoted by quotemeta and \Q has changed

Performance Enhancements
Modules and Pragmata
Deprecated Modules

Version::Requirements

New Modules and Pragmata

Updated Modules and Pragmata

Removed Modules and Pragmata

Documentation

New Documentation

Changes to Existing Documentation

Removed Documentation

Diagnostics

New Diagnostics

Removed Errors

Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Platform Support

Platform-Specific Notes

Internal Changes
Selected Bug Fixes

Array and hash

C API fixes

Compile-time hints

Copy-on-write scalars

The debugger

Dereferencing operators

Filehandle, last-accessed

Filetests and stat

Formats

given and when

The glob operator

Lvalue subroutines

Overloading

Prototypes of built-in keywords

Regular expressions

Smartmatching

The sort operator

The substr operator

Support for embedded nulls

Threading bugs

Tied variables

Version objects and vstrings

Warnings, redefinition

Warnings, "Uninitialized"

Weak references

Other notable fixes

Known Problems

Acknowledgements

Reporting Bugs

SEE ALSO

perl5144delta - what is new for perl v5.14.4

DESCRIPTION
Core Enhancements
Security

CVE-2013-1667: memory exhaustion with arbitrary hash keys

memory leak in Encode

[perl #111594] Socket::unpack_sockaddr_un heap-buffer-overflow

[perl #111586] SDBM_File: fix off-by-one access to global ".dir"

off-by-two error in List::Util

[perl #115994] fix segv in regcomp.c:S_join_exact()

[perl #115992] PL_eval_start use-after-free

wrap-around with IO on long strings

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

Socket, SDBM_File, List::Util

Removed Modules and Pragmata

Documentation

New Documentation

Changes to Existing Documentation

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

VMS

Selected Bug Fixes

Known Problems

Acknowledgements

Reporting Bugs

SEE ALSO

perl5143delta - what is new for perl v5.14.3

DESCRIPTION
Core Enhancements
Security

Digest unsafe use of eval (CVE-2011-3597)

Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)

Incompatible Changes
Deprecations
Modules and Pragmata

New Modules and Pragmata

Updated Modules and Pragmata

Removed Modules and Pragmata

Documentation

New Documentation

Changes to Existing Documentation

Configuration and Compilation
Platform Support
New Platforms
Discontinued Platforms
Platform-Specific Notes

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

Bug Fixes

Acknowledgements

Reporting Bugs

SEE ALSO

perl5142delta - what is new for perl v5.14.2

DESCRIPTION
Core Enhancements
Security

File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).

Encode decode_xs n-byte heap-overflow (CVE-2011-2939)

Incompatible Changes
Deprecations
Modules and Pragmata

New Modules and Pragmata

Updated Modules and Pragmata

Removed Modules and Pragmata

Platform Support
New Platforms
Discontinued Platforms
Platform-Specific Notes

HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode 4 works again

Bug Fixes

Known Problems

Acknowledgements

Reporting Bugs

SEE ALSO

perl5141delta - what is new for perl v5.14.1

DESCRIPTION
Core Enhancements
Security
Incompatible Changes
Deprecations
Modules and Pragmata

New Modules and Pragmata

Updated Modules and Pragmata

Removed Modules and Pragmata

Documentation

New Documentation

Changes to Existing Documentation

Diagnostics

New Diagnostics

Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Testing
Platform Support

New Platforms

Discontinued Platforms

Platform-Specific Notes

Internal Changes

Bug Fixes

Acknowledgements

Reporting Bugs

SEE ALSO

perl5140delta - what is new for perl v5.14.0

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

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

New C APIs

Security

User-defined regular expression properties

Incompatible Changes

Regular Expressions and String Escapes

Stashes and Package Variables

Changes to Syntax or to Perl Operators

Threads and Processes

Configuration

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

Devel::DProf

Performance Enhancements

"Safe signals" optimisation

Optimisation of shift() and pop() calls without arguments

Optimisation of regexp engine string comparison work

Regular expression compilation speed-up

String appending is 100 times faster

Eliminate PL_* accessor functions under ithreads

Freeing weak references

Lexical array and hash assignments

@_ uses less memory

Size optimisations to SV and HV structures

Memory consumption improvements to Exporter

Memory savings for weak references

%+ and %- use less memory

Multiple small improvements to threads

Adjacent pairs of nextstate opcodes are now optimized away

Modules and Pragmata
New Modules and Pragmata
Updated Modules and Pragma

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

Removed Modules and Pragmata

Documentation

New Documentation

Changes to Existing Documentation

Diagnostics
New Diagnostics

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

Changes to Existing Diagnostics

Utility Changes
Configuration and Compilation
Platform Support
New Platforms

AIX

Discontinued Platforms

Apollo DomainOS, MacOS Classic

Platform-Specific Notes

Internal Changes
New APIs
C API Changes
Deprecated C APIs

Perl_ptr_table_clear, sv_compile_2op, find_rundefsvoffset, CALL_FPTR and CPERLscope

Other Internal Changes

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

Aliasing packages by assigning to globs [perl #77358], Deleting packages by deleting their containing stash elements, Undefining the glob containing a package (undef *Foo::), Undefining an ISA glob (undef *Foo::ISA), Deleting an ISA stash element (delete $Foo::{ISA}), Sharing @ISA arrays between classes (via *Foo::ISA = \@Bar::ISA or *Foo::ISA = *Bar::ISA) [perl #77238]

Unicode

Ties, Overloading and Other Magic

The Debugger

Threads

Scoping and Subroutines

Signals

Miscellaneous Memory Leaks

Memory Corruption and Crashes

Fixes to Various Perl Operators

Bugs Relating to the C API

Known Problems
Errata

keys(), values(), and each() work on arrays

split() and @_

Obituary

Acknowledgements

Reporting Bugs

SEE ALSO

perl5125delta - what is new for perl v5.12.5

DESCRIPTION
Security

Encode decode_xs n-byte heap-overflow (CVE-2011-2939)

File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).

Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)

Incompatible Changes
Modules and Pragmata

Updated Modules

Changes to Existing Documentation

perlebcdic

perlunicode

perluniprops

Installation and Configuration Improvements
Platform Specific Changes

Mac OS X, NetBSD

Selected Bug Fixes
Errata

split() and @_

Acknowledgements

Reporting Bugs

SEE ALSO

perl5124delta - what is new for perl v5.12.4

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

Linux

Acknowledgements

Reporting Bugs

SEE ALSO

perl5123delta - what is new for perl v5.12.3

DESCRIPTION
Incompatible Changes
Core Enhancements

keys, values work on arrays

Bug Fixes
Platform Specific Notes

Solaris, VMS, VOS

Acknowledgements

Reporting Bugs

SEE ALSO

perl5122delta - what is new for perl v5.12.2

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

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

Utility Changes
Changes to Existing Documentation
Installation and Configuration Improvements

Configuration improvements

Compilation improvements

Selected Bug Fixes
Platform Specific Notes

AIX

Windows

VMS

Acknowledgements

Reporting Bugs

SEE ALSO

perl5121delta - what is new for perl v5.12.1

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata

Pragmata Changes

Updated Modules

Changes to Existing Documentation
Testing

Testing Improvements

Installation and Configuration Improvements

Configuration improvements

Bug Fixes
Platform Specific Notes

HP-UX

AIX

FreeBSD 7

VMS

Known Problems

Acknowledgements

Reporting Bugs

SEE ALSO

perl5120delta - what is new for perl v5.12.0

DESCRIPTION
Core Enhancements

New package NAME VERSION syntax

The ... operator

Implicit strictures

Unicode improvements

Y2038 compliance

qr overloading

Pluggable keywords

APIs for more internals

Overridable function lookup

A proper interface for pluggable Method Resolution Orders

\N experimental regex escape

DTrace support

Support for configure_requires in CPAN module metadata

each, keys, values are now more flexible

when as a statement modifier

$, flexibility

// in when clauses

Enabling warnings from your shell environment

delete local

New support for Abstract namespace sockets

32-bit limit on substr arguments removed

Potentially Incompatible Changes
Deprecations warn by default
Version number formats
@INC reorganization
REGEXPs are now first class
Switch statement changes

flip-flop operators, defined-or operator

Smart match changes

Other potentially incompatible changes

Deprecations

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

Unicode overhaul
Modules and Pragmata
New Modules and Pragmata

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

Updated Pragmata

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

Updated Modules

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

Removed Modules and Pragmata

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

Deprecated Modules and Pragmata

Documentation

New Documentation

Changes to Existing Documentation

Selected Performance Enhancements
Installation and Configuration Improvements
Internal Changes
Testing
Testing improvements

Parallel tests, Test harness flexibility, Test watchdog

New Tests

New or Changed Diagnostics
New Diagnostics
Changed Diagnostics

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

Utility Changes
Selected Bug Fixes
Platform Specific Changes
New Platforms

Haiku, MirOS BSD

Discontinued Platforms

Domain/OS, MiNT, Tenon MachTen

Updated Platforms

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

Known Problems

Errata

Acknowledgements

Reporting Bugs

SEE ALSO

perl5101delta - what is new for perl v5.10.1

DESCRIPTION
Incompatible Changes
Switch statement changes

flip-flop operators, defined-or operator

Smart match changes

Other incompatible changes

Core Enhancements

Unicode Character Database 5.1.0

A proper interface for pluggable Method Resolution Orders

The overloading pragma

Parallel tests

DTrace support

Support for configure_requires in CPAN module metadata

Modules and Pragmata
New Modules and Pragmata

autodie, Compress::Raw::Bzip2, parent, Parse::CPAN::Meta

Pragmata Changes

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

Updated Modules

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

Utility Changes

h2ph, h2xs, perl5db.pl, perlthanks

New Documentation

perlhaiku, perlmroapi, perlperf, perlrepository, perlthanks

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

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

Selected Bug Fixes
New or Changed Diagnostics

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

Changed Internals

SVf_UTF8, SVs_TEMP

New Tests

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

Known Problems

Deprecations

Acknowledgements

Reporting Bugs

SEE ALSO

perl5100delta - what is new for perl 5.10.0

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

Recursive Patterns, Named Capture Buffers, Possessive Quantifiers, Backtracking control verbs, Relative backreferences, \K escape, Vertical and horizontal whitespace, and linebreak, Optional pre-match and post-match captures with the /p flag

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

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

Miscellaneous

UCD 5.0.0

MAD

kill() on Windows

Incompatible Changes

Packing and UTF-8 strings

Byte/character count feature in unpack()

The $* and $# variables have been removed

substr() lvalues are no longer fixed-length

Parsing of -f _

:unique

Effect of pragmas in eval

chdir FOO

Handling of .pmc files

$^V is now a version object instead of a v-string

@- and @+ in patterns

$AUTOLOAD can now be tainted

Tainting and printf

undef and signal handlers

strictures and dereferencing in defined()

(?p{}) has been removed

Pseudo-hashes have been removed

Removal of the bytecode compiler and of perlcc

Removal of the JPL

Recursive inheritance detected earlier

warnings::enabled and warnings::warnif changed to favor users of modules

Modules and Pragmata
Upgrading individual core modules
Pragmata Changes

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

New modules
Selected Changes to Core Modules

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

Utility Changes

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

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

Engine de-recursivised, Single char char-classes treated as literals, Trie optimisation of literal string alternations, Aho-Corasick start-point optimisation

Installation and Configuration Improvements
Configuration improvements

-Dusesitecustomize, Relocatable installations, strlcat() and strlcpy(), d_pseudofork and d_printf_format_null, Configure help

Compilation improvements

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

Installation improvements

Module auxiliary files

New Or Improved Platforms

Selected Bug Fixes

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

New or Changed Diagnostics

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

Changed Internals

Reordering of SVt_* constants

Elimination of SVt_PVBM

New type SVt_BIND

Removal of CPP symbols

Less space is used by ops

New parser

Use of const

Mathoms

AvFLAGS has been removed

av_* changes

$^H and %^H

B:: modules inheritance changed

Anonymous hash and array constructors

Known Problems

UTF-8 problems

Platform Specific Problems

Reporting Bugs

SEE ALSO

perl589delta - what is new for perl v5.8.9

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

${^CHILD_ERROR_NATIVE}, ${^UTF8CACHE}

readpipe is now overridable

simple exception handling macros

-D option enhancements

XS-assisted SWASHGET

Constant subroutines

New Platforms
Modules and Pragmata

New Modules

Updated Modules

Utility Changes

debugger upgraded to version 1.31

perlthanks

perlbug

h2xs

h2ph

New Documentation
Changes to Existing Documentation
Performance Enhancements
Installation and Configuration Improvements

Relocatable installations

Configuration improvements

Compilation improvements

Installation improvements.

Platform Specific Changes

Selected Bug Fixes

Unicode

PerlIO

Magic

Reblessing overloaded objects now works

strict now propagates correctly into string evals

Other fixes

Platform Specific Fixes

Smaller fixes

New or Changed Diagnostics

panic: sv_chop %s

Maximal count of pending signals (%s) exceeded

panic: attempt to call %s in %s

FETCHSIZE returned a negative value

Can't upgrade %s (%d) to %d

%s argument is not a HASH or ARRAY element or a subroutine

Cannot make the non-overridable builtin %s fatal

Unrecognized character '%s' in column %d

Offset outside string

Invalid escape in the specified encoding in regexp; marked by <-- HERE in m/%s/

Your machine doesn't support dump/undump.

Changed Internals

Macro cleanups

New Tests

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

Known Problems
Platform Specific Notes

Win32

OS/2

VMS

Obituary

Acknowledgements

Reporting Bugs

SEE ALSO

perl588delta - what is new for perl v5.8.8

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes

h2xs enhancements

perlivp enhancements

New Documentation
Performance Enhancements
Installation and Configuration Improvements
Selected Bug Fixes

no warnings 'category' works correctly with -w

Remove over-optimisation

sprintf() fixes

Debugger and Unicode slowdown

Smaller fixes

New or Changed Diagnostics

Attempt to set length of freed array

Non-string passed as bitmask

Search pattern not terminated or ternary operator parsed as search pattern

Changed Internals

Platform Specific Problems

Reporting Bugs

SEE ALSO

perl587delta - what is new for perl v5.8.7

DESCRIPTION
Incompatible Changes
Core Enhancements

Unicode Character Database 4.1.0

suidperl less insecure

Optional site customization script

Config.pm is now much smaller.

Modules and Pragmata
Utility Changes

find2perl enhancements

Performance Enhancements

Installation and Configuration Improvements

Selected Bug Fixes

New or Changed Diagnostics

Changed Internals

Known Problems

Platform Specific Problems

Reporting Bugs

SEE ALSO

perl586delta - what is new for perl v5.8.6

DESCRIPTION

Incompatible Changes

Core Enhancements

Modules and Pragmata

Utility Changes

Performance Enhancements

Selected Bug Fixes

New or Changed Diagnostics

Changed Internals

New Tests

Reporting Bugs

SEE ALSO

perl585delta - what is new for perl v5.8.5

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata
Utility Changes

Perl's debugger

h2ph

Installation and Configuration Improvements

Selected Bug Fixes

New or Changed Diagnostics

Changed Internals

Known Problems

Platform Specific Problems

Reporting Bugs

SEE ALSO

perl584delta - what is new for perl v5.8.4

DESCRIPTION
Incompatible Changes
Core Enhancements

Malloc wrapping

Unicode Character Database 4.0.1

suidperl less insecure

format

Modules and Pragmata
Updated modules

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

Performance Enhancements

Utility Changes

Installation and Configuration Improvements

Selected Bug Fixes

New or Changed Diagnostics

Changed Internals

Future Directions

Platform Specific Problems

Reporting Bugs

SEE ALSO

perl583delta - what is new for perl v5.8.3

DESCRIPTION
Incompatible Changes
Core Enhancements
Modules and Pragmata

CGI, Cwd, Digest, Digest::MD5, Encode, File::Spec, FindBin, List::Util, Math::BigInt, PodParser, Pod::Perldoc, POSIX, Unicode::Collate, Unicode::Normalize, Test::Harness, threads::shared

Utility Changes

New Documentation

Installation and Configuration Improvements

Selected Bug Fixes

New or Changed Diagnostics

Changed Internals

Configuration and Building

Platform Specific Problems

Known Problems

Future Directions

Obituary

Reporting Bugs

SEE ALSO

perl582delta - what is new for perl v5.8.2

DESCRIPTION
Incompatible Changes
Core Enhancements

Hash Randomisation

Threading

Modules and Pragmata
Updated Modules And Pragmata

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

Selected Bug Fixes

Changed Internals

Platform Specific Problems

Future Directions

Reporting Bugs

SEE ALSO

perl581delta - what is new for perl v5.8.1

DESCRIPTION
Incompatible Changes

Hash Randomisation

UTF-8 On Filehandles No Longer Activated By Locale

Single-number v-strings are no longer v-strings before "=>"

(Win32) The -C Switch Has Been Repurposed

(Win32) The /d Switch Of cmd.exe

Core Enhancements

UTF-8 no longer default under UTF-8 locales

Unsafe signals again available

Tied Arrays with Negative Array Indices

local ${$x}

Unicode Character Database 4.0.0

Deprecation Warnings

Miscellaneous Enhancements

Modules and Pragmata
Updated Modules And Pragmata

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

Utility Changes
New Documentation
Installation and Configuration Improvements

Platform-specific enhancements

Selected Bug Fixes

Closures, eval and lexicals

Generic fixes

Platform-specific fixes

New or Changed Diagnostics

Changed "A thread exited while %d threads were running"

Removed "Attempt to clear a restricted hash"

New "Illegal declaration of anonymous subroutine"

Changed "Invalid range "%s" in transliteration operator"

New "Missing control char name in \c"

New "Newline in left-justified string for %s"

New "Possible precedence problem on bitwise %c operator"

New "Pseudo-hashes are deprecated"

New "read() on %s filehandle %s"

New "5.005 threads are deprecated"

New "Tied variable freed while still in use"

New "To%s: illegal mapping '%s'"

New "Use of freed value in iteration"

Changed Internals
New Tests
Known Problems

Tied hashes in scalar context

Net::Ping 450_service and 510_ping_udp failures

B::C

Platform Specific Problems

EBCDIC Platforms

Cygwin 1.5 problems

HP-UX: HP cc warnings about sendfile and sendpath

IRIX: t/uni/tr_7jis.t falsely failing

Mac OS X: no usemymalloc

Tru64: No threaded builds with GNU cc (gcc)

Win32: sysopen, sysread, syswrite

Future Directions

Reporting Bugs

SEE ALSO

perl58delta - what is new for perl v5.8.0

DESCRIPTION
Highlights In 5.8.0
Incompatible Changes

Binary Incompatibility

64-bit platforms and malloc

AIX Dynaloading

Attributes for my variables now handled at run-time

Socket Extension Dynamic in VMS

IEEE-format Floating Point Default on OpenVMS Alpha

New Unicode Semantics (no more use utf8, almost)

New Unicode Properties

REF(...) Instead Of SCALAR(...)

pack/unpack D/F recycled

glob() now returns filenames in alphabetical order

Deprecations

Core Enhancements

Unicode Overhaul

PerlIO is Now The Default

ithreads

Restricted Hashes

Safe Signals

Understanding of Numbers

Arrays now always interpolate into double-quoted strings [561]

Miscellaneous Changes

Modules and Pragmata

New Modules and Pragmata

Updated And Improved Modules and Pragmata

Utility Changes
New Documentation
Performance Enhancements
Installation and Configuration Improvements

Generic Improvements

New Or Improved Platforms

Selected Bug Fixes

Platform Specific Changes and Fixes

New or Changed Diagnostics
Changed Internals
Security Vulnerability Closed [561]
New Tests
Known Problems

The Compiler Suite Is Still Very Experimental

Localising Tied Arrays and Hashes Is Broken

Building Extensions Can Fail Because Of Largefiles

Modifying $_ Inside for(..)

mod_perl 1.26 Doesn't Build With Threaded Perl

lib/ftmp-security tests warn 'system possibly insecure'

libwww-perl (LWP) fails base/date #51

PDL failing some tests

Perl_get_sv

Self-tying Problems

ext/threads/t/libc

Failure of Thread (5.005-style) tests

Timing problems

Tied/Magical Array/Hash Elements Do Not Autovivify

Unicode in package/class and subroutine names does not work

Platform Specific Problems

AIX

Alpha systems with old gccs fail several tests

AmigaOS

BeOS

Cygwin "unable to remap"

Cygwin ndbm tests fail on FAT

DJGPP Failures

FreeBSD built with ithreads coredumps reading large directories

FreeBSD Failing locale Test 117 For ISO 8859-15 Locales

IRIX fails ext/List/Util/t/shuffle.t or Digest::MD5

HP-UX lib/posix Subtest 9 Fails When LP64-Configured

Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint

Linux With Sfio Fails op/misc Test 48

Mac OS X

Mac OS X dyld undefined symbols

OS/2 Test Failures

op/sprintf tests 91, 129, and 130

SCO

Solaris 2.5

Solaris x86 Fails Tests With -Duse64bitint

SUPER-UX (NEC SX)

Term::ReadKey not working on Win32

UNICOS/mk

UTS

VOS (Stratus)

VMS

Win32

XML::Parser not working

z/OS (OS/390)

Unicode Support on EBCDIC Still Spotty

Seen In Perl 5.7 But Gone Now

Reporting Bugs

SEE ALSO

HISTORY

perl561delta - what's new for perl v5.6.1

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

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

Core features
Configuration issues
Documentation
Bundled modules

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

Platform-specific improvements

NCR MP-RAS, NonStop-UX

Core Enhancements

Interpreter cloning, threads, and concurrency

Lexically scoped warning categories

Unicode and UTF-8 support

Support for interpolating named characters

"our" declarations

Support for strings represented as a vector of ordinals

Improved Perl version numbering system

New syntax for declaring subroutine attributes

File and directory handles can be autovivified

open() with more than two arguments

64-bit support

Large file support

Long doubles

"more bits"

Enhanced support for sort() subroutines

sort $coderef @foo allowed

File globbing implemented internally

Support for CHECK blocks

POSIX character class syntax [: :] supported

Better pseudo-random number generator

Improved qw// operator

Better worst-case behavior of hashes

pack() format 'Z' supported

pack() format modifier '!' supported

pack() and unpack() support counted strings

Comments in pack() templates

Weak references

Binary numbers supported

Lvalue subroutines

Some arrows may be omitted in calls through references

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

perlcommunity - a brief overview of the Perl community

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

<https://perl.com/>, <http://blogs.perl.org/>, <https://perl.theplanetarium.org/>, <https://perlweekly.com/>, <https://www.perlmonks.org/>, <https://stackoverflow.com/>

User Groups
Workshops
Hackathons
Conventions

The Perl Conference, OSCON

Calendar of Perl Events

AUTHOR

perldoc - Look up Perl documentation in Pod format.

SYNOPSIS
DESCRIPTION
OPTIONS

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

SECURITY

ENVIRONMENT

CHANGES

SEE ALSO

AUTHOR

perlexperiment - A listing of experimental features in Perl

DESCRIPTION
Current experiments

Smart match (~~), Pluggable keywords, Aliasing via reference, The "const" attribute, 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, for loop with multiple iteration variables, The builtin namespace, The defer block modifier, Extra paired delimiters for quote-like operators

Accepted features

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

Removed features

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

SEE ALSO

AUTHORS

COPYRIGHT

LICENSE

perlartistic - the Perl Artistic License

SYNOPSIS
DESCRIPTION
The "Artistic License"
Preamble
Definitions

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

Conditions

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

perlgpl - the GNU General Public License, version 1

SYNOPSIS

DESCRIPTION

GNU GENERAL PUBLIC LICENSE

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

DESCRIPTION

Compiling Perl 5 on AIX

Supported Compilers

Incompatibility with AIX Toolbox lib gdbm

Perl 5 was successfully compiled and tested on:

Building Dynamic Extensions on AIX

Using Large Files with Perl

Threaded Perl

64-bit Perl

Long doubles

Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit)

Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit)

Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit)

Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)

Compiling Perl 5 on AIX 7.1.0

Compiling Perl 5 on older AIX versions up to 4.3.3

OS level

Building Dynamic Extensions on AIX < 5L

The IBM ANSI C Compiler

The usenm option

Using GNU's gcc for building Perl

Using Large Files with Perl < 5L

Threaded Perl < 5L

64-bit Perl < 5L

AIX 4.2 and extensions using C++ with statics

AUTHORS

perlamiga - Perl under AmigaOS 4.1

NOTE
SYNOPSIS
DESCRIPTION
Prerequisites for running Perl 5.22.1 under AmigaOS 4.1

AmigaOS 4.1 update 6 with all updates applied as of 9th October 2013, newlib.library version 53.28 or greater, AmigaOS SDK, abc-shell

Starting Perl programs under AmigaOS 4.1
Limitations of Perl under AmigaOS 4.1

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

INSTALLATION
Amiga Specific Modules

Amiga::ARexx

Amiga::Exec

BUILDING
CHANGES

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

SEE ALSO

perlandroid - Perl under Android

SYNOPSIS
DESCRIPTION
Cross-compilation

Get the Android Native Development Kit (NDK)

Determine the architecture you'll be cross-compiling for

Set up a standalone toolchain

adb or ssh?

Configure and beyond

Native Builds

CCTools

Termux

AUTHOR

perlbs2000 - building and installing Perl for BS2000.

SYNOPSIS
DESCRIPTION

gzip on BS2000

bison on BS2000

Unpacking Perl Distribution on BS2000

Compiling Perl on BS2000

Testing Perl on BS2000

Installing Perl on BS2000

Using Perl in the Posix-Shell of BS2000

Using Perl in "native" BS2000

Floating point anomalies on BS2000

Using PerlIO and different encodings on ASCII and EBCDIC partitions

AUTHORS
SEE ALSO

Mailing list

HISTORY

perlcygwin - Perl for Cygwin

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

PATH, nroff

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

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

Configure-time Options for Perl on Cygwin

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

MAKE ON CYGWIN
TEST ON CYGWIN

File Permissions on Cygwin

NDBM_File and ODBM_File do not work on FAT filesystems

fork() failures in io_* tests

Specific features of the Cygwin port
Script Portability on Cygwin

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

Prebuilt methods:

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

INSTALL PERL ON CYGWIN
MANIFEST ON CYGWIN

Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests

BUGS ON CYGWIN

AUTHORS

HISTORY

perlfreebsd - Perl version 5 on FreeBSD systems

DESCRIPTION

FreeBSD core dumps from readdir_r with ithreads

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

AUTHOR

perlhaiku - Perl version 5.10+ on Haiku

DESCRIPTION

BUILD AND INSTALL

KNOWN PROBLEMS

CONTACT

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

DESCRIPTION

Using perl as shipped with HP-UX

Using perl from HP's porting centre

Other prebuilt perl binaries

Compiling Perl 5 on HP-UX

PA-RISC

PA-RISC 1.0

PA-RISC 1.1

PA-RISC 2.0

Portability Between PA-RISC Versions

Itanium Processor Family (IPF) and HP-UX

Itanium, Itanium 2 & Madison 6

HP-UX versions

Building Dynamic Extensions on HP-UX

The HP ANSI C Compiler

The GNU C Compiler

Using Large Files with Perl on HP-UX

Threaded Perl on HP-UX

64-bit Perl on HP-UX

Oracle on HP-UX

GDBM and Threads on HP-UX

NFS filesystems and utime(2) on HP-UX

HP-UX Kernel Parameters (maxdsiz) for Compiling Perl

nss_delete core dump from op/pwent or op/grent

error: pasting ")" and "l" does not give a valid preprocessing token

Redeclaration of "sendpath" with a different storage class specifier

Miscellaneous

AUTHOR

perlhurd - Perl version 5 on Hurd

DESCRIPTION

Known Problems with Perl on Hurd

AUTHOR

perlirix - Perl version 5 on Irix systems

DESCRIPTION

Building 32-bit Perl in Irix

Building 64-bit Perl in Irix

About Compiler Versions of Irix

Linker Problems in Irix

Malloc in Irix

Building with threads in Irix

Irix 5.3

AUTHOR

perllinux - Perl version 5 on Linux systems

DESCRIPTION

Deploying Perl on Linux

Experimental Support for Sun Studio Compilers for Linux OS

AUTHOR

perlmacosx - Perl under Mac OS X

SYNOPSIS
DESCRIPTION

Installation Prefix

SDK support

Universal Binary support

64-bit PPC support

libperl and Prebinding

Updating Apple's Perl

Known problems

Cocoa

Starting From Scratch

AUTHOR

DATE

perlopenbsd - Perl version 5 on OpenBSD systems

DESCRIPTION

OpenBSD core dumps from getprotobyname_r and getservbyname_r with ithreads

AUTHOR

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

SYNOPSIS
DESCRIPTION
Target
Other OSes
Prerequisites

EMX, RSX, HPFS, pdksh

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

Starting OS/2 (and DOS) programs under Perl

Frequently asked questions
"It does not work"
I cannot run external programs
I cannot embed perl into my program, or use perl.dll from my program.

Is your program EMX-compiled with -Zmt -Zcrtdll?, Did you use ExtUtils::Embed?

`` and pipe-open do not work under DOS.

Cannot start find.exe "pattern" file

INSTALLATION
Automatic binary installation

PERL_BADLANG, PERL_BADFREE, Config.pm

Manual binary installation

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

Warning

Accessing documentation

OS/2 .INF file

Plain text

Manpages

HTML

GNU info files

PDF files

LaTeX docs

BUILD
The short story
Prerequisites
Getting perl source
Application of the patches
Hand-editing
Making
Testing

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

Installing the built perl

a.out-style build

Building a binary distribution
Building custom .EXE files

Making executables with a custom collection of statically loaded extensions

Making executables with a custom search-paths

Build FAQ

Some / became \ in pdksh.

'errno' - unresolved external

Problems with tr or sed

Some problem (forget which ;-)

Library ... not found

Segfault in make

op/sprintf test failure

Specific (mis)features of OS/2 port
setpriority, getpriority
system()
extproc on the first line
Additional modules:
Prebuilt methods:

File::Copy::syscopy, DynaLoader::mod2fname,  Cwd::current_drive(),
Cwd::sys_chdir(name),  Cwd::change_drive(name),  Cwd::sys_is_absolute(name), Cwd::sys_is_rooted(name),  Cwd::sys_is_relative(name), Cwd::sys_cwd(name),  Cwd::sys_abspath(name, dir),  Cwd::extLibpath([type]),  Cwd::extLibpath_set( path [, type ] ), OS2::Error(do_harderror,do_exception), OS2::Errors2Drive(drive), OS2::SysInfo(), OS2::BootDrive(), OS2::MorphPM(serve), OS2::UnMorphPM(serve), OS2::Serve_Messages(force), OS2::Process_Messages(force [, cnt]), OS2::_control87(new,mask), OS2::get_control87(), OS2::set_control87_em(new=MCW_EM,mask=MCW_EM), OS2::DLLname([how [, \&xsub]])

Prebuilt variables:

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

Misfeatures
Modifications

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

Identifying DLLs
Centralized management of resources

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

Perl flavors

perl.exe

perl_.exe

perl__.exe

perl___.exe

Why strange names?

Why dynamic linking?

Why chimera build?

ENVIRONMENT

PERLLIB_PREFIX

PERL_BADLANG

PERL_BADFREE

PERL_SH_DIR

USE_PERL_FLOCK

TMP or TEMP

Evolution
Text-mode filehandles
Priorities
DLL name mangling: pre 5.6.2
DLL name mangling: 5.6.2 and beyond

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

DLL forwarder generation
Threading
Calls to external programs
Memory allocation
Threads

COND_WAIT, os2.c

BUGS

AUTHOR

SEE ALSO

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

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

For ASCII Only:, For ASCII or EBCDIC:

AUTHORS

OTHER SITES

HISTORY

perlos400 - Perl version 5 on OS/400

DESCRIPTION

Compiling Perl for OS/400 PASE

Installing Perl in OS/400 PASE

Using Perl in OS/400 PASE

Known Problems

Perl on ILE

AUTHORS

perlplan9 - Plan 9-specific documentation for Perl

DESCRIPTION

Invoking Perl

What's in Plan 9 Perl

What's not in Plan 9 Perl

Perl5 Functions not currently supported in Plan 9 Perl

Signals in Plan 9 Perl

COMPILING AND INSTALLING PERL ON PLAN 9

Installing Perl Documentation on Plan 9

BUGS

Revision date

AUTHOR

perlqnx - Perl version 5 on QNX

DESCRIPTION
Required Software for Compiling Perl on QNX4

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

Outstanding Issues with Perl on QNX4
QNX auxiliary files

qnx/ar, qnx/cpp

Outstanding issues with perl under QNX6

Cross-compilation

AUTHOR

perlriscos - Perl version 5 for RISC OS

DESCRIPTION

BUILD

AUTHOR

perlsolaris - Perl version 5 on Solaris systems

DESCRIPTION

Solaris Version Numbers.

RESOURCES

Solaris FAQ, Precompiled Binaries, Solaris Documentation

SETTING UP

File Extraction Problems on Solaris.

Compiler and Related Tools on Solaris.

Environment for Compiling perl on Solaris

RUN CONFIGURE.

64-bit perl on Solaris.

Threads in perl on Solaris.

Malloc Issues with perl on Solaris.

MAKE PROBLEMS.

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

MAKE TEST

op/stat.t test 4 in Solaris

nss_delete core dump from op/pwent or op/grent

CROSS-COMPILATION
PREBUILT BINARIES OF PERL FOR SOLARIS.
RUNTIME ISSUES FOR PERL ON SOLARIS.

Limits on Numbers of Open Files on Solaris.

SOLARIS-SPECIFIC MODULES.
SOLARIS-SPECIFIC PROBLEMS WITH MODULES.

Proc::ProcessTable on Solaris

BSD::Resource on Solaris

Net::SSLeay on Solaris

SunOS 4.x

AUTHOR

perlsynology - Perl 5 on Synology DSM systems

DESCRIPTION
Setting up the build environment
Compiling Perl 5
Known problems

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

Smoke testing Perl

Adding libraries

REVISION

AUTHOR

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

DESCRIPTION

Compiling Perl 5 on Tru64

Using Large Files with Perl on Tru64

Threaded Perl on Tru64

Long Doubles on Tru64

DB_File tests failing on Tru64

64-bit Perl on Tru64

Warnings about floating-point overflow when compiling Perl on Tru64

Testing Perl on Tru64

ext/ODBM_File/odbm Test Failing With Static Builds

Perl Fails Because Of Unresolved Symbol sockatmark

read_cur_obj_info: bad file magic number

AUTHOR

perlvms - VMS-specific documentation for Perl

DESCRIPTION
Installation
Organization of Perl Images

Core Images

Perl Extensions

Installing static extensions

Installing dynamic extensions

File specifications

Syntax

Filename Case

Symbolic Links

Wildcard expansion

Pipes

PERL5LIB and PERLLIB
The Perl Forked Debugger
PERL_VMS_EXCEPTION_DEBUG
Command line
I/O redirection and backgrounding
Command line switches

-i, -S, -u

Perl functions

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

Perl variables

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

Standard modules with VMS-specific differences

SDBM_File

Revision date

AUTHOR

perlvos - Perl for Stratus OpenVOS

SYNOPSIS
BUILDING PERL FOR OPENVOS
INSTALLING PERL IN OPENVOS
USING PERL IN OPENVOS

Restrictions of Perl on OpenVOS

TEST STATUS

SUPPORT STATUS

AUTHOR

LAST UPDATE

perlwin32 - Perl under Windows

SYNOPSIS
DESCRIPTION

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

Setting Up Perl on Windows

Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2013-2022 Community Edition, Microsoft C++ Build Tools, GCC, Intel C++ Compiler

Building
Testing Perl on Windows
Installation of Perl on Windows
Usage Hints for Perl on Windows

Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Notes on 64-bit Windows

Running Perl Scripts

Miscellaneous Things

BUGS AND CAVEATS
ACKNOWLEDGEMENTS
AUTHORS

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

SEE ALSO

HISTORY

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

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

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

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

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

FUNCTIONS

true

false

is_bool

weaken

unweaken

is_weak

blessed

refaddr

reftype

created_as_string

created_as_number

ceil

floor

indexed

trim

is_tainted

export_lexically

SEE ALSO

bytes - Perl pragma to expose the individual bytes of characters

NOTICE

SYNOPSIS

DESCRIPTION

LIMITATIONS

SEE ALSO

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

SYNOPSIS

DESCRIPTION

LOOSE MATCHES

ALIASES

CUSTOM ALIASES

charnames::string_vianame(name)

charnames::vianame(name)

charnames::viacode(code)

CUSTOM TRANSLATORS

BUGS

constant - Perl pragma to declare constants

SYNOPSIS
DESCRIPTION
NOTES

List constants

Defining multiple constants at once

Magic constants

TECHNICAL NOTES

CAVEATS

SEE ALSO

BUGS

AUTHORS

COPYRIGHT & LICENSE

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

SYNOPSIS
DESCRIPTION

Important Caveat

EXPORT

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

diagnostics, splain - produce verbose warning diagnostics

SYNOPSIS
DESCRIPTION

The diagnostics Pragma

The splain Program

EXAMPLES

INTERNALS

BUGS

AUTHOR

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

WARNING
SYNOPSIS
DESCRIPTION

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

OPTIONS

Setting STDIN and/or STDOUT individually

The :locale sub-pragma

CAVEATS
SIDE EFFECTS
DO NOT MIX MULTIPLE ENCODINGS
Prior to Perl v5.22
Prior to Encode version 1.87
Prior to Perl v5.8.1

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

EXAMPLE - Greekperl
BUGS

Thread safety, Can't be used by more than one module in a single program, Other modules using STDIN and STDOUT get the encoded stream, literals in regex that are longer than 127 bytes, EBCDIC, format, See also "CAVEATS" in encoding

HISTORY

SEE ALSO

encoding::warnings - Warn on implicit encoding conversions

VERSION
NOTICE
SYNOPSIS
DESCRIPTION
Overview of the problem
Detecting the problem
Solving the problem

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

CAVEATS

SEE ALSO

AUTHORS

COPYRIGHT

experimental - Experimental features made easy

VERSION
SYNOPSIS
DESCRIPTION

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

Ordering matters

Disclaimer

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

feature - Perl pragma to enable new features

SYNOPSIS
DESCRIPTION

Lexical effect

no feature

AVAILABLE FEATURES

The 'say' feature

The 'state' feature

The 'switch' feature

The 'unicode_strings' feature

The 'unicode_eval' and 'evalbytes' features

The 'current_sub' feature

The 'array_base' feature

The 'fc' feature

The 'lexical_subs' feature

The 'postderef' and 'postderef_qq' features

The 'signatures' feature

The 'refaliasing' feature

The 'bitwise' feature

The 'declared_refs' feature

The 'isa' feature

The 'indirect' feature

The 'multidimensional' feature

The 'bareword_filehandles' feature

The 'try' feature

The 'defer' feature

The 'extra_paired_delimiters' feature

The 'module_true' feature

The 'class' feature

FEATURE BUNDLES
IMPLICIT LOADING
CHECKING FEATURES

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

fields - compile-time class fields

SYNOPSIS
DESCRIPTION

new, phash

SEE ALSO

filetest - Perl pragma to control the filetest permission operators

SYNOPSIS
DESCRIPTION

Consider this carefully

The "access" sub-pragma

Limitation with regard to _

if - use a Perl module if a condition holds

SYNOPSIS
DESCRIPTION

use if

no if

BUGS

SEE ALSO

AUTHOR

COPYRIGHT AND LICENCE

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

SYNOPSIS

DESCRIPTION

less - perl pragma to request less of something

SYNOPSIS
DESCRIPTION
FOR MODULE AUTHORS

BOOLEAN = less->of( FEATURE )

FEATURES = less->of()

CAVEATS

This probably does nothing, This works only on 5.10+

lib - manipulate @INC at compile time

SYNOPSIS
DESCRIPTION

Adding directories to @INC

Deleting directories from @INC

Restoring original @INC

CAVEATS

NOTES

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

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

WARNING

SYNOPSIS

DESCRIPTION

mro - Method Resolution Order

SYNOPSIS
DESCRIPTION
OVERVIEW
The C3 MRO

What is C3?

How does C3 work

Functions

mro::get_linear_isa($classname[, $type])

mro::set_mro ($classname, $type)

mro::get_mro($classname)

mro::get_isarev($classname)

mro::is_universal($classname)

mro::invalidate_all_method_caches()

mro::method_changed_in($classname)

mro::get_pkg_gen($classname)

next::method

next::can

maybe::next::method

SEE ALSO
The original Dylan paper

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

Python 2.3 MRO

<https://www.python.org/download/releases/2.3/mro/>

Class::C3

Class::C3

AUTHOR

ok - Alternative to Test::More::use_ok

SYNOPSIS

DESCRIPTION

CC0 1.0 Universal

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

SYNOPSIS

DESCRIPTION

IMPLEMENTATION DETAILS

SEE ALSO

ops - Perl pragma to restrict unsafe operations when compiling

SYNOPSIS

DESCRIPTION

SEE ALSO

overload - Package for overloading Perl operations

SYNOPSIS
DESCRIPTION
Fundamentals
Overloadable Operations

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

Magic Autogeneration
Special Keys for use overload

defined, but FALSE, undef, TRUE

How Perl Chooses an Operator Implementation
Losing Overloading
Inheritance and Overloading

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

Run-time Overloading
Public Functions

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

Overloading Constants

integer, float, binary, q, qr

IMPLEMENTATION
COOKBOOK

Two-face Scalars

Two-face References

Symbolic Calculator

Really Symbolic Calculator

AUTHOR
SEE ALSO
DIAGNOSTICS

Odd number of arguments for overload::constant, '%s' is not an overloadable type, '%s' is not a code reference, overload arg '%s' is invalid

BUGS AND PITFALLS

overloading - perl pragma to lexically control overloading

SYNOPSIS
DESCRIPTION

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

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

SYNOPSIS
DESCRIPTION
HISTORY
CAVEATS
SEE ALSO

base, parent::versioned

AUTHORS AND CONTRIBUTORS

MAINTAINER

LICENSE

re - Perl pragma to alter regular expression behaviour

SYNOPSIS
DESCRIPTION
'taint' mode
'eval' mode
'strict' mode
'/flags' mode
'debug' mode
'Debug' mode

Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, FLAGS, TEST, Execute related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options, EXTRA, BUFFERS, TRIEM, STATE, STACK, GPOS, OPTIMISEM, DUMP_PRE_OPTIMIZE, WILDCARD, Other useful flags, ALL, All, MORE, More

Exportable Functions

is_regexp($ref), regexp_pattern($ref), regname($name,$all), regnames($all), regnames_count(), regmust($ref), optimization($ref), minlen, minlenret, gofs, noscan, isall, anchor SBOL, anchor MBOL, anchor GPOS, skip, implicit, anchored/floating, anchored utf8/floating utf8, anchored min offset/floating min offset, anchored max offset/floating max offset, anchored end shift/floating end shift, checking, stclass

SEE ALSO

sigtrap - Perl pragma to enable simple signal handling

SYNOPSIS
DESCRIPTION
OPTIONS
SIGNAL HANDLERS

stack-trace, die, handler your-handler

SIGNAL LISTS

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

OTHER

untrapped, any, signal, number

EXAMPLES

sort - perl pragma to control sort() behaviour

SYNOPSIS

DESCRIPTION

CAVEATS

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

VERSION
SYNOPSIS
DESCRIPTION

bitwise - stable as of perl 5.22, available via stable 0.031, isa - stable as of perl 5.32, available via stable 0.031, lexical_subs - stable as of perl 5.22, available via stable 0.031, postderef - stable as of perl 5.20, available via stable 0.031

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

strict - Perl pragma to restrict unsafe constructs

SYNOPSIS
DESCRIPTION

strict refs, strict vars, strict subs

HISTORY

subs - Perl pragma to predeclare subroutine names

SYNOPSIS

DESCRIPTION

threads - Perl interpreter-based threads

VERSION
WARNING
SYNOPSIS
DESCRIPTION

$thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(), threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr", threads->object($tid), threads->yield(), threads->list(), threads->list(threads::all), threads->list(threads::running), threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;, $thr->error(), $thr->_handle(), threads->_handle()

EXITING A THREAD

threads->exit(), threads->exit(status), die(), exit(status), use threads 'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...), $thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean)

THREAD STATE

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

THREAD CONTEXT

Explicit context

Implicit context

$thr->wantarray()

threads->wantarray()

THREAD STACK SIZE

threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size = threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);, $ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE}, FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS)

THREAD SIGNALLING

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

WARNINGS

Perl exited with active threads:, Thread creation failed: pthread_create returned #, Thread # terminated abnormally: .., Using minimum thread stack size of #, Thread creation failed: pthread_attr_setstacksize(SIZE) returned 22

ERRORS

This Perl not built to support threads, Cannot change stack size of an existing thread, Cannot signal threads without safe signals, Unrecognized signal name: ..

BUGS AND LIMITATIONS

Thread-safe modules, Using non-thread-safe modules, Memory consumption, Current working directory, Locales, Environment variables, Catching signals, Parent-child threads, Unsafe signals, Perl has been built with PERL_OLD_SIGNALS (see perl -V), The environment variable PERL_SIGNALS is set to unsafe (see "PERL_SIGNALS" in perlrun), The module Perl::Unsafe::Signals is used, Identity of objects returned from threads, Returning blessed objects from threads, END blocks in threads, Open directory handles, Detached threads and global destruction, Perl Bugs and the CPAN Version of threads

REQUIREMENTS

SEE ALSO

AUTHOR

LICENSE

ACKNOWLEDGEMENTS

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

VERSION
SYNOPSIS
DESCRIPTION
EXPORT
FUNCTIONS

share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE

OBJECTS
NOTES
WARNINGS

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

BUGS AND LIMITATIONS

SEE ALSO

AUTHOR

LICENSE

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

SYNOPSIS
DESCRIPTION
Utility functions

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

BUGS

SEE ALSO

vars - Perl pragma to predeclare global variable names

SYNOPSIS

DESCRIPTION

version - Perl extension for Version Objects

SYNOPSIS
DESCRIPTION
TYPES OF VERSION OBJECTS

Decimal Versions, Dotted Decimal Versions

DECLARING VERSIONS

How to convert a module from decimal to dotted-decimal

How to declare() a dotted-decimal version

PARSING AND COMPARING VERSIONS
How to parse() a version
How to check for a legal version string

is_lax(), is_strict()

How to compare version objects

OBJECT METHODS

is_alpha()

is_qv()

normal()

numify()

stringify()

EXPORTED FUNCTIONS

qv()

is_lax()

is_strict()

AUTHOR

SEE ALSO

version::Internals - Perl extension for Version Objects

DESCRIPTION
WHAT IS A VERSION?

Decimal versions, Dotted-Decimal versions

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

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

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

original, qv, alpha, version

Replacement UNIVERSAL::VERSION

USAGE DETAILS
Using modules that use version.pm

Decimal versions always work, Dotted-Decimal version work sometimes

Object Methods

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

AUTHOR

SEE ALSO

vmsish - Perl pragma to control VMS-specific language features

SYNOPSIS
DESCRIPTION

vmsish status, vmsish exit, vmsish time, vmsish hushed

warnings - Perl pragma to control optional warnings

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

-w , -W , -X

Backward Compatibility

Category Hierarchy

Fatal Warnings

Reporting Warnings from a Module

FUNCTIONS

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

warnings::register - warnings import function

SYNOPSIS

DESCRIPTION

Module Documentation

AnyDBM_File - provide framework for multiple DBMs

SYNOPSIS
DESCRIPTION
DBM Comparisons

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

SEE ALSO

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

SYNOPSIS
DESCRIPTION
Options

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

Examples
Environment variables

NONINTERACTIVE_TESTING, PERL_MM_USE_DEFAULT, CPAN_OPTS, CPANSCRIPT_LOGLEVEL, GIT_COMMAND

Methods

run( ARGS )

EXIT VALUES

TO DO

BUGS

SEE ALSO

SOURCE AVAILABILITY

CREDITS

AUTHOR

COPYRIGHT

App::Prove - Implements the prove command.

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods

Attributes

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

PLUGINS

Sample Plugin

SEE ALSO

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

VERSION
DESCRIPTION
SYNOPSIS
METHODS
Class Methods

store, extensions (optional), result_class (optional)

result_class
extensions
results
commit
Instance Methods

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

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

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods

state_version

test_class

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

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods

Instance Methods

Archive::Tar - module for manipulations of tar archives

SYNOPSIS
DESCRIPTION
Object Methods

Archive::Tar->new( [$file, $compressed] )

$tar->read ( $filename|$handle, [$compressed, {opt => 'val'}] )

limit, filter, md5, extract

$tar->contains_file( $filename )
$tar->extract( [@filenames] )
$tar->extract_file( $file, [$extract_path] )
$tar->list_files( [\@properties] )
$tar->get_files( [@filenames] )
$tar->get_content( $file )
$tar->replace_content( $file, $content )
$tar->rename( $file, $new_name )
$tar->chmod( $file, $mode )
$tar->chown( $file, $uname [, $gname] )
$tar->remove (@filenamelist)
$tar->clear
$tar->write ( [$file, $compressed, $prefix] )
$tar->add_files( @filenamelist )
$tar->add_data ( $filename, $data, [$opthashref] )

FILE, HARDLINK, SYMLINK, CHARDEV, BLOCKDEV, DIR, FIFO, SOCKET

$tar->error( [$BOOL] )
$tar->setcwd( $cwd );
Class Methods

Archive::Tar->create_archive($file, $compressed, @filelist)

Archive::Tar->iter( $filename, [ $compressed, {opt => $val} ] )
Archive::Tar->list_archive($file, $compressed, [\@properties])
Archive::Tar->extract_archive($file, $compressed)
$bool = Archive::Tar->has_io_string
$bool = Archive::Tar->has_perlio
$bool = Archive::Tar->has_zlib_support
$bool = Archive::Tar->has_bzip2_support
$bool = Archive::Tar->has_xz_support
Archive::Tar->can_handle_compressed_files
GLOBAL VARIABLES

$Archive::Tar::FOLLOW_SYMLINK

$Archive::Tar::CHOWN

$Archive::Tar::CHMOD

$Archive::Tar::SAME_PERMISSIONS

$Archive::Tar::DO_NOT_USE_PREFIX

$Archive::Tar::DEBUG

$Archive::Tar::WARN

$Archive::Tar::error

$Archive::Tar::INSECURE_EXTRACT_MODE

$Archive::Tar::HAS_PERLIO

$Archive::Tar::HAS_IO_STRING

$Archive::Tar::ZERO_PAD_NUMBERS

Tuning the way RESOLVE_SYMLINK will works

FAQ

What's the minimum perl version required to run Archive::Tar?, Isn't Archive::Tar slow?, Isn't Archive::Tar heavier on memory than /bin/tar?, Can you lazy-load data instead?, How much memory will an X kb tar file need?, What do you do with unsupported filetypes in an archive?, I'm using WinZip, or some other non-POSIX client, and files are not being extracted properly!, How do I extract only files that have property X from an archive?, How do I access .tar.Z files?, How do I handle Unicode strings?

CAVEATS
TODO

Check if passed in handles are open for read/write, Allow archives to be passed in as string, Facilitate processing an opened filehandle of a compressed archive

SEE ALSO

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

AUTHOR

ACKNOWLEDGEMENTS

COPYRIGHT

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

SYNOPSIS
DESCRIPTION
Accessors

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

Methods

Archive::Tar::File->new( file => $path )

Archive::Tar::File->new( data => $path, $data, $opt )

Archive::Tar::File->new( chunk => $chunk )

$bool = $file->extract( [ $alternative_name ] )
$path = $file->full_path
$bool = $file->validate
$bool = $file->has_content
$content = $file->get_content
$cref = $file->get_content_by_ref
$bool = $file->replace_content( $content )
$bool = $file->rename( $new_name )
$bool = $file->chmod $mode)
$bool = $file->chown( $user [, $group])
Convenience methods

$file->is_file, $file->is_dir, $file->is_hardlink, $file->is_symlink, $file->is_chardev, $file->is_blockdev, $file->is_fifo, $file->is_socket, $file->is_longlink, $file->is_label, $file->is_unknown

Attribute::Handlers - Simpler definition of attribute handlers

VERSION
SYNOPSIS
DESCRIPTION

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

Typed lexicals

Type-specific attribute handlers

Non-interpretive attribute handlers

Phase-specific attribute handlers

Attributes as tie interfaces

EXAMPLES
UTILITY FUNCTIONS

findsym

DIAGNOSTICS

Bad attribute type: ATTR(%s), Attribute handler %s doesn't handle %s attributes, Declaration of %s attribute in package %s may clash with future reserved word, Can't have two ATTR specifiers on one subroutine, Can't autotie a %s, Internal error: %s symbol went missing, Won't be able to apply END handler

AUTHOR

BUGS

COPYRIGHT AND LICENSE

AutoLoader - load subroutines only on demand

SYNOPSIS
DESCRIPTION

Subroutine Stubs

Using AutoLoader's AUTOLOAD Subroutine

Overriding AutoLoader's AUTOLOAD Subroutine

Package Lexicals

Not Using AutoLoader

AutoLoader vs. SelfLoader

Forcing AutoLoader to Load a Function

CAVEATS

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

AutoSplit - split a package for autoloading

SYNOPSIS
DESCRIPTION

$keep, $check, $modtime

Multiple packages

DIAGNOSTICS

AUTHOR

COPYRIGHT AND LICENSE

B - The Perl Compiler Backend

SYNOPSIS
DESCRIPTION
OVERVIEW
Utility Functions
Functions Returning B::SV, B::AV, B::HV, and B::CV objects

sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, check_av, unitcheck_av, begin_av, end_av, comppadlist, regex_padav, main_cv

Functions for Examining the Symbol Table

walksymtable(SYMREF, METHOD, RECURSE, PREFIX)

Functions Returning B::OP objects or for walking op trees

main_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG)

Miscellaneous Utility Functions

ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), perlstring(STR), safename(STR), class(OBJ), threadsv_names

Exported utility variables

@optype, @specialsv_name

OVERVIEW OF CLASSES
SV-RELATED CLASSES
B::SV Methods

REFCNT, FLAGS, IsBOOL, object_2svref, TRUE, TRUE_nomg

B::IV Methods

IV, IVX, UVX, int_value, needs64bits, packiv

B::NV Methods

NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH

B::RV Methods

RV

B::PV Methods

PV, RV, PVX, CUR, LEN

B::PVMG Methods

MAGIC, SvSTASH

B::MAGIC Methods

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

B::INVLIST Methods

prev_index, is_offset, array_len, get_invlist_array

B::PVLV Methods

TARGOFF, TARGLEN, TYPE, TARG

B::BM Methods

USEFUL, PREVIOUS, RARE, TABLE

B::REGEXP Methods

REGEX, precomp, qr_anoncv, compflags

B::GV Methods

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

B::IO Methods

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

B::AV Methods

FILL, MAX, ARRAY, ARRAYelt

B::CV Methods

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

B::HV Methods

FILL, MAX, KEYS, RITER, NAME, ARRAY

OP-RELATED CLASSES
B::OP Methods

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

B::UNOP Method

first

B::UNOP_AUX Methods (since 5.22)

aux_list(cv), string(cv)

B::BINOP Method

last

B::LOGOP Method

other

B::LISTOP Method

children

B::PMOP Methods

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

B::SVOP Methods

sv, gv

B::PADOP Method

padix

B::PVOP Method

pv

B::LOOP Methods

redoop, nextop, lastop

B::COP Methods

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

B::METHOP Methods (Since Perl 5.22)

first, meth_sv

PAD-RELATED CLASSES
B::PADLIST Methods

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

B::PADNAMELIST Methods

MAX, ARRAY, ARRAYelt, REFCNT

B::PADNAME Methods

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

$B::overlay

AUTHOR

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

SYNOPSIS
DESCRIPTION
EXAMPLE
OPTIONS
Options for Opcode Ordering

-basic, -exec, -tree

Options for Line-Style

-concise, -terse, -linenoise, -debug, -env

Options for tree-specific formatting

-compact, -loose, -vt, -ascii

Options controlling sequence numbering

-basen, -bigendian, -littleendian

Other options

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

Option Stickiness

ABBREVIATIONS

OP class abbreviations

OP flags abbreviations

FORMATTING SPECIFICATIONS
Special Patterns

(x(exec_text;basic_text)x), (*(text)*), (*(text1;text2)*), (?(text1#varText2)?), ~

# Variables

#var, #varN, #Var, #addr, #arg, #class, #classsym, #coplabel, #exname, #extarg, #firstaddr, #flags, #flagval, #hints, #hintsval, #hyphseq, #label, #lastaddr, #name, #NAME, #next, #nextaddr, #noise, #private, #privval, #seq, #opt, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum

One-Liner Command tips

perl -MO=Concise,bar foo.pl, perl -MDigest::MD5=md5 -MO=Concise,md5 -e1, perl -MPOSIX -MO=Concise,_POSIX_ARG_MAX -e1, perl -MPOSIX -MO=Concise,a -e 'print _POSIX_SAVED_IDS', perl -MPOSIX -MO=Concise,a -e 'sub a{_POSIX_SAVED_IDS}', perl -MB::Concise -e 'B::Concise::compile("-exec","-src", \%B::Concise::)->()'

Using B::Concise outside of the O framework

Example: Altering Concise Renderings

set_style()

set_style_standard($name)

add_style ()

add_callback ()

Running B::Concise::compile()

B::Concise::reset_sequence()

Errors

AUTHOR

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

SYNOPSIS
DESCRIPTION
OPTIONS

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

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

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

coderef2text

BUGS

AUTHOR

B::Op_private - OP op_private flag definitions

SYNOPSIS
DESCRIPTION

%bits

%defines

%labels

%ops_using

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

SYNOPSIS
DESCRIPTION
EXAMPLES

OPTIONS

SEE ALSO

TODO

AUTHOR

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

SYNOPSIS

DESCRIPTION

AUTHOR

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

SYNOPSIS
DESCRIPTION

i, &, s, r

OPTIONS

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

BUGS

AUTHOR

Benchmark - benchmark running times of Perl code

SYNOPSIS
DESCRIPTION
Methods

new, debug, iters

Standard Exports

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

Optional Exports

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

:hireswallclock

Benchmark Object

cpu_p, cpu_c, cpu_a, real, iters

NOTES

EXAMPLES

INHERITANCE

CAVEATS

SEE ALSO

AUTHORS

MODIFICATION HISTORY

CORE - Namespace for Perl's core routines

SYNOPSIS

DESCRIPTION

OVERRIDING CORE FUNCTIONS

AUTHOR

SEE ALSO

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

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

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

CPAN::Shell
autobundle
hosts

install_tested, is_tested

mkmyconfig

r [Module|/Regexp/]...

recent ***EXPERIMENTAL COMMAND***

recompile

report Bundle|Distribution|Module

smoke ***EXPERIMENTAL COMMAND***

upgrade [Module|/Regexp/]...

The four CPAN::* Classes: Author, Bundle, Module, Distribution

Integrating local directories

Redirection

Plugin support ***EXPERIMENTAL***

CONFIGURATION

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

Config Variables

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

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

cwd, getcwd, fastcwd, getdcwd, backtickcwd

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

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

Processing Instructions

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

Schema verification with Kwalify

Example Distroprefs Files

PROGRAMMER'S INTERFACE

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

Methods in the other Classes

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

Cache Manager

Bundles

PREREQUISITES
UTILITIES
Finding packages and VERSION
Debugging

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

Floppy, Zip, Offline Mode
Basic Utilities for Programmers

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

SECURITY

Cryptographically signed modules

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

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

Configuring lynx or ncftp for going through a firewall

FAQ

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

COMPATIBILITY

OLD PERL VERSIONS

CPANPLUS

CPANMINUS

SECURITY ADVICE

BUGS

AUTHOR

LICENSE

TRANSLATIONS

SEE ALSO

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

RECIPES

What distribution contains a particular module?

What modules does a particular distribution contain?

SEE ALSO

LICENSE

AUTHOR

CPAN::Debug - internal debugging for CPAN.pm

LICENSE

CPAN::Distroprefs -- read and match distroprefs

SYNOPSIS
DESCRIPTION
INTERFACE

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

RESULTS

Common

Errors

Successes

PREFS

LICENSE

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

SYNOPSIS

DESCRIPTION

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

LICENSE

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

CLASS->safe_quote ITEM

LICENSE

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

SYNOPSIS
DESCRIPTION

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

AUTHOR

LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

new

create

load_file

load_yaml_string

load_json_string

load_string

save

meta_spec_version

effective_prereqs

should_index_file

should_index_package

features

feature

as_struct

as_string

STRING DATA
LIST DATA
MAP DATA
CUSTOM DATA
BUGS
SEE ALSO
SUPPORT

Bugs / Feature Requests

Source Code

AUTHORS

CONTRIBUTORS

COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

new

convert

upgrade_fragment

BUGS

AUTHORS

COPYRIGHT AND LICENSE

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

VERSION
DESCRIPTION
METHODS

new

identifier

description

prereqs

BUGS

AUTHORS

COPYRIGHT AND LICENSE

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

VERSION
DESCRIPTION
HISTORY

Version 2

Version 1.4

Version 1.3

Version 1.2

Version 1.1

Version 1.0

AUTHORS

COPYRIGHT AND LICENSE

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

PREFACE
DESCRIPTION
Format
Fields

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

Related Projects

DOAP

History

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

PREFACE
DESCRIPTION
Format
Fields

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

Ingy's suggestions

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

History

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

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY

distribution, module

VERSION SPECIFICATIONS
HEADER
FIELDS
meta-spec
name
version
abstract
author
license

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

distribution_type
requires
recommends
build_requires
conflicts
dynamic_config
private
provides
no_index
keywords
resources

homepage, license, bugtracker

generated_by

SEE ALSO
HISTORY

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

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

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY

distribution, module

HEADER
FIELDS
meta-spec
name
version
abstract
author
license

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

distribution_type
requires
recommends
build_requires
conflicts
dynamic_config
private
provides
no_index
keywords
resources

homepage, license, bugtracker

generated_by

VERSION SPECIFICATIONS
SEE ALSO
HISTORY

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

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

PREFACE
SYNOPSIS
DESCRIPTION
FORMAT
TERMINOLOGY

distribution, module

HEADER
FIELDS
meta-spec
name
version
abstract
author
license

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

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

homepage, license, bugtracker

generated_by

VERSION SPECIFICATIONS
SEE ALSO
HISTORY

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

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

new

merge(@fragments)

MERGE STRATEGIES

identical, set_addition, uniq_map, improvise

AUTHORS

COPYRIGHT AND LICENSE

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

VERSION
DESCRIPTION
METHODS

new

requirements_for

phases

types_in

with_merged_prereqs

merged_requirements

as_string_hash

is_finalized

finalize

clone

BUGS

AUTHORS

COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS
new
add_minimum
add_maximum
add_exclusion
exact_version
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::Spec - specification for CPAN distribution metadata

VERSION
SYNOPSIS
DESCRIPTION
TERMINOLOGY

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

DATA TYPES

Boolean

String

List

Map

License String

URL

Version

Version Range

STRUCTURE
REQUIRED FIELDS

version, url, stable, testing, unstable

OPTIONAL FIELDS

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

DEPRECATED FIELDS

VERSION NUMBERS
Version Formats

Decimal versions, Dotted-integer versions

Version Ranges

PREREQUISITES
Prereq Spec

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

Merging and Resolving Prerequisites

SERIALIZATION
NOTES FOR IMPLEMENTORS

Extracting Version Numbers from Perl Modules

Comparing Version Numbers

Prerequisites for dynamically configured distributions

Indexing distributions a la PAUSE

SEE ALSO

HISTORY

AUTHORS

COPYRIGHT AND LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

new

is_valid

errors

Check Methods

Validator Methods

BUGS

AUTHORS

COPYRIGHT AND LICENSE

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

VERSION

SYNOPSIS

DESCRIPTION

SUPPORT

SEE ALSO

AUTHORS

COPYRIGHT AND LICENSE

SYNOPSIS

DESCRIPTION

new( LOCAL_FILE_NAME )

continents()

countries( [CONTINENTS] )

mirrors( [COUNTRIES] )

get_mirrors_by_countries( [COUNTRIES] )

get_mirrors_by_continents( [CONTINENTS] )

get_countries_by_continents( [CONTINENTS] )

default_mirror

best_mirrors

get_n_random_mirrors_by_continents( N, [CONTINENTS] )

get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK, %ARGS );

find_best_continents( HASH_REF );

AUTHOR

LICENSE

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

SYNOPSIS

DESCRIPTION

LICENSE

SEE ALSO

CPAN::Plugin - Base class for CPAN shell extensions

SYNOPSIS
DESCRIPTION

Alpha Status

How Plugins work?

METHODS

plugin_requires

distribution_object

distribution

distribution_info

build_dir

is_xs

AUTHOR

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

SYNOPSIS
DESCRIPTION

OPTIONS

AUTHOR

CPAN::Queue - internal queue support for CPAN.pm

LICENSE

CPAN::Tarzip - internal handling of tar archives for CPAN.pm

LICENSE

CPAN::Version - utility functions to compare CPAN versions

SYNOPSIS

DESCRIPTION

LICENSE

Carp - alternative warn and die for modules

SYNOPSIS
DESCRIPTION

Forcing a Stack Trace

Stack Trace formatting

GLOBAL VARIABLES

$Carp::MaxEvalLen

$Carp::MaxArgLen

$Carp::MaxArgNums

$Carp::Verbose

$Carp::RefArgFormatter

@CARP_NOT

%Carp::Internal

%Carp::CarpInternal

$Carp::CarpLevel

BUGS

SEE ALSO

CONTRIBUTING

AUTHOR

COPYRIGHT

LICENSE

Class::Struct - declare struct-like datatypes as Perl classes

SYNOPSIS
DESCRIPTION
The struct() function
Class Creation at Compile Time
Element Types and Accessor Methods

Scalar ('$' or '*$'), Array ('@' or '*@'), Hash ('%' or '*%'), Class ('Class_Name' or '*Class_Name')

Initializing with new

EXAMPLES

Example 1, Example 2, Example 3

Author and Modification History

Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library

SYNOPSIS
DESCRIPTION
Compression
($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor;

$appendOutput, $blockSize100k, $workfactor

$status = $bz->bzdeflate($input, $output);

$status = $bz->bzflush($output);

$status = $bz->bzclose($output);

Example

Uncompression
($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput;

$appendOutput, $consumeInput, $small, $limitOutput, $verbosity

$status = $z->bzinflate($input, $output);

Misc

my $version = Compress::Raw::Bzip2::bzlibversion();

Constants

SUPPORT

SEE ALSO

AUTHOR

MODIFICATION HISTORY

COPYRIGHT AND LICENSE

Compress::Raw::Zlib - Low-Level Interface to zlib or zlib-ng compression library

SYNOPSIS
DESCRIPTION
Compress::Raw::Zlib::Deflate
($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] )

-Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize, -AppendOutput, -CRC32, -ADLER32

$status = $d->deflate($input, $output)
$status = $d->flush($output [, $flush_type])
$status = $d->deflateReset()
$status = $d->deflateParams([OPT])

-Level, -Strategy, -BufSize

$status = $d->deflateTune($good_length, $max_lazy, $nice_length, $max_chain)

$d->dict_adler()

$d->crc32()

$d->adler32()

$d->msg()

$d->total_in()

$d->total_out()

$d->get_Strategy()

$d->get_Level()

$d->get_BufSize()

Example

Compress::Raw::Zlib::Inflate
($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] )

-WindowBits, -Bufsize, -Dictionary, -AppendOutput, -CRC32, -ADLER32, -ConsumeInput, -LimitOutput

$status = $i->inflate($input, $output [,$eof])

$status = $i->inflateSync($input)

$status = $i->inflateReset()

$i->dict_adler()

$i->crc32()

$i->adler32()

$i->msg()

$i->total_in()

$i->total_out()

$d->get_BufSize()

Examples

CHECKSUM FUNCTIONS
Misc

my $version = Compress::Raw::Zlib::zlib_version();

my $version = Compress::Raw::Zlib::zlibng_version();

my $flags = Compress::Raw::Zlib::zlibCompileFlags();

is_zlib_native(); =head2 is_zlibng_native(); =head2 is_zlibng_compat(); =head2 is_zlibng();

The LimitOutput option.
ACCESSING ZIP FILES
FAQ

Compatibility with Unix compress/uncompress.

Accessing .tar.Z files

Zlib Library Version Support

CONSTANTS

SUPPORT

SEE ALSO

AUTHOR

MODIFICATION HISTORY

COPYRIGHT AND LICENSE

Compress::Zlib - Interface to zlib compression library

SYNOPSIS
DESCRIPTION

Notes for users of Compress::Zlib version 1

GZIP INTERFACE

$gz = gzopen($filename, $mode), $gz = gzopen($filehandle, $mode), $bytesread = $gz->gzread($buffer [, $size]) ;, $bytesread = $gz->gzreadline($line) ;, $byteswritten = $gz->gzwrite($buffer) ;, $status = $gz->gzflush($flush_type) ;, $offset = $gz->gztell() ;, $status = $gz->gzseek($offset, $whence) ;, $gz->gzclose, $gz->gzsetparams($level, $strategy, $level, $strategy, $gz->gzerror, $gzerrno

Examples

Compress::Zlib::memGzip

Compress::Zlib::memGunzip

COMPRESS/UNCOMPRESS

$dest = compress($source [, $level] ) ;, $dest = uncompress($source) ;

Deflate Interface
($d, $status) = deflateInit( [OPT] )

-Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize

($out, $status) = $d->deflate($buffer)
($out, $status) = $d->flush() =head2 ($out, $status) = $d->flush($flush_type)
$status = $d->deflateParams([OPT])

-Level, -Strategy

$d->dict_adler()

$d->msg()

$d->total_in()

$d->total_out()

Example

Inflate Interface
($i, $status) = inflateInit()

-WindowBits, -Bufsize, -Dictionary

($out, $status) = $i->inflate($buffer)

$status = $i->inflateSync($buffer)

$i->dict_adler()

$i->msg()

$i->total_in()

$i->total_out()

Example

CHECKSUM FUNCTIONS
Misc

my $version = Compress::Zlib::zlib_version();

CONSTANTS

SUPPORT

SEE ALSO

AUTHOR

MODIFICATION HISTORY

COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION

myconfig(), config_sh(), config_re($regex), config_vars(@names), bincompat_options(), non_bincompat_options(), compile_date(), local_patches(), header_files()

EXAMPLE
WARNING
GLOSSARY
P

PERL_API_REVISION, PERL_API_SUBVERSION, PERL_API_VERSION, PERL_CONFIG_SH, PERL_PATCHLEVEL, PERL_REVISION, PERL_SUBVERSION, PERL_VERSION

_

_a, _exe, _o

a

afs, afsroot, alignbytes, aphostname, api_revision, api_subversion, api_version, api_versionstring, ar, archlib, archlibexp, archname, archname64, archobjs, asctime_r_proto, awk

b

baserev, bash, bin, bin_ELF, binexp, bison, byacc, byteorder

c

c, castflags, cat, cc, cccdlflags, ccdlflags, ccflags, ccflags_uselargefiles, ccname, ccsymbols, ccversion, cf_by, cf_email, cf_time, charbits, charsize, chgrp, chmod, chown, clocktype, comm, compiler_warning, compress, config_arg0, config_argc, config_args, contains, cp, cpio, cpp, cpp_stuff, cppccsymbols, cppflags, cpplast, cppminus, cpprun, cppstdin, cppsymbols, crypt_r_proto, cryptlib, csh, ctermid_r_proto, ctime_r_proto

d

d_Gconvert, d_PRIEUldbl, d_PRIFUldbl, d_PRIGUldbl, d_PRIXU64, d_PRId64, d_PRIeldbl, d_PRIfldbl, d_PRIgldbl, d_PRIi64, d_PRIo64, d_PRIu64, d_PRIx64, d_SCNfldbl, d__fwalk, d_accept4, d_access, d_accessx, d_acosh, d_aintl, d_alarm, d_archlib, d_asctime64, d_asctime_r, d_asinh, d_atanh, d_atolf, d_atoll, d_attribute_always_inline, d_attribute_deprecated, d_attribute_format, d_attribute_malloc, d_attribute_nonnull, d_attribute_noreturn, d_attribute_pure, d_attribute_unused, d_attribute_visibility, d_attribute_warn_unused_result, d_backtrace, d_bsd, d_bsdgetpgrp, d_bsdsetpgrp, d_builtin_add_overflow, d_builtin_choose_expr, d_builtin_expect, d_builtin_mul_overflow, d_builtin_sub_overflow, d_c99_variadic_macros, d_casti32, d_castneg, d_cbrt, d_chown, d_chroot, d_chsize, d_class, d_clearenv, d_closedir, d_cmsghdr_s, d_copysign, d_copysignl, d_cplusplus, d_crypt, d_crypt_r, d_csh, d_ctermid, d_ctermid_r, d_ctime64, d_ctime_r, d_cuserid, d_dbminitproto, d_difftime, d_difftime64, d_dir_dd_fd, d_dirfd, d_dirnamlen, d_dladdr, d_dlerror, d_dlopen, d_dlsymun, d_dosuid, d_double_has_inf, d_double_has_nan, d_double_has_negative_zero, d_double_has_subnormals, d_double_style_cray, d_double_style_ibm, d_double_style_ieee, d_double_style_vax, d_drand48_r, d_drand48proto, d_dup2, d_dup3, d_duplocale, d_eaccess, d_endgrent, d_endgrent_r, d_endhent, d_endhostent_r, d_endnent, d_endnetent_r, d_endpent, d_endprotoent_r, d_endpwent, d_endpwent_r, d_endsent, d_endservent_r, d_eofnblk, d_erf, d_erfc, d_eunice, d_exp2, d_expm1, d_faststdio, d_fchdir, d_fchmod, d_fchmodat, d_fchown, d_fcntl, d_fcntl_can_lock, d_fd_macros, d_fd_set, d_fdclose, d_fdim, d_fds_bits, d_fegetround, d_ffs, d_ffsl, d_fgetpos, d_finite, d_finitel, d_flexfnam, d_flock, d_flockproto, d_fma, d_fmax, d_fmin, d_fork, d_fp_class, d_fp_classify, d_fp_classl, d_fpathconf, d_fpclass, d_fpclassify, d_fpclassl, d_fpgetround, d_fpos64_t, d_freelocale, d_frexpl, d_fs_data_s, d_fseeko, d_fsetpos, d_fstatfs, d_fstatvfs, d_fsync, d_ftello, d_ftime, d_futimes, d_gai_strerror, d_gdbm_ndbm_h_uses_prototypes, d_gdbmndbm_h_uses_prototypes, d_getaddrinfo, d_getcwd, d_getenv_preserves_other_thread, d_getespwnam, d_getfsstat, d_getgrent, d_getgrent_r, d_getgrgid_r, d_getgrnam_r, d_getgrps, d_gethbyaddr, d_gethbyname, d_gethent, d_gethname, d_gethostbyaddr_r, d_gethostbyname_r, d_gethostent_r, d_gethostprotos, d_getitimer, d_getlogin, d_getlogin_r, d_getmnt, d_getmntent, d_getnameinfo, d_getnbyaddr, d_getnbyname, d_getnent, d_getnetbyaddr_r, d_getnetbyname_r, d_getnetent_r, d_getnetprotos, d_getpagsz, d_getpbyname, d_getpbynumber, d_getpent, d_getpgid, d_getpgrp, d_getpgrp2, d_getppid, d_getprior, d_getprotobyname_r, d_getprotobynumber_r, d_getprotoent_r, d_getprotoprotos, d_getprpwnam, d_getpwent, d_getpwent_r, d_getpwnam_r, d_getpwuid_r, d_getsbyname, d_getsbyport, d_getsent, d_getservbyname_r, d_getservbyport_r, d_getservent_r, d_getservprotos, d_getspnam, d_getspnam_r, d_gettimeod, d_gmtime64, d_gmtime_r, d_gnulibc, d_grpasswd, d_has_C_UTF8, d_hasmntopt, d_htonl, d_hypot, d_ilogb, d_ilogbl, d_inc_version_list, d_inetaton, d_inetntop, d_inetpton, d_int64_t, d_ip_mreq, d_ip_mreq_source, d_ipv6_mreq, d_ipv6_mreq_source, d_isascii, d_isblank, d_isfinite, d_isfinitel, d_isinf, d_isinfl, d_isless, d_isnan, d_isnanl, d_isnormal, d_j0, d_j0l, d_killpg, d_lc_monetary_2008, d_lchown, d_ldbl_dig, d_ldexpl, d_lgamma, d_lgamma_r, d_libm_lib_version, d_libname_unique, d_link, d_linkat, d_llrint, d_llrintl, d_llround, d_llroundl, d_localeconv_l, d_localtime64, d_localtime_r, d_localtime_r_needs_tzset, d_locconv, d_lockf, d_log1p, d_log2, d_logb, d_long_double_style_ieee, d_long_double_style_ieee_doubledouble, d_long_double_style_ieee_extended, d_long_double_style_ieee_std, d_long_double_style_vax, d_longdbl, d_longlong, d_lrint, d_lrintl, d_lround, d_lroundl, d_lseekproto, d_lstat, d_madvise, d_malloc_good_size, d_malloc_size, d_malloc_usable_size, d_mblen, d_mbrlen, d_mbrtowc, d_mbstowcs, d_mbtowc, d_memmem, d_memrchr, d_mkdir, d_mkdtemp, d_mkfifo, d_mkostemp, d_mkstemp, d_mkstemps, d_mktime, d_mktime64, d_mmap, d_modfl, d_modflproto, d_mprotect, d_msg, d_msg_ctrunc, d_msg_dontroute, d_msg_oob, d_msg_peek, d_msg_proxy, d_msgctl, d_msgget, d_msghdr_s, d_msgrcv, d_msgsnd, d_msync, d_munmap, d_mymalloc, d_nan, d_nanosleep, d_ndbm, d_ndbm_h_uses_prototypes, d_nearbyint, d_newlocale, d_nextafter, d_nexttoward, d_nice, d_nl_langinfo, d_nl_langinfo_l, d_non_int_bitfields, d_nv_preserves_uv, d_nv_zero_is_allbits_zero, d_off64_t, d_old_pthread_create_joinable, d_oldpthreads, d_oldsock, d_open3, d_openat, d_pathconf, d_pause, d_perl_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_thread_safe_nl_langinfo_l, d_time, d_timegm, d_times, d_tm_tm_gmtoff, d_tm_tm_zone, d_tmpnam_r, d_towlower, d_towupper, d_trunc, d_truncate, d_truncl, d_ttyname_r, d_tzname, d_u32align, d_ualarm, d_umask, d_uname, d_union_semun, d_unlinkat, d_unordered, d_unsetenv, d_uselocale, d_usleep, d_usleepproto, d_ustat, d_vendorarch, d_vendorbin, d_vendorlib, d_vendorscript, d_vfork, d_void_closedir, d_voidsig, d_voidtty, d_vsnprintf, d_wait4, d_waitpid, d_wcrtomb, d_wcscmp, d_wcstombs, d_wcsxfrm, d_wctomb, d_writev, d_xenix, date, db_hashtype, db_prefixtype, db_version_major, db_version_minor, db_version_patch, default_inc_excludes_dot, direntrytype, dlext, dlsrc, doubleinfbytes, doublekind, doublemantbits, doublenanbytes, doublesize, drand01, drand48_r_proto, dtrace, dtraceobject, dtracexnolibs, dynamic_ext

e

eagain, ebcdic, echo, egrep, emacs, endgrent_r_proto, endhostent_r_proto, endnetent_r_proto, endprotoent_r_proto, endpwent_r_proto, endservent_r_proto, eunicefix, exe_ext, expr, extensions, extern_C, extras

f

fflushNULL, fflushall, find, firstmakefile, flex, fpossize, fpostype, freetype, from, full_ar, full_csh, full_sed

g

gccansipedantic, gccosandvers, gccversion, getgrent_r_proto, getgrgid_r_proto, getgrnam_r_proto, gethostbyaddr_r_proto, gethostbyname_r_proto, gethostent_r_proto, getlogin_r_proto, getnetbyaddr_r_proto, getnetbyname_r_proto, getnetent_r_proto, getprotobyname_r_proto, getprotobynumber_r_proto, getprotoent_r_proto, getpwent_r_proto, getpwnam_r_proto, getpwuid_r_proto, getservbyname_r_proto, getservbyport_r_proto, getservent_r_proto, getspnam_r_proto, gidformat, gidsign, gidsize, gidtype, glibpth, gmake, gmtime_r_proto, gnulibc_version, grep, groupcat, groupstype, gzip

h

h_fcntl, h_sysfile, hint, hostcat, hostgenerate, hostosname, hostperl, html1dir, html1direxp, html3dir, html3direxp

i

i16size, i16type, i32dformat, i32size, i32type, i64size, i64type, i8size, i8type, i_arpainet, i_bfd, i_bsdioctl, i_crypt, i_db, i_dbm, i_dirent, i_dlfcn, i_execinfo, i_fcntl, i_fenv, i_fp, i_fp_class, i_gdbm, i_gdbm_ndbm, i_gdbmndbm, i_grp, i_ieeefp, i_inttypes, i_langinfo, i_libutil, i_locale, i_machcthr, i_malloc, i_mallocmalloc, i_mntent, i_ndbm, i_netdb, i_neterrno, i_netinettcp, i_niin, i_poll, i_prot, i_pthread, i_pwd, i_quadmath, i_rpcsvcdbm, i_sgtty, i_shadow, i_socks, i_stdbool, i_stdint, i_stdlib, i_sunmath, i_sysaccess, i_sysdir, i_sysfile, i_sysfilio, i_sysin, i_sysioctl, i_syslog, i_sysmman, i_sysmode, i_sysmount, i_sysndir, i_sysparam, i_syspoll, i_sysresrc, i_syssecrt, i_sysselct, i_syssockio, i_sysstat, i_sysstatfs, i_sysstatvfs, i_syssyscall, i_systime, i_systimek, i_systimes, i_systypes, i_sysuio, i_sysun, i_sysutsname, i_sysvfs, i_syswait, i_termio, i_termios, i_time, i_unistd, i_ustat, i_utime, i_vfork, i_wchar, i_wctype, i_xlocale, ignore_versioned_solibs, inc_version_list, inc_version_list_init, incpath, incpth, inews, initialinstalllocation, installarchlib, installbin, installhtml1dir, installhtml3dir, installman1dir, installman3dir, installprefix, installprefixexp, installprivlib, installscript, installsitearch, installsitebin, installsitehtml1dir, installsitehtml3dir, installsitelib, installsiteman1dir, installsiteman3dir, installsitescript, installstyle, installusrbinperl, installvendorarch, installvendorbin, installvendorhtml1dir, installvendorhtml3dir, installvendorlib, installvendorman1dir, installvendorman3dir, installvendorscript, intsize, issymlink, ivdformat, ivsize, ivtype

k

known_extensions, ksh

l

ld, ld_can_script, lddlflags, ldflags, ldflags_uselargefiles, ldlibpthname, less, lib_ext, libc, libperl, libpth, libs, libsdirs, libsfiles, libsfound, libspath, libswanted, libswanted_uselargefiles, line, lint, lkflags, ln, lns, localtime_r_proto, locincpth, loclibpth, longdblinfbytes, longdblkind, longdblmantbits, longdblnanbytes, longdblsize, longlongsize, longsize, lp, lpr, ls, lseeksize, lseektype

m

mail, mailx, make, make_set_make, mallocobj, mallocsrc, malloctype, man1dir, man1direxp, man1ext, man3dir, man3direxp, man3ext, mips_type, mistrustnm, mkdir, mmaptype, modetype, more, multiarch, mv, myarchname, mydomain, myhostname, myuname

n

n, need_va_copy, netdb_hlen_type, netdb_host_type, netdb_name_type, netdb_net_type, nm, nm_opt, nm_so_opt, nonxs_ext, nroff, nvEUformat, nvFUformat, nvGUformat, nv_overflows_integers_at, nv_preserves_uv_bits, nveformat, nvfformat, nvgformat, nvmantbits, nvsize, nvtype

o

o_nonblock, obj_ext, old_pthread_create_joinable, optimize, orderlib, osname, osvers, otherlibdirs

p

package, pager, passcat, patchlevel, path_sep, perl, perl5, perl_patchlevel, perl_static_inline, perl_thread_local, perladmin, perllibs, perlpath, pg, phostname, pidtype, plibpth, pmake, pr, prefix, prefixexp, privlib, privlibexp, procselfexe, ptrsize

q

quadkind, quadtype

r

randbits, randfunc, random_r_proto, randseedtype, ranlib, rd_nodata, readdir64_r_proto, readdir_r_proto, revision, rm, rm_try, rmail, run, runnm

s

sGMTIME_max, sGMTIME_min, sLOCALTIME_max, sLOCALTIME_min, sPRIEUldbl, sPRIFUldbl, sPRIGUldbl, sPRIXU64, sPRId64, sPRIeldbl, sPRIfldbl, sPRIgldbl, sPRIi64, sPRIo64, sPRIu64, sPRIx64, sSCNfldbl, sched_yield, scriptdir, scriptdirexp, sed, seedfunc, selectminbits, selecttype, sendmail, setgrent_r_proto, sethostent_r_proto, setlocale_r_proto, setnetent_r_proto, setprotoent_r_proto, setpwent_r_proto, setservent_r_proto, sh, shar, sharpbang, shmattype, shortsize, shrpenv, shsharp, sig_count, sig_name, sig_name_init, sig_num, sig_num_init, sig_size, signal_t, sitearch, sitearchexp, sitebin, sitebinexp, sitehtml1dir, sitehtml1direxp, sitehtml3dir, sitehtml3direxp, sitelib, sitelib_stem, sitelibexp, siteman1dir, siteman1direxp, siteman3dir, siteman3direxp, siteprefix, siteprefixexp, sitescript, sitescriptexp, sizesize, sizetype, sleep, smail, so, sockethdr, socketlib, socksizetype, sort, spackage, spitshell, srand48_r_proto, srandom_r_proto, src, ssizetype, st_dev_sign, st_dev_size, st_ino_sign, st_ino_size, startperl, startsh, static_ext, stdchar, stdio_base, stdio_bufsiz, stdio_cnt, stdio_filbuf, stdio_ptr, stdio_stream_array, strerror_r_proto, submit, subversion, sysman, sysroot

t

tail, taint_disabled, taint_support, tar, targetarch, targetdir, targetenv, targethost, targetmkdir, targetport, targetsh, tbl, tee, test, timeincl, timetype, tmpnam_r_proto, to, touch, tr, trnl, troff, ttyname_r_proto

u

u16size, u16type, u32XUformat, u32oformat, u32size, u32type, u32uformat, u32xformat, u64size, u64type, u8size, u8type, uidformat, uidsign, uidsize, uidtype, uname, uniq, uquadtype, use64bitall, use64bitint, usecbacktrace, usecrosscompile, usedefaultstrict, usedevel, usedl, usedtrace, usefaststdio, useithreads, usekernprocpathname, uselanginfo, uselargefiles, uselongdouble, usemallocwrap, usemorebits, usemultiplicity, usemymalloc, usenm, usensgetexecutablepath, useopcode, useperlio, useposix, usequadmath, usereentrant, userelocatableinc, useshrplib, usesitecustomize, usesocks, usethreads, usevendorprefix, useversionedarchname, usevfork, usrinc, uuname, uvXUformat, uvoformat, uvsize, uvtype, uvuformat, uvxformat

v

vendorarch, vendorarchexp, vendorbin, vendorbinexp, vendorhtml1dir, vendorhtml1direxp, vendorhtml3dir, vendorhtml3direxp, vendorlib, vendorlib_stem, vendorlibexp, vendorman1dir, vendorman1direxp, vendorman3dir, vendorman3direxp, vendorprefix, vendorprefixexp, vendorscript, vendorscriptexp, version, version_patchlevel_string, versiononly, vi

x

xlibpth, xlocale_needed

y

yacc, yaccflags

z

zcat, zip

GIT DATA

NOTE

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

SYNOPSIS
DESCRIPTION

dynamic, nonxs, static

AUTHOR

Config::Perl::V - Structured data retrieval of perl -V output

SYNOPSIS
DESCRIPTION
$conf = myconfig ()
$conf = plv2hash ($text [, ...])
$info = summary ([$conf])
$md5 = signature ([$conf])
The hash structure

build, osname, stamp, options, derived, patches, environment, config, inc

REASONING

BUGS

TODO

AUTHOR

COPYRIGHT AND LICENSE

Cwd - get pathname of current working directory

SYNOPSIS
DESCRIPTION
getcwd and friends

getcwd, cwd, fastcwd, fastgetcwd, getdcwd

abs_path and friends

abs_path, realpath, fast_abs_path

$ENV{PWD}

NOTES

AUTHOR

COPYRIGHT

SEE ALSO

DB - programmatic interface to the Perl debugging API

SYNOPSIS
DESCRIPTION
Global Variables
 $DB::sub,  %DB::sub,  $DB::single,  $DB::signal,  $DB::trace,  @DB::args, 
@DB::dbline,  %DB::dbline,  $DB::package,  $DB::filename,  $DB::subname, 
$DB::lineno
API Methods

CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'), CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done()

Client Callback Methods

CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(), CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(), CLIENT->output(LIST)

BUGS

AUTHOR

DBM_Filter -- Filter DBM keys/values

SYNOPSIS
DESCRIPTION
What is a DBM Filter?

So what's new?

METHODS
$db->Filter_Push() / $db->Filter_Key_Push() / $db->Filter_Value_Push()

Filter_Push, Filter_Key_Push, Filter_Value_Push

$db->Filter_Pop()

$db->Filtered()

Writing a Filter
Immediate Filters
Canned Filters

"name", params

Filters Included

utf8, encode, compress, int32, null

NOTES

Maintain Round Trip Integrity

Don't mix filtered & non-filtered data in the same database file.

EXAMPLE

SEE ALSO

AUTHOR

DBM_Filter::compress - filter for DBM_Filter

SYNOPSIS

DESCRIPTION

SEE ALSO

AUTHOR

DBM_Filter::encode - filter for DBM_Filter

SYNOPSIS

DESCRIPTION

SEE ALSO

AUTHOR

DBM_Filter::int32 - filter for DBM_Filter

SYNOPSIS

DESCRIPTION

SEE ALSO

AUTHOR

DBM_Filter::null - filter for DBM_Filter

SYNOPSIS

DESCRIPTION

SEE ALSO

AUTHOR

DBM_Filter::utf8 - filter for DBM_Filter

SYNOPSIS

DESCRIPTION

SEE ALSO

AUTHOR

DB_File - Perl5 access to Berkeley DB version 1.x

SYNOPSIS
DESCRIPTION

DB_HASH, DB_BTREE, DB_RECNO

Using DB_File with Berkeley DB version 2 or greater

Interface to Berkeley DB

Opening a Berkeley DB Database File

Default Parameters

In Memory Databases

DB_HASH

A Simple Example

DB_BTREE

Changing the BTREE sort order

Handling Duplicate Keys

The get_dup() Method

The find_dup() Method

The del_dup() Method

Matching Partial Keys

DB_RECNO
The 'bval' Option
A Simple Example
Extra RECNO Methods

$X->push(list) ;, $value = $X->pop ;, $X->shift, $X->unshift(list) ;, $X->length, $X->splice(offset, length, elements);

Another Example

THE API INTERFACE

$status = $X->get($key, $value [, $flags]) ;, $status = $X->put($key, $value [, $flags]) ;, $status = $X->del($key [, $flags]) ;, $status = $X->fd ;, $status = $X->seq($key, $value, $flags) ;, $status = $X->sync([$flags]) ;

DBM FILTERS
DBM Filter Low-level API

filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value

The Filter

An Example -- the NULL termination problem.

Another Example -- Key is a C int.

HINTS AND TIPS
Locking: The Trouble with fd
Safe ways to lock a database

Tie::DB_Lock, Tie::DB_LockFile, DB_File::Lock

Sharing Databases With C Applications

The untie() Gotcha

COMMON QUESTIONS

Why is there Perl source in my database?

How do I store complex data structures with DB_File?

What does "wide character in subroutine entry" mean?

What does "Invalid Argument" mean?

What does "Bareword 'DB_File' not allowed" mean?

REFERENCES

HISTORY

BUGS

SUPPORT

AVAILABILITY

COPYRIGHT

SEE ALSO

AUTHOR

Data::Dumper - stringified perl data structures, suitable for both printing and eval

SYNOPSIS
DESCRIPTION
Methods

PACKAGE->new(ARRAYREF [, ARRAYREF]), $OBJ->Dump  or  PACKAGE->Dump(ARRAYREF [, ARRAYREF]), $OBJ->Seen([HASHREF]), $OBJ->Values([ARRAYREF]), $OBJ->Names([ARRAYREF]), $OBJ->Reset

Functions

Dumper(LIST)

Configuration Variables or Methods
Exports

Dumper

EXAMPLES
BUGS

NOTE

AUTHOR

VERSION

SEE ALSO

Devel::PPPort - Perl/Pollution/Portability

SYNOPSIS
Start using Devel::PPPort for XS projects
DESCRIPTION

Why use ppport.h?

How to use ppport.h

Running ppport.h

FUNCTIONS

WriteFile

GetFileContents

COMPATIBILITY
Provided Perl compatibility API
Supported Perl API, sorted by version

perl 5.35.9, perl 5.35.8, perl 5.35.7, perl 5.35.6, perl 5.35.5, perl 5.35.4, perl 5.35.1, perl 5.33.8, perl 5.33.7, perl 5.33.5, perl 5.33.2, perl 5.32.1, perl 5.31.9, perl 5.31.7, perl 5.31.5, perl 5.31.4, perl 5.31.3, perl 5.29.10, perl 5.29.9, perl 5.27.11, perl 5.27.9, perl 5.27.8, perl 5.27.7, perl 5.27.6, perl 5.27.5, perl 5.27.4, perl 5.27.3, perl 5.27.2, perl 5.27.1, perl 5.25.11, perl 5.25.10, perl 5.25.9, perl 5.25.8, perl 5.25.7, perl 5.25.6, perl 5.25.5, perl 5.25.4, perl 5.25.3, perl 5.25.2, perl 5.25.1, perl 5.24.0, perl 5.23.9, perl 5.23.8, perl 5.23.6, perl 5.23.5, perl 5.23.2, perl 5.23.0, perl 5.21.10, perl 5.21.9, perl 5.21.8, perl 5.21.7, perl 5.21.6, perl 5.21.5, perl 5.21.4, perl 5.21.3, perl 5.21.2, perl 5.21.1, perl 5.19.10, perl 5.19.9, perl 5.19.7, perl 5.19.5, perl 5.19.4, perl 5.19.3, perl 5.19.2, perl 5.19.1, perl 5.18.0, perl 5.17.11, perl 5.17.8, perl 5.17.7, perl 5.17.6, perl 5.17.5, perl 5.17.4, perl 5.17.2, perl 5.17.1, perl 5.16.0, perl 5.15.8, perl 5.15.7, perl 5.15.6, perl 5.15.4, perl 5.15.3, perl 5.15.2, perl 5.15.1, perl 5.13.10, perl 5.13.9, perl 5.13.8, perl 5.13.7, perl 5.13.6, perl 5.13.5, perl 5.13.4, perl 5.13.3, perl 5.13.2, perl 5.13.1, perl 5.13.0, perl 5.11.5, perl 5.11.4, perl 5.11.2, perl 5.11.0, perl 5.10.1, perl 5.10.0, perl 5.9.5, perl 5.9.4, perl 5.9.3, perl 5.9.2, perl 5.9.1, perl 5.9.0, perl 5.8.9, perl 5.8.8, perl 5.8.3, perl 5.8.1, perl 5.8.0, perl 5.7.3, perl 5.7.2, perl 5.7.1, perl 5.7.0, perl 5.6.1, perl 5.6.0, perl 5.005_03, perl 5.005, perl 5.004_05, perl 5.004, perl 5.003_07 (or maybe earlier), Backported version unknown

BUGS

AUTHORS

COPYRIGHT

SEE ALSO

Devel::Peek - A data debugging tool for the XS programmer

SYNOPSIS
DESCRIPTION

Runtime debugging

Memory footprint debugging

EXAMPLES

A simple scalar string

A simple scalar number

A simple scalar with an extra reference

A reference to a simple scalar

A reference to an array

A reference to a hash

Dumping a large array or hash

A reference to an SV which holds a C pointer

A reference to a subroutine

EXPORTS

BUGS

AUTHOR

SEE ALSO

Devel::SelfStubber - generate stubs for a SelfLoading module

SYNOPSIS

DESCRIPTION

Digest - Modules that calculate message digests

SYNOPSIS
DESCRIPTION

binary, hex, base64

OO INTERFACE

$ctx = Digest->XXX($arg,...), $ctx = Digest->new(XXX => $arg,...), $ctx = Digest::XXX->new($arg,...), $other_ctx = $ctx->clone, $ctx->reset, $ctx->add( $data ), $ctx->add( $chunk1, $chunk2, ... ), $ctx->addfile( $io_handle ), $ctx->add_bits( $data, $nbits ), $ctx->add_bits( $bitstring ), $ctx->digest, $ctx->hexdigest, $ctx->b64digest, $ctx->base64_padded_digest

Digest speed

SEE ALSO

AUTHOR

Digest::MD5 - Perl interface to the MD5 Algorithm

SYNOPSIS
DESCRIPTION
FUNCTIONS

md5($data,...), md5_hex($data,...), md5_base64($data,...)

METHODS

$md5 = Digest::MD5->new, $md5->reset, $md5->clone, $md5->add($data,...), $md5->addfile($io_handle), $md5->add_bits($data, $nbits), $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest, @ctx = $md5->context, $md5->context(@ctx)

EXAMPLES

SEE ALSO

COPYRIGHT

AUTHORS

Digest::SHA - Perl extension for SHA-1/224/256/384/512

SYNOPSIS
SYNOPSIS (HMAC-SHA)
ABSTRACT
DESCRIPTION
UNICODE AND SIDE EFFECTS
NIST STATEMENT ON SHA-1
PADDING OF BASE64 DIGESTS
EXPORT
EXPORTABLE FUNCTIONS

sha1($data, ...), sha224($data, ...), sha256($data, ...), sha384($data, ...), sha512($data, ...), sha512224($data, ...), sha512256($data, ...), sha1_hex($data, ...), sha224_hex($data, ...), sha256_hex($data, ...), sha384_hex($data, ...), sha512_hex($data, ...), sha512224_hex($data, ...), sha512256_hex($data, ...), sha1_base64($data, ...), sha224_base64($data, ...), sha256_base64($data, ...), sha384_base64($data, ...), sha512_base64($data, ...), sha512224_base64($data, ...), sha512256_base64($data, ...), new($alg), reset($alg), hashsize, algorithm, clone, add($data, ...), add_bits($data, $nbits), add_bits($bits), addfile(*FILE), addfile($filename [, $mode]), getstate, putstate($str), dump($filename), load($filename), digest, hexdigest, b64digest, hmac_sha1($data, $key), hmac_sha224($data, $key), hmac_sha256($data, $key), hmac_sha384($data, $key), hmac_sha512($data, $key), hmac_sha512224($data, $key), hmac_sha512256($data, $key), hmac_sha1_hex($data, $key), hmac_sha224_hex($data, $key), hmac_sha256_hex($data, $key), hmac_sha384_hex($data, $key), hmac_sha512_hex($data, $key), hmac_sha512224_hex($data, $key), hmac_sha512256_hex($data, $key), hmac_sha1_base64($data, $key), hmac_sha224_base64($data, $key), hmac_sha256_base64($data, $key), hmac_sha384_base64($data, $key), hmac_sha512_base64($data, $key), hmac_sha512224_base64($data, $key), hmac_sha512256_base64($data, $key)

SEE ALSO

AUTHOR

ACKNOWLEDGMENTS

COPYRIGHT AND LICENSE

Digest::base - Digest base class

SYNOPSIS

DESCRIPTION

SEE ALSO

Digest::file - Calculate digests of files

SYNOPSIS
DESCRIPTION

digest_file( $file, $algorithm, [$arg,...] ), digest_file_hex( $file, $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...] )

SEE ALSO

DirHandle - (obsolete) supply object methods for directory handles

SYNOPSIS

DESCRIPTION

Dumpvalue - provides screen dump of Perl data.

SYNOPSIS
DESCRIPTION
Creation

arrayDepth, hashDepth, compactDump, veryCompact, globPrint, dumpDBFiles, dumpPackages, dumpReused, tick, quoteHighBit, printUndef, usageOnly, unctrl, subdump, bareStringify, quoteHighBit, stopDbSignal

Methods

dumpValue, dumpValues, stringify, dumpvars, set_quote, set_unctrl, compactDump, veryCompact, set, get

DynaLoader - Dynamically load C libraries into Perl code

SYNOPSIS
DESCRIPTION

@dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs, @dl_modules, @dl_shared_objects, dl_error(), $dl_debug, $dl_dlext, dl_findfile(), dl_expandspec(), dl_load_file(), dl_unload_file(), dl_load_flags(), dl_find_symbol(), dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(), bootstrap()

AUTHOR

Encode - character encodings in Perl

SYNOPSIS
Table of Contents

Encode::Alias - Alias definitions to encodings, Encode::Encoding - Encode Implementation Base Class, Encode::Supported - List of Supported Encodings, Encode::CN - Simplified Chinese Encodings, Encode::JP - Japanese Encodings, Encode::KR - Korean Encodings, Encode::TW - Traditional Chinese Encodings

DESCRIPTION

TERMINOLOGY

THE PERL ENCODING API

Basic methods

Listing available encodings

Defining Aliases

Finding IANA Character Set Registry names

Encoding via PerlIO
Handling Malformed Data
List of CHECK values

perlqq mode (CHECK = Encode::FB_PERLQQ), HTML charref mode (CHECK = Encode::FB_HTMLCREF), XML charref mode (CHECK = Encode::FB_XMLCREF)

coderef for CHECK

Defining Encodings
The UTF8 flag

Goal #1:, Goal #2:, Goal #3:, Goal #4:

Messing with Perl's Internals

UTF-8 vs. utf8 vs. UTF8

SEE ALSO

MAINTAINER

COPYRIGHT

Encode::Alias - alias definitions to encodings

SYNOPSIS
DESCRIPTION

As a simple string, As a qr// compiled regular expression, e.g.:, As a code reference, e.g.:

Alias overloading

SEE ALSO

Encode::Byte - Single Byte Encodings

SYNOPSIS

ABSTRACT

DESCRIPTION

SEE ALSO

Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_*

Encode::CN - China-based Chinese Encodings

SYNOPSIS

DESCRIPTION

NOTES

BUGS

SEE ALSO

Encode::CN::HZ -- internally used by Encode::CN

Encode::Config -- internally used by Encode

Encode::EBCDIC - EBCDIC Encodings

SYNOPSIS

ABSTRACT

DESCRIPTION

SEE ALSO

Encode::Encoder -- Object Oriented Encoder

SYNOPSIS
ABSTRACT
Description
Predefined Methods

$e = Encode::Encoder->new([$data, $encoding]);, encoder(), $e->data([$data]), $e->encoding([$encoding]), $e->bytes([$encoding])

Example: base64 transcoder

Operator Overloading

SEE ALSO

Encode::Encoding - Encode Implementation Base Class

SYNOPSIS
DESCRIPTION
Methods you should implement

->encode($string [,$check]), ->decode($octets [,$check]), ->cat_decode($destination, $octets, $offset, $terminator [,$check])

Other methods defined in Encode::Encodings

->name, ->mime_name, ->renew, ->renewed, ->perlio_ok(), ->needs_lines()

Example: Encode::ROT13

Why the heck Encode API is different?

Compiled Encodings

SEE ALSO

Scheme 1, Scheme 2, Other Schemes

Encode::GSM0338 -- ETSI GSM 03.38 Encoding

SYNOPSIS
DESCRIPTION

Septets

BUGS

SEE ALSO

Encode::Guess -- Guesses encoding from data

SYNOPSIS
ABSTRACT
DESCRIPTION

Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode("Guess" ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects])

CAVEATS

TO DO

SEE ALSO

Encode::JP - Japanese Encodings

SYNOPSIS

ABSTRACT

DESCRIPTION

Note on ISO-2022-JP(-1)?

BUGS

SEE ALSO

Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*

Encode::JP::JIS7 -- internally used by Encode::JP

Encode::KR - Korean Encodings

SYNOPSIS

DESCRIPTION

BUGS

SEE ALSO

Encode::KR::2022_KR -- internally used by Encode::KR

Encode::MIME::Header -- MIME encoding for an unstructured email header

SYNOPSIS

ABSTRACT

DESCRIPTION

BUGS

AUTHORS

SEE ALSO

Encode::MIME::Name, Encode::MIME::NAME -- internally used by Encode

SEE ALSO

Encode::PerlIO -- a detailed document on Encode and PerlIO

Overview
How does it work?
Line Buffering

How can I tell whether my encoding fully supports PerlIO ?

SEE ALSO

Encode::Supported -- Encodings supported by Encode

DESCRIPTION

Encoding Names

Supported Encodings
Built-in Encodings
Encode::Unicode -- other Unicode encodings
Encode::Byte -- Extended ASCII

ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world

gsm0338 - Hentai Latin 1

gsm0338 support before 2.19

CJK: Chinese, Japanese, Korean (Multibyte)

Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN

Miscellaneous encodings

Encode::EBCDIC, Encode::Symbols, Encode::MIME::Header, Encode::Guess

Unsupported encodings
  ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings,
Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran
System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS,
Various Mac encodings, (Mac) Indic encodings
Encoding vs. Charset -- terminology
Encoding Classification (by Anton Tagunov and Dan Kogai)
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

AUTOLOADed 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::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::Utils - ExtUtils::MM methods without dependency on ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS

maybe_command

BUGS

SEE ALSO

ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION

Overridden methods

AUTHOR

SEE ALSO

ExtUtils::MM_Any - Platform-agnostic MM methods

SYNOPSIS
DESCRIPTION
METHODS

Cross-platform helper methods

Targets

Init methods

Tools

File::Spec wrappers

Misc

AUTHOR

ExtUtils::MM_BeOS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS

DESCRIPTION

os_flavor

init_linker

ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION

os_flavor

cflags

replace_manpage_separator

init_linker

maybe_command

dynamic_lib

install

ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods

os_flavor

replace_manpage_separator

xs_static_lib_is_xs

AUTHOR

SEE ALSO

ExtUtils::MM_Darwin - special behaviors for OS X

SYNOPSIS
DESCRIPTION

Overridden Methods

ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic

SYNOPSIS

DESCRIPTION

ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS

DESCRIPTION

os_flavor

init_platform, platform_constants

static_lib_pure_cmd

xs_static_lib_is_xs

dynamic_lib

ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS

init_dist

init_linker

os_flavor

xs_static_lib_is_xs

ExtUtils::MM_OS390 - OS390 specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overriden methods

xs_make_dynamic_lib

AUTHOR

SEE ALSO

ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION

Overridden methods

AUTHOR

SEE ALSO

ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION
Overridden methods

os_flavor

replace_manpage_separator

AUTHOR

SEE ALSO

ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
METHODS
Methods

os_flavor

c_o (o)

xs_obj_opt

dbgoutflag

cflags (o)

const_cccmd (o)

const_config (o)

const_loadlibs (o)

constants (o)

depend (o)

init_DEST

init_dist

dist (o)

dist_basics (o)

dist_ci (o)

dist_core (o)

dist_target

tardist_target

zipdist_target

tarfile_target

zipfile_target

uutardist_target

shdist_target

dlsyms (o)

dynamic_bs (o)

dynamic_lib (o)

xs_dynamic_lib_macros

xs_make_dynamic_lib

exescan

extliblist

find_perl

fixin

force (o)

guess_name

has_link_code

init_dirscan

init_MANPODS

init_MAN1PODS

init_MAN3PODS

init_PM

init_DIRFILESEP

init_main

init_tools

init_linker

init_lib2arch

init_PERL

init_platform, platform_constants

init_PERM

init_xs

install (o)

installbin (o)

linkext (o)

lsdir

macro (o)

makeaperl (o)

xs_static_lib_is_xs (o)

makefile (o)

maybe_command

needs_linking (o)

parse_abstract

parse_version

pasthru (o)

perl_script

perldepend (o)

pm_to_blib

ppd

prefixify

processPL (o)

specify_shell

quote_paren

replace_manpage_separator

cd

oneliner

quote_literal

escape_newlines

max_exec_len

static (o)

xs_make_static_lib

static_lib_closures

static_lib_fixtures

static_lib_pure_cmd

staticmake (o)

subdir_x (o)

subdirs (o)

test (o)

test_via_harness (override)

test_via_script (override)

tool_xsubpp (o)

all_target

top_targets (o)

writedoc

xs_c (o)

xs_cpp (o)

xs_o (o)

SEE ALSO

ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
Methods always loaded

wraplist

Methods

guess_name (override)

find_perl (override)

_fixin_replace_shebang (override)

maybe_command (override)

pasthru (override)

pm_to_blib (override)

perl_script (override)

replace_manpage_separator

init_DEST

init_DIRFILESEP

init_main (override)

init_tools (override)

init_platform (override)

platform_constants

init_VERSION (override)

constants (override)

special_targets

cflags (override)

const_cccmd (override)

tools_other (override)

init_dist (override)

c_o (override)

xs_c (override)

xs_o (override)

_xsbuild_replace_macro (override)

_xsbuild_value (override)

dlsyms (override)

xs_obj_opt

dynamic_lib (override)

xs_make_static_lib (override)

static_lib_pure_cmd (override)

xs_static_lib_is_xs

extra_clean_files

zipfile_target, tarfile_target, shdist_target

install (override)

perldepend (override)

makeaperl (override)

maketext_filter (override)

prefixify (override)

cd

oneliner

echo

quote_literal

escape_dollarsigns

escape_all_dollarsigns

escape_newlines

max_exec_len

init_linker

catdir (override), catfile (override)

eliminate_macros

fixpath

os_flavor

is_make_type (override)

make_type (override)

AUTHOR

ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix

SYNOPSIS
DESCRIPTION

Overridden methods

AUTHOR

SEE ALSO

ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker

SYNOPSIS
DESCRIPTION
Overridden methods

dlsyms

xs_dlsyms_ext

replace_manpage_separator

maybe_command

init_DIRFILESEP

init_tools

init_others

init_platform, platform_constants

specify_shell

constants

special_targets

static_lib_pure_cmd

dynamic_lib

extra_clean_files

init_linker

perl_script

quote_dep

xs_obj_opt

pasthru

arch_check (override)

oneliner

cd

max_exec_len

os_flavor

dbgoutflag

cflags

make_type

ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X

SYNOPSIS
DESCRIPTION
Overridden methods

max_exec_len

os_flavor

AUTHOR

ExtUtils::MY - ExtUtils::MakeMaker subclass for customization

SYNOPSIS

DESCRIPTION

ExtUtils::MakeMaker - Create a module Makefile

SYNOPSIS
DESCRIPTION
How To Write A Makefile.PL
Default Makefile Behaviour
make test
make testdb
make install
INSTALL_BASE
PREFIX and LIB attribute
AFS users
Static Linking of a new Perl Binary
Determination of Perl Library and Installation Locations
Which architecture dependent directory?
Using Attributes and Parameters

ABSTRACT, ABSTRACT_FROM, AUTHOR, BINARY_LOCATION, BUILD_REQUIRES, C, CCFLAGS, CONFIG, CONFIGURE, CONFIGURE_REQUIRES, DEFINE, DESTDIR, DIR, DISTNAME, DISTVNAME, DLEXT, DL_FUNCS, DL_VARS, EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITEBIN, INSTALLSITELIB, INSTALLSITEMAN1DIR, INSTALLSITEMAN3DIR, INSTALLSITESCRIPT, INSTALLVENDORARCH, INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, INSTALLVENDORMAN3DIR, INSTALLVENDORSCRIPT, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LICENSE, LINKTYPE, MAGICXS, MAKE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, MAP_TARGET, META_ADD, META_MERGE, MIN_PERL_VERSION, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_MYMETA, NO_PACKLIST, NO_PERLLOCAL, NO_VC, OBJECT, OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_DIR, PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PPM_UNINSTALL_EXEC, PPM_UNINSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SIGN, SKIP, TEST_REQUIRES, TYPEMAPS, USE_MM_LD_RUN_PATH, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM, VERSION_SYM, XS, XSBUILD, XSMULTI, XSOPT, XSPROTOARG, XS_VERSION

Additional lowercase attributes

clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean, test, tool_autosplit

Overriding MakeMaker Methods
The End Of Cargo Cult Programming

MAN3PODS => ' '

Hintsfile support
Distribution Support
   make distcheck,    make skipcheck,    make distclean,    make veryclean,
   make manifest,    make distdir,   make disttest,    make tardist,   
make dist,    make uutardist,    make shdist,    make zipdist,    make ci
Module Meta-Data (META and MYMETA)
Disabling an extension
Other Handy Functions

prompt, os_unsupported

Supported versions of Perl

ENVIRONMENT

PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE

SEE ALSO

AUTHORS

LICENSE

ExtUtils::MakeMaker::Config - Wrapper around Config.pm

SYNOPSIS

DESCRIPTION

ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker

DESCRIPTION
Module Installation

How do I install a module into my home directory?, How do I get MakeMaker and Module::Build to install to the same place?, How do I keep from installing man pages?, How do I use a module without installing it?, How can I organize tests into subdirectories and have them run?, PREFIX vs INSTALL_BASE from Module::Build::Cookbook, Generating *.pm files with substitutions eg of $VERSION

Common errors and problems

"No rule to make target `/usr/lib/perl5/CORE/config.h', needed by `Makefile'"

Philosophy and History

Why not just use <insert other build config tool here>?, What is Module::Build and how does it relate to MakeMaker?, pure perl. no make, no shell commands, easier to customize, cleaner internals, less cruft

Module Writing

How do I keep my $VERSION up to date without resetting it manually?, What's this META.yml thing and how did it get in my MANIFEST?!, How do I delete everything not in my MANIFEST?, Which tar should I use on Windows?, Which zip should I use on Windows for '[ndg]make zipdist'?

XS

How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?, How do I make two or more XS files coexist in the same directory?, XSMULTI, Separate directories, Bootstrapping

DESIGN

MakeMaker object hierarchy (simplified)

MakeMaker object hierarchy (real)

The MM_* hierarchy

PATCHING

make a pull request on the MakeMaker github repository, raise a issue on the MakeMaker github repository, file an RT ticket, email makemaker@perl.org

AUTHOR

SEE ALSO

ExtUtils::MakeMaker::Locale - bundled Encode::Locale

SYNOPSIS
DESCRIPTION

decode_argv( ), decode_argv( Encode::FB_CROAK ), env( $uni_key ), env( $uni_key => $uni_value ), reinit( ), reinit( $encoding ), $ENCODING_LOCALE, $ENCODING_LOCALE_FS, $ENCODING_CONSOLE_IN, $ENCODING_CONSOLE_OUT

NOTES

Windows

Mac OS X

POSIX (Linux and other Unixes)

SEE ALSO

AUTHOR

ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker

SYNOPSIS
DESCRIPTION
The Mantra
The Layout

Makefile.PL, MANIFEST, lib/, t/, Changes, README, INSTALL, MANIFEST.SKIP, bin/

SEE ALSO

ExtUtils::Manifest - Utilities to write and check a MANIFEST file

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS

mkmanifest

manifind
manicheck
filecheck
fullcheck
skipcheck
maniread
maniskip
manicopy
maniadd
MANIFEST
MANIFEST.SKIP

#!include_default, #!include /Path/to/another/manifest.skip

EXPORT_OK
GLOBAL VARIABLES
DIAGNOSTICS

Not in MANIFEST: file, Skipping file, No such file: file, MANIFEST: $!, Added to MANIFEST: file

ENVIRONMENT

PERL_MM_MANIFEST_DEBUG

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

ExtUtils::Miniperl - write the C code for miniperlmain.c and perlmain.c

SYNOPSIS

DESCRIPTION

SEE ALSO

ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader

SYNOPSIS

DESCRIPTION

ExtUtils::Mksymlists - write linker options files for dynamic extension

SYNOPSIS
DESCRIPTION

DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME

AUTHOR

REVISION

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

VERSION
OVERVIEW
FUNCTIONS
pl2bat(%opts)

in, out, ntargs, otherargs, stripsuffix, usewarnings, update

ACKNOWLEDGEMENTS

AUTHOR

COPYRIGHT AND LICENSE

mkfh()

__find_relocations

ExtUtils::Packlist - manage .packlist files

SYNOPSIS
DESCRIPTION
USAGE
FUNCTIONS

new(), read(), write(), validate(), packlist_file()

EXAMPLE

AUTHOR

ExtUtils::ParseXS - converts Perl XS code into C code

SYNOPSIS
DESCRIPTION
EXPORT
METHODS

$pxs->new(), $pxs->process_file(), C++, hiertype, except, typemap, prototypes, versioncheck, linenumbers, optimize, inout, argtypes, s, die_on_error, $pxs->report_error_count()

AUTHOR

COPYRIGHT

SEE ALSO

ExtUtils::ParseXS::Constants - Initialization values for some globals

SYNOPSIS

DESCRIPTION

ExtUtils::ParseXS::Eval - Clean package to evaluate code in

SYNOPSIS
SUBROUTINES

$pxs->eval_output_typemap_code($typemapcode, $other_hashref)

$pxs->eval_input_typemap_code($typemapcode, $other_hashref)

TODO

ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS

SYNOPSIS
SUBROUTINES
standard_typemap_locations()

Purpose, Arguments, Return Value

trim_whitespace()

Purpose, Argument, Return Value

C_string()

Purpose, Arguments, Return Value

valid_proto_string()

Purpose, Arguments, Return Value

process_typemaps()

Purpose, Arguments, Return Value

map_type()

Purpose, Arguments, Return Value

standard_XS_defs()

Purpose, Arguments, Return Value

assign_func_args()

Purpose, Arguments, Return Value

analyze_preprocessor_statements()

Purpose, Arguments, Return Value

set_cond()

Purpose, Arguments, Return Value

current_line_number()

Purpose, Arguments, Return Value

Warn()

Purpose, Arguments, Return Value

WarnHint()

Purpose, Arguments, Return Value

_MsgHint()

Purpose, Arguments, Return Value

blurt()

Purpose, Arguments, Return Value

death()

Purpose, Arguments, Return Value

check_conditional_preprocessor_statements()

Purpose, Arguments, Return Value

escape_file_for_line_directive()

Purpose, Arguments, Return Value

report_typemap_failure

Purpose, Arguments, Return Value

ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files

SYNOPSIS

DESCRIPTION

METHODS

new

file

add_typemap

add_inputmap

add_outputmap

add_string

remove_typemap

remove_inputmap

remove_outputmap

get_typemap

get_inputmap

get_outputmap

write

as_string

as_embedded_typemap

merge

is_empty

list_mapped_ctypes

_get_typemap_hash

_get_inputmap_hash

_get_outputmap_hash

_get_prototype_hash

clone

tidy_type

CAVEATS

SEE ALSO

AUTHOR

COPYRIGHT & LICENSE

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

SYNOPSIS
DESCRIPTION
EXPORTED FUNCTIONS

embeddable_typemap

SEE ALSO

AUTHOR

COPYRIGHT & LICENSE

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

SYNOPSIS

DESCRIPTION

METHODS

new

code

xstype

cleaned_code

SEE ALSO

AUTHOR

COPYRIGHT & LICENSE

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

SYNOPSIS

DESCRIPTION

METHODS

new

code

xstype

cleaned_code

targetable

SEE ALSO

AUTHOR

COPYRIGHT & LICENSE

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

SYNOPSIS

DESCRIPTION

METHODS

new

proto

xstype

ctype

tidy_ctype

SEE ALSO

AUTHOR

COPYRIGHT & LICENSE

ExtUtils::testlib - add blib/* directories to @INC

SYNOPSIS

DESCRIPTION

Fatal - Replace functions with equivalents which succeed or die

SYNOPSIS
BEST PRACTICE
DESCRIPTION
DIAGNOSTICS

Bad subroutine name for Fatal: %s, %s is not a Perl subroutine, %s is neither a builtin, nor a Perl subroutine, Cannot make the non-overridable %s fatal, Internal error: %s

BUGS

AUTHOR

LICENSE

SEE ALSO

Fcntl - load the C Fcntl.h defines

SYNOPSIS

DESCRIPTION

NOTE

EXPORTED SYMBOLS

File::Basename - Parse file paths into directory, filename and suffix.

SYNOPSIS

DESCRIPTION

fileparse

basename

dirname

fileparse_set_fstype

SEE ALSO

File::Compare - Compare files or filehandles

SYNOPSIS

DESCRIPTION

RETURN

AUTHOR

File::Copy - Copy files or filehandles

SYNOPSIS
DESCRIPTION

copy  , move   , syscopy , rmscopy($from,$to[,$date_flag])

RETURN

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

KNOWN ISSUES

AUTHORS

COPYRIGHT

GDBM_File - Perl5 access to the gdbm library.

SYNOPSIS
DESCRIPTION
Tie

GDBM_READER, GDBM_WRITER, GDBM_WRCREAT, GDBM_NEWDB

STATIC METHODS
GDBM_version

1  - exact guess, 2  - approximate, 3  - rough guess

ERROR HANDLING

$GDBM_File::gdbm_errno

gdbm_check_syserr

DATABASE METHODS
close
errno
syserrno
strerror
clear_error
needs_recovery
reorganize
sync
count
flags
dbname
cache_size
block_size
sync_mode
centfree
coalesce
mmap
mmapsize
recover

err => sub { ... }, backup => \$str, max_failed_keys => $n, max_failed_buckets => $n, max_failures => $n, stat => \%hash, recovered_keys, recovered_buckets, failed_keys, failed_buckets

convert
dump

binary => 1, mode => MODE, overwrite => 1

load

replace => 1, restore_mode => 0 | 1, restore_owner => 0 | 1, strict_errors => 1

CRASH TOLERANCE
crash_tolerance_status
failure_atomic
latest_snapshot

GDBM_SNAPSHOT_BAD, GDBM_SNAPSHOT_ERR, GDBM_SNAPSHOT_SAME, GDBM_SNAPSHOT_SUSPICIOUS

AVAILABILITY

SECURITY AND PORTABILITY

SEE ALSO

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::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
For systems without nl_langinfo

ERA, CODESET, YESEXPR, YESSTR, NOEXPR, NOSTR, D_FMT, T_FMT, D_T_FMT, CRNCYSTR, ALT_DIGITS, ERA_D_FMT, ERA_T_FMT, ERA_D_T_FMT, T_FMT_AMPM

EXPORT

BUGS

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

IO - load various IO modules

SYNOPSIS

DESCRIPTION

DEPRECATED

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

SYNOPSIS

DESCRIPTION

SUPPORT

SEE ALSO

AUTHOR

MODIFICATION HISTORY

COPYRIGHT AND LICENSE

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

SYNOPSIS
DESCRIPTION
Functional Interface
bzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS]

A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

Notes
Optional Parameters

AutoClose => 0|1, BinModeIn => 0|1, Append => 0|1, A Buffer, A Filename, A Filehandle

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

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

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

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

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 ), binmode( [LAYER] )

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 ] ), $io->untaint

NOTE

SEE ALSO

BUGS

HISTORY

IO::Pipe - supply object methods for pipes

SYNOPSIS
DESCRIPTION
CONSTRUCTOR

new ( [READER, WRITER] )

METHODS

reader ([ARGS]), writer ([ARGS]), handles ()

SEE ALSO

AUTHOR

COPYRIGHT

IO::Poll - Object interface to system poll call

SYNOPSIS
DESCRIPTION
METHODS

mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove ( IO ), handles( [ EVENT_MASK ] )

SEE ALSO

AUTHOR

COPYRIGHT

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

SYNOPSIS
DESCRIPTION

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

SEE ALSO

HISTORY

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR

new ( [ HANDLES ] )

METHODS

add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )

EXAMPLE

AUTHOR

COPYRIGHT

IO::Socket - Object interface to socket communications

SYNOPSIS
DESCRIPTION
CONSTRUCTOR ARGUMENTS

Blocking

Domain

Listen

Timeout

Type

CONSTRUCTORS

new

METHODS

accept

atmark

autoflush

bind

connected

getsockopt

listen

peername

protocol

recv

send

setsockopt

shutdown

sockdomain

socket

socketpair

sockname

sockopt

socktype

timeout

EXAMPLES

LIMITATIONS

SEE ALSO

AUTHOR

COPYRIGHT

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR

new ( [ARGS] )

METHODS

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

SEE ALSO

AUTHOR

COPYRIGHT

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

SYNOPSIS
DESCRIPTION
REPLACING IO::Socket DEFAULT BEHAVIOUR
CONSTRUCTORS
new

PeerHost => STRING, PeerService => STRING, PeerAddr => STRING, PeerPort => STRING, PeerAddrInfo => ARRAY, LocalHost => STRING, LocalService => STRING, LocalAddr => STRING, LocalPort => STRING, LocalAddrInfo => ARRAY, Family => INT, Type => INT, Proto => STRING or INT, GetAddrInfoFlags => INT, Listen => INT, ReuseAddr => BOOL, ReusePort => BOOL, Broadcast => BOOL, Sockopts => ARRAY, V6Only => BOOL, MultiHomed, Blocking => BOOL, Timeout => NUM

new (one arg)
METHODS
sockhost_service
sockhost
sockport
sockhostname
sockservice
sockaddr
peerhost_service
peerhost
peerport
peerhostname
peerservice
peeraddr
as_inet
NON-BLOCKING
PeerHost AND LocalHost PARSING

split_addr

join_addr

IO::Socket::INET INCOMPATIBILITES

TODO

AUTHOR

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR

new ( [ARGS] )

METHODS

hostpath(), peerpath()

SEE ALSO

AUTHOR

COPYRIGHT

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

SYNOPSIS
DESCRIPTION

RFC 1950, RFC 1951 (optionally), gzip (RFC 1952), zip

Functional Interface
anyinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS]

A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob

Notes
Optional Parameters

AutoClose => 0|1, BinModeOut => 0|1, Append => 0|1, A Buffer, A Filename, A Filehandle, MultiStream => 0|1, TrailingData => $scalar

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

Examples

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

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

Examples

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

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

Examples

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

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

Examples

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

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

Examples

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

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

Examples

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

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

Examples

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

Walking through a zip file

Unzipping a complete zip file to disk

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

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

SYNOPSIS
DESCRIPTION
FUNCTIONAL INTERFACE

encode_json

decode_json

JSON::PP::is_bool

OBJECT-ORIENTED INTERFACE
new
ascii
latin1
utf8
pretty
indent
space_before
space_after
relaxed

list items can have an end-comma, shell-style '#'-comments, C-style multiple-line '/* */'-comments (JSON::PP only), C++-style one-line '//'-comments (JSON::PP only), literal ASCII TAB characters in strings

canonical

allow_nonref

allow_unknown

allow_blessed

convert_blessed

allow_tags

boolean_values

core_bools

filter_json_object

filter_json_single_key_object

shrink

max_depth

max_size

encode

decode

decode_prefix

FLAGS FOR JSON::PP ONLY

allow_singlequote

allow_barekey

allow_bignum

loose

escape_slash

indent_length

sort_by

INCREMENTAL PARSING

incr_parse

incr_text

incr_skip

incr_reset

MAPPING
JSON -> PERL

object, array, string, number, true, false, null, shell-style comments (# text), tagged values ((tag)value)

PERL -> JSON

hash references, array references, other references, JSON::PP::true, JSON::PP::false, JSON::PP::null, blessed objects, simple scalars

OBJECT SERIALISATION

1. allow_tags is enabled and the object has a FREEZE method, 2. convert_blessed is enabled and the object has a TO_JSON method, 3. allow_bignum is enabled and the object is a Math::BigInt or Math::BigFloat, 4. allow_blessed is enabled, 5. none of the above

ENCODING/CODESET FLAG NOTES

utf8 flag disabled, utf8 flag enabled, latin1 or ascii flags enabled

BUGS

SEE ALSO

AUTHOR

CURRENT MAINTAINER

COPYRIGHT AND LICENSE

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

SYNOPSIS

DESCRIPTION

AUTHOR

LICENSE

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

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

$RAND

KNOWN BUGS

RT #95409

uniqnum() on oversized bignums

SUGGESTED ADDITIONS

SEE ALSO

COPYRIGHT

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

SYNOPSIS

DESCRIPTION

SEE ALSO

COPYRIGHT

Locale::Maketext - framework for localization

SYNOPSIS
DESCRIPTION
QUICK OVERVIEW
METHODS
Construction Methods
The "maketext" Method

$lh->fail_with or $lh->fail_with(PARAM), $lh->failure_handler_auto, $lh->denylist(@list) <or> $lh->blacklist(@list), $lh->allowlist(@list) <or> $lh->whitelist(@list)

Utility Methods

$language->quant($number, $singular), $language->quant($number, $singular, $plural), $language->quant($number, $singular, $plural, $negative), $language->numf($number), $language->numerate($number, $singular, $plural, $negative), $language->sprintf($format, @items), $language->language_tag(), $language->encoding()

Language Handle Attributes and Internals

LANGUAGE CLASS HIERARCHIES

ENTRIES IN EACH LEXICON

BRACKET NOTATION

BRACKET NOTATION SECURITY

AUTO LEXICONS

READONLY LEXICONS

CONTROLLING LOOKUP FAILURE

HOW TO USE MAKETEXT

SEE ALSO

COPYRIGHT AND DISCLAIMER

AUTHOR

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

INTRODUCTION

ONESIDED LEXICONS

DECIMAL PLACES IN NUMBER FORMATTING

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

SYNOPSIS

DESCRIPTION

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

SYNOPSIS

DESCRIPTION

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

VERSION
SYNOPSIS
DESCRIPTION
OPTIONS

Class

Path

Style

Export

Subclass

Decode

Encoding

ACKNOWLEDGMENTS
SEE ALSO
AUTHORS
COPYRIGHT

The "MIT" License

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

SYNOPSIS
DESCRIPTION
Localization and Perl: gettext breaks, Maketext fixes

A Localization Horror Story: It Could Happen To You

The Linguistic View

Breaking gettext

Replacing gettext

Buzzwords: Abstraction and Encapsulation

Buzzword: Isomorphism

Buzzword: Inheritance

Buzzword: Concision

The Devil in the Details

The Proof in the Pudding: Localizing Web Sites

References

MIME::Base64 - Encoding and decoding of base64 strings

SYNOPSIS
DESCRIPTION

encode_base64( $bytes ), encode_base64( $bytes, $eol );, decode_base64( $str ), encode_base64url( $bytes ), decode_base64url( $str ), encoded_base64_length( $bytes ), encoded_base64_length( $bytes, $eol ), decoded_base64_length( $str )

EXAMPLES

COPYRIGHT

SEE ALSO

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

SYNOPSIS
DESCRIPTION

encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol, $binmode ), decode_qp( $str )

COPYRIGHT

SEE ALSO

Math::BigFloat - arbitrary size floating point math package

SYNOPSIS
DESCRIPTION

Input

Output

METHODS
Configuration methods

accuracy(), precision()

Constructor methods

from_hex(), from_oct(), from_bin(), from_ieee754(), bpi()

Arithmetic methods

bmuladd(), bdiv(), bmod(), bexp(), bnok(), bsin(), bcos(), batan(), batan2(), as_float(), to_ieee754()

ACCURACY AND PRECISION
Rounding

bfround ( +$scale ), bfround ( -$scale ), bfround ( 0 ), bround  ( +$scale ), bround  ( -$scale ) and bround ( 0 )

NUMERIC LITERALS

Hexadecimal, octal, and binary floating point literals

Math library

Using Math::BigInt::Lite

EXPORTS
CAVEATS

stringify, bstr(), brsft(), Modifying and =, precision() vs. accuracy()

BUGS
SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings, The Bignum mailing list, Post to mailing list, View mailing list, Subscribe/Unsubscribe

LICENSE

SEE ALSO

AUTHORS

Math::BigInt - arbitrary size integer math package

SYNOPSIS
DESCRIPTION

Input

Output

METHODS
Configuration methods

accuracy(), precision(), div_scale(), round_mode(), upgrade(), downgrade(), modify(), config()

Constructor methods

new(), from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(), from_base(), from_base_num(), bzero(), bone(), binf(), bnan(), bpi(), copy(), as_int(), as_number(), as_float(), as_rat()

Boolean methods

is_zero(), is_one( [ SIGN ]), is_finite(), is_inf( [ SIGN ] ), is_nan(), is_positive(), is_pos(), is_negative(), is_neg(), is_non_positive(), is_non_negative(), is_odd(), is_even(), is_int()

Comparison methods

bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge()

Arithmetic methods

bneg(), babs(), bsgn(), bnorm(), binc(), bdec(), badd(), bsub(), bmul(), bmuladd(), bdiv(), btdiv(), bmod(), btmod(), bmodinv(), bmodpow(), bpow(), blog(), bexp(), bnok(), buparrow(), uparrow(), backermann(), ackermann(), bsin(), bcos(), batan(), batan2(), bsqrt(), broot(), bfac(), bdfac(), btfac(), bmfac(), bfib(), blucas(), brsft(), blsft()

Bitwise methods

band(), bior(), bxor(), bnot()

Rounding methods

round(), bround(), bfround(), bfloor(), bceil(), bint()

Other mathematical methods

bgcd(), blcm()

Object property methods

sign(), digit(), digitsum(), bdigitsum(), length(), mantissa(), exponent(), parts(), sparts(), nparts(), eparts(), dparts(), fparts(), numerator(), denominator()

String conversion methods

bstr(), bsstr(), bnstr(), bestr(), bdstr(), bfstr(), to_hex(), to_bin(), to_oct(), to_bytes(), to_base(), to_base_num(), as_hex(), as_bin(), as_oct(), as_bytes()

Other conversion methods

numify()

Utility methods

dec_str_to_dec_flt_str(), hex_str_to_dec_flt_str(), oct_str_to_dec_flt_str(), bin_str_to_dec_flt_str(), dec_str_to_dec_str(), hex_str_to_dec_str(), oct_str_to_dec_str(), bin_str_to_dec_str()

ACCURACY and PRECISION
Precision P
Accuracy A
Fallback F
Rounding mode R

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

Infinity and Not a Number

oct()/hex()

INTERNALS

MATH LIBRARY

SIGN

EXAMPLES
NUMERIC LITERALS

Hexadecimal, octal, and binary floating point literals

PERFORMANCE

Alternative math libraries

SUBCLASSING

Subclassing Math::BigInt

UPGRADING

Auto-upgrade

EXPORTS
CAVEATS

Comparing numbers as strings, int(), Modifying and =, Overloading -$x, Mixing different object types

BUGS
SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings, The Bignum mailing list, Post to mailing list, View mailing list, Subscribe/Unsubscribe

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

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->_gcd(OBJ1, OBJ2), CLASS->_lcm(OBJ1, OBJ2), CLASS->_fib(OBJ), CLASS->_lucas(OBJ), CLASS->_and(OBJ1, OBJ2), CLASS->_or(OBJ1, OBJ2), CLASS->_xor(OBJ1, OBJ2), CLASS->_sand(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_sor(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_sxor(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_is_zero(OBJ), CLASS->_is_one(OBJ), CLASS->_is_two(OBJ), CLASS->_is_ten(OBJ), CLASS->_is_even(OBJ), CLASS->_is_odd(OBJ), CLASS->_acmp(OBJ1, OBJ2), CLASS->_str(OBJ), CLASS->_to_bin(OBJ), CLASS->_to_oct(OBJ), CLASS->_to_hex(OBJ), CLASS->_to_bytes(OBJ), CLASS->_to_base(OBJ, BASE, COLLSEQ), CLASS->_to_base_num(OBJ, BASE), CLASS->_as_bin(OBJ), CLASS->_as_oct(OBJ), CLASS->_as_hex(OBJ), CLASS->_as_bytes(OBJ), CLASS->_num(OBJ), CLASS->_copy(OBJ), CLASS->_len(OBJ), CLASS->_zeros(OBJ), CLASS->_digit(OBJ, N), CLASS->_digitsum(OBJ), CLASS->_check(OBJ), CLASS->_set(OBJ)

API version 2

CLASS->_1ex(N), CLASS->_nok(OBJ1, OBJ2), CLASS->_alen(OBJ)

WRAP YOUR OWN
BUGS
SUPPORT

RT: CPAN's request tracker, AnnoCPAN: Annotated CPAN documentation, CPAN Ratings, MetaCPAN, CPAN Testers Matrix, The Bignum mailing list, Post to mailing list, View mailing list, Subscribe/Unsubscribe

LICENSE

AUTHOR

SEE ALSO

Math::BigRat - arbitrary size rational number math package

SYNOPSIS
DESCRIPTION

MATH LIBRARY

METHODS

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

NUMERIC LITERALS

Hexadecimal, octal, and binary floating point literals

BUGS
SUPPORT

GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings

LICENSE

SEE ALSO

AUTHORS

Math::Complex - complex numbers and associated mathematical functions

SYNOPSIS
DESCRIPTION
OPERATIONS
CREATION
DISPLAYING

CHANGED IN PERL 5.6

USAGE
CONSTANTS

PI

Inf

ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO

ERRORS DUE TO INDIGESTIBLE ARGUMENTS

BUGS

SEE ALSO

AUTHORS

LICENSE

Math::Trig - trigonometric functions

SYNOPSIS
DESCRIPTION
TRIGONOMETRIC FUNCTIONS

tan

ERRORS DUE TO DIVISION BY ZERO

SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS

PLANE ANGLE CONVERSIONS

deg2rad, grad2rad, rad2deg, grad2deg, deg2grad, rad2grad, rad2rad, deg2deg, grad2grad

RADIAL COORDINATE CONVERSIONS
COORDINATE SYSTEMS
3-D ANGLE CONVERSIONS

cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian, cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical

GREAT CIRCLE DISTANCES AND DIRECTIONS

great_circle_distance

great_circle_direction

great_circle_bearing

great_circle_destination

great_circle_midpoint

great_circle_waypoint

EXAMPLES
CAVEAT FOR GREAT CIRCLE FORMULAS
Real-valued asin and acos

asin_real, acos_real

BUGS

SEE ALSO

AUTHORS

LICENSE

Memoize - Make functions faster by trading space for time

SYNOPSIS
DESCRIPTION
EXAMPLE
DETAILS
OPTIONS
INSTALL
NORMALIZER
SCALAR_CACHE, LIST_CACHE

MEMORY, HASH, TIE, FAULT, MERGE

OTHER FACILITIES

unmemoize

flush_cache

CAVEATS

PERSISTENT CACHE SUPPORT

EXPIRATION SUPPORT

BUGS

SEE ALSO

THANK YOU

AUTHOR

COPYRIGHT AND LICENSE

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

DESCRIPTION

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

SYNOPSIS
DESCRIPTION
INTERFACE
 TIEHASH,  EXISTS,  STORE

ALTERNATIVES

CAVEATS

AUTHOR

SEE ALSO

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

DESCRIPTION

Memoize::SDBM_File - DEPRECATED compability shim

DESCRIPTION

Memoize::Storable - store Memoized data in Storable database

DESCRIPTION

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

SYNOPSIS
DESCRIPTION
FUNCTIONS API

first_release( MODULE ), first_release_by_date( MODULE ), find_modules( REGEX, [ LIST OF PERLS ] ), find_version( PERL_VERSION ), is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] ), is_deprecated( MODULE, PERL_VERSION ), deprecated_in( MODULE ), removed_from( MODULE ), removed_from_by_date( MODULE ), changes_between( PERL_VERSION, PERL_VERSION )

DATA STRUCTURES

%Module::CoreList::version, %Module::CoreList::delta, %Module::CoreList::released, %Module::CoreList::families, %Module::CoreList::deprecated, %Module::CoreList::upstream, %Module::CoreList::bug_tracker

CAVEATS

HISTORY

AUTHOR

LICENSE

SEE ALSO

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

SYNOPSIS
DESCRIPTION
FUNCTIONS API

utilities, first_release( UTILITY ), first_release_by_date( UTILITY ), removed_from( UTILITY ), removed_from_by_date( UTILITY )

DATA STRUCTURES

%Module::CoreList::Utils::utilities

AUTHOR

LICENSE

SEE ALSO

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

SYNOPSIS
DESCRIPTION

Difference between load and autoload

FUNCTIONS

load, autoload, load_remote, autoload_remote

Rules
IMPORTS THE FUNCTIONS

"load","autoload","load_remote","autoload_remote", 'all', '','none',undef

Caveats

SEE ALSO

ACKNOWLEDGEMENTS

BUG REPORTS

AUTHOR

COPYRIGHT

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

SYNOPSIS
DESCRIPTION
Methods
$href = check_install( module => NAME [, version => VERSION, verbose => BOOL ] );

module, version, verbose, file, dir, version, uptodate

$bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL, autoload => BOOL] )

modules, verbose, nocache, autoload

@list = requires( MODULE );
Global Variables

$Module::Load::Conditional::VERBOSE

$Module::Load::Conditional::FIND_VERSION

$Module::Load::Conditional::CHECK_INC_HASH

$Module::Load::Conditional::FORCE_SAFE_INC

$Module::Load::Conditional::CACHE

$Module::Load::Conditional::ERROR

$Module::Load::Conditional::DEPRECATED

See Also

BUG REPORTS

AUTHOR

COPYRIGHT

Module::Loaded - mark modules as loaded or unloaded

SYNOPSIS
DESCRIPTION
FUNCTIONS

$bool = mark_as_loaded( PACKAGE );

$bool = mark_as_unloaded( PACKAGE );

$loc = is_loaded( PACKAGE );

BUG REPORTS

AUTHOR

COPYRIGHT

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

VERSION
SYNOPSIS
DESCRIPTION
CLASS METHODS
new_from_file($filename, collect_pod => 1, decode_pod => 1)
new_from_handle($handle, $filename, collect_pod => 1, decode_pod => 1)
new_from_module($module, collect_pod => 1, inc => \@dirs, decode_pod => 1)
find_module_by_name($module, \@dirs)
find_module_dir_by_name($module, \@dirs)
provides( %options )

version (required), dir, files, prefix

package_versions_from_directory($dir, \@files?)

log_info (internal)

OBJECT METHODS

name()

version($package)

filename()

packages_inside()

pod_inside()

contains_pod()

pod($section)

is_indexable($package) or is_indexable()

SUPPORT

AUTHOR

CONTRIBUTORS

COPYRIGHT & LICENSE

NDBM_File - Tied access to ndbm files

SYNOPSIS
DESCRIPTION

O_RDONLY, O_WRONLY, O_RDWR

DIAGNOSTICS

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

SECURITY AND PORTABILITY

BUGS AND WARNINGS

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

SYNOPSIS
DESCRIPTION

Enforcing redispatch

Avoiding repetitions

Invoking all versions of a method with a single call

Using EVERY methods

SEE ALSO

AUTHOR

BUGS AND IRRITATIONS

COPYRIGHT

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

SYNOPSIS
DESCRIPTION
Public Methods

debug($level), message(), code(), ok(), status(), datasend($data), dataend()

Protected Methods

debug_print($dir, $text), debug_text($dir, $text), command($cmd[, $args, ... ]), unsupported(), response(), parse_response($text), getline(), ungetline($text), rawdatasend($data), read_until_dot(), tied_fh()

Pseudo Responses

Initial value, Connection closed, Timeout

EXPORTS

Default Exports, Optional Exports, Export Tags

KNOWN BUGS

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

Net::Config - Local configuration data for libnet

SYNOPSIS
DESCRIPTION
Class Methods

requires_firewall($host)

NetConfig Values

nntp_hosts, snpp_hosts, pop3_hosts, smtp_hosts, ph_hosts, daytime_hosts, time_hosts, inet_domain, ftp_firewall, ftp_firewall_type, 0, 1, 2, 3, 4, 5, 6, 7, ftp_ext_passive, ftp_int_passive, local_netmask, test_hosts, test_exists

EXPORTS

Default Exports, Optional Exports, Export Tags

KNOWN BUGS

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

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

SYNOPSIS
DESCRIPTION
Functions

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

EXPORTS

Default Exports, Optional Exports, Export Tags

KNOWN BUGS

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

Net::FTP - FTP Client class

SYNOPSIS
DESCRIPTION
Overview
Class Methods

new([$host][, %options])

Object Methods

login([$login[, $password[, $account]]]), starttls(), stoptls(), prot($level), host(), account($acct), authorize([$auth[, $resp]]), site($args), ascii(), binary(), type([$type]), rename($oldname, $newname), delete($filename), cwd([$dir]), cdup(), passive([$passive]), pwd(), restart($where), rmdir($dir[, $recurse]), mkdir($dir[, $recurse]), alloc($size[, $record_size]), ls([$dir]), dir([$dir]), get($remote_file[, $local_file[, $where]]), put($local_file[, $remote_file]), put_unique($local_file[, $remote_file]), append($local_file[, $remote_file]), unique_name(), mdtm($file), size($file), supported($cmd), hash([$filehandle_glob_ref[, $bytes_per_hash_mark]]), feature($name), nlst([$dir]), list([$dir]), retr($file), stor($file), stou($file), appe($file), port([$port]), eprt([$port]), pasv(), epsv(), pasv_xfer($src_file, $dest_server[, $dest_file ]), pasv_xfer_unique($src_file, $dest_server[, $dest_file ]), pasv_wait($non_pasv_server), abort(), quit()

Methods for the Adventurous

quot($cmd[, $args]), can_inet6(), can_ssl()

The dataconn Class
Unimplemented

SMNT, HELP, MODE, SYST, STAT, STRU, REIN

EXPORTS
KNOWN BUGS

Reporting Bugs

SEE ALSO

ACKNOWLEDGEMENTS

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

Net::NNTP - NNTP Client class

SYNOPSIS
DESCRIPTION
Class Methods

new([$host][, %options])

Object Methods

host(), starttls(), article([{$msgid|$msgnum}[, $fh]]), body([{$msgid|$msgnum}[, [$fh]]), head([{$msgid|$msgnum}[, [$fh]]), articlefh([{$msgid|$msgnum}]), bodyfh([{$msgid|$msgnum}]), headfh([{$msgid|$msgnum}]), nntpstat([{$msgid|$msgnum}]), group([$group]), help(), ihave($msgid[, $message]), last(), date(), postok(), authinfo($user, $pass), authinfo_simple($user, $pass), list(), newgroups($since[, $distributions]), newnews($since[, $groups[, $distributions]]), next(), post([$message]), postfh(), slave(), quit(), can_inet6(), can_ssl()

Extension Methods

newsgroups([$pattern]), distributions(), distribution_patterns(), subscriptions(), overview_fmt(), active_times(), active([$pattern]), xgtitle($pattern), xhdr($header, $message_spec), xover($message_spec), xpath($message_id), xpat($header, $pattern, $message_spec), xrover($message_spec), listgroup([$group]), reader()

Unsupported
Definitions

$message_spec, $pattern, Examples, [^]-], *bdc, [0-9a-zA-Z], a??d

EXPORTS

KNOWN BUGS

SEE ALSO

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

Net::Netrc - OO interface to users netrc file

SYNOPSIS
DESCRIPTION
The .netrc File

machine name, default, login name, password string, account string, macdef name

Class Methods

lookup($machine[, $login])

Object Methods

login(), password(), account(), lpa()

EXPORTS

KNOWN BUGS

SEE ALSO

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

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

SYNOPSIS
DESCRIPTION
Class Methods

new([$host][, %options])

Object Methods

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

Notes

EXPORTS

KNOWN BUGS

SEE ALSO

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

Net::Ping - check a remote host for reachability

SYNOPSIS
DESCRIPTION
Functions

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

NOTES

INSTALL

BUGS

AUTHORS

COPYRIGHT

Net::SMTP - Simple Mail Transfer Protocol Client

SYNOPSIS
DESCRIPTION
Class Methods

new([$host][, %options])

Object Methods

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

Addresses

EXAMPLES

EXPORTS

KNOWN BUGS

SEE ALSO

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

Net::Time - time and daytime network client interface

SYNOPSIS
DESCRIPTION
Functions

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

EXPORTS

Default Exports, Optional Exports, Export Tags

KNOWN BUGS

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

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

SYNOPSIS

DESCRIPTION

EXAMPLES

NOTE

AUTHOR

Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions

DESCRIPTION

Where to get this document

How to contribute to this document

Author and Copyright Information

Disclaimer

Obtaining and installing libnet

What is libnet ?

Which version of perl do I need ?

What other modules do I need ?

What machines support libnet ?

Where can I get the latest libnet release

Using Net::FTP

How do I download files from an FTP server ?

How do I transfer files in binary mode ?

How can I get the size of a file on a remote FTP server ?

How can I get the modification time of a file on a remote FTP server ?

How can I change the permissions of a file on a remote server ?

Can I do a reget operation like the ftp command ?

How do I get a directory listing from an FTP server ?

Changing directory to "" does not fail ?

I am behind a SOCKS firewall, but the Firewall option does not work ?

I am behind an FTP proxy firewall, but cannot access machines outside ?

My ftp proxy firewall does not listen on port 21

Is it possible to change the file permissions of a file on an FTP server ?

I have seen scripts call a method message, but cannot find it documented ?

Why does Net::FTP not implement mput and mget methods

Using Net::SMTP

Why can't the part of an Email address after the @ be used as the hostname ?

Why does Net::SMTP not do DNS MX lookups ?

The verify method always returns true ?

Debugging scripts

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

AUTHOR AND COPYRIGHT

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

SYNOPSIS

DESCRIPTION

EXAMPLES

NOTE

AUTHOR

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

SYNOPSIS

DESCRIPTION

NOTE

AUTHOR

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

SYNOPSIS

DESCRIPTION

EXAMPLES

NOTE

AUTHOR

O - Generic interface to Perl Compiler backends

SYNOPSIS

DESCRIPTION

CONVENTIONS

IMPLEMENTATION

BUGS

AUTHOR

ODBM_File - Tied access to odbm files

SYNOPSIS
DESCRIPTION

O_RDONLY, O_WRONLY, O_RDWR

DIAGNOSTICS

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

SECURITY AND PORTABILITY

BUGS AND WARNINGS

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

AUTHOR

COPYRIGHT AND LICENSE

SEE ALSO

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

SYNOPSIS

DESCRIPTION

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS
DESCRIPTION

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

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

CAVEAT

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

CAVEAT

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

CAVEAT

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

PAGER FORMATTING

CAVEAT

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

CAVEAT

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

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

SYNOPSIS

DESCRIPTION

SEE ALSO

AUTHOR

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

SYNOPSIS

DESCRIPTION

SEE ALSO

COPYRIGHT AND DISCLAIMERS

AUTHOR

Pod::Simple - framework for parsing Pod

SYNOPSIS
DESCRIPTION
MAIN METHODS

$parser = SomeClass->new();, $parser->output_fh( *OUT );, $parser->output_string( \$somestring );, $parser->parse_file( $some_filename );, $parser->parse_file( *INPUT_FH );, $parser->parse_string_document( $all_content );, $parser->parse_lines( ...@lines..., undef );, $parser->content_seen, SomeClass->filter( $filename );, SomeClass->filter( *INPUT_FH );, SomeClass->filter( \$document_content );

SECONDARY METHODS

$parser->parse_characters( SOMEVALUE ), $parser->no_whining( SOMEVALUE ), $parser->no_errata_section( SOMEVALUE ), $parser->complain_stderr( SOMEVALUE ), $parser->source_filename, $parser->doc_has_started, $parser->source_dead, $parser->strip_verbatim_indent( SOMEVALUE ), $parser->expand_verbatim_tabs( n )

TERTIARY METHODS

$parser->abandon_output_fh(), $parser->abandon_output_string(), $parser->accept_code( @codes ), $parser->accept_codes( @codes ), $parser->accept_directive_as_data( @directives ), $parser->accept_directive_as_processed( @directives ), $parser->accept_directive_as_verbatim( @directives ), $parser->accept_target( @targets ), $parser->accept_target_as_text( @targets ), $parser->accept_targets( @targets ), $parser->accept_targets_as_text( @targets ), $parser->any_errata_seen(), $parser->errata_seen(), $parser->detected_encoding(), $parser->encoding(), $parser->parse_from_file( $source, $to ), $parser->scream( @error_messages ), $parser->unaccept_code( @codes ), $parser->unaccept_codes( @codes ), $parser->unaccept_directive( @directives ), $parser->unaccept_directives( @directives ), $parser->unaccept_target( @targets ), $parser->unaccept_targets( @targets ), $parser->version_report(), $parser->whine( @error_messages )

ENCODING
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org, Karl Williamson khw@cpan.org, Gabor Szabo szabgab@gmail.com, Shawn H Corey  SHCOREY at cpan.org

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

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
CAVEATS
GUTS
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
CALLING FROM THE COMMAND LINE
CALLING FROM PERL

Minimal code

More detailed example

METHODS

html_css

html_javascript

title_prefix

title_postfix

html_header_before_title

top_anchor

html_h_level

index

html_header_after_title

html_footer

SUBCLASSING
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
ACKNOWLEDGEMENTS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION

FROM THE COMMAND LINE

MAIN METHODS

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

ACCESSOR METHODS

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

NOTES ON CUSTOMIZATION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
METHOD CALLING
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
METHODS

my $token = $parser->get_token, $parser->unget_token( $token ), $parser->unget_token( $token1, $token2, ... ), $parser->set_source( $filename ), $parser->set_source( $filehandle_object ), $parser->set_source( \$document_source ), $parser->set_source( \@document_lines ), $parser->parse_file(...), $parser->parse_string_document(...), $parser->filter(...), $parser->parse_from_file(...), my $title_string = $parser->get_title, my $title_string = $parser->get_short_title, $author_name = $parser->get_author, $description_name = $parser->get_description, $version_block = $parser->get_version

NOTE
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION

$token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring)

SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION

$token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring), $token->attr(attrname), $token->attr(attrname, newvalue), $token->attr_hash

SEE ALSO
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION

$token->text, $token->text(somestring), $token->text_r()

SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION

$token->type, $token->is_start, $token->is_text, $token->is_end, $token->dump

SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
FORMAT CONTROL ATTRIBUTES

$parser->head1_halfpoint_size( halfpoint_integer );, $parser->head2_halfpoint_size( halfpoint_integer );, $parser->head3_halfpoint_size( halfpoint_integer );, $parser->head4_halfpoint_size( halfpoint_integer );, $parser->codeblock_halfpoint_size( halfpoint_integer );, $parser->header_halfpoint_size( halfpoint_integer );, $parser->normal_halfpoint_size( halfpoint_integer );, $parser->no_proofing_exemptions( true_or_false );, $parser->doc_lang( microsoft_decimal_language_code )

SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
CONSTRUCTOR
ACCESSORS

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

MAIN SEARCH METHODS
$search->survey( @directories )

name2path, path2name

$search->simplify_name( $str )

$search->find( $pod )

$search->find( $pod, @search_dirs )

$self->contains_pod( $file )

SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
METHODS
Tree Contents
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION

Pod::Simple, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::SimpleTree

Events

$parser->_handle_element_start( element_name, attr_hashref ), $parser->_handle_element_end( element_name  ), $parser->_handle_text( text_string ), events with an element_name of Document, events with an element_name of Para, events with an element_name of B, C, F, or I, events with an element_name of S, events with an element_name of X, events with an element_name of L, events with an element_name of E or Z, events with an element_name of Verbatim, events with an element_name of head1 .. head4, events with an element_name of encoding, events with an element_name of over-bullet, events with an element_name of over-number, events with an element_name of over-text, events with an element_name of over-block, events with an element_name of over-empty, events with an element_name of item-bullet, events with an element_name of item-number, events with an element_name of item-text, events with an element_name of for, events with an element_name of Data

More Pod::Simple Methods

$parser->accept_targets( SOMEVALUE ), $parser->accept_targets_as_text(  SOMEVALUE ), $parser->accept_codes( Codename, Codename...  ), $parser->accept_directive_as_data( directive_name ), $parser->accept_directive_as_verbatim( directive_name ), $parser->accept_directive_as_processed( directive_name ), $parser->nbsp_for_S( BOOLEAN );, $parser->version_report(), $parser->pod_para_count(), $parser->line_count(), $parser->nix_X_codes(  SOMEVALUE  ), $parser->keep_encoding_directive(  SOMEVALUE  ), $parser->merge_text(  SOMEVALUE  ), $parser->code_handler(  CODE_REF  ), $parser->cut_handler(  CODE_REF  ), $parser->pod_handler(  CODE_REF  ), $parser->whiteline_handler(  CODE_REF  ), $parser->whine( linenumber, complaint string ), $parser->scream( linenumber, complaint string ), $parser->source_dead(1), $parser->hide_line_numbers( SOMEVALUE ), $parser->no_whining( SOMEVALUE ), $parser->no_errata_section( SOMEVALUE ), $parser->complain_stderr( SOMEVALUE ), $parser->bare_output( SOMEVALUE ), $parser->preserve_whitespace( SOMEVALUE ), $parser->parse_empty_lists( SOMEVALUE )

SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION

Minimal code

METHODS

perldoc_url_prefix

perldoc_url_postfix

man_url_prefix

man_url_postfix

title_prefix, title_postfix

html_css

html_javascript

html_doctype

html_charset

html_header_tags

html_h_level

default_title

force_title

html_header, html_footer

index

anchor_items

backlink

SUBCLASSING
handle_text
handle_code
accept_targets_as_html
resolve_pod_page_link
resolve_man_page_link
idify
batch_mode_page_object_init
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
ACKNOWLEDGEMENTS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

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

SYNOPSIS
DESCRIPTION
SEE ALSO
ABOUT EXTENDING POD
SEE ALSO
SUPPORT
COPYRIGHT AND DISCLAIMERS
AUTHOR

Allison Randal allison@perl.org, Hans Dieter Pearcey hdp@cpan.org, David E. Wheeler dwheeler@cpan.org

Pod::Text - Convert POD data to formatted text

SYNOPSIS
DESCRIPTION

Encoding

CLASS METHODS

new(ARGS), alt, code, encoding, errors, guesswork, quoting, indent, loose, margin, nourls, quotes, sentence, stderr, utf8, width

INSTANCE METHODS

output_fh(FH), output_string(REF), parse_file(PATH), parse_from_file(INPUT, OUTPUT), parse_from_filehandle(FH, OUTPUT), parse_lines(LINES[, ...[, undef]]), parse_string_document(INPUT)

FUNCTIONS

pod2text([[-a,] [-NNN,]] INPUT[, OUTPUT])

DIAGNOSTICS

Bizarre space in item, Item called without tag, Can't open %s for reading: %s, Invalid errors setting "%s", Invalid quote specification "%s", POD document had syntax errors

COMPATIBILITY

AUTHOR

COPYRIGHT AND LICENSE

SEE ALSO

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

SYNOPSIS

DESCRIPTION

COMPATIBILITY

AUTHOR

COPYRIGHT AND LICENSE

SEE ALSO

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

SYNOPSIS

DESCRIPTION

BUGS

COMPATIBILITY

AUTHOR

COPYRIGHT AND LICENSE

SEE ALSO

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

SYNOPSIS

DESCRIPTION

COMPATIBILITY

AUTHOR

COPYRIGHT AND LICENSE

SEE ALSO

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

SYNOPSIS
ARGUMENTS

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

Formatting base class

Pass-through options

DESCRIPTION

Scripts

EXAMPLES

Recommended Use

CAVEATS

SUPPORT

AUTHOR

LICENSE

ACKNOWLEDGMENTS

SEE ALSO

SDBM_File - Tied access to sdbm files

SYNOPSIS
DESCRIPTION

Tie

EXPORTS
DIAGNOSTICS

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

SECURITY WARNING

BUGS AND WARNINGS

Safe - Compile and execute code in restricted compartments

SYNOPSIS
DESCRIPTION

a new namespace, an operator mask

WARNING
METHODS

permit (OP, ...)

permit_only (OP, ...)

deny (OP, ...)

deny_only (OP, ...)

trap (OP, ...), untrap (OP, ...)

share (NAME, ...)

share_from (PACKAGE, ARRAYREF)

varglob (VARNAME)

reval (STRING, STRICT)

rdo (FILENAME)

root (NAMESPACE)

mask (MASK)

wrap_code_ref (CODEREF)

wrap_code_refs_within (...)

RISKS

Memory, CPU, Snooping, Signals, State Changes

AUTHOR

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

SYNOPSIS
DESCRIPTION

Core Perl builtin Functions

FUNCTIONS FOR REFERENCES

blessed

refaddr

reftype

weaken

unweaken

isweak

OTHER FUNCTIONS

dualvar

isdual

isvstring

looks_like_number

openhandle

readonly

set_prototype

tainted

DIAGNOSTICS

Vstrings are not implemented in this version of perl

KNOWN BUGS

SEE ALSO

COPYRIGHT

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

SYNOPSIS

DESCRIPTION

SelectSaver - save and restore selected file handle

SYNOPSIS

DESCRIPTION

SelfLoader - load functions only on demand

SYNOPSIS
DESCRIPTION

The __DATA__ token

SelfLoader autoloading

Autoloading and package lexicals

SelfLoader and AutoLoader

__DATA__, __END__, and the FOOBAR::DATA filehandle.

Classes and inherited methods.

Multiple packages and fully qualified subroutine names
AUTHOR
COPYRIGHT AND LICENSE

a), b)

Socket, Socket - networking constants and support functions

SYNOPSIS
DESCRIPTION
CONSTANTS
PF_INET, PF_INET6, PF_UNIX, ...
AF_INET, AF_INET6, AF_UNIX, ...
SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ...
SOCK_NONBLOCK. SOCK_CLOEXEC
SOL_SOCKET
SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ...
IP_OPTIONS, IP_TOS, IP_TTL, ...
IP_PMTUDISC_WANT, IP_PMTUDISC_DONT, ...
IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY, ...
MSG_BCAST, MSG_OOB, MSG_TRUNC, ...
SHUT_RD, SHUT_RDWR, SHUT_WR
INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE
IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP, ...
TCP_CORK, TCP_KEEPALIVE, TCP_NODELAY, ...
IN6ADDR_ANY, IN6ADDR_LOOPBACK
IPV6_ADD_MEMBERSHIP, IPV6_MTU, IPV6_V6ONLY, ...
STRUCTURE MANIPULATORS
$family = sockaddr_family $sockaddr
$sockaddr = pack_sockaddr_in $port, $ip_address
($port, $ip_address) = unpack_sockaddr_in $sockaddr
$sockaddr = sockaddr_in $port, $ip_address
($port, $ip_address) = sockaddr_in $sockaddr
$sockaddr = pack_sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]]
($port, $ip6_address, $scope_id, $flowinfo) = unpack_sockaddr_in6 $sockaddr
$sockaddr = sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]]
($port, $ip6_address, $scope_id, $flowinfo) = sockaddr_in6 $sockaddr
$sockaddr = pack_sockaddr_un $path
($path) = unpack_sockaddr_un $sockaddr
$sockaddr = sockaddr_un $path
($path) = sockaddr_un $sockaddr
$ip_mreq = pack_ip_mreq $multiaddr, $interface
($multiaddr, $interface) = unpack_ip_mreq $ip_mreq
$ip_mreq_source = pack_ip_mreq_source $multiaddr, $source, $interface
($multiaddr, $source, $interface) = unpack_ip_mreq_source $ip_mreq
$ipv6_mreq = pack_ipv6_mreq $multiaddr6, $ifindex
($multiaddr6, $ifindex) = unpack_ipv6_mreq $ipv6_mreq
FUNCTIONS
$ip_address = inet_aton $string
$string = inet_ntoa $ip_address
$address = inet_pton $family, $string
$string = inet_ntop $family, $address
($err, @result) = getaddrinfo $host, $service, [$hints]

flags => INT, family => INT, socktype => INT, protocol => INT, family => INT, socktype => INT, protocol => INT, addr => STRING, canonname => STRING, AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST

($err, $hostname, $servicename) = getnameinfo $sockaddr, [$flags, [$xflags]]

NI_NUMERICHOST, NI_NUMERICSERV, NI_NAMEREQD, NI_DGRAM, NIx_NOHOST, NIx_NOSERV

getaddrinfo() / getnameinfo() ERROR CONSTANTS

EAI_AGAIN, EAI_BADFLAGS, EAI_FAMILY, EAI_NODATA, EAI_NONAME, EAI_SERVICE

EXAMPLES

Lookup for connect()

Making a human-readable string out of an address

Resolving hostnames into IP addresses

Accessing socket options

AUTHOR

Storable - persistence for Perl data structures

SYNOPSIS
DESCRIPTION
MEMORY STORE
ADVISORY LOCKING
SPEED
CANONICAL REPRESENTATION
CODE REFERENCES
FORWARD COMPATIBILITY

utf8 data, restricted hashes, huge objects, files from future versions of Storable

ERROR REPORTING
WIZARDS ONLY
Hooks

STORABLE_freeze obj, cloning, STORABLE_thaw obj, cloning, serialized, .., STORABLE_attach class, cloning, serialized

Predicates

Storable::last_op_in_netorder, Storable::is_storing, Storable::is_retrieving

Recursion

Deep Cloning

Storable magic

$info = Storable::file_magic( $filename ), version, version_nv, major, minor, hdrsize, netorder, byteorder, intsize, longsize, ptrsize, nvsize, file, $info = Storable::read_magic( $buffer ), $info = Storable::read_magic( $buffer, $must_be_file )

EXAMPLES
SECURITY WARNING
WARNING
REGULAR EXPRESSIONS
BUGS

64 bit data in perl 5.6.0 and 5.6.1

CREDITS

AUTHOR

SEE ALSO

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

SYNOPSIS

DESCRIPTION

FUNCTIONS

prototype

set_prototype

subname

set_subname

AUTHOR

Symbol - manipulate Perl symbols and their names

SYNOPSIS

DESCRIPTION

BUGS

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

SYNOPSIS

DESCRIPTION

AUTHOR

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

VERSION
SYNOPSIS
DESCRIPTION
EXPORTS
FUNCTIONS

openlog($ident, $logopt, $facility), syslog($priority, $message), syslog($priority, $format, @args), Note, setlogmask($mask_priority), setlogsock(), Note, closelog()

THE RULES OF SYS::SYSLOG
EXAMPLES
CONSTANTS

Facilities

Levels

DIAGNOSTICS

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

HISTORY
SEE ALSO

Other modules

Manual Pages

RFCs

Articles

Event Log

AUTHORS & ACKNOWLEDGEMENTS
BUGS
SUPPORT

Perl Documentation, MetaCPAN, Search CPAN, AnnoCPAN: Annotated CPAN documentation, CPAN Ratings, RT: CPAN's request tracker

COPYRIGHT

LICENSE

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

VERSION
SYNOPSIS
DESCRIPTION
METHODS

Class Methods

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

VERSION
DESCRIPTION
SYNOPSIS
METHODS
Class Methods

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

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

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods

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

VERSION
DESCRIPTION
SYNOPSIS

open_test

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

VERSION
DESCRIPTION
SYNOPSIS
METHODS

Class Methods

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

VERSION

DESCRIPTION

clear_for_close

close_test

header

result

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

VERSION
DESCRIPTION
SYNOPSIS

open_test

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

VERSION
DESCRIPTION
METHODS

result

close_test

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

VERSION
METHODS
Class Methods

formatter, parser, name, show_count

TAP::Harness - Run test scripts with statistics

VERSION
DESCRIPTION
SYNOPSIS
METHODS
Class Methods

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

Instance Methods

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

CONFIGURING

Plugins

Module::Build

ExtUtils::MakeMaker

prove

WRITING PLUGINS

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

SUBCLASSING
Methods

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

REPLACING

SEE ALSO

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

Beyond make test

Saved State

Parallel Testing

Non-Perl Tests

Mixing it up

Rolling My Own

Deeper Customisation

Callbacks

Parsing TAP

Getting Support

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

Test - provides a simple framework for writing test scripts

SYNOPSIS
DESCRIPTION
QUICK START GUIDE
Functions

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

_to_value

ok(...)

skip(skip_if_true, args...)

TEST TYPES

NORMAL TESTS, SKIPPED TESTS, TODO TESTS

ONFAIL

BUGS and CAVEATS

ENVIRONMENT

NOTE

SEE ALSO

AUTHOR

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

DESCRIPTION
WHAT IS NEW?

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

GETTING STARTED

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

Test2::Tools::
Test2::Plugin::
Test2::Bundle::
Test2::Require::
Test2::Formatter::
Test2::Event::
Test2::Hub::
Test2::IPC::
Test2::Util::
Test2::API::
Test2::
SEE ALSO
CONTACTING US
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

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

***INTERNALS NOTE***
DESCRIPTION
SYNOPSIS

WRITING A TOOL

TESTING YOUR TOOLS

OTHER API FUNCTIONS

MAIN API EXPORTS
context(...)

$ctx = context(), $ctx = context(%params), level => $int, wrapped => $int, stack => $stack, hub => $hub, on_init => sub { ... }, on_release => sub { ... }

release($;$)

release $ctx;, release $ctx, ...;

context_do(&;@)
no_context(&;$)

no_context { ... };, no_context { ... } $hid;

intercept(&)
run_subtest(...)

$NAME, \&CODE, $BUFFERED or \%PARAMS, 'buffered' => $bool, 'inherit_trace' => $bool, 'no_fork' => $bool, @ARGS, Things not effected by this flag, Things that are effected by this flag, Things that are formatter dependant

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_diabled, test2_ipc_wait_enable(), test2_ipc_wait_disable(), $bool = test2_ipc_wait_enabled(), $bool = test2_no_wait(), test2_no_wait($bool), $fh = test2_stdout(), $fh = test2_stderr(), test2_reset_io()

BEHAVIOR HOOKS

test2_add_callback_exit(sub { ... }), test2_add_callback_post_load(sub { ... }), test2_add_callback_testing_done(sub { ... }), test2_add_callback_context_acquire(sub { ... }), test2_add_callback_context_init(sub { ... }), test2_add_callback_context_release(sub { ... }), test2_add_callback_pre_subtest(sub { ... }), @list = test2_list_context_acquire_callbacks(), @list = test2_list_context_init_callbacks(), @list = test2_list_context_release_callbacks(), @list = test2_list_exit_callbacks(), @list = test2_list_post_load_callbacks(), @list = test2_list_pre_subtest_callbacks(), test2_add_uuid_via(sub { ... }), $sub = test2_add_uuid_via()

IPC AND CONCURRENCY

$bool = test2_has_ipc(), $ipc = test2_ipc(), test2_ipc_add_driver($DRIVER), @drivers = test2_ipc_drivers(), $bool = test2_ipc_polling(), test2_ipc_enable_polling(), test2_ipc_disable_polling(), test2_ipc_enable_shm(), test2_ipc_set_pending($uniq_val), $pending = test2_ipc_get_pending(), $timeout = test2_ipc_get_timeout(), test2_ipc_set_timeout($timeout)

MANAGING FORMATTERS

$formatter = test2_formatter, test2_formatter_set($class_or_instance), @formatters = test2_formatters(), test2_formatter_add($class_or_instance)

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::Event - Base class for events

DESCRIPTION
SYNOPSIS
METHODS
GENERAL

$trace = $e->trace, $bool_or_undef = $e->related($e2), $e->add_amnesty({tag => $TAG, details => $DETAILS});, $uuid = $e->uuid, $class = $e->load_facet($name), @classes = $e->FACET_TYPES(), @classes = Test2::Event->FACET_TYPES()

NEW API

$hashref = $e->common_facet_data();, $hashref = $e->facet_data(), $hashref = $e->facets(), @errors = $e->validate_facet_data();, @errors = $e->validate_facet_data(%params);, @errors = $e->validate_facet_data(\%facets, %params);, @errors = Test2::Event->validate_facet_data(%params);, @errors = Test2::Event->validate_facet_data(\%facets, %params);, require_facet_class => $BOOL, about => {...}, assert => {...}, control => {...}, meta => {...}, parent => {...}, plan => {...}, trace => {...}, amnesty => [{...}, ...], errors => [{...}, ...], info => [{...}, ...]

LEGACY API

$bool = $e->causes_fail, $bool = $e->increments_count, $e->callback($hub), $num = $e->nested, $bool = $e->global, $code = $e->terminate, $msg = $e->summary, ($count, $directive, $reason) = $e->sets_plan(), $bool = $e->diagnostics, $bool = $e->no_display, $id = $e->in_subtest, $id = $e->subtest_id

THIRD PARTY META-DATA
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Bail - Bailout!

DESCRIPTION
SYNOPSIS
METHODS

$reason = $e->reason

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Diag - Diag event type

DESCRIPTION
SYNOPSIS
ACCESSORS

$diag->message

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Encoding - Set the encoding for the output stream

DESCRIPTION
SYNOPSIS
METHODS

$encoding = $e->encoding

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Exception - Exception event

DESCRIPTION
SYNOPSIS
METHODS

$reason = $e->error

CAVEATS
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Fail - Event for a simple failed assertion

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Generic - Generic event type.

DESCRIPTION
SYNOPSIS
METHODS

$e->facet_data($data), $data = $e->facet_data, $e->callback($hub), $e->set_callback(sub { ... }), $bool = $e->causes_fail, $e->set_causes_fail($bool), $bool = $e->diagnostics, $e->set_diagnostics($bool), $bool_or_undef = $e->global, @bool_or_empty = $e->global, $e->set_global($bool_or_undef), $bool = $e->increments_count, $e->set_increments_count($bool), $bool = $e->no_display, $e->set_no_display($bool), @plan = $e->sets_plan, $e->set_sets_plan(\@plan), $summary = $e->summary, $e->set_summary($summary_or_undef), $int_or_undef = $e->terminate, @int_or_empty = $e->terminate, $e->set_terminate($int_or_undef)

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Note - Note event type

DESCRIPTION
SYNOPSIS
ACCESSORS

$note->message

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Ok - Ok event type

DESCRIPTION
SYNOPSIS
ACCESSORS

$rb = $e->pass, $name = $e->name, $b = $e->effective_pass

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Pass - Event for a simple passing assertion

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Plan - The event of a plan

DESCRIPTION
SYNOPSIS
ACCESSORS

$num = $plan->max, $dir = $plan->directive, $reason = $plan->reason

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Skip - Skip event type

DESCRIPTION
SYNOPSIS
ACCESSORS

$reason = $e->reason

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Subtest - Event for subtest types

DESCRIPTION
ACCESSORS

$arrayref = $e->subevents, $bool = $e->buffered

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::TAP::Version - Event for TAP version.

DESCRIPTION
SYNOPSIS
METHODS

$version = $e->version

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::V2 - Second generation event.

DESCRIPTION
SYNOPSIS

USING A CONTEXT

USING THE CONSTRUCTOR

METHODS

$fd = $e->facet_data(), $about = $e->about(), $trace = $e->trace()

MUTATION

$e->add_amnesty({...}), $e->add_hub({...}), $e->set_uuid($UUID), $e->set_trace($trace)

LEGACY SUPPORT METHODS

causes_fail, diagnostics, global, increments_count, no_display, sets_plan, subtest_id, summary, terminate

THIRD PARTY META-DATA
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Event::Waiting - Tell all procs/threads it is time to be done

DESCRIPTION
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet - Base class for all event facets.

DESCRIPTION
METHODS

$key = $facet_class->facet_key(), $bool = $facet_class->is_list(), $clone = $facet->clone(), $clone = $facet->clone(%replace)

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::About - Facet with event details.

DESCRIPTION
FIELDS

$string = $about->{details}, $string = $about->details(), $package = $about->{package}, $package = $about->package(), $bool = $about->{no_display}, $bool = $about->no_display(), $uuid = $about->{uuid}, $uuid = $about->uuid(), $uuid = $about->{eid}, $uuid = $about->eid()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Amnesty - Facet for assertion amnesty.

DESCRIPTION
NOTES
FIELDS

$string = $amnesty->{details}, $string = $amnesty->details(), $short_string = $amnesty->{tag}, $short_string = $amnesty->tag(), $bool = $amnesty->{inherited}, $bool = $amnesty->inherited()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Assert - Facet representing an assertion.

DESCRIPTION
FIELDS

$string = $assert->{details}, $string = $assert->details(), $bool = $assert->{pass}, $bool = $assert->pass(), $bool = $assert->{no_debug}, $bool = $assert->no_debug(), $int = $assert->{number}, $int = $assert->number()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Control - Facet for hub actions and behaviors.

DESCRIPTION
FIELDS

$string = $control->{details}, $string = $control->details(), $bool = $control->{global}, $bool = $control->global(), $exit = $control->{terminate}, $exit = $control->terminate(), $bool = $control->{halt}, $bool = $control->halt(), $bool = $control->{has_callback}, $bool = $control->has_callback(), $encoding = $control->{encoding}, $encoding = $control->encoding(), $phase = $control->{phase}, $phase = $control->phase()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Error - Facet for errors that need to be shown.

DESCRIPTION
NOTES
FIELDS

$string = $error->{details}, $string = $error->details(), $short_string = $error->{tag}, $short_string = $error->tag(), $bool = $error->{fail}, $bool = $error->fail()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Hub - Facet for the hubs an event passes through.

DESCRIPTION
FACET FIELDS

$string = $trace->{details}, $string = $trace->details(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Info - Facet for information a developer might care about.

DESCRIPTION
NOTES
FIELDS

$string_or_structure = $info->{details}, $string_or_structure = $info->details(), $structure = $info->{table}, $structure = $info->table(), $short_string = $info->{tag}, $short_string = $info->tag(), $bool = $info->{debug}, $bool = $info->debug(), $bool = $info->{important}, $bool = $info->important

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Info::Table - Intermediary representation of a table.

DESCRIPTION
SYNOPSIS
ATTRIBUTES

$header_aref = $t->header(), $rows_aref = $t->rows(), $bool = $t->collapse(), $aref = $t->no_collapse(), $str = $t->as_string(), $href = $t->as_hash(), %args = $t->info_args()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Meta - Facet for meta-data

DESCRIPTION
METHODS AND FIELDS

$anything = $meta->{anything}, $anything = $meta->anything()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Parent - Facet for events contains other events

DESCRIPTION
FIELDS

$string = $parent->{details}, $string = $parent->details(), $hid = $parent->{hid}, $hid = $parent->hid(), $arrayref = $parent->{children}, $arrayref = $parent->children(), $bool = $parent->{buffered}, $bool = $parent->buffered()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Plan - Facet for setting the plan

DESCRIPTION
FIELDS

$string = $plan->{details}, $string = $plan->details(), $positive_int = $plan->{count}, $positive_int = $plan->count(), $bool = $plan->{skip}, $bool = $plan->skip(), $bool = $plan->{none}, $bool = $plan->none()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Render - Facet that dictates how to render an event.

DESCRIPTION
FIELDS

$string = $render->[#]->{details}, $string = $render->[#]->details(), $string = $render->[#]->{tag}, $string = $render->[#]->tag(), $string = $render->[#]->{facet}, $string = $render->[#]->facet(), $mode = $render->[#]->{mode}, $mode = $render->[#]->mode(), calculated, replace

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::EventFacet::Trace - Debug information for events

DESCRIPTION
SYNOPSIS
FACET FIELDS

$string = $trace->{details}, $string = $trace->details(), $frame = $trace->{frame}, $frame = $trace->frame(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $id = $trace->{cid}, $id = $trace->cid(), $uuid = $trace->{uuid}, $uuid = $trace->uuid(), ($pkg, $file, $line, $subname) = $trace->call, @caller = $trace->full_call, $warning_bits = $trace->warning_bits

DISCOURAGED HUB RELATED FIELDS

$hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered()

METHODS

$trace->set_detail($msg), $msg = $trace->detail, $str = $trace->debug, $trace->alert($MESSAGE), $trace->throw($MESSAGE), ($package, $file, $line, $subname) = $trace->call(), $pkg = $trace->package, $file = $trace->file, $line = $trace->line, $subname = $trace->subname, $sig = trace->signature

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Formatter - Namespace for formatters.

DESCRIPTION
CREATING FORMATTERS

The number of tests that were planned, The number of tests actually seen, The number of tests which failed, A boolean indicating whether or not the test suite passed, A boolean indicating whether or not this call is for a subtest

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Formatter::TAP - Standard TAP formatter

DESCRIPTION
SYNOPSIS
METHODS

$bool = $tap->no_numbers, $tap->set_no_numbers($bool), $arrayref = $tap->handles, $tap->set_handles(\@handles);, $encoding = $tap->encoding, $tap->encoding($encoding), $tap->write($e, $num)

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

Test2::Hub - The conduit through which all events flow.

SYNOPSIS
DESCRIPTION
COMMON TASKS

SENDING EVENTS

ALTERING OR REMOVING EVENTS

LISTENING FOR EVENTS

POST-TEST BEHAVIORS

SETTING THE FORMATTER

METHODS

$hub->send($event), $hub->process($event), $old = $hub->format($formatter), $sub = $hub->listen(sub { ... }, %optional_params), $hub->unlisten($sub), $sub = $hub->filter(sub { ... }, %optional_params), $sub = $hub->pre_filter(sub { ... }, %optional_params), $hub->unfilter($sub), $hub->pre_unfilter($sub), $hub->follow_op(sub { ... }), $sub = $hub->add_context_acquire(sub { ... });, $hub->remove_context_acquire($sub);, $sub = $hub->add_context_init(sub { ... });, $hub->remove_context_init($sub);, $sub = $hub->add_context_release(sub { ... });, $hub->remove_context_release($sub);, $hub->cull(), $pid = $hub->pid(), $tid = $hub->tid(), $hud = $hub->hid(), $uuid = $hub->uuid(), $ipc = $hub->ipc(), $hub->set_no_ending($bool), $bool = $hub->no_ending, $bool = $hub->active, $hub->set_active($bool)

STATE METHODS

$hub->reset_state(), $num = $hub->count, $num = $hub->failed, $bool = $hub->ended, $bool = $hub->is_passing, $hub->is_passing($bool), $hub->plan($plan), $plan = $hub->plan, $bool = $hub->check_plan

THIRD PARTY META-DATA
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Hub::Interceptor - Hub used by interceptor to grab results.

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Hub::Interceptor::Terminator - Exception class used by Test2::Hub::Interceptor

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Hub::Subtest - Hub used by subtests

DESCRIPTION
TOGGLES

$bool = $hub->manual_skip_all, $hub->set_manual_skip_all($bool)

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::IPC - Turn on IPC for threading or forking support.

SYNOPSIS

DISABLING IT

EXPORTS

cull()

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::IPC::Driver - Base class for Test2 IPC drivers.

SYNOPSIS
METHODS

$self->abort($msg), $self->abort_trace($msg)

LOADING DRIVERS
WRITING DRIVERS
METHODS SUBCLASSES MUST IMPLEMENT

$ipc->is_viable, $ipc->add_hub($hid), $ipc->drop_hub($hid), $ipc->send($hid, $event);, $ipc->send($hid, $event, $global);, @events = $ipc->cull($hid), $ipc->waiting()

METHODS SUBCLASSES MAY IMPLEMENT OR OVERRIDE

$ipc->driver_abort($msg)

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::IPC::Driver::Files - Temp dir + Files concurrency model.

DESCRIPTION
SYNOPSIS
ENVIRONMENT VARIABLES

T2_KEEP_TEMPDIR=0, T2_TEMPDIR_TEMPLATE='test2-XXXXXX'

SEE ALSO
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::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::Transition - Transition notes when upgrading to Test2

DESCRIPTION
THINGS THAT BREAK

Test::Builder1.5/2 conditionals

Replacing the Test::Builder singleton

Directly Accessing Hash Elements

Subtest indentation

DISTRIBUTIONS THAT BREAK OR NEED TO BE UPGRADED
WORKS BUT TESTS WILL FAIL

Test::DBIx::Class::Schema, Device::Chip

UPGRADE SUGGESTED

Test::Exception, Data::Peek, circular::require, Test::Module::Used, Test::Moose::More, Test::FITesque, Test::Kit, autouse

NEED TO UPGRADE

Test::SharedFork, Test::Builder::Clutch, Test::Dist::VersionSync, Test::Modern, Test::UseAllModules, Test::More::Prefix

STILL BROKEN

Test::Aggregate, Test::Wrapper, Test::ParallelSubtest, Test::Pretty, Net::BitTorrent, Test::Group, Test::Flatten, Log::Dispatch::Config::TestLog, Test::Able

MAKE ASSERTIONS -> SEND EVENTS
LEGACY
TEST2

ok($bool, $name), diag(@messages), note(@messages), subtest($name, $code)

WRAP EXISTING TOOLS

LEGACY

TEST2

USING UTF8

LEGACY

TEST2

AUTHORS, CONTRIBUTORS AND REVIEWERS

Chad Granum (EXODIST) <exodist@cpan.org>

SOURCE
MAINTAINER

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Util - Tools used by Test2 and friends.

DESCRIPTION
EXPORTS

($success, $error) = try { ... }, protect { ... }, CAN_FORK, CAN_REALLY_FORK, CAN_THREAD, USE_THREADS, get_tid, my $file = pkg_to_file($package), $string = ipc_separator(), $string = gen_uid(), ($ok, $err) = do_rename($old_name, $new_name), ($ok, $err) = do_unlink($filename), ($ok, $err) = try_sig_mask { ... }, SIGINT, SIGALRM, SIGHUP, SIGTERM, SIGUSR1, SIGUSR2

NOTES && CAVEATS

Devel::Cover

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>, Kent Fredric <kentnl@cpan.org>

COPYRIGHT

Test2::Util::ExternalMeta - Allow third party tools to safely attach meta-data to your instances.

DESCRIPTION
SYNOPSIS
WHERE IS THE DATA STORED?
EXPORTS

$val = $obj->meta($key), $val = $obj->meta($key, $default), $val = $obj->get_meta($key), $val = $obj->delete_meta($key), $obj->set_meta($key, $val)

META-KEY RESTRICTIONS
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Util::Facets2Legacy - Convert facet data to the legacy event API.

DESCRIPTION
SYNOPSIS

AS METHODS

AS FUNCTIONS

NOTE ON CYCLES
EXPORTS

$bool = $e->causes_fail(), $bool = causes_fail($f), $bool = $e->diagnostics(), $bool = diagnostics($f), $bool = $e->global(), $bool = global($f), $bool = $e->increments_count(), $bool = increments_count($f), $bool = $e->no_display(), $bool = no_display($f), ($max, $directive, $reason) = $e->sets_plan(), ($max, $directive, $reason) = sets_plan($f), $id = $e->subtest_id(), $id = subtest_id($f), $string = $e->summary(), $string = summary($f), $undef_or_int = $e->terminate(), $undef_or_int = terminate($f), $uuid = $e->uuid(), $uuid = uuid($f)

SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test2::Util::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::Trace - Legacy wrapper fro Test2::EventFacet::Trace.

DESCRIPTION
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test::Builder - Backend for building test libraries

SYNOPSIS
DESCRIPTION
Construction

new, create, subtest, name, reset

Setting up tests

plan, expected_tests, no_plan, done_testing, has_plan, skip_all, exported_to

Running tests

ok, is_eq, is_num, isnt_eq, isnt_num, like, unlike, cmp_ok

Other Testing Methods

BAIL_OUT, skip, todo_skip, skip_rest

Test building utility methods

maybe_regex, is_fh

Test style

level, use_numbers, no_diag, no_ending, no_header

Output

diag, note, explain, output, failure_output, todo_output, reset_outputs, carp, croak

Test Status and Info

no_log_results, current_test, is_passing, summary, details, todo, find_TODO, in_todo, todo_start, todo_end, caller

EXIT CODES
THREADS
MEMORY
EXAMPLES
SEE ALSO

INTERNALS

LEGACY

EXTERNAL

AUTHORS
MAINTAINERS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test::Builder::Formatter - Test::Builder subclass of Test2::Formatter::TAP

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test::Builder::IO::Scalar - A copy of IO::Scalar for Test::Builder

DESCRIPTION

COPYRIGHT and LICENSE

Construction

new [ARGS...]

open [SCALARREF]

opened

close

Input and output

flush

getc

getline

getlines

print ARGS..

read BUF, NBYTES, [OFFSET]

write BUF, NBYTES, [OFFSET]

sysread BUF, LEN, [OFFSET]

syswrite BUF, NBYTES, [OFFSET]

Seeking/telling and other attributes

autoflush

binmode

clearerr

eof

seek OFFSET, WHENCE

sysseek OFFSET, WHENCE

tell

 use_RS [YESNO]

setpos POS

getpos

sref

WARNINGS
VERSION
AUTHORS

Primary Maintainer

Principal author

Other contributors

SEE ALSO

Test::Builder::Module - Base class for test modules

SYNOPSIS
DESCRIPTION

Importing

Builder

SEE ALSO

Test::Builder::Tester - test testsuites that have been built with Test::Builder

SYNOPSIS
DESCRIPTION
Functions

test_out, test_err

test_fail

test_diag

test_test, title (synonym 'name', 'label'), skip_out, skip_err

line_num

color

BUGS
AUTHOR
MAINTAINERS

Chad Granum <exodist@cpan.org>

NOTES

SEE ALSO

Test::Builder::Tester::Color - turn on colour in Test::Builder::Tester

SYNOPSIS

DESCRIPTION

AUTHOR

BUGS

SEE ALSO

Test::Builder::TodoDiag - Test::Builder subclass of Test2::Event::Diag

DESCRIPTION
SYNOPSIS
SOURCE
MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test::Harness - Run Perl standard test scripts with statistics

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS

runtests( @test_files )

execute_tests( tests => \@test_files, out => \*FH )
EXPORT
ENVIRONMENT VARIABLES THAT TAP::HARNESS::COMPATIBLE SETS

HARNESS_ACTIVE, HARNESS_VERSION

ENVIRONMENT VARIABLES THAT AFFECT TEST::HARNESS

HARNESS_PERL_SWITCHES, HARNESS_TIMER, HARNESS_VERBOSE, HARNESS_OPTIONS, j<n>, c, a<file.tgz>, fPackage-With-Dashes, HARNESS_SUBCLASS, HARNESS_SUMMARY_COLOR_SUCCESS, HARNESS_SUMMARY_COLOR_FAIL

Taint Mode

SEE ALSO

BUGS

AUTHORS

LICENCE AND COPYRIGHT

Test::More - yet another framework for writing test scripts

SYNOPSIS
DESCRIPTION

I love it when a plan comes together

done_testing

Test names
I'm ok, you're not ok.

ok

is, isnt

like

unlike

cmp_ok

can_ok

isa_ok

new_ok

subtest

pass, fail

Module tests

require_ok

use_ok

Complex data structures

is_deeply

Diagnostics

diag, note

explain

Conditional tests

SKIP: BLOCK

TODO: BLOCK, todo_skip

When do I use SKIP vs. TODO?

Test control

BAIL_OUT

Discouraged comparison functions

eq_array

eq_hash

eq_set

Extending and Embedding Test::More

builder

EXIT CODES
COMPATIBILITY

subtests, done_testing(), cmp_ok(), new_ok() note() and explain()

CAVEATS and NOTES

utf8 / "Wide character in print", Overloaded objects, Threads

HISTORY
SEE ALSO

ALTERNATIVES

ADDITIONAL LIBRARIES

OTHER COMPONENTS

BUNDLES

AUTHORS
MAINTAINERS

Chad Granum <exodist@cpan.org>

BUGS

SOURCE

COPYRIGHT

Test::Simple - Basic utilities for writing tests.

SYNOPSIS
DESCRIPTION

ok

EXAMPLE
CAVEATS
NOTES
HISTORY
SEE ALSO

Test::More

AUTHORS
MAINTAINERS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test::Tester - Ease testing test modules built with Test::Builder

SYNOPSIS
DESCRIPTION
HOW TO USE (THE EASY WAY)
HOW TO USE (THE HARD WAY)
TEST RESULTS

ok, actual_ok, name, type, reason, diag, depth

SPACES AND TABS

COLOUR

EXPORTED FUNCTIONS

HOW IT WORKS

CAVEATS

SEE ALSO

AUTHOR

LICENSE

Test::Tester::Capture - Help testing test modules built with Test::Builder

DESCRIPTION

AUTHOR

LICENSE

Test::Tester::CaptureRunner - Help testing test modules built with Test::Builder

DESCRIPTION

AUTHOR

LICENSE

Test::Tutorial - A tutorial about writing really basic tests

DESCRIPTION

Nuts and bolts of testing.

Where to start?

Names

Test the manual

Sometimes the tests are wrong

Testing lots of values

Informative names

Skipping tests

Todo tests

Testing with taint mode.

FOOTNOTES
AUTHORS
MAINTAINERS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Test::use::ok - Alternative to Test::More::use_ok

SYNOPSIS
DESCRIPTION
SEE ALSO
MAINTAINER

Chad Granum <exodist@cpan.org>

CC0 1.0 Universal

Text::Abbrev - abbrev - create an abbreviation table from a list

SYNOPSIS

DESCRIPTION

EXAMPLE

Text::Balanced - Extract delimited text sequences from strings.

SYNOPSIS
DESCRIPTION
General Behaviour in List Contexts

[0], [1], [2]

General Behaviour in Scalar and Void Contexts
A Note About Prefixes
Functions

extract_delimited, extract_bracketed, extract_variable, [0], [1], [2], extract_tagged, reject => $listref, ignore => $listref, fail => $str, [0], [1], [2], [3], [4], [5], gen_extract_tagged, extract_quotelike, [0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], extract_quotelike, [0], [1], [2], [3], [4], [5], [6], [7..10], extract_codeblock, extract_multiple, gen_delimited_pat, delimited_pat

DIAGNOSTICS
 C<Did not find a suitable bracket: "%s">,  C<Did not find prefix: /%s/>, 
C<Did not find opening bracket after prefix: "%s">,  C<No quotelike
operator found after prefix: "%s">,  C<Unmatched closing bracket: "%c">, 
C<Unmatched opening bracket(s): "%s">, C<Unmatched embedded quote (%s)>,
C<Did not find closing delimiter to match '%s'>,  C<Mismatched closing
bracket: expected "%c" but found "%s">,  C<No block delimiter found after
quotelike "%s">, C<Did not find leading dereferencer>, C<Bad identifier
after dereferencer>, C<Did not find expected opening bracket at %s>,
C<Improperly nested codeblock at %s>,  C<Missing second block for quotelike
"%s">, C<No match found for opening bracket>, C<Did not find opening tag:
/%s/>, C<Unable to construct closing tag to match: /%s/>, C<Found invalid
nested tag: %s>, C<Found unbalanced nested tag: %s>, C<Did not find closing
tag>
EXPORTS

Default Exports, Optional Exports, Export Tags, :ALL

KNOWN BUGS

FEEDBACK

AVAILABILITY

INSTALLATION

AUTHOR

COPYRIGHT

LICENCE

VERSION

DATE

HISTORY

Text::ParseWords - parse text into an array of tokens or array of arrays

SYNOPSIS
DESCRIPTION

true, false, "delimiters"

EXAMPLES

0, 1, 2, 3, 4, 5

SEE ALSO

AUTHORS

COPYRIGHT AND LICENSE

Text::Tabs - expand and unexpand tabs like unix expand(1) and unexpand(1)

SYNOPSIS
DESCRIPTION
EXPORTS

expand, unexpand, $tabstop

EXAMPLE

BUGS

LICENSE

Text::Wrap - line wrapping to form simple paragraphs

SYNOPSIS

DESCRIPTION

OVERRIDES

EXAMPLES

SEE ALSO

AUTHOR

LICENSE

Thread - Manipulate threads in Perl (for old code only)

DEPRECATED
HISTORY
SYNOPSIS
DESCRIPTION
FUNCTIONS

$thread = Thread->new(\&start_sub), $thread = Thread->new(\&start_sub, LIST), lock VARIABLE, async BLOCK;, Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE, cond_broadcast VARIABLE, yield

METHODS

join, detach, equal, tid, done

DEFUNCT

lock(\&sub), eval, flags

SEE ALSO

Thread::Queue - Thread-safe queues

VERSION
SYNOPSIS
DESCRIPTION

Ordinary scalars, Array refs, Hash refs, Scalar refs, Objects based on the above

QUEUE CREATION

->new(), ->new(LIST)

BASIC METHODS

->enqueue(LIST), ->dequeue(), ->dequeue(COUNT), ->dequeue_nb(), ->dequeue_nb(COUNT), ->dequeue_timed(TIMEOUT), ->dequeue_timed(TIMEOUT, COUNT), ->pending(), ->limit, ->end()

ADVANCED METHODS

->peek(), ->peek(INDEX), ->insert(INDEX, LIST), ->extract(), ->extract(INDEX), ->extract(INDEX, COUNT)

NOTES

LIMITATIONS

SEE ALSO

MAINTAINER

LICENSE

Thread::Semaphore - Thread-safe semaphores

VERSION
SYNOPSIS
DESCRIPTION
METHODS

->new(), ->new(NUMBER), ->down(), ->down(NUMBER), ->down_nb(), ->down_nb(NUMBER), ->down_force(), ->down_force(NUMBER), ->down_timed(TIMEOUT), ->down_timed(TIMEOUT, NUMBER), ->up(), ->up(NUMBER)

NOTES

SEE ALSO

MAINTAINER

LICENSE

Tie::Array - base class for tied arrays

SYNOPSIS
DESCRIPTION

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

CAVEATS

AUTHOR

Tie::File - Access the lines of a disk file via a Perl array

SYNOPSIS
DESCRIPTION

recsep

autochomp

mode

memory

dw_size

Option Format

Public Methods

flock

autochomp

defer, flush, discard, and autodefer

offset

Tying to an already-opened filehandle
Deferred Writing

Autodeferring

CONCURRENT ACCESS TO FILES

CAVEATS

SUBCLASSING

WHAT ABOUT DB_File?

AUTHOR

LICENSE

WARRANTY

THANKS

TODO

Tie::Handle - base class definitions for tied handles

SYNOPSIS
DESCRIPTION

TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this, LIST, PRINTF this, format, LIST, READ this, scalar, length, offset, READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this, EOF this, TELL this, SEEK this, offset, whence, DESTROY this

MORE INFORMATION

COMPATIBILITY

Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for tied hashes

SYNOPSIS
DESCRIPTION

TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this, SCALAR this

Inheriting from Tie::StdHash

Inheriting from Tie::ExtraHash

SCALAR, UNTIE and DESTROY

MORE INFORMATION

Tie::Hash::NamedCapture - Named regexp capture buffers

SYNOPSIS

DESCRIPTION

SEE ALSO

Tie::Memoize - add data to hash when needed

SYNOPSIS

DESCRIPTION

Inheriting from Tie::Memoize

EXAMPLE

BUGS

AUTHOR

Tie::RefHash - Use references as hash keys

VERSION

SYNOPSIS

DESCRIPTION

EXAMPLE

THREAD SUPPORT

STORABLE SUPPORT

SEE ALSO

SUPPORT

AUTHORS

CONTRIBUTORS

COPYRIGHT AND LICENCE

Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars

SYNOPSIS
DESCRIPTION

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

Tie::Scalar vs Tie::StdScalar

MORE INFORMATION

Tie::StdHandle - base class definitions for tied handles

SYNOPSIS

DESCRIPTION

Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing

SYNOPSIS

DESCRIPTION

CAVEATS

Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers

SYNOPSIS
DESCRIPTION

gettimeofday (), usleep ( $useconds ), nanosleep ( $nanoseconds ), ualarm ( $useconds [, $interval_useconds ] ), tv_interval, time (), sleep ( $floating_seconds ), alarm ( $floating_seconds [, $interval_floating_seconds ] ), setitimer ( $which, $floating_seconds [, $interval_floating_seconds ] ), getitimer ( $which ), clock_gettime ( $which ), clock_getres ( $which ), clock_nanosleep ( $which, $nanoseconds, $flags = 0), clock(), stat, stat FH, stat EXPR, lstat, lstat FH, lstat EXPR, utime LIST

EXAMPLES
C API
DIAGNOSTICS

useconds or interval more than ...

negative time not invented yet

internal error: useconds < 0 (unsigned ... signed ...)

useconds or uinterval equal to or more than 1000000

unimplemented in this platform

CAVEATS

SEE ALSO

AUTHORS

COPYRIGHT AND LICENSE

Time::Local - Efficiently compute time from local and GMT time

VERSION
SYNOPSIS
DESCRIPTION
FUNCTIONS

timelocal_posix() and timegm_posix()

timelocal_modern() and timegm_modern()

timelocal() and timegm()

timelocal_nocheck() and timegm_nocheck()

Year Value Interpretation

Limits of time_t

Ambiguous Local Times (DST)

Non-Existent Local Times (DST)

Negative Epoch Values

IMPLEMENTATION

AUTHORS EMERITUS

BUGS

SOURCE

AUTHOR

CONTRIBUTORS

COPYRIGHT AND LICENSE

Time::Piece - Object Oriented time objects

SYNOPSIS
DESCRIPTION
USAGE

Local Locales

Date Calculations

Truncation

Date Comparisons

Date Parsing

YYYY-MM-DDThh:mm:ss

Week Number

Global Overriding

CAVEATS

Setting $ENV{TZ} in Threads on Win32

Use of epoch seconds

AUTHOR

COPYRIGHT AND LICENSE

SEE ALSO

BUGS

Time::Seconds - a simple API to convert seconds to other date values

SYNOPSIS

DESCRIPTION

METHODS

AUTHOR

COPYRIGHT AND LICENSE

Bugs

Time::gmtime - by-name interface to Perl's built-in gmtime() function

SYNOPSIS

DESCRIPTION

NOTE

AUTHOR

Time::localtime - by-name interface to Perl's built-in localtime() function

SYNOPSIS

DESCRIPTION

NOTE

AUTHOR

Time::tm - internal object used by Time::gmtime and Time::localtime

SYNOPSIS

DESCRIPTION

AUTHOR

UNIVERSAL - base class for ALL classes (blessed references)

SYNOPSIS
DESCRIPTION

$obj->isa( TYPE ), CLASS->isa( TYPE ), eval { VAL->isa( TYPE ) }, TYPE, $obj, CLASS, VAL, $obj->DOES( ROLE ), CLASS->DOES( ROLE ), $obj->can( METHOD ), CLASS->can( METHOD ), eval { VAL->can( METHOD ) }, VERSION ( [ REQUIRE ] )

WARNINGS

EXPORTS

Unicode::Collate - Unicode Collation Algorithm

SYNOPSIS
DESCRIPTION
Constructor and Tailoring

UCA_Version, alternate, backwards, entry, hangul_terminator, highestFFFF, identical, ignoreChar, ignoreName, ignore_level2, katakana_before_hiragana, level, long_contraction, minimalFFFE, normalization, overrideCJK, overrideHangul, overrideOut, preprocess, rearrange, rewrite, suppress, table, undefChar, undefName, upper_before_lower, variable

Methods for Collation

@sorted = $Collator->sort(@not_sorted), $result = $Collator->cmp($a, $b), $result = $Collator->eq($a, $b), $result = $Collator->ne($a, $b), $result = $Collator->lt($a, $b), $result = $Collator->le($a, $b), $result = $Collator->gt($a, $b), $result = $Collator->ge($a, $b), $sortKey = $Collator->getSortKey($string), $sortKeyForm = $Collator->viewSortKey($string)

Methods for Searching

$position = $Collator->index($string, $substring[, $position]), ($position, $length) = $Collator->index($string, $substring[, $position]), $match_ref = $Collator->match($string, $substring), ($match)   = $Collator->match($string, $substring), @match = $Collator->gmatch($string, $substring), $count = $Collator->subst($string, $substring, $replacement), $count = $Collator->gsubst($string, $substring, $replacement)

Other Methods

%old_tailoring = $Collator->change(%new_tailoring), $modified_collator = $Collator->change(%new_tailoring), $version = $Collator->version(), UCA_Version(), Base_Unicode_Version()

EXPORT
INSTALL
CAVEATS

Normalization, Conformance Test

AUTHOR, COPYRIGHT AND LICENSE
SEE ALSO

Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), The conformance test for the UCA, Hangul Syllable Type, Unicode Normalization Forms - UAX #15, Unicode Locale Data Markup Language (LDML) - UTS #35

Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO

Unicode::Collate, Unicode::Collate::Locale

Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

Unicode::Collate::CJK::Zhuyin - weighting CJK Unified Ideographs for Unicode::Collate

SYNOPSIS
DESCRIPTION
CAVEAT
SEE ALSO

CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale

Unicode::Collate::Locale - Linguistic tailoring for DUCET via Unicode::Collate

SYNOPSIS
DESCRIPTION
Constructor
Methods

$Collator->getlocale, $Collator->locale_version

A list of tailorable locales

A list of variant codes and their aliases

INSTALL
CAVEAT

Tailoring is not maximum, Collation reordering is not supported

Reference

AUTHOR
SEE ALSO

Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), Unicode Locale Data Markup Language (LDML) - UTS #35, CLDR - Unicode Common Locale Data Repository, Unicode::Collate, Unicode::Normalize

Unicode::Normalize - Unicode Normalization Forms

SYNOPSIS
DESCRIPTION
Normalization Forms

$NFD_string = NFD($string), $NFC_string = NFC($string), $NFKD_string = NFKD($string), $NFKC_string = NFKC($string), $FCD_string = FCD($string), $FCC_string = FCC($string), $normalized_string = normalize($form_name, $string)

Decomposition and Composition

$decomposed_string = decompose($string [, $useCompatMapping]), $reordered_string = reorder($string), $composed_string = compose($string), ($processed, $unprocessed) = splitOnLastStarter($normalized), $processed = normalize_partial($form, $unprocessed), $processed = NFD_partial($unprocessed), $processed = NFC_partial($unprocessed), $processed = NFKD_partial($unprocessed), $processed = NFKC_partial($unprocessed)

Quick Check

$result = checkNFD($string), $result = checkNFC($string), $result = checkNFKD($string), $result = checkNFKC($string), $result = checkFCD($string), $result = checkFCC($string), $result = check($form_name, $string)

Character Data

$canonical_decomposition = getCanon($code_point), $compatibility_decomposition = getCompat($code_point), $code_point_composite = getComposite($code_point_here, $code_point_next), $combining_class = getCombinClass($code_point), $may_be_composed_with_prev_char = isComp2nd($code_point), $is_exclusion = isExclusion($code_point), $is_singleton = isSingleton($code_point), $is_non_starter_decomposition = isNonStDecomp($code_point), $is_Full_Composition_Exclusion = isComp_Ex($code_point), $NFD_is_NO = isNFD_NO($code_point), $NFC_is_NO = isNFC_NO($code_point), $NFC_is_MAYBE = isNFC_MAYBE($code_point), $NFKD_is_NO = isNFKD_NO($code_point), $NFKC_is_NO = isNFKC_NO($code_point), $NFKC_is_MAYBE = isNFKC_MAYBE($code_point)

EXPORT
CAVEATS

Perl's version vs. Unicode version, Correction of decomposition mapping, Revised definition of canonical composition

AUTHOR
LICENSE
SEE ALSO

<http://www.unicode.org/reports/tr15/>, <http://www.unicode.org/Public/UNIDATA/CompositionExclusions.txt>, <http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt>, <http://www.unicode.org/Public/UNIDATA/NormalizationCorrections.txt>, <http://www.unicode.org/review/pr-29.html>, <http://www.unicode.org/notes/tn5/>

Unicode::UCD - Unicode character database

SYNOPSIS
DESCRIPTION

code point argument

charinfo()

code, name, category, combining, bidi, decomposition, decimal, digit, numeric, mirrored, unicode10, comment, upper, lower, title, block, script

charprop()

Block, Decomposition_Mapping, Name_Alias, Numeric_Value, Script_Extensions

charprops_all()
charblock()
charscript()
charblocks()
charscripts()
charinrange()
general_categories()
bidi_types()
compexcl()
casefold()

code, full, simple, mapping, status, * If you use this I mapping, * If you exclude this I mapping, turkic

all_casefolds()
casespec()

code, lower, title, upper, condition

namedseq()
num()
prop_aliases()
prop_values()
prop_value_aliases()
prop_invlist()
prop_invmap()

s, sl, correction, control, alternate, figment, abbreviation, a, al, ae, ale, ar, n, ad

search_invlist()

Unicode::UCD::UnicodeVersion

Blocks versus Scripts

Matching Scripts and Blocks

Old-style versus new-style block names

Use with older Unicode versions

AUTHOR

User::grent - by-name interface to Perl's built-in getgr*() functions

SYNOPSIS

DESCRIPTION

NOTE

AUTHOR

User::pwent - by-name interface to Perl's built-in getpw*() functions

SYNOPSIS
DESCRIPTION

System Specifics

NOTE
AUTHOR
HISTORY

March 18th, 2000

XSLoader - Dynamically load C libraries into Perl code

VERSION
SYNOPSIS
DESCRIPTION

Migration from DynaLoader

Backward compatible boilerplate

Order of initialization: early load()

The most hairy case

DIAGNOSTICS

Can't find '%s' symbol in %s, Can't load '%s' for module %s: %s, Undefined symbols present after loading %s: %s

LIMITATIONS

KNOWN BUGS

BUGS

SEE ALSO

AUTHORS

COPYRIGHT & LICENSE

Auxiliary Documentation

Here should be listed all the extra programs' documentation, but they don't all have manual pages yet:

h2ph

h2xs

perlbug

pl2pm

pod2html

pod2man

splain

xsubpp

Author

Larry Wall <larry@wall.org>, with the help of oodles of other folks.

Info

2024-01-25 perl v5.38.2 Perl Programmers Reference Guide