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

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

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

NNAAMMEE #

 perltoc - perl documentation table of contents

DDEESSCCRRIIPPTTIIOONN #

 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.

BBAASSIICC DDOOCCUUMMEENNTTAATTIIOONN #

ppeerrll -- TThhee PPeerrll 55 llaanngguuaaggee iinntteerrpprreetteerr

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 #

ppeerrlliinnttrroo -- aa bbrriieeff iinnttrroodduuccttiioonn aanndd oovveerrvviieeww ooff PPeerrll

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 #

ppeerrllrruunn -- hhooww ttoo eexxeeccuuttee tthhee PPeerrll iinntteerrpprreetteerr

SYNOPSIS #

DESCRIPTION #

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

     Location of Perl
     Command Switches
         --00[_o_c_t_a_l_/_h_e_x_a_d_e_c_i_m_a_l]  , --aa  , --CC [[_nn_uu_mm_bb_ee_rr_//_ll_ii_ss_tt]] , --cc , --dd  , --ddtt,
         --dd::_M_O_D_[_=_b_a_r_,_b_a_z_]  , --ddtt::_M_O_D_[_=_b_a_r_,_b_a_z_], --DD_l_e_t_t_e_r_s   , --DD_n_u_m_b_e_r, --ee
         _c_o_m_m_a_n_d_l_i_n_e , --EE _c_o_m_m_a_n_d_l_i_n_e , --ff
          , --FF_p_a_t_t_e_r_n , --gg , --hh , --?? , --ii[_e_x_t_e_n_s_i_o_n]  , --II_d_i_r_e_c_t_o_r_y  ,
         --ll[_o_c_t_n_u_m]   , --mm[--]_m_o_d_u_l_e  , --MM[--]_m_o_d_u_l_e, --MM[--]_'_m_o_d_u_l_e _._._._',
         --[[mmMM]][--]_m_o_d_u_l_e_=_a_r_g_[_,_a_r_g_]_._._., --nn , --pp , --ss , --SS , --tt , --TT , --uu ,
         --UU , --vv , --VV , --VV::_c_o_n_f_i_g_v_a_r, --ww , --WW , --XX , --xx , --xx_d_i_r_e_c_t_o_r_y

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

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

ppeerrllrreeffttuutt -- MMaarrkk’’ss vveerryy sshhoorrtt ttuuttoorriiaall aabboouutt rreeffeerreenncceess

DESCRIPTION #

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

ppeerrllddsscc -- PPeerrll DDaattaa SSttrruuccttuurreess CCooookkbbooookk

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 #

ppeerrllllooll -- MMaanniippuullaattiinngg AArrrraayyss ooff AArrrraayyss iinn PPeerrll

DESCRIPTION #

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

SEE ALSO #

AUTHOR #

ppeerrllrreeqquuiicckk -- PPeerrll rreegguullaarr eexxpprreessssiioonnss qquuiicckk ssttaarrtt

DESCRIPTION #

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

BUGS #

SEE ALSO #

     Acknowledgments

ppeerrllrreettuutt -- PPeerrll rreegguullaarr eexxpprreessssiioonnss ttuuttoorriiaall

DESCRIPTION #

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

     Extracting matches
     Backreferences
     Relative backreferences
     Named backreferences
     Alternative capture group numbering
     Position information
     Non-capturing groupings
     Matching repetitions
         0.  Start with the first letter in the string 't', 1. The first
         quantifier '.*' starts out by matching the whole string ""the cat
         in the hat"", 2.  'a' in the regexp element 'at' doesn't match
         the end of the string.  Backtrack one character, 3.  'a' in the
         regexp element 'at' still doesn't match the last letter of the
         string 't', so backtrack one more character, 4.     Now we can
         match the 'a' and the 't', 5.  Move on to the third element '.*'.
         Since we are at the end of the string and '.*' can match 0 times,
         assign it the empty string, 6.  We are done!

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

SEE ALSO #

     Acknowledgments

ppeerrlloooottuutt -- OObbjjeecctt--OOrriieenntteedd PPrrooggrraammmmiinngg iinn PPeerrll TTuuttoorriiaall

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 #

ppeerrllppeerrff -- PPeerrll PPeerrffoorrmmaannccee aanndd OOppttiimmiizzaattiioonn TTeecchhnniiqquueess

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 #

ppeerrllssttyyllee -- PPeerrll ssttyyllee gguuiiddee

DESCRIPTION #

ppeerrllcchheeaatt -- PPeerrll 55 CChheeaatt SShheeeett

DESCRIPTION #

     The sheet

ACKNOWLEDGEMENTS #

AUTHOR #

SEE ALSO #

ppeerrllttrraapp -- PPeerrll ttrraappss ffoorr tthhee uunnwwaarryy

DESCRIPTION #

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

ppeerrllddeebbttuutt -- PPeerrll ddeebbuuggggiinngg ttuuttoorriiaall

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 #

ppeerrllffaaqq -- FFrreeqquueennttllyy aasskkeedd qquueessttiioonnss aabboouutt PPeerrll

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 #

ppeerrllffaaqq11 -- GGeenneerraall QQuueessttiioonnss AAbboouutt PPeerrll

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>

ppeerrllffaaqq22 -- OObbttaaiinniinngg aanndd LLeeaarrnniinngg aabboouutt PPeerrll

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?

ppeerrllffaaqq33 -- PPrrooggrraammmmiinngg TToooollss

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?

ppeerrllffaaqq44 -- DDaattaa MMaanniippuullaattiioonn

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 iinntt(()) broken?
     Why isn't my octal data interpreted correctly?
     Does Perl have a rroouunndd(()) function? What about cceeiill(()) and fflloooorr(())?
     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 ddeeffiinneedd(()) 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 eeaacchh(()) 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?

ppeerrllffaaqq55 -- FFiilleess aanndd FFoorrmmaattss

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 wwrriittee(())?
     How can I wwrriittee(()) 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 dduupp(()) 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?

ppeerrllffaaqq66 -- RReegguullaarr EExxpprreessssiioonnss

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?

ppeerrllffaaqq77 -- GGeenneerraall PPeerrll LLaanngguuaaggee IIssssuueess

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 llooccaall(()) and mmyy(())?
     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 ffoooo(())?
     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?

ppeerrllffaaqq88 -- SSyysstteemm IInntteerraaccttiioonn

VERSION #

DESCRIPTION #

     How do I find out which operating system I'm running under?
     How come eexxeecc(()) 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 sslleeeepp(()) or aallaarrmm(()) for under a second?
     How can I measure time under a second?
     How can I do an aatteexxiitt(()) or sseettjjmmpp(())/lloonnggjjmmpp(())? (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 iiooccttll(()) or ssyyssccaallll(())?
     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 ssyysstteemm(())?
     How can I capture STDERR from an external command?
     Why doesn't ooppeenn(()) 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 ssyysstteemm(()) 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?

ppeerrllffaaqq99 -- WWeebb,, EEmmaaiill aanndd NNeettwwoorrkkiinngg

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?

ppeerrllssyynn -- PPeerrll ssyynnttaaxx

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

ppeerrllddaattaa -- PPeerrll ddaattaa ttyyppeess

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 #

ppeerrlloopp -- PPeerrll ooppeerraattoorrss aanndd pprreecceeddeennccee

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/_S_T_R_I_N_G/msixpodualn"       , "m/_P_A_T_T_E_R_N/msixpodualngc"

          , "/_P_A_T_T_E_R_N/msixpodualngc", The empty pattern "//", Matching in
         list context, "\G _a_s_s_e_r_t_i_o_n", "m?_P_A_T_T_E_R_N?msixpodualngc"
          , "s/_P_A_T_T_E_R_N/_R_E_P_L_A_C_E_M_E_N_T/msixpodualngcer"

     Quote-Like Operators
         "q/_S_T_R_I_N_G/"    , '_S_T_R_I_N_G', "qq/_S_T_R_I_N_G/"    , "_S_T_R_I_N_G",
         "qx/_S_T_R_I_N_G/"    , "`_S_T_R_I_N_G`", "qw/_S_T_R_I_N_G/"   ,
         "tr/_S_E_A_R_C_H_L_I_S_T/_R_E_P_L_A_C_E_M_E_N_T_L_I_S_T/cdsr"
           , "y/_S_E_A_R_C_H_L_I_S_T/_R_E_P_L_A_C_E_M_E_N_T_L_I_S_T/cdsr", "<<_E_O_F"    , 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

ppeerrllssuubb -- PPeerrll ssuubbrroouuttiinneess

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 mmyy(())
     Persistent Private Variables
     Temporary Values via llooccaall(())
     Lvalue subroutines
     Lexical Subroutines
     Passing Symbol Table Entries (typeglobs)
     When to Still Use llooccaall(())
     Pass by Reference
     Prototypes
     Constant Functions
     Overriding Built-in Functions
     Autoloading
     Subroutine Attributes

SEE ALSO #

ppeerrllffuunncc -- PPeerrll bbuuiillttiinn ffuunnccttiioonnss

DESCRIPTION #

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

     Portability
     Alphabetical Listing of Perl Functions

-_X FILEHANDLE #

         , -_X EXPR, -_X DIRHANDLE, -_X, abs VALUE  , abs, accept
         NEWSOCKET,GENERICSOCKET , alarm SECONDS , alarm, atan2 Y,X    ,
         bind SOCKET,NAME , binmode FILEHANDLE, LAYER
          , binmode FILEHANDLE, bless REF,CLASSNAME , bless REF, break,
         caller EXPR    , caller, chdir EXPR   , chdir FILEHANDLE, chdir
         DIRHANDLE, chdir, chmod LIST   , chomp VARIABLE     , chomp( LIST
         ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST
            , chr NUMBER , chr, chroot FILENAME  , chroot, close
         FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME ,
         continue BLOCK , continue, cos EXPR
            , cos, crypt PLAINTEXT,SALT

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

         , eval BLOCK, eval, String eval, Under the "unicode_eval"
         feature, Outside the "unicode_eval" feature, 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__ , fileno FILEHANDLE ,
         fileno DIRHANDLE, flock FILEHANDLE,OPERATION
          , fork   , format , formline PICTURE,LIST , getc FILEHANDLE
          , getc, getlogin  , getpeername SOCKET  , getpgrp PID  , getppid
         , getpriority WHICH,WHO
          , getpwnam NAME





           , getgrnam NAME, gethostbyname NAME, getnetbyname NAME,
         getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname
         NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
         ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO,
         getpwent, getgrent, gethostent, getnetent, getprotoent,
         getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
         STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent,
         endgrent, endhostent, endnetent, endprotoent, endservent,
         getsockname SOCKET , getsockopt SOCKET,LEVEL,OPTNAME , glob EXPR
          , glob, gmtime EXPR , gmtime, goto LABEL   , goto EXPR, goto
         &NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR , hex, import
         LIST , index STR,SUBSTR,POSITION
           , index STR,SUBSTR, int EXPR
           , int, ioctl FILEHANDLE,FUNCTION,SCALAR , join EXPR,LIST , keys
         HASH  , keys ARRAY, kill SIGNAL, LIST, kill SIGNAL  , last LABEL
         , last EXPR, last, lc EXPR  , lc, If "use bytes" is in effect:,
         Otherwise, if "use locale" for "LC_CTYPE" is in effect:,
         Otherwise, If EXPR has the UTF8 flag set:, Otherwise, if "use
         feature 'unicode_strings'" or "use locale ':not_characters'" is
         in effect:, Otherwise:, lcfirst EXPR  , lcfirst, length EXPR
          , length, __LINE__ , link OLDFILE,NEWFILE , listen
         SOCKET,QUEUESIZE , local EXPR , localtime EXPR  , localtime, lock
         THING , log EXPR
            , log, lstat FILEHANDLE , lstat EXPR, lstat DIRHANDLE, lstat,
         m//, map BLOCK LIST , map EXPR,LIST, mkdir FILENAME,MODE   ,
         mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS ,
         msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my VARLIST
         , my TYPE VARLIST, my VARLIST : ATTRS, my TYPE VARLIST : ATTRS,
         next LABEL  , next EXPR, next, no MODULE VERSION LIST  , no
         MODULE VERSION, no MODULE LIST, no MODULE, no VERSION, oct EXPR ,
         oct, open FILEHANDLE,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

ppeerrllooppeennttuutt -- ssiimmppllee rreecciippeess ffoorr ooppeenniinngg ffiilleess aanndd ppiippeess iinn PPeerrll

DESCRIPTION #

_O_K, _H_A_N_D_L_E, _M_O_D_E, _P_A_T_H_N_A_M_E #

 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

ppeerrllppaacckkttuutt -- ttuuttoorriiaall oonn “"ppaacckk"” aanndd “"uunnppaacckk"”

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

ppeerrllppoodd -- tthhee PPllaaiinn OOlldd DDooccuummeennttaattiioonn ffoorrmmaatt

DESCRIPTION #

     Ordinary Paragraph
     Verbatim Paragraph
     Command Paragraph
         "=head1 _H_e_a_d_i_n_g _T_e_x_t"
               , "=head2 _H_e_a_d_i_n_g _T_e_x_t", "=head3 _H_e_a_d_i_n_g _T_e_x_t", "=head4
         _H_e_a_d_i_n_g _T_e_x_t", "=head5 _H_e_a_d_i_n_g _T_e_x_t", "=head6 _H_e_a_d_i_n_g _T_e_x_t",
         "=over _i_n_d_e_n_t_l_e_v_e_l"      , "=item _s_t_u_f_f_._._.", "=back", "=cut"  ,
         "=pod"  , "=begin _f_o_r_m_a_t_n_a_m_e"      , "=end _f_o_r_m_a_t_n_a_m_e", "=for
         _f_o_r_m_a_t_n_a_m_e _t_e_x_t_._._.", "=encoding _e_n_c_o_d_i_n_g_n_a_m_e"

     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 #

ppeerrllppooddssppeecc -- PPllaaiinn OOlldd DDooccuummeennttaattiioonn:: ffoorrmmaatt ssppeecciiffiiccaattiioonn aanndd nnootteess

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 #

ppeerrllddooccssttyyllee -- AA ssttyyllee gguuiiddee ffoorr wwrriittiinngg PPeerrll’’ss ddooccuummeennttaattiioonn

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 #

ppeerrllppooddssttyyllee -- PPeerrll PPOODD ssttyyllee gguuiiddee

DESCRIPTION #

NAME, SYNOPSIS, DESCRIPTION, OPTIONS, RETURN VALUE, ERRORS, #

DIAGNOSTICS, EXAMPLES, ENVIRONMENT, FILES, CAVEATS, BUGS, #

AUTHOR #

SEE ALSO #

ppeerrllddiiaagg -- vvaarriioouuss PPeerrll ddiiaaggnnoossttiiccss

DESCRIPTION #

SEE ALSO #

ppeerrllddeepprreeccaattiioonn -- lliisstt PPeerrll ddeepprreeccaattiioonnss

DESCRIPTION #

     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 #

ppeerrlllleexxwwaarrnn -- PPeerrll LLeexxiiccaall WWaarrnniinnggss

DESCRIPTION #

ppeerrllddeebbuugg -- PPeerrll ddeebbuuggggiinngg

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 #

ppeerrllvvaarr -- PPeerrll pprreeddeeffiinneedd vvaarriiaabblleess

DESCRIPTION #

     The Syntax of Variable Names

SPECIAL VARIABLES #

     General Variables

$ARG, $_ , @ARG, @_ , $LIST_SEPARATOR, $" , $PROCESS_ID, $PID, #

$$ , $PROGRAM_NAME, $0 , $REAL_GROUP_ID, $GID, $( #

, $EFFECTIVE_GROUP_ID, $EGID, $) , $REAL_USER_ID, $UID, $< , #

$EFFECTIVE_USER_ID, $EUID, $> , $SUBSCRIPT_SEPARATOR, $SUBSEP, $; #

         , $a, $b  , %ENV , $OLD_PERL_VERSION, $]  , $SYSTEM_FD_MAX, $^F

, @F , @INC , %INC , $INPLACE_EDIT, $^I , @ISA , $^M , $OSNAME, #

$^O , %SIG , $BASETIME, $^T , $PERL_VERSION, $^V , #

$EXECUTABLE_NAME, $^X #

     Variables related to regular expressions
         $<_d_i_g_i_t_s> ($1, $2, ...)    , @{^CAPTURE}

, $MATCH, $& , ${^MATCH} , $PREMATCH, $` , ${^PREMATCH} , #

$POSTMATCH, $' #

, ${^POSTMATCH} , $LAST_PAREN_MATCH, $+ , #

$LAST_SUBMATCH_RESULT, $^N , @LAST_MATCH_END, @+ , %{^CAPTURE}, #

%LAST_PAREN_MATCH, %+ #

          , @LAST_MATCH_START, @- , "$`" is the same as "substr($var, 0,
         $-[0])", $& is the same as "substr($var, $-[0], $+[0] - $-[0])",
         "$'" is the same as "substr($var, $+[0])", $1 is the same as
         "substr($var, $-[1], $+[1] - $-[1])", $2 is the same as
         "substr($var, $-[2], $+[2] - $-[2])", $3 is the same as
         "substr($var, $-[3], $+[3] - $-[3])", %{^CAPTURE_ALL} , %- ,

$LAST_REGEXP_CODE_RESULT, $^R , ${^RE_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} #

ppeerrllrree -- PPeerrll rreegguullaarr eexxpprreessssiioonnss

DESCRIPTION #

     The Basics
     Modifiers
         ""mm""    , ""ss""    , ""ii""    , ""xx"" and ""xxxx"" , ""pp""   , ""aa"", ""dd"", ""ll"",
         and ""uu""
           , ""nn""    , Other Modifiers

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

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

         , "(?<!_p_a_t_t_e_r_n)", "(*nlb:_p_a_t_t_e_r_n)",
         "(*negative_lookbehind:_p_a_t_t_e_r_n)"
           , "(?<_N_A_M_E>_p_a_t_t_e_r_n)", "(?'_N_A_M_E'_p_a_t_t_e_r_n)"
           , "\k<_N_A_M_E>", "\k'_N_A_M_E'", "\k{_N_A_M_E}", "(?{ _c_o_d_e })"    , "(??{
         _c_o_d_e })"    , "(?_P_A_R_N_O)" "(?-_P_A_R_N_O)" "(?+_P_A_R_N_O)" "(?R)" "(?0)"


         , "(?&_N_A_M_E)" , "(?(_c_o_n_d_i_t_i_o_n)_y_e_s_-_p_a_t_t_e_r_n|_n_o_-_p_a_t_t_e_r_n)" ,
         "(?(_c_o_n_d_i_t_i_o_n)_y_e_s_-_p_a_t_t_e_r_n)", 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)” .., “(<_N_A_M_E>)” “(’_N_A_M_E’)”, “(?=…)” “(?!…)” “(?<=…)” #

“(?<!…)”, “(?{ _C_O_D_E })”, “(R)”, “(R1)” “(R2)” .., “(R&_N_A_M_E)”, #

         "(DEFINE)", "(?>_p_a_t_t_e_r_n)", "(*atomic:_p_a_t_t_e_r_n)"

         , "(?[ ])"

     Backtracking
     Script Runs
     Special Backtracking Control Verbs
         Verbs, "(*PRUNE)" "(*PRUNE:_N_A_M_E)"  , "(*SKIP)" "(*SKIP:_N_A_M_E)" ,

“(MARK:_N_A_M_E)” “(:_N_A_M_E)” #

           , "(*THEN)" "(*THEN:_N_A_M_E)", "(*COMMIT)" "(*COMMIT:_a_r_g)" ,
         "(*FAIL)" "(*F)" "(*FAIL:_a_r_g)"  , "(*ACCEPT)" "(*ACCEPT:_a_r_g)"

     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)”, “(??{ _E_X_P_R })”, “(?_P_A_R_N_O)”, #

         "(?(_c_o_n_d_i_t_i_o_n)_y_e_s_-_p_a_t_t_e_r_n|_n_o_-_p_a_t_t_e_r_n)"

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

BUGS #

SEE ALSO #

ppeerrllrreebbaacckkssllaasshh -- PPeerrll RReegguullaarr EExxpprreessssiioonn BBaacckkssllaasshh SSeeqquueenncceess aanndd EEssccaappeess

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 #

ppeerrllrreecchhaarrccllaassss -- PPeerrll RReegguullaarr EExxpprreessssiioonn CChhaarraacctteerr CCllaasssseess

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

ppeerrllrreerreeff -- PPeerrll RReegguullaarr EExxpprreessssiioonnss RReeffeerreennccee

DESCRIPTION #

OPERATORS #

SYNTAX #

ESCAPE SEQUENCES #

CHARACTER CLASSES #

ANCHORS #

QUANTIFIERS #

EXTENDED CONSTRUCTS #

VARIABLES #

FUNCTIONS #

TERMINOLOGY #

AUTHOR #

SEE ALSO #

THANKS #

ppeerrllrreeff -- PPeerrll rreeffeerreenncceess aanndd nneesstteedd ddaattaa ssttrruuccttuurreess

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 #

ppeerrllffoorrmm -- PPeerrll ffoorrmmaattss

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 #

ppeerrlloobbjj -- PPeerrll oobbjjeecctt rreeffeerreennccee

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 #

ppeerrllttiiee -- hhooww ttoo hhiiddee aann oobbjjeecctt ccllaassss iinn aa ssiimmppllee vvaarriiaabbllee

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 #

ppeerrllddbbmmffiilltteerr -- PPeerrll DDBBMM FFiilltteerrss

SYNOPSIS #

DESCRIPTION #

     ffiilltteerr__ssttoorree__kkeeyy, ffiilltteerr__ssttoorree__vvaalluuee, ffiilltteerr__ffeettcchh__kkeeyy,
     ffiilltteerr__ffeettcchh__vvaalluuee

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

SEE ALSO #

AUTHOR #

ppeerrlliippcc -- PPeerrll iinntteerrpprroocceessss ccoommmmuunniiccaattiioonn ((ssiiggnnaallss,, ffiiffooss,, ppiippeess,, ssaaffee ssuubbpprroocceesssseess,, ssoocckkeettss,, aanndd sseemmaapphhoorreess))

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

ppeerrllffoorrkk -- PPeerrll’’ss ffoorrkk(()) eemmuullaattiioonn

SYNOPSIS #

DESCRIPTION #

     Behavior of other Perl features in forked pseudo-processes
         $$ or $PROCESS_ID, %ENV, cchhddiirr(()) and all other builtins that
         accept filenames, wwaaiitt(()) and wwaaiittppiidd(()), kkiillll(()), eexxeecc(()), eexxiitt(()),
         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
     ooppeenn(()) not yet implemented, Global state maintained by XSUBs,
     Interpreter embedded in larger application, Thread-safety of
     extensions

PORTABILITY CAVEATS #

BUGS #

AUTHOR #

SEE ALSO #

ppeerrllnnuummbbeerr -- sseemmaannttiiccss ooff nnuummbbeerrss aanndd nnuummeerriicc ooppeerraattiioonnss iinn PPeerrll

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 #

ppeerrlltthhrrttuutt -- TTuuttoorriiaall oonn tthhrreeaaddss iinn PPeerrll

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

ppeerrllppoorrtt -- WWrriittiinngg ppoorrttaabbllee PPeerrll

DESCRIPTION #

     Not all Perl programs have to be portable, Nearly all of Perl already
     _i_s 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.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 #

ppeerrllllooccaallee -- PPeerrll llooccaallee hhaannddlliinngg ((iinntteerrnnaattiioonnaalliizzaattiioonn aanndd llooccaalliizzaattiioonn))

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
         NNoott wwiitthhiinn tthhee ssccooppee ooff ""uussee llooccaallee"", LLiinnggeerriinngg eeffffeeccttss ooff
         ""uussee  llooccaallee"", UUnnddeerr """"uussee llooccaallee"";;""

     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 #

ppeerrlluunniiiinnttrroo -- PPeerrll UUnniiccooddee iinnttrroodduuccttiioonn

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 #

ppeerrlluunniiccooddee -- UUnniiccooddee ssuuppppoorrtt iinn PPeerrll

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
         ""\\pp{{AAllll}}"", ""\\pp{{AAllnnuumm}}"", ""\\pp{{AAnnyy}}"", ""\\pp{{AASSCCIIII}}"", ""\\pp{{AAssssiiggnneedd}}"",
         ""\\pp{{BBllaannkk}}"", ""\\pp{{DDeeccoommppoossiittiioonn__TTyyppee:: NNoonn__CCaannoonniiccaall}}""    (Short:
         "\p{Dt=NonCanon}"), ""\\pp{{GGrraapphh}}"", ""\\pp{{HHoorriizzSSppaaccee}}"", ""\\pp{{IInn==**}}"",
         ""\\pp{{PPeerrllSSppaaccee}}"", ""\\pp{{PPeerrllWWoorrdd}}"", ""\\pp{{PPoossiixx......}}"", ""\\pp{{PPrreesseenntt__IInn::
         **}}""    (Short: "\p{In=*}"), ""\\pp{{PPrriinntt}}"", ""\\pp{{SSppaacceePPeerrll}}"",
         ""\\pp{{TTiittllee}}"" and ""\\pp{{TTiittlleeccaassee}}"", ""\\pp{{UUnniiccooddee}}"", ""\\pp{{VVeerrttSSppaaccee}}"",
         ""\\pp{{WWoorrdd}}"", ""\\pp{{XXPPoossiixx......}}""

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

ppeerrlluunniiccooookk -- ccooookkbbooookkiisshh eexxaammpplleess ooff hhaannddlliinngg UUnniiccooddee iinn PPeerrll

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- _a_n_d accent-insensitive Unicode sort
     â„ž 37: Unicode locale collation
     â„ž 38: Making "cmp" work on text instead of codepoints
     â„ž 39: Case- _a_n_d accent-insensitive comparisons
     â„ž 40: Case- _a_n_d accent-insensitive locale comparisons
     â„ž 41: Unicode linebreaking
     â„ž 42: Unicode text in DBM hashes, the tedious way
     â„ž 43: Unicode text in DBM hashes, the easy way
     â„ž 44: PROGRAM: Demo of Unicode collation and printing

SEE ALSO #

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

AUTHOR #

REVISION HISTORY #

ppeerrlluunniiffaaqq -- PPeerrll UUnniiccooddee FFAAQQ 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 #

ppeerrlluunniipprrooppss -- IInnddeexx ooff UUnniiccooddee VVeerrssiioonn 1144..00..00 cchhaarraacctteerr pprrooppeerrttiieess iinn PPeerrll

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,
     ((\\dd++)) in the info column gives the number of Unicode code points
     matched by this property, DD means this is deprecated, OO means this is
     obsolete, SS means this is stabilized, TT means tighter (stricter) name
     matching applies, XX 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
     _E_x_p_a_n_d_s___O_n___N_F_C (XO_NFC), _E_x_p_a_n_d_s___O_n___N_F_D (XO_NFD), _E_x_p_a_n_d_s___O_n___N_F_K_C
     (XO_NFKC), _E_x_p_a_n_d_s___O_n___N_F_K_D (XO_NFKD), _G_r_a_p_h_e_m_e___L_i_n_k (Gr_Link),
     _J_a_m_o___S_h_o_r_t___N_a_m_e (JSN), _O_t_h_e_r___A_l_p_h_a_b_e_t_i_c (OAlpha),
     _O_t_h_e_r___D_e_f_a_u_l_t___I_g_n_o_r_a_b_l_e___C_o_d_e___P_o_i_n_t (ODI), _O_t_h_e_r___G_r_a_p_h_e_m_e___E_x_t_e_n_d
     (OGr_Ext), _O_t_h_e_r___I_D___C_o_n_t_i_n_u_e (OIDC), _O_t_h_e_r___I_D___S_t_a_r_t (OIDS),
     _O_t_h_e_r___L_o_w_e_r_c_a_s_e (OLower), _O_t_h_e_r___M_a_t_h (OMath), _O_t_h_e_r___U_p_p_e_r_c_a_s_e
     (OUpper), _S_c_r_i_p_t_=_K_a_t_a_k_a_n_a___O_r___H_i_r_a_g_a_n_a (sc=Hrkt),
     _S_c_r_i_p_t___E_x_t_e_n_s_i_o_n_s_=_K_a_t_a_k_a_n_a___O_r___H_i_r_a_g_a_n_a (scx=Hrkt)

 Other information in the Unicode data base
     _a_u_x_i_l_i_a_r_y_/_G_r_a_p_h_e_m_e_B_r_e_a_k_T_e_s_t_._h_t_m_l, _a_u_x_i_l_i_a_r_y_/_L_i_n_e_B_r_e_a_k_T_e_s_t_._h_t_m_l,
     _a_u_x_i_l_i_a_r_y_/_S_e_n_t_e_n_c_e_B_r_e_a_k_T_e_s_t_._h_t_m_l, _a_u_x_i_l_i_a_r_y_/_W_o_r_d_B_r_e_a_k_T_e_s_t_._h_t_m_l,
     _B_i_d_i_C_h_a_r_a_c_t_e_r_T_e_s_t_._t_x_t, _B_i_d_i_T_e_s_t_._t_x_t, _N_o_r_m_T_e_s_t_._t_x_t, _C_J_K_R_a_d_i_c_a_l_s_._t_x_t,
     _e_m_o_j_i_/_R_e_a_d_M_e_._t_x_t, _R_e_a_d_M_e_._t_x_t, _E_m_o_j_i_S_o_u_r_c_e_s_._t_x_t, _e_x_t_r_a_c_t_e_d_/_D_N_a_m_e_._t_x_t,
     _I_n_d_e_x_._t_x_t, _N_a_m_e_d_S_q_P_r_o_v_._t_x_t, _N_a_m_e_s_L_i_s_t_._h_t_m_l, _N_a_m_e_s_L_i_s_t_._t_x_t,
     _N_o_r_m_a_l_i_z_a_t_i_o_n_C_o_r_r_e_c_t_i_o_n_s_._t_x_t, _N_u_s_h_u_S_o_u_r_c_e_s_._t_x_t,
     _S_t_a_n_d_a_r_d_i_z_e_d_V_a_r_i_a_n_t_s_._h_t_m_l, _S_t_a_n_d_a_r_d_i_z_e_d_V_a_r_i_a_n_t_s_._t_x_t,
     _T_a_n_g_u_t_S_o_u_r_c_e_s_._t_x_t, _U_S_o_u_r_c_e_D_a_t_a_._t_x_t, _U_S_o_u_r_c_e_G_l_y_p_h_s_._p_d_f

SEE ALSO #

ppeerrlluunniittuutt -- PPeerrll UUnniiccooddee TTuuttoorriiaall

DESCRIPTION #

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

SUMMARY #

 Q and A (or FAQ)

ACKNOWLEDGEMENTS #

AUTHOR #

SEE ALSO #

ppeerrlleebbccddiicc -- CCoonnssiiddeerraattiioonnss ffoorr rruunnnniinngg PPeerrll oonn EEBBCCDDIICC ppllaattffoorrmmss

DESCRIPTION #

COMMON CHARACTER CODE SETS #

ASCII #

ISO 8859 #

     Latin 1 (ISO 8859-1)

EBCDIC #

00003377, 11004477, PPOOSSIIXX--BBCC #

     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 #

ppeerrllsseecc -- PPeerrll sseeccuurriittyy

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 #

ppeerrllsseeccppoolliiccyy -- PPeerrll sseeccuurriittyy rreeppoorrtt hhaannddlliinngg ppoolliiccyy

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

ppeerrllmmoodd -- PPeerrll mmoodduulleess ((ppaacckkaaggeess aanndd ssyymmbbooll ttaabblleess))

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 #

ppeerrllmmooddlliibb -- ccoonnssttrruuccttiinngg nneeww PPeerrll mmoodduulleess aanndd ffiinnddiinngg eexxiissttiinngg oonneess

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, 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,
         Configure, Cwd, DB, DBM_Filter, DBM_Filter::compress,
         DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null,
         DBM_Filter::utf8, DB_File, Data::Dumper, Devel::PPPort,
         Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5,
         Digest::SHA, Digest::base, Digest::file, DirHandle, Dumpvalue,
         DynaLoader, Encode, Encode::Alias, Encode::Byte,
         Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config,
         Encode::EBCDIC, Encode::Encoder, Encode::Encoding,
         Encode::GSM0338, Encode::Guess, Encode::JP, Encode::JP::H2Z,
         Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR,
         Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO,
         Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode,
         Encode::Unicode::UTF7, English, Env, Errno, Exporter,
         Exporter::Heavy, ExtUtils::CBuilder,
         ExtUtils::CBuilder::Platform::Windows, ExtUtils::Command,
         ExtUtils::Command::MM, ExtUtils::Constant,
         ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
         ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
         ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM,
         ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS,
         ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin,
         ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2,
         ExtUtils::MM_OS390, ExtUtils::MM_QNX, ExtUtils::MM_UWIN,
         ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS,
         ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY,
         ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config,
         ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Locale,
         ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest,
         ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists,
         ExtUtils::PL2Bat, ExtUtils::Packlist, ExtUtils::ParseXS,
         ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval,
         ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps,
         ExtUtils::Typemaps::Cmd, ExtUtils::Typemaps::InputMap,
         ExtUtils::Typemaps::OutputMap, ExtUtils::Typemaps::Type,
         ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl,
         File::Basename, File::Compare, File::Copy, File::DosGlob,
         File::Fetch, File::Find, File::Glob, File::GlobMapper,
         File::Path, File::Spec, File::Spec::AmigaOS, File::Spec::Cygwin,
         File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac,
         File::Spec::OS2, File::Spec::Unix, File::Spec::VMS,
         File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle,
         Filter::Simple, Filter::Util::Call, FindBin, GDBM_File,
         Getopt::Long, Getopt::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::ExpireFile,
         Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File,
         Memoize::Storable, Module::CoreList, Module::CoreList::Utils,
         Module::Load, Module::Load::Conditional, Module::Loaded,
         Module::Metadata, NDBM_File, NEXT, Net::Cmd, Net::Config,
         Net::Domain, Net::FTP, Net::FTP::dataconn, Net::NNTP, Net::Netrc,
         Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent,
         Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O,
         ODBM_File, Opcode, OpenBSD::Pledge, OpenBSD::Unveil, POSIX,
         Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO,
         PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via,
         PerlIO::via::QuotedPrint, Pod::Checker, Pod::Escapes,
         Pod::Functions, Pod::Html, Pod::Html::Util, Pod::Man,
         Pod::ParseLink, Pod::Perldoc, Pod::Perldoc::BaseTo,
         Pod::Perldoc::GetOptsOO, Pod::Perldoc::ToANSI,
         Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan,
         Pod::Perldoc::ToNroff, Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf,
         Pod::Perldoc::ToTerm, Pod::Perldoc::ToText, Pod::Perldoc::ToTk,
         Pod::Perldoc::ToXml, Pod::Simple, Pod::Simple::Checker,
         Pod::Simple::Debug, Pod::Simple::DumpAsText,
         Pod::Simple::DumpAsXML, Pod::Simple::HTML,
         Pod::Simple::HTMLBatch, Pod::Simple::JustPod,
         Pod::Simple::LinkSection, Pod::Simple::Methody,
         Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
         Pod::Simple::PullParserStartToken,
         Pod::Simple::PullParserTextToken, Pod::Simple::PullParserToken,
         Pod::Simple::RTF, Pod::Simple::Search, Pod::Simple::SimpleTree,
         Pod::Simple::Subclassing, Pod::Simple::Text,
         Pod::Simple::TextContent, Pod::Simple::XHTML,
         Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color,
         Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File,
         Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader,
         Storable, Sub::Util, Symbol, Sys::Hostname, Sys::Syslog,
         Sys::Syslog::Win32, TAP::Base, TAP::Formatter::Base,
         TAP::Formatter::Color, TAP::Formatter::Console,
         TAP::Formatter::Console::ParallelSession,
         TAP::Formatter::Console::Session, TAP::Formatter::File,
         TAP::Formatter::File::Session, TAP::Formatter::Session,
         TAP::Harness, TAP::Harness::Env, TAP::Object, TAP::Parser,
         TAP::Parser::Aggregator, TAP::Parser::Grammar,
         TAP::Parser::Iterator, TAP::Parser::Iterator::Array,
         TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream,
         TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer,
         TAP::Parser::Result, TAP::Parser::Result::Bailout,
         TAP::Parser::Result::Comment, TAP::Parser::Result::Plan,
         TAP::Parser::Result::Pragma, TAP::Parser::Result::Test,
         TAP::Parser::Result::Unknown, TAP::Parser::Result::Version,
         TAP::Parser::Result::YAML, TAP::Parser::ResultFactory,
         TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job,
         TAP::Parser::Scheduler::Spinner, TAP::Parser::Source,
         TAP::Parser::SourceHandler,
         TAP::Parser::SourceHandler::Executable,
         TAP::Parser::SourceHandler::File,
         TAP::Parser::SourceHandler::Handle,
         TAP::Parser::SourceHandler::Perl,
         TAP::Parser::SourceHandler::RawTAP, TAP::Parser::YAMLish::Reader,
         TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap,
         Term::Complete, Term::ReadKey, Term::ReadLine, 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 #

ppeerrllmmooddssttyyllee -- PPeerrll mmoodduullee ssttyyllee gguuiiddee

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 #

ppeerrllmmooddiinnssttaallll -- IInnssttaalllliinngg CCPPAANN MMoodduulleess

DESCRIPTION #

PREAMBLE #

         DDEECCOOMMPPRREESSSS the file, UUNNPPAACCKK the file into a directory, BBUUIILLDD the
         module (sometimes unnecessary), IINNSSTTAALLLL the module

PORTABILITY #

HEY #

AUTHOR #

ppeerrllnneewwmmoodd -- pprreeppaarriinngg aa nneeww mmoodduullee ffoorr ddiissttrriibbuuttiioonn

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 _m_o_d_u_l_e_-_s_t_a_r_t_e_r or _h_2_x_s, Use strict and warnings, Use
         Carp, Use Exporter - wisely!, Use plain old documentation, Write
         tests, Write the _R_E_A_D_M_E, Write _C_h_a_n_g_e_s

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

AUTHOR #

SEE ALSO #

ppeerrllpprraaggmmaa -- hhooww ttoo wwrriittee aa uusseerr pprraaggmmaa

DESCRIPTION #

 A basic example
 Key naming
 Implementation details

ppeerrlluuttiill -- uuttiilliittiieess ppaacckkaaggeedd wwiitthh tthhee PPeerrll ddiissttrriibbuuttiioonn

DESCRIPTION #

LIST OF UTILITIES #

     Documentation
         perldoc, pod2man, pod2text, pod2html, pod2usage, podchecker,
         splain, _r_o_f_f_i_t_a_l_l

     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 #

ppeerrllffiilltteerr -- SSoouurrccee FFiilltteerrss

DESCRIPTION #

CONCEPTS #

USING FILTERS #

WRITING A SOURCE FILTER #

WRITING A SOURCE FILTER IN C #

     DDeeccrryyppttiioonn FFiilltteerrss

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

ppeerrllddttrraaccee -- PPeerrll’’ss ssuuppppoorrtt ffoorr DDTTrraaccee

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 #

ppeerrllgglloossssaarryy -- PPeerrll GGlloossssaarryy

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

ppeerrlleemmbbeedd -- hhooww ttoo eemmbbeedd ppeerrll iinn yyoouurr CC pprrooggrraamm

DESCRIPTION #

PREAMBLE #

         UUssee CC ffrroomm PPeerrll??, UUssee aa UUnniixx pprrooggrraamm ffrroomm PPeerrll??, UUssee PPeerrll ffrroomm
         PPeerrll??, UUssee CC ffrroomm CC??, UUssee PPeerrll ffrroomm CC??

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 #

ppeerrllddeebbgguuttss -- GGuuttss ooff PPeerrll ddeebbuuggggiinngg

DESCRIPTION #

 Debugger Internals
     Writing Your Own Debugger
 Frame Listing Output Examples
 Debugging Regular Expressions
     Compile-time Output
         "anchored" _S_T_R_I_N_G "at" _P_O_S, "floating" _S_T_R_I_N_G "at" _P_O_S_1_._._P_O_S_2,
         "matching floating/anchored", "minlen", "stclass" _T_Y_P_E, "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 #

ppeerrllxxssttuutt -- TTuuttoorriiaall ffoorr wwrriittiinngg XXSSUUBBss

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

ppeerrllxxss -- XXSS llaanngguuaaggee rreeffeerreennccee mmaannuuaall

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 #

ppeerrllxxssttyyppeemmaapp -- PPeerrll XXSS CC//PPeerrll ttyyppee mmaappppiinngg

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 #

ppeerrllcclliibb -- IInntteerrnnaall rreeppllaacceemmeennttss ffoorr ssttaannddaarrdd CC lliibbrraarryy ffuunnccttiioonnss

DESCRIPTION #

     Conventions
         "t", "p", "n", "s"

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

SEE ALSO #

ppeerrllgguuttss -- IInnttrroodduuccttiioonn ttoo tthhee PPeerrll AAPPII

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 OORR 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 MMUUSSTT 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
     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), "SAVEFREESV(SV *sv)", "SAVEMORTALIZESV(SV *sv)",
         "SAVEFREEOP(OP *op)", SAVEFREEPV(p), "SAVECLEARSV(SV *sv)",
         "SAVEDELETE(HV *hv, char *key, I32 length)",
         "SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)",
         "SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)",
         "SAVESTACK_POS()", "SV* save_scalar(GV *gv)", "AV* save_ary(GV
         *gv)", "HV* save_hash(GV *gv)", "void save_item(SV *item)", "void
         save_list(SV **sarg, I32 maxsarg)", "SV* save_svref(SV **sptr)",
         "void save_aptr(AV **aptr)", "void save_hptr(HV **hptr)"

 Subroutines
     XSUBs and the Argument Stack
     Autoloading with XSUBs
     Calling Perl Routines from within C Programs
     Putting a C value on Perl stack
     Scratchpads
     Scratchpads and recursion
 Memory Allocation
     Allocation
     Reallocation
     Moving
 PerlIO
 Compiled code
     Code tree
     Examining the tree
     Compile pass 1: check routines
     Compile pass 1a: constant folding
     Compile pass 2: context propagation
     Compile pass 3: peephole optimization
     Pluggable runops
     Compile-time scope hooks
         "void bhk_start(pTHX_ int full)", "void bhk_pre_end(pTHX_ OP
         **o)", "void bhk_post_end(pTHX_ OP **o)", "void bhk_eval(pTHX_ OP
         *const o)"

 Examining internal data structures with the "dump" functions
 How multiple interpreters and concurrency are supported
     Background and 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 iiss 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 #

ppeerrllccaallll -- PPeerrll ccaalllliinngg ccoonnvveennttiioonnss ffrroomm CC

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 #

ppeerrllmmrrooaappii -- PPeerrll mmeetthhoodd rreessoolluuttiioonn pplluuggiinn iinntteerrffaaccee

DESCRIPTION #

     resolve, name, length, kflags, hash

 Callbacks
 Caching
 Examples

AUTHORS #

ppeerrllrreeaappii -- PPeerrll rreegguullaarr eexxpprreessssiioonn pplluuggiinn iinntteerrffaaccee

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 #

ppeerrllrreegguuttss -- DDeessccrriippttiioonn ooff tthhee PPeerrll rreegguullaarr eexxpprreessssiioonn eennggiinnee..

DESCRIPTION #

OVERVIEW #

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

 Process Overview
     A. Compilation, 1. Parsing, 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 #

ppeerrllaappii -- aauuttooggeenneerraatteedd ddooccuummeennttaattiioonn ffoorr tthhee ppeerrll ppuubblliicc AAPPII

DESCRIPTION #

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

 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_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, "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" ,
     "PL_errgv", "save_aptr", "save_ary", "SAVEBOOL", "SAVEDELETE",

“SAVEDESTRUCTOR”, “SAVEDESTRUCTOR_X”, “SAVEFREEOP”, “SAVEFREEPV”, #

     "SAVEFREESV", "save_hash", "save_hptr", "SAVEI8", "SAVEI32",
     "SAVEI16", "SAVEINT", "save_item", "SAVEIV", "save_list", "SAVELONG",
     "SAVEMORTALIZESV", "SAVEPPTR", "save_scalar", "SAVESPTR",
     "SAVESTACK_POS", "SAVESTRLEN", "save_svref", "SAVETMPS"

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

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

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

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

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

 Compiler and Preprocessor information

“CPPLAST” , “CPPMINUS” , “CPPRUN” , “CPPSTDIN” , #

“HASATTRIBUTE_ALWAYS_INLINE” , “HASATTRIBUTE_DEPRECATED” , #

“HASATTRIBUTE_FORMAT” , “HASATTRIBUTE_NONNULL” , #

“HASATTRIBUTE_NORETURN” , “HASATTRIBUTE_PURE” , “HASATTRIBUTE_UNUSED” #

, “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
     "ASSUME" , "dNOOP" , "END_EXTERN_C" , "EXTERN_C" , "LIKELY" , "NOOP"

, “PERL_UNUSED_ARG” , “PERL_UNUSED_CONTEXT” , “PERL_UNUSED_DECL” , #

“PERL_UNUSED_RESULT” , “PERL_UNUSED_VAR” , #

“PERL_USE_GCC_BRACE_GROUPS” , “START_EXTERN_C” , “STATIC”, #

“STMT_START”, “STMT_END” , “UNLIKELY” , “_ASSERT#

 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_PTHREADS_API” , “OLD_PTHREAD_CREATE_JOINABLE” , #

     "PERL_IMPLICIT_CONTEXT", "pTHX", "pTHX_", "SCHED_YIELD"

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

 Custom Operators
     "custom_op_desc" , "custom_op_name" , "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_cvs", "get_cvn_flags" , "Nullcv" , "SvAMAGIC_off" ,
     "SvAMAGIC_on"

 Debugging
     "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" , "magic_dump" ,
     "op_class" , "op_dump" , "PL_op", "PL_runops", "PL_sv_serial",
     "pmop_dump" , "sv_dump" , "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"
     , "find_rundefsvoffset" , "HAS_SKIP_LOCALE_INIT", "intro_my" ,
     "load_module", "load_module_nocontext" , "my_exit" , "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_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, "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_OPEN3” , “HAS_OPENAT” , “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_LVALUE” , #

“STDIO_PTR_LVAL_NOCHANGE_CNT” , “STDIO_PTR_LVAL_SETS_CNT” , #

“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_FPCLASSIFY” , #

“HAS_FPCLASSL” , “HAS_FPGETROUND” , “HAS_FP_CLASS” , #

“HAS_FP_CLASSIFY” , “HAS_FP_CLASSL” , “HAS_FREXPL” , “HAS_ILOGB” , #

“HAS_ISFINITE” , “HAS_ISFINITEL” , “HAS_ISINF” , “HAS_ISINFL” , #

“HAS_ISNAN” , “HAS_ISNANL” , “HAS_ISNORMAL” , “HAS_J0” , “HAS_J0L” , #

“HAS_LDBL_DIG” , “HAS_LDEXPL” , “HAS_LLRINT” , “HAS_LLRINTL” , #

“HAS_LLROUNDL” , “HAS_LONG_DOUBLE” , “HAS_LRINT” , “HAS_LRINTL” , #

“HAS_LROUNDL” , “HAS_MODFL” , “HAS_NAN” , “HAS_NEXTTOWARD” , #

“HAS_REMAINDER” , “HAS_SCALBN” , “HAS_SIGNBIT” , “HAS_SQRTL” , #

“HAS_STRTOD_L” , “HAS_STRTOLD” , “HAS_STRTOLD_L” , “HAS_TRUNC” , #

“HAS_UNORDERED” , “I_FENV” , “I_QUADMATH” , “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

“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” , “PHOSTNAME” , “PROCSELFEXE_PATH” , “PTRSIZE” , #

“RANDBITS” , “SELECT_MIN_BITS” , “SETUID_SCRIPTS_ARE_SECURE_NOW” , #

“ST_DEV_SIGN” , “ST_DEV_SIZE” #

     List of capability "HAS__f_o_o" symbols
     List of "#include" needed symbols
 Global Variables
     "PL_check" , "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_autoload4" , "GvAV" , "gv_AVadd",
     "gv_HVadd", "gv_IOadd", "gv_SVadd" , "gv_const_sv" , "GvCV" ,
     "gv_fetchfile", "gv_fetchfile_flags" , "gv_fetchmeth" ,
     "gv_fetchmethod" , "gv_fetchmethod_autoload" ,
     "gv_fetchmeth_autoload" , "gv_fetchmeth_pv" , "gv_fetchmeth_pvn" ,
     "gv_fetchmeth_pvn_autoload" , "gv_fetchmeth_pv_autoload" ,
     "gv_fetchmeth_sv" , "gv_fetchmeth_sv_autoload" , "gv_fetchpv",
     "gv_fetchpvn", "gv_fetchpvn_flags", "gv_fetchpvs", "gv_fetchsv",
     "gv_fetchsv_nomg" X <gv_fetchsv_nomg>, "gv_fullname3",
     "gv_fullname4", "gv_efullname3", "gv_efullname4" , "GvHV" , "gv_init"
     , "gv_init_pv" , "gv_init_pvn" , "gv_init_sv" , "gv_stashpv" ,
     "gv_stashpvn" , "gv_stashpvs" , "gv_stashsv" , "GvSV" , "GvSVn" ,
     "newGVgen", "newGVgen_flags" , "PL_curstash" , "PL_defgv" ,
     "PL_defstash", "save_gp" , "setdefout"

 Hook manipulation
     "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_fetchs" ,
     "hv_fetch_ent" , "HvFILL" , "hv_iterinit" , "hv_iterkey" ,
     "hv_iterkeysv" , "hv_iternext" , "hv_iternextsv" ,
     "hv_iternext_flags" , "hv_iterval" , "hv_magic" , "HvNAME" ,
     "HvNAMELEN" , "HvNAMEUTF8" , "hv_scalar" , "hv_store" , "hv_stores" ,
     "hv_store_ent" , "hv_undef" , "newHV" , "newHVhv" , "Nullhv" ,
     "PERL_HASH", "PL_modglobal"

 Input/Output
     "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_getc",
     "PerlIO_get_cnt", "PerlIO_getpos", "PerlIO_get_ptr",
     "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_setlinebuf", "PerlIO_setpos", "PerlIO_set_ptrcnt",
     "PerlIO_stderr", "PerlIO_stdin", "PerlIO_stdout", "PerlIO_stdoutf",
     "PerlIO_tell", "PerlIO_ungetc", "PerlIO_unread", "PerlIO_vprintf",
     "PerlIO_write", "PERLIO_FUNCS_CAST" , "PERLIO_FUNCS_DECL" ,

“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_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” , “I8”, #

“I16”, “I32”, “I64”, “IV”, “I32SIZE” , “I32TYPE” , “I64SIZE” , #

“I64TYPE” , “I16SIZE” , “I16TYPE” , “INT16_C”, “INT32_C”, “INT64_C” , #

“INTMAX_C” , “INTSIZE” , “I8SIZE” , “I8TYPE” , “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_SHORT_MAX”, #

“PERL_SHORT_MIN”, “PERL_UCHAR_MAX”, “PERL_UCHAR_MIN”, #

“PERL_UINT_MAX”, “PERL_UINT_MIN”, “PERL_ULONG_MAX”, “PERL_ULONG_MIN”, #

“PERL_USHORT_MAX”, “PERL_USHORT_MIN”, “PERL_QUAD_MAX”, #

“PERL_QUAD_MIN”, “PERL_UQUAD_MAX”, “PERL_UQUAD_MIN” , “SHORTSIZE” , #

“U8”, “U16”, “U32”, “U64”, “UV”, “U32SIZE” , “U32TYPE” , “U64SIZE” , #

“U64TYPE” , “U16SIZE” , “U16TYPE” , “UINT16_C”, “UINT32_C”, #

“UINT64_C” , “UINTMAX_C” , “U8SIZE” , “U8TYPE” , “UV_MAX” , “UV_MIN” #

, “UVSIZE” , “UVTYPE” , “WIDEST_UTYPE” #

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

 Lexer interface
     "BHK", "lex_bufutf8" , "lex_discard_to" , "lex_grow_linestr" ,
     "lex_next_chunk" , "lex_peek_unichar" , "lex_read_space" ,
     "lex_read_to" , "lex_read_unichar" , "lex_start" , "lex_stuff_pv" ,
     "lex_stuff_pvn" , "lex_stuff_pvs" , "lex_stuff_sv" , "lex_unstuff" ,
     "parse_arithexpr" , "parse_barestmt" , "parse_block" ,
     "parse_fullexpr" , "parse_fullstmt" , "parse_label" ,
     "parse_listexpr" , "parse_stmtseq" , "parse_subsignature" ,
     "parse_termexpr" , "PL_parser" , "PL_parser->bufend" ,
     "PL_parser->bufptr" , "PL_parser->linestart" , "PL_parser->linestr" ,
     "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_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" , "switch_to_global_locale" ,
     POSIX::localeconv, I18N::Langinfo, items "CRNCYSTR" and "THOUSEP",
     "Perl_langinfo" in perlapi, items "CRNCYSTR" and "THOUSEP",
     "sync_locale" , "WITH_LC_NUMERIC_SET_TO_NEEDED" ,

“WITH_LC_NUMERIC_SET_TO_NEEDED_IN” #

 Magic
     "mg_clear" , "mg_copy" , "MGf_COPY", "MGf_DUP", "MGf_LOCAL",
     "mg_find" , "mg_findext" , "mg_free" , "mg_freeext" , "mg_free_type"
     , "mg_get" , "mg_length" , "mg_magical" , "mg_set" , "MGVTBL",
     "perl_clone" , "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_env",
     "PERL_MAGIC_envelem", "PERL_MAGIC_ext", "PERL_MAGIC_fm",
     "PERL_MAGIC_hints", "PERL_MAGIC_hintselem", "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",
     "ptr_table_fetch" , "ptr_table_free" , "ptr_table_new" ,
     "ptr_table_split" , "ptr_table_store" , "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" , "LINKLIST" ,
     "LISTOP", "LOGOP", "LOOP", "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_PADOP”, “OA_PMOP”, “OA_PVOP_OR_SVOP”, #

     "OA_SVOP", "OA_UNOP", "OA_LOOP", "OP", "op_append_elem" ,
     "op_append_list" , "OP_CLASS" , "op_contextualize" ,
     "op_convert_list" , "OP_DESC" , "op_free" , "OpHAS_SIBLING" ,
     "OpLASTSIB_set" , "op_linklist" , "op_lvalue" , "OpMAYBESIB_set" ,
     "OpMORESIB_set" , "OP_NAME" , "op_null" , "op_parent" ,
     "op_prepend_elem" , "op_scope" , "OpSIBLING" , "op_sibling_splice" ,
     "OP_TYPE_IS" , "OP_TYPE_IS_OR_WAS" , "op_wrap_finally" , "peep_t",
     "Perl_cpeep_t", "PL_opfreehook" , "PL_peepp" , "PL_rpeepp" , "PMOP",
     "rv2cv_op_cv" , "UNOP", "XOP"

 Pack and Unpack
     "pack_cat" , "packlist" , "unpack_str" , "unpackstring"

 Pad Data Structures
     "CvPADLIST" , "pad_add_name_pvs" , "PadARRAY" , "pad_compname_type" ,
     "pad_findmy_pvs" , "PadlistARRAY" , "PadlistMAX" , "PadlistNAMES" ,
     "PadlistNAMESARRAY" , "PadlistNAMESMAX" , "PadlistREFCNT" , "PadMAX"
     , "PadnameLEN" , "PadnamelistARRAY" , "PadnamelistMAX" ,
     "PadnamelistREFCNT" , "PadnamelistREFCNT_dec" , "PadnamePV" ,
     "PadnameREFCNT" , "PadnameREFCNT_dec" , "PadnameSV" , "PadnameUTF8" ,
     "pad_new" , "PL_comppad" , "PL_comppad_name" , "PL_curpad" ,
     "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” , “SRAND48_R_PROTO” , “SRANDOM_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_STR",
     "REXEC_COPY_SKIP_PRE", "REXEC_COPY_SKIP_POST", "RXapif_CLEAR",
     "RXapif_DELETE", "RXapif_EXISTS", "RXapif_FETCH", "RXapif_FIRSTKEY",
     "RXapif_NEXTKEY", "RXapif_SCALAR", "RXapif_STORE", "RXapif_ALL",
     "RXapif_ONE", "RXapif_REGNAME", "RXapif_REGNAMES",
     "RXapif_REGNAMES_COUNT", "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_PMf_MULTILINE", "RXf_PMf_SINGLELINE",
     "RXf_PMf_FOLD", "RXf_PMf_EXTENDED", "RXf_PMf_KEEPCOPY", "RXf_SPLIT",
     "RXf_SKIPWHITE", "RXf_START_ONLY", "RXf_WHITE", "RXf_NULL",
     "RXf_NO_INPLACE_SUBST", "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_CPLUSPLUS” , “USE_CROSS_COMPILE” , “USE_C_BACKTRACE” , #

“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
     "filter_add", "filter_del" , "filter_read", "scan_vstring"

 Stack Manipulation Macros
     "dMARK" , "dORIGMARK" , "dSP" , "dTARGET" , "EXTEND" , "MARK" ,
     "mPUSHi" , "mPUSHn" , "mPUSHp" , "mPUSHs" , "mPUSHu" , "mXPUSHi" ,
     "mXPUSHn" , "mXPUSHp" , "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" , "PUSHs" ,
     "PUSHu" , "PUTBACK" , "SAVEt_INT", "SP" , "SPAGAIN" , "SSNEW",
     "SSNEWa", "SSNEWt", "SSNEWat" , "SSPTR", "SSPTRt" , "TARG" , "TOPs",
     "XPUSHi" , "XPUSHmortal" , "XPUSHn" , "XPUSHp" , "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_strlcat" , "my_strlcpy" , "my_strnlen" , "my_vsnprintf" ,
     "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_REGEXP" , "svtype"

 SV Handling
     "boolSV" , "croak_xs_usage" , "DEFSV" , "DEFSV_set" , "get_sv" ,
     "isGV_with_GP" , "looks_like_number" , "MUTABLE_PTR", "MUTABLE_AV",

“MUTABLE_CV”, “MUTABLE_GV”, “MUTABLE_HV”, “MUTABLE_IO”, “MUTABLE_SV” #

     , "newRV", "newRV_inc" , "newRV_noinc" , "newSV" , "newSVhek" ,
     "newSViv" , "newSVnv" , "newSVpadname" , "newSVpv" , "newSVpvf" ,
     "newSVpvf_nocontext" , "newSVpvn" , "newSVpvn_flags" ,
     "newSVpvn_share" , "newSVpvn_utf8" , "newSVpvs" , "newSVpvs_flags" ,
     "newSVpv_share" , "newSVpvs_share" , "newSVrv" , "newSVsv",
     "newSVsv_nomg", "newSVsv_flags" , "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",
     "sv_2cv" , "sv_2io" , "sv_2iv_flags" , "sv_2mortal" , "sv_2nv_flags"
     , "sv_2pv", "sv_2pv_flags" , "sv_2pvbyte", "sv_2pvbyte_flags" ,
     "sv_2pvutf8", "sv_2pvutf8_flags" , "sv_2uv_flags" , "SvAMAGIC" ,
     "sv_backoff" , "sv_bless" , "sv_catpv", "sv_catpv_flags",
     "sv_catpv_mg", "sv_catpv_nomg" , "sv_catpvf", "sv_catpvf_nocontext",
     "sv_catpvf_mg", "sv_catpvf_mg_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_chop" ,
     "sv_clear" , "sv_cmp" , "sv_cmp_flags" , "sv_cmp_locale" ,
     "sv_cmp_locale_flags" , "sv_collxfrm" , "sv_collxfrm_flags" ,
     "sv_copypv", "sv_copypv_nomg", "sv_copypv_flags" , "SvCUR" ,
     "SvCUR_set" , "sv_dec", "sv_dec_nomg" , "sv_derived_from" ,
     "sv_derived_from_pv" , "sv_derived_from_pvn" , "sv_derived_from_sv" ,
     "sv_does" , "sv_does_pv" , "sv_does_pvn" , "sv_does_sv" , "SvEND" ,
     "sv_eq" , "sv_eq_flags" , "sv_force_normal" , "sv_force_normal_flags"
     , "sv_free" , "SvGAMAGIC" , "SvGETMAGIC" , "sv_gets" ,
     "sv_get_backrefs" , "SvGROW" , "sv_inc", "sv_inc_nomg" , "sv_insert"
     , "sv_insert_flags" , "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", "SvIVx", "SvIV_nomg"
     , "SvIV_set" , "SvIVX" , "SvLEN" , "sv_len" , "SvLEN_set" ,
     "sv_len_utf8", "sv_len_utf8_nomg" , "SvLOCK" , "sv_magic" ,
     "sv_magicext" , "SvMAGIC_set" , "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", "SvNVx", "SvNV_nomg" , "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", "SvPVx", "SvPV_nomg", "SvPV_nolen",
     "SvPVx_nolen", "SvPV_nomg_nolen", "SvPV_mutable", "SvPV_const",
     "SvPVx_const", "SvPV_nolen_const", "SvPVx_nolen_const",
     "SvPV_nomg_const", "SvPV_nomg_const_nolen", "SvPV_flags",
     "SvPV_flags_const", "SvPV_flags_mutable", "SvPVbyte",
     "SvPVbyte_nomg", "SvPVbyte_nolen", "SvPVbytex_nolen", "SvPVbytex",
     "SvPVbyte_or_null", "SvPVbyte_or_null_nomg", "SvPVutf8", "SvPVutf8x",
     "SvPVutf8_nomg", "SvPVutf8_nolen", "SvPVutf8_or_null",
     "SvPVutf8_or_null_nomg" , "SvPVCLEAR" , "SvPV_force",
     "SvPV_force_nolen", "SvPVx_force", "SvPV_force_nomg",
     "SvPV_force_nomg_nolen", "SvPV_force_mutable", "SvPV_force_flags",
     "SvPV_force_flags_nolen", "SvPV_force_flags_mutable",
     "SvPVbyte_force", "SvPVbytex_force", "SvPVutf8_force",
     "SvPVutf8x_force" , "SvPV_free" , "sv_pvn_force_flags" , "SvPV_renew"
     , "SvPV_set" , "SvPVX", "SvPVXx", "SvPVX_const", "SvPVX_mutable" ,
     "SvPVXtrue" , "SvREADONLY" , "SvREADONLY_off" , "SvREADONLY_on" ,
     "sv_ref" , "SvREFCNT" , "SvREFCNT_dec", "SvREFCNT_dec_NN" ,
     "SvREFCNT_inc", "SvREFCNT_inc_NN", "SvREFCNT_inc_void",
     "SvREFCNT_inc_void_NN", "SvREFCNT_inc_simple",
     "SvREFCNT_inc_simple_NN", "SvREFCNT_inc_simple_void",
     "SvREFCNT_inc_simple_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_setiv", "sv_setiv_mg" , "SvSETMAGIC" , "sv_setnv", "sv_setnv_mg"
     , "sv_setpv", "sv_setpv_mg", "sv_setpvn", "sv_setpvn_fresh",
     "sv_setpvn_mg", "sv_setpvs", "sv_setpvs_mg" , "sv_setpvf",
     "sv_setpvf_nocontext", "sv_setpvf_mg", "sv_setpvf_mg_nocontext" ,
     "sv_setpviv", "sv_setpviv_mg" , "sv_setpv_bufsize" , "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" , "SvSetSV", "SvSetMagicSV",
     "SvSetSV_nosteal", "SvSetMagicSV_nosteal" , "sv_setsv",
     "sv_setsv_flags", "sv_setsv_mg", "sv_setsv_nomg" , "sv_setuv",
     "sv_setuv_mg" , "sv_set_undef" , "SvSHARE" , "SvSHARED_HASH" ,
     "SvSTASH" , "SvSTASH_set" , "sv_streq" , "sv_streq_flags" , "SvTRUE",
     "SvTRUEx", "SvTRUE_nomg", "SvTRUE_NN", "SvTRUE_nomg_NN" , "SvTYPE" ,
     "SvUNLOCK" , "sv_unmagic" , "sv_unmagicext" , "sv_unref" ,
     "sv_unref_flags" , "SvUOK" , "SvUPGRADE" , "sv_upgrade" ,
     "sv_usepvn", "sv_usepvn_mg", "sv_usepvn_flags" , "SvUTF8" ,
     "sv_utf8_decode" , "sv_utf8_downgrade", "sv_utf8_downgrade_flags",
     "sv_utf8_downgrade_nomg" , "sv_utf8_encode" , "sv_utf8_upgrade",
     "sv_utf8_upgrade_nomg", "sv_utf8_upgrade_flags",
     "sv_utf8_upgrade_flags_grow" , "SvUTF8_off" , "SvUTF8_on" , "SvUV",
     "SvUVx", "SvUV_nomg" , "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_ASCTIME64” , “HAS_ASCTIME_R” , “HAS_CTIME64” #

, “HAS_CTIME_R” , “HAS_DIFFTIME” , “HAS_DIFFTIME64” , “HAS_FUTIMES” , #

“HAS_GETITIMER” , “HAS_GETTIMEOFDAY” , “HAS_GMTIME64” , #

“HAS_GMTIME_R” , “HAS_LOCALTIME64” , “HAS_LOCALTIME_R” , “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"

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

 Unicode Support
     "BOM_UTF8" , "bytes_cmp_utf8" , "bytes_from_utf8" , "bytes_to_utf8" ,
     "DO_UTF8" , "foldEQ_utf8" , "is_ascii_string" ,
     "is_c9strict_utf8_string" , "is_c9strict_utf8_string_loc" ,
     "is_c9strict_utf8_string_loclen" , "isC9_STRICT_UTF8_CHAR" ,
     "is_invariant_string" , "isSTRICT_UTF8_CHAR" ,
     "is_strict_utf8_string" , "is_strict_utf8_string_loc" ,
     "is_strict_utf8_string_loclen" , "is_utf8_char" , "is_utf8_char_buf"
     , "is_utf8_fixed_width_buf_flags" ,
     "is_utf8_fixed_width_buf_loclen_flags" ,
     "is_utf8_fixed_width_buf_loc_flags" , "is_utf8_invariant_string" ,
     "is_utf8_invariant_string_loc" , "is_utf8_string" ,
     "is_utf8_string_flags" , "is_utf8_string_loc" ,
     "is_utf8_string_loclen" , "is_utf8_string_loclen_flags" ,
     "is_utf8_string_loc_flags" , "is_utf8_valid_partial_char" ,
     "is_utf8_valid_partial_char_flags" , "isUTF8_CHAR" ,
     "isUTF8_CHAR_flags" , "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” , #

     "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", "UTF8SKIP"
     , "UTF8_SAFE_SKIP" if you know the maximum ending pointer in the
     buffer pointed to by "s"; or, "UTF8_CHK_SKIP" if you don't know it,
     "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” , “UTF8_SAFE_SKIP” , “UTF8_SKIP” , #

     "utf8_to_bytes" , "utf8_to_uvchr" , "utf8_to_uvchr_buf" ,
     "UVCHR_IS_INVARIANT" , "UVCHR_SKIP" , "uvchr_to_utf8" ,
     "uvchr_to_utf8_flags" , "uvchr_to_utf8_flags_msgs" , "text",
     "warn_categories", "flag"

 Utility Functions
     "C_ARRAY_END" , "C_ARRAY_LENGTH" , "getcwd_sv" ,

“IN_PERL_COMPILETIME” , “IN_PERL_RUNTIME” , “IS_SAFE_SYSCALL” , #

     "is_safe_syscall" , "my_setenv" , "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_NE”, “PERL_VERSION_LT”, #

“PERL_VERSION_LE”, “PERL_VERSION_GT”, “PERL_VERSION_GE” , #

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

ppeerrlliinntteerrnn -- aauuttooggeenneerraatteedd ddooccuummeennttaattiioonn ooff ppuurreellyy iinntteerrnnaall PPeerrll ffuunnccttiioonnss

DESCRIPTION #

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

 Callback Functions
     "dowantarray" , "leave_scope" , "pop_scope" , "push_scope" ,
     "save_adelete" , "save_generic_pvref" , "save_generic_svref" ,
     "save_hdelete" , "save_hints" , "save_op" ,
     "save_padsv_and_mortalize" , "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
     "CvWEAKOUTSIDE" , "docatch"

 Debugging
     "_aDEPTH" , "debop" , "debprof" , "debprofdump" , "free_c_backtrace"
     , "get_c_backtrace" , "_pDEPTH" , "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"

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

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

 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
     "finalize_optree" , "newATTRSUB_x" , "newXS_len_flags" ,
     "op_refcnt_lock" , "op_refcnt_unlock" , "optimize_optree" ,
     "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” , #

     "PadnameIsOUR" , "PadnameIsSTATE" , "PadnameOURSTASH" ,
     "PadnameOUTER" , "PadnameTYPE" , "PAD_RESTORE_LOCAL" ,

“PAD_SAVE_LOCAL” , “PAD_SAVE_SETNULLPAD” , “PAD_SETSV” , #

     "PAD_SET_CUR" , "PAD_SET_CUR_NOSAVE" , "PAD_SV" , "PAD_SVl" ,

“SAVECLEARSV” , “SAVECOMPPAD” , “SAVEPADSV” #

 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_2bool" , "sv_2bool_flags" , "sv_2num" ,
     "sv_2pvbyte_nolen" , "sv_2pvutf8_nolen" , "sv_2pv_nolen" ,
     "sv_add_arena" , "sv_clean_all" , "sv_clean_objs" , "sv_free_arenas"
     , "sv_grow" , "sv_grow_fresh" , "sv_iv" , "sv_newref" , "sv_nv" ,
     "sv_pv" , "sv_pvbyte" , "sv_pvbyten" , "sv_pvbyten_force" , "sv_pvn"
     , "sv_pvn_force" , "sv_pvutf8" , "sv_pvutf8n" , "sv_pvutf8n_force" ,
     "sv_tainted" , "SvTHINKFIRST" , "sv_true" , "sv_untaint" , "sv_uv"

 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" , "report_uninit" , "utf8n_to_uvuni" ,
     "utf8_to_uvuni" , "utf8_to_uvuni_buf" , "uvoffuni_to_utf8_flags" ,
     "uvuni_to_utf8_flags" , "valid_utf8_to_uvchr" ,
     "variant_under_utf8_count"

 Utility Functions
     "my_popen_list" , "my_socketpair"

 Versioning
 Warning and Dieing
     "PL_dowarn"

XS #

 Undocumented elements

AUTHORS #

SEE ALSO #

ppeerrlliiooll -- CC AAPPII ffoorr PPeerrll’’ss iimmpplleemmeennttaattiioonn ooff IIOO iinn LLaayyeerrss..

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 #

ppeerrllaappiioo -- ppeerrll’’ss IIOO aabbssttrraaccttiioonn iinntteerrffaaccee..

SYNOPSIS #

DESCRIPTION #

     1. USE_STDIO, 2. USE_PERLIO, PPeerrllIIOO__ssttddiinn(()), PPeerrllIIOO__ssttddoouutt(()),
     PPeerrllIIOO__ssttddeerrrr(()), PPeerrllIIOO__ooppeenn((ppaatthh,, mmooddee)), PPeerrllIIOO__ffddooppeenn((ffdd,,mmooddee)),
     PPeerrllIIOO__rreeooppeenn((ppaatthh,,mmooddee,,ff)), PPeerrllIIOO__pprriinnttff((ff,,ffmmtt,,......)),
     PPeerrllIIOO__vvpprriinnttff((ff,,ffmmtt,,aa)), PPeerrllIIOO__ssttddoouuttff((ffmmtt,,......)),
     PPeerrllIIOO__rreeaadd((ff,,bbuuff,,ccoouunntt)), PPeerrllIIOO__wwrriittee((ff,,bbuuff,,ccoouunntt)), PPeerrllIIOO__ffiillll((ff)),
     PPeerrllIIOO__cclloossee((ff)), PPeerrllIIOO__ppuuttss((ff,,ss)), PPeerrllIIOO__ppuuttcc((ff,,cc)),
     PPeerrllIIOO__uunnggeettcc((ff,,cc)), PPeerrllIIOO__uunnrreeaadd((ff,,bbuuff,,ccoouunntt)), PPeerrllIIOO__ggeettcc((ff)),
     PPeerrllIIOO__eeooff((ff)), PPeerrllIIOO__eerrrroorr((ff)), PPeerrllIIOO__ffiilleennoo((ff)), PPeerrllIIOO__cclleeaarreerrrr((ff)),
     PPeerrllIIOO__fflluusshh((ff)), PPeerrllIIOO__sseeeekk((ff,,ooffffsseett,,wwhheennccee)), PPeerrllIIOO__tteellll((ff)),
     PPeerrllIIOO__ggeettppooss((ff,,pp)), PPeerrllIIOO__sseettppooss((ff,,pp)), PPeerrllIIOO__rreewwiinndd((ff)),
     PPeerrllIIOO__ttmmppffiillee(()), PPeerrllIIOO__sseettlliinneebbuuff((ff))

     Co-existence with stdio
         PPeerrllIIOO__iimmppoorrttFFIILLEE((ff,,mmooddee)), PPeerrllIIOO__eexxppoorrttFFIILLEE((ff,,mmooddee)),
         PPeerrllIIOO__rreelleeaasseeFFIILLEE((pp,,ff)), PPeerrllIIOO__ffiinnddFFIILLEE((ff))

     "Fast gets" Functions
         PPeerrllIIOO__ffaasstt__ggeettss((ff)), PPeerrllIIOO__hhaass__ccnnttppttrr((ff)), PPeerrllIIOO__ggeett__ccnntt((ff)),
         PPeerrllIIOO__ggeett__ppttrr((ff)), PPeerrllIIOO__sseett__ppttrrccnntt((ff,,pp,,cc)),
         PPeerrllIIOO__ccaannsseett__ccnntt((ff)), PPeerrllIIOO__sseett__ccnntt((ff,,cc)), PPeerrllIIOO__hhaass__bbaassee((ff)),
         PPeerrllIIOO__ggeett__bbaassee((ff)), PPeerrllIIOO__ggeett__bbuuffssiizz((ff))

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

ppeerrllhhaacckk -- HHooww ttoo hhaacckk oonn PPeerrll

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_/_b_a_s_e, _t_/_c_o_m_p and _t_/_o_p_b_a_s_i_c, 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_/_h_a_r_n_e_s_s 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, _P_o_r_t_i_n_g_/_p_u_m_p_k_i_n_._p_o_d

CPAN TESTERS AND PERL SMOKERS #

WHAT NEXT? #

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

AUTHOR #

ppeerrllssoouurrccee -- AA gguuiiddee ttoo tthhee PPeerrll ssoouurrccee ttrreeee

DESCRIPTION #

FINDING YOUR WAY AROUND #

     C code
     Core modules
         _l_i_b_/, _e_x_t_/, _d_i_s_t_/, _c_p_a_n_/

     Tests
         Module tests, _t_/_b_a_s_e_/, _t_/_c_m_d_/, _t_/_c_o_m_p_/, _t_/_i_o_/, _t_/_m_r_o_/, _t_/_o_p_/,
         _t_/_o_p_b_a_s_i_c_/, _t_/_r_e_/, _t_/_r_u_n_/, _t_/_u_n_i_/, _t_/_w_i_n_3_2_/, _t_/_p_o_r_t_i_n_g_/, _t_/_l_i_b_/

     Documentation
     Hacking tools and documentation
         _c_h_e_c_k_*, _M_a_i_n_t_a_i_n_e_r_s, _M_a_i_n_t_a_i_n_e_r_s_._p_l, and _M_a_i_n_t_a_i_n_e_r_s_._p_m, _p_o_d_t_i_d_y

     Build system

_A_U_T_H_O_R_S #

_M_A_N_I_F_E_S_T #

ppeerrlliinntteerrpp -- AAnn oovveerrvviieeww ooff tthhee PPeerrll iinntteerrpprreetteerr

DESCRIPTION #

ELEMENTS OF THE INTERPRETER #

     Startup
     Parsing
     Optimization
     Running
     Exception handing

INTERNAL VARIABLE TYPES #

OP TREES #

STACKS #

     Argument stack
     Mark stack
     Save stack

MILLIONS OF MACROS #

FURTHER READING #

ppeerrllhhaacckkttuutt -- WWaallkk tthhrroouugghh tthhee ccrreeaattiioonn ooff aa ssiimmppllee CC ccooddee ppaattcchh

DESCRIPTION #

EXAMPLE OF A SIMPLE PATCH #

     Writing the patch
     Testing the patch
     Documenting the patch
     Submit

AUTHOR #

ppeerrllhhaacckkttiippss -- TTiippss ffoorr PPeerrll ccoorree CC ccooddee hhaacckkiinngg

DESCRIPTION #

COMMON PROBLEMS #

     Perl environment problems
     C99 AIX, HP/UX, Solaris

     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 #

ppeerrllppoolliiccyy -- VVaarriioouuss aanndd ssuunnddrryy ppoolliicciieess aanndd ccoommmmiittmmeennttss rreellaatteedd ttoo tthhee PPeerrll ccoorree

DESCRIPTION #

GOVERNANCE #

     Perl 5 Porters

MAINTENANCE AND SUPPORT #

BACKWARD COMPATIBILITY AND DEPRECATION #

     Terminology
         experimental, deprecated, discouraged, removed

MAINTENANCE BRANCHES #

     Getting changes into a maint branch

CONTRIBUTED MODULES #

     A Social Contract about Artistic Control

DOCUMENTATION #

STANDARDS OF CONDUCT #

CREDITS #

ppeerrllggoovv -- PPeerrll RRuulleess ooff GGoovveerrnnaannccee

PREAMBLE #

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

     The Core Team
     The Steering Council
     The Vote Administrator
 Steering Council Members
     Neil Bowers, Paul Evans, 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 Golden
         <xdg@xdg.me>, David Mitchell <davem@iabyn.com>, H. Merijn Brand
         <perl5@tux.freedom.nl>, Hugo van der Sanden <hv@crypt.org>, James
         E Keenan <jkeenan@cpan.org>, Jason McIntosh <jmac@jmac.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>

     Inactive Members
         Abhijit Menon-Sen <ams@toroid.org>, Andy Dougherty
         <doughera@lafayette.edu>, Jan Dubois <jan@jandubois.com>, Jesse
         Vincent <jesse@fsck.com>

ppeerrllggiitt -- DDeettaaiilleedd iinnffoorrmmaattiioonn aabboouutt ggiitt aanndd tthhee PPeerrll rreeppoossiittoorryy

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

ppeerrllhhiisstt -- tthhee PPeerrll hhiissttoorryy rreeccoorrddss

DESCRIPTION #

INTRODUCTION #

THE KEEPERS OF THE PUMPKIN #

PUMPKIN? #

THE RECORDS #

SELECTED RELEASE SIZES #

SELECTED PATCH SIZES #

THE KEEPERS OF THE RECORDS #

ppeerrllddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3366..33

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 #

ppeerrll55336633ddeellttaa,, ppeerrllddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3366..33

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 #

ppeerrll55336622ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3366..22

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 #

ppeerrll55336611ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3366..11

DESCRIPTION #

 Incompatible Changes
 Modules and Pragmata
     Updated Modules and Pragmata
 Configuration and Compilation
 Testing
 Selected Bug Fixes
 Acknowledgements
 Reporting Bugs
 Give Thanks

SEE ALSO #

ppeerrll55336600ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3366..00

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 #

ppeerrll55334433ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3344..33

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 #

ppeerrll55334422ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3344..22

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 #

ppeerrll55334411ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3344..11

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 #

ppeerrll55334400ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3344..00

DESCRIPTION #

 Core Enhancements
     Experimental Try/Catch Syntax
     "qr/{,n}/" is now accepted
 Blanks freely allowed within but adjacent to curly braces
 New octal syntax "0o_d_d_d_d_d"
 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 #

ppeerrll55332211ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3322..11

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 #

ppeerrll55332200ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3322..00

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{_u_s_e_r_-_d_e_f_i_n_e_d}" 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
     _C_o_n_f_i_g_u_r_e
 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 #

ppeerrll55330033ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3300..33

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 #

ppeerrll55330022ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3300..22

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 #

ppeerrll55330011ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3300..11

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 #

ppeerrll55330000ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..3300..00

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 ssyyssrreeaadd(())/ssyysswwrriittee(()) on :utf8 handles is now
     fatal
     mmyy(()) in false conditional prohibited
     Fatalize $* and $#
     Fatalize unqualified use of dduummpp(())
     Remove FFiillee::::GGlloobb::::gglloobb(())
     "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 #

ppeerrll55228833ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2288..33

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 #

ppeerrll55228822ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2288..22

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 #

ppeerrll55228811ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2288..11

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 #

ppeerrll55228800ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2288..00

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

ppeerrll55226633ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2266..33

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 #

ppeerrll55226622ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2266..22

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 #

ppeerrll55226611ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2266..11

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 #

ppeerrll55226600ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2266..00

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{_s_c_r_i_p_t}" 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
         _C_o_n_f_i_g_u_r_e _-_U_d_e_f_a_u_l_t___i_n_c___e_x_c_l_u_d_e_s___d_o_t, "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
     "\c_X" 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
     _c_2_p_h and _p_s_t_r_u_c_t
     _P_o_r_t_i_n_g_/_p_o_d___l_i_b_._p_l
     _P_o_r_t_i_n_g_/_s_y_n_c_-_w_i_t_h_-_c_p_a_n
     _p_e_r_f_/_b_e_n_c_h_m_a_r_k_s
     _P_o_r_t_i_n_g_/_c_h_e_c_k_A_U_T_H_O_R_S_._p_l
     _t_/_p_o_r_t_i_n_g_/_r_e_g_e_n_._t
     _u_t_i_l_s_/_h_2_x_s_._P_L
     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 #

ppeerrll55224444ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2244..44

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 #

ppeerrll55224433ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2244..33

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 #

ppeerrll55224422ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2244..22

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 #

ppeerrll55224411ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2244..11

DESCRIPTION #

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

ppeerrll55224400ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2244..00

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 #

ppeerrll55222244ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2222..44

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 #

ppeerrll55222233ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2222..33

DESCRIPTION #

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

ppeerrll55222222ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2222..22

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 #

ppeerrll55222211ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2222..11

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 #

ppeerrll55222200ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2222..00

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 "\c_X", _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
     _f_i_n_d_2_p_e_r_l, _s_2_p and _a_2_p 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 #

ppeerrll55220033ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2200..33

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 #

ppeerrll55220022ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2200..22

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 #

ppeerrll55220011ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2200..11

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 #

ppeerrll55220000ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..2200..00

DESCRIPTION #

 Core Enhancements
     Experimental Subroutine signatures
     "sub"s now take a "prototype" attribute
     More consistent prototype parsing
     "rand" now uses a consistent random number generator
     New slice syntax
     Experimental Postfix Dereferencing
     Unicode 6.3 now supported
     New "\p{Unicode}" regular expression pattern property
     Better 64-bit support
     "use locale" now works on UTF-8 locales
     "use locale" now compiles on systems without locale ability
     More locale initialization fallback options
     "-DL" runtime option now added for tracing locale setting
     --FF now implies --aa and --aa implies --nn
     $a and $b warnings exemption
 Security
     Avoid possible read of ffrreeee(())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 _e_r_r_n_o_._h
     values over WWSSAAGGeettLLaassttEErrrroorr(()) 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 _d_i_s_c_o_u_r_a_g_e_d
     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 #

ppeerrll55118844ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1188..44

DESCRIPTION #

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

 Selected Bug Fixes
 Acknowledgements
 Reporting Bugs

SEE ALSO #

ppeerrll55118822ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1188..22

DESCRIPTION #

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

SEE ALSO #

ppeerrll55118811ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1188..11

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 #

ppeerrll55118800ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1188..00

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

ppeerrll55116633ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1166..33

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 #

ppeerrll55116622ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1166..22

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 #

ppeerrll55116611ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1166..11

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 #

ppeerrll55116600ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1166..00

DESCRIPTION #

 Notice
 Core Enhancements
     "use _V_E_R_S_I_O_N"

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 _l_i_b_/_u_n_i_c_o_r_e
     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 #

ppeerrll55114444ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1144..44

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.cc::SS__jjooiinn__eexxaacctt(())
     [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 #

ppeerrll55114433ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1144..33

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 #

ppeerrll55114422ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1144..22

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 #

ppeerrll55114411ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1144..11

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 #

ppeerrll55114400ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1144..00

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
     "\c_X"
     "\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 sshhiifftt(()) and ppoopp(()) 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
         _M_E_T_A_/_M_Y_M_E_T_A_._j_s_o_n, 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 bbzziipp22(1), allow _F_o_o_/_B_a_r_._p_m on
         the command line to mean "Foo::Bar", cchhaarriinnffoo(()), cchhaarrssccrriipptt(()),
         cchhaarrbblloocckk(())

     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
     kkeeyyss(()), vvaalluueess(()), and eeaacchh(()) work on arrays
     sspplliitt(()) and @_
 Obituary
 Acknowledgements
 Reporting Bugs

SEE ALSO #

ppeerrll55112255ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1122..55

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
     sspplliitt(()) and @_
 Acknowledgements
 Reporting Bugs

SEE ALSO #

ppeerrll55112244ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1122..44

DESCRIPTION #

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

 Acknowledgements
 Reporting Bugs

SEE ALSO #

ppeerrll55112233ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1122..33

DESCRIPTION #

 Incompatible Changes
 Core Enhancements
     "keys", "values" work on arrays
 Bug Fixes
 Platform Specific Notes
     Solaris, VMS, VOS

 Acknowledgements
 Reporting Bugs

SEE ALSO #

ppeerrll55112222ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1122..22

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 #

ppeerrll55112211ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1122..11

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 #

ppeerrll55112200ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1122..00

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 #

ppeerrll55110011ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..1100..11

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
     _h_2_p_h, _h_2_x_s, _p_e_r_l_5_d_b_._p_l, _p_e_r_l_t_h_a_n_k_s

 New Documentation
     perlhaiku, perlmroapi, perlperf, perlrepository, perlthanks

 Changes to Existing Documentation
 Performance Enhancements
 Installation and Configuration Improvements
     _e_x_t_/ 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 #

ppeerrll55110000ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll 55..1100..00

DESCRIPTION #

 Core Enhancements
     The "feature" pragma
     New --EE 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"
     rreeaaddddiirr(()) may return a "short filename" on Windows
     rreeaaddppiippee(()) is now overridable
     Default argument for rreeaaddlliinnee(())
     ssttaattee(()) variables
     Stacked filetest operators

UUNNIIVVEERRSSAALL::::DDOOEESS(()) #

     Formats
     Byte-order modifiers for ppaacckk(()) and uunnppaacckk(())
     "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 #

     kkiillll(()) on Windows
 Incompatible Changes
     Packing and UTF-8 strings
     Byte/character count feature in uunnppaacckk(())
     The $* and $# variables have been removed
     ssuubbssttrr(()) 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 ddeeffiinneedd(())
     "(?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
     ssoorrtt(()) 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, ssttrrllccaatt(()) and
         ssttrrllccppyy(()), "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 CCOORREE::::rreeqquuiirree(()), Subscripts
     of slices, "no warnings 'category'" works correctly with -w, threads
     improvements, cchhrr(()) 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, ssttuuddyy(()) 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 mmyy(()) in false
     conditional, !=~ should be !~, Newline in left-justified string, Too
     late for "-T" option, "%s" variable %s masks earlier declaration,
     rreeaaddddiirr(())/cclloosseeddiirr(())/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 #

ppeerrll558899ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..99

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
     _p_e_r_l_t_h_a_n_k_s
     _p_e_r_l_b_u_g
     _h_2_x_s
     _h_2_p_h
 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 #

ppeerrll558888ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..88

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

ppeerrll558877ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..77

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 #

ppeerrll558866ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..66

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 #

ppeerrll558855ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..55

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 #

ppeerrll558844ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..44

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 #

ppeerrll558833ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..33

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 #

ppeerrll558822ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..22

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 #

ppeerrll558811ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..11

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 "rreeaadd(()) 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 #

ppeerrll5588ddeellttaa -- wwhhaatt iiss nneeww ffoorr ppeerrll vv55..88..00

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

ppeerrll556611ddeellttaa -- wwhhaatt’’ss nneeww ffoorr ppeerrll vv55..66..11

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),
         ccaalllleerr(()), Bugs in regular expressions, "slurp" mode,
         Autovivification of symbolic references to special variables,
         Lexical warnings, Spurious warnings and errors, gglloobb(()), Tainting,
         ssoorrtt(()), #line directives, Subroutine prototypes, mmaapp(()), Debugger,
         PERL5OPT, cchhoopp(()), 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
     ooppeenn(()) with more than two arguments
     64-bit support
     Large file support
     Long doubles
     "more bits"
     Enhanced support for ssoorrtt(()) 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
     ppaacckk(()) format 'Z' supported
     ppaacckk(()) format modifier '!' supported
     ppaacckk(()) and uunnppaacckk(()) support counted strings
     Comments in ppaacckk(()) templates
     Weak references
     Binary numbers supported
     Lvalue subroutines
     Some arrows may be omitted in calls through references
     Boolean assignment operators are legal lvalues
     eexxiissttss(()) is supported on subroutine names
     eexxiissttss(()) and ddeelleettee(()) 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
     eeooff(()) has the same old magic as <>
     bbiinnmmooddee(()) can be used to set :crlf and :raw modes
     "-T" filetest recognizes UTF-8 encoded files as "text"
     ssyysstteemm(()), backticks and pipe open now reflect eexxeecc(()) failure
     Improved diagnostics
     Diagnostics follow STDERR
     More consistent close-on-exec behavior
     ssyysswwrriittee(()) 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 ssoorrtt(()) using { $a <=> $b } and the like are optimized
     Optimized assignments to lexical variables
     Faster subroutine calls
     ddeelleettee(()), eeaacchh(()), vvaalluueess(()) 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 DDEESSTTRROOYY(())
     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 rreeaalllloocc(()) 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, fflloocckk(()) 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, rreeaalllloocc(()) 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 ooppeenn(()) 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, ddeelleettee(()), eeaacchh(()), vvaalluueess(()) and "\(%h)",
         vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some
         diagnostic output has changed, "%@" has been removed,
         Parenthesized nnoott(()) 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 #

ppeerrll5566ddeellttaa -- wwhhaatt’’ss nneeww ffoorr ppeerrll vv55..66..00

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
     ooppeenn(()) with more than two arguments
     64-bit support
     Large file support
     Long doubles
     "more bits"
     Enhanced support for ssoorrtt(()) 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
     ppaacckk(()) format 'Z' supported
     ppaacckk(()) format modifier '!' supported
     ppaacckk(()) and uunnppaacckk(()) support counted strings
     Comments in ppaacckk(()) templates
     Weak references
     Binary numbers supported
     Lvalue subroutines
     Some arrows may be omitted in calls through references
     Boolean assignment operators are legal lvalues
     eexxiissttss(()) is supported on subroutine names
     eexxiissttss(()) and ddeelleettee(()) 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
     eeooff(()) has the same old magic as <>
     bbiinnmmooddee(()) can be used to set :crlf and :raw modes
     "-T" filetest recognizes UTF-8 encoded files as "text"
     ssyysstteemm(()), backticks and pipe open now reflect eexxeecc(()) failure
     Improved diagnostics
     Diagnostics follow STDERR
     More consistent close-on-exec behavior
     ssyysswwrriittee(()) 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 ssoorrtt(()) using { $a <=> $b } and the like are optimized
     Optimized assignments to lexical variables
     Faster subroutine calls
     ddeelleettee(()), eeaacchh(()), vvaalluueess(()) 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 DDEESSTTRROOYY(())
     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 rreeaalllloocc(()) 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, fflloocckk(()) 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, rreeaalllloocc(()) 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 ooppeenn(()) 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, ddeelleettee(()), eeaacchh(()), vvaalluueess(()) and "\(%h)",
         vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some
         diagnostic output has changed, "%@" has been removed,
         Parenthesized nnoott(()) 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 #

ppeerrll55000055ddeellttaa -- wwhhaatt’’ss nneeww ffoorr ppeerrll55..000055

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 mmaalllloocc(())
     Quicksort is internally implemented
     Reliable signals
     Reliable stack pointers
     More generous treatment of carriage returns
     Memory leaks
     Better support for multiple interpreters
     Behavior of llooccaall(()) 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
     pprroottoottyyppee(()) returns useful results on builtins
     Extended support for exception handling
     Re-blessing in DDEESSTTRROOYY(()) supported for chaining DDEESSTTRROOYY(()) 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 mmkktteemmpp(()), Can't write to temp file for --ee: %s, Cannot open
     temporary file, regexp too big

 Configuration Changes

BUGS #

SEE ALSO #

HISTORY #

ppeerrll55000044ddeellttaa -- wwhhaatt’’ss nneeww ffoorr ppeerrll55..000044

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 --MM, --mm, and --TT 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 gglloobb(()) 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,
         mmyy(()) in Control Structures, ppaacckk(()) and uunnppaacckk(()), ssyysssseeeekk(()), 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 qqww(()) 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 "--TT" 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 ddeeffiinneedd(()), 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 #

ppeerrllbbooookk -- BBooookkss aabboouutt aanndd rreellaatteedd ttoo PPeerrll

DESCRIPTION #

     The most popular books
         _P_r_o_g_r_a_m_m_i_n_g _P_e_r_l (the "Camel Book"):, _T_h_e _P_e_r_l _C_o_o_k_b_o_o_k (the "Ram
         Book"):, _L_e_a_r_n_i_n_g _P_e_r_l  (the "Llama Book"), _I_n_t_e_r_m_e_d_i_a_t_e _P_e_r_l
         (the "Alpaca Book")

     References
         _P_e_r_l _5 _P_o_c_k_e_t _R_e_f_e_r_e_n_c_e, _P_e_r_l _D_e_b_u_g_g_e_r _P_o_c_k_e_t _R_e_f_e_r_e_n_c_e, _R_e_g_u_l_a_r
         _E_x_p_r_e_s_s_i_o_n _P_o_c_k_e_t _R_e_f_e_r_e_n_c_e

     Tutorials
         _B_e_g_i_n_n_i_n_g _P_e_r_l, _L_e_a_r_n_i_n_g _P_e_r_l (the "Llama Book"), _I_n_t_e_r_m_e_d_i_a_t_e
         _P_e_r_l (the "Alpaca Book"), _M_a_s_t_e_r_i_n_g _P_e_r_l, _E_f_f_e_c_t_i_v_e _P_e_r_l
         _P_r_o_g_r_a_m_m_i_n_g

     Task-Oriented
         _W_r_i_t_i_n_g _P_e_r_l _M_o_d_u_l_e_s _f_o_r _C_P_A_N, _T_h_e _P_e_r_l _C_o_o_k_b_o_o_k, _A_u_t_o_m_a_t_i_n_g
         _S_y_s_t_e_m _A_d_m_i_n_i_s_t_r_a_t_i_o_n _w_i_t_h _P_e_r_l, _R_e_a_l _W_o_r_l_d _S_Q_L _S_e_r_v_e_r
         _A_d_m_i_n_i_s_t_r_a_t_i_o_n _w_i_t_h _P_e_r_l

     Special Topics
         _R_e_g_u_l_a_r _E_x_p_r_e_s_s_i_o_n_s _C_o_o_k_b_o_o_k, _P_r_o_g_r_a_m_m_i_n_g _t_h_e _P_e_r_l _D_B_I, _P_e_r_l _B_e_s_t
         _P_r_a_c_t_i_c_e_s, _H_i_g_h_e_r_-_O_r_d_e_r _P_e_r_l, _M_a_s_t_e_r_i_n_g _R_e_g_u_l_a_r _E_x_p_r_e_s_s_i_o_n_s,
         _N_e_t_w_o_r_k _P_r_o_g_r_a_m_m_i_n_g _w_i_t_h _P_e_r_l, _P_e_r_l _T_e_m_p_l_a_t_e _T_o_o_l_k_i_t, _O_b_j_e_c_t
         _O_r_i_e_n_t_e_d _P_e_r_l, _D_a_t_a _M_u_n_g_i_n_g _w_i_t_h _P_e_r_l, _M_a_s_t_e_r_i_n_g _P_e_r_l_/_T_k,
         _E_x_t_e_n_d_i_n_g _a_n_d _E_m_b_e_d_d_i_n_g _P_e_r_l, _P_r_o _P_e_r_l _D_e_b_u_g_g_i_n_g

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

     A note on freshness
     Get your book listed

ppeerrllccoommmmuunniittyy -- aa bbrriieeff oovveerrvviieeww ooff tthhee PPeerrll ccoommmmuunniittyy

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/>,
         <http://prepan.org/>

     User Groups
     Workshops
     Hackathons
     Conventions
         The Perl Conference, OSCON

     Calendar of Perl Events

AUTHOR #

ppeerrllddoocc -- LLooookk uupp PPeerrll ddooccuummeennttaattiioonn iinn PPoodd ffoorrmmaatt..

SYNOPSIS #

DESCRIPTION #

OPTIONS #

     --hh, --DD, --tt, --uu, --mm _m_o_d_u_l_e, --ll, --UU, --FF, --ff _p_e_r_l_f_u_n_c, --qq _p_e_r_l_f_a_q_-
     _s_e_a_r_c_h_-_r_e_g_e_x_p, --aa _p_e_r_l_a_p_i_f_u_n_c, --vv _p_e_r_l_v_a_r, --TT, --dd _d_e_s_t_i_n_a_t_i_o_n_-
     _f_i_l_e_n_a_m_e, --oo _o_u_t_p_u_t_-_f_o_r_m_a_t_n_a_m_e, --MM _m_o_d_u_l_e_-_n_a_m_e, --ww _o_p_t_i_o_n_:_v_a_l_u_e or --ww
     _o_p_t_i_o_n, --XX, --LL _l_a_n_g_u_a_g_e___c_o_d_e, PPaaggeeNNaammee||MMoodduulleeNNaammee||PPrrooggrraammNNaammee||UURRLL, --nn
     _s_o_m_e_-_f_o_r_m_a_t_t_e_r, --rr, --ii, --VV

SECURITY #

ENVIRONMENT #

CHANGES #

SEE ALSO #

AUTHOR #

ppeerrlleexxppeerriimmeenntt -- AA lliissttiinngg ooff eexxppeerriimmeennttaall ffeeaattuurreess iinn PPeerrll

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, ffoorrkk(()) 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 #

LICENSE #

ppeerrllaarrttiissttiicc -- tthhee PPeerrll AArrttiissttiicc LLiicceennssee

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)

ppeerrllggppll -- tthhee GGNNUU GGeenneerraall PPuubblliicc LLiicceennssee,, vveerrssiioonn 11

SYNOPSIS #

DESCRIPTION #

GNU GENERAL PUBLIC LICENSE #

ppeerrllaaiixx -- PPeerrll vveerrssiioonn 55 oonn IIBBMM AAIIXX ((UUNNIIXX)) ssyysstteemmss

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 #

ppeerrllaammiiggaa -- PPeerrll uunnddeerr AAmmiiggaaOOSS 44..11

NOTE #

SYNOPSIS #

DESCRIPTION #

     Prerequisites for running Perl 5.22.1 under AmigaOS 4.1
         AAmmiiggaaOOSS 44..11 uuppddaattee 66 wwiitthh aallll uuppddaatteess aapppplliieedd aass ooff 99tthh OOccttoobbeerr
         22001133, nneewwlliibb..lliibbrraarryy vveerrssiioonn 5533..2288 oorr ggrreeaatteerr, AAmmiiggaaOOSS SSDDKK, aabbcc--
         sshheellll

     Starting Perl programs under AmigaOS 4.1
     Limitations of Perl under AmigaOS 4.1
         NNeesstteedd PPiippeedd pprrooggrraammss ccaann ccrraasshh wwhheenn rruunn ffrroomm oollddeerr aabbcc--sshheellllss,
         IInnccoorrrreecctt oorr uunneexxppeecctteedd ccoommmmaanndd lliinnee uunneessccaappiinngg, SSttaarrttiinngg
         ssuubbpprroocceesssseess vviiaa ooppeenn hhaass lliimmiittaattiioonnss, If you find any other
         limitations or bugs then let me know

INSTALLATION #

 Amiga Specific Modules
     Amiga::ARexx
     Amiga::Exec

BUILDING #

CHANGES #

     AAuugguusstt 22001155, Port to Perl 5.22, Add handling of NIL: to aaffssttaatt(()), 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 fflloocckk(()) emulation using
     IDOS->LockRecord thanks to Tony Cook for the suggestion, Fix issue
     where kill was using the wrong kind of process ID, 2277tthh NNoovveemmbbeerr
     22001133, 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, 2200tthh
     NNoovveemmbbeerr 22001133, Configured to use SDK:Local/C/perl to start standard
     scripts, Added Amiga::Exec module with support for WWaaiitt(()) and AmigaOS
     signal numbers, 1100tthh OOccttoobbeerr 1133

SEE ALSO #

ppeerrllaannddrrooiidd -- PPeerrll uunnddeerr AAnnddrrooiidd

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 #

ppeerrllbbss22000000 -- bbuuiillddiinngg aanndd iinnssttaalllliinngg PPeerrll ffoorr BBSS22000000..

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 #

ppeerrllccyyggwwiinn -- PPeerrll ffoorr CCyyggwwiinn

SYNOPSIS #

PREREQUISITES FOR COMPILING PERL ON CYGWIN #

     Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it)
     Cygwin Configuration
         "PATH", _n_r_o_f_f

CONFIGURE PERL ON CYGWIN #

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

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

     Suspicious Warnings on Cygwin
         Win9x and "d_eofnblk", Compiler/Preprocessor defines

MAKE ON CYGWIN #

TEST ON CYGWIN #

     File Permissions on Cygwin
     NDBM_File and ODBM_File do not work on FAT filesystems
     "fork()" failures in io_* tests
 Specific features of the Cygwin port
     Script Portability on Cygwin
         Pathnames, Text/Binary, PerlIO, _._e_x_e, Cygwin vs. Windows process
         ids, Cygwin vs. Windows errors, rebase errors on fork or system,
         "chown()", Miscellaneous

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

INSTALL PERL ON CYGWIN #

MANIFEST ON CYGWIN #

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

BUGS ON CYGWIN #

AUTHORS #

HISTORY #

ppeerrllffrreeeebbssdd -- PPeerrll vveerrssiioonn 55 oonn FFrreeeeBBSSDD ssyysstteemmss

DESCRIPTION #

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

AUTHOR #

ppeerrllhhaaiikkuu -- PPeerrll vveerrssiioonn 55..1100++ oonn HHaaiikkuu

DESCRIPTION #

BUILD AND INSTALL #

KNOWN PROBLEMS #

CONTACT #

ppeerrllhhppuuxx -- PPeerrll vveerrssiioonn 55 oonn HHeewwlleetttt--PPaacckkaarrdd UUnniixx ((HHPP--UUXX)) ssyysstteemmss

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

ppeerrllhhuurrdd -- PPeerrll vveerrssiioonn 55 oonn HHuurrdd

DESCRIPTION #

     Known Problems with Perl on Hurd

AUTHOR #

ppeerrlliirriixx -- PPeerrll vveerrssiioonn 55 oonn IIrriixx ssyysstteemmss

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 #

ppeerrlllliinnuuxx -- PPeerrll vveerrssiioonn 55 oonn LLiinnuuxx ssyysstteemmss

DESCRIPTION #

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

AUTHOR #

ppeerrllmmaaccoossxx -- PPeerrll uunnddeerr MMaacc OOSS XX

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 #

ppeerrllooppeennbbssdd -- PPeerrll vveerrssiioonn 55 oonn OOppeennBBSSDD ssyysstteemmss

DESCRIPTION #

     OpenBSD core dumps from getprotobyname_r and getservbyname_r with
     ithreads

AUTHOR #

ppeerrllooss22 -- PPeerrll uunnddeerr OOSS//22,, DDOOSS,, WWiinn00..33,, WWiinn00..9955 aanndd WWiinnNNTT..

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 _p_e_r_l_._d_l_l 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", _C_o_n_f_i_g_._p_m

     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 _._I_N_F
         format, Pdksh

     WWaarrnniinngg
 Accessing documentation
     OS/2 _._I_N_F file
     Plain text
     Manpages

HTML #

     GNU "info" files
     _P_D_F 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,
         _o_p_/_f_s_._t, 18, 25, _o_p_/_s_t_a_t_._t

     Installing the built perl
     "a.out"-style build
 Building a binary distribution
 Building custom _._E_X_E 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)", OOSS22::::SSyyssIInnffoo(()), OOSS22::::BBoooottDDrriivvee(()),
         "OS2::MorphPM(serve)", "OS2::UnMorphPM(serve)",
         "OS2::Serve_Messages(force)", "OS2::Process_Messages(force [,
         cnt])", "OS2::_control87(new,mask)", OOSS22::::ggeett__ccoonnttrrooll8877(()),
         "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
     _p_e_r_l_._e_x_e
     _p_e_r_l___._e_x_e
     _p_e_r_l_____._e_x_e
     _p_e_r_l_______._e_x_e
     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", _o_s_2_._c

BUGS #

AUTHOR #

SEE ALSO #

ppeerrllooss339900 -- bbuuiillddiinngg aanndd iinnssttaalllliinngg PPeerrll ffoorr zz//OOSS ((pprreevviioouussllyy ccaalllleedd

OOSS//339900)) #

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 #

ppeerrllooss440000 -- PPeerrll vveerrssiioonn 55 oonn OOSS//440000

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 #

ppeerrllppllaann99 -- PPllaann 99--ssppeecciiffiicc ddooccuummeennttaattiioonn ffoorr PPeerrll

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 #

ppeerrllqqnnxx -- PPeerrll vveerrssiioonn 55 oonn QQNNXX

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 #

ppeerrllrriissccooss -- PPeerrll vveerrssiioonn 55 ffoorr RRIISSCC OOSS

DESCRIPTION #

BUILD #

AUTHOR #

ppeerrllssoollaarriiss -- PPeerrll vveerrssiioonn 55 oonn SSoollaarriiss ssyysstteemmss

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 #

ppeerrllssyynnoollooggyy -- PPeerrll 55 oonn SSyynnoollooggyy DDSSMM ssyysstteemmss

DESCRIPTION #

     Setting up the build environment
     Compiling Perl 5
     Known problems
         Error message "No error definitions found",
         _e_x_t_/_D_y_n_a_L_o_a_d_e_r_/_t_/_D_y_n_a_L_o_a_d_e_r_._t

     Smoke testing Perl 5
     Adding libraries

REVISION #

AUTHOR #

ppeerrllttrruu6644 -- PPeerrll vveerrssiioonn 55 oonn TTrruu6644 ((ffoorrmmeerrllyy kknnoowwnn aass DDiiggiittaall UUNNIIXX ffoorrmmeerrllyy kknnoowwnn aass DDEECC OOSSFF//11)) ssyysstteemmss

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 #

ppeerrllvvmmss -- VVMMSS--ssppeecciiffiicc ddooccuummeennttaattiioonn ffoorr PPeerrll

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 #

ppeerrllvvooss -- PPeerrll ffoorr SSttrraattuuss OOppeennVVOOSS

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 #

ppeerrllwwiinn3322 -- PPeerrll uunnddeerr WWiinnddoowwss

SYNOPSIS #

DESCRIPTION #

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

     Setting Up Perl on Windows
         Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++
         2013-2022 Community Edition, 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 #

ppeerrllbboooott -- LLiinnkkss ttoo iinnffoorrmmaattiioonn oonn oobbjjeecctt--oorriieenntteedd pprrooggrraammmmiinngg iinn PPeerrll

DESCRIPTION #

ppeerrllbboott -- LLiinnkkss ttoo iinnffoorrmmaattiioonn oonn oobbjjeecctt--oorriieenntteedd pprrooggrraammmmiinngg iinn PPeerrll

DESCRIPTION #

ppeerrllrreeppoossiittoorryy -- LLiinnkkss ttoo ccuurrrreenntt iinnffoorrmmaattiioonn oonn tthhee PPeerrll ssoouurrccee rreeppoossiittoorryy

DESCRIPTION #

ppeerrllttooddoo -- LLiinnkk ttoo tthhee PPeerrll ttoo--ddoo lliisstt

DESCRIPTION #

ppeerrllttoooocc -- LLiinnkkss ttoo iinnffoorrmmaattiioonn oonn oobbjjeecctt--oorriieenntteedd pprrooggrraammmmiinngg iinn PPeerrll

DESCRIPTION #

ppeerrllttoooott -- LLiinnkkss ttoo iinnffoorrmmaattiioonn oonn oobbjjeecctt--oorriieenntteedd pprrooggrraammmmiinngg iinn PPeerrll

DESCRIPTION #

PPRRAAGGMMAA DDOOCCUUMMEENNTTAATTIIOONN #

aattttrriibbuutteess -- ggeett//sseett ssuubbrroouuttiinnee oorr vvaarriiaabbllee aattttrriibbuutteess

SYNOPSIS #

DESCRIPTION #

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

     Available Subroutines
         get, reftype

     Package-specific Attribute Handling
         FETCH__t_y_p_e_ATTRIBUTES, MODIFY__t_y_p_e_ATTRIBUTES

     Syntax of Attribute Lists

EXPORTS #

     Default exports
     Available exports
     Export tags defined

EXAMPLES #

MORE EXAMPLES #

SEE ALSO #

aauuttooddiiee -- RReeppllaaccee ffuunnccttiioonnss wwiitthh oonneess tthhaatt ssuucccceeeedd oorr ddiiee wwiitthh lleexxiiccaall ssccooppee

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 #

aauuttooddiiee::::SSccooppee::::GGuuaarrdd -- WWrraappppeerr ccllaassss ffoorr ccaalllliinngg ssuubbss aatt eenndd ooff ssccooppee

SYNOPSIS #

DESCRIPTION #

     Methods

AUTHOR #

LICENSE #

aauuttooddiiee::::SSccooppee::::GGuuaarrddSSttaacckk -- HHooookk ssttaacckk ffoorr mmaannaaggiinngg ssccooppeess vviiaa %%^^HH

SYNOPSIS #

DESCRIPTION #

     Methods

AUTHOR #

LICENSE #

aauuttooddiiee::::UUttiill -- IInntteerrnnaall UUttiilliittyy ssuubbrroouuttiinneess ffoorr aauuttooddiiee aanndd FFaattaall

SYNOPSIS #

DESCRIPTION #

     Methods

AUTHOR #

LICENSE #

aauuttooddiiee::::eexxcceeppttiioonn -- EExxcceeppttiioonnss ffrroomm aauuttooddyyiinngg ffuunnccttiioonnss..

SYNOPSIS #

DESCRIPTION #

     Common Methods
 Advanced methods

SEE ALSO #

LICENSE #

AUTHOR #

aauuttooddiiee::::eexxcceeppttiioonn::::ssyysstteemm -- EExxcceeppttiioonnss ffrroomm aauuttooddyyiinngg ssyysstteemm(())..

SYNOPSIS #

DESCRIPTION #

 stringify

LICENSE #

AUTHOR #

aauuttooddiiee::::hhiinnttss -- PPrroovviiddee hhiinnttss aabboouutt uusseerr ssuubbrroouuttiinneess ttoo aauuttooddiiee

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 #

aauuttooddiiee::::sskkiipp -- SSkkiipp aa ppaacckkaaggee wwhheenn tthhrroowwiinngg aauuttooddiiee eexxcceeppttiioonnss

SYNPOSIS #

DESCRIPTION #

AUTHOR #

LICENSE #

SEE ALSO #

aauuttoouussee -- ppoossttppoonnee llooaadd ooff mmoodduulleess uunnttiill aa ffuunnccttiioonn iiss uusseedd

SYNOPSIS #

DESCRIPTION #

WARNING #

AUTHOR #

SEE ALSO #

bbaassee -- EEssttaabblliisshh aann IISSAA rreellaattiioonnsshhiipp wwiitthh bbaassee ccllaasssseess aatt ccoommppiillee ttiimmee

SYNOPSIS #

DESCRIPTION #

DIAGNOSTICS #

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

HISTORY #

CAVEATS #

SEE ALSO #

bbiiggffllooaatt -- ttrraannssppaarreenntt bbiigg ffllooaattiinngg ppooiinntt nnuummbbeerr ssuuppppoorrtt ffoorr PPeerrll

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
         iinnff(()), NNaaNN(()), e, PI, bbeexxpp(()), bbppii(()), aaccccuurraaccyy(()), pprreecciissiioonn(()),
         rroouunndd__mmooddee(()), ddiivv__ssccaallee(()), uuppggrraaddee(()), ddoowwnnggrraaddee(()), iinn__eeffffeecctt(())

CAVEATS #

     Hexadecimal, octal, and binary floating point literals, Operator vs
     literal overloading, Ranges, iinn__eeffffeecctt(()), hheexx(())/oocctt(())

EXAMPLES #

BUGS #

SUPPORT #

     GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix,
     CPAN Ratings

LICENSE #

SEE ALSO #

AUTHORS #

bbiiggiinntt -- ttrraannssppaarreenntt bbiigg iinntteeggeerr ssuuppppoorrtt ffoorr PPeerrll

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
         iinnff(()), NNaaNN(()), e, PI, bbeexxpp(()), bbppii(()), aaccccuurraaccyy(()), pprreecciissiioonn(()),
         rroouunndd__mmooddee(()), ddiivv__ssccaallee(()), iinn__eeffffeecctt(())

CAVEATS #

     Hexadecimal, octal, and binary floating point literals, Operator vs
     literal overloading, Ranges, iinn__eeffffeecctt(()), hheexx(())/oocctt(())

EXAMPLES #

BUGS #

SUPPORT #

     GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix,
     CPAN Ratings

LICENSE #

SEE ALSO #

AUTHORS #

bbiiggnnuumm -- ttrraannssppaarreenntt bbiigg nnuummbbeerr ssuuppppoorrtt ffoorr PPeerrll

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
         iinnff(()), NNaaNN(()), e, PI, bbeexxpp(()), bbppii(()), aaccccuurraaccyy(()), pprreecciissiioonn(()),
         rroouunndd__mmooddee(()), ddiivv__ssccaallee(()), uuppggrraaddee(()), ddoowwnnggrraaddee(()), iinn__eeffffeecctt(())

CAVEATS #

     The uuppggrraaddee(()) and ddoowwnnggrraaddee(()) methods, Hexadecimal, octal, and binary
     floating point literals, Operator vs literal overloading, Ranges,
     iinn__eeffffeecctt(()), hheexx(())/oocctt(())

EXAMPLES #

BUGS #

SUPPORT #

     GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix,
     CPAN Ratings

LICENSE #

SEE ALSO #

AUTHORS #

bbiiggrraatt -- ttrraannssppaarreenntt bbiigg rraattiioonnaall nnuummbbeerr ssuuppppoorrtt ffoorr PPeerrll

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
         iinnff(()), NNaaNN(()), e, PI, bbeexxpp(()), bbppii(()), aaccccuurraaccyy(()), pprreecciissiioonn(()),
         rroouunndd__mmooddee(()), ddiivv__ssccaallee(()), iinn__eeffffeecctt(())

CAVEATS #

     Hexadecimal, octal, and binary floating point literals, Operator vs
     literal overloading, Ranges, iinn__eeffffeecctt(()), hheexx(())/oocctt(())

EXAMPLES #

BUGS #

SUPPORT #

     GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix,
     CPAN Ratings

LICENSE #

SEE ALSO #

AUTHORS #

bblliibb -- UUssee MMaakkeeMMaakkeerr’’ss uunniinnssttaalllleedd vveerrssiioonn ooff aa ppaacckkaaggee

SYNOPSIS #

DESCRIPTION #

BUGS #

AUTHOR #

bbuuiillttiinn -- PPeerrll pprraaggmmaa ttoo iimmppoorrtt bbuuiilltt--iinn uuttiilliittyy ffuunnccttiioonnss

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

SEE ALSO #

bbyytteess -- PPeerrll pprraaggmmaa ttoo eexxppoossee tthhee iinnddiivviidduuaall bbyytteess ooff cchhaarraacctteerrss

NOTICE #

SYNOPSIS #

DESCRIPTION #

LIMITATIONS #

SEE ALSO #

cchhaarrnnaammeess -- aacccceessss ttoo UUnniiccooddee cchhaarraacctteerr nnaammeess aanndd nnaammeedd cchhaarraacctteerr sseeqquueenncceess;; aallssoo ddeeffiinnee cchhaarraacctteerr nnaammeess

SYNOPSIS #

DESCRIPTION #

LOOSE MATCHES #

ALIASES #

CUSTOM ALIASES #

 charnames::string_vianame(_n_a_m_e)
 charnames::vianame(_n_a_m_e)
 charnames::viacode(_c_o_d_e)

CUSTOM TRANSLATORS #

BUGS #

ccoonnssttaanntt -- PPeerrll pprraaggmmaa ttoo ddeeccllaarree ccoonnssttaannttss

SYNOPSIS #

DESCRIPTION #

NOTES #

     List constants
     Defining multiple constants at once
     Magic constants

TECHNICAL NOTES #

CAVEATS #

SEE ALSO #

BUGS #

AUTHORS #

ddeepprreeccaattee -- PPeerrll pprraaggmmaa ffoorr ddeepprreeccaattiinngg tthhee iinncclluussiioonn ooff aa mmoodduullee iinn ccoorree

SYNOPSIS #

DESCRIPTION #

     Important Caveat

EXPORT #

SEE ALSO #

AUTHOR #

ddiiaaggnnoossttiiccss,, ssppllaaiinn -- pprroodduuccee vveerrbboossee wwaarrnniinngg ddiiaaggnnoossttiiccss

SYNOPSIS #

DESCRIPTION #

     The "diagnostics" Pragma
     The _s_p_l_a_i_n Program

EXAMPLES #

INTERNALS #

BUGS #

AUTHOR #

eennccooddiinngg -- aalllloowwss yyoouu ttoo wwrriittee yyoouurr ssccrriipptt iinn nnoonn--AASSCCIIII aanndd nnoonn--UUTTFF--88

WARNING #

SYNOPSIS #

DESCRIPTION #

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

OPTIONS #

     Setting "STDIN" and/or "STDOUT" individually
     The ":locale" sub-pragma

CAVEATS #

SIDE EFFECTS #

DO NOT MIX MULTIPLE ENCODINGS #

     Prior to Perl v5.22
     Prior to Encode version 1.87
     Prior to Perl v5.8.1
         "NON-EUC" doublebyte encodings, "tr///", Legend of characters
         above

 EXAMPLE - Greekperl

BUGS #

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

HISTORY #

SEE ALSO #

eennccooddiinngg::::wwaarrnniinnggss -- WWaarrnn oonn iimmpplliicciitt eennccooddiinngg ccoonnvveerrssiioonnss

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 SSTTDDIINN and SSTTDDOOUUTT, Literal
         conversions, Implicit upgrading for byte-strings

CAVEATS #

SEE ALSO #

AUTHORS #

eexxppeerriimmeennttaall -- EExxppeerriimmeennttaall ffeeaattuurreess mmaaddee eeaassyy

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

ffeeaattuurree -- PPeerrll pprraaggmmaa ttoo eennaabbllee nneeww ffeeaattuurreess

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

FEATURE BUNDLES #

IMPLICIT LOADING #

CHECKING FEATURES #

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

ffiieellddss -- ccoommppiillee--ttiimmee ccllaassss ffiieellddss

SYNOPSIS #

DESCRIPTION #

     new, phash

SEE ALSO #

ffiilleetteesstt -- PPeerrll pprraaggmmaa ttoo ccoonnttrrooll tthhee ffiilleetteesstt ppeerrmmiissssiioonn ooppeerraattoorrss

SYNOPSIS #

DESCRIPTION #

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

iiff -- “"uussee"” aa PPeerrll mmoodduullee iiff aa ccoonnddiittiioonn hhoollddss

SYNOPSIS #

DESCRIPTION #

     "use if"
     "no if"

BUGS #

SEE ALSO #

AUTHOR #

iinntteeggeerr -- PPeerrll pprraaggmmaa ttoo uussee iinntteeggeerr aarriitthhmmeettiicc iinnsstteeaadd ooff ffllooaattiinngg ppooiinntt

SYNOPSIS #

DESCRIPTION #

lleessss -- ppeerrll pprraaggmmaa ttoo rreeqquueesstt lleessss ooff ssoommeetthhiinngg

SYNOPSIS #

DESCRIPTION #

FOR MODULE AUTHORS #

     "BOOLEAN = less->of( FEATURE )"
     "FEATURES = less->of()"

CAVEATS #

     This probably does nothing, This works only on 5.10+

lliibb -- mmaanniippuullaattee @@IINNCC aatt ccoommppiillee ttiimmee

SYNOPSIS #

DESCRIPTION #

     Adding directories to @INC
     Deleting directories from @INC
     Restoring original @INC

CAVEATS #

NOTES #

SEE ALSO #

AUTHOR #

llooccaallee -- PPeerrll pprraaggmmaa ttoo uussee oorr aavvooiidd PPOOSSIIXX llooccaalleess ffoorr bbuuiilltt--iinn ooppeerraattiioonnss

WARNING #

SYNOPSIS #

DESCRIPTION #

mmrroo -- MMeetthhoodd RReessoolluuttiioonn OOrrddeerr

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)
     mmrroo::::iinnvvaalliiddaattee__aallll__mmeetthhoodd__ccaacchheess(())
     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 #

ookk -- AAlltteerrnnaattiivvee ttoo TTeesstt::::MMoorree::::uussee__ookk

SYNOPSIS #

DESCRIPTION #

 CC0 1.0 Universal

ooppeenn -- ppeerrll pprraaggmmaa ttoo sseett ddeeffaauulltt PPeerrllIIOO llaayyeerrss ffoorr iinnppuutt aanndd oouuttppuutt

SYNOPSIS #

DESCRIPTION #

IMPLEMENTATION DETAILS #

SEE ALSO #

ooppss -- PPeerrll pprraaggmmaa ttoo rreessttrriicctt uunnssaaffee ooppeerraattiioonnss wwhheenn ccoommppiilliinngg

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

oovveerrllooaadd -- PPaacckkaaggee ffoorr oovveerrllooaaddiinngg PPeerrll ooppeerraattiioonnss

SYNOPSIS #

DESCRIPTION #

     Fundamentals
     Overloadable Operations
         "not", "neg", "++", "--", _A_s_s_i_g_n_m_e_n_t_s, _N_o_n_-_m_u_t_a_t_o_r_s _w_i_t_h _a
         _m_u_t_a_t_o_r _v_a_r_i_a_n_t, "int", _S_t_r_i_n_g_, _n_u_m_e_r_i_c_, _b_o_o_l_e_a_n_, _a_n_d _r_e_g_e_x_p
         _c_o_n_v_e_r_s_i_o_n_s, _I_t_e_r_a_t_i_o_n, _F_i_l_e _t_e_s_t_s, _M_a_t_c_h_i_n_g, _D_e_r_e_f_e_r_e_n_c_i_n_g,
         _S_p_e_c_i_a_l

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

oovveerrllooaaddiinngg -- ppeerrll pprraaggmmaa ttoo lleexxiiccaallllyy ccoonnttrrooll oovveerrllooaaddiinngg

SYNOPSIS #

DESCRIPTION #

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

ppaarreenntt -- EEssttaabblliisshh aann IISSAA rreellaattiioonnsshhiipp wwiitthh bbaassee ccllaasssseess aatt ccoommppiillee ttiimmee

SYNOPSIS #

DESCRIPTION #

HISTORY #

CAVEATS #

SEE ALSO #

     base, parent::versioned

AUTHORS AND CONTRIBUTORS #

MAINTAINER #

LICENSE #

rree -- PPeerrll pprraaggmmaa ttoo aalltteerr rreegguullaarr eexxpprreessssiioonn bbeehhaavviioouurr

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), rreeggnnaammeess__ccoouunntt(()), 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 #

ssiiggttrraapp -- PPeerrll pprraaggmmaa ttoo eennaabbllee ssiimmppllee ssiiggnnaall hhaannddlliinngg

SYNOPSIS #

DESCRIPTION #

OPTIONS #

SIGNAL HANDLERS #

         ssttaacckk--ttrraaccee, ddiiee, hhaannddlleerr _y_o_u_r_-_h_a_n_d_l_e_r

SIGNAL LISTS #

         nnoorrmmaall--ssiiggnnaallss, eerrrroorr--ssiiggnnaallss, oolldd--iinntteerrffaaccee--ssiiggnnaallss

OTHER #

         uunnttrraappppeedd, aannyy, _s_i_g_n_a_l, _n_u_m_b_e_r

EXAMPLES #

ssoorrtt -- ppeerrll pprraaggmmaa ttoo ccoonnttrrooll ssoorrtt(()) bbeehhaavviioouurr

SYNOPSIS #

DESCRIPTION #

CAVEATS #

ssttrriicctt -- PPeerrll pprraaggmmaa ttoo rreessttrriicctt uunnssaaffee ccoonnssttrruuccttss

SYNOPSIS #

DESCRIPTION #

     "strict refs", "strict vars", "strict subs"

HISTORY #

ssuubbss -- PPeerrll pprraaggmmaa ttoo pprreeddeeccllaarree ssuubbrroouuttiinnee nnaammeess

SYNOPSIS #

DESCRIPTION #

tthhrreeaaddss -- PPeerrll iinntteerrpprreetteerr--bbaasseedd tthhrreeaaddss

VERSION #

WARNING #

SYNOPSIS #

DESCRIPTION #

     $thr = threads->create(FUNCTION, ARGS), $thr->jjooiinn(()), $thr->ddeettaacchh(()),
     threads->ddeettaacchh(()), threads->sseellff(()), $thr->ttiidd(()), threads->ttiidd(()),
     "$thr", threads->object($tid), threads->yyiieelldd(()), threads->lliisstt(()),
     threads->list(threads::all), threads->list(threads::running),
     threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;,
     $thr->eerrrroorr(()), $thr->__hhaannddllee(()), threads->__hhaannddllee(())

EXITING A THREAD #

     threads->eexxiitt(()), threads->exit(status), ddiiee(()), 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->iiss__rruunnnniinngg(()), $thr->iiss__jjooiinnaabbllee(()), $thr->iiss__ddeettaacchheedd(()),
     threads->iiss__ddeettaacchheedd(())

THREAD CONTEXT #

     Explicit context
     Implicit context
     $thr->wwaannttaarrrraayy(())
     threads->wwaannttaarrrraayy(())

THREAD STACK SIZE #

     threads->ggeett__ssttaacckk__ssiizzee(());, $size = $thr->ggeett__ssttaacckk__ssiizzee(());,
     $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(_S_I_Z_E) 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 #

tthhrreeaaddss::::sshhaarreedd -- PPeerrll eexxtteennssiioonn ffoorr sshhaarriinngg ddaattaa ssttrruuccttuurreess bbeettwweeeenn tthhrreeaaddss

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 #

     ccoonndd__bbrrooaaddccaasstt(()) called on unlocked variable, ccoonndd__ssiiggnnaall(()) called on
     unlocked variable

BUGS AND LIMITATIONS #

SEE ALSO #

AUTHOR #

LICENSE #

uunniiccoorree::::NNaammee,, ==ccuutt uuttff88 -- PPeerrll pprraaggmmaa ttoo eennaabbllee//ddiissaabbllee UUTTFF--88 ((oorr UUTTFF--EEBBCCDDIICC)) iinn ssoouurrccee ccooddee

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 #

vvaarrss -- PPeerrll pprraaggmmaa ttoo pprreeddeeccllaarree gglloobbaall vvaarriiaabbllee nnaammeess

SYNOPSIS #

DESCRIPTION #

vveerrssiioonn -- PPeerrll eexxtteennssiioonn ffoorr VVeerrssiioonn OObbjjeeccttss

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 #

     iiss__aallpphhaa(())
     iiss__qqvv(())
     nnoorrmmaall(())
     nnuummiiffyy(())
     ssttrriinnggiiffyy(())

EXPORTED FUNCTIONS #

     qqvv(())
     iiss__llaaxx(())
     iiss__ssttrriicctt(())

AUTHOR #

SEE ALSO #

vveerrssiioonn::::IInntteerrnnaallss -- PPeerrll eexxtteennssiioonn ffoorr VVeerrssiioonn OObbjjeeccttss

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
         nneeww(()), qqvv(()), Normal Form, Numification, Stringification,
         Comparison operators, Logical Operators

AUTHOR #

SEE ALSO #

vvmmssiisshh -- PPeerrll pprraaggmmaa ttoo ccoonnttrrooll VVMMSS--ssppeecciiffiicc llaanngguuaaggee ffeeaattuurreess

SYNOPSIS #

DESCRIPTION #

     "vmsish status", "vmsish exit", "vmsish time", "vmsish hushed"

wwaarrnniinnggss -- PPeerrll pprraaggmmaa ttoo ccoonnttrrooll ooppttiioonnaall wwaarrnniinnggss

SYNOPSIS #

DESCRIPTION #

     Default Warnings and Optional Warnings
     "Negative warnings"
     What's wrong with --ww and $^W
     Controlling Warnings from the Command Line
         --ww , --WW , --XX

     Backward Compatibility
     Category Hierarchy
     Fatal Warnings
     Reporting Warnings from a Module

FUNCTIONS #

     use warnings::register, wwaarrnniinnggss::::eennaabblleedd(()),
     warnings::enabled($category), warnings::enabled($object),
     warnings::enabled_at_level($category, $level),
     wwaarrnniinnggss::::ffaattaall__eennaabblleedd(()), 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)

wwaarrnniinnggss::::rreeggiisstteerr -- wwaarrnniinnggss iimmppoorrtt ffuunnccttiioonn

SYNOPSIS #

DESCRIPTION #

MMOODDUULLEE DDOOCCUUMMEENNTTAATTIIOONN #

AAnnyyDDBBMM__FFiillee -- pprroovviiddee ffrraammeewwoorrkk ffoorr mmuullttiippllee DDBBMMss

SYNOPSIS #

DESCRIPTION #

     DBM Comparisons
         [0], [1], [2], [3]

SEE ALSO #

AApppp::::CCppaann -- eeaassiillyy iinntteerraacctt wwiitthh CCPPAANN ffrroomm tthhee ccoommmmaanndd lliinnee

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 #

AApppp::::PPrroovvee -- IImmpplleemmeennttss tthhee “"pprroovvee"” ccoommmmaanndd..

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 #

AApppp::::PPrroovvee::::SSttaattee -- SSttaattee ssttoorraaggee ffoorr tthhee “"pprroovvee"” ccoommmmaanndd..

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"

AApppp::::PPrroovvee::::SSttaattee::::RReessuulltt -- IInnddiivviidduuaall tteesstt ssuuiittee rreessuullttss..

VERSION #

DESCRIPTION #

SYNOPSIS #

METHODS #

     Class Methods
 "state_version"
 "test_class"

AApppp::::PPrroovvee::::SSttaattee::::RReessuulltt::::TTeesstt -- IInnddiivviidduuaall tteesstt rreessuullttss..

VERSION #

DESCRIPTION #

SYNOPSIS #

METHODS #

     Class Methods
 Instance Methods

AArrcchhiivvee::::TTaarr -- mmoodduullee ffoorr mmaanniippuullaattiioonnss ooff ttaarr aarrcchhiivveess

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

AArrcchhiivvee::::TTaarr::::FFiillee -- aa ssuubbccllaassss ffoorr iinn--mmeemmoorryy eexxttrraacctteedd ffiillee ffrroomm AArrcchhiivvee::::TTaarr

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

AAttttrriibbuuttee::::HHaannddlleerrss -- SSiimmpplleerr ddeeffiinniittiioonn ooff aattttrriibbuuttee hhaannddlleerrss

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 #

AAuuttooLLooaaddeerr -- llooaadd ssuubbrroouuttiinneess oonnllyy oonn ddeemmaanndd

SYNOPSIS #

DESCRIPTION #

     Subroutine Stubs
     Using AAuuttooLLooaaddeerr's AUTOLOAD Subroutine
     Overriding AAuuttooLLooaaddeerr's AUTOLOAD Subroutine
     Package Lexicals
     Not Using AutoLoader
     AAuuttooLLooaaddeerr vs. SSeellffLLooaaddeerr
     Forcing AutoLoader to Load a Function

CAVEATS #

SEE ALSO #

AUTHOR #

AAuuttooSSpplliitt -- sspplliitt aa ppaacckkaaggee ffoorr aauuttoollooaaddiinngg

SYNOPSIS #

DESCRIPTION #

     $keep, $check, $modtime

     Multiple packages

DIAGNOSTICS #

AUTHOR #

BB -- TThhee PPeerrll CCoommppiilleerr BBaacckkeenndd

SYNOPSIS #

DESCRIPTION #

OVERVIEW #

 Utility Functions
     Functions Returning "B::SV", "B::AV", "B::HV", and "B::CV" objects
         sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation,
         init_av, check_av, unitcheck_av, begin_av, end_av, comppadlist,
         regex_padav, main_cv

     Functions for Examining the Symbol Table
         walksymtable(SYMREF, METHOD, RECURSE, PREFIX)

     Functions Returning "B::OP" objects or for walking op trees
         main_root, main_start, walkoptree(OP, METHOD),
         walkoptree_debug(DEBUG)

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

     Exported utility variables
         @optype, @specialsv_name

OVERVIEW OF CLASSES #

     B::SV Methods
         REFCNT, FLAGS, object_2svref

     B::IV Methods
         IV, IVX, UVX, int_value, needs64bits, packiv

     B::NV Methods

NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH #

     B::RV Methods

RV #

     B::PV Methods

PV, RV, PVX, CUR, LEN #

     B::PVMG Methods
         MAGIC, SvSTASH

     B::MAGIC Methods
         MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX

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

     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
     B::PADLIST Methods
         MAX, ARRAY, ARRAYelt, NAMES, REFCNT, id, outid

     B::PADNAMELIST Methods
         MAX, ARRAY, ARRAYelt, REFCNT

     B::PADNAME Methods
         PV, PVX, LEN, REFCNT, FLAGS, TYPE, SvSTASH, OURSTASH, PROTOCV,

COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH, PARENT_PAD_INDEX, #

PARENT_FAKELEX_FLAGS #

     $B::overlay

AUTHOR #

BB::::CCoonncciissee -- WWaallkk PPeerrll ssyynnttaaxx ttrreeee,, pprriinnttiinngg ccoonncciissee iinnffoo aabboouutt ooppss

SYNOPSIS #

DESCRIPTION #

EXAMPLE #

OPTIONS #

     Options for Opcode Ordering
         --bbaassiicc, --eexxeecc, --ttrreeee

     Options for Line-Style
         --ccoonncciissee, --tteerrssee, --lliinneennooiissee, --ddeebbuugg, --eennvv

     Options for tree-specific formatting
         --ccoommppaacctt, --lloooossee, --vvtt, --aasscciiii

     Options controlling sequence numbering
         --bbaassee_n, --bbiiggeennddiiaann, --lliittttlleeeennddiiaann

     Other options
         --ssrrcc, --ssttaasshh==""ssoommeeppaacckkaaggee"", --mmaaiinn, --nnoommaaiinn, --nnoobbaannnneerr, --bbaannnneerr,
         --bbaannnneerriiss => subref

     Option Stickiness

ABBREVIATIONS #

     OP class abbreviations
     OP flags abbreviations

FORMATTING SPECIFICATIONS #

     Special Patterns
         ((xx((_e_x_e_c___t_e_x_t;;_b_a_s_i_c___t_e_x_t))xx)), ((**((_t_e_x_t))**)), ((**((_t_e_x_t_1;;_t_e_x_t_2))**)),
         ((??((_t_e_x_t_1##_v_a_r_T_e_x_t_2))??)), ~~

     # Variables
         ##_v_a_r, ##_v_a_r_N, ##_V_a_r, ##aaddddrr, ##aarrgg, ##ccllaassss, ##ccllaassssssyymm, ##ccooppllaabbeell,
         ##eexxnnaammee, ##eexxttaarrgg, ##ffiirrssttaaddddrr, ##ffllaaggss, ##ffllaaggvvaall, ##hhiinnttss,
         ##hhiinnttssvvaall, ##hhyypphhsseeqq, ##llaabbeell, ##llaassttaaddddrr, ##nnaammee, ##NNAAMMEE, ##nneexxtt,
         ##nneexxttaaddddrr, ##nnooiissee, ##pprriivvaattee, ##pprriivvvvaall, ##sseeqq, ##oopptt, ##ssiibbaaddddrr,
         ##ssvvaaddddrr, ##ssvvccllaassss, ##ssvvvvaall, ##ttaarrgg, ##ttaarrggaarrgg, ##ttaarrggaarrgglliiffee,
         ##ttyyppeennuumm

 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
     sseett__ssttyyllee(())
     set_style_standard($name)
     add_style ()
     add_callback ()
     Running BB::::CCoonncciissee::::ccoommppiillee(())
     BB::::CCoonncciissee::::rreesseett__sseeqquueennccee(())
     Errors

AUTHOR #

BB::::DDeeppaarrssee -- PPeerrll ccoommppiilleerr bbaacckkeenndd ttoo pprroodduuccee ppeerrll ccooddee

SYNOPSIS #

DESCRIPTION #

OPTIONS #

     --dd, --ff_F_I_L_E, --ll, --pp, --PP, --qq, --ss_L_E_T_T_E_R_S, CC, ii_N_U_M_B_E_R, TT, vv_S_T_R_I_N_G..,
     --xx_L_E_V_E_L

 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 #

BB::::OOpp__pprriivvaattee -- OOPP oopp__pprriivvaattee ffllaagg ddeeffiinniittiioonnss

SYNOPSIS #

DESCRIPTION #

     %bits
     %defines
     %labels
     %ops_using

BB::::SShhoowwlleexx -- SShhooww lleexxiiccaall vvaarriiaabblleess uusseedd iinn ffuunnccttiioonnss oorr ffiilleess

SYNOPSIS #

DESCRIPTION #

EXAMPLES #

OPTIONS #

SEE ALSO #

TODO #

AUTHOR #

BB::::TTeerrssee -- WWaallkk PPeerrll ssyynnttaaxx ttrreeee,, pprriinnttiinngg tteerrssee iinnffoo aabboouutt ooppss

SYNOPSIS #

DESCRIPTION #

AUTHOR #

BB::::XXrreeff -- GGeenneerraatteess ccrroossss rreeffeerreennccee rreeppoorrttss ffoorr PPeerrll pprrooggrraammss

SYNOPSIS #

DESCRIPTION #

     i, &, s, r

OPTIONS #

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

BUGS #

AUTHOR #

BBeenncchhmmaarrkk -- bbeenncchhmmaarrkk rruunnnniinngg ttiimmeess ooff PPeerrll ccooddee

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 #

CCOORREE -- NNaammeessppaaccee ffoorr PPeerrll’’ss ccoorree rroouuttiinneess

SYNOPSIS #

DESCRIPTION #

OVERRIDING CORE FUNCTIONS #

AUTHOR #

SEE ALSO #

CCPPAANN -- qquueerryy,, ddoowwnnllooaadd aanndd bbuuiilldd ppeerrll mmoodduulleess ffrroomm CCPPAANN ssiitteess

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 (_D_i_s_t_r_o_p_r_e_f_s)
     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
         CCPPAANN::::AAuutthhoorr::::aass__gglliimmppssee(()), CCPPAANN::::AAuutthhoorr::::aass__ssttrriinngg(()),
         CCPPAANN::::AAuutthhoorr::::eemmaaiill(()), CCPPAANN::::AAuutthhoorr::::ffuullllnnaammee(()),
         CCPPAANN::::AAuutthhoorr::::nnaammee(()), CCPPAANN::::BBuunnddllee::::aass__gglliimmppssee(()),
         CCPPAANN::::BBuunnddllee::::aass__ssttrriinngg(()), CCPPAANN::::BBuunnddllee::::cclleeaann(()),
         CCPPAANN::::BBuunnddllee::::ccoonnttaaiinnss(()), CPAN::Bundle::force($method,@args),
         CCPPAANN::::BBuunnddllee::::ggeett(()), CCPPAANN::::BBuunnddllee::::iinnsstt__ffiillee(()),
         CCPPAANN::::BBuunnddllee::::iinnsstt__vveerrssiioonn(()), CCPPAANN::::BBuunnddllee::::uuppttooddaattee(()),
         CCPPAANN::::BBuunnddllee::::iinnssttaallll(()), CCPPAANN::::BBuunnddllee::::mmaakkee(()),
         CCPPAANN::::BBuunnddllee::::rreeaaddmmee(()), CCPPAANN::::BBuunnddllee::::tteesstt(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::aass__gglliimmppssee(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::aass__ssttrriinngg(()), CPAN::Distribution::author,
         CCPPAANN::::DDiissttrriibbuuttiioonn::::pprreettttyy__iidd(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::bbaassee__iidd(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::cclleeaann(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::ccoonnttaaiinnssmmooddss(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::ccvvss__iimmppoorrtt(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::ddiirr(()),
         CPAN::Distribution::force($method,@args),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::ggeett(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::iinnssttaallll(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::iissaa__ppeerrll(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::llooookk(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::mmaakkee(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::ppeerrllddoocc(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::pprreeffss(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::pprreerreeqq__ppmm(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::rreeaaddmmee(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::rreeppoorrttss(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::rreeaadd__yyaammll(()), CCPPAANN::::DDiissttrriibbuuttiioonn::::tteesstt(()),
         CCPPAANN::::DDiissttrriibbuuttiioonn::::uuppttooddaattee(()), CCPPAANN::::IInnddeexx::::ffoorrccee__rreellooaadd(()),
         CCPPAANN::::IInnddeexx::::rreellooaadd(()), CCPPAANN::::IInnffooOObbjj::::dduummpp(()),
         CCPPAANN::::MMoodduullee::::aass__gglliimmppssee(()), CCPPAANN::::MMoodduullee::::aass__ssttrriinngg(()),
         CCPPAANN::::MMoodduullee::::cclleeaann(()), CCPPAANN::::MMoodduullee::::ccppaann__ffiillee(()),
         CCPPAANN::::MMoodduullee::::ccppaann__vveerrssiioonn(()), CCPPAANN::::MMoodduullee::::ccvvss__iimmppoorrtt(()),
         CCPPAANN::::MMoodduullee::::ddeessccrriippttiioonn(()), CCPPAANN::::MMoodduullee::::ddiissttrriibbuuttiioonn(()),
         CCPPAANN::::MMoodduullee::::ddsslliipp__ssttaattuuss(()), CPAN::Module::force($method,@args),
         CCPPAANN::::MMoodduullee::::ggeett(()), CCPPAANN::::MMoodduullee::::iinnsstt__ffiillee(()),
         CCPPAANN::::MMoodduullee::::aavvaaiillaabbllee__ffiillee(()), CCPPAANN::::MMoodduullee::::iinnsstt__vveerrssiioonn(()),
         CCPPAANN::::MMoodduullee::::aavvaaiillaabbllee__vveerrssiioonn(()), CCPPAANN::::MMoodduullee::::iinnssttaallll(()),
         CCPPAANN::::MMoodduullee::::llooookk(()), CCPPAANN::::MMoodduullee::::mmaakkee(()),
         CCPPAANN::::MMoodduullee::::mmaannppaaggee__hheeaaddlliinnee(()), CCPPAANN::::MMoodduullee::::ppeerrllddoocc(()),
         CCPPAANN::::MMoodduullee::::rreeaaddmmee(()), CCPPAANN::::MMoodduullee::::rreeppoorrttss(()),
         CCPPAANN::::MMoodduullee::::tteesstt(()), CCPPAANN::::MMoodduullee::::uuppttooddaattee(()),
         CCPPAANN::::MMoodduullee::::uusseerriidd(())

     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), ffrroonntteenndd(()), 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 #

CCPPAANN::::AAPPII::::HHOOWWTTOO -- aa rreecciippee bbooookk ffoorr pprrooggrraammmmiinngg wwiitthh CCPPAANN..ppmm

RECIPES #

     What distribution contains a particular module?
     What modules does a particular distribution contain?

SEE ALSO #

LICENSE #

AUTHOR #

CCPPAANN::::DDeebbuugg -- iinntteerrnnaall ddeebbuuggggiinngg ffoorr CCPPAANN..ppmm

LICENSE #

CCPPAANN::::DDiissttrroopprreeffss -–- rreeaadd aanndd mmaattcchh ddiissttrroopprreeffss

SYNOPSIS #

DESCRIPTION #

INTERFACE #

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

RESULTS #

     Common
     Errors
     Successes

PREFS #

LICENSE #

CCPPAANN::::FFiirrssttTTiimmee -- UUttiilliittyy ffoorr CCPPAANN::::CCoonnffiigg ffiillee IInniittiiaalliizzaattiioonn

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 #

CCPPAANN::::HHaannddlleeCCoonnffiigg -- iinntteerrnnaall ccoonnffiigguurraattiioonn hhaannddlliinngg ffoorr CCPPAANN..ppmm “CLASS->safe_quote ITEM”

LICENSE #

CCPPAANN::::KKwwaalliiffyy -- IInntteerrffaaccee bbeettwweeeenn CCPPAANN..ppmm aanndd KKwwaalliiffyy..ppmm

SYNOPSIS #

DESCRIPTION #

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

AUTHOR #

LICENSE #

CCPPAANN::::MMeettaa -- tthhee ddiissttrriibbuuttiioonn mmeettaaddaattaa ffoorr aa CCPPAANN ddiisstt

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 #

CCPPAANN::::MMeettaa::::CCoonnvveerrtteerr -- CCoonnvveerrtt CCPPAANN ddiissttrriibbuuttiioonn mmeettaaddaattaa ssttrruuccttuurreess

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     new
     convert
     upgrade_fragment

BUGS #

AUTHORS #

CCPPAANN::::MMeettaa::::FFeeaattuurree -- aann ooppttiioonnaall ffeeaattuurree pprroovviiddeedd bbyy aa CCPPAANN ddiissttrriibbuuttiioonn

VERSION #

DESCRIPTION #

METHODS #

     new
     identifier
     description
     prereqs

BUGS #

AUTHORS #

CCPPAANN::::MMeettaa::::HHiissttoorryy -- hhiissttoorryy ooff CCPPAANN MMeettaa SSppeecc cchhaannggeess

VERSION #

DESCRIPTION #

HISTORY #

     Version 2
     Version 1.4
     Version 1.3
     Version 1.2
     Version 1.1
     Version 1.0

AUTHORS #

CCPPAANN::::MMeettaa::::HHiissttoorryy::::MMeettaa__11__00 -- VVeerrssiioonn 11..00 mmeettaaddaattaa ssppeecciiffiiccaattiioonn ffoorr MMEETTAA..yymmll

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

CCPPAANN::::MMeettaa::::HHiissttoorryy::::MMeettaa__11__11 -- VVeerrssiioonn 11..11 mmeettaaddaattaa ssppeecciiffiiccaattiioonn ffoorr MMEETTAA..yymmll

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

CCPPAANN::::MMeettaa::::HHiissttoorryy::::MMeettaa__11__22 -- VVeerrssiioonn 11..22 mmeettaaddaattaa ssppeecciiffiiccaattiioonn ffoorr MMEETTAA..yymmll

PREFACE #

SYNOPSIS #

DESCRIPTION #

FORMAT #

TERMINOLOGY #

     distribution, module

VERSION SPECIFICATIONS #

FIELDS #

     meta-spec
     name
     version
     abstract
     author
     license
         perl, gpl, lgpl, artistic, bsd, open_source, unrestricted,
         restrictive

     distribution_type
     requires
     recommends
     build_requires
     conflicts
     dynamic_config
     private
     provides
     no_index
     keywords
     resources
         homepage, license, bugtracker

     generated_by

SEE ALSO #

HISTORY #

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

CCPPAANN::::MMeettaa::::HHiissttoorryy::::MMeettaa__11__33 -- VVeerrssiioonn 11..33 mmeettaaddaattaa ssppeecciiffiiccaattiioonn ffoorr MMEETTAA..yymmll

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

CCPPAANN::::MMeettaa::::HHiissttoorryy::::MMeettaa__11__44 -- VVeerrssiioonn 11..44 mmeettaaddaattaa ssppeecciiffiiccaattiioonn ffoorr MMEETTAA..yymmll

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

CCPPAANN::::MMeettaa::::MMeerrggee -- MMeerrggiinngg CCPPAANN MMeettaa ffrraaggmmeennttss

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     new
     merge(@fragments)

MERGE STRATEGIES #

     identical, set_addition, uniq_map, improvise

AUTHORS #

CCPPAANN::::MMeettaa::::PPrreerreeqqss -- aa sseett ooff ddiissttrriibbuuttiioonn pprreerreeqquuiissiitteess bbyy pphhaassee aanndd ttyyppee

VERSION #

DESCRIPTION #

METHODS #

     new
     requirements_for
     phases
     types_in
     with_merged_prereqs
     merged_requirements
     as_string_hash
     is_finalized
     finalize
     clone

BUGS #

AUTHORS #

CCPPAANN::::MMeettaa::::RReeqquuiirreemmeennttss -- aa sseett ooff vveerrssiioonn rreeqquuiirreemmeennttss ffoorr aa CCPPAANN ddiisstt

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 #

CCPPAANN::::MMeettaa::::SSppeecc -- ssppeecciiffiiccaattiioonn ffoorr CCPPAANN ddiissttrriibbuuttiioonn mmeettaaddaattaa

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 #

CCPPAANN::::MMeettaa::::VVaalliiddaattoorr -- vvaalliiddaattee CCPPAANN ddiissttrriibbuuttiioonn mmeettaaddaattaa ssttrruuccttuurreess

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     new
     is_valid
     errors
     Check Methods
     Validator Methods

BUGS #

AUTHORS #

CCPPAANN::::MMeettaa::::YYAAMMLL -- RReeaadd aanndd wwrriittee aa ssuubbsseett ooff YYAAMMLL ffoorr CCPPAANN MMeettaa ffiilleess

VERSION #

SYNOPSIS #

DESCRIPTION #

SUPPORT #

SEE ALSO #

AUTHORS #

SYNOPSIS #

DESCRIPTION #

 new( LOCAL_FILE_NAME )

 ccoonnttiinneennttss(())

 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 #

CCPPAANN::::NNooxx -- WWrraappppeerr aarroouunndd CCPPAANN..ppmm wwiitthhoouutt uussiinngg aannyy XXSS mmoodduullee

SYNOPSIS #

DESCRIPTION #

LICENSE #

SEE ALSO #

CCPPAANN::::PPlluuggiinn -- BBaassee ccllaassss ffoorr CCPPAANN sshheellll eexxtteennssiioonnss

SYNOPSIS #

DESCRIPTION #

     Alpha Status
     How Plugins work?

METHODS #

     plugin_requires
     distribution_object
     distribution
     distribution_info
     build_dir
     is_xs

AUTHOR #

CCPPAANN::::PPlluuggiinn::::SSppeeccffiillee -- PPrrooooff ooff ccoonncceepptt iimmpplleemmeennttaattiioonn ooff aa ttrriivviiaall CCPPAANN::::PPlluuggiinn

SYNOPSIS #

DESCRIPTION #

OPTIONS #

AUTHOR #

CCPPAANN::::QQuueeuuee -- iinntteerrnnaall qquueeuuee ssuuppppoorrtt ffoorr CCPPAANN..ppmm

LICENSE #

CCPPAANN::::TTaarrzziipp -- iinntteerrnnaall hhaannddlliinngg ooff ttaarr aarrcchhiivveess ffoorr CCPPAANN..ppmm

LICENSE #

CCPPAANN::::VVeerrssiioonn -- uuttiilliittyy ffuunnccttiioonnss ttoo ccoommppaarree CCPPAANN vveerrssiioonnss

SYNOPSIS #

DESCRIPTION #

LICENSE #

CCaarrpp -- aalltteerrnnaattiivvee wwaarrnn aanndd ddiiee ffoorr mmoodduulleess

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 #

LICENSE #

CCllaassss::::SSttrruucctt -- ddeeccllaarree ssttrruucctt--lliikkee ddaattaattyyppeess aass PPeerrll ccllaasssseess

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

CCoommpprreessss::::RRaaww::::BBzziipp22 -- LLooww--LLeevveell IInntteerrffaaccee ttoo bbzziipp22 ccoommpprreessssiioonn lliibbrraarryy

SYNOPSIS #

DESCRIPTION #

 Compression
     ($z, $status) = new Compress::Raw::Bzip2 $appendOutput,
     $blockSize100k, $workfactor;
         $$aappppeennddOOuuttppuutt, $$bblloocckkSSiizzee110000kk, $$wwoorrkkffaaccttoorr

     $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;
         $$aappppeennddOOuuttppuutt, $$ccoonnssuummeeIInnppuutt, $$ssmmaallll, $$lliimmiittOOuuttppuutt, $$vveerrbboossiittyy

     $status = $z->bzinflate($input, $output);
 Misc
     my $version = CCoommpprreessss::::RRaaww::::BBzziipp22::::bbzzlliibbvveerrssiioonn(());
 Constants

SUPPORT #

SEE ALSO #

AUTHOR #

MODIFICATION HISTORY #

CCoommpprreessss::::RRaaww::::ZZlliibb -- LLooww--LLeevveell IInntteerrffaaccee ttoo zzlliibb oorr zzlliibb--nngg ccoommpprreessssiioonn lliibbrraarryy

SYNOPSIS #

DESCRIPTION #

 Compress::Raw::Zlib::Deflate
     (($$dd,, $$ssttaattuuss)) == nneeww CCoommpprreessss::::RRaaww::::ZZlliibb::::DDeeffllaattee(( [[OOPPTT]] ))
         --LLeevveell, --MMeetthhoodd, --WWiinnddoowwBBiittss, --MMeemmLLeevveell, --SSttrraatteeggyy, --DDiiccttiioonnaarryy,
         --BBuuffssiizzee, --AAppppeennddOOuuttppuutt, --CCRRCC3322, --AADDLLEERR3322

     $$ssttaattuuss == $$dd-->>ddeeffllaattee(($$iinnppuutt,, $$oouuttppuutt))
     $$ssttaattuuss == $$dd-->>fflluusshh(($$oouuttppuutt [[,, $$fflluusshh__ttyyppee]]))
     $$ssttaattuuss == $$dd-->>ddeeffllaatteeRReesseett(())
     $$ssttaattuuss == $$dd-->>ddeeffllaatteePPaarraammss(([[OOPPTT]]))
         --LLeevveell, --SSttrraatteeggyy, --BBuuffSSiizzee

     $$ssttaattuuss == $$dd-->>ddeeffllaatteeTTuunnee(($$ggoooodd__lleennggtthh,, $$mmaaxx__llaazzyy,, $$nniiccee__lleennggtthh,,
     $$mmaaxx__cchhaaiinn))
     $$dd-->>ddiicctt__aaddlleerr(())
     $$dd-->>ccrrcc3322(())
     $$dd-->>aaddlleerr3322(())
     $$dd-->>mmssgg(())
     $$dd-->>ttoottaall__iinn(())
     $$dd-->>ttoottaall__oouutt(())
     $$dd-->>ggeett__SSttrraatteeggyy(())
     $$dd-->>ggeett__LLeevveell(())
     $$dd-->>ggeett__BBuuffSSiizzee(())
     Example
 Compress::Raw::Zlib::Inflate
      (($$ii,, $$ssttaattuuss)) == nneeww CCoommpprreessss::::RRaaww::::ZZlliibb::::IInnffllaattee(( [[OOPPTT]] ))
         --WWiinnddoowwBBiittss, --BBuuffssiizzee, --DDiiccttiioonnaarryy, --AAppppeennddOOuuttppuutt, --CCRRCC3322,
         --AADDLLEERR3322, --CCoonnssuummeeIInnppuutt, --LLiimmiittOOuuttppuutt

      $$ssttaattuuss == $$ii-->>iinnffllaattee(($$iinnppuutt,, $$oouuttppuutt [[,,$$eeooff]]))
     $$ssttaattuuss == $$ii-->>iinnffllaatteeSSyynncc(($$iinnppuutt))
     $$ssttaattuuss == $$ii-->>iinnffllaatteeRReesseett(())
     $$ii-->>ddiicctt__aaddlleerr(())
     $$ii-->>ccrrcc3322(())
     $$ii-->>aaddlleerr3322(())
     $$ii-->>mmssgg(())
     $$ii-->>ttoottaall__iinn(())
     $$ii-->>ttoottaall__oouutt(())
     $$dd-->>ggeett__BBuuffSSiizzee(())
     Examples

CHECKSUM FUNCTIONS #

 Misc
     my $version = CCoommpprreessss::::RRaaww::::ZZlliibb::::zzlliibb__vveerrssiioonn(());
     my $version = CCoommpprreessss::::RRaaww::::ZZlliibb::::zzlliibbnngg__vveerrssiioonn(());
     my $flags = CCoommpprreessss::::RRaaww::::ZZlliibb::::zzlliibbCCoommppiilleeFFllaaggss(());
     iiss__zzlliibb__nnaattiivvee(()); =head2 iiss__zzlliibbnngg__nnaattiivvee(()); =head2
     iiss__zzlliibbnngg__ccoommppaatt(()); =head2 iiss__zzlliibbnngg(());
 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 #

CCoommpprreessss::::ZZlliibb -- IInntteerrffaaccee ttoo zzlliibb ccoommpprreessssiioonn lliibbrraarryy

SYNOPSIS #

DESCRIPTION #

     Notes for users of Compress::Zlib version 1

GZIP INTERFACE #

     $$ggzz == ggzzooppeenn(($$ffiilleennaammee,, $$mmooddee)), $$ggzz == ggzzooppeenn(($$ffiilleehhaannddllee,, $$mmooddee)),
     $$bbyytteessrreeaadd == $$ggzz-->>ggzzrreeaadd(($$bbuuffffeerr [[,, $$ssiizzee]])) ;;, $$bbyytteessrreeaadd ==
     $$ggzz-->>ggzzrreeaaddlliinnee(($$lliinnee)) ;;, $$bbyytteesswwrriitttteenn == $$ggzz-->>ggzzwwrriittee(($$bbuuffffeerr)) ;;,
     $$ssttaattuuss == $$ggzz-->>ggzzfflluusshh(($$fflluusshh__ttyyppee)) ;;, $$ooffffsseett == $$ggzz-->>ggzztteellll(()) ;;,
     $$ssttaattuuss == $$ggzz-->>ggzzsseeeekk(($$ooffffsseett,, $$wwhheennccee)) ;;, $$ggzz-->>ggzzcclloossee,
     $$ggzz-->>ggzzsseettppaarraammss(($$lleevveell,, $$ssttrraatteeggyy, $$lleevveell, $$ssttrraatteeggyy, $$ggzz-->>ggzzeerrrroorr,
     $$ggzzeerrrrnnoo

     Examples
     Compress::Zlib::memGzip
     Compress::Zlib::memGunzip

COMPRESS/UNCOMPRESS #

     $$ddeesstt == ccoommpprreessss(($$ssoouurrccee [[,, $$lleevveell]] )) ;;, $$ddeesstt == uunnccoommpprreessss(($$ssoouurrccee))
     ;;

 Deflate Interface
     (($$dd,, $$ssttaattuuss)) == ddeeffllaatteeIInniitt(( [[OOPPTT]] ))
         --LLeevveell, --MMeetthhoodd, --WWiinnddoowwBBiittss, --MMeemmLLeevveell, --SSttrraatteeggyy, --DDiiccttiioonnaarryy,
         --BBuuffssiizzee

     (($$oouutt,, $$ssttaattuuss)) == $$dd-->>ddeeffllaattee(($$bbuuffffeerr))
     (($$oouutt,, $$ssttaattuuss)) == $$dd-->>fflluusshh(()) =head2 (($$oouutt,, $$ssttaattuuss)) ==
     $$dd-->>fflluusshh(($$fflluusshh__ttyyppee))
     $$ssttaattuuss == $$dd-->>ddeeffllaatteePPaarraammss(([[OOPPTT]]))
         --LLeevveell, --SSttrraatteeggyy

     $$dd-->>ddiicctt__aaddlleerr(())
     $$dd-->>mmssgg(())
     $$dd-->>ttoottaall__iinn(())
     $$dd-->>ttoottaall__oouutt(())
     Example
 Inflate Interface
     (($$ii,, $$ssttaattuuss)) == iinnffllaatteeIInniitt(())
         --WWiinnddoowwBBiittss, --BBuuffssiizzee, --DDiiccttiioonnaarryy

     (($$oouutt,, $$ssttaattuuss)) == $$ii-->>iinnffllaattee(($$bbuuffffeerr))
     $$ssttaattuuss == $$ii-->>iinnffllaatteeSSyynncc(($$bbuuffffeerr))
     $$ii-->>ddiicctt__aaddlleerr(())
     $$ii-->>mmssgg(())
     $$ii-->>ttoottaall__iinn(())
     $$ii-->>ttoottaall__oouutt(())
     Example

CHECKSUM FUNCTIONS #

 Misc
     my $version = CCoommpprreessss::::ZZlliibb::::zzlliibb__vveerrssiioonn(());

CONSTANTS #

SUPPORT #

SEE ALSO #

AUTHOR #

MODIFICATION HISTORY #

CCoonnffiigg,, ==ffoorr ccoommmmeenntt GGeenneerraatteedd bbyy ccoonnffiiggppmm.. AAnnyy cchhaannggeess mmaaddee hheerree wwiillll bbee lloosstt!!

SYNOPSIS #

DESCRIPTION #

     mmyyccoonnffiigg(()), ccoonnffiigg__sshh(()), config_re($regex), config_vars(@names),
     bbiinnccoommppaatt__ooppttiioonnss(()), nnoonn__bbiinnccoommppaatt__ooppttiioonnss(()), ccoommppiillee__ddaattee(()),
     llooccaall__ppaattcchheess(()), hheeaaddeerr__ffiilleess(())

EXAMPLE #

WARNING #

GLOSSARY #

 _   "_a", "_exe", "_o"

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

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

 c   "c", "castflags", "cat", "cc", "cccdlflags", "ccdlflags", "ccflags",
     "ccflags_uselargefiles", "ccname", "ccsymbols", "ccversion", "cf_by",
     "cf_email", "cf_time", "charbits", "charsize", "chgrp", "chmod",
     "chown", "clocktype", "comm", "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__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_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_Gconvert", "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_PRId64",
     "d_PRIeldbl", "d_PRIEUldbl", "d_PRIfldbl", "d_PRIFUldbl",
     "d_PRIgldbl", "d_PRIGUldbl", "d_PRIi64", "d_printf_format_null",
     "d_PRIo64", "d_PRIu64", "d_PRIx64", "d_PRIXU64", "d_procselfexe",
     "d_pseudofork", "d_pthread_atfork", "d_pthread_attr_setscope",
     "d_pthread_yield", "d_ptrdiff_t", "d_pwage", "d_pwchange",
     "d_pwclass", "d_pwcomment", "d_pwexpire", "d_pwgecos", "d_pwpasswd",
     "d_pwquota", "d_qgcvt", "d_quad", "d_querylocale", "d_random_r",
     "d_re_comp", "d_readdir", "d_readdir64_r", "d_readdir_r",
     "d_readlink", "d_readv", "d_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_SCNfldbl",
     "d_seekdir", "d_select", "d_sem", "d_semctl", "d_semctl_semid_ds",
     "d_semctl_semun", "d_semget", "d_semop", "d_sendmsg", "d_setegid",
     "d_seteuid", "d_setgrent", "d_setgrent_r", "d_setgrps", "d_sethent",
     "d_sethostent_r", "d_setitimer", "d_setlinebuf", "d_setlocale",
     "d_setlocale_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   "fflushall", "fflushNULL", "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", "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_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", "nv_overflows_integers_at",
     "nv_preserves_uv_bits", "nveformat", "nvEUformat", "nvfformat",
     "nvFUformat", "nvgformat", "nvGUformat", "nvmantbits", "nvsize",
     "nvtype"

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

 p   "package", "pager", "passcat", "patchlevel", "path_sep", "perl",
     "perl5"

P “PERL_API_REVISION”, “PERL_API_SUBVERSION”, “PERL_API_VERSION”, #

     "PERL_CONFIG_SH", "PERL_PATCHLEVEL", "perl_patchlevel",
     "PERL_REVISION", "perl_static_inline", "PERL_SUBVERSION",
     "perl_thread_local", "PERL_VERSION", "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   "sched_yield", "scriptdir", "scriptdirexp", "sed", "seedfunc",
     "selectminbits", "selecttype", "sendmail", "setgrent_r_proto",
     "sethostent_r_proto", "setlocale_r_proto", "setnetent_r_proto",
     "setprotoent_r_proto", "setpwent_r_proto", "setservent_r_proto",
     "sGMTIME_max", "sGMTIME_min", "sh", "shar", "sharpbang", "shmattype",
     "shortsize", "shrpenv", "shsharp", "sig_count", "sig_name",
     "sig_name_init", "sig_num", "sig_num_init", "sig_size", "signal_t",
     "sitearch", "sitearchexp", "sitebin", "sitebinexp", "sitehtml1dir",
     "sitehtml1direxp", "sitehtml3dir", "sitehtml3direxp", "sitelib",
     "sitelib_stem", "sitelibexp", "siteman1dir", "siteman1direxp",
     "siteman3dir", "siteman3direxp", "siteprefix", "siteprefixexp",
     "sitescript", "sitescriptexp", "sizesize", "sizetype", "sleep",
     "sLOCALTIME_max", "sLOCALTIME_min", "smail", "so", "sockethdr",
     "socketlib", "socksizetype", "sort", "spackage", "spitshell",
     "sPRId64", "sPRIeldbl", "sPRIEUldbl", "sPRIfldbl", "sPRIFUldbl",
     "sPRIgldbl", "sPRIGUldbl", "sPRIi64", "sPRIo64", "sPRIu64",
     "sPRIx64", "sPRIXU64", "srand48_r_proto", "srandom_r_proto", "src",
     "sSCNfldbl", "ssizetype", "st_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", "tar", "targetarch", "targetdir", "targetenv", "targethost",
     "targetmkdir", "targetport", "targetsh", "tbl", "tee", "test",
     "timeincl", "timetype", "tmpnam_r_proto", "to", "touch", "tr",
     "trnl", "troff", "ttyname_r_proto"

 u   "u16size", "u16type", "u32size", "u32type", "u64size", "u64type",
     "u8size", "u8type", "uidformat", "uidsign", "uidsize", "uidtype",
     "uname", "uniq", "uquadtype", "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", "uvoformat", "uvsize", "uvtype", "uvuformat",
     "uvxformat", "uvXUformat"

 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 #

CCoonnffiigg::::EExxtteennssiioonnss -- hhaasshh llooookkuupp ooff wwhhiicchh ccoorree eexxtteennssiioonnss wweerree bbuuiilltt..

SYNOPSIS #

DESCRIPTION #

     dynamic, nonxs, static

AUTHOR #

CCoonnffiigg::::PPeerrll::::VV -- SSttrruuccttuurreedd ddaattaa rreettrriieevvaall ooff ppeerrll --VV oouuttppuutt

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 #

CCwwdd -- ggeett ppaatthhnnaammee ooff ccuurrrreenntt wwoorrkkiinngg ddiirreeccttoorryy

SYNOPSIS #

DESCRIPTION #

     getcwd and friends
         getcwd, cwd, fastcwd, fastgetcwd, getdcwd

     abs_path and friends
         abs_path, realpath, fast_abs_path

$ENV{PWD} #

NOTES #

AUTHOR #

SEE ALSO #

DDBB -- pprrooggrraammmmaattiicc iinntteerrffaaccee ttoo tthhee PPeerrll ddeebbuuggggiinngg AAPPII

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->rreeggiisstteerr(()), CLIENT->evalcode(STRING),
         CLIENT->skippkg('D::hide'), CLIENT->rruunn(()), CLIENT->sstteepp(()),
         CLIENT->nneexxtt(()), CLIENT->ddoonnee(())

     Client Callback Methods
         CLIENT->iinniitt(()), CLIENT->prestop([STRING]), CLIENT->ssttoopp(()),
         CLIENT->iiddllee(()), CLIENT->poststop([STRING]),
         CLIENT->evalcode(STRING), CLIENT->cclleeaannuupp(()), CLIENT->output(LIST)

BUGS #

AUTHOR #

DDBBMM__FFiilltteerr -–- FFiilltteerr DDBBMM kkeeyyss//vvaalluueess

SYNOPSIS #

DESCRIPTION #

 What is a DBM Filter?
     So what's new?

METHODS #

     $db->FFiilltteerr__PPuusshh(()) / $db->FFiilltteerr__KKeeyy__PPuusshh(()) /
     $db->FFiilltteerr__VVaalluuee__PPuusshh(())
         Filter_Push, Filter_Key_Push, Filter_Value_Push

     $db->FFiilltteerr__PPoopp(())
     $db->FFiilltteerreedd(())
 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 #

DDBBMM__FFiilltteerr::::ccoommpprreessss -- ffiilltteerr ffoorr DDBBMM__FFiilltteerr

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

DDBBMM__FFiilltteerr::::eennccooddee -- ffiilltteerr ffoorr DDBBMM__FFiilltteerr

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

DDBBMM__FFiilltteerr::::iinntt3322 -- ffiilltteerr ffoorr DDBBMM__FFiilltteerr

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

DDBBMM__FFiilltteerr::::nnuullll -- ffiilltteerr ffoorr DDBBMM__FFiilltteerr

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

DDBBMM__FFiilltteerr::::uuttff88 -- ffiilltteerr ffoorr DDBBMM__FFiilltteerr

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

DDBB__FFiillee -- PPeerrll55 aacccceessss ttoo BBeerrkkeelleeyy DDBB vveerrssiioonn 11..xx

SYNOPSIS #

DESCRIPTION #

DDBB__HHAASSHH, DDBB__BBTTRREEEE, DDBB__RREECCNNOO #

     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 ggeett__dduupp(()) Method
     The ffiinndd__dduupp(()) Method
     The ddeell__dduupp(()) Method
     Matching Partial Keys

DB_RECNO #

     The 'bval' Option
     A Simple Example
     Extra RECNO Methods
         $$XX-->>ppuusshh((lliisstt)) ;;, $$vvaalluuee == $$XX-->>ppoopp ;;, $$XX-->>sshhiifftt,
         $$XX-->>uunnsshhiifftt((lliisstt)) ;;, $$XX-->>lleennggtthh, $$XX-->>sspplliiccee((ooffffsseett,, lleennggtthh,,
         eelleemmeennttss));;

     Another Example

THE API INTERFACE #

     $$ssttaattuuss == $$XX-->>ggeett(($$kkeeyy,, $$vvaalluuee [[,, $$ffllaaggss]])) ;;, $$ssttaattuuss == $$XX-->>ppuutt(($$kkeeyy,,
     $$vvaalluuee [[,, $$ffllaaggss]])) ;;, $$ssttaattuuss == $$XX-->>ddeell(($$kkeeyy [[,, $$ffllaaggss]])) ;;, $$ssttaattuuss ==
     $$XX-->>ffdd ;;, $$ssttaattuuss == $$XX-->>sseeqq(($$kkeeyy,, $$vvaalluuee,, $$ffllaaggss)) ;;, $$ssttaattuuss ==
     $$XX-->>ssyynncc(([[$$ffllaaggss]])) ;;

DBM FILTERS #

     DBM Filter Low-level API
         ffiilltteerr__ssttoorree__kkeeyy, ffiilltteerr__ssttoorree__vvaalluuee, ffiilltteerr__ffeettcchh__kkeeyy,
         ffiilltteerr__ffeettcchh__vvaalluuee

     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
         TTiiee::::DDBB__LLoocckk, TTiiee::::DDBB__LLoocckkFFiillee, DDBB__FFiillee::::LLoocckk

     Sharing Databases With C Applications
     The uunnttiiee(()) 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 #

SEE ALSO #

AUTHOR #

DDaattaa::::DDuummppeerr -- ssttrriinnggiiffiieedd ppeerrll ddaattaa ssttrruuccttuurreess,, ssuuiittaabbllee ffoorr bbootthh pprriinnttiinngg aanndd “"eevvaall"”

SYNOPSIS #

DESCRIPTION #

     Methods
         _P_A_C_K_A_G_E->new(_A_R_R_A_Y_R_E_F _[, _A_R_R_A_Y_R_E_F_]), _$_O_B_J->Dump  _o_r
         _P_A_C_K_A_G_E->Dump(_A_R_R_A_Y_R_E_F _[, _A_R_R_A_Y_R_E_F_]), _$_O_B_J->Seen(_[_H_A_S_H_R_E_F_]),
         _$_O_B_J->Values(_[_A_R_R_A_Y_R_E_F_]), _$_O_B_J->Names(_[_A_R_R_A_Y_R_E_F_]), _$_O_B_J->Reset

     Functions
         Dumper(_L_I_S_T)

     Configuration Variables or Methods
     Exports
         Dumper

EXAMPLES #

BUGS #

NOTE #

AUTHOR #

VERSION #

SEE ALSO #

DDeevveell::::PPPPPPoorrtt -- PPeerrll//PPoolllluuttiioonn//PPoorrttaabbiilliittyy

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 #

SEE ALSO #

DDeevveell::::PPeeeekk -- AA ddaattaa ddeebbuuggggiinngg ttooooll ffoorr tthhee XXSS pprrooggrraammmmeerr

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 #

DDeevveell::::SSeellffSSttuubbbbeerr -- ggeenneerraattee ssttuubbss ffoorr aa SSeellffLLooaaddiinngg mmoodduullee

SYNOPSIS #

DESCRIPTION #

DDiiggeesstt -- MMoodduulleess tthhaatt ccaallccuullaattee mmeessssaaggee ddiiggeessttss

SYNOPSIS #

DESCRIPTION #

     _b_i_n_a_r_y, _h_e_x, _b_a_s_e_6_4

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 #

DDiiggeesstt::::MMDD55 -- PPeerrll iinntteerrffaaccee ttoo tthhee MMDD55 AAllggoorriitthhmm

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 #

AUTHORS #

DDiiggeesstt::::SSHHAA -- PPeerrll eexxtteennssiioonn ffoorr SSHHAA--11//222244//225566//338844//551122

SYNOPSIS #

SYNOPSIS (HMAC-SHA) #

ABSTRACT #

DESCRIPTION #

UNICODE AND SIDE EFFECTS #

NIST STATEMENT ON SHA-1 #

PADDING OF BASE64 DIGESTS #

EXPORT #

EXPORTABLE FUNCTIONS #

     sshhaa11(($$ddaattaa,, ......)), sshhaa222244(($$ddaattaa,, ......)), sshhaa225566(($$ddaattaa,, ......)),
     sshhaa338844(($$ddaattaa,, ......)), sshhaa551122(($$ddaattaa,, ......)), sshhaa551122222244(($$ddaattaa,, ......)),
     sshhaa551122225566(($$ddaattaa,, ......)), sshhaa11__hheexx(($$ddaattaa,, ......)), sshhaa222244__hheexx(($$ddaattaa,, ......)),
     sshhaa225566__hheexx(($$ddaattaa,, ......)), sshhaa338844__hheexx(($$ddaattaa,, ......)), sshhaa551122__hheexx(($$ddaattaa,,
     ......)), sshhaa551122222244__hheexx(($$ddaattaa,, ......)), sshhaa551122225566__hheexx(($$ddaattaa,, ......)),
     sshhaa11__bbaassee6644(($$ddaattaa,, ......)), sshhaa222244__bbaassee6644(($$ddaattaa,, ......)),
     sshhaa225566__bbaassee6644(($$ddaattaa,, ......)), sshhaa338844__bbaassee6644(($$ddaattaa,, ......)),
     sshhaa551122__bbaassee6644(($$ddaattaa,, ......)), sshhaa551122222244__bbaassee6644(($$ddaattaa,, ......)),
     sshhaa551122225566__bbaassee6644(($$ddaattaa,, ......)), nneeww(($$aallgg)), rreesseett(($$aallgg)), hhaasshhssiizzee,
     aallggoorriitthhmm, cclloonnee, aadddd(($$ddaattaa,, ......)), aadddd__bbiittss(($$ddaattaa,, $$nnbbiittss)),
     aadddd__bbiittss(($$bbiittss)), aaddddffiillee((**FFIILLEE)), aaddddffiillee(($$ffiilleennaammee [[,, $$mmooddee]])),
     ggeettssttaattee, ppuuttssttaattee(($$ssttrr)), dduummpp(($$ffiilleennaammee)), llooaadd(($$ffiilleennaammee)), ddiiggeesstt,
     hheexxddiiggeesstt, bb6644ddiiggeesstt, hhmmaacc__sshhaa11(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa222244(($$ddaattaa,,
     $$kkeeyy)), hhmmaacc__sshhaa225566(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa338844(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa551122(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa551122222244(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa551122225566(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa11__hheexx(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa222244__hheexx(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa225566__hheexx(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa338844__hheexx(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa551122__hheexx(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa551122222244__hheexx(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa551122225566__hheexx(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa11__bbaassee6644(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa222244__bbaassee6644(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa225566__bbaassee6644(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa338844__bbaassee6644(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa551122__bbaassee6644(($$ddaattaa,, $$kkeeyy)), hhmmaacc__sshhaa551122222244__bbaassee6644(($$ddaattaa,, $$kkeeyy)),
     hhmmaacc__sshhaa551122225566__bbaassee6644(($$ddaattaa,, $$kkeeyy))

SEE ALSO #

AUTHOR #

ACKNOWLEDGMENTS #

DDiiggeesstt::::bbaassee -- DDiiggeesstt bbaassee ccllaassss

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

DDiiggeesstt::::ffiillee -- CCaallccuullaattee ddiiggeessttss ooff ffiilleess

SYNOPSIS #

DESCRIPTION #

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

SEE ALSO #

DDiirrHHaannddllee -- ((oobbssoolleettee)) ssuuppppllyy oobbjjeecctt mmeetthhooddss ffoorr ddiirreeccttoorryy hhaannddlleess

SYNOPSIS #

DESCRIPTION #

DDuummppvvaalluuee -- pprroovviiddeess ssccrreeeenn dduummpp ooff PPeerrll ddaattaa..

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

DDyynnaaLLooaaddeerr -- DDyynnaammiiccaallllyy llooaadd CC lliibbrraarriieess iinnttoo PPeerrll ccooddee

SYNOPSIS #

DESCRIPTION #

     @dl_library_path, @dl_resolve_using, @dl_require_symbols,
     @dl_librefs, @dl_modules, @dl_shared_objects, ddll__eerrrroorr(()), $dl_debug,
     $dl_dlext, ddll__ffiinnddffiillee(()), ddll__eexxppaannddssppeecc(()), ddll__llooaadd__ffiillee(()),
     ddll__uunnllooaadd__ffiillee(()), ddll__llooaadd__ffllaaggss(()), ddll__ffiinndd__ssyymmbbooll(()),
     ddll__ffiinndd__ssyymmbbooll__aannyywwhheerree(()), ddll__uunnddeeff__ssyymmbboollss(()), ddll__iinnssttaallll__xxssuubb(()),
     bboooottssttrraapp(())

AUTHOR #

EEnnccooddee -- cchhaarraacctteerr eennccooddiinnggss iinn PPeerrll

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 _C_H_E_C_K values
         perlqq mode (_C_H_E_C_K = Encode::FB_PERLQQ), HTML charref mode (_C_H_E_C_K
         = Encode::FB_HTMLCREF), XML charref mode (_C_H_E_C_K =
         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 #

EEnnccooddee::::AAlliiaass -- aalliiaass ddeeffiinniittiioonnss ttoo eennccooddiinnggss

SYNOPSIS #

DESCRIPTION #

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

     Alias overloading

SEE ALSO #

EEnnccooddee::::BByyttee -- SSiinnggllee BByyttee EEnnccooddiinnggss

SYNOPSIS #

ABSTRACT #

DESCRIPTION #

SEE ALSO #

EEnnccooddee::::CCJJKKCCoonnssttaannttss -–- IInntteerrnnaallllyy uusseedd bbyy EEnnccooddee::::????::::IISSOO__22002222__ EEnnccooddee::::CCNN -- CChhiinnaa--bbaasseedd CChhiinneessee EEnnccooddiinnggss

SYNOPSIS #

DESCRIPTION #

NOTES #

BUGS #

SEE ALSO #

EEnnccooddee::::CCNN::::HHZZ -–- iinntteerrnnaallllyy uusseedd bbyy EEnnccooddee::::CCNN EEnnccooddee::::CCoonnffiigg -–- iinntteerrnnaallllyy uusseedd bbyy EEnnccooddee EEnnccooddee::::EEBBCCDDIICC -- EEBBCCDDIICC EEnnccooddiinnggss

SYNOPSIS #

ABSTRACT #

DESCRIPTION #

SEE ALSO #

EEnnccooddee::::EEnnccooddeerr -–- OObbjjeecctt OOrriieenntteedd EEnnccooddeerr

SYNOPSIS #

ABSTRACT #

 Description
     Predefined Methods
         $e = Encode::Encoder->new([$data, $encoding]);, eennccooddeerr(()),
         $e->data([$data]), $e->encoding([$encoding]),
         $e->bytes([$encoding])

     Example: base64 transcoder
     Operator Overloading

SEE ALSO #

EEnnccooddee::::EEnnccooddiinngg -- EEnnccooddee IImmpplleemmeennttaattiioonn BBaassee CCllaassss

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, ->ppeerrlliioo__ookk(()),
         ->nneeeeddss__lliinneess(())

     Example: Encode::ROT13
 Why the heck Encode API is different?
     Compiled Encodings

SEE ALSO #

     Scheme 1, Scheme 2, Other Schemes

EEnnccooddee::::GGSSMM00333388 -–- EETTSSII GGSSMM 0033..3388 EEnnccooddiinngg

SYNOPSIS #

DESCRIPTION #

     Septets

BUGS #

SEE ALSO #

EEnnccooddee::::GGuueessss -–- GGuueesssseess eennccooddiinngg ffrroomm ddaattaa

SYNOPSIS #

ABSTRACT #

DESCRIPTION #

     Encode::Guess->set_suspects, Encode::Guess->add_suspects,
     Encode::decode("Guess" ...), Encode::Guess->guess($data),
     guess_encoding($data, [, _l_i_s_t _o_f _s_u_s_p_e_c_t_s])

CAVEATS #

TO DO #

SEE ALSO #

EEnnccooddee::::JJPP -- JJaappaanneessee EEnnccooddiinnggss

SYNOPSIS #

ABSTRACT #

DESCRIPTION #

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

BUGS #

SEE ALSO #

EEnnccooddee::::JJPP::::HH22ZZ -–- iinntteerrnnaallllyy uusseedd bbyy EEnnccooddee::::JJPP::::22002222__JJPP EEnnccooddee::::JJPP::::JJIISS77 -–- iinntteerrnnaallllyy uusseedd bbyy EEnnccooddee::::JJPP EEnnccooddee::::KKRR -- KKoorreeaann EEnnccooddiinnggss

SYNOPSIS #

DESCRIPTION #

BUGS #

SEE ALSO #

EEnnccooddee::::KKRR::::22002222__KKRR -–- iinntteerrnnaallllyy uusseedd bbyy EEnnccooddee::::KKRR EEnnccooddee::::MMIIMMEE::::HHeeaaddeerr -–- MMIIMMEE eennccooddiinngg ffoorr aann uunnssttrruuccttuurreedd eemmaaiill hheeaaddeerr

SYNOPSIS #

ABSTRACT #

DESCRIPTION #

BUGS #

AUTHORS #

SEE ALSO #

EEnnccooddee::::MMIIMMEE::::NNaammee,, EEnnccooddee::::MMIIMMEE::::NNAAMMEE -–- iinntteerrnnaallllyy uusseedd bbyy EEnnccooddee

SEE ALSO #

EEnnccooddee::::PPeerrllIIOO -–- aa ddeettaaiilleedd ddooccuummeenntt oonn EEnnccooddee aanndd PPeerrllIIOO Overview How does it work? Line Buffering How can I tell whether my encoding fully supports PerlIO ?

SEE ALSO #

EEnnccooddee::::SSuuppppoorrtteedd -–- EEnnccooddiinnggss ssuuppppoorrtteedd bbyy EEnnccooddee

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

EEnnccooddee::::SSyymmbbooll -- SSyymmbbooll EEnnccooddiinnggss

SYNOPSIS #

ABSTRACT #

DESCRIPTION #

SEE ALSO #

EEnnccooddee::::TTWW -- TTaaiiwwaann--bbaasseedd CChhiinneessee EEnnccooddiinnggss

SYNOPSIS #

DESCRIPTION #

NOTES #

BUGS #

SEE ALSO #

EEnnccooddee::::UUnniiccooddee -–- VVaarriioouuss UUnniiccooddee TTrraannssffoorrmmaattiioonn FFoorrmmaattss

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 #

EEnnccooddee::::UUnniiccooddee::::UUTTFF77 -–- UUTTFF--77 eennccooddiinngg

SYNOPSIS #

ABSTRACT #

 In Practice

SEE ALSO #

EEnngglliisshh -- uussee nniiccee EEnngglliisshh ((oorr aawwkk)) nnaammeess ffoorr uuggllyy ppuunnccttuuaattiioonn vvaarriiaabblleess

SYNOPSIS #

DESCRIPTION #

PERFORMANCE #

EEnnvv -- ppeerrll mmoodduullee tthhaatt iimmppoorrttss eennvviirroonnmmeenntt vvaarriiaabblleess aass ssccaallaarrss oorr aarrrraayyss

SYNOPSIS #

DESCRIPTION #

LIMITATIONS #

AUTHOR #

EErrrrnnoo -- SSyysstteemm eerrrrnnoo ccoonnssttaannttss

SYNOPSIS #

DESCRIPTION #

CAVEATS #

AUTHOR #

EExxppoorrtteerr -- IImmpplleemmeennttss ddeeffaauulltt iimmppoorrtt mmeetthhoodd ffoorr mmoodduulleess

SYNOPSIS #

DESCRIPTION #

     How to Export
     Selecting What to Export
     How to Import
         "use YourModule;", "use YourModule ();", "use YourModule
         qw(...);"

 Advanced Features
     Specialised Import Lists
     Exporting Without Using Exporter's import Method
     Exporting Without Inheriting from Exporter
     Module Version Checking
     Managing Unknown Symbols
     Tag Handling Utility Functions
     Generating Combined Tags
     "AUTOLOAD"ed Constants
 Good Practices
     Declaring @EXPORT_OK and Friends
     Playing Safe
     What Not to Export

SEE ALSO #

LICENSE #

EExxppoorrtteerr::::HHeeaavvyy -- EExxppoorrtteerr gguuttss

SYNOPSIS #

DESCRIPTION #

EExxttUUttiillss::::CCBBuuiillddeerr -- CCoommppiillee aanndd lliinnkk CC ccooddee ffoorr PPeerrll mmoodduulleess

SYNOPSIS #

DESCRIPTION #

METHODS #

     new, have_compiler, have_cplusplus, compile, "object_file",
     "include_dirs", "extra_compiler_flags", "C++", link, lib_file,
     module_name, extra_linker_flags, link_executable, exe_file,
     object_file, lib_file, exe_file, prelink, need_prelink,
     extra_link_args_after_prelink

TO DO #

HISTORY #

SUPPORT #

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::CCBBuuiillddeerr::::PPllaattffoorrmm::::WWiinnddoowwss -- BBuuiillddeerr ccllaassss ffoorr WWiinnddoowwss ppllaattffoorrmmss

DESCRIPTION #

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::CCoommmmaanndd -- uuttiilliittiieess ttoo rreeppllaaccee ccoommmmoonn UUNNIIXX ccoommmmaannddss iinn MMaakkeeffiilleess eettcc..

SYNOPSIS #

DESCRIPTION #

FUNCTIONS #

 cat

 eqtime

 rm_rf

 rm_f

 touch

 mv

 cp

 chmod

 mkpath

 test_f

 test_d

 dos2unix

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::CCoommmmaanndd::::MMMM -- CCoommmmaannddss ffoorr tthhee MMMM’’ss ttoo uussee iinn MMaakkeeffiilleess

SYNOPSIS #

DESCRIPTION #

     tteesstt__hhaarrnneessss

 ppoodd22mmaann

 wwaarrnn__iiff__oolldd__ppaacckklliisstt

 ppeerrllllooccaall__iinnssttaallll

 uunniinnssttaallll

 tteesstt__ss

 ccpp__nnoonneemmppttyy

EExxttUUttiillss::::CCoonnssttaanntt -- ggeenneerraattee XXSS ccooddee ttoo iimmppoorrtt CC hheeaaddeerr ccoonnssttaannttss

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 #

EExxttUUttiillss::::CCoonnssttaanntt::::BBaassee -- bbaassee ccllaassss ffoorr EExxttUUttiillss::::CCoonnssttaanntt oobbjjeeccttss

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 #

EExxttUUttiillss::::CCoonnssttaanntt::::UUttiillss -- hheellppeerr ffuunnccttiioonnss ffoorr EExxttUUttiillss::::CCoonnssttaanntt

SYNOPSIS #

DESCRIPTION #

USAGE #

     C_stringify NAME

 perl_stringify NAME

AUTHOR #

EExxttUUttiillss::::CCoonnssttaanntt::::XXSS -- ggeenneerraattee CC ccooddee ffoorr XXSS mmoodduulleess’’ ccoonnssttaannttss..

SYNOPSIS #

DESCRIPTION #

BUGS #

AUTHOR #

EExxttUUttiillss::::EEmmbbeedd -- UUttiilliittiieess ffoorr eemmbbeeddddiinngg PPeerrll iinn CC//CC++++ aapppplliiccaattiioonnss

SYNOPSIS #

DESCRIPTION #

@EXPORT #

FUNCTIONS #

     xxssiinniitt(()), Examples, llddooppttss(()), Examples, ppeerrll__iinncc(()), ccccffllaaggss(()),
     ccccddllffllaaggss(()), ccccooppttss(()), xxssii__hheeaaddeerr(()), xsi_protos(@modules),
     xsi_body(@modules)

EXAMPLES #

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::IInnssttaallll -- iinnssttaallll ffiilleess ffrroomm hheerree ttoo tthheerree

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 #

PPEERRLL__IINNSSTTAALLLL__RROOOOTT, EEUU__IINNSSTTAALLLL__IIGGNNOORREE__SSKKIIPP, EEUU__IINNSSTTAALLLL__SSIITTEE__SSKKIIPPFFIILLEE, #

EEUU__IINNSSTTAALLLL__AALLWWAAYYSS__CCOOPPYY #

AUTHOR #

LICENSE #

EExxttUUttiillss::::IInnssttaalllleedd -- IInnvveennttoorryy mmaannaaggeemmeenntt ooff iinnssttaalllleedd mmoodduulleess

SYNOPSIS #

DESCRIPTION #

USAGE #

METHODS #

     nneeww(()), mmoodduulleess(()), ffiilleess(()), ddiirreeccttoorriieess(()), ddiirreeccttoorryy__ttrreeee(()),
     vvaalliiddaattee(()), ppaacckklliisstt(()), vveerrssiioonn(())

EXAMPLE #

AUTHOR #

EExxttUUttiillss::::LLiibblliisstt -- ddeetteerrmmiinnee lliibbrraarriieess ttoo uussee aanndd hhooww ttoo uussee tthheemm

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 #

EExxttUUttiillss::::MMMM -- OOSS aaddjjuusstteedd EExxttUUttiillss::::MMaakkeeMMaakkeerr ssuubbccllaassss

SYNOPSIS #

DESCRIPTION #

EExxttUUttiillss::::MMMM__AAIIXX -- AAIIXX ssppeecciiffiicc ssuubbccllaassss ooff EExxttUUttiillss::::MMMM__UUnniixx

SYNOPSIS #

DESCRIPTION #

     Overridden methods

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::MMMM__AAnnyy -- PPllaattffoorrmm--aaggnnoossttiicc MMMM mmeetthhooddss

SYNOPSIS #

DESCRIPTION #

METHODS #

     Cross-platform helper methods
 Targets
 Init methods
 Tools
 File::Spec wrappers
 Misc

AUTHOR #

EExxttUUttiillss::::MMMM__BBeeOOSS -- mmeetthhooddss ttoo oovveerrrriiddee UUNNXX bbeehhaavviioouurr iinn EExxttUUttiillss::::MMaakkeeMMaakkeerr

SYNOPSIS #

DESCRIPTION #

 os_flavor

 init_linker

EExxttUUttiillss::::MMMM__CCyyggwwiinn -- mmeetthhooddss ttoo oovveerrrriiddee UUNNXX bbeehhaavviioouurr iinn EExxttUUttiillss::::MMaakkeeMMaakkeerr

SYNOPSIS #

DESCRIPTION #

     os_flavor

 cflags

 replace_manpage_separator

 init_linker

 maybe_command

 dynamic_lib

 install

EExxttUUttiillss::::MMMM__DDOOSS -- DDOOSS ssppeecciiffiicc ssuubbccllaassss ooff EExxttUUttiillss::::MMMM__UUnniixx

SYNOPSIS #

DESCRIPTION #

     Overridden methods
         os_flavor

 rreeppllaaccee__mmaannppaaggee__sseeppaarraattoorr

 xs_static_lib_is_xs

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::MMMM__DDaarrwwiinn -- ssppeecciiaall bbeehhaavviioorrss ffoorr OOSS XX

SYNOPSIS #

DESCRIPTION #

     Overridden Methods

EExxttUUttiillss::::MMMM__MMaaccOOSS -- oonnccee pprroodduucceedd MMaakkeeffiilleess ffoorr MMaaccOOSS CCllaassssiicc

SYNOPSIS #

DESCRIPTION #

EExxttUUttiillss::::MMMM__NNWW55 -- mmeetthhooddss ttoo oovveerrrriiddee UUNNXX bbeehhaavviioouurr iinn EExxttUUttiillss::::MMaakkeeMMaakkeerr

SYNOPSIS #

DESCRIPTION #

 os_flavor

 init_platform, platform_constants

 static_lib_pure_cmd

 xs_static_lib_is_xs

 dynamic_lib

EExxttUUttiillss::::MMMM__OOSS22 -- mmeetthhooddss ttoo oovveerrrriiddee UUNNXX bbeehhaavviioouurr iinn EExxttUUttiillss::::MMaakkeeMMaakkeerr

SYNOPSIS #

DESCRIPTION #

METHODS #

     init_dist

 init_linker

 os_flavor

 xs_static_lib_is_xs

EExxttUUttiillss::::MMMM__OOSS339900 -- OOSS339900 ssppeecciiffiicc ssuubbccllaassss ooff EExxttUUttiillss::::MMMM__UUnniixx

SYNOPSIS #

DESCRIPTION #

     Overriden methods
         xs_make_dynamic_lib

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::MMMM__QQNNXX -- QQNNXX ssppeecciiffiicc ssuubbccllaassss ooff EExxttUUttiillss::::MMMM__UUnniixx

SYNOPSIS #

DESCRIPTION #

     Overridden methods

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::MMMM__UUWWIINN -- UU//WWIINN ssppeecciiffiicc ssuubbccllaassss ooff EExxttUUttiillss::::MMMM__UUnniixx

SYNOPSIS #

DESCRIPTION #

     Overridden methods
         os_flavor

 rreeppllaaccee__mmaannppaaggee__sseeppaarraattoorr

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::MMMM__UUnniixx -- mmeetthhooddss uusseedd bbyy EExxttUUttiillss::::MMaakkeeMMaakkeerr

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)

 ddiisstt__ttaarrggeett

 ttaarrddiisstt__ttaarrggeett

 zziippddiisstt__ttaarrggeett

 ttaarrffiillee__ttaarrggeett

 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 #

EExxttUUttiillss::::MMMM__VVMMSS -- mmeetthhooddss ttoo oovveerrrriiddee UUNNXX bbeehhaavviioouurr iinn EExxttUUttiillss::::MMaakkeeMMaakkeerr

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

 eecchhoo

 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 #

EExxttUUttiillss::::MMMM__VVOOSS -- VVOOSS ssppeecciiffiicc ssuubbccllaassss ooff EExxttUUttiillss::::MMMM__UUnniixx

SYNOPSIS #

DESCRIPTION #

     Overridden methods

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::MMMM__WWiinn3322 -- mmeetthhooddss ttoo oovveerrrriiddee UUNNXX bbeehhaavviioouurr iinn EExxttUUttiillss::::MMaakkeeMMaakkeerr

SYNOPSIS #

DESCRIPTION #

 Overridden methods
     ddllssyymmss

 xs_dlsyms_ext

 replace_manpage_separator

 mmaayybbee__ccoommmmaanndd

 iinniitt__DDIIRRFFIILLEESSEEPP

 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

EExxttUUttiillss::::MMMM__WWiinn9955 -- mmeetthhoodd ttoo ccuussttoommiizzee MMaakkeeMMaakkeerr ffoorr WWiinn99XX

SYNOPSIS #

DESCRIPTION #

     Overridden methods
         max_exec_len

 os_flavor

AUTHOR #

EExxttUUttiillss::::MMYY -- EExxttUUttiillss::::MMaakkeeMMaakkeerr ssuubbccllaassss ffoorr ccuussttoommiizzaattiioonn

SYNOPSIS #

DESCRIPTION #

EExxttUUttiillss::::MMaakkeeMMaakkeerr -- CCrreeaattee aa mmoodduullee MMaakkeeffiillee

SYNOPSIS #

DESCRIPTION #

     How To Write A Makefile.PL
     Default Makefile Behaviour
     make test
     make testdb
     make install

INSTALL_BASE #

     PREFIX and LIB attribute
     AFS users
     Static Linking of a new Perl Binary
     Determination of Perl Library and Installation Locations
     Which architecture dependent directory?
     Using Attributes and Parameters

ABSTRACT, ABSTRACT_FROM, AUTHOR, BINARY_LOCATION, BUILD_REQUIRES, #

C, CCFLAGS, CONFIG, CONFIGURE, CONFIGURE_REQUIRES, DEFINE, #

DESTDIR, DIR, DISTNAME, DISTVNAME, DLEXT, DL_FUNCS, DL_VARS, #

EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FULLPERLRUN, #

FULLPERLRUNINST, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, #

INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, #

INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, #

INSTALLSITEBIN, INSTALLSITELIB, INSTALLSITEMAN1DIR, #

INSTALLSITEMAN3DIR, INSTALLSITESCRIPT, INSTALLVENDORARCH, #

INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, #

INSTALLVENDORMAN3DIR, INSTALLVENDORSCRIPT, INST_ARCHLIB, #

INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, #

LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LICENSE, LINKTYPE, #

MAGICXS, MAKE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, #

MAP_TARGET, META_ADD, META_MERGE, MIN_PERL_VERSION, MYEXTLIB, #

NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_MYMETA, #

NO_PACKLIST, NO_PERLLOCAL, NO_VC, OBJECT, OPTIMIZE, PERL, #

PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, #

PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_DIR, PERM_RW, #

PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, #

PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PPM_UNINSTALL_EXEC, #

PPM_UNINSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, #

PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SIGN, SKIP, #

TEST_REQUIRES, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, #

VERSION_FROM, VERSION_SYM, XS, XSBUILD, XSMULTI, XSOPT, #

XSPROTOARG, XS_VERSION #

     Additional lowercase attributes
         clean, depend, dist, dynamic_lib, linkext, macro, postamble,
         realclean, test, tool_autosplit

     Overriding MakeMaker Methods
     The End Of Cargo Cult Programming

“MAN3PODS => ’ ‘” #

     Hintsfile support
     Distribution Support
            make distcheck,    make skipcheck,    make distclean,    make veryclean,
            make manifest,    make distdir,   make disttest,    make tardist,
         make dist,    make uutardist,    make shdist,    make zipdist,    make ci

     Module Meta-Data (META and MYMETA)
     Disabling an extension
     Other Handy Functions
         prompt, os_unsupported

     Supported versions of Perl

ENVIRONMENT #

PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE #

SEE ALSO #

AUTHORS #

LICENSE #

EExxttUUttiillss::::MMaakkeeMMaakkeerr::::CCoonnffiigg -- WWrraappppeerr aarroouunndd CCoonnffiigg..ppmm

SYNOPSIS #

DESCRIPTION #

EExxttUUttiillss::::MMaakkeeMMaakkeerr::::FFAAQQ -- FFrreeqquueennttllyy AAsskkeedd QQuueessttiioonnss AAbboouutt MMaakkeeMMaakkeerr

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 _M_E_T_A_._y_m_l thing and how did it get in my
         _M_A_N_I_F_E_S_T?!, How do I delete everything not in my _M_A_N_I_F_E_S_T?, 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 #

EExxttUUttiillss::::MMaakkeeMMaakkeerr::::LLooccaallee -- bbuunnddlleedd EEnnccooddee::::LLooccaallee

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 #

EExxttUUttiillss::::MMaakkeeMMaakkeerr::::TTuuttoorriiaall -- WWrriittiinngg aa mmoodduullee wwiitthh MMaakkeeMMaakkeerr

SYNOPSIS #

DESCRIPTION #

     The Mantra
     The Layout
         Makefile.PL, MANIFEST, lib/, t/, Changes, README, INSTALL,
         MANIFEST.SKIP, bin/

SEE ALSO #

EExxttUUttiillss::::MMaanniiffeesstt -- UUttiilliittiieess ttoo wwrriittee aanndd cchheecckk aa MMAANNIIFFEESSTT ffiillee

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:" _f_i_l_e, "Skipping" _f_i_l_e, "No such file:" _f_i_l_e,
     "MANIFEST:" _$_!, "Added to MANIFEST:" _f_i_l_e

ENVIRONMENT #

PPEERRLL__MMMM__MMAANNIIFFEESSTT__DDEEBBUUGG #

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::MMiinniippeerrll -- wwrriittee tthhee CC ccooddee ffoorr mmiinniippeerrllmmaaiinn..cc aanndd ppeerrllmmaaiinn..cc

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

EExxttUUttiillss::::MMkkbboooottssttrraapp -- mmaakkee aa bboooottssttrraapp ffiillee ffoorr uussee bbyy DDyynnaaLLooaaddeerr

SYNOPSIS #

DESCRIPTION #

EExxttUUttiillss::::MMkkssyymmlliissttss -- wwrriittee lliinnkkeerr ooppttiioonnss ffiilleess ffoorr ddyynnaammiicc eexxtteennssiioonn

SYNOPSIS #

DESCRIPTION #

DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME #

AUTHOR #

REVISION #

EExxttUUttiillss::::PPLL22BBaatt -- BBaattcchh ffiillee ccrreeaattiioonn ttoo rruunn ppeerrll ssccrriippttss oonn WWiinnddoowwss

VERSION #

OVERVIEW #

FUNCTIONS #

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

ACKNOWLEDGEMENTS #

AUTHOR #

 mmkkffhh(())

 __find_relocations

EExxttUUttiillss::::PPaacckklliisstt -- mmaannaaggee ..ppaacckklliisstt ffiilleess

SYNOPSIS #

DESCRIPTION #

USAGE #

FUNCTIONS #

     nneeww(()), rreeaadd(()), wwrriittee(()), vvaalliiddaattee(()), ppaacckklliisstt__ffiillee(())

EXAMPLE #

AUTHOR #

EExxttUUttiillss::::PPaarrsseeXXSS -- ccoonnvveerrttss PPeerrll XXSS ccooddee iinnttoo CC ccooddee

SYNOPSIS #

DESCRIPTION #

EXPORT #

METHODS #

     $pxs->nneeww(()), $pxs->pprroocceessss__ffiillee(()), CC++++, hhiieerrttyyppee, eexxcceepptt, ttyyppeemmaapp,
     pprroottoottyyppeess, vveerrssiioonncchheecckk, lliinneennuummbbeerrss, ooppttiimmiizzee, iinnoouutt, aarrggttyyppeess, ss,
     $pxs->rreeppoorrtt__eerrrroorr__ccoouunntt(())

AUTHOR #

SEE ALSO #

EExxttUUttiillss::::PPaarrsseeXXSS::::CCoonnssttaannttss -- IInniittiiaalliizzaattiioonn vvaalluueess ffoorr ssoommee gglloobbaallss

SYNOPSIS #

DESCRIPTION #

EExxttUUttiillss::::PPaarrsseeXXSS::::EEvvaall -- CClleeaann ppaacckkaaggee ttoo eevvaalluuaattee ccooddee iinn

SYNOPSIS #

SUBROUTINES #

     $pxs->eval_output_typemap_code($typemapcode, $other_hashref)
 $pxs->eval_input_typemap_code($typemapcode, $other_hashref)

TODO #

EExxttUUttiillss::::PPaarrsseeXXSS::::UUttiilliittiieess -- SSuubbrroouuttiinneess uusseedd wwiitthh EExxttUUttiillss::::PPaarrsseeXXSS

SYNOPSIS #

SUBROUTINES #

     "standard_typemap_locations()"
         Purpose, Arguments, Return Value

 "trim_whitespace()"
     Purpose, Argument, Return Value

 "C_string()"
     Purpose, Arguments, Return Value

 "valid_proto_string()"
     Purpose, Arguments, Return Value

 "process_typemaps()"
     Purpose, Arguments, Return Value

 "map_type()"
     Purpose, Arguments, Return Value

 "standard_XS_defs()"
     Purpose, Arguments, Return Value

 "assign_func_args()"
     Purpose, Arguments, Return Value

 "analyze_preprocessor_statements()"
     Purpose, Arguments, Return Value

 "set_cond()"
     Purpose, Arguments, Return Value

 "current_line_number()"
     Purpose, Arguments, Return Value

 "Warn()"
     Purpose, Arguments, Return Value

 "blurt()"
     Purpose, Arguments, Return Value

 "death()"
     Purpose, Arguments, Return Value

 "check_conditional_preprocessor_statements()"
     Purpose, Arguments, Return Value

 "escape_file_for_line_directive()"
     Purpose, Arguments, Return Value

 "report_typemap_failure"
     Purpose, Arguments, Return Value

EExxttUUttiillss::::TTyyppeemmaappss -- RReeaadd//WWrriittee//MMooddiiffyy PPeerrll//XXSS ttyyppeemmaapp ffiilleess

SYNOPSIS #

DESCRIPTION #

METHODS #

 new
 file
 add_typemap
 add_inputmap
 add_outputmap
 add_string
 remove_typemap
 remove_inputmap
 remove_inputmap
 get_typemap
 get_inputmap
 get_outputmap
 write
 as_string
 as_embedded_typemap
 merge
 is_empty
 list_mapped_ctypes
 _get_typemap_hash
 _get_inputmap_hash
 _get_outputmap_hash
 _get_prototype_hash
 clone
 tidy_type

CAVEATS #

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::TTyyppeemmaappss::::CCmmdd -- QQuuiicckk ccoommmmaannddss ffoorr hhaannddlliinngg ttyyppeemmaappss

SYNOPSIS #

DESCRIPTION #

EXPORTED FUNCTIONS #

     embeddable_typemap

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::TTyyppeemmaappss::::IInnppuuttMMaapp -- EEnnttrryy iinn tthhee IINNPPUUTT sseeccttiioonn ooff aa ttyyppeemmaapp

SYNOPSIS #

DESCRIPTION #

METHODS #

 new
 code
 xstype
 cleaned_code

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::TTyyppeemmaappss::::OOuuttppuuttMMaapp -- EEnnttrryy iinn tthhee OOUUTTPPUUTT sseeccttiioonn ooff aa ttyyppeemmaapp

SYNOPSIS #

DESCRIPTION #

METHODS #

 new
 code
 xstype
 cleaned_code
 targetable

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::TTyyppeemmaappss::::TTyyppee -- EEnnttrryy iinn tthhee TTYYPPEEMMAAPP sseeccttiioonn ooff aa ttyyppeemmaapp

SYNOPSIS #

DESCRIPTION #

METHODS #

 new
 proto
 xstype
 ctype
 tidy_ctype

SEE ALSO #

AUTHOR #

EExxttUUttiillss::::tteessttlliibb -- aadddd bblliibb// ddiirreeccttoorriieess ttoo @@IINNCC

SYNOPSIS #

DESCRIPTION #

FFaattaall -- RReeppllaaccee ffuunnccttiioonnss wwiitthh eeqquuiivvaalleennttss wwhhiicchh ssuucccceeeedd oorr ddiiee

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 #

FFccnnttll -- llooaadd tthhee CC FFccnnttll..hh ddeeffiinneess

SYNOPSIS #

DESCRIPTION #

NOTE #

EXPORTED SYMBOLS #

FFiillee::::BBaasseennaammee -- PPaarrssee ffiillee ppaatthhss iinnttoo ddiirreeccttoorryy,, ffiilleennaammee aanndd ssuuffffiixx..

SYNOPSIS #

DESCRIPTION #

 "fileparse"

 "basename"

 "dirname"

 "fileparse_set_fstype"

SEE ALSO #

FFiillee::::CCoommppaarree -- CCoommppaarree ffiilleess oorr ffiilleehhaannddlleess

SYNOPSIS #

DESCRIPTION #

RETURN #

AUTHOR #

FFiillee::::CCooppyy -- CCooppyy ffiilleess oorr ffiilleehhaannddlleess

SYNOPSIS #

DESCRIPTION #

     copy  , move   , syscopy , rmscopy($from,$to[,$date_flag])

RETURN #

NOTES #

AUTHOR #

FFiillee::::DDoossGGlloobb -- DDOOSS lliikkee gglloobbbbiinngg aanndd tthheenn ssoommee

SYNOPSIS #

DESCRIPTION #

 EXPORTS (by request only)

BUGS #

AUTHOR #

HISTORY #

SEE ALSO #

FFiillee::::FFeettcchh -- AA ggeenneerriicc ffiillee ffeettcchhiinngg mmeecchhaanniissmm

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 #

FFiillee::::FFiinndd -- TTrraavveerrssee aa ddiirreeccttoorryy ttrreeee..

SYNOPSIS #

DESCRIPTION #

     ffiinndd, ffiinnddddeepptthh

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

FFiillee::::GGlloobb -- PPeerrll eexxtteennssiioonn ffoorr BBSSDD gglloobb rroouuttiinnee

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 #

FFiillee::::GGlloobbMMaappppeerr -- EExxtteenndd FFiillee GGlloobb ttoo AAllllooww IInnppuutt aanndd OOuuttppuutt FFiilleess

SYNOPSIS #

DESCRIPTION #

     Behind The Scenes
     Limitations
     Input File Glob
         ~~, ~~uusseerr, .., **, ??, \\,  [[]],  {{,,}},  (())

     Output File Glob
         "*", #1

     Returned Data

EXAMPLES #

     A Rename script
     A few example globmaps

SEE ALSO #

AUTHOR #

FFiillee::::PPaatthh -- CCrreeaattee oorr rreemmoovvee ddiirreeccttoorryy ttrreeeess

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 #

NNOOTTEE:: #

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 #

     <_b_u_l_k_d_d_@_c_p_a_n_._o_r_g>, Charlie Gonzalez <_i_t_c_h_a_r_l_i_e_@_c_p_a_n_._o_r_g>, Craig A.
     Berry <_c_r_a_i_g_b_e_r_r_y_@_m_a_c_._c_o_m>, James E Keenan <_j_k_e_e_n_a_n_@_c_p_a_n_._o_r_g>, John
     Lightsey <_j_o_h_n_@_p_e_r_l_s_e_c_._o_r_g>, Nigel Horne <_n_j_h_@_b_a_n_d_s_m_a_n_._c_o_._u_k>,
     Richard Elberger <_r_i_c_h_e_@_c_p_a_n_._o_r_g>, Ryan Yee <_r_y_e_e_@_c_p_a_n_._o_r_g>, Skye
     Shaw <_s_h_a_w_@_c_p_a_n_._o_r_g>, Tom Lutz <_t_o_m_m_y_l_u_t_z_@_g_m_a_i_l_._c_o_m>, Will Sheppard
     <_w_i_l_l_s_h_e_p_p_a_r_d_@_g_i_t_h_u_b>

LICENSE #

FFiillee::::SSppeecc -- ppoorrttaabbllyy ppeerrffoorrmm ooppeerraattiioonnss oonn ffiillee nnaammeess

SYNOPSIS #

DESCRIPTION #

METHODS #

     canonpath , catdir , catfile , curdir , devnull , rootdir , tmpdir ,
     updir , no_upwards, case_tolerant, file_name_is_absolute, path , join
     , splitpath  , splitdir
      , ccaattppaatthh(()), abs2rel , rreell22aabbss(())

SEE ALSO #

AUTHOR #

FFiillee::::SSppeecc::::AAmmiiggaaOOSS -- FFiillee::::SSppeecc ffoorr AAmmiiggaaOOSS

SYNOPSIS #

DESCRIPTION #

METHODS #

     tmpdir

 file_name_is_absolute

FFiillee::::SSppeecc::::CCyyggwwiinn -- mmeetthhooddss ffoorr CCyyggwwiinn ffiillee ssppeeccss

SYNOPSIS #

DESCRIPTION #

 canonpath

 file_name_is_absolute

 tmpdir (override)

 case_tolerant

FFiillee::::SSppeecc::::EEppoocc -- mmeetthhooddss ffoorr EEppoocc ffiillee ssppeeccss

SYNOPSIS #

DESCRIPTION #

 ccaannoonnppaatthh(())

AUTHOR #

SEE ALSO #

FFiillee::::SSppeecc::::FFuunnccttiioonnss -- ppoorrttaabbllyy ppeerrffoorrmm ooppeerraattiioonnss oonn ffiillee nnaammeess

SYNOPSIS #

DESCRIPTION #

     Exports

SEE ALSO #

FFiillee::::SSppeecc::::MMaacc -- FFiillee::::SSppeecc ffoorr MMaacc OOSS ((CCllaassssiicc))

SYNOPSIS #

DESCRIPTION #

METHODS #

     canonpath

 ccaattddiirr(())

 catfile

 curdir

 devnull

 rootdir

 tmpdir

 updir

 file_name_is_absolute

 path

 splitpath

 splitdir

 catpath

 abs2rel

 rel2abs

AUTHORS #

SEE ALSO #

FFiillee::::SSppeecc::::OOSS22 -- mmeetthhooddss ffoorr OOSS//22 ffiillee ssppeeccss

SYNOPSIS #

DESCRIPTION #

     tmpdir, splitpath

FFiillee::::SSppeecc::::UUnniixx -- FFiillee::::SSppeecc ffoorr UUnniixx,, bbaassee ffoorr ootthheerr FFiillee::::SSppeecc mmoodduulleess

SYNOPSIS #

DESCRIPTION #

METHODS #

     ccaannoonnppaatthh(())

 ccaattddiirr(())

 catfile

 curdir

 devnull

 rootdir

 tmpdir

 updir

 no_upwards

 case_tolerant

 file_name_is_absolute

 path

 join

 splitpath

 splitdir

 ccaattppaatthh(())

 abs2rel

 rreell22aabbss(())

SEE ALSO #

FFiillee::::SSppeecc::::VVMMSS -- mmeetthhooddss ffoorr VVMMSS ffiillee ssppeeccss

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)

SEE ALSO #

FFiillee::::SSppeecc::::WWiinn3322 -- mmeetthhooddss ffoorr WWiinn3322 ffiillee ssppeeccss

SYNOPSIS #

DESCRIPTION #

     devnull

 tmpdir

 case_tolerant

 file_name_is_absolute

 catfile

 canonpath

 splitpath

 splitdir

 catpath

 Note For File::Spec::Win32 Maintainers

SEE ALSO #

FFiillee::::TTeemmpp -- rreettuurrnn nnaammee aanndd hhaannddllee ooff aa tteemmppoorraarryy ffiillee ssaaffeellyy

VERSION #

SYNOPSIS #

DESCRIPTION #

PORTABILITY #

OBJECT-ORIENTED INTERFACE #

     nneeww, nneewwddiirr, ffiilleennaammee, ddiirrnnaammee, uunnlliinnkk__oonn__ddeessttrrooyy, DDEESSTTRROOYY

FUNCTIONS #

     tteemmppffiillee, tteemmppddiirr

MKTEMP FUNCTIONS #

     mmkksstteemmpp, mmkksstteemmppss, mmkkddtteemmpp, mmkktteemmpp

POSIX FUNCTIONS #

     ttmmppnnaamm, ttmmppffiillee

ADDITIONAL FUNCTIONS #

     tteemmppnnaamm

UTILITY FUNCTIONS #

     uunnlliinnkk00, ccmmppssttaatt, uunnlliinnkk11, cclleeaannuupp

PACKAGE VARIABLES #

     ssaaffee__lleevveell, STANDARD, MEDIUM, HIGH, TopSystemUID, $$KKEEEEPP__AALLLL, $$DDEEBBUUGG

WARNING #

     Temporary files and NFS
     Forking
     Directory removal
     Taint mode

BINMODE #

HISTORY #

SEE ALSO #

SUPPORT #

AUTHOR #

CONTRIBUTORS #

FFiillee::::ssttaatt -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ssttaatt(()) ffuunnccttiioonnss

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 #

FFiilleeCCaacchhee -- kkeeeepp mmoorree ffiilleess ooppeenn tthhaann tthhee ssyysstteemm ppeerrmmiittss

SYNOPSIS #

DESCRIPTION #

     cacheout EXPR, cacheout MODE, EXPR

CAVEATS #

BUGS #

FFiilleeHHaannddllee -- ssuuppppllyy oobbjjeecctt mmeetthhooddss ffoorr ffiilleehhaannddlleess

SYNOPSIS #

DESCRIPTION #

     $fh->print, $fh->printf, $fh->getline, $fh->getlines

SEE ALSO #

FFiilltteerr::::SSiimmppllee -- SSiimmpplliiffiieedd ssoouurrccee ffiilltteerriinngg

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 #

FFiilltteerr::::UUttiill::::CCaallll -- PPeerrll SSoouurrccee FFiilltteerr UUttiilliittyy MMoodduullee

SYNOPSIS #

DESCRIPTION #

     uussee FFiilltteerr::::UUttiill::::CCaallll
     iimmppoorrtt(())
     ffiilltteerr__aadddd(())
     ffiilltteerr(()) aanndd aannoonnyymmoouuss ssuubb
         $$__, $$ssttaattuuss, ffiilltteerr__rreeaadd and ffiilltteerr__rreeaadd__eexxaacctt, ffiilltteerr__ddeell,
         _r_e_a_l___i_m_p_o_r_t, _uu_nn_ii_mm_pp_oo_rr_tt_((_))

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 #

FFiinnddBBiinn -- LLooccaattee ddiirreeccttoorryy ooff oorriiggiinnaall ppeerrll ssccrriipptt

SYNOPSIS #

DESCRIPTION #

EXPORTABLE VARIABLES #

KNOWN ISSUES #

AUTHORS #

GGeettoopptt::::LLoonngg -- EExxtteennddeedd pprroocceessssiinngg ooff ccoommmmaanndd lliinnee ooppttiioonnss

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, : _t_y_p_e [ _d_e_s_t_t_y_p_e ], : _n_u_m_b_e_r [ _d_e_s_t_t_y_p_e ], : +
         [ _d_e_s_t_t_y_p_e ]

 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 #

GGeettoopptt::::SSttdd -- PPrroocceessss ssiinnggllee--cchhaarraacctteerr sswwiittcchheess wwiitthh sswwiittcchh cclluusstteerriinngg

SYNOPSIS #

DESCRIPTION #

 "--help" and "--version"

HHTTTTPP::::TTiinnyy -- AA ssmmaallll,, ssiimmppllee,, ccoorrrreecctt HHTTTTPP//11..11 cclliieenntt

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     new
     get|head|put|post|patch|delete
     post_form
     mirror
     request
     www_form_urlencode
     can_ssl
     connected

SSL SUPPORT #

PROXY SUPPORT #

LIMITATIONS #

SEE ALSO #

SUPPORT #

     Bugs / Feature Requests
     Source Code

AUTHORS #

CONTRIBUTORS #

HHaasshh::::UUttiill -- AA sseelleeccttiioonn ooff ggeenneerraall--uuttiilliittyy hhaasshh ssuubbrroouuttiinneess

SYNOPSIS #

DESCRIPTION #

     Restricted hashes
         lloocckk__kkeeyyss, uunnlloocckk__kkeeyyss

 lloocckk__kkeeyyss__pplluuss

 lloocckk__vvaalluuee, uunnlloocckk__vvaalluuee

 lloocckk__hhaasshh, uunnlloocckk__hhaasshh

 lloocckk__hhaasshh__rreeccuurrssee, uunnlloocckk__hhaasshh__rreeccuurrssee

 hhaasshhrreeff__lloocckkeedd, hhaasshh__lloocckkeedd

 hhaasshhrreeff__uunnlloocckkeedd, hhaasshh__uunnlloocckkeedd

 lleeggaall__kkeeyyss, hhiiddddeenn__kkeeyyss, aallll__kkeeyyss, hhaasshh__sseeeedd, hhaasshh__vvaalluuee, bbuucckkeett__iinnffoo,
 bbuucckkeett__ssttaattss, bbuucckkeett__aarrrraayy

 bbuucckkeett__ssttaattss__ffoorrmmaatttteedd

 hhvv__ssttoorree, hhaasshh__ttrraavveerrssaall__mmaasskk, bbuucckkeett__rraattiioo, uusseedd__bbuucckkeettss, nnuumm__bbuucckkeettss

 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 #

HHaasshh::::UUttiill::::FFiieellddHHaasshh -- SSuuppppoorrtt ffoorr IInnssiiddee--OOuutt CCllaasssseess

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 #

II1188NN::::CCoollllaattee -- ccoommppaarree 88--bbiitt ssccaallaarr ddaattaa aaccccoorrddiinngg ttoo tthhee ccuurrrreenntt llooccaallee

SYNOPSIS #

DESCRIPTION #

II1188NN::::LLaannggTTaaggss -- ffuunnccttiioonnss ffoorr ddeeaalliinngg wwiitthh RRFFCC33006666--ssttyyllee llaanngguuaaggee ttaaggss

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 #

AUTHOR #

II1188NN::::LLaannggTTaaggss::::DDeetteecctt -- ddeetteecctt tthhee uusseerr’’ss llaanngguuaaggee pprreeffeerreenncceess

SYNOPSIS #

DESCRIPTION #

FUNCTIONS #

ENVIRONMENT #

SEE ALSO #

AUTHOR #

II1188NN::::LLaannggTTaaggss::::LLiisstt -–- ttaaggss aanndd nnaammeess ffoorr hhuummaann llaanngguuaaggeess

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 #

AUTHOR #

II1188NN::::LLaannggiinnffoo -- qquueerryy llooccaallee iinnffoorrmmaattiioonn

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 #

IIOO -- llooaadd vvaarriioouuss IIOO mmoodduulleess

SYNOPSIS #

DESCRIPTION #

DEPRECATED #

IIOO::::CCoommpprreessss::::BBaassee -- BBaassee CCllaassss ffoorr IIOO::::CCoommpprreessss mmoodduulleess

SYNOPSIS #

DESCRIPTION #

SUPPORT #

SEE ALSO #

AUTHOR #

MODIFICATION HISTORY #

IIOO::::CCoommpprreessss::::BBzziipp22 -- WWrriittee bbzziipp22 ffiilleess//bbuuffffeerrss

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 #

IIOO::::CCoommpprreessss::::DDeeffllaattee -- WWrriittee RRFFCC 11995500 ffiilleess//bbuuffffeerrss

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 #

IIOO::::CCoommpprreessss::::FFAAQQ -–- FFrreeqquueennttllyy AAsskkeedd QQuueessttiioonnss aabboouutt IIOO::::CCoommpprreessss

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 #

IIOO::::CCoommpprreessss::::GGzziipp -- WWrriittee RRFFCC 11995522 ffiilleess//bbuuffffeerrss

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 #

IIOO::::CCoommpprreessss::::RRaawwDDeeffllaattee -- WWrriittee RRFFCC 11995511 ffiilleess//bbuuffffeerrss

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 #

IIOO::::CCoommpprreessss::::ZZiipp -- WWrriittee zziipp ffiilleess//bbuuffffeerrss

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, 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 _a_r_c_h_i_v_e _m_e_m_b_e_r _n_a_m_e 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 #

IIOO::::DDiirr -- ssuuppppllyy oobbjjeecctt mmeetthhooddss ffoorr ddiirreeccttoorryy hhaannddlleess

SYNOPSIS #

DESCRIPTION #

     new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell
     (), rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]

SEE ALSO #

AUTHOR #

IIOO::::FFiillee -- ssuuppppllyy oobbjjeecctt mmeetthhooddss ffoorr ffiilleehhaannddlleess

SYNOPSIS #

DESCRIPTION #

CONSTRUCTOR #

     new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile

METHODS #

     open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS ),
     binmode( [LAYER] )

NOTE #

SEE ALSO #

HISTORY #

IIOO::::HHaannddllee -- ssuuppppllyy oobbjjeecctt mmeetthhooddss ffoorr II//OO hhaannddlleess

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 #

IIOO::::PPiippee -- ssuuppppllyy oobbjjeecctt mmeetthhooddss ffoorr ppiippeess

SYNOPSIS #

DESCRIPTION #

CONSTRUCTOR #

     new ( [READER, WRITER] )

METHODS #

     reader ([ARGS]), writer ([ARGS]), handles ()

SEE ALSO #

AUTHOR #

IIOO::::PPoollll -- OObbjjeecctt iinntteerrffaaccee ttoo ssyysstteemm ppoollll ccaallll

SYNOPSIS #

DESCRIPTION #

METHODS #

     mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ),
     remove ( IO ), handles( [ EVENT_MASK ] )

SEE ALSO #

AUTHOR #

IIOO::::SSeeeekkaabbllee -- ssuuppppllyy sseeeekk bbaasseedd mmeetthhooddss ffoorr II//OO oobbjjeeccttss

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 #

IIOO::::SSeelleecctt -- OOOO iinntteerrffaaccee ttoo tthhee sseelleecctt ssyysstteemm ccaallll

SYNOPSIS #

DESCRIPTION #

CONSTRUCTOR #

     new ( [ HANDLES ] )

METHODS #

     add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles,
     can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception (
     [ TIMEOUT ] ), count (), bbiittss(()), select ( READ, WRITE, EXCEPTION [,

TIMEOUT ] ) #

EXAMPLE #

AUTHOR #

IIOO::::SSoocckkeett -- OObbjjeecctt iinntteerrffaaccee ttoo ssoocckkeett ccoommmmuunniiccaattiioonnss

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 #

IIOO::::SSoocckkeett::::IINNEETT -- OObbjjeecctt iinntteerrffaaccee ffoorr AAFF__IINNEETT ddoommaaiinn ssoocckkeettss

SYNOPSIS #

DESCRIPTION #

CONSTRUCTOR #

     new ( [ARGS] )

METHODS #

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

SEE ALSO #

AUTHOR #

IIOO::::SSoocckkeett::::IIPP,, “"IIOO::::SSoocckkeett::::IIPP"” -- FFaammiillyy--nneeuuttrraall IIPP ssoocckkeett ssuuppppoorrttiinngg bbootthh IIPPvv44 aanndd IIPPvv66

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 #

IIOO::::SSoocckkeett::::UUNNIIXX -- OObbjjeecctt iinntteerrffaaccee ffoorr AAFF__UUNNIIXX ddoommaaiinn ssoocckkeettss

SYNOPSIS #

DESCRIPTION #

CONSTRUCTOR #

     new ( [ARGS] )

METHODS #

     hhoossttppaatthh(()), ppeeeerrppaatthh(())

SEE ALSO #

AUTHOR #

IIOO::::UUnnccoommpprreessss::::AAnnyyIInnffllaattee -- UUnnccoommpprreessss zzlliibb--bbaasseedd ((zziipp,, ggzziipp)) ffiillee//bbuuffffeerr

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 #

IIOO::::UUnnccoommpprreessss::::AAnnyyUUnnccoommpprreessss -- UUnnccoommpprreessss ggzziipp,, zziipp,, bbzziipp22,, zzssttdd,, xxzz,, llzzmmaa,, llzziipp,, llzzff oorr llzzoopp ffiillee//bbuuffffeerr

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 #

IIOO::::UUnnccoommpprreessss::::BBaassee -- BBaassee CCllaassss ffoorr IIOO::::UUnnccoommpprreessss mmoodduulleess

SYNOPSIS #

DESCRIPTION #

SUPPORT #

SEE ALSO #

AUTHOR #

MODIFICATION HISTORY #

IIOO::::UUnnccoommpprreessss::::BBuunnzziipp22 -- RReeaadd bbzziipp22 ffiilleess//bbuuffffeerrss

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 #

IIOO::::UUnnccoommpprreessss::::GGuunnzziipp -- RReeaadd RRFFCC 11995522 ffiilleess//bbuuffffeerrss

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 #

IIOO::::UUnnccoommpprreessss::::IInnffllaattee -- RReeaadd RRFFCC 11995500 ffiilleess//bbuuffffeerrss

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 #

IIOO::::UUnnccoommpprreessss::::RRaawwIInnffllaattee -- RReeaadd RRFFCC 11995511 ffiilleess//bbuuffffeerrss

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 #

IIOO::::UUnnccoommpprreessss::::UUnnzziipp -- RReeaadd zziipp ffiilleess//bbuuffffeerrss

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 #

IIOO::::ZZlliibb -- IIOO:::: ssttyyllee iinntteerrffaaccee ttoo CCoommpprreessss::::ZZlliibb

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 #

IIPPCC::::CCmmdd -- ffiinnddiinngg aanndd rruunnnniinngg ssyysstteemm ccoommmmaannddss mmaaddee eeaassyy

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 / ssyysstteemm(()), Whitespace and IPC::Run, IO
     Redirect, Interleaving STDOUT/STDERR

 See Also

ACKNOWLEDGEMENTS #

BUG REPORTS #

AUTHOR #

IIPPCC::::MMssgg -- SSyyssVV MMssgg IIPPCC oobbjjeecctt ccllaassss

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 #

IIPPCC::::OOppeenn22 -- ooppeenn aa pprroocceessss ffoorr bbootthh rreeaaddiinngg aanndd wwrriittiinngg uussiinngg ooppeenn22(())

SYNOPSIS #

DESCRIPTION #

WARNING #

SEE ALSO #

IIPPCC::::OOppeenn33 -- ooppeenn aa pprroocceessss ffoorr rreeaaddiinngg,, wwrriittiinngg,, aanndd eerrrroorr hhaannddlliinngg uussiinngg ooppeenn33(())

SYNOPSIS #

DESCRIPTION #

 See Also
     IPC::Open2, IPC::Run

WARNING #

IIPPCC::::SSeemmaapphhoorree -- SSyyssVV SSeemmaapphhoorree IIPPCC oobbjjeecctt ccllaassss

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 #

IIPPCC::::SShhaarreeddMMeemm -- SSyyssVV SShhaarreedd MMeemmoorryy IIPPCC oobbjjeecctt ccllaassss

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 #

IIPPCC::::SSyyssVV -- SSyysstteemm VV IIPPCC ccoonnssttaannttss aanndd ssyysstteemm ccaallllss

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 #

IInntteerrnnaallss -- RReesseerrvveedd ssppeecciiaall nnaammeessppaaccee ffoorr iinntteerrnnaallss rreellaatteedd ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

FUNCTIONS #

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

AUTHOR #

SEE ALSO #

JJSSOONN::::PPPP -- JJSSOONN::::XXSS ccoommppaattiibbllee ppuurree--PPeerrll mmoodduullee..

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
     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 ("# _t_e_x_t"), tagged values ("(_t_a_g)_v_a_l_u_e")

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 #

JJSSOONN::::PPPP::::BBoooolleeaann -- dduummmmyy mmoodduullee pprroovviiddiinngg JJSSOONN::::PPPP::::BBoooolleeaann

SYNOPSIS #

DESCRIPTION #

AUTHOR #

LICENSE #

LLiisstt::::UUttiill -- AA sseelleeccttiioonn ooff ggeenneerraall--uuttiilliittyy lliisstt ssuubbrroouuttiinneess

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 #

     uunniiqqnnuumm(()) on oversized bignums

SUGGESTED ADDITIONS #

SEE ALSO #

LLiisstt::::UUttiill::::XXSS -- IInnddiiccaattee iiff LLiisstt::::UUttiill wwaass ccoommppiilleedd wwiitthh aa CC ccoommppiilleerr

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

LLooccaallee::::MMaakkeetteexxtt -- ffrraammeewwoorrkk ffoorr llooccaalliizzaattiioonn

SYNOPSIS #

DESCRIPTION #

QUICK OVERVIEW #

METHODS #

     Construction Methods
     The "maketext" Method
         $lh->fail_with _o_r $lh->fail_with(_P_A_R_A_M),
         $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->llaanngguuaaggee__ttaagg(()),
         $language->eennccooddiinngg(())

     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 #

AUTHOR #

LLooccaallee::::MMaakkeetteexxtt::::CCooookkbbooookk -- rreecciippeess ffoorr uussiinngg LLooccaallee::::MMaakkeetteexxtt

INTRODUCTION #

ONESIDED LEXICONS #

DECIMAL PLACES IN NUMBER FORMATTING #

LLooccaallee::::MMaakkeetteexxtt::::GGuuttss -- DDeepprreeccaatteedd mmoodduullee ttoo llooaadd LLooccaallee::::MMaakkeetteexxtt uuttff88 ccooddee

SYNOPSIS #

DESCRIPTION #

LLooccaallee::::MMaakkeetteexxtt::::GGuuttssLLooaaddeerr -- DDeepprreeccaatteedd mmoodduullee ttoo llooaadd LLooccaallee::::MMaakkeetteexxtt uuttff88 ccooddee

SYNOPSIS #

DESCRIPTION #

LLooccaallee::::MMaakkeetteexxtt::::SSiimmppllee -- SSiimmppllee iinntteerrffaaccee ttoo LLooccaallee::::MMaakkeetteexxtt::::LLeexxiiccoonn

VERSION #

SYNOPSIS #

DESCRIPTION #

OPTIONS #

     Class
     Path
     Style
     Export
     Subclass
     Decode
     Encoding

ACKNOWLEDGMENTS #

SEE ALSO #

AUTHORS #

     The "MIT" License

LLooccaallee::::MMaakkeetteexxtt::::TTPPJJ1133 -–- aarrttiiccllee aabboouutt ssooffttwwaarree llooccaalliizzaattiioonn

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

MMIIMMEE::::BBaassee6644 -- EEnnccooddiinngg aanndd ddeeccooddiinngg ooff bbaassee6644 ssttrriinnggss

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 #

SEE ALSO #

MMIIMMEE::::QQuuootteeddPPrriinntt -- EEnnccooddiinngg aanndd ddeeccooddiinngg ooff qquuootteedd--pprriinnttaabbllee ssttrriinnggss

SYNOPSIS #

DESCRIPTION #

     encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol,
     $binmode ), decode_qp( $str )

SEE ALSO #

MMaatthh::::BBiiggFFllooaatt -- aarrbbiittrraarryy ssiizzee ffllooaattiinngg ppooiinntt mmaatthh ppaacckkaaggee

SYNOPSIS #

DESCRIPTION #

     Input
     Output

METHODS #

     Configuration methods
         aaccccuurraaccyy(()), pprreecciissiioonn(())

     Constructor methods
         ffrroomm__hheexx(()), ffrroomm__oocctt(()), ffrroomm__bbiinn(()), ffrroomm__iieeeeee775544(()), bbppii(())

     Arithmetic methods
         bbmmuullaadddd(()), bbddiivv(()), bbmmoodd(()), bbeexxpp(()), bbnnookk(()), bbssiinn(()), bbccooss(()),
         bbaattaann(()), bbaattaann22(()), aass__ffllooaatt(()), ttoo__iieeeeee775544(())

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, bbssttrr(()), bbrrssfftt(()), Modifying and =, pprreecciissiioonn(()) vs.
     aaccccuurraaccyy(())

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 #

MMaatthh::::BBiiggIInntt -- aarrbbiittrraarryy ssiizzee iinntteeggeerr mmaatthh ppaacckkaaggee

SYNOPSIS #

DESCRIPTION #

     Input
     Output

METHODS #

     Configuration methods
         aaccccuurraaccyy(()), pprreecciissiioonn(()), ddiivv__ssccaallee(()), rroouunndd__mmooddee(()), uuppggrraaddee(()),
         ddoowwnnggrraaddee(()), mmooddiiffyy(()), ccoonnffiigg(())

     Constructor methods
         nneeww(()), ffrroomm__ddeecc(()), ffrroomm__hheexx(()), ffrroomm__oocctt(()), ffrroomm__bbiinn(()),
         ffrroomm__bbyytteess(()), ffrroomm__bbaassee(()), ffrroomm__bbaassee__nnuumm(()), bbzzeerroo(()), bboonnee(()),
         bbiinnff(()), bbnnaann(()), bbppii(()), ccooppyy(()), aass__iinntt(()), aass__nnuummbbeerr(())

     Boolean methods
         iiss__zzeerroo(()), is_one( [ SIGN ]), iiss__ffiinniittee(()), is_inf( [ SIGN ] ),
         iiss__nnaann(()), iiss__ppoossiittiivvee(()), iiss__ppooss(()), iiss__nneeggaattiivvee(()), iiss__nneegg(()),
         iiss__nnoonn__ppoossiittiivvee(()), iiss__nnoonn__nneeggaattiivvee(()), iiss__oodddd(()), iiss__eevveenn(()),
         iiss__iinntt(())

     Comparison methods
         bbccmmpp(()), bbaaccmmpp(()), bbeeqq(()), bbnnee(()), bblltt(()), bbllee(()), bbggtt(()), bbggee(())

     Arithmetic methods
         bbnneegg(()), bbaabbss(()), bbssggnn(()), bbnnoorrmm(()), bbiinncc(()), bbddeecc(()), bbaadddd(()), bbssuubb(()),
         bbmmuull(()), bbmmuullaadddd(()), bbddiivv(()), bbttddiivv(()), bbmmoodd(()), bbttmmoodd(()), bbmmooddiinnvv(()),
         bbmmooddppooww(()), bbppooww(()), bblloogg(()), bbeexxpp(()), bbnnookk(()), bbuuppaarrrrooww(()), uuppaarrrrooww(()),
         bbaacckkeerrmmaannnn(()), aacckkeerrmmaannnn(()), bbssiinn(()), bbccooss(()), bbaattaann(()), bbaattaann22(()),
         bbssqqrrtt(()), bbrroooott(()), bbffaacc(()), bbddffaacc(()), bbttffaacc(()), bbmmffaacc(()), bbffiibb(()),
         bblluuccaass(()), bbrrssfftt(()), bbllssfftt(())

     Bitwise methods
         bbaanndd(()), bbiioorr(()), bbxxoorr(()), bbnnoott(())

     Rounding methods
         rroouunndd(()), bbrroouunndd(()), bbffrroouunndd(()), bbfflloooorr(()), bbcceeiill(()), bbiinntt(())

     Other mathematical methods
         bbggccdd(()), bbllccmm(())

     Object property methods
         ssiiggnn(()), ddiiggiitt(()), ddiiggiittssuumm(()), bbddiiggiittssuumm(()), lleennggtthh(()), mmaannttiissssaa(()),
         eexxppoonneenntt(()), ppaarrttss(()), ssppaarrttss(()), nnppaarrttss(()), eeppaarrttss(()), ddppaarrttss(()),
         ffppaarrttss(()), nnuummeerraattoorr(()), ddeennoommiinnaattoorr(())

     String conversion methods
         bbssttrr(()), bbssssttrr(()), bbnnssttrr(()), bbeessttrr(()), bbddssttrr(()), ttoo__hheexx(()), ttoo__bbiinn(()),
         ttoo__oocctt(()), ttoo__bbyytteess(()), ttoo__bbaassee(()), ttoo__bbaassee__nnuumm(()), aass__hheexx(()),
         aass__bbiinn(()), aass__oocctt(()), aass__bbyytteess(())

     Other conversion methods
         nnuummiiffyy(())

     Utility methods
         ddeecc__ssttrr__ttoo__ddeecc__fflltt__ssttrr(()), hheexx__ssttrr__ttoo__ddeecc__fflltt__ssttrr(()),
         oocctt__ssttrr__ttoo__ddeecc__fflltt__ssttrr(()), bbiinn__ssttrr__ttoo__ddeecc__fflltt__ssttrr(()),
         ddeecc__ssttrr__ttoo__ddeecc__ssttrr(()), hheexx__ssttrr__ttoo__ddeecc__ssttrr(()), oocctt__ssttrr__ttoo__ddeecc__ssttrr(()),
         bbiinn__ssttrr__ttoo__ddeecc__ssttrr(())

 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
     oocctt(())/hheexx(())

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, iinntt(()), 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 #

MMaatthh::::BBiiggIInntt::::CCaallcc -- ppuurree PPeerrll mmoodduullee ttoo ssuuppppoorrtt MMaatthh::::BBiiggIInntt

SYNOPSIS #

DESCRIPTION #

OPTIONS #

     base_len, use_int

METHODS #

     __bbaassee__lleenn(())

SEE ALSO #

MMaatthh::::BBiiggIInntt::::FFaassttCCaallcc -- MMaatthh::::BBiiggIInntt::::CCaallcc wwiitthh ssoommee XXSS ffoorr mmoorree ssppeeeedd

SYNOPSIS #

DESCRIPTION #

STORAGE #

METHODS #

BUGS #

SUPPORT #

     GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix,
     CPAN Ratings

LICENSE #

AUTHORS #

SEE ALSO #

MMaatthh::::BBiiggIInntt::::LLiibb -- vviirrttuuaall ppaarreenntt ccllaassss ffoorr MMaatthh::::BBiiggIInntt lliibbrraarriieess

SYNOPSIS #

DESCRIPTION #

     General Notes
         CLASS->aappii__vveerrssiioonn(()), CLASS->_new(STR), CLASS->__zzeerroo(()),
         CLASS->__oonnee(()), CLASS->__ttwwoo(()), CLASS->__tteenn(()),
         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 #

MMaatthh::::BBiiggRRaatt -- aarrbbiittrraarryy ssiizzee rraattiioonnaall nnuummbbeerr mmaatthh ppaacckkaaggee

SYNOPSIS #

DESCRIPTION #

MATH LIBRARY #

METHODS #

     nneeww(()), nnuummeerraattoorr(()), ddeennoommiinnaattoorr(()), ppaarrttss(()), ddppaarrttss(()), ffppaarrttss(()),
     nnuummiiffyy(()), aass__iinntt(()), aass__nnuummbbeerr(()), aass__ffllooaatt(()), aass__hheexx(()), aass__bbiinn(()),
     aass__oocctt(()), ffrroomm__hheexx(()), ffrroomm__oocctt(()), ffrroomm__bbiinn(()), bbnnaann(()), bbzzeerroo(()),
     bbiinnff(()), bboonnee(()), lleennggtthh(()), ddiiggiitt(()), bbnnoorrmm(()), bbffaacc(()),
     bbrroouunndd(())/rroouunndd(())/bbffrroouunndd(()), bbmmoodd(()), bbmmooddiinnvv(()), bbmmooddppooww(()), bbnneegg(()),
     iiss__oonnee(()), iiss__zzeerroo(()), iiss__ppooss(())/iiss__ppoossiittiivvee(()), iiss__nneegg(())/iiss__nneeggaattiivvee(()),
     iiss__iinntt(()), iiss__oodddd(()), iiss__eevveenn(()), bbcceeiill(()), bbfflloooorr(()), bbiinntt(()), bbssqqrrtt(()),
     bbrroooott(()), bbaadddd(()), bbmmuull(()), bbssuubb(()), bbddiivv(()), bbiinnvv(()), bbddeecc(()), bbiinncc(()),
     ccooppyy(()), bbssttrr(())/bbssssttrr(()), bbccmmpp(()), bbaaccmmpp(()), bbeeqq(()), bbnnee(()), bblltt(()), bbllee(()),
     bbggtt(()), bbggee(()), bbllssfftt(())/bbrrssfftt(()), bbaanndd(()), bbiioorr(()), bbxxoorr(()), bbnnoott(()),
     bbppooww(()), bblloogg(()), bbeexxpp(()), bbnnookk(()), ccoonnffiigg(())

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 #

MMaatthh::::CCoommpplleexx -- ccoommpplleexx nnuummbbeerrss aanndd aassssoocciiaatteedd mmaatthheemmaattiiccaall ffuunnccttiioonnss

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 #

MMaatthh::::TTrriigg -- ttrriiggoonnoommeettrriicc ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

TRIGONOMETRIC FUNCTIONS #

     ttaann

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 #

AUTHORS #

LICENSE #

MMeemmooiizzee -- MMaakkee ffuunnccttiioonnss ffaasstteerr bbyy ttrraaddiinngg ssppaaccee ffoorr ttiimmee

SYNOPSIS #

DESCRIPTION #

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 #

MAILING LIST #

AUTHOR #

THANK YOU #

MMeemmooiizzee::::AAnnyyDDBBMM__FFiillee -- gglluuee ttoo pprroovviiddee EEXXIISSTTSS ffoorr AAnnyyDDBBMM__FFiillee ffoorr SSttoorraabbllee uussee

DESCRIPTION #

MMeemmooiizzee::::EExxppiirree -- PPlluugg--iinn mmoodduullee ffoorr aauuttoommaattiicc eexxppiirraattiioonn ooff mmeemmooiizzeedd vvaalluueess

SYNOPSIS #

DESCRIPTION #

INTERFACE #

TIEHASH, EXISTS, STORE #

ALTERNATIVES #

CAVEATS #

AUTHOR #

SEE ALSO #

MMeemmooiizzee::::EExxppiirreeFFiillee -- tteesstt ffoorr MMeemmooiizzee eexxppiirraattiioonn sseemmaannttiiccss

DESCRIPTION #

MMeemmooiizzee::::EExxppiirreeTTeesstt -- tteesstt ffoorr MMeemmooiizzee eexxppiirraattiioonn sseemmaannttiiccss

DESCRIPTION #

MMeemmooiizzee::::NNDDBBMM__FFiillee -- gglluuee ttoo pprroovviiddee EEXXIISSTTSS ffoorr NNDDBBMM__FFiillee ffoorr SSttoorraabbllee uussee

DESCRIPTION #

MMeemmooiizzee::::SSDDBBMM__FFiillee -- gglluuee ttoo pprroovviiddee EEXXIISSTTSS ffoorr SSDDBBMM__FFiillee ffoorr SSttoorraabbllee uussee

DESCRIPTION #

MMeemmooiizzee::::SSttoorraabbllee -- ssttoorree MMeemmooiizzeedd ddaattaa iinn SSttoorraabbllee ddaattaabbaassee

DESCRIPTION #

MMoodduullee::::CCoorreeLLiisstt -- wwhhaatt mmoodduulleess sshhiippppeedd wwiitthh vveerrssiioonnss ooff ppeerrll

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 #

MMoodduullee::::CCoorreeLLiisstt::::UUttiillss -- wwhhaatt uuttiilliittiieess sshhiippppeedd wwiitthh vveerrssiioonnss ooff ppeerrll

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 #

MMoodduullee::::LLooaadd -- rruunnttiimmee rreeqquuiirree ooff bbootthh mmoodduulleess aanndd ffiilleess

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 #

MMoodduullee::::LLooaadd::::CCoonnddiittiioonnaall -- LLooookkiinngg uupp mmoodduullee iinnffoorrmmaattiioonn // llooaaddiinngg aatt rruunnttiimmee

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 #

MMoodduullee::::LLooaaddeedd -- mmaarrkk mmoodduulleess aass llooaaddeedd oorr uunnllooaaddeedd

SYNOPSIS #

DESCRIPTION #

FUNCTIONS #

     $bool = mark_as_loaded( PACKAGE );
 $bool = mark_as_unloaded( PACKAGE );
 $loc = is_loaded( PACKAGE );

BUG REPORTS #

AUTHOR #

MMoodduullee::::MMeettaaddaattaa -- GGaatthheerr ppaacckkaaggee aanndd PPOODD iinnffoorrmmaattiioonn ffrroomm ppeerrll mmoodduullee ffiilleess

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 ((rreeqquuiirreedd)), 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 #

NNDDBBMM__FFiillee -- TTiieedd aacccceessss ttoo nnddbbmm ffiilleess

SYNOPSIS #

DESCRIPTION #

“O_RDONLY”, “O_WRONLY”, “O_RDWR” #

DIAGNOSTICS #

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

SECURITY AND PORTABILITY #

BUGS AND WARNINGS #

NNEEXXTT -- PPrroovviiddee aa ppsseeuuddoo--ccllaassss NNEEXXTT ((eett aall)) tthhaatt aalllloowwss mmeetthhoodd rreeddiissppaattcchh

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 #

NNeett::::CCmmdd -- NNeettwwoorrkk CCoommmmaanndd ccllaassss ((aass uusseedd bbyy FFTTPP,, SSMMTTPP eettcc))

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 #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::CCoonnffiigg -- LLooccaall ccoonnffiigguurraattiioonn ddaattaa ffoorr lliibbnneett

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 #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::DDoommaaiinn -- AAtttteemmpptt ttoo eevvaalluuaattee tthhee ccuurrrreenntt hhoosstt’’ss iinntteerrnneett nnaammee aanndd ddoommaaiinn

SYNOPSIS #

DESCRIPTION #

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

EXPORTS #

     Default Exports, Optional Exports, Export Tags

KNOWN BUGS #

AUTHOR #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::FFTTPP -- FFTTPP CClliieenntt ccllaassss

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

EXAMPLES #

     <https://www.csh.rit.edu/~adam/Progs/>

EXPORTS #

KNOWN BUGS #

     Reporting Bugs

SEE ALSO #

ACKNOWLEDGEMENTS #

AUTHOR #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::NNNNTTPP -- NNNNTTPP CClliieenntt ccllaassss

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 #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::NNeettrrcc -- OOOO iinntteerrffaaccee ttoo uusseerrss nneettrrcc ffiillee

SYNOPSIS #

DESCRIPTION #

     The _._n_e_t_r_c 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 #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::PPOOPP33 -- PPoosstt OOffffiiccee PPrroottooccooll 33 CClliieenntt ccllaassss ((RRFFCC11993399))

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 #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::PPiinngg -- cchheecckk aa rreemmoottee hhoosstt ffoorr rreeaacchhaabbiilliittyy

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 _N_Y_I
         , $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->cclloossee(()); ,
         $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 #

NNeett::::SSMMTTPP -- SSiimmppllee MMaaiill TTrraannssffeerr PPrroottooccooll CClliieenntt

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 #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::TTiimmee -- ttiimmee aanndd ddaayyttiimmee nneettwwoorrkk cclliieenntt iinntteerrffaaccee

SYNOPSIS #

DESCRIPTION #

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

EXPORTS #

     Default Exports, Optional Exports, Export Tags

KNOWN BUGS #

AUTHOR #

LICENCE #

VERSION #

DATE #

HISTORY #

NNeett::::hhoosstteenntt -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ggeetthhoosstt(()) ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

EXAMPLES #

NOTE #

AUTHOR #

NNeett::::lliibbnneettFFAAQQ,, lliibbnneettFFAAQQ -- lliibbnneett FFrreeqquueennttllyy AAsskkeedd QQuueessttiioonnss

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 ?

NNeett::::nneetteenntt -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ggeettnneett(()) ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

EXAMPLES #

NOTE #

AUTHOR #

NNeett::::pprroottooeenntt -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ggeettpprroottoo(()) ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

NOTE #

AUTHOR #

NNeett::::sseerrvveenntt -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ggeettsseerrvv(()) ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

EXAMPLES #

NOTE #

AUTHOR #

OO -- GGeenneerriicc iinntteerrffaaccee ttoo PPeerrll CCoommppiilleerr bbaacckkeennddss

SYNOPSIS #

DESCRIPTION #

CONVENTIONS #

IMPLEMENTATION #

BUGS #

AUTHOR #

OOppccooddee -- DDiissaabbllee nnaammeedd ooppccooddeess wwhheenn ccoommppiilliinngg ppeerrll ccooddee

SYNOPSIS #

DESCRIPTION #

NOTE #

WARNING #

 Operator Names and Operator Lists
     an operator name (opname), an operator tag name (optag), a negated
     opname or optag, an operator set (opset)

 Opcode Functions
     opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET),
     full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET,
     ...), define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc
     (OP, ...), opdump (PAT)

 Manipulating Opsets
 TO DO (maybe)
 Predefined Opcode Tags
     :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math,
     :base_thread, :default, :filesys_read, :sys_db, :browse,
     :filesys_open, :filesys_write, :subprocess, :ownprocess, :others,
     :load, :still_to_be_decided, :dangerous

SEE ALSO #

AUTHORS #

SYNOPSIS #

DESCRIPTION #

EXPORT #

     Exportable functions

SEE ALSO #

AUTHOR #

OOppeennBBSSDD::::PPlleeddggee -- PPeerrll iinntteerrffaaccee ttoo OOppeennBBSSDD pplleeddggee((22))

SYNOPSIS #

DESCRIPTION #

EXPORT #

FUNCTIONS #

     pledge

BUGS AND LIMITATIONS #

SEE ALSO #

AUTHOR #

OOppeennBBSSDD::::UUnnvveeiill -- PPeerrll iinntteerrffaaccee ttoo OOppeennBBSSDD uunnvveeiill((22))

SYNOPSIS #

DESCRIPTION #

EXPORT #

FUNCTIONS #

     unveil

SEE ALSO #

AUTHOR #

PPOOSSIIXX -- PPeerrll iinntteerrffaaccee ttoo IIEEEEEE SSttdd 11000033..11

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

PPaarraammss::::CChheecckk -- AA ggeenneerriicc iinnppuutt ppaarrssiinngg//cchheecckkiinngg mmeecchhaanniissmm..

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

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

PPaarrssee::::CCPPAANN::::MMeettaa -- PPaarrssee MMEETTAA..yymmll aanndd MMEETTAA..jjssoonn CCPPAANN mmeettaaddaattaa ffiilleess

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 #

PPeerrll::::OOSSTTyyppee -- MMaapp PPeerrll ooppeerraattiinngg ssyysstteemm nnaammeess ttoo ggeenneerriicc ttyyppeess

VERSION #

SYNOPSIS #

DESCRIPTION #

USAGE #

     ooss__ttyyppee(())
     iiss__ooss__ttyyppee(())

SEE ALSO #

SUPPORT #

     Bugs / Feature Requests
     Source Code

AUTHOR #

CONTRIBUTORS #

PPeerrllIIOO -- OOnn ddeemmaanndd llooaaddeerr ffoorr PPeerrllIIOO llaayyeerrss aanndd rroooott ooff PPeerrllIIOO:::: nnaammee ssppaaccee

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 #

PPeerrllIIOO::::eennccooddiinngg -- eennccooddiinngg llaayyeerr

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

PPeerrllIIOO::::mmmmaapp -- MMeemmoorryy mmaappppeedd IIOO

SYNOPSIS #

DESCRIPTION #

IMPLEMENTATION NOTE #

PPeerrllIIOO::::ssccaallaarr -- iinn--mmeemmoorryy IIOO,, ssccaallaarr IIOO

SYNOPSIS #

DESCRIPTION #

IMPLEMENTATION NOTE #

PPeerrllIIOO::::vviiaa -- HHeellppeerr ccllaassss ffoorr PPeerrllIIOO llaayyeerrss iimmpplleemmeenntteedd iinn ppeerrll

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

PPeerrllIIOO::::vviiaa::::QQuuootteeddPPrriinntt -- PPeerrllIIOO llaayyeerr ffoorr qquuootteedd--pprriinnttaabbllee ssttrriinnggss

SYNOPSIS #

DESCRIPTION #

EXPORTS #

KNOWN BUGS #

FEEDBACK #

SEE ALSO #

ACKNOWLEDGEMENTS #

AVAILABILITY #

INSTALLATION #

AUTHOR #

LICENCE #

VERSION #

DATE #

HISTORY #

PPoodd::::CChheecckkeerr -- cchheecckk ppoodd ddooccuummeennttss ffoorr ssyynnttaaxx eerrrroorrss

SYNOPSIS #

OPTIONS/ARGUMENTS #

     ppooddcchheecckkeerr(())
         --wwaarrnniinnggss => _v_a_l, --qquuiieett => _v_a_l

DESCRIPTION #

DIAGNOSTICS #

     Errors
         empty =headn, =over on line _N without closing =back, You forgot a
         '=back' before '=head_N', =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 _T_A_R_G_E_T without matching =end _T_A_R_G_E_T,
         =begin without a target?, =end _T_A_R_G_E_T without matching =begin,
         '=end' without a target?, '=end _T_A_R_G_E_T' is invalid, =end _C_O_N_T_E_N_T
         doesn't match =begin _T_A_R_G_E_T, =for without a target?, unresolved
         internal link _N_A_M_E, Unknown directive: _C_M_D, Deleting unknown
         formatting code _S_E_Q, Unterminated _S_E_Q<> 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 _A_R_G_U_M_E_N_T, =pod directives
         shouldn't be over one line long!  Ignoring all _N lines of
         content, =cut found outside a pod block, Invalid =encoding
         syntax: _C_O_N_T_E_N_T

     Warnings
         nested commands _C_M_D<..._C_M_D<...>...>, multiple occurrences (_N) of
         link target _n_a_m_e, 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 _E_X_P_E_C_T_E_D _V_A_L_U_E', 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<_C_O_N_T_E_N_T>, empty =over/=back block, empty
         section in previous paragraph, Verbatim paragraph in NAME
         section, =head_n 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()"

 lliinnee(())

 ttyyppee(())

 ppaaggee(())

 nnooddee(())

AUTHOR #

PPoodd::::EEssccaappeess -- ffoorr rreessoollvviinngg PPoodd EE<<......>> sseeqquueenncceess

SYNOPSIS #

DESCRIPTION #

GOODIES #

     e2char($e_content), e2charnum($e_content), $Name2character{_n_a_m_e},
     $Name2character_number{_n_a_m_e}, $Latin1Code_to_fallback{_i_n_t_e_g_e_r},
     $Latin1Char_to_fallback{_c_h_a_r_a_c_t_e_r}, $Code2USASCII{_i_n_t_e_g_e_r}

CAVEATS #

SEE ALSO #

REPOSITORY #

AUTHOR #

PPoodd::::HHttmmll -- mmoodduullee ttoo ccoonnvveerrtt ppoodd ffiilleess ttoo HHTTMMLL

SYNOPSIS #

DESCRIPTION #

FUNCTIONS #

     pod2html
         backlink, cachedir, css, flush, header, help, htmldir, htmlroot,
         index, infile, outfile, poderrors, podpath, podroot, quiet,
         recurse, title, verbose

     Auxiliary Functions
         "htmlify()" (by default), "anchorify()" (upon request),
         "relativize_url()" (upon request)

ENVIRONMENT #

AUTHOR #

SEE ALSO #

PPoodd::::HHttmmll::::UUttiill -- hheellppeerr ffuunnccttiioonnss ffoorr PPoodd--HHttmmll

SUBROUTINES #

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

PPoodd::::MMaann -- CCoonnvveerrtt PPOODD ddaattaa ttoo ffoorrmmaatttteedd rrooffff iinnppuutt

SYNOPSIS #

DESCRIPTION #

     center, date, errors, fixed, fixedbold, fixeditalic, fixedbolditalic,
     lquote, rquote, name, nourls, quotes, release, section, stderr, utf8

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 #

BUGS #

CAVEATS #

AUTHOR #

SEE ALSO #

PPoodd::::PPaarrsseeLLiinnkk -- PPaarrssee aann LL<<>> ffoorrmmaattttiinngg ccooddee iinn PPOODD tteexxtt

SYNOPSIS #

DESCRIPTION #

AUTHOR #

SEE ALSO #

PPoodd::::PPeerrllddoocc -- LLooookk uupp PPeerrll ddooccuummeennttaattiioonn iinn PPoodd ffoorrmmaatt..

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::BBaasseeTToo -- BBaassee ffoorr PPoodd::::PPeerrllddoocc ffoorrmmaatttteerrss

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::GGeettOOppttssOOOO -- CCuussttoommiizzeedd ooppttiioonn ppaarrsseerr ffoorr PPoodd::::PPeerrllddoocc

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 #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooAANNSSII -- rreennddeerr PPoodd wwiitthh AANNSSII ccoolloorr eessccaappeess

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooCChheecckkeerr -- lleett PPeerrllddoocc cchheecckk PPoodd ffoorr eerrrroorrss

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooMMaann -- lleett PPeerrllddoocc rreennddeerr PPoodd aass mmaann ppaaggeess

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooNNrrooffff -- lleett PPeerrllddoocc ccoonnvveerrtt PPoodd ttoo nnrrooffff

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooPPoodd -- lleett PPeerrllddoocc rreennddeerr PPoodd aass ...... PPoodd!!

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooRRttff -- lleett PPeerrllddoocc rreennddeerr PPoodd aass RRTTFF

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooTTeerrmm -- rreennddeerr PPoodd wwiitthh tteerrmmiinnaall eessccaappeess

SYNOPSIS #

DESCRIPTION #

PAGER FORMATTING #

CAVEAT #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooTTeexxtt -- lleett PPeerrllddoocc rreennddeerr PPoodd aass ppllaaiinntteexxtt

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooTTkk -- lleett PPeerrllddoocc uussee TTkk::::PPoodd ttoo rreennddeerr PPoodd

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

PPoodd::::PPeerrllddoocc::::TTooXXmmll -- lleett PPeerrllddoocc rreennddeerr PPoodd aass XXMMLL

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

AUTHOR #

PPoodd::::SSiimmppllee -- ffrraammeewwoorrkk ffoorr ppaarrssiinngg PPoodd

SYNOPSIS #

DESCRIPTION #

MAIN METHODS #

     "$parser = _S_o_m_e_C_l_a_s_s->new();", "$parser->output_fh( *OUT );",
     "$parser->output_string( \$somestring );", "$parser->parse_file(
     _$_s_o_m_e___f_i_l_e_n_a_m_e );", "$parser->parse_file( *INPUT_FH );",
     "$parser->parse_string_document( _$_a_l_l___c_o_n_t_e_n_t );",
     "$parser->parse_lines( _._._._@_l_i_n_e_s_._._., undef );",
     "$parser->content_seen", "_S_o_m_e_C_l_a_s_s->filter( _$_f_i_l_e_n_a_m_e );",
     "_S_o_m_e_C_l_a_s_s->filter( _*_I_N_P_U_T___F_H );", "_S_o_m_e_C_l_a_s_s->filter(
     _\_$_d_o_c_u_m_e_n_t___c_o_n_t_e_n_t );"

SECONDARY METHODS #

     "$parser->parse_characters( _S_O_M_E_V_A_L_U_E )", "$parser->no_whining(
     _S_O_M_E_V_A_L_U_E )", "$parser->no_errata_section( _S_O_M_E_V_A_L_U_E )",
     "$parser->complain_stderr( _S_O_M_E_V_A_L_U_E )", "$parser->source_filename",
     "$parser->doc_has_started", "$parser->source_dead",
     "$parser->strip_verbatim_indent( _S_O_M_E_V_A_L_U_E )",
     "$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 #

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"

PPoodd::::SSiimmppllee::::CChheecckkeerr -–- cchheecckk tthhee PPoodd ssyynnttaaxx ooff aa ddooccuummeenntt

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::DDeebbuugg -–- ppuutt PPoodd::::SSiimmppllee iinnttoo ttrraaccee//ddeebbuugg mmooddee

SYNOPSIS #

DESCRIPTION #

CAVEATS #

GUTS #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::DDuummppAAssTTeexxtt -–- dduummpp PPoodd--ppaarrssiinngg eevveennttss aass tteexxtt

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::DDuummppAAssXXMMLL -–- ttuurrnn PPoodd iinnttoo XXMMLL

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::HHTTMMLL -- ccoonnvveerrtt PPoodd ttoo HHTTMMLL

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 #

ACKNOWLEDGEMENTS #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::HHTTMMLLBBaattcchh -- ccoonnvveerrtt sseevveerraall PPoodd ffiilleess ttoo sseevveerraall HHTTMMLL ffiilleess

SYNOPSIS #

DESCRIPTION #

FROM THE COMMAND LINE #

MAIN METHODS #

     $batchconv = Pod::Simple::HTMLBatch->new;, $batchconv->batch_convert(
     _i_n_d_i_r_s, _o_u_t_d_i_r );, $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( _n_o_n_n_e_g_a_t_i_v_e___i_n_t_e_g_e_r );, $batchconv->index(
         _t_r_u_e_-_o_r_-_f_a_l_s_e );, $batchconv->contents_file( _f_i_l_e_n_a_m_e );,
         $batchconv->contents_page_start( _H_T_M_L___s_t_r_i_n_g );,
         $batchconv->contents_page_end( _H_T_M_L___s_t_r_i_n_g );,
         $batchconv->add_css( $url );, $batchconv->add_javascript( $url
         );, $batchconv->css_flurry( _t_r_u_e_-_o_r_-_f_a_l_s_e );,
         $batchconv->javascript_flurry( _t_r_u_e_-_o_r_-_f_a_l_s_e );,
         $batchconv->no_contents_links( _t_r_u_e_-_o_r_-_f_a_l_s_e );,
         $batchconv->html_render_class( _c_l_a_s_s_n_a_m_e );,
         $batchconv->search_class( _c_l_a_s_s_n_a_m_e );

NOTES ON CUSTOMIZATION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::JJuussttPPoodd -–- jjuusstt tthhee PPoodd,, tthhee wwhhoollee PPoodd,, aanndd nnootthhiinngg bbuutt tthhee PPoodd

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::LLiinnkkSSeeccttiioonn -–- rreepprreesseenntt “"sseeccttiioonn"” aattttrriibbuutteess ooff LL ccooddeess

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::MMeetthhooddyy -–- ttuurrnn PPoodd::::SSiimmppllee eevveennttss iinnttoo mmeetthhoodd ccaallllss

SYNOPSIS #

DESCRIPTION #

METHOD CALLING #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerr -–- aa ppuullll--ppaarrsseerr iinntteerrffaaccee ttoo ppaarrssiinngg PPoodd

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 #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerrEEnnddTTookkeenn -–- eenndd--ttookkeennss ffrroomm PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerr

SYNOPSIS #

DESCRIPTION #

     $token->tagname, $token->tagname(_s_o_m_e_s_t_r_i_n_g), $token->tag(...),
     $token->is_tag(_s_o_m_e_s_t_r_i_n_g) or $token->is_tagname(_s_o_m_e_s_t_r_i_n_g)

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerrSSttaarrttTTookkeenn -–- ssttaarrtt--ttookkeennss ffrroomm PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerr

SYNOPSIS #

DESCRIPTION #

     $token->tagname, $token->tagname(_s_o_m_e_s_t_r_i_n_g), $token->tag(...),
     $token->is_tag(_s_o_m_e_s_t_r_i_n_g) or $token->is_tagname(_s_o_m_e_s_t_r_i_n_g),
     $token->attr(_a_t_t_r_n_a_m_e), $token->attr(_a_t_t_r_n_a_m_e, _n_e_w_v_a_l_u_e),
     $token->attr_hash

SEE ALSO #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerrTTeexxttTTookkeenn -–- tteexxtt--ttookkeennss ffrroomm PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerr

SYNOPSIS #

DESCRIPTION #

     $token->text, $token->text(_s_o_m_e_s_t_r_i_n_g), $token->tteexxtt__rr(())

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerrTTookkeenn -–- ttookkeennss ffrroomm PPoodd::::SSiimmppllee::::PPuullllPPaarrsseerr

SYNOPSIS #

DESCRIPTION #

     $token->type, $token->is_start, $token->is_text, $token->is_end,
     $token->dump

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::RRTTFF -–- ffoorrmmaatt PPoodd aass RRTTFF

SYNOPSIS #

DESCRIPTION #

FORMAT CONTROL ATTRIBUTES #

     $parser->head1_halfpoint_size( _h_a_l_f_p_o_i_n_t___i_n_t_e_g_e_r );,
     $parser->head2_halfpoint_size( _h_a_l_f_p_o_i_n_t___i_n_t_e_g_e_r );,
     $parser->head3_halfpoint_size( _h_a_l_f_p_o_i_n_t___i_n_t_e_g_e_r );,
     $parser->head4_halfpoint_size( _h_a_l_f_p_o_i_n_t___i_n_t_e_g_e_r );,
     $parser->codeblock_halfpoint_size( _h_a_l_f_p_o_i_n_t___i_n_t_e_g_e_r );,
     $parser->header_halfpoint_size( _h_a_l_f_p_o_i_n_t___i_n_t_e_g_e_r );,
     $parser->normal_halfpoint_size( _h_a_l_f_p_o_i_n_t___i_n_t_e_g_e_r );,
     $parser->no_proofing_exemptions( _t_r_u_e___o_r___f_a_l_s_e );, $parser->doc_lang(
     _m_i_c_r_o_s_o_f_t___d_e_c_i_m_a_l___l_a_n_g_u_a_g_e___c_o_d_e )

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::SSeeaarrcchh -- ffiinndd PPOODD ddooccuummeennttss iinn ddiirreeccttoorryy ttrreeeess

SYNOPSIS #

DESCRIPTION #

CONSTRUCTOR #

ACCESSORS #

     $search->inc( _t_r_u_e_-_o_r_-_f_a_l_s_e );, $search->verbose( _n_o_n_n_e_g_a_t_i_v_e_-_n_u_m_b_e_r
     );, $search->limit_glob( _s_o_m_e_-_g_l_o_b_-_s_t_r_i_n_g );, $search->callback(
     _\_&_s_o_m_e___r_o_u_t_i_n_e );, $search->laborious( _t_r_u_e_-_o_r_-_f_a_l_s_e );,
     $search->recurse( _t_r_u_e_-_o_r_-_f_a_l_s_e );, $search->shadows( _t_r_u_e_-_o_r_-_f_a_l_s_e
     );, $search->is_case_insensitive( _t_r_u_e_-_o_r_-_f_a_l_s_e );,
     $search->limit_re( _s_o_m_e_-_r_e_g_x_p );, $search->dir_prefix( _s_o_m_e_-_s_t_r_i_n_g_-
     _v_a_l_u_e );, $search->progress( _s_o_m_e_-_p_r_o_g_r_e_s_s_-_o_b_j_e_c_t );, $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 #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::SSiimmpplleeTTrreeee -–- ppaarrssee PPoodd iinnttoo aa ssiimmppllee ppaarrssee ttrreeee

SYNOPSIS #

DESCRIPTION #

METHODS #

 Tree Contents

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::SSuubbccllaassssiinngg -–- wwrriittee aa ffoorrmmaatttteerr aass aa PPoodd::::SSiimmppllee ssuubbccllaassss

SYNOPSIS #

DESCRIPTION #

     Pod::Simple, Pod::Simple::Methody, Pod::Simple::PullParser,
     Pod::Simple::SimpleTree

 Events
     "$parser->_handle_element_start( _e_l_e_m_e_n_t___n_a_m_e, _a_t_t_r___h_a_s_h_r_e_f )",
     "$parser->_handle_element_end( _e_l_e_m_e_n_t___n_a_m_e  )",
     "$parser->_handle_text(  _t_e_x_t___s_t_r_i_n_g    )", 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( _S_O_M_E_V_A_L_U_E )",
     "$parser->accept_targets_as_text(  _S_O_M_E_V_A_L_U_E )",
     "$parser->accept_codes( _C_o_d_e_n_a_m_e, _C_o_d_e_n_a_m_e...  )",
     "$parser->accept_directive_as_data( _d_i_r_e_c_t_i_v_e___n_a_m_e )",
     "$parser->accept_directive_as_verbatim( _d_i_r_e_c_t_i_v_e___n_a_m_e )",
     "$parser->accept_directive_as_processed( _d_i_r_e_c_t_i_v_e___n_a_m_e )",
     "$parser->nbsp_for_S( _B_O_O_L_E_A_N );", "$parser->version_report()",
     "$parser->pod_para_count()", "$parser->line_count()",
     "$parser->nix_X_codes(  _S_O_M_E_V_A_L_U_E  )",
     "$parser->keep_encoding_directive(  _S_O_M_E_V_A_L_U_E  )",
     "$parser->merge_text(  _S_O_M_E_V_A_L_U_E  )", "$parser->code_handler(
     _C_O_D_E___R_E_F  )", "$parser->cut_handler(  _C_O_D_E___R_E_F  )",
     "$parser->pod_handler(  _C_O_D_E___R_E_F  )", "$parser->whiteline_handler(
     _C_O_D_E___R_E_F  )", "$parser->whine( _l_i_n_e_n_u_m_b_e_r, _c_o_m_p_l_a_i_n_t _s_t_r_i_n_g )",
     "$parser->scream( _l_i_n_e_n_u_m_b_e_r, _c_o_m_p_l_a_i_n_t _s_t_r_i_n_g )",
     "$parser->source_dead(1)", "$parser->hide_line_numbers( _S_O_M_E_V_A_L_U_E )",
     "$parser->no_whining( _S_O_M_E_V_A_L_U_E )", "$parser->no_errata_section(
     _S_O_M_E_V_A_L_U_E )", "$parser->complain_stderr( _S_O_M_E_V_A_L_U_E )",
     "$parser->bare_output( _S_O_M_E_V_A_L_U_E )", "$parser->preserve_whitespace(
     _S_O_M_E_V_A_L_U_E )", "$parser->parse_empty_lists( _S_O_M_E_V_A_L_U_E )"

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::TTeexxtt -–- ffoorrmmaatt PPoodd aass ppllaaiinntteexxtt

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::TTeexxttCCoonntteenntt -–- ggeett tthhee tteexxtt ccoonntteenntt ooff PPoodd

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::XXHHTTMMLL -–- ffoorrmmaatt PPoodd aass vvaalliiddaattiinngg XXHHTTMMLL

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 #

ACKNOWLEDGEMENTS #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::SSiimmppllee::::XXMMLLOOuuttSSttrreeaamm -–- ttuurrnn PPoodd iinnttoo XXMMLL

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

ABOUT EXTENDING POD #

SEE ALSO #

SUPPORT #

AUTHOR #

     Allison Randal "allison@perl.org", Hans Dieter Pearcey
     "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org"

PPoodd::::TTeexxtt -- CCoonnvveerrtt PPOODD ddaattaa ttoo ffoorrmmaatttteedd tteexxtt

SYNOPSIS #

DESCRIPTION #

     alt, code, errors, indent, loose, margin, nourls, quotes, sentence,
     stderr, utf8, width

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

BUGS #

CAVEATS #

NOTES #

AUTHOR #

SEE ALSO #

PPoodd::::TTeexxtt::::CCoolloorr -- CCoonnvveerrtt PPOODD ddaattaa ttoo ffoorrmmaatttteedd ccoolloorr AASSCCIIII tteexxtt

SYNOPSIS #

DESCRIPTION #

BUGS #

AUTHOR #

SEE ALSO #

PPoodd::::TTeexxtt::::OOvveerrssttrriikkee -- CCoonnvveerrtt PPOODD ddaattaa ttoo ffoorrmmaatttteedd oovveerrssttrriikkee tteexxtt

SYNOPSIS #

DESCRIPTION #

BUGS #

AUTHOR #

SEE ALSO #

PPoodd::::TTeexxtt::::TTeerrmmccaapp -- CCoonnvveerrtt PPOODD ddaattaa ttoo AASSCCIIII tteexxtt wwiitthh ffoorrmmaatt eessccaappeess

SYNOPSIS #

DESCRIPTION #

AUTHOR #

SEE ALSO #

PPoodd::::UUssaaggee -- eexxttrraaccttss PPOODD ddooccuummeennttaattiioonn aanndd sshhoowwss uussaaggee iinnffoorrmmaattiioonn

SYNOPSIS #

ARGUMENTS #

     "-message" _s_t_r_i_n_g, "-msg" _s_t_r_i_n_g, "-exitval" _v_a_l_u_e, "-verbose" _v_a_l_u_e,
     "-sections" _s_p_e_c, "-output" _h_a_n_d_l_e, "-input" _h_a_n_d_l_e, "-pathlist"
     _s_t_r_i_n_g, "-noperldoc", "-perlcmd", "-perldoc" _p_a_t_h_-_t_o_-_p_e_r_l_d_o_c,
     "-perldocopt" _s_t_r_i_n_g

     Formatting base class
     Pass-through options

DESCRIPTION #

     Scripts

EXAMPLES #

     Recommended Use

CAVEATS #

SUPPORT #

AUTHOR #

LICENSE #

ACKNOWLEDGMENTS #

SEE ALSO #

SSDDBBMM__FFiillee -- TTiieedd aacccceessss ttoo ssddbbmm ffiilleess

SYNOPSIS #

DESCRIPTION #

     Tie

EXPORTS #

DIAGNOSTICS #

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

SECURITY WARNING #

BUGS AND WARNINGS #

SSaaffee -- CCoommppiillee aanndd eexxeeccuuttee ccooddee iinn rreessttrriicctteedd ccoommppaarrttmmeennttss

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 #

SSccaallaarr::::UUttiill -- AA sseelleeccttiioonn ooff ggeenneerraall--uuttiilliittyy ssccaallaarr ssuubbrroouuttiinneess

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 #

SSeeaarrcchh::::DDiicctt -- llooookk -- sseeaarrcchh ffoorr kkeeyy iinn ddiiccttiioonnaarryy ffiillee

SYNOPSIS #

DESCRIPTION #

SSeelleeccttSSaavveerr -- ssaavvee aanndd rreessttoorree sseelleecctteedd ffiillee hhaannddllee

SYNOPSIS #

DESCRIPTION #

SSeellffLLooaaddeerr -- llooaadd ffuunnccttiioonnss oonnllyy oonn ddeemmaanndd

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 #

     a), b)

SSoocckkeett,, “"SSoocckkeett"” -- nneettwwoorrkkiinngg ccoonnssttaannttss aanndd ssuuppppoorrtt ffuunnccttiioonnss

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

 ggeettaaddddrriinnffoo(()) / ggeettnnaammeeiinnffoo(()) ERROR CONSTANTS

EAI_AGAIN, EAI_BADFLAGS, EAI_FAMILY, EAI_NODATA, EAI_NONAME, #

EAI_SERVICE #

EXAMPLES #

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

AUTHOR #

SSttoorraabbllee -- ppeerrssiisstteennccee ffoorr PPeerrll ddaattaa ssttrruuccttuurreess

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" _o_b_j, _c_l_o_n_i_n_g, "STORABLE_thaw" _o_b_j, _c_l_o_n_i_n_g,
         _s_e_r_i_a_l_i_z_e_d, .., "STORABLE_attach" _c_l_a_s_s, _c_l_o_n_i_n_g, _s_e_r_i_a_l_i_z_e_d

     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 #

SSuubb::::UUttiill -- AA sseelleeccttiioonn ooff uuttiilliittyy ssuubbrroouuttiinneess ffoorr ssuubbss aanndd CCOODDEE rreeffeerreenncceess

SYNOPSIS #

DESCRIPTION #

FUNCTIONS #

 prototype
 set_prototype
 subname
 set_subname

AUTHOR #

SSyymmbbooll -- mmaanniippuullaattee PPeerrll ssyymmbboollss aanndd tthheeiirr nnaammeess

SYNOPSIS #

DESCRIPTION #

BUGS #

SSyyss::::HHoossttnnaammee -- TTrryy eevveerryy ccoonncceeiivvaabbllee wwaayy ttoo ggeett hhoossttnnaammee

SYNOPSIS #

DESCRIPTION #

AUTHOR #

SSyyss::::SSyysslloogg -- PPeerrll iinntteerrffaaccee ttoo tthhee UUNNIIXX ssyysslloogg((33)) ccaallllss

VERSION #

SYNOPSIS #

DESCRIPTION #

EXPORTS #

FUNCTIONS #

     ooppeennlloogg(($$iiddeenntt,, $$llooggoopptt,, $$ffaacciilliittyy)), ssyysslloogg(($$pprriioorriittyy,, $$mmeessssaaggee)),
     ssyysslloogg(($$pprriioorriittyy,, $$ffoorrmmaatt,, @@aarrggss)), NNoottee, sseettllooggmmaasskk(($$mmaasskk__pprriioorriittyy)),
     sseettllooggssoocckk(()), NNoottee, cclloosseelloogg(())

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

LICENSE #

TTAAPP::::BBaassee -- BBaassee ccllaassss tthhaatt pprroovviiddeess ccoommmmoonn ffuunnccttiioonnaalliittyy ttoo TTAAPP::::PPaarrsseerr aanndd TTAAPP::::HHaarrnneessss

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods

TTAAPP::::FFoorrmmaatttteerr::::BBaassee -- BBaassee ccllaassss ffoorr hhaarrnneessss oouuttppuutt ddeelleeggaatteess

VERSION #

DESCRIPTION #

SYNOPSIS #

METHODS #

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

TTAAPP::::FFoorrmmaatttteerr::::CCoolloorr -- RRuunn PPeerrll tteesstt ssccrriippttss wwiitthh ccoolloorr

VERSION #

DESCRIPTION #

SYNOPSIS #

METHODS #

     Class Methods

TTAAPP::::FFoorrmmaatttteerr::::CCoonnssoollee -- HHaarrnneessss oouuttppuutt ddeelleeggaattee ffoorr ddeeffaauulltt ccoonnssoollee oouuttppuutt

VERSION #

DESCRIPTION #

SYNOPSIS #

     "open_test"

TTAAPP::::FFoorrmmaatttteerr::::CCoonnssoollee::::PPaarraalllleellSSeessssiioonn -- HHaarrnneessss oouuttppuutt ddeelleeggaattee ffoorr ppaarraalllleell ccoonnssoollee oouuttppuutt

VERSION #

DESCRIPTION #

SYNOPSIS #

METHODS #

     Class Methods

TTAAPP::::FFoorrmmaatttteerr::::CCoonnssoollee::::SSeessssiioonn -- HHaarrnneessss oouuttppuutt ddeelleeggaattee ffoorr ddeeffaauulltt ccoonnssoollee oouuttppuutt

VERSION #

DESCRIPTION #

 "clear_for_close"
 "close_test"
 "header"
 "result"

TTAAPP::::FFoorrmmaatttteerr::::FFiillee -- HHaarrnneessss oouuttppuutt ddeelleeggaattee ffoorr ffiillee oouuttppuutt

VERSION #

DESCRIPTION #

SYNOPSIS #

     "open_test"

TTAAPP::::FFoorrmmaatttteerr::::FFiillee::::SSeessssiioonn -- HHaarrnneessss oouuttppuutt ddeelleeggaattee ffoorr ffiillee oouuttppuutt

VERSION #

DESCRIPTION #

METHODS #

     result
 close_test

TTAAPP::::FFoorrmmaatttteerr::::SSeessssiioonn -- AAbbssttrraacctt bbaassee ccllaassss ffoorr hhaarrnneessss oouuttppuutt ddeelleeggaattee

VERSION #

METHODS #

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

TTAAPP::::HHaarrnneessss -- RRuunn tteesstt ssccrriippttss wwiitthh ssttaattiissttiiccss

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", "runtests", "summary"

REPLACING #

SEE ALSO #

TTAAPP::::HHaarrnneessss::::BBeeyyoonndd,, TTeesstt::::HHaarrnneessss::::BBeeyyoonndd -- BBeeyyoonndd mmaakkee tteesstt Beyond make test Saved State Parallel Testing Non-Perl Tests Mixing it up Rolling My Own Deeper Customisation Callbacks Parsing TAP Getting Support

TTAAPP::::HHaarrnneessss::::EEnnvv -- PPaarrssiinngg hhaarrnneessss rreellaatteedd eennvviirroonnmmeennttaall vvaarriiaabblleess wwhheerree aapppprroopprriiaattee

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     create( \%args )

ENVIRONMENTAL VARIABLES #

“HARNESS_PERL_SWITCHES”, “HARNESS_VERBOSE”, “HARNESS_SUBCLASS”, #

     "HARNESS_OPTIONS", "j<n>", "c", "a<file.tgz>",
     "fPackage-With-Dashes", "HARNESS_TIMER", "HARNESS_COLOR",

“HARNESS_IGNORE_EXIT” #

TTAAPP::::OObbjjeecctt -- BBaassee ccllaassss tthhaatt pprroovviiddeess ccoommmmoonn ffuunnccttiioonnaalliittyy ttoo aallll “"TTAAPP::::“” mmoodduulleess

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods

TTAAPP::::PPaarrsseerr -- PPaarrssee TTAAPP oouuttppuutt

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 #

TTAAPP::::PPaarrsseerr::::AAggggrreeggaattoorr -- AAggggrreeggaattee TTAAPP::::PPaarrsseerr rreessuullttss

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

TTAAPP::::PPaarrsseerr::::GGrraammmmaarr -- AA ggrraammmmaarr ffoorr tthhee TTeesstt AAnnyytthhiinngg PPrroottooccooll..

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods

TAP GRAMMAR #

SUBCLASSING #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::IItteerraattoorr -- BBaassee ccllaassss ffoorr TTAAPP ssoouurrccee iitteerraattoorrss

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
     Instance Methods

SUBCLASSING #

     Example

SEE ALSO #

TTAAPP::::PPaarrsseerr::::IItteerraattoorr::::AArrrraayy -- IItteerraattoorr ffoorr aarrrraayy--bbaasseedd TTAAPP ssoouurrcceess

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
     Instance Methods

ATTRIBUTION #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::IItteerraattoorr::::PPrroocceessss -- IItteerraattoorr ffoorr pprroocceessss--bbaasseedd TTAAPP ssoouurrcceess

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
     Instance Methods

ATTRIBUTION #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::IItteerraattoorr::::SSttrreeaamm -- IItteerraattoorr ffoorr ffiilleehhaannddllee--bbaasseedd TTAAPP ssoouurrcceess

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods

ATTRIBUTION #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::IItteerraattoorrFFaaccttoorryy -- FFiigguurreess oouutt wwhhiicchh SSoouurrcceeHHaannddlleerr oobbjjeeccttss ttoo uussee ffoorr aa ggiivveenn SSoouurrccee

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods

SUBCLASSING #

     Example

AUTHORS #

ATTRIBUTION #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::MMuullttiipplleexxeerr -- MMuullttiipplleexx mmuullttiippllee TTAAPP::::PPaarrsseerrss

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods
 See Also

TTAAPP::::PPaarrsseerr::::RReessuulltt -- BBaassee ccllaassss ffoorr TTAAPP::::PPaarrsseerr oouuttppuutt oobbjjeeccttss

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 #

TTAAPP::::PPaarrsseerr::::RReessuulltt::::BBaaiilloouutt -- BBaaiilloouutt rreessuulltt ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     "as_string"

 Instance Methods

TTAAPP::::PPaarrsseerr::::RReessuulltt::::CCoommmmeenntt -- CCoommmmeenntt rreessuulltt ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     "as_string"

 Instance Methods

TTAAPP::::PPaarrsseerr::::RReessuulltt::::PPllaann -- PPllaann rreessuulltt ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     "as_string", "raw"

 Instance Methods

TTAAPP::::PPaarrsseerr::::RReessuulltt::::PPrraaggmmaa -- TTAAPP pprraaggmmaa ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     "as_string", "raw"

 Instance Methods

TTAAPP::::PPaarrsseerr::::RReessuulltt::::TTeesstt -- TTeesstt rreessuulltt ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     Instance Methods

TTAAPP::::PPaarrsseerr::::RReessuulltt::::UUnnkknnoowwnn -- UUnnkknnoowwnn rreessuulltt ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     "as_string", "raw"

TTAAPP::::PPaarrsseerr::::RReessuulltt::::VVeerrssiioonn -- TTAAPP ssyynnttaaxx vveerrssiioonn ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     "as_string", "raw"

 Instance Methods

TTAAPP::::PPaarrsseerr::::RReessuulltt::::YYAAMMLL -- YYAAMMLL rreessuulltt ttookkeenn..

VERSION #

DESCRIPTION #

OVERRIDDEN METHODS #

     "as_string", "raw"

 Instance Methods

TTAAPP::::PPaarrsseerr::::RReessuullttFFaaccttoorryy -- FFaaccttoorryy ffoorr ccrreeaattiinngg TTAAPP::::PPaarrsseerr oouuttppuutt oobbjjeeccttss

SYNOPSIS #

VERSION #

DESCRIPTION #

METHODS #

 Class Methods

SUBCLASSING #

     Example

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SScchheedduulleerr -- SScchheedduullee tteessttss dduurriinngg ppaarraalllleell tteessttiinngg

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

TTAAPP::::PPaarrsseerr::::SScchheedduulleerr::::JJoobb -- AA ssiinnggllee tteessttiinngg jjoobb..

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods
 Attributes

TTAAPP::::PPaarrsseerr::::SScchheedduulleerr::::SSppiinnnneerr -- AA nnoo--oopp jjoobb..

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SSoouurrccee -- aa TTAAPP ssoouurrccee && mmeettaa ddaattaa aabboouutt iitt

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
 Instance Methods

AUTHORS #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SSoouurrcceeHHaannddlleerr -- BBaassee ccllaassss ffoorr ddiiffffeerreenntt TTAAPP ssoouurrccee hhaannddlleerrss

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods

SUBCLASSING #

     Example

AUTHORS #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SSoouurrcceeHHaannddlleerr::::EExxeeccuuttaabbllee -- SSttrreeaamm oouuttppuutt ffrroomm aann eexxeeccuuttaabbllee TTAAPP ssoouurrccee

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods

SUBCLASSING #

     Example

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SSoouurrcceeHHaannddlleerr::::FFiillee -- SSttrreeaamm TTAAPP ffrroomm aa tteexxtt ffiillee..

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods

CONFIGURATION #

SUBCLASSING #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SSoouurrcceeHHaannddlleerr::::HHaannddllee -- SSttrreeaamm TTAAPP ffrroomm aann IIOO::::HHaannddllee oorr aa

GGLLOOBB.. #

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods

SUBCLASSING #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SSoouurrcceeHHaannddlleerr::::PPeerrll -- SSttrreeaamm TTAAPP ffrroomm aa PPeerrll eexxeeccuuttaabbllee

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods

SUBCLASSING #

     Example

SEE ALSO #

TTAAPP::::PPaarrsseerr::::SSoouurrcceeHHaannddlleerr::::RRaawwTTAAPP -- SSttrreeaamm oouuttppuutt ffrroomm rraaww TTAAPP iinn aa ssccaallaarr//aarrrraayy rreeff..

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods

SUBCLASSING #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::YYAAMMLLiisshh::::RReeaaddeerr -- RReeaadd YYAAMMLLiisshh ddaattaa ffrroomm iitteerraattoorr

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     Class Methods
     Instance Methods

AUTHOR #

SEE ALSO #

TTAAPP::::PPaarrsseerr::::YYAAMMLLiisshh::::WWrriitteerr -- WWrriittee YYAAMMLLiisshh ddaattaa

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 #

TTeerrmm::::AANNSSIICCoolloorr -- CCoolloorr ssccrreeeenn oouuttppuutt uussiinngg AANNSSII eessccaappee sseeqquueenncceess

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 #

SEE ALSO #

TTeerrmm::::CCaapp -- PPeerrll tteerrmmccaapp iinntteerrffaaccee

SYNOPSIS #

DESCRIPTION #

METHODS #

 TTggeetteenntt, OSPEED, TERM

 TTppaadd, $$ssttrriinngg, $$ccnntt, $$FFHH

 TTppuuttss, $$ccaapp, $$ccnntt, $$FFHH

 TTggoottoo, $$ccaapp, $$ccooll, $$rrooww, $$FFHH

 TTrreeqquuiirree

EXAMPLES #

AUTHOR #

SEE ALSO #

TTeerrmm::::CCoommpplleettee -- PPeerrll wwoorrdd ccoommpplleettiioonn mmoodduullee

SYNOPSIS #

DESCRIPTION #

     <tab>, ^D, ^U, <del>, <bs>

DIAGNOSTICS #

BUGS #

AUTHOR #

TTeerrmm::::RReeaaddKKeeyy -- AA ppeerrll mmoodduullee ffoorr ssiimmppllee tteerrmmiinnaall ccoonnttrrooll

SYNOPSIS #

DESCRIPTION #

     ReadMode MODE [, Filehandle], ReadKey MODE [, Filehandle], ReadLine
     MODE [, Filehandle], GetTerminalSize [Filehandle], SetTerminalSize
     WIDTH,HEIGHT,XPIX,YPIX [, Filehandle], GetSpeed [, Filehandle],
     GetControlChars [, Filehandle], SetControlChars [, Filehandle]

AUTHOR #

SUPPORT #

LICENSE #

TTeerrmm::::RReeaaddLLiinnee -- PPeerrll iinntteerrffaaccee ttoo vvaarriioouuss “"rreeaaddlliinnee"” ppaacckkaaggeess.. IIff nnoo rreeaall ppaacckkaaggee iiss ffoouunndd,, ssuubbssttiittuutteess ssttuubbss iinnsstteeaadd ooff bbaassiicc ffuunnccttiioonnss..

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 #

TTeesstt -- pprroovviiddeess aa ssiimmppllee ffrraammeewwoorrkk ffoorr wwrriittiinngg tteesstt ssccrriippttss

SYNOPSIS #

DESCRIPTION #

QUICK START GUIDE #

     Functions
         "plan(...)", "tests => _n_u_m_b_e_r", "todo => [_1_,_5_,_1_4]", "onfail =>
         sub { ... }", "onfail => \&some_sub"

 __ttoo__vvaalluuee

 "ok(...)"

 "skip(_s_k_i_p___i_f___t_r_u_e, _a_r_g_s_._._.)"

TEST TYPES #

NORMAL TESTS, SKIPPED TESTS, TODO TESTS #

ONFAIL #

 BUGS and CAVEATS

ENVIRONMENT #

NOTE #

SEE ALSO #

AUTHOR #

TTeesstt22 -- FFrraammeewwoorrkk ffoorr wwrriittiinngg tteesstt ttoooollss tthhaatt aallll wwoorrkk ttooggeetthheerr..

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 #

TTeesstt22,, TThhiiss ddeessccrriibbeess tthhee nnaammeessppaaccee llaayyoouutt ffoorr tthhee TTeesstt22 eeccoossyysstteemm.. NNoott aallll tthhee nnaammeessppaacceess lliisstteedd hheerree aarree ppaarrtt ooff tthhee TTeesstt22 ddiissttrriibbuuttiioonn,, ssoommee aarree iimmpplleemmeenntteedd iinn TTeesstt22::::SSuuiittee.. 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>

TTeesstt22::::AAPPII -- PPrriimmaarryy iinntteerrffaaccee ffoorr wwrriittiinngg TTeesstt22 bbaasseedd tteessttiinngg ttoooollss..

INTERNALS NOTE #

DESCRIPTION #

SYNOPSIS #

WRITING A TOOL #

TESTING YOUR TOOLS #

OTHER API FUNCTIONS #

MAIN API EXPORTS #

     context(...)
         $ctx = ccoonntteexxtt(()), $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 = tteesstt22__iinniitt__ddoonnee(()), $bool = tteesstt22__llooaadd__ddoonnee(()),
         tteesstt22__sseett__iiss__eenndd(()), test2_set_is_end($bool), $bool =
         tteesstt22__ggeett__iiss__eenndd(()), $stack = tteesstt22__ssttaacckk(()), $bool =
         tteesstt22__iiss__tteessttiinngg__ddoonnee(()), test2_ipc_disable, $bool =
         test2_ipc_diabled, tteesstt22__iippcc__wwaaiitt__eennaabbllee(()),
         tteesstt22__iippcc__wwaaiitt__ddiissaabbllee(()), $bool = tteesstt22__iippcc__wwaaiitt__eennaabblleedd(()), $bool
         = tteesstt22__nnoo__wwaaiitt(()), test2_no_wait($bool), $fh = tteesstt22__ssttddoouutt(()),
         $fh = tteesstt22__ssttddeerrrr(()), tteesstt22__rreesseett__iioo(())

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 =
         tteesstt22__lliisstt__ccoonntteexxtt__aaccqquuiirree__ccaallllbbaacckkss(()), @list =
         tteesstt22__lliisstt__ccoonntteexxtt__iinniitt__ccaallllbbaacckkss(()), @list =
         tteesstt22__lliisstt__ccoonntteexxtt__rreelleeaassee__ccaallllbbaacckkss(()), @list =
         tteesstt22__lliisstt__eexxiitt__ccaallllbbaacckkss(()), @list =
         tteesstt22__lliisstt__ppoosstt__llooaadd__ccaallllbbaacckkss(()), @list =
         tteesstt22__lliisstt__pprree__ssuubbtteesstt__ccaallllbbaacckkss(()), test2_add_uuid_via(sub { ...
         }), $sub = tteesstt22__aadddd__uuuuiidd__vviiaa(())

IPC AND CONCURRENCY #

         $bool = tteesstt22__hhaass__iippcc(()), $ipc = tteesstt22__iippcc(()),
         test2_ipc_add_driver($DRIVER), @drivers = tteesstt22__iippcc__ddrriivveerrss(()),
         $bool = tteesstt22__iippcc__ppoolllliinngg(()), tteesstt22__iippcc__eennaabbllee__ppoolllliinngg(()),
         tteesstt22__iippcc__ddiissaabbllee__ppoolllliinngg(()), tteesstt22__iippcc__eennaabbllee__sshhmm(()),
         test2_ipc_set_pending($uniq_val), $pending =
         tteesstt22__iippcc__ggeett__ppeennddiinngg(()), $timeout = tteesstt22__iippcc__ggeett__ttiimmeeoouutt(()),
         test2_ipc_set_timeout($timeout)

MANAGING FORMATTERS #

         $formatter = test2_formatter,
         test2_formatter_set($class_or_instance), @formatters =
         tteesstt22__ffoorrmmaatttteerrss(()), test2_formatter_add($class_or_instance)

OTHER EXAMPLES #

SEE ALSO #

MAGIC #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::AAPPII::::BBrreeaakkaaggee -- WWhhaatt bbrreeaakkss aatt wwhhaatt vveerrssiioonn

DESCRIPTION #

FUNCTIONS #

     %mod_ver = uuppggrraaddee__ssuuggggeesstteedd(()), %mod_ver =
     Test2::API::Breakage->uuppggrraaddee__ssuuggggeesstteedd(()), %mod_ver =
     uuppggrraaddee__rreeqquuiirreedd(()), %mod_ver =
     Test2::API::Breakage->uuppggrraaddee__rreeqquuiirreedd(()), %mod_ver = kknnoowwnn__bbrrookkeenn(()),
     %mod_ver = Test2::API::Breakage->kknnoowwnn__bbrrookkeenn(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::AAPPII::::CCoonntteexxtt -- OObbjjeecctt ttoo rreepprreesseenntt aa tteessttiinngg ccoonntteexxtt..

DESCRIPTION #

SYNOPSIS #

CRITICAL DETAILS #

     you MUST always use the ccoonntteexxtt(()) 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->ssnnaappsshhoott(()), $ctx->rreelleeaassee(()),
     $ctx->throw($message), $ctx->alert($message), $stack = $ctx->ssttaacckk(()),
     $hub = $ctx->hhuubb(()), $dbg = $ctx->ttrraaccee(()), $ctx->do_in_context(\&code,
     @args);, $ctx->rreessttoorree__eerrrroorr__vvaarrss(()), $! = $ctx->eerrrrnnoo(()), $? =
     $ctx->cchhiilldd__eerrrroorr(()), $@ = $ctx->eevvaall__eerrrroorr(())

EVENT PRODUCTION METHODS #

         $event = $ctx->ppaassss(()), $event = $ctx->pass($name), $true =
         $ctx->ppaassss__aanndd__rreelleeaassee(()), $true = $ctx->pass_and_release($name),
         my $event = $ctx->ffaaiill(()), my $event = $ctx->fail($name), my
         $event = $ctx->fail($name, @diagnostics), my $false =
         $ctx->ffaaiill__aanndd__rreelleeaassee(()), 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>

TTeesstt22::::AAPPII::::IInnssttaannccee -- OObbjjeecctt uusseedd bbyy TTeesstt22::::AAPPII uunnddeerr tthhee hhoooodd

DESCRIPTION #

SYNOPSIS #

     $pid = $obj->pid, $obj->tid, $obj->rreesseett(()), $obj->llooaadd(()), $bool =
     $obj->loaded, $arrayref = $obj->post_load_callbacks,
     $obj->add_post_load_callback(sub { ... }), $hashref =
     $obj->ccoonntteexxttss(()), $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->sseett__eexxiitt(()),
     $obj->set_ipc_pending($val), $pending = $obj->ggeett__iippcc__ppeennddiinngg(()),
     $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->ffoorrmmaatttteerr__sseett(()), $obj->add_formatter($class),
     $obj->add_formatter($obj), $obj->set_add_uuid_via(sub { ... }), $sub
     = $obj->aadddd__uuuuiidd__vviiaa(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::AAPPII::::IInntteerrcceeppttRReessuulltt -- RReepprreesseennttaattiioonn ooff aa lliisstt ooff eevveennttss..

DESCRIPTION #

SYNOPSIS #

METHODS #

CONSTRUCTION #

         $events = Test2::API::InterceptResult->new(@EVENTS), $events =
         Test2::API::InterceptResult->new_from_ref(\@EVENTS), $clone =
         $events->cclloonnee(())

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>

TTeesstt22::::AAPPII::::IInntteerrcceeppttRReessuulltt::::EEvveenntt -- RReepprreesseennttaattiioonn ooff aann eevveenntt ffoorr uussee iinn tteessttiinngg ootthheerr tteesstt ttoooollss..

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

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>

TTeesstt22::::AAPPII::::IInntteerrcceeppttRReessuulltt::::HHuubb -- HHuubb uusseedd bbyy IInntteerrcceeppttRReessuulltt..

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::AAPPII::::IInntteerrcceeppttRReessuulltt::::SSqquuaasshheerr -- EEnnccaappssuullaattiioonn ooff tthhee aallggoorriitthhmm tthhaatt ssqquuaasshheess ddiiaaggss iinnttoo aasssseerrttiioonnss..

DESCRIPTION #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::AAPPII::::SSttaacckk -- OObbjjeecctt ttoo mmaannaaggee aa ssttaacckk ooff TTeesstt22::::HHuubb iinnssttaanncceess..

INTERNALS NOTE #

DESCRIPTION #

SYNOPSIS #

METHODS #

     $stack = Test2::API::Stack->nneeww(()), $hub = $stack->nneeww__hhuubb(()), $hub =
     $stack->new_hub(%params), $hub = $stack->new_hub(%params, class =>
     $class), $hub = $stack->ttoopp(()), $hub = $stack->ppeeeekk(()), $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>

TTeesstt22::::EEvveenntt -- BBaassee ccllaassss ffoorr eevveennttss

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->FFAACCEETT__TTYYPPEESS(()), @classes = Test2::Event->FFAACCEETT__TTYYPPEESS(())

NEW API #

         $hashref = $e->ccoommmmoonn__ffaacceett__ddaattaa(());, $hashref = $e->ffaacceett__ddaattaa(()),
         $hashref = $e->ffaacceettss(()), @errors = $e->vvaalliiddaattee__ffaacceett__ddaattaa(());,
         @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->sseettss__ppllaann(()), $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>

TTeesstt22::::EEvveenntt::::BBaaiill -- BBaaiilloouutt!!

DESCRIPTION #

SYNOPSIS #

METHODS #

     $reason = $e->reason

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::DDiiaagg -- DDiiaagg eevveenntt ttyyppee

DESCRIPTION #

SYNOPSIS #

ACCESSORS #

     $diag->message

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::EEnnccooddiinngg -- SSeett tthhee eennccooddiinngg ffoorr tthhee oouuttppuutt ssttrreeaamm

DESCRIPTION #

SYNOPSIS #

METHODS #

     $encoding = $e->encoding

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::EExxcceeppttiioonn -- EExxcceeppttiioonn eevveenntt

DESCRIPTION #

SYNOPSIS #

METHODS #

     $reason = $e->error

CAVEATS #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::FFaaiill -- EEvveenntt ffoorr aa ssiimmppllee ffaaiilleedd aasssseerrttiioonn

DESCRIPTION #

SYNOPSIS #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::GGeenneerriicc -- GGeenneerriicc eevveenntt ttyyppee..

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>

TTeesstt22::::EEvveenntt::::NNoottee -- NNoottee eevveenntt ttyyppee

DESCRIPTION #

SYNOPSIS #

ACCESSORS #

     $note->message

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::OOkk -- OOkk eevveenntt ttyyppee

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>

TTeesstt22::::EEvveenntt::::PPaassss -- EEvveenntt ffoorr aa ssiimmppllee ppaassssiinngg aasssseerrttiioonn

DESCRIPTION #

SYNOPSIS #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::PPllaann -- TThhee eevveenntt ooff aa ppllaann

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>

TTeesstt22::::EEvveenntt::::SSkkiipp -- SSkkiipp eevveenntt ttyyppee

DESCRIPTION #

SYNOPSIS #

ACCESSORS #

     $reason = $e->reason

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::SSuubbtteesstt -- EEvveenntt ffoorr ssuubbtteesstt ttyyppeess

DESCRIPTION #

ACCESSORS #

     $arrayref = $e->subevents, $bool = $e->buffered

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::TTAAPP::::VVeerrssiioonn -- EEvveenntt ffoorr TTAAPP vveerrssiioonn..

DESCRIPTION #

SYNOPSIS #

METHODS #

     $version = $e->version

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveenntt::::VV22 -- SSeeccoonndd ggeenneerraattiioonn eevveenntt..

DESCRIPTION #

SYNOPSIS #

USING A CONTEXT #

USING THE CONSTRUCTOR #

METHODS #

     $fd = $e->ffaacceett__ddaattaa(()), $about = $e->aabboouutt(()), $trace = $e->ttrraaccee(())

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>

TTeesstt22::::EEvveenntt::::WWaaiittiinngg -- TTeellll aallll pprrooccss//tthhrreeaaddss iitt iiss ttiimmee ttoo bbee ddoonnee

DESCRIPTION #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett -- BBaassee ccllaassss ffoorr aallll eevveenntt ffaacceettss..

DESCRIPTION #

METHODS #

     $key = $facet_class->ffaacceett__kkeeyy(()), $bool = $facet_class->iiss__lliisstt(()),
     $clone = $facet->cclloonnee(()), $clone = $facet->clone(%replace)

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::AAbboouutt -- FFaacceett wwiitthh eevveenntt ddeettaaiillss..

DESCRIPTION #

FIELDS #

     $string = $about->{details}, $string = $about->ddeettaaiillss(()), $package =
     $about->{package}, $package = $about->ppaacckkaaggee(()), $bool =
     $about->{no_display}, $bool = $about->nnoo__ddiissppllaayy(()), $uuid =
     $about->{uuid}, $uuid = $about->uuuuiidd(()), $uuid = $about->{eid}, $uuid
     = $about->eeiidd(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::AAmmnneessttyy -- FFaacceett ffoorr aasssseerrttiioonn aammnneessttyy..

DESCRIPTION #

NOTES #

FIELDS #

     $string = $amnesty->{details}, $string = $amnesty->ddeettaaiillss(()),
     $short_string = $amnesty->{tag}, $short_string = $amnesty->ttaagg(()),
     $bool = $amnesty->{inherited}, $bool = $amnesty->iinnhheerriitteedd(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::AAsssseerrtt -- FFaacceett rreepprreesseennttiinngg aann aasssseerrttiioonn..

DESCRIPTION #

FIELDS #

     $string = $assert->{details}, $string = $assert->ddeettaaiillss(()), $bool =
     $assert->{pass}, $bool = $assert->ppaassss(()), $bool =
     $assert->{no_debug}, $bool = $assert->nnoo__ddeebbuugg(()), $int =
     $assert->{number}, $int = $assert->nnuummbbeerr(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::CCoonnttrrooll -- FFaacceett ffoorr hhuubb aaccttiioonnss aanndd bbeehhaavviioorrss..

DESCRIPTION #

FIELDS #

     $string = $control->{details}, $string = $control->ddeettaaiillss(()), $bool =
     $control->{global}, $bool = $control->gglloobbaall(()), $exit =
     $control->{terminate}, $exit = $control->tteerrmmiinnaattee(()), $bool =
     $control->{halt}, $bool = $control->hhaalltt(()), $bool =
     $control->{has_callback}, $bool = $control->hhaass__ccaallllbbaacckk(()), $encoding
     = $control->{encoding}, $encoding = $control->eennccooddiinngg(()), $phase =
     $control->{phase}, $phase = $control->pphhaassee(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::EErrrroorr -- FFaacceett ffoorr eerrrroorrss tthhaatt nneeeedd ttoo bbee sshhoowwnn..

DESCRIPTION #

NOTES #

FIELDS #

     $string = $error->{details}, $string = $error->ddeettaaiillss(()),
     $short_string = $error->{tag}, $short_string = $error->ttaagg(()), $bool =
     $error->{fail}, $bool = $error->ffaaiill(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::HHuubb -- FFaacceett ffoorr tthhee hhuubbss aann eevveenntt ppaasssseess tthhrroouugghh..

DESCRIPTION #

FACET FIELDS #

     $string = $trace->{details}, $string = $trace->ddeettaaiillss(()), $int =
     $trace->{pid}, $int = $trace->ppiidd(()), $int = $trace->{tid}, $int =
     $trace->ttiidd(()), $hid = $trace->{hid}, $hid = $trace->hhiidd(()), $huuid =
     $trace->{huuid}, $huuid = $trace->hhuuuuiidd(()), $int = $trace->{nested},
     $int = $trace->nneesstteedd(()), $bool = $trace->{buffered}, $bool =
     $trace->bbuuffffeerreedd(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::IInnffoo -- FFaacceett ffoorr iinnffoorrmmaattiioonn aa ddeevveellooppeerr mmiigghhtt ccaarree aabboouutt..

DESCRIPTION #

NOTES #

FIELDS #

     $string_or_structure = $info->{details}, $string_or_structure =
     $info->ddeettaaiillss(()), $structure = $info->{table}, $structure =
     $info->ttaabbllee(()), $short_string = $info->{tag}, $short_string =
     $info->ttaagg(()), $bool = $info->{debug}, $bool = $info->ddeebbuugg(()), $bool =
     $info->{important}, $bool = $info->important

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::IInnffoo::::TTaabbllee -- IInntteerrmmeeddiiaarryy rreepprreesseennttaattiioonn ooff aa ttaabbllee..

DESCRIPTION #

SYNOPSIS #

ATTRIBUTES #

     $header_aref = $t->hheeaaddeerr(()), $rows_aref = $t->rroowwss(()), $bool =
     $t->ccoollllaappssee(()), $aref = $t->nnoo__ccoollllaappssee(()), $str = $t->aass__ssttrriinngg(()),
     $href = $t->aass__hhaasshh(()), %args = $t->iinnffoo__aarrggss(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::MMeettaa -- FFaacceett ffoorr mmeettaa--ddaattaa

DESCRIPTION #

METHODS AND FIELDS #

     $anything = $meta->{anything}, $anything = $meta->aannyytthhiinngg(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::PPaarreenntt -- FFaacceett ffoorr eevveennttss ccoonnttaaiinnss ootthheerr eevveennttss

DESCRIPTION #

FIELDS #

     $string = $parent->{details}, $string = $parent->ddeettaaiillss(()), $hid =
     $parent->{hid}, $hid = $parent->hhiidd(()), $arrayref =
     $parent->{children}, $arrayref = $parent->cchhiillddrreenn(()), $bool =
     $parent->{buffered}, $bool = $parent->bbuuffffeerreedd(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::PPllaann -- FFaacceett ffoorr sseettttiinngg tthhee ppllaann

DESCRIPTION #

FIELDS #

     $string = $plan->{details}, $string = $plan->ddeettaaiillss(()), $positive_int
     = $plan->{count}, $positive_int = $plan->ccoouunntt(()), $bool =
     $plan->{skip}, $bool = $plan->sskkiipp(()), $bool = $plan->{none}, $bool =
     $plan->nnoonnee(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::RReennddeerr -- FFaacceett tthhaatt ddiiccttaatteess hhooww ttoo rreennddeerr aann eevveenntt..

DESCRIPTION #

FIELDS #

     $string = $render->[#]->{details}, $string = $render->[#]->ddeettaaiillss(()),
     $string = $render->[#]->{tag}, $string = $render->[#]->ttaagg(()), $string
     = $render->[#]->{facet}, $string = $render->[#]->ffaacceett(()), $mode =
     $render->[#]->{mode}, $mode = $render->[#]->mmooddee(()), calculated,
     replace

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::EEvveennttFFaacceett::::TTrraaccee -- DDeebbuugg iinnffoorrmmaattiioonn ffoorr eevveennttss

DESCRIPTION #

SYNOPSIS #

FACET FIELDS #

     $string = $trace->{details}, $string = $trace->ddeettaaiillss(()), $frame =
     $trace->{frame}, $frame = $trace->ffrraammee(()), $int = $trace->{pid}, $int
     = $trace->ppiidd(()), $int = $trace->{tid}, $int = $trace->ttiidd(()), $id =
     $trace->{cid}, $id = $trace->cciidd(()), $uuid = $trace->{uuid}, $uuid =
     $trace->uuuuiidd(()), ($pkg, $file, $line, $subname) = $trace->call,
     @caller = $trace->full_call, $warning_bits = $trace->warning_bits
         $hid = $trace->{hid}, $hid = $trace->hhiidd(()), $huuid =
         $trace->{huuid}, $huuid = $trace->hhuuuuiidd(()), $int =
         $trace->{nested}, $int = $trace->nneesstteedd(()), $bool =
         $trace->{buffered}, $bool = $trace->bbuuffffeerreedd(())

METHODS #

     $trace->set_detail($msg), $msg = $trace->detail, $str =
     $trace->debug, $trace->alert($MESSAGE), $trace->throw($MESSAGE),
     ($package, $file, $line, $subname) = $trace->ccaallll(()), $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>

TTeesstt22::::FFoorrmmaatttteerr -- NNaammeessppaaccee ffoorr ffoorrmmaatttteerrss..

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>

TTeesstt22::::FFoorrmmaatttteerr::::TTAAPP -- SSttaannddaarrdd TTAAPP ffoorrmmaatttteerr

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>

TTeesstt22::::HHuubb -- TThhee ccoonndduuiitt tthhrroouugghh wwhhiicchh aallll eevveennttss ffllooww..

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->ccuullll(()), $pid =
     $hub->ppiidd(()), $tid = $hub->ttiidd(()), $hud = $hub->hhiidd(()), $uuid =
     $hub->uuuuiidd(()), $ipc = $hub->iippcc(()), $hub->set_no_ending($bool), $bool =
     $hub->no_ending, $bool = $hub->active, $hub->set_active($bool)

STATE METHODS #

         $hub->rreesseett__ssttaattee(()), $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>

TTeesstt22::::HHuubb::::IInntteerrcceeppttoorr -- HHuubb uusseedd bbyy iinntteerrcceeppttoorr ttoo ggrraabb rreessuullttss..

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::HHuubb::::IInntteerrcceeppttoorr::::TTeerrmmiinnaattoorr -- EExxcceeppttiioonn ccllaassss uusseedd bbyy TTeesstt22::::HHuubb::::IInntteerrcceeppttoorr

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::HHuubb::::SSuubbtteesstt -- HHuubb uusseedd bbyy ssuubbtteessttss

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>

TTeesstt22::::IIPPCC -- TTuurrnn oonn IIPPCC ffoorr tthhrreeaaddiinngg oorr ffoorrkkiinngg ssuuppppoorrtt..

SYNOPSIS #

DISABLING IT #

EXPORTS #

     ccuullll(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::IIPPCC::::DDrriivveerr -- BBaassee ccllaassss ffoorr TTeesstt22 IIPPCC ddrriivveerrss..

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

METHODS SUBCLASSES MAY IMPLEMENT OR OVERRIDE #

         $ipc->driver_abort($msg)

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::IIPPCC::::DDrriivveerr::::FFiilleess -- TTeemmpp ddiirr ++ FFiilleess ccoonnccuurrrreennccyy mmooddeell..

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>

TTeesstt22::::TToooollss::::TTiinnyy -- TTiinnyy sseett ooff ttoooollss ffoorr uunnffoorrttuunnaattee ssoouullss wwhhoo ccaannnnoott uussee TTeesstt22::::SSuuiittee..

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),
     ddoonnee__tteessttiinngg(()), $warnings = warnings { ... }, $exception = exception
     { ... }, tests $name => sub { ... }, $output = capture { ... }

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::TTrraannssiittiioonn -- TTrraannssiittiioonn nnootteess wwhheenn uuppggrraaddiinngg ttoo TTeesstt22

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>

TTeesstt22::::UUttiill -- TToooollss uusseedd bbyy TTeesstt22 aanndd ffrriieennddss..

DESCRIPTION #

EXPORTS #

     ($success, $error) = try { ... }, protect { ... }, CAN_FORK,
     CAN_REALLY_FORK, CAN_THREAD, USE_THREADS, get_tid, my $file =
     pkg_to_file($package), $string = iippcc__sseeppaarraattoorr(()), $string =
     ggeenn__uuiidd(()), ($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>

TTeesstt22::::UUttiill::::EExxtteerrnnaallMMeettaa -- AAllllooww tthhiirrdd ppaarrttyy ttoooollss ttoo ssaaffeellyy aattttaacchh mmeettaa--ddaattaa ttoo yyoouurr iinnssttaanncceess..

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>

TTeesstt22::::UUttiill::::FFaacceettss22LLeeggaaccyy -- CCoonnvveerrtt ffaacceett ddaattaa ttoo tthhee lleeggaaccyy eevveenntt AAPPII..

DESCRIPTION #

SYNOPSIS #

AS METHODS #

AS FUNCTIONS #

NOTE ON CYCLES #

EXPORTS #

     $bool = $e->ccaauusseess__ffaaiill(()), $bool = causes_fail($f), $bool =
     $e->ddiiaaggnnoossttiiccss(()), $bool = diagnostics($f), $bool = $e->gglloobbaall(()),
     $bool = global($f), $bool = $e->iinnccrreemmeennttss__ccoouunntt(()), $bool =
     increments_count($f), $bool = $e->nnoo__ddiissppllaayy(()), $bool =
     no_display($f), ($max, $directive, $reason) = $e->sseettss__ppllaann(()), ($max,
     $directive, $reason) = sets_plan($f), $id = $e->ssuubbtteesstt__iidd(()), $id =
     subtest_id($f), $string = $e->ssuummmmaarryy(()), $string = summary($f),
     $undef_or_int = $e->tteerrmmiinnaattee(()), $undef_or_int = terminate($f), $uuid
     = $e->uuuuiidd(()), $uuid = uuid($f)

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::UUttiill::::HHaasshhBBaassee -- BBuuiilldd hhaasshh bbaasseedd ccllaasssseess..

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

ACCESSORS #

READ/WRITE #

         ffoooo(()), sseett__ffoooo(()), FFOOOO(())

READ ONLY #

         sseett__ffoooo(())

DEPRECATED SETTER #

         sseett__ffoooo(())

NO SETTER #

NO READER #

CONSTANT ONLY #

SUBCLASSING #

GETTING A LIST OF ATTRIBUTES FOR A CLASS #

     @list = Test2::Util::HashBase::attr_list($class), @list =
     $class->TTeesstt22::::UUttiill::::HHaasshhBBaassee::::aattttrr__lliisstt(())

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt22::::UUttiill::::TTrraaccee -- LLeeggaaccyy wwrraappppeerr ffrroo TTeesstt22::::EEvveennttFFaacceett::::TTrraaccee..

DESCRIPTION #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt::::BBuuiillddeerr -- BBaacckkeenndd ffoorr bbuuiillddiinngg tteesstt lliibbrraarriieess

SYNOPSIS #

DESCRIPTION #

     Construction
         nneeww, ccrreeaattee, ssuubbtteesstt, nnaammee, rreesseett

     Setting up tests
         ppllaann, eexxppeecctteedd__tteessttss, nnoo__ppllaann, ddoonnee__tteessttiinngg, hhaass__ppllaann, sskkiipp__aallll,
         eexxppoorrtteedd__ttoo

     Running tests
         ookk, iiss__eeqq, iiss__nnuumm, iissnntt__eeqq, iissnntt__nnuumm, lliikkee, uunnlliikkee, ccmmpp__ookk

     Other Testing Methods
         BBAAIILL__OOUUTT, sskkiipp, ttooddoo__sskkiipp, sskkiipp__rreesstt

     Test building utility methods
         mmaayybbee__rreeggeexx, iiss__ffhh

 Test style
     lleevveell, uussee__nnuummbbeerrss, nnoo__ddiiaagg, nnoo__eennddiinngg, nnoo__hheeaaddeerr

 Output
     ddiiaagg, nnoottee, eexxppllaaiinn, oouuttppuutt, ffaaiilluurree__oouuttppuutt, ttooddoo__oouuttppuutt,
     reset_outputs, carp, croak

 Test Status and Info
     nnoo__lloogg__rreessuullttss, ccuurrrreenntt__tteesstt, iiss__ppaassssiinngg, ssuummmmaarryy, ddeettaaiillss, ttooddoo,
     ffiinndd__TTOODDOO, iinn__ttooddoo, ttooddoo__ssttaarrtt, "todo_end", ccaalllleerr

EXIT CODES #

THREADS #

MEMORY #

EXAMPLES #

SEE ALSO #

INTERNALS #

LEGACY #

EXTERNAL #

AUTHORS #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

TTeesstt::::BBuuiillddeerr::::FFoorrmmaatttteerr -- TTeesstt::::BBuuiillddeerr ssuubbccllaassss ooff TTeesstt22::::FFoorrmmaatttteerr::::TTAAPP

DESCRIPTION #

SYNOPSIS #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt::::BBuuiillddeerr::::IIOO::::SSccaallaarr -- AA ccooppyy ooff IIOO::::SSccaallaarr ffoorr TTeesstt::::BBuuiillddeerr

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 #

TTeesstt::::BBuuiillddeerr::::MMoodduullee -- BBaassee ccllaassss ffoorr tteesstt mmoodduulleess

SYNOPSIS #

DESCRIPTION #

     Importing
 Builder

SEE ALSO #

TTeesstt::::BBuuiillddeerr::::TTeesstteerr -- tteesstt tteessttssuuiitteess tthhaatt hhaavvee bbeeeenn bbuuiilltt wwiitthh TTeesstt::::BBuuiillddeerr

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 #

TTeesstt::::BBuuiillddeerr::::TTeesstteerr::::CCoolloorr -- ttuurrnn oonn ccoolloouurr iinn TTeesstt::::BBuuiillddeerr::::TTeesstteerr

SYNOPSIS #

DESCRIPTION #

AUTHOR #

BUGS #

SEE ALSO #

TTeesstt::::BBuuiillddeerr::::TTooddooDDiiaagg -- TTeesstt::::BBuuiillddeerr ssuubbccllaassss ooff TTeesstt22::::EEvveenntt::::DDiiaagg

DESCRIPTION #

SYNOPSIS #

SOURCE #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

AUTHORS #

     Chad Granum <exodist@cpan.org>

TTeesstt::::HHaarrnneessss -- RRuunn PPeerrll ssttaannddaarrdd tteesstt ssccrriippttss wwiitthh ssttaattiissttiiccss

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 #

TTeesstt::::MMoorree -- yyeett aannootthheerr ffrraammeewwoorrkk ffoorr wwrriittiinngg tteesstt ssccrriippttss

SYNOPSIS #

DESCRIPTION #

     I love it when a plan comes together

 ddoonnee__tteessttiinngg

 Test names
 I'm ok, you're not ok.
     ookk

 iiss, iissnntt

 lliikkee

 uunnlliikkee

 ccmmpp__ookk

 ccaann__ookk

 iissaa__ookk

 nneeww__ookk

 ssuubbtteesstt

 ppaassss, ffaaiill

 Module tests
     rreeqquuiirree__ookk

 uussee__ookk

 Complex data structures
     iiss__ddeeeeppllyy

 Diagnostics
     ddiiaagg, nnoottee

 eexxppllaaiinn

 Conditional tests

SSKKIIPP:: BBLLOOCCKK #

 TTOODDOO:: BBLLOOCCKK, ttooddoo__sskkiipp

 When do I use SKIP vs. TODO?

 Test control

BBAAIILL__OOUUTT #

 Discouraged comparison functions
     eeqq__aarrrraayy

 eeqq__hhaasshh

 eeqq__sseett

 Extending and Embedding Test::More
     bbuuiillddeerr

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 #

TTeesstt::::SSiimmppllee -- BBaassiicc uuttiilliittiieess ffoorr wwrriittiinngg tteessttss..

SYNOPSIS #

DESCRIPTION #

     ookk

EXAMPLE #

CAVEATS #

NOTES #

HISTORY #

SEE ALSO #

     Test::More

AUTHORS #

MAINTAINERS #

     Chad Granum <exodist@cpan.org>

TTeesstt::::TTeesstteerr -- EEaassee tteessttiinngg tteesstt mmoodduulleess bbuuiilltt wwiitthh TTeesstt::::BBuuiillddeerr

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 #

TTeesstt::::TTeesstteerr::::CCaappttuurree -- HHeellpp tteessttiinngg tteesstt mmoodduulleess bbuuiilltt wwiitthh TTeesstt::::BBuuiillddeerr

DESCRIPTION #

AUTHOR #

LICENSE #

TTeesstt::::TTeesstteerr::::CCaappttuurreeRRuunnnneerr -- HHeellpp tteessttiinngg tteesstt mmoodduulleess bbuuiilltt wwiitthh TTeesstt::::BBuuiillddeerr

DESCRIPTION #

AUTHOR #

LICENSE #

TTeesstt::::TTuuttoorriiaall -- AA ttuuttoorriiaall aabboouutt wwrriittiinngg rreeaallllyy bbaassiicc tteessttss

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>

TTeesstt::::uussee::::ookk -- AAlltteerrnnaattiivvee ttoo TTeesstt::::MMoorree::::uussee__ookk

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

MAINTAINER #

     Chad Granum <exodist@cpan.org>

 CC0 1.0 Universal

TTeexxtt::::AAbbbbrreevv -- aabbbbrreevv -- ccrreeaattee aann aabbbbrreevviiaattiioonn ttaabbllee ffrroomm aa lliisstt

SYNOPSIS #

DESCRIPTION #

EXAMPLE #

TTeexxtt::::BBaallaanncceedd -- EExxttrraacctt ddeelliimmiitteedd tteexxtt sseeqquueenncceess ffrroomm ssttrriinnggss..

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 #

LICENCE #

VERSION #

DATE #

HISTORY #

TTeexxtt::::PPaarrsseeWWoorrddss -- ppaarrssee tteexxtt iinnttoo aann aarrrraayy ooff ttookkeennss oorr aarrrraayy ooff aarrrraayyss

SYNOPSIS #

DESCRIPTION #

     true, false, "delimiters"

EXAMPLES #

     0, 1, 2, 3, 4, 5

SEE ALSO #

AUTHORS #

TTeexxtt::::TTaabbss -- eexxppaanndd aanndd uunneexxppaanndd ttaabbss lliikkee uunniixx eexxppaanndd((11)) aanndd uunneexxppaanndd((11))

SYNOPSIS #

DESCRIPTION #

EXPORTS #

     expand, unexpand, $tabstop

EXAMPLE #

BUGS #

LICENSE #

TTeexxtt::::WWrraapp -- lliinnee wwrraappppiinngg ttoo ffoorrmm ssiimmppllee ppaarraaggrraapphhss

SYNOPSIS #

DESCRIPTION #

OVERRIDES #

EXAMPLES #

SEE ALSO #

AUTHOR #

LICENSE #

TThhrreeaadd -- MMaanniippuullaattee tthhrreeaaddss iinn PPeerrll ((ffoorr oolldd ccooddee oonnllyy))

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 #

TThhrreeaadd::::QQuueeuuee -- TThhrreeaadd--ssaaffee qquueeuueess

VERSION #

SYNOPSIS #

DESCRIPTION #

     Ordinary scalars, Array refs, Hash refs, Scalar refs, Objects based
     on the above

QUEUE CREATION #

     ->nneeww(()), ->new(LIST)

BASIC METHODS #

     ->enqueue(LIST), ->ddeeqquueeuuee(()), ->dequeue(COUNT), ->ddeeqquueeuuee__nnbb(()),
     ->dequeue_nb(COUNT), ->dequeue_timed(TIMEOUT),
     ->dequeue_timed(TIMEOUT, COUNT), ->ppeennddiinngg(()), ->limit, ->eenndd(())

ADVANCED METHODS #

     ->ppeeeekk(()), ->peek(INDEX), ->insert(INDEX, LIST), ->eexxttrraacctt(()),
     ->extract(INDEX), ->extract(INDEX, COUNT)

NOTES #

LIMITATIONS #

SEE ALSO #

MAINTAINER #

LICENSE #

TThhrreeaadd::::SSeemmaapphhoorree -- TThhrreeaadd--ssaaffee sseemmaapphhoorreess

VERSION #

SYNOPSIS #

DESCRIPTION #

METHODS #

     ->nneeww(()), ->new(NUMBER), ->ddoowwnn(()), ->down(NUMBER), ->ddoowwnn__nnbb(()),
     ->down_nb(NUMBER), ->ddoowwnn__ffoorrccee(()), ->down_force(NUMBER),
     ->down_timed(TIMEOUT), ->down_timed(TIMEOUT, NUMBER), ->uupp(()),
     ->up(NUMBER)

NOTES #

SEE ALSO #

MAINTAINER #

LICENSE #

TTiiee::::AArrrraayy -- bbaassee ccllaassss ffoorr ttiieedd aarrrraayyss

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 #

TTiiee::::FFiillee -- AAcccceessss tthhee lliinneess ooff aa ddiisskk ffiillee vviiaa aa PPeerrll aarrrraayy

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 #

TTiiee::::HHaannddllee -- bbaassee ccllaassss ddeeffiinniittiioonnss ffoorr ttiieedd hhaannddlleess

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 #

TTiiee::::HHaasshh,, TTiiee::::SSttddHHaasshh,, TTiiee::::EExxttrraaHHaasshh -- bbaassee ccllaassss ddeeffiinniittiioonnss ffoorr ttiieedd hhaasshheess

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 TTiiee::::SSttddHHaasshh
 Inheriting from TTiiee::::EExxttrraaHHaasshh
 "SCALAR", "UNTIE" and "DESTROY"

MORE INFORMATION #

TTiiee::::HHaasshh::::NNaammeeddCCaappttuurree -- NNaammeedd rreeggeexxpp ccaappttuurree bbuuffffeerrss

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

TTiiee::::MMeemmooiizzee -- aadddd ddaattaa ttoo hhaasshh wwhheenn nneeeeddeedd

SYNOPSIS #

DESCRIPTION #

 Inheriting from TTiiee::::MMeemmooiizzee

EXAMPLE #

BUGS #

AUTHOR #

TTiiee::::RReeffHHaasshh -- UUssee rreeffeerreenncceess aass hhaasshh kkeeyyss

VERSION #

SYNOPSIS #

DESCRIPTION #

EXAMPLE #

THREAD SUPPORT #

STORABLE SUPPORT #

SEE ALSO #

SUPPORT #

AUTHORS #

CONTRIBUTORS #

TTiiee::::SSccaallaarr,, TTiiee::::SSttddSSccaallaarr -- bbaassee ccllaassss ddeeffiinniittiioonnss ffoorr ttiieedd ssccaallaarrss

SYNOPSIS #

DESCRIPTION #

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

     Tie::Scalar vs Tie::StdScalar

MORE INFORMATION #

TTiiee::::SSttddHHaannddllee -- bbaassee ccllaassss ddeeffiinniittiioonnss ffoorr ttiieedd hhaannddlleess

SYNOPSIS #

DESCRIPTION #

TTiiee::::SSuubbssttrrHHaasshh -- FFiixxeedd--ttaabbllee--ssiizzee,, ffiixxeedd--kkeeyy--lleennggtthh hhaasshhiinngg

SYNOPSIS #

DESCRIPTION #

CAVEATS #

TTiimmee::::HHiiRReess -- HHiigghh rreessoolluuttiioonn aallaarrmm,, sslleeeepp,, ggeettttiimmeeooffddaayy,, iinntteerrvvaall ttiimmeerrss

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), cclloocckk(()), 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 #

TTiimmee::::LLooccaall -- EEffffiicciieennttllyy ccoommppuuttee ttiimmee ffrroomm llooccaall aanndd GGMMTT ttiimmee

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 #

TTiimmee::::PPiieeccee -- OObbjjeecctt OOrriieenntteedd ttiimmee oobbjjeeccttss

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 #

SEE ALSO #

BUGS #

TTiimmee::::SSeeccoonnddss -- aa ssiimmppllee AAPPII ttoo ccoonnvveerrtt sseeccoonnddss ttoo ootthheerr ddaattee vvaalluueess

SYNOPSIS #

DESCRIPTION #

METHODS #

AUTHOR #

 Bugs

TTiimmee::::ggmmttiimmee -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ggmmttiimmee(()) ffuunnccttiioonn

SYNOPSIS #

DESCRIPTION #

NOTE #

AUTHOR #

TTiimmee::::llooccaallttiimmee -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn llooccaallttiimmee(()) ffuunnccttiioonn

SYNOPSIS #

DESCRIPTION #

NOTE #

AUTHOR #

TTiimmee::::ttmm -- iinntteerrnnaall oobbjjeecctt uusseedd bbyy TTiimmee::::ggmmttiimmee aanndd TTiimmee::::llooccaallttiimmee

SYNOPSIS #

DESCRIPTION #

AUTHOR #

UUNNIIVVEERRSSAALL -- bbaassee ccllaassss ffoorr AALLLL ccllaasssseess ((bblleesssseedd rreeffeerreenncceess))

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 #

UUnniiccooddee::::CCoollllaattee -- UUnniiccooddee CCoollllaattiioonn AAllggoorriitthhmm

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

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

UUnniiccooddee::::CCoollllaattee::::CCJJKK::::BBiigg55 -- wweeiigghhttiinngg CCJJKK UUnniiffiieedd IIddeeooggrraapphhss ffoorr UUnniiccooddee::::CCoollllaattee

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

     CLDR - Unicode Common Locale Data Repository, Unicode Locale Data
     Markup Language (LDML) - UTS #35, Unicode::Collate,
     Unicode::Collate::Locale

UUnniiccooddee::::CCoollllaattee::::CCJJKK::::GGBB22331122 -- wweeiigghhttiinngg CCJJKK UUnniiffiieedd IIddeeooggrraapphhss ffoorr UUnniiccooddee::::CCoollllaattee

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

     CLDR - Unicode Common Locale Data Repository, Unicode Locale Data
     Markup Language (LDML) - UTS #35, Unicode::Collate,
     Unicode::Collate::Locale

UUnniiccooddee::::CCoollllaattee::::CCJJKK::::JJIISSXX00220088 -- wweeiigghhttiinngg JJIISS KKAANNJJII ffoorr UUnniiccooddee::::CCoollllaattee

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

     Unicode::Collate, Unicode::Collate::Locale

UUnniiccooddee::::CCoollllaattee::::CCJJKK::::KKoorreeaann -- wweeiigghhttiinngg CCJJKK UUnniiffiieedd IIddeeooggrraapphhss ffoorr UUnniiccooddee::::CCoollllaattee

SYNOPSIS #

DESCRIPTION #

SEE ALSO #

     CLDR - Unicode Common Locale Data Repository, Unicode Locale Data
     Markup Language (LDML) - UTS #35, Unicode::Collate,
     Unicode::Collate::Locale

UUnniiccooddee::::CCoollllaattee::::CCJJKK::::PPiinnyyiinn -- wweeiigghhttiinngg CCJJKK UUnniiffiieedd IIddeeooggrraapphhss ffoorr UUnniiccooddee::::CCoollllaattee

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

     CLDR - Unicode Common Locale Data Repository, Unicode Locale Data
     Markup Language (LDML) - UTS #35, Unicode::Collate,
     Unicode::Collate::Locale

UUnniiccooddee::::CCoollllaattee::::CCJJKK::::SSttrrookkee -- wweeiigghhttiinngg CCJJKK UUnniiffiieedd IIddeeooggrraapphhss ffoorr UUnniiccooddee::::CCoollllaattee

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

     CLDR - Unicode Common Locale Data Repository, Unicode Locale Data
     Markup Language (LDML) - UTS #35, Unicode::Collate,
     Unicode::Collate::Locale

UUnniiccooddee::::CCoollllaattee::::CCJJKK::::ZZhhuuyyiinn -- wweeiigghhttiinngg CCJJKK UUnniiffiieedd IIddeeooggrraapphhss ffoorr UUnniiccooddee::::CCoollllaattee

SYNOPSIS #

DESCRIPTION #

CAVEAT #

SEE ALSO #

     CLDR - Unicode Common Locale Data Repository, Unicode Locale Data
     Markup Language (LDML) - UTS #35, Unicode::Collate,
     Unicode::Collate::Locale

UUnniiccooddee::::CCoollllaattee::::LLooccaallee -- LLiinngguuiissttiicc ttaaiilloorriinngg ffoorr DDUUCCEETT vviiaa UUnniiccooddee::::CCoollllaattee

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

UUnniiccooddee::::NNoorrmmaalliizzee -- UUnniiccooddee NNoorrmmaalliizzaattiioonn FFoorrmmss

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

UUnniiccooddee::::UUCCDD -- UUnniiccooddee cchhaarraacctteerr ddaattaabbaassee

SYNOPSIS #

DESCRIPTION #

     code point argument
 cchhaarriinnffoo(())
     ccooddee, nnaammee, ccaatteeggoorryy, ccoommbbiinniinngg, bbiiddii, ddeeccoommppoossiittiioonn, ddeecciimmaall, ddiiggiitt,
     nnuummeerriicc, mmiirrrroorreedd, uunniiccooddee1100, ccoommmmeenntt, uuppppeerr, lloowweerr, ttiittllee, bblloocckk,
     ssccrriipptt

 cchhaarrpprroopp(())
     Block, Decomposition_Mapping, Name_Alias, Numeric_Value,
     Script_Extensions

 cchhaarrpprrooppss__aallll(())
 cchhaarrbblloocckk(())
 cchhaarrssccrriipptt(())
 cchhaarrbblloocckkss(())
 cchhaarrssccrriippttss(())
 cchhaarriinnrraannggee(())
 ggeenneerraall__ccaatteeggoorriieess(())
 bbiiddii__ttyyppeess(())
 ccoommppeexxccll(())
 ccaasseeffoolldd(())
     ccooddee, ffuullll, ssiimmppllee, mmaappppiinngg, ssttaattuuss, ** If you use this "I" mapping, **
     If you exclude this "I" mapping, ttuurrkkiicc

 aallll__ccaasseeffoollddss(())
 ccaasseessppeecc(())
     ccooddee, lloowweerr, ttiittllee, uuppppeerr, ccoonnddiittiioonn

 nnaammeeddsseeqq(())
 nnuumm(())
 pprroopp__aalliiaasseess(())
 pprroopp__vvaalluueess(())
 pprroopp__vvaalluuee__aalliiaasseess(())
 pprroopp__iinnvvlliisstt(())
 pprroopp__iinnvvmmaapp(())
     ""ss"", ""ssll"", "correction", "control", "alternate", "figment",
     "abbreviation", ""aa"", ""aall"", ""aaee"", ""aallee"", ""aarr"", ""nn"", ""aadd""

 sseeaarrcchh__iinnvvlliisstt(())
 Unicode::UCD::UnicodeVersion
 BBlloocckkss vveerrssuuss SSccrriippttss
 MMaattcchhiinngg SSccrriippttss aanndd BBlloocckkss
 Old-style versus new-style block names
 Use with older Unicode versions

AUTHOR #

UUsseerr::::ggrreenntt -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ggeettggrr(()) ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

NOTE #

AUTHOR #

UUsseerr::::ppwweenntt -- bbyy--nnaammee iinntteerrffaaccee ttoo PPeerrll’’ss bbuuiilltt--iinn ggeettppww(()) ffuunnccttiioonnss

SYNOPSIS #

DESCRIPTION #

     System Specifics

NOTE #

AUTHOR #

HISTORY #

     March 18th, 2000

XXSSLLooaaddeerr -- DDyynnaammiiccaallllyy llooaadd CC lliibbrraarriieess iinnttoo PPeerrll ccooddee

VERSION #

SYNOPSIS #

DESCRIPTION #

     Migration from "DynaLoader"
     Backward compatible boilerplate
 Order of initialization: early llooaadd(())
     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 #

AAUUXXIILLIIAARRYY DDOOCCUUMMEENNTTAATTIIOONN #

 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

AAUUTTHHOORR #

 Larry Wall <_l_a_r_r_y_@_w_a_l_l_._o_r_g>, with the help of oodles of other folks.

perl v5.36.3 2024-03-20 PERLTOC(1)