PERLTOC(1perl) Perl Programmers Reference Guide PERLTOC(1perl) NAME perltoc - perl documentation table of contents DESCRIPTION This page provides a brief table of contents for the rest of the Perl documentation set. It is meant to be scanned quickly or grepped through to locate the proper section you're looking for. BASIC DOCUMENTATION perl - The Perl 5 language interpreter SYNOPSIS GETTING HELP Overview Tutorials Reference Manual Internals and C Language Interface History Miscellaneous Language-Specific Platform-Specific Stubs for Deleted Documents DESCRIPTION AVAILABILITY ENVIRONMENT AUTHOR FILES SEE ALSO DIAGNOSTICS BUGS NOTES perlintro - a brief introduction and overview of Perl DESCRIPTION What is Perl? Running Perl programs Safety net Basic syntax overview Perl variable types Scalars, Arrays, Hashes Variable scoping Conditional and looping constructs if, while, for, foreach Builtin operators and functions Arithmetic, Numeric comparison, String comparison, Boolean logic, Miscellaneous Files and I/O Regular expressions Simple matching, Simple substitution, More complex regular expressions, Parentheses for capturing, Other regexp features Writing subroutines OO Perl Using Perl modules AUTHOR perlrun - how to execute the Perl interpreter SYNOPSIS DESCRIPTION #! and quoting on non-Unix systems OS/2, MS-DOS, Win95/NT, VMS Location of Perl Command Switches -0[octal/hexadecimal] , -a , -C [number/list] , -c , -d , -dt, -d:MOD[=bar,baz] , -dt:MOD[=bar,baz], -Dletters , -Dnumber, -e commandline , -E commandline , -f , -Fpattern , -g , -h , -? , -i[extension] , -Idirectory , -l[octnum] , -m[-]module , -M[-]module, -M[-]'module ...', -[mM][-]module=arg[,arg]..., -n , -p , -s , -S , -t , -T , -u , -U , -v , -V , -V:configvar, -w , -W , -X , -x , -xdirectory ENVIRONMENT HOME , LOGDIR , PATH , PERL5LIB , PERL5OPT , PERLIO , :crlf , :perlio , :stdio , :unix , PERLIO_DEBUG , PERLLIB , PERL5DB , PERL5DB_THREADED , PERL5SHELL (specific to the Win32 port) , PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port) , PERL_DEBUG_MSTATS , PERL_DESTRUCT_LEVEL , PERL_DL_NONLAZY , PERL_ENCODING , PERL_HASH_SEED , PERL_PERTURB_KEYS , PERL_HASH_SEED_DEBUG , PERL_MEM_LOG , PERL_ROOT (specific to the VMS port) , PERL_SIGNALS , PERL_UNICODE , PERL_USE_UNSAFE_INC , SYS$LOGIN (specific to the VMS port) , PERL_INTERNAL_RAND_SEED , PERL_RAND_SEED ORDER OF APPLICATION -I, -M, the PERL5LIB environment variable, combinations of -I, -M and PERL5LIB, the PERL5OPT environment variable, Other complications, arch and version subdirs, sitecustomize.pl perlreftut - Mark's very short tutorial about references DESCRIPTION Who Needs Complicated Data Structures? The Solution Syntax Making References Using References An Example Arrow Rule Solution The Rest Summary Credits Distribution Conditions perldsc - Perl Data Structures Cookbook DESCRIPTION arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs REFERENCES COMMON MISTAKES CAVEAT ON PRECEDENCE WHY YOU SHOULD ALWAYS "use VERSION" DEBUGGING CODE EXAMPLES ARRAYS OF ARRAYS Declaration of an ARRAY OF ARRAYS Generation of an ARRAY OF ARRAYS Access and Printing of an ARRAY OF ARRAYS HASHES OF ARRAYS Declaration of a HASH OF ARRAYS Generation of a HASH OF ARRAYS Access and Printing of a HASH OF ARRAYS ARRAYS OF HASHES Declaration of an ARRAY OF HASHES Generation of an ARRAY OF HASHES Access and Printing of an ARRAY OF HASHES HASHES OF HASHES Declaration of a HASH OF HASHES Generation of a HASH OF HASHES Access and Printing of a HASH OF HASHES MORE ELABORATE RECORDS Declaration of MORE ELABORATE RECORDS Declaration of a HASH OF COMPLEX RECORDS Generation of a HASH OF COMPLEX RECORDS Database Ties SEE ALSO AUTHOR perllol - Manipulating Arrays of Arrays in Perl DESCRIPTION Declaration and Access of Arrays of Arrays Growing Your Own Access and Printing Slices SEE ALSO AUTHOR perlrequick - Perl regular expressions quick start DESCRIPTION The Guide Simple word matching Using character classes Matching this or that Grouping things and hierarchical matching Extracting matches Matching repetitions More matching Search and replace The split operator "use re 'strict'" BUGS SEE ALSO AUTHOR AND COPYRIGHT Acknowledgments perlretut - Perl regular expressions tutorial DESCRIPTION Part 1: The basics Simple word matching Using character classes Matching this or that Grouping things and hierarchical matching Extracting matches Backreferences Relative backreferences Named backreferences Alternative capture group numbering Position information Non-capturing groupings Matching repetitions Possessive quantifiers Building a regexp Using regular expressions in Perl Part 2: Power tools More on characters, strings, and character classes Compiling and saving regular expressions Composing regular expressions at runtime Embedding comments and modifiers in a regular expression Looking ahead and looking behind Using independent subexpressions to prevent backtracking Conditional expressions Defining named patterns Recursive patterns A bit of magic: executing Perl code in a regular expression Backtracking control verbs Pragmas and debugging SEE ALSO AUTHOR AND COPYRIGHT Acknowledgments perlootut - Object-Oriented Programming in Perl Tutorial DATE DESCRIPTION OBJECT-ORIENTED FUNDAMENTALS Object Class Methods Attributes Polymorphism Inheritance Encapsulation Composition Roles When to Use OO PERL OO SYSTEMS Moose Declarative sugar, Roles built-in, A miniature type system, Full introspection and manipulation, Self-hosted and extensible, Rich ecosystem, Many more features Class::Accessor Class::Tiny Role::Tiny OO System Summary Moose, Class::Accessor, Class::Tiny, Role::Tiny Other OO Systems CONCLUSION perlperf - Perl Performance and Optimization Techniques DESCRIPTION OVERVIEW ONE STEP SIDEWAYS ONE STEP FORWARD ANOTHER STEP SIDEWAYS GENERAL GUIDELINES BENCHMARKS Assigning and Dereferencing Variables. Search and replace or tr PROFILING TOOLS Devel::DProf Devel::Profiler Devel::SmallProf Devel::FastProf Devel::NYTProf SORTING Elapsed Real Time, User CPU Time, System CPU Time LOGGING Logging if DEBUG (constant) POSTSCRIPT SEE ALSO PERLDOCS MAN PAGES MODULES URLS AUTHOR perlstyle - Perl style guide DESCRIPTION perlcheat - Perl 5 Cheat Sheet DESCRIPTION The sheet ACKNOWLEDGEMENTS AUTHOR SEE ALSO perltrap - Perl traps for the unwary DESCRIPTION Awk Traps C/C++ Traps JavaScript Traps Sed Traps Shell Traps Perl Traps perldebtut - Perl debugging tutorial DESCRIPTION use strict Looking at data and -w and v help Stepping through code Placeholder for a, w, t, T REGULAR EXPRESSIONS OUTPUT TIPS CGI GUIs SUMMARY SEE ALSO AUTHOR CONTRIBUTORS perlfaq - Frequently asked questions about Perl VERSION DESCRIPTION Where to find the perlfaq How to use the perlfaq How to contribute to the perlfaq What if my question isn't answered in the FAQ? TABLE OF CONTENTS perlfaq1 - General Questions About Perl, perlfaq2 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System Interaction, perlfaq9 - Web, Email and Networking THE QUESTIONS perlfaq1: General Questions About Perl perlfaq2: Obtaining and Learning about Perl perlfaq3: Programming Tools perlfaq4: Data Manipulation perlfaq5: Files and Formats perlfaq6: Regular Expressions perlfaq7: General Perl Language Issues perlfaq8: System Interaction perlfaq9: Web, Email and Networking CREDITS AUTHOR AND COPYRIGHT perlfaq1 - General Questions About Perl VERSION DESCRIPTION What is Perl? Who supports Perl? Who develops it? Why is it free? Which version of Perl should I use? What are Perl 4, Perl 5, or Raku (Perl 6)? What is Raku (Perl 6)? How stable is Perl? How often are new versions of Perl released? Is Perl difficult to learn? How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl? Can I do [task] in Perl? When shouldn't I program in Perl? What's the difference between "perl" and "Perl"? What is a JAPH? How can I convince others to use Perl? , AUTHOR AND COPYRIGHT perlfaq2 - Obtaining and Learning about Perl VERSION DESCRIPTION What machines support Perl? Where do I get it? How can I get a binary version of Perl? I don't have a C compiler. How can I build my own Perl interpreter? I copied the Perl binary from one machine to another, but scripts don't work. I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work? What modules and extensions are available for Perl? What is CPAN? Where can I get information on Perl? , , What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? , , , Where can I post questions? Perl Books Which magazines have Perl content? Which Perl blogs should I read? What mailing lists are there for Perl? Where can I buy a commercial version of Perl? Where do I send bug reports? AUTHOR AND COPYRIGHT perlfaq3 - Programming Tools VERSION DESCRIPTION How do I do (anything)? Basics, perldata - Perl data types, perlvar - Perl pre-defined variables, perlsyn - Perl syntax, perlop - Perl operators and precedence, perlsub - Perl subroutines, Execution, perlrun - how to execute the Perl interpreter, perldebug - Perl debugging, Functions, perlfunc - Perl builtin functions, Objects, perlref - Perl references and nested data structures, perlmod - Perl modules (packages and symbol tables), perlobj - Perl objects, perltie - how to hide an object class in a simple variable, Data Structures, perlref - Perl references and nested data structures, perllol - Manipulating arrays of arrays in Perl, perldsc - Perl Data Structures Cookbook, Modules, perlmod - Perl modules (packages and symbol tables), perlmodlib - constructing new Perl modules and finding existing ones, Regexes, perlre - Perl regular expressions, perlfunc - Perl builtin functions>, perlop - Perl operators and precedence, perllocale - Perl locale handling (internationalization and localization), Moving to perl5, perltrap - Perl traps for the unwary, perl, Linking with C, perlxstut - Tutorial for writing XSUBs, perlxs - XS language reference manual, perlcall - Perl calling conventions from C, perlguts - Introduction to the Perl API, perlembed - how to embed perl in your C program, Various How can I use Perl interactively? How do I find which modules are installed on my system? How do I debug my Perl programs? How do I profile my Perl programs? How do I cross-reference my Perl programs? Is there a pretty-printer (formatter) for Perl? Is there an IDE or Windows Perl Editor? Eclipse, Enginsite, IntelliJ IDEA, Kephra, Komodo, Notepad++, Open Perl IDE, OptiPerl, Padre, PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Vim, Vile, MultiEdit, SlickEdit, ConTEXT, bash, zsh, BBEdit and TextWrangler Where can I get Perl macros for vi? Where can I get perl-mode or cperl-mode for emacs? How can I use curses with Perl? How can I write a GUI (X, Tk, Gtk, etc.) in Perl? Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena How can I make my Perl program run faster? How can I make my Perl program take less memory? Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk Is it safe to return a reference to local or lexical data? How can I free an array or hash so my program shrinks? How can I make my CGI script more efficient? How can I hide the source for my Perl program? How can I compile my Perl program into byte code or C? How can I get "#!perl" to work on [MS-DOS,NT,...]? Can I write useful Perl programs on the command line? Why don't Perl one-liners work on my DOS/Mac/VMS system? Where can I learn about CGI or Web programming in Perl? Where can I learn about object-oriented Perl programming? Where can I learn about linking C with Perl? I've read perlembed, perlguts, etc., but I can't embed perl in my C program; what am I doing wrong? When I tried to run my script, I got this message. What does it mean? What's MakeMaker? AUTHOR AND COPYRIGHT perlfaq4 - Data Manipulation VERSION DESCRIPTION Data: Numbers Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)? Why is int() broken? Why isn't my octal data interpreted correctly? Does Perl have a round() function? What about ceil() and floor()? Trig functions? How do I convert between numeric representations/bases/radixes? How do I convert hexadecimal into decimal, How do I convert from decimal to hexadecimal, How do I convert from octal to decimal, How do I convert from decimal to octal, How do I convert from binary to decimal, How do I convert from decimal to binary Why doesn't & work the way I want it to? How do I multiply matrices? How do I perform an operation on a series of integers? How can I output Roman numerals? Why aren't my random numbers random? How do I get a random number between X and Y? Data: Dates How do I find the day or week of the year? How do I find the current century or millennium? How can I compare two dates and find the difference? How can I take a string and turn it into epoch seconds? How can I find the Julian Day? How do I find yesterday's date? Does Perl have a Year 2000 or 2038 problem? Is Perl Y2K compliant? Data: Strings How do I validate input? How do I unescape a string? How do I remove consecutive pairs of characters? How do I expand function calls in a string? How do I find matching/nesting anything? How do I reverse a string? How do I expand tabs in a string? How do I reformat a paragraph? How can I access or change N characters of a string? How do I change the Nth occurrence of something? How can I count the number of occurrences of a substring within a string? How do I capitalize all the words on one line? How can I split a [character]-delimited string except when inside [character]? How do I strip blank space from the beginning/end of a string? How do I pad a string with blanks or pad a number with zeroes? How do I extract selected columns from a string? How do I find the soundex value of a string? How can I expand variables in text strings? Does Perl have anything like Ruby's #{} or Python's f string? What's wrong with always quoting "$vars"? Why don't my <? How can I open a file named with a leading ">" or trailing blanks? How can I reliably rename a file? How can I lock a file? Why can't I just open(FH, ">file.lock")? I still don't get locking. I just want to increment the number in the file. How can I do this? All I want to do is append a small amount of text to the end of a file. Do I still have to use locking? How do I randomly update a binary file? How do I get a file's timestamp in perl? How do I set a file's timestamp in perl? How do I print to more than one file at once? How can I read in an entire file all at once? How can I read in a file by paragraphs? How can I read a single character from a file? From the keyboard? How can I tell whether there's a character waiting on a filehandle? How do I do a "tail -f" in perl? How do I dup() a filehandle in Perl? How do I close a file descriptor by number? Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work? Why doesn't glob("*.*") get all the files? Why does Perl let me delete read-only files? Why does "-i" clobber protected files? Isn't this a bug in Perl? How do I select a random line from a file? Why do I get weird spaces when I print an array of lines? How do I traverse a directory tree? How do I delete a directory tree? How do I copy an entire directory? AUTHOR AND COPYRIGHT perlfaq6 - Regular Expressions VERSION DESCRIPTION How can I hope to use regular expressions without creating illegible and unmaintainable code? Comments Outside the Regex, Comments Inside the Regex, Different Delimiters I'm having trouble matching over more than one line. What's wrong? How can I pull out lines between two patterns that are themselves on different lines? How do I match XML, HTML, or other nasty, ugly things with a regex? I put a regular expression into $/ but it didn't work. What's wrong? How do I substitute case-insensitively on the LHS while preserving case on the RHS? How can I make "\w" match national character sets? How can I match a locale-smart version of "/[a-zA-Z]/"? How can I quote a variable to use in a regex? What is "/o" really for? How do I use a regular expression to strip C-style comments from a file? Can I use Perl regular expressions to match balanced text? What does it mean that regexes are greedy? How can I get around it? How do I process each word on each line? How can I print out a word-frequency or line-frequency summary? How can I do approximate matching? How do I efficiently match many regular expressions at once? Why don't word-boundary searches with "\b" work for me? Why does using $&, $`, or $' slow my program down? What good is "\G" in a regular expression? Are Perl regexes DFAs or NFAs? Are they POSIX compliant? What's wrong with using grep in a void context? How can I match strings with multibyte characters? How do I match a regular expression that's in a variable? AUTHOR AND COPYRIGHT perlfaq7 - General Perl Language Issues VERSION DESCRIPTION Can I get a BNF/yacc/RE for the Perl language? What are all these $@%&* punctuation signs, and how do I know when to use them? Do I always/never have to quote my strings or use semicolons and commas? How do I skip some return values? How do I temporarily block warnings? What's an extension? Why do Perl operators have different precedence than C operators? How do I declare/create a structure? How do I create a module? How do I adopt or take over a module already on CPAN? How do I create a class? How can I tell if a variable is tainted? What's a closure? What is variable suicide and how can I prevent it? How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}? Passing Variables and Functions, Passing Filehandles, Passing Regexes, Passing Methods How do I create a static variable? What's the difference between dynamic and lexical (static) scoping? Between local() and my()? How can I access a dynamic variable while a similarly named lexical is in scope? What's the difference between deep and shallow binding? Why doesn't "my($foo) = <$fh>;" work right? How do I redefine a builtin function, operator, or method? What's the difference between calling a function as &foo and foo()? How do I create a switch or case statement? How can I catch accesses to undefined variables, functions, or methods? Why can't a method included in this same file be found? How can I find out my current or calling package? How can I comment out a large block of Perl code? How do I clear a package? How can I use a variable as a variable name? What does "bad interpreter" mean? Do I need to recompile XS modules when there is a change in the C library? AUTHOR AND COPYRIGHT perlfaq8 - System Interaction VERSION DESCRIPTION How do I find out which operating system I'm running under? How come exec() doesn't return? How do I do fancy stuff with the keyboard/screen/mouse? Keyboard, Screen, Mouse How do I print something out in color? How do I read just one key without waiting for a return key? How do I check whether input is ready on the keyboard? How do I clear the screen? How do I get the screen size? How do I ask the user for a password? How do I read and write the serial port? lockfiles, open mode, end of line, flushing output, non- blocking input How do I decode encrypted password files? How do I start a process in the background? STDIN, STDOUT, and STDERR are shared, Signals, Zombies How do I trap control characters/signals? How do I modify the shadow password file on a Unix system? How do I set the time and date? How can I sleep() or alarm() for under a second? How can I measure time under a second? How can I do an atexit() or setjmp()/longjmp()? (Exception handling) Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean? How can I call my system's unique C functions from Perl? Where do I get the include files to do ioctl() or syscall()? Why do setuid perl scripts complain about kernel problems? How can I open a pipe both to and from a command? Why can't I get the output of a command with system()? How can I capture STDERR from an external command? Why doesn't open() return an error when a pipe open fails? What's wrong with using backticks in a void context? How can I call backticks without shell processing? Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)? How can I convert my shell script to perl? Can I use perl to run a telnet or ftp session? How can I write expect in Perl? Is there a way to hide perl's command line from programs such as "ps"? I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible? Unix How do I close a process's filehandle without waiting for it to complete? How do I fork a daemon process? How do I find out if I'm running interactively or not? How do I timeout a slow event? How do I set CPU limits? How do I avoid zombies on a Unix system? How do I use an SQL database? How do I make a system() exit on control-C? How do I open a file without blocking? How do I tell the difference between errors from the shell and perl? How do I install a module from CPAN? What's the difference between require and use? How do I keep my own module/library directory? How do I add the directory my program lives in to the module/library search path? How do I add a directory to my include path (@INC) at runtime? the "PERLLIB" environment variable, the "PERL5LIB" environment variable, the "perl -Idir" command line flag, the "lib" pragma:, the local::lib module: Where are modules installed? What is socket.ph and where do I get it? AUTHOR AND COPYRIGHT perlfaq9 - Web, Email and Networking VERSION DESCRIPTION Should I use a web framework? Which web framework should I use? Catalyst, Dancer2, Mojolicious, Web::Simple What is Plack and PSGI? How do I remove HTML from a string? How do I extract URLs? How do I fetch an HTML file? How do I automate an HTML form submission? How do I decode or create those %-encodings on the web? How do I redirect to another page? How do I put a password on my web pages? How do I make sure users can't enter values into a form that causes my CGI script to do bad things? How do I parse a mail header? How do I check a valid mail address? How do I decode a MIME/BASE64 string? How do I find the user's mail address? How do I send email? Email::Sender::Transport::Sendmail, Email::Sender::Transport::SMTP How do I use MIME to make an attachment to a mail message? How do I read email? How do I find out my hostname, domainname, or IP address? How do I fetch/put an (S)FTP file? How can I do RPC in Perl? AUTHOR AND COPYRIGHT perlsyn - Perl syntax DESCRIPTION Declarations Comments Simple Statements Statement Modifiers Compound Statements Loop Control For Loops Foreach Loops Try Catch Exception Handling Basic BLOCKs defer blocks Switch Statements Goto The Ellipsis Statement PODs: Embedded Documentation Plain Old Comments (Not!) Experimental Details on given and when 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 perldata - Perl data types DESCRIPTION Variable names Identifier parsing Context Scalar values Scalar value constructors List value constructors Subscripts Multi-dimensional array emulation Slices Typeglobs and Filehandles SEE ALSO perlop - Perl operators and precedence DESCRIPTION Operator Precedence and Associativity Terms and List Operators (Leftward) The Arrow Operator Auto-increment and Auto-decrement Exponentiation Symbolic Unary Operators Binding Operators Multiplicative Operators Additive Operators Shift Operators Named Unary Operators Relational Operators Equality Operators Class Instance Operator Smartmatch Operator 1. Empty hashes or arrays match, 2. That is, each element smartmatches the element of the same index in the other array.[3], 3. If a circular reference is found, fall back to referential equality, 4. Either an actual number, or a string that looks like one Bitwise And Bitwise Or and Exclusive Or C-style Logical And C-style Logical Or Logical Defined-Or Range Operators Conditional Operator Assignment Operators Comma Operator List Operators (Rightward) Logical Not Logical And Logical or and Exclusive Or C Operators Missing From Perl unary &, unary *, (TYPE) Quote and Quote-like Operators [1], [2], [3], [4], [5], [6], [7], [8] Regexp Quote-Like Operators "qr/STRING/msixpodualn" , "m/PATTERN/msixpodualngc" , "/PATTERN/msixpodualngc", The empty pattern "//", Matching in list context, "\G assertion", "m?PATTERN?msixpodualngc" , "s/PATTERN/REPLACEMENT/msixpodualngcer" Quote-Like Operators "q/STRING/" , 'STRING', "qq/STRING/" , "STRING", "qx/STRING/" , `STRING`, "qw/STRING/" , "tr/SEARCHLIST/REPLACEMENTLIST/cdsr" , "y/SEARCHLIST/REPLACEMENTLIST/cdsr", "<", "<<"EOF"", The replacement of "s///", "RE" in "m?RE?", "/RE/", "m/RE/", "s/RE/foo/",, Parsing regular expressions , Optimization of regular expressions I/O Operators Constant Folding No-ops Bitwise String Operators Integer Arithmetic Floating-point Arithmetic Bigger Numbers perlsub - Perl subroutines SYNOPSIS DESCRIPTION documented later in this document, documented in perlmod, documented in perlobj, documented in perltie, documented in PerlIO::via, documented in perlfunc, documented in UNIVERSAL, documented in perldebguts, undocumented, used internally by the overload feature Signatures Private Variables via my() Persistent Private Variables Temporary Values via local() Lvalue subroutines Lexical Subroutines Passing Symbol Table Entries (typeglobs) When to Still Use local() Pass by Reference Prototypes Constant Functions Overriding Built-in Functions Autoloading Subroutine Attributes SEE ALSO perlfunc - Perl builtin functions DESCRIPTION Perl Functions by Category Functions for SCALARs or strings , Regular expressions and pattern matching , Numeric functions , Functions for real @ARRAYs , Functions for list data , Functions for real %HASHes , Input and output functions , Functions for fixed-length data or records, Functions for filehandles, files, or directories , Keywords related to the control flow of your Perl program , Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups , Keywords related to Perl modules , Keywords related to classes and object-orientation , Low-level socket functions , System V interprocess communication functions , Fetching user and group info , Fetching network info , Time-related functions , Non- function keywords Portability Alphabetical Listing of Perl Functions -X FILEHANDLE , -X EXPR, -X DIRHANDLE, -X, abs VALUE , abs, accept NEWSOCKET,GENERICSOCKET , alarm SECONDS , alarm, atan2 Y,X , bind SOCKET,NAME , binmode FILEHANDLE, LAYER , binmode FILEHANDLE, bless REF,CLASSNAME , bless REF, Bless the referred-to item into a specific package (recommended form):, Bless the referred-to item into package "main":, Bless the referred-to item into the current package (not inheritable):, break, caller EXPR , caller, chdir EXPR , chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST , chomp VARIABLE , chomp( LIST ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST , chr NUMBER , chr, chroot FILENAME , chroot, class NAMESPACE, class NAMESPACE VERSION, class NAMESPACE BLOCK, class NAMESPACE VERSION BLOCK, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR , cos, crypt PLAINTEXT,SALT , dbmclose HASH , dbmopen HASH,DBNAME,MASK , defined EXPR , defined, delete EXPR , die LIST , do BLOCK , do EXPR , dump LABEL , dump EXPR, dump, each HASH , each ARRAY , eof FILEHANDLE , eof (), eof, eval EXPR , eval BLOCK, eval, String eval, Under the "unicode_eval" feature, Outside the "unicode_eval" feature, If upgraded, $v will be "\xc4\x80" (i.e., the "use utf8" has no effect.), If non-upgraded, $v will be "\x{100}", Block eval, evalbytes EXPR , evalbytes, exec LIST , exec PROGRAM LIST, exists EXPR , exit EXPR , exit, exp EXPR , exp, fc EXPR , fc, fcntl FILEHANDLE,FUNCTION,SCALAR , __FILE__ , field VARNAME , fileno FILEHANDLE , fileno DIRHANDLE, flock FILEHANDLE,OPERATION , fork , format , formline PICTURE,LIST , getc FILEHANDLE , getc, getlogin , getpeername SOCKET , getpgrp PID , getppid , getpriority WHICH,WHO , getpwnam NAME , getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockname SOCKET , getsockopt SOCKET,LEVEL,OPTNAME , glob EXPR , glob, gmtime EXPR , gmtime, goto LABEL , goto EXPR, goto &NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR , hex, import LIST , index STR,SUBSTR,POSITION , index STR,SUBSTR, int EXPR , int, ioctl FILEHANDLE,FUNCTION,SCALAR , join EXPR,LIST , keys HASH , keys ARRAY, kill SIGNAL, LIST, kill SIGNAL , last LABEL , last EXPR, last, lc EXPR , lc, If "use bytes" is in effect:, Otherwise, if "use locale" for "LC_CTYPE" is in effect:, Otherwise, If EXPR has the UTF8 flag set:, Otherwise, if "use feature 'unicode_strings'" or use locale ':not_characters' is in effect:, Otherwise:, lcfirst EXPR , lcfirst, length EXPR , length, __LINE__ , link OLDFILE,NEWFILE , listen SOCKET,QUEUESIZE , local EXPR , localtime EXPR , localtime, lock THING , log EXPR , log, lstat FILEHANDLE , lstat EXPR, lstat DIRHANDLE, lstat, m//, map BLOCK LIST , map EXPR,LIST, method NAME BLOCK , method NAME : ATTRS BLOCK, mkdir FILENAME,MODE , mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my VARLIST , my TYPE VARLIST, my VARLIST : ATTRS, my TYPE VARLIST : ATTRS, next LABEL , next EXPR, next, no MODULE VERSION LIST , no MODULE VERSION, no MODULE LIST, no MODULE, no VERSION, oct EXPR , oct, open FILEHANDLE,MODE,EXPR , open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,EXPR, open FILEHANDLE, Working with files, Simple examples, About filehandles, About modes, Checking the return value, Specifying I/O layers in MODE, Using "undef" for temporary files, Opening a filehandle into an in-memory scalar, Opening a filehandle into a command, Duping filehandles, Legacy usage, Specifying mode and filename as a single argument, Calling "open" with one argument via global variables, Assigning a filehandle to a bareword, Other considerations, Automatic filehandle closure, Automatic pipe flushing, Direct versus by-reference assignment of filehandles, Whitespace and special characters in the filename argument, Invoking C-style "open", Portability issues, opendir DIRHANDLE,EXPR , ord EXPR , ord, our VARLIST , our TYPE VARLIST, our VARLIST : ATTRS, our TYPE VARLIST : ATTRS, pack TEMPLATE,LIST , package NAMESPACE, package NAMESPACE VERSION , package NAMESPACE BLOCK, package NAMESPACE VERSION BLOCK , __PACKAGE__ , pipe READHANDLE,WRITEHANDLE , pop ARRAY , pop, pos SCALAR , pos, print FILEHANDLE LIST , print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST , printf FILEHANDLE, printf FORMAT, LIST, printf, prototype FUNCTION , prototype, push ARRAY,LIST , q/STRING/, qq/STRING/, qw/STRING/, qx/STRING/, qr/STRING/, quotemeta EXPR , quotemeta, rand EXPR , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET , read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR, readline , readlink EXPR , readlink, readpipe EXPR, readpipe , recv SOCKET,SCALAR,LENGTH,FLAGS , redo LABEL , redo EXPR, redo, ref EXPR , ref, rename OLDNAME,NEWNAME , require VERSION , require EXPR, require, reset EXPR , reset, return EXPR , return, reverse LIST , rewinddir DIRHANDLE , rindex STR,SUBSTR,POSITION , rindex STR,SUBSTR, rmdir FILENAME , rmdir, s///, say FILEHANDLE LIST , say FILEHANDLE, say LIST, say, scalar EXPR , seek FILEHANDLE,POSITION,WHENCE , seekdir DIRHANDLE,POS , select FILEHANDLE , select, select RBITS,WBITS,EBITS,TIMEOUT , semctl ID,SEMNUM,CMD,ARG , semget KEY,NSEMS,FLAGS , semop KEY,OPSTRING , send SOCKET,MSG,FLAGS,TO , send SOCKET,MSG,FLAGS, setpgrp PID,PGRP , setpriority WHICH,WHO,PRIORITY , setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL , shift ARRAY , shift, shmctl ID,CMD,ARG , shmget KEY,SIZE,FLAGS , shmread ID,VAR,POS,SIZE , shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW , sin EXPR , sin, sleep EXPR , sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL , socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL , sort SUBNAME LIST , sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST , splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT , split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST , format parameter index, flags, vector flag, (minimum) width, precision, or maximum width , size, order of arguments, sqrt EXPR , sqrt, srand EXPR , srand, stat FILEHANDLE , stat EXPR, stat DIRHANDLE, stat, state VARLIST , state TYPE VARLIST, state VARLIST : ATTRS, state TYPE VARLIST : ATTRS, study SCALAR , study, sub NAME BLOCK , sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, __SUB__ , substr EXPR,OFFSET,LENGTH,REPLACEMENT , substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE , syscall NUMBER, LIST , sysopen FILEHANDLE,FILENAME,MODE , sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET , sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE , system LIST , system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET , syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell FILEHANDLE , tell, telldir DIRHANDLE , tie VARIABLE,CLASSNAME,LIST , tied VARIABLE , time , times , tr///, truncate FILEHANDLE,LENGTH , truncate EXPR,LENGTH, uc EXPR , uc, ucfirst EXPR , ucfirst, umask EXPR , umask, undef EXPR , undef, unlink LIST , unlink, unpack TEMPLATE,EXPR , unpack TEMPLATE, unshift ARRAY,LIST , untie VARIABLE , use Module VERSION LIST , use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST , values HASH , values ARRAY, vec EXPR,OFFSET,BITS , wait , waitpid PID,FLAGS , wantarray , warn LIST , write FILEHANDLE , write EXPR, write, y/// Non-function Keywords by Cross-reference __DATA__, __END__, BEGIN, CHECK, END, INIT, UNITCHECK, DESTROY, and, cmp, eq, ge, gt, isa, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elsif, for, foreach, if, unless, until, while, elseif, default, given, when, try, catch, finally, defer, ADJUST perlopentut - simple recipes for opening files and pipes in Perl DESCRIPTION OK, HANDLE, MODE, PATHNAME Opening Text Files Opening Text Files for Reading Opening Text Files for Writing Opening Binary Files Opening Pipes Opening a pipe for reading Opening a pipe for writing Expressing the command as a list SEE ALSO AUTHOR and COPYRIGHT perlpacktut - tutorial on "pack" and "unpack" DESCRIPTION The Basic Principle Packing Text Packing Numbers Integers Unpacking a Stack Frame How to Eat an Egg on a Net Byte-order modifiers Floating point Numbers Exotic Templates Bit Strings Uuencoding Doing Sums Unicode Another Portable Binary Encoding Template Grouping Lengths and Widths String Lengths Dynamic Templates Counting Repetitions Intel HEX Packing and Unpacking C Structures The Alignment Pit Dealing with Endian-ness Alignment, Take 2 Alignment, Take 3 Pointers for How to Use Them Pack Recipes Funnies Section Authors perlpod - the Plain Old Documentation format DESCRIPTION Ordinary Paragraph Verbatim Paragraph Command Paragraph "=head1 Heading Text" , "=head2 Heading Text", "=head3 Heading Text", "=head4 Heading Text", "=head5 Heading Text", "=head6 Heading Text", "=over indentlevel" , "=item stuff...", "=back", "=cut" , "=pod" , "=begin formatname" , "=end formatname", "=for formatname text...", "=encoding encodingname" Formatting Codes "I" -- italic text , "B" -- bold text , "C" -- code text , "L" -- a hyperlink , "E" -- a character escape , "F" -- used for filenames , "S" -- text contains non-breaking spaces , "X" -- an index entry , "Z<>" -- a null (zero-effect) formatting code The Intent Embedding Pods in Perl Modules Hints for Writing Pod SEE ALSO AUTHOR perlpodspec - Plain Old Documentation: format specification and notes DESCRIPTION Pod Definitions Pod Commands "=head1", "=head2", "=head3", "=head4", "=head5", "=head6", "=pod", "=cut", "=over", "=item", "=back", "=begin formatname", "=begin formatname parameter", "=end formatname", "=for formatname text...", "=encoding encodingname" Pod Formatting Codes "I" -- italic text, "B" -- bold text, "C" -- code text, "F" -- style for filenames, "X" -- an index entry, "Z<>" -- a null (zero-effect) formatting code, "L" -- a hyperlink, "E" -- a character escape, "S" -- text contains non-breaking spaces Notes on Implementing Pod Processors About L<...> Codes First:, Second:, Third:, Fourth:, Fifth:, Sixth: About =over...=back Regions About Data Paragraphs and "=begin/=end" Regions SEE ALSO AUTHOR perldocstyle - A style guide for writing Perl's documentation DESCRIPTION Purpose of this guide Intended audience Status of this document FUNDAMENTALS Choice of markup: Pod Choice of language: American English Choice of encoding: UTF-8 Choice of underlying style guide: CMOS Contributing to Perl's documentation FORMATTING AND STRUCTURE Document structure Formatting rules Adding comments Perlfunc has special rules TONE AND STYLE Apply one of the four documentation modes Assume readers' intelligence, but not their knowledge Use meaningful variable and symbol names in examples Write in English, but not just for English-speakers Omit placeholder text or commentary Apply section-breaks and examples generously Lead with common cases and best practices Document Perl's present The documentation speaks with one voice INDEX OF PREFERRED TERMS built-in function, Darwin, macOS, man page, Perl; perl, Perl 5, Perl 6, Perl 5 Porters, the; porters, the; p5p, program, Raku, script, semicolon, Unix SEE ALSO AUTHOR perlpodstyle - Perl POD style guide DESCRIPTION NAME, SYNOPSIS, DESCRIPTION, OPTIONS, RETURN VALUE, ERRORS, DIAGNOSTICS, EXAMPLES, ENVIRONMENT, FILES, CAVEATS, BUGS, RESTRICTIONS, NOTES, AUTHOR, HISTORY, COPYRIGHT AND LICENSE, SEE ALSO AUTHOR COPYRIGHT AND LICENSE SEE ALSO perldiag - various Perl diagnostics DESCRIPTION SEE ALSO perldeprecation - list Perl deprecations DESCRIPTION Unscheduled Deprecations Perl 5.42 Perl 5.40 Perl 5.38 Perl 5.34 Perl 5.32 Perl 5.30 Perl 5.28 Perl 5.26 Perl 5.24 Perl 5.16 SEE ALSO perllexwarn - Perl Lexical Warnings DESCRIPTION perldebug - Perl debugging DESCRIPTION The Perl Debugger Calling the Debugger perl -d program_name, perl -d -e 0, perl -d:ptkdb program_name, perl -dt threaded_program_name Debugger Commands h , h [command], h h, p expr , x [maxdepth] expr , V [pkg [vars]] , X [vars] , y [level [vars]] , T , s [expr] , n [expr] , r , , c [line|sub] , l , l min+incr, l min-max, l line, l subname, - , v [line] , . , f filename , /pattern/, ?pattern?, L [abw] , S [[!]regex] , t [n] , t [n] expr , b , b [line] [condition] , b [file]:[line] [condition] , b subname [condition] , b postpone subname [condition] , b load filename , b compile subname , B line , B * , disable [file]:[line] , disable [line] , enable [file]:[line] , enable [line] , a [line] command , A line , A * , w expr , W expr , W * , o , o booloption ... , o anyoption? ... , o option=value ... , < ? , < [ command ] , < * , << command , > ? , > command , > * , >> command , { ? , { [ command ], { * , {{ command , ! number , ! -number , ! pattern , !! cmd , source file , H -number , q or ^D , R , |dbcmd , ||dbcmd , command, m expr , M , man [manpage] Configurable Options "recallCommand", "ShellBang" , "pager" , "tkRunning" , "signalLevel", "warnLevel", "dieLevel" , "AutoTrace" , "LineInfo" , "inhibit_exit" , "PrintRet" , "ornaments" , "frame" , "maxTraceLen" , "windowSize" , "arrayDepth", "hashDepth" , "dumpDepth" , "compactDump", "veryCompact" , "globPrint" , "DumpDBFiles" , "DumpPackages" , "DumpReused" , "quote", "HighBit", "undefPrint" , "UsageOnly" , "HistFile" , "HistSize" , "TTY" , "noTTY" , "ReadLine" , "NonStop" Debugger Input/Output Prompt, Multiline commands, Stack backtrace , Line Listing Format, Frame listing Debugging Compile-Time Statements Debugger Customization Readline Support / History in the Debugger Editor Support for Debugging The Perl Profiler Debugging Regular Expressions Debugging Memory Usage SEE ALSO BUGS perlvar - Perl predefined variables DESCRIPTION The Syntax of Variable Names SPECIAL VARIABLES General Variables $ARG, $_ , @ARG, @_ , $LIST_SEPARATOR, $" , $PROCESS_ID, $PID, $$ , $PROGRAM_NAME, $0 , $REAL_GROUP_ID, $GID, $( , $EFFECTIVE_GROUP_ID, $EGID, $) , $REAL_USER_ID, $UID, $< , $EFFECTIVE_USER_ID, $EUID, $> , $SUBSCRIPT_SEPARATOR, $SUBSEP, $; , $a, $b , %ENV , $OLD_PERL_VERSION, $] , $SYSTEM_FD_MAX, $^F , @F , @INC , %INC , $INC , $INPLACE_EDIT, $^I , @ISA , $^M , ${^MAX_NESTED_EVAL_BEGIN_BLOCKS}, $OSNAME, $^O , %SIG , %{^HOOK} , require__before, require__after, $BASETIME, $^T , $PERL_VERSION, $^V , $EXECUTABLE_NAME, $^X Variables related to regular expressions $ ($1, $2, ...) , @{^CAPTURE} , $MATCH, $& , ${^MATCH} , $PREMATCH, $` , ${^PREMATCH} , $POSTMATCH, $' , ${^POSTMATCH} , $LAST_PAREN_MATCH, $+ , $LAST_SUBMATCH_RESULT, $^N , @LAST_MATCH_END, @+ , %{^CAPTURE}, %LAST_PAREN_MATCH, %+ , @LAST_MATCH_START, @- , "$`" is the same as "substr($var, 0, $-[0])", $& is the same as "substr($var, $-[0], $+[0] - $-[0])", "$'" is the same as "substr($var, $+[0])", $1 is the same as "substr($var, $-[1], $+[1] - $-[1])", $2 is the same as "substr($var, $-[2], $+[2] - $-[2])", $3 is the same as "substr($var, $-[3], $+[3] - $-[3])", %{^CAPTURE_ALL} , %- , ${^LAST_SUCCESSFUL_PATTERN}, $LAST_REGEXP_CODE_RESULT, $^R , ${^RE_COMPILE_RECURSION_LIMIT} , ${^RE_DEBUG_FLAGS} , ${^RE_TRIE_MAXBUF} Variables related to filehandles $ARGV , @ARGV , ARGV , ARGVOUT , IO::Handle->output_field_separator( EXPR ), $OUTPUT_FIELD_SEPARATOR, $OFS, $, , HANDLE->input_line_number( EXPR ), $INPUT_LINE_NUMBER, $NR, $. , IO::Handle->input_record_separator( EXPR ), $INPUT_RECORD_SEPARATOR, $RS, $/ , IO::Handle->output_record_separator( EXPR ), $OUTPUT_RECORD_SEPARATOR, $ORS, $\ , HANDLE->autoflush( EXPR ), $OUTPUT_AUTOFLUSH, $| , ${^LAST_FH} , $ACCUMULATOR, $^A , IO::Handle->format_formfeed(EXPR), $FORMAT_FORMFEED, $^L , HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $% , HANDLE->format_lines_left(EXPR), $FORMAT_LINES_LEFT, $- , IO::Handle->format_line_break_characters EXPR, $FORMAT_LINE_BREAK_CHARACTERS, $: , HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $= , HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^ , HANDLE->format_name(EXPR), $FORMAT_NAME, $~ Error Variables ${^CHILD_ERROR_NATIVE} , $EXTENDED_OS_ERROR, $^E , $EXCEPTIONS_BEING_CAUGHT, $^S , $WARNING, $^W , ${^WARNING_BITS} , $OS_ERROR, $ERRNO, $! , %OS_ERROR, %ERRNO, %! , $CHILD_ERROR, $? , $EVAL_ERROR, $@ Variables related to the interpreter state $COMPILING, $^C , $DEBUGGING, $^D , ${^GLOBAL_PHASE} , CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H , %^H , ${^OPEN} , $PERLDB, $^P , 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, ${^TAINT} , ${^SAFE_LOCALES} , ${^UNICODE} , ${^UTF8CACHE} , ${^UTF8LOCALE} Deprecated and removed variables $# , $* , $[ , ${^ENCODING} , ${^WIN32_SLOPPY_STAT} perlre - Perl regular expressions DESCRIPTION The Basics Modifiers "m" , "s" , "i" , "x" and "xx" , "p" , "a", "d", "l", and "u" , "n" , Other Modifiers Regular Expressions [1], [2], [3], [4], [5], [6], [7], [8] Quoting metacharacters Extended Patterns "(?#text)" , "(?adlupimnsx-imnsx)", "(?^alupimnsx)" , "(?:pattern)" , "(?adluimnsx-imnsx:pattern)", "(?^aluimnsx:pattern)" , "(?|pattern)" , Lookaround Assertions , "(?=pattern)", "(*pla:pattern)", "(*positive_lookahead:pattern)" , "(?!pattern)", "(*nla:pattern)", "(*negative_lookahead:pattern)" , "(?<=pattern)", "\K", "(*plb:pattern)", "(*positive_lookbehind:pattern)" , "(?pattern)", "(?'NAME'pattern)" , "\k", "\k'NAME'", "\k{NAME}", "(?{ code })" , "(*{ code })" , "(??{ code })" , "(?PARNO)" "(?-PARNO)" "(?+PARNO)" "(?R)" "(?0)" , "(?&NAME)" , "(?(condition)yes-pattern|no-pattern)" , "(?(condition)yes-pattern)", an integer in parentheses, a lookahead/lookbehind/evaluate zero-width assertion;, a name in angle brackets or single quotes, the special symbol "(R)", "(1)" "(2)" .., "()" "('NAME')", "(?=...)" "(?!...)" "(?<=...)" "(?pattern)", "(*atomic:pattern)" , "(?[ ])" Backtracking Script Runs Special Backtracking Control Verbs Verbs, "(*PRUNE)" "(*PRUNE:NAME)" , "(*SKIP)" "(*SKIP:NAME)" , "(*MARK:NAME)" "(*:NAME)" , "(*THEN)" "(*THEN:NAME)", "(*COMMIT)" "(*COMMIT:arg)" , "(*FAIL)" "(*F)" "(*FAIL:arg)" , "(*ACCEPT)" "(*ACCEPT:arg)" Warning on "\1" Instead of $1 Repeated Patterns Matching a Zero-length Substring Combining RE Pieces "ST", "S|T", "S{REPEAT_COUNT}", "S{min,max}", "S{min,max}?", "S?", "S*", "S+", "S??", "S*?", "S+?", "(?>S)", "(?=S)", "(?<=S)", "(?!S)", "(?pattern)", "(?P=NAME)", "(?P>NAME)" BUGS SEE ALSO perlrebackslash - Perl Regular Expression Backslash Sequences and Escapes DESCRIPTION The backslash [1] All the sequences and escapes Character Escapes [1], [2] Modifiers Character classes Referencing Assertions \A, \z, \Z, \G, \b{}, \b, \B{}, \B, "\b{gcb}" or "\b{g}", "\b{lb}", "\b{sb}", "\b{wb}" Misc \K, \N, \R , \X perlrecharclass - Perl Regular Expression Character Classes DESCRIPTION The dot Backslash sequences If the "/a" modifier is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., if, instead, Unicode rules are in effect .., otherwise .., If the "/a" modifier is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., if, instead, Unicode rules are in effect .., otherwise .., [1], [2] Bracketed Character Classes [1], [2], [3], [4], [5], [6], [7], If the "/a" modifier, is in effect .., otherwise .., For code points above 255 .., For code points below 256 .., if locale rules are in effect .., "word", "ascii", "blank", if, instead, Unicode rules are in effect .., otherwise .. perlreref - Perl Regular Expressions Reference DESCRIPTION OPERATORS SYNTAX ESCAPE SEQUENCES CHARACTER CLASSES ANCHORS QUANTIFIERS EXTENDED CONSTRUCTS VARIABLES FUNCTIONS TERMINOLOGY AUTHOR SEE ALSO THANKS perlref - Perl references and nested data structures NOTE DESCRIPTION Making References Using References Circular References Symbolic references Not-so-symbolic references Pseudo-hashes: Using an array as a hash Function Templates Postfix Dereference Syntax Postfix Reference Slicing Assigning to References Declaring a Reference to a Variable WARNING: Don't use references as hash keys SEE ALSO perlform - Perl formats DESCRIPTION Text Fields Numeric Fields The Field @* for Variable-Width Multi-Line Text The Field ^* for Variable-Width One-line-at-a-time Text Specifying Values Using Fill Mode Suppressing Lines Where All Fields Are Void Repeating Format Lines Top of Form Processing Format Variables NOTES Footers Accessing Formatting Internals WARNINGS perlobj - Perl object reference DESCRIPTION An Object is Simply a Data Structure A Class is Simply a Package A Method is Simply a Subroutine Method Invocation Inheritance Writing Constructors Attributes An Aside About Smarter and Safer Code Method Call Variations Invoking Class Methods "bless", "blessed", and "ref" The UNIVERSAL Class isa($class) , DOES($role) , can($method) , VERSION($need) AUTOLOAD Destructors Non-Hash Objects Inside-Out objects Pseudo-hashes SEE ALSO perltie - how to hide an object class in a simple variable SYNOPSIS DESCRIPTION Tying Scalars TIESCALAR classname, LIST , FETCH this , STORE this, value , UNTIE this , DESTROY this Tying Arrays TIEARRAY classname, LIST , FETCH this, index , STORE this, index, value , FETCHSIZE this , STORESIZE this, count , EXTEND this, count , EXISTS this, key , DELETE this, key , CLEAR this , PUSH this, LIST , POP this , SHIFT this , UNSHIFT this, LIST , SPLICE this, offset, length, LIST , UNTIE this , DESTROY this Tying Hashes USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST , FETCH this, key , STORE this, key, value , DELETE this, key , CLEAR this , EXISTS this, key , FIRSTKEY this , NEXTKEY this, lastkey , SCALAR this , UNTIE this , DESTROY this Tying FileHandles TIEHANDLE classname, LIST , WRITE this, LIST , PRINT this, LIST , PRINTF this, LIST , READ this, LIST , READLINE this , GETC this , EOF this , CLOSE this , UNTIE this , DESTROY this UNTIE this The "untie" Gotcha SEE ALSO BUGS AUTHOR perlclass - Perl class syntax reference SYNOPSIS DESCRIPTION History KEYWORDS class field method ATTRIBUTES Class attributes Field attributes Method attributes OBJECT LIFECYCLE Construction Adjustment Lifetime Destruction TODO Roles, Parameters to ADJUST blocks, ADJUST blocks as true blocks, Accessor generator attributes, Metaprogramming, Extension Customisation AUTHORS perldbmfilter - Perl DBM Filters SYNOPSIS DESCRIPTION filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value The Filter An Example: the NULL termination problem. Another Example: Key is a C int. SEE ALSO AUTHOR perlipc - Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores) DESCRIPTION Signals Handling the SIGHUP Signal in Daemons Deferred Signals (Safe Signals) Long-running opcodes, Interrupting IO, Restartable system calls, Signals as "faults", Signals triggered by operating system state Named Pipes Using open() for IPC Filehandles Background Processes Complete Dissociation of Child from Parent Safe Pipe Opens Avoiding Pipe Deadlocks Bidirectional Communication with Another Process Bidirectional Communication with Yourself Sockets: Client/Server Communication Internet Line Terminators Internet TCP Clients and Servers Unix-Domain TCP Clients and Servers TCP Clients with IO::Socket A Simple Client "Proto", "PeerAddr", "PeerPort" A Webget Client Interactive Client with IO::Socket TCP Servers with IO::Socket Proto, LocalPort, Listen, Reuse UDP: Message Passing SysV IPC NOTES BUGS AUTHOR SEE ALSO perlfork - Perl's fork() emulation SYNOPSIS DESCRIPTION Behavior of other Perl features in forked pseudo-processes $$ or $PROCESS_ID, %ENV, chdir() and all other builtins that accept filenames, wait() and waitpid(), kill(), exec(), exit(), Open handles to files, directories and network sockets Resource limits Killing the parent process Lifetime of the parent process and pseudo-processes CAVEATS AND LIMITATIONS BEGIN blocks, Open filehandles, Open directory handles, Forking pipe open() not yet implemented, Global state maintained by XSUBs, Interpreter embedded in larger application, Thread-safety of extensions PORTABILITY CAVEATS BUGS AUTHOR SEE ALSO perlnumber - semantics of numbers and numeric operations in Perl SYNOPSIS DESCRIPTION Storing numbers Numeric operators and numeric conversions Flavors of Perl numeric operations Arithmetic operators, ++, Arithmetic operators during "use integer", Other mathematical operators, Bitwise operators, Bitwise operators during "use integer", Operators which expect an integer, Operators which expect a string AUTHOR SEE ALSO perlthrtut - Tutorial on threads in Perl DESCRIPTION What Is A Thread Anyway? Threaded Program Models Boss/Worker Work Crew Pipeline What kind of threads are Perl threads? Thread-Safe Modules Thread Basics Basic Thread Support A Note about the Examples Creating Threads Waiting For A Thread To Exit Ignoring A Thread Process and Thread Termination Threads And Data Shared And Unshared Data Thread Pitfalls: Races Synchronization and control Controlling access: lock() A Thread Pitfall: Deadlocks Queues: Passing Data Around Semaphores: Synchronizing Data Access Basic semaphores Advanced Semaphores Waiting for a Condition Giving up control General Thread Utility Routines What Thread Am I In? Thread IDs Are These Threads The Same? What Threads Are Running? A Complete Example Different implementations of threads Performance considerations Process-scope Changes Thread-Safety of System Libraries Conclusion SEE ALSO Bibliography Introductory Texts OS-Related References Other References Acknowledgements AUTHOR Copyrights perlport - Writing portable Perl DESCRIPTION Not all Perl programs have to be portable, Nearly all of Perl already is portable ISSUES Newlines Numbers endianness and Width Files and Filesystems System Interaction Command names versus file pathnames Networking Interprocess Communication (IPC) External Subroutines (XS) Standard Modules Time and Date Character sets and character encoding Internationalisation System Resources Security Style CPAN Testers PLATFORMS Unix DOS and Derivatives VMS VOS EBCDIC Platforms Acorn RISC OS Other perls FUNCTION IMPLEMENTATIONS Alphabetical Listing of Perl Functions -X, alarm, atan2, binmode, chdir, chmod, chown, chroot, crypt, dbmclose, dbmopen, dump, exec, exit, fcntl, flock, fork, getlogin, getpgrp, getppid, getpriority, getpwnam, getgrnam, getnetbyname, getpwuid, getgrgid, getnetbyaddr, getprotobynumber, getpwent, getgrent, gethostbyname, gethostent, getnetent, getprotoent, getservent, seekdir, sethostent, setnetent, setprotoent, setservent, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockopt, glob, gmtime, ioctl, kill, link, localtime, lstat, msgctl, msgget, msgsnd, msgrcv, open, readlink, rename, rewinddir, select, semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent, setsockopt, shmctl, shmget, shmread, shmwrite, sleep, socketpair, stat, symlink, syscall, sysopen, system, telldir, times, truncate, umask, utime, wait, waitpid Supported Platforms Linux (x86, ARM, IA64), HP-UX, AIX, Win32, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Cygwin, Solaris (x86, SPARC), OpenVMS, Alpha (7.2 and later), I64 (8.2 and later), NetBSD, FreeBSD, Debian GNU/kFreeBSD, Haiku, Irix (6.5. What else?), OpenBSD, Dragonfly BSD, Midnight BSD, QNX Neutrino RTOS (6.5.0), MirOS BSD, Stratus OpenVOS (17.0 or later), time_t issues that may or may not be fixed, Stratus VOS / OpenVOS, AIX, Android, FreeMINT EOL Platforms (Perl 5.37.1) Ultrix (Perl 5.36) NetWare, DOS/DJGPP, AT&T UWIN (Perl 5.20) AT&T 3b1 (Perl 5.14) Windows 95, Windows 98, Windows ME, Windows NT4 (Perl 5.12) Atari MiNT, Apollo Domain/OS, Apple Mac OS 8/9, Tenon Machten Supported Platforms (Perl 5.8) SEE ALSO AUTHORS / CONTRIBUTORS perllocale - Perl locale handling (internationalization and localization) DESCRIPTION WHAT IS A LOCALE Category "LC_NUMERIC": Numeric formatting, Category "LC_MONETARY": Formatting of monetary amounts, Category "LC_TIME": Date/Time formatting, Category "LC_MESSAGES": Error and other messages, Category "LC_COLLATE": Collation, Category "LC_CTYPE": Character Types, Other categories PREPARING TO USE LOCALES USING LOCALES The "use locale" pragma Not within the scope of "use locale", Lingering effects of "use locale", Under ""use locale";" The setlocale function Multi-threaded operation Finding locales LOCALE PROBLEMS Testing for broken locales Temporarily fixing locale problems Permanently fixing locale problems Permanently fixing your system's locale configuration Fixing system locale configuration The localeconv function I18N::Langinfo LOCALE CATEGORIES Category "LC_COLLATE": Collation: Text Comparisons and Sorting Category "LC_CTYPE": Character Types Category "LC_NUMERIC": Numeric Formatting Category "LC_MONETARY": Formatting of monetary amounts Category "LC_TIME": Respresentation of time Other categories SECURITY ENVIRONMENT PERL_SKIP_LOCALE_INIT, PERL_BADLANG, "LC_ALL", "LANGUAGE", "LC_CTYPE", "LC_COLLATE", "LC_MONETARY", "LC_NUMERIC", "LC_TIME", "LANG" Examples NOTES String "eval" and "LC_NUMERIC" Backward compatibility I18N:Collate obsolete Sort speed and memory use impacts Freely available locale definitions I18n and l10n An imperfect standard Unicode and UTF-8 BUGS Collation of strings containing embedded "NUL" characters Multi-threaded Broken systems SEE ALSO HISTORY perluniintro - Perl Unicode introduction DESCRIPTION Unicode Perl's Unicode Support Perl's Unicode Model Unicode and EBCDIC Creating Unicode Handling Unicode Legacy Encodings Unicode I/O Displaying Unicode As Text Special Cases Advanced Topics Miscellaneous Questions With Answers Hexadecimal Notation Further Resources UNICODE IN OLDER PERLS SEE ALSO ACKNOWLEDGMENTS AUTHOR, COPYRIGHT, AND LICENSE perlunicode - Unicode support in Perl DESCRIPTION Important Caveats Safest if you "use feature 'unicode_strings'", Input and Output Layers, You must convert your non-ASCII, non-UTF-8 Perl scripts to be UTF-8, "use utf8" still needed to enable UTF-8 in scripts, UTF-16 scripts autodetected Byte and Character Semantics ASCII Rules versus Unicode Rules When the string has been upgraded to UTF-8, There are additional methods for regular expression patterns Extended Grapheme Clusters (Logical characters) Unicode Character Properties "\p{All}", "\p{Alnum}", "\p{Any}", "\p{ASCII}", "\p{Assigned}", "\p{Blank}", "\p{Decomposition_Type: Non_Canonical}" (Short: "\p{Dt=NonCanon}"), "\p{Graph}", "\p{HorizSpace}", "\p{In=*}", "\p{PerlSpace}", "\p{PerlWord}", "\p{Posix...}", "\p{Present_In: *}" (Short: "\p{In=*}"), "\p{Print}", "\p{SpacePerl}", "\p{Title}" and "\p{Titlecase}", "\p{Unicode}", "\p{VertSpace}", "\p{Word}", "\p{XPosix...}" Comparison of "\N{...}" and "\p{name=...}" [1], [2], [3], [4], [5] Wildcards in Property Values User-Defined Character Properties User-Defined Case Mappings (for serious hackers only) Character Encodings for Input and Output Unicode Regular Expression Support Level [1] "\N{U+...}" and "\x{...}", [2] "\p{...}" "\P{...}". This requirement is for a minimal list of properties. Perl supports these. See R2.7 for other properties, [3], [4], [5] "\b" "\B" meet most, but not all, the details of this requirement, but "\b{wb}" and "\B{wb}" do, as well as the stricter R2.3, [6], [7], [8] UTF-8/UTF-EBDDIC used in Perl allows not only "U+10000" to "U+10FFFF" but also beyond "U+10FFFF", [9] Unicode has rewritten this portion of UTS#18 to say that getting canonical equivalence (see UAX#15 "Unicode Normalization Forms" ) 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" ,, [12] see "Wildcards in Property Values" in perlunicode above, [13] Perl supports all the properties in the Unicode Character Database (UCD). It does not yet support the listed properties that come from other Unicode sources, [14] The only optional property that Perl supports is Named Sequence. None of these properties are in the UCD Unicode Encodings Noncharacter code points Beyond Unicode code points Security Implications of Unicode Unicode in Perl on EBCDIC Locales When Unicode Does Not Happen The "Unicode Bug" Forcing Unicode in Perl (Or Unforcing Unicode in Perl) Using Unicode in XS Hacking Perl to work on earlier Unicode versions (for very serious hackers only) Porting code from perl-5.6.X BUGS Interaction with Extensions Speed SEE ALSO perlunicook - cookbookish examples of handling Unicode in Perl DESCRIPTION EXAMPLES 0: Standard preamble 1: Generic Unicode-savvy filter 2: Fine-tuning Unicode warnings 3: Declare source in utf8 for identifiers and literals 4: Characters and their numbers 5: Unicode literals by character number 6: Get character name by number 7: Get character number by name 8: Unicode named characters 9: Unicode named sequences 10: Custom named characters 11: Names of CJK codepoints 12: Explicit encode/decode 13: Decode program arguments as utf8 14: Decode program arguments as locale encoding 15: Declare STD{IN,OUT,ERR} to be utf8 16: Declare STD{IN,OUT,ERR} to be in locale encoding 17: Make file I/O default to utf8 18: Make all I/O and args default to utf8 19: Open file with specific encoding 20: Unicode casing 21: Unicode case-insensitive comparisons 22: Match Unicode linebreak sequence in regex 23: Get character category 24: Disabling Unicode-awareness in builtin charclasses 25: Match Unicode properties in regex with \p, \P 26: Custom character properties 27: Unicode normalization 28: Convert non-ASCII Unicode numerics 29: Match Unicode grapheme cluster in regex 30: Extract by grapheme instead of by codepoint (regex) 31: Extract by grapheme instead of by codepoint (substr) 32: Reverse string by grapheme 33: String length in graphemes 34: Unicode column-width for printing 35: Unicode collation 36: Case- and accent-insensitive Unicode sort 37: Unicode locale collation 38: Making "cmp" work on text instead of codepoints 39: Case- and accent-insensitive comparisons 40: Case- and accent-insensitive locale comparisons 41: Unicode linebreaking 42: Unicode text in DBM hashes, the tedious way 43: Unicode text in DBM hashes, the easy way 44: PROGRAM: Demo of Unicode collation and printing SEE ALSO
3.13 Default Case Algorithms, page 113;
4.2 Case, pages 120-122; Case Mappings, page 166-172, especially Caseless Matching starting on page 170, UAX #44: Unicode Character Database, UTS #18: Unicode Regular Expressions, UAX #15: Unicode Normalization Forms, UTS #10: Unicode Collation Algorithm, UAX #29: Unicode Text Segmentation, UAX #14: Unicode Line Breaking Algorithm, UAX #11: East Asian Width AUTHOR COPYRIGHT AND LICENCE REVISION HISTORY perlunifaq - Perl Unicode FAQ Q and A perlunitut isn't really a Unicode tutorial, is it? What character encodings does Perl support? Which version of perl should I use? What about binary data, like images? When should I decode or encode? What if I don't decode? What if I don't encode? If the string's characters are all code point 255 or lower, Perl outputs bytes that match those code points. This is what happens with encoded strings. It can also, though, happen with unencoded strings that happen to be all code point 255 or lower, Otherwise, Perl outputs the string encoded as UTF-8. This only happens with strings you neglected to encode. Since that should not happen, Perl also throws a "wide character" warning in this case Is there a way to automatically decode or encode? What if I don't know which encoding was used? Can I use Unicode in my Perl sources? Data::Dumper doesn't restore the UTF8 flag; is it broken? Why do regex character classes sometimes match only in the ASCII range? Why do some characters not uppercase or lowercase correctly? How can I determine if a string is a text string or a binary string? How do I convert from encoding FOO to encoding BAR? What are "decode_utf8" and "encode_utf8"? What is a "wide character"? INTERNALS What is "the UTF8 flag"? What about the "use bytes" pragma? What about the "use encoding" pragma? What is the difference between ":encoding" and ":utf8"? What's the difference between "UTF-8" and "utf8"? I lost track; what encoding is the internal format really? AUTHOR SEE ALSO perluniprops - Index of Unicode Version 15.0.0 character properties in Perl DESCRIPTION Properties accessible through "\p{}" and "\P{}" Single form ("\p{name}") tighter rules:, white space adjacent to a non-word character, underscores separating digits in numbers, Compound form ("\p{name=value}" or "\p{name:value}") tighter rules:, Stabilized, Deprecated, Obsolete, Discouraged, * is a wild- card, (\d+) in the info column gives the number of Unicode code points matched by this property, D means this is deprecated, O means this is obsolete, S means this is stabilized, T means tighter (stricter) name matching applies, X means use of this form is discouraged, and may not be stable Legal "\p{}" and "\P{}" constructs that match no characters \p{Canonical_Combining_Class=Attached_Below_Left}, \p{Canonical_Combining_Class=CCC133}, \p{Grapheme_Cluster_Break=E_Base}, \p{Grapheme_Cluster_Break=E_Base_GAZ}, \p{Grapheme_Cluster_Break=E_Modifier}, \p{Grapheme_Cluster_Break=Glue_After_Zwj}, \p{Word_Break=E_Base}, \p{Word_Break=E_Base_GAZ}, \p{Word_Break=E_Modifier}, \p{Word_Break=Glue_After_Zwj} Properties accessible through Unicode::UCD Properties accessible through other means Unicode character properties that are NOT accepted by Perl Expands_On_NFC (XO_NFC), Expands_On_NFD (XO_NFD), Expands_On_NFKC (XO_NFKC), Expands_On_NFKD (XO_NFKD), Grapheme_Link (Gr_Link), Jamo_Short_Name (JSN), Other_Alphabetic (OAlpha), Other_Default_Ignorable_Code_Point (ODI), Other_Grapheme_Extend (OGr_Ext), Other_ID_Continue (OIDC), Other_ID_Start (OIDS), Other_Lowercase (OLower), Other_Math (OMath), Other_Uppercase (OUpper), Script=Katakana_Or_Hiragana (sc=Hrkt), Script_Extensions=Katakana_Or_Hiragana (scx=Hrkt) Other information in the Unicode data base auxiliary/GraphemeBreakTest.html, auxiliary/LineBreakTest.html, auxiliary/SentenceBreakTest.html, auxiliary/WordBreakTest.html, BidiCharacterTest.txt, BidiTest.txt, CJKRadicals.txt, confusables.txt, confusablesSummary.txt, intentional.txt, emoji/ReadMe.txt, ReadMe.txt, EmojiSources.txt, extracted/DName.txt, Index.txt, NamedSqProv.txt, NamesList.html, NamesList.txt, NormalizationCorrections.txt, NushuSources.txt, StandardizedVariants.html, StandardizedVariants.txt, TangutSources.txt, USourceData.txt, USourceGlyphs.pdf SEE ALSO perlunitut - Perl Unicode Tutorial DESCRIPTION Definitions Your new toolkit I/O flow (the actual 5 minute tutorial) SUMMARY Q and A (or FAQ) ACKNOWLEDGEMENTS AUTHOR SEE ALSO perlebcdic - Considerations for running Perl on EBCDIC platforms DESCRIPTION COMMON CHARACTER CODE SETS ASCII ISO 8859 Latin 1 (ISO 8859-1) EBCDIC 0037, 1047, POSIX-BC Unicode code points versus EBCDIC code points Unicode and UTF Using Encode SINGLE OCTET TABLES recipe 0, recipe 1, recipe 2, recipe 3, recipe 4, recipe 5, recipe 6 Table in hex, sorted in 1047 order IDENTIFYING CHARACTER CODE SETS CONVERSIONS utf8::unicode_to_native() and utf8::native_to_unicode() tr/// iconv C RTL OPERATOR DIFFERENCES FUNCTION DIFFERENCES chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack() REGULAR EXPRESSION DIFFERENCES SOCKETS SORTING Ignore ASCII vs. EBCDIC sort differences. Use a sort helper function MONO CASE then sort data (for non-digits, non-underscore) Perform sorting on one type of platform only. TRANSFORMATION FORMATS URL decoding and encoding uu encoding and decoding Quoted-Printable encoding and decoding Caesarean ciphers Hashing order and checksums I18N AND L10N MULTI-OCTET CHARACTER SETS OS ISSUES OS/400 PASE, IFS access OS/390, z/OS "sigaction", "chcp", dataset access, "iconv", locales POSIX-BC? BUGS SEE ALSO REFERENCES HISTORY AUTHOR perlsec - Perl security DESCRIPTION SECURITY VULNERABILITY CONTACT INFORMATION SECURITY MECHANISMS AND CONCERNS Taint mode Laundering and Detecting Tainted Data Switches On the "#!" Line Taint mode and @INC Cleaning Up Your Path Shebang Race Condition Protecting Your Programs Unicode Algorithmic Complexity Attacks Hash Seed Randomization, Hash Traversal Randomization, Bucket Order Perturbance, New Default Hash Function, Alternative Hash Functions Using Sudo SEE ALSO perlsecpolicy - Perl security report handling policy DESCRIPTION REPORTING SECURITY ISSUES IN PERL WHAT ARE SECURITY ISSUES Software covered by the Perl security team Bugs that may qualify as security issues in Perl Bugs that do not qualify as security issues in Perl Bugs that require special categorization HOW WE DEAL WITH SECURITY ISSUES Perl's vulnerability remediation workflow Publicly known and zero-day security issues Vulnerability credit and bounties perlmod - Perl modules (packages and symbol tables) DESCRIPTION Is this the document you were after? This doc, perlnewmod, perlmodstyle Packages Symbol Tables BEGIN, UNITCHECK, CHECK, INIT and END Perl Classes Perl Modules Making your module threadsafe SEE ALSO perlmodlib - constructing new Perl modules and finding existing ones THE PERL MODULE LIBRARY Pragmatic Modules attributes, autodie, autodie::exception, autodie::exception::system, autodie::hints, autodie::skip, autouse, base, bigfloat, bigint, bignum, bigrat, blib, builtin, bytes, charnames, constant, deprecate, diagnostics, encoding, encoding::warnings, experimental, feature, fields, filetest, if, integer, less, lib, locale, mro, ok, open, ops, overload, overloading, parent, re, sigtrap, sort, stable, strict, subs, threads, threads::shared, utf8, vars, version, vmsish, warnings, warnings::register Standard Modules Amiga::ARexx, Amiga::Exec, AnyDBM_File, App::Cpan, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Deparse, B::Op_private, B::Showlex, B::Terse, B::Xref, Benchmark, "IO::Socket::IP", "Socket", CORE, CPAN, CPAN::API::HOWTO, CPAN::Debug, CPAN::Distroprefs, CPAN::FirstTime, CPAN::HandleConfig, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter, CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::History::Meta_1_0, CPAN::Meta::History::Meta_1_1, CPAN::Meta::History::Meta_1_2, CPAN::Meta::History::Meta_1_3, CPAN::Meta::History::Meta_1_4, CPAN::Meta::Merge, CPAN::Meta::Prereqs, CPAN::Meta::Requirements, CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox, CPAN::Plugin, CPAN::Plugin::Specfile, CPAN::Queue, CPAN::Tarzip, CPAN::Version, Carp, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config, Config::Extensions, Config::Perl::V, Cwd, DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows, ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Constant::Base, ExtUtils::Constant::Utils, ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_OS390, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Locale, ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::PL2Bat, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval, ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps, ExtUtils::Typemaps::Cmd, ExtUtils::Typemaps::InputMap, ExtUtils::Typemaps::OutputMap, ExtUtils::Typemaps::Type, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec, File::Spec::AmigaOS, File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long, Getopt::Std, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash, I18N::Collate, I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List, I18N::Langinfo, IO, IO::Compress::Base, IO::Compress::Bzip2, IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip, IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress, IO::Uncompress::Base, IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem, IPC::SysV, Internals, JSON::PP, JSON::PP::Boolean, List::Util, List::Util::XS, Locale::Maketext, Locale::Maketext::Cookbook, Locale::Maketext::Guts, Locale::Maketext::GutsLoader, Locale::Maketext::Simple, Locale::Maketext::TPJ13, MIME::Base64, MIME::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigInt::FastCalc, Math::BigInt::Lib, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, Module::CoreList, Module::CoreList::Utils, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::FTP::dataconn, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO, PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, Pod::Checker, Pod::Escapes, Pod::Functions, Pod::Html, Pod::Html::Util, Pod::Man, Pod::ParseLink, Pod::Perldoc, Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO, Pod::Perldoc::ToANSI, Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToTerm, Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug, Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML, Pod::Simple::HTMLBatch, Pod::Simple::JustPod, Pod::Simple::LinkSection, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::PullParserEndToken, Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken, Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search, Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text, Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Storable, Sub::Util, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32, TAP::Base, TAP::Formatter::Base, TAP::Formatter::Color, TAP::Formatter::Console, TAP::Formatter::Console::ParallelSession, TAP::Formatter::Console::Session, TAP::Formatter::File, TAP::Formatter::File::Session, TAP::Formatter::Session, TAP::Harness, TAP::Harness::Env, TAP::Object, TAP::Parser, TAP::Parser::Aggregator, TAP::Parser::Grammar, TAP::Parser::Iterator, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer, TAP::Parser::Result, TAP::Parser::Result::Bailout, TAP::Parser::Result::Comment, TAP::Parser::Result::Plan, TAP::Parser::Result::Pragma, TAP::Parser::Result::Test, TAP::Parser::Result::Unknown, TAP::Parser::Result::Version, TAP::Parser::Result::YAML, TAP::Parser::ResultFactory, TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job, TAP::Parser::Scheduler::Spinner, TAP::Parser::Source, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable, TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle, TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::RawTAP, TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Test, Test2, Test2::API, Test2::API::Breakage, Test2::API::Context, Test2::API::Instance, Test2::API::InterceptResult, Test2::API::InterceptResult::Event, Test2::API::InterceptResult::Hub, Test2::API::InterceptResult::Squasher, Test2::API::Stack, Test2::Event, Test2::Event::Bail, Test2::Event::Diag, Test2::Event::Encoding, Test2::Event::Exception, Test2::Event::Fail, Test2::Event::Generic, Test2::Event::Note, Test2::Event::Ok, Test2::Event::Pass, Test2::Event::Plan, Test2::Event::Skip, Test2::Event::Subtest, Test2::Event::TAP::Version, Test2::Event::V2, Test2::Event::Waiting, Test2::EventFacet, Test2::EventFacet::About, Test2::EventFacet::Amnesty, Test2::EventFacet::Assert, Test2::EventFacet::Control, Test2::EventFacet::Error, Test2::EventFacet::Hub, Test2::EventFacet::Info, Test2::EventFacet::Info::Table, Test2::EventFacet::Meta, Test2::EventFacet::Parent, Test2::EventFacet::Plan, Test2::EventFacet::Render, Test2::EventFacet::Trace, Test2::Formatter, Test2::Formatter::TAP, Test2::Hub, Test2::Hub::Interceptor, Test2::Hub::Interceptor::Terminator, Test2::Hub::Subtest, Test2::IPC, Test2::IPC::Driver, Test2::IPC::Driver::Files, Test2::Tools::Tiny, Test2::Transition, Test2::Util, Test2::Util::ExternalMeta, Test2::Util::Facets2Legacy, Test2::Util::HashBase, Test2::Util::Trace, Test::Builder, Test::Builder::Formatter, Test::Builder::IO::Scalar, Test::Builder::Module, Test::Builder::Tester, Test::Builder::Tester::Color, Test::Builder::TodoDiag, Test::Harness, Test::Harness::Beyond, Test::More, Test::Simple, Test::Tester, Test::Tester::Capture, Test::Tester::CaptureRunner, Test::Tutorial, Test::use::ok, Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Tabs, Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece, Time::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Collate::CJK::Big5, Unicode::Collate::CJK::GB2312, Unicode::Collate::CJK::JISX0208, Unicode::Collate::CJK::Korean, Unicode::Collate::CJK::Pinyin, Unicode::Collate::CJK::Stroke, Unicode::Collate::CJK::Zhuyin, Unicode::Collate::Locale, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, VMS::DCLsym, VMS::Filespec, VMS::Stdio, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader, autodie::Scope::Guard, autodie::Scope::GuardStack, autodie::Util, version::Internals Extension Modules CPAN Modules: Creation, Use, and Abuse Guidelines for Module Creation Guidelines for Converting Perl 4 Library Scripts into Modules Guidelines for Reusing Application Code NOTE perlmodstyle - Perl module style guide INTRODUCTION QUICK CHECKLIST Before you start The API Stability Documentation Release considerations BEFORE YOU START WRITING A MODULE Has it been done before? Do one thing and do it well What's in a name? Get feedback before publishing DESIGNING AND WRITING YOUR MODULE To OO or not to OO? Designing your API Write simple routines to do simple things, Separate functionality from output, Provide sensible shortcuts and defaults, Naming conventions, Parameter passing Strictness and warnings Backwards compatibility Error handling and messages DOCUMENTING YOUR MODULE POD README, INSTALL, release notes, changelogs perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, perl Build test, perl Build install RELEASE CONSIDERATIONS Version numbering Pre-requisites Testing Packaging Licensing COMMON PITFALLS Reinventing the wheel Trying to do too much Inappropriate documentation SEE ALSO perlstyle, perlnewmod, perlpod, podchecker, Packaging Tools, Testing tools, , Any good book on software engineering AUTHOR perlmodinstall - Installing CPAN Modules DESCRIPTION PREAMBLE DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module PORTABILITY HEY AUTHOR COPYRIGHT perlnewmod - preparing a new module for distribution DESCRIPTION Warning What should I make into a module? Step-by-step: Preparing the ground Look around, Check it's new, Discuss the need, Choose a name, Check again Step-by-step: Making the module Start with module-starter or h2xs, Use strict and warnings, Use Carp, Use Exporter - wisely!, Use plain old documentation, Write tests, Write the README, Write Changes Step-by-step: Distributing your module Get a CPAN user ID, Make the tarball, Upload the tarball, Fix bugs! AUTHOR SEE ALSO perlpragma - how to write a user pragma DESCRIPTION A basic example Key naming Implementation details perlutil - utilities packaged with the Perl distribution DESCRIPTION LIST OF UTILITIES Documentation perldoc, pod2man, pod2text, pod2html, pod2usage, podchecker, splain, roffitall Converters pl2pm Administration libnetcfg, perlivp Development perlbug, perlthanks, h2ph, h2xs, enc2xs, xsubpp, prove, corelist General tools encguess, json_pp, piconv, ptar, ptardiff, ptargrep, shasum, streamzip, zipdetails Installation cpan, instmodsh SEE ALSO perlfilter - Source Filters DESCRIPTION CONCEPTS USING FILTERS WRITING A SOURCE FILTER WRITING A SOURCE FILTER IN C Decryption Filters CREATING A SOURCE FILTER AS A SEPARATE EXECUTABLE WRITING A SOURCE FILTER IN PERL USING CONTEXT: THE DEBUG FILTER CONCLUSION LIMITATIONS THINGS TO LOOK OUT FOR Some Filters Clobber the "DATA" Handle REQUIREMENTS AUTHOR Copyrights perldtrace - Perl's support for DTrace SYNOPSIS DESCRIPTION HISTORY PROBES sub-entry(SUBNAME, FILE, LINE, PACKAGE), sub-return(SUBNAME, FILE, LINE, PACKAGE), phase-change(NEWPHASE, OLDPHASE), op-entry(OPNAME), loading-file(FILENAME), loaded-file(FILENAME) EXAMPLES Most frequently called functions, Trace function calls, Function calls during interpreter cleanup, System calls at compile time, Perl functions that execute the most opcodes REFERENCES DTrace Dynamic Tracing Guide, DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD SEE ALSO Devel::DTrace::Provider AUTHORS perlglossary - Perl Glossary VERSION DESCRIPTION A accessor methods, actual arguments, address operator, algorithm, alias, alphabetic, alternatives, anonymous, application, architecture, argument, ARGV, arithmetical operator, array, array context, Artistic License, ASCII, assertion, assignment, assignment operator, associative array, associativity, asynchronous, atom, atomic operation, attribute, autogeneration, autoincrement, autoload, autosplit, autovivification, AV, awk B backreference, backtracking, backward compatibility, bareword, base class, big-endian, binary, binary operator, bind, bit, bit shift, bit string, bless, block, BLOCK, block buffering, Boolean, Boolean context, breakpoint, broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode C C, cache, callback, call by reference, call by value, canonical, capture variables, capturing, cargo cult, case, casefolding, casemapping, character, character class, character property, circumfix operator, class, class method, client, closure, cluster, CODE, code generator, codepoint, code subpattern, collating sequence, co-maintainer, combining character, command, command buffering, command-line arguments, command name, comment, compilation unit, compile, compile phase, compiler, compile time, composer, concatenation, conditional, connection, construct, constructor, context, continuation, core dump, CPAN, C preprocessor, cracker, currently selected output channel, current package, current working directory, CV D dangling statement, datagram, data structure, data type, DBM, declaration, declarator, decrement, default, defined, delimiter, dereference, derived class, descriptor, destroy, destructor, device, directive, directory, directory handle, discipline, dispatch, distribution, dual-lived, dweomer, dwimmer, dynamic scoping E eclectic, element, embedding, empty subclass test, encapsulation, endian, en passant, environment, environment variable, EOF, errno, error, escape sequence, exception, exception handling, exec, executable file, execute, execute bit, exit status, exploit, export, expression, extension F false, FAQ, fatal error, feeping creaturism, field, FIFO, file, file descriptor, fileglob, filehandle, filename, filesystem, file test operator, filter, first-come, flag, floating point, flush, FMTEYEWTK, foldcase, fork, formal arguments, format, freely available, freely redistributable, freeware, function, funny character G garbage collection, GID, glob, global, global destruction, glue language, granularity, grapheme, greedy, grep, group, GV H hacker, handler, hard reference, hash, hash table, header file, here document, hexadecimal, home directory, host, hubris, HV I identifier, impatience, implementation, import, increment, indexing, indirect filehandle, indirection, indirect object, indirect object slot, infix, inheritance, instance, instance data, instance method, instance variable, integer, interface, interpolation, interpreter, invocant, invocation, I/O, IO, I/O layer, IPA, IP, IPC, is-a, iteration, iterator, IV J JAPH K key, keyword L label, laziness, leftmost longest, left shift, lexeme, lexer, lexical analysis, lexical scoping, lexical variable, library, LIFO, line, linebreak, line buffering, line number, link, LIST, list, list context, list operator, list value, literal, little- endian, local, logical operator, lookahead, lookbehind, loop, loop control statement, loop label, lowercase, lvaluable, lvalue, lvalue modifier M magic, magical increment, magical variables, Makefile, man, manpage, matching, member data, memory, metacharacter, metasymbol, method, method resolution order, minicpan, minimalism, mode, modifier, module, modulus, mojibake, monger, mortal, mro, multidimensional array, multiple inheritance N named pipe, namespace, NaN, network address, newline, NFS, normalization, null character, null list, null string, numeric context, numification, NV, nybble O object, octal, offset, one-liner, open source software, operand, operating system, operator, operator overloading, options, ordinal, overloading, overriding, owner P package, pad, parameter, parent class, parse tree, parsing, patch, PATH, pathname, pattern, pattern matching, PAUSE, Perl mongers, permission bits, Pern, pipe, pipeline, platform, pod, pod command, pointer, polymorphism, port, portable, porter, possessive, POSIX, postfix, pp, pragma, precedence, prefix, preprocessing, primary maintainer, procedure, process, program, program generator, progressive matching, property, protocol, prototype, pseudofunction, pseudohash, pseudoliteral, public domain, pumpkin, pumpking, PV Q qualified, quantifier R race condition, readable, reaping, record, recursion, reference, referent, regex, regular expression, regular expression modifier, regular file, relational operator, reserved words, return value, RFC, right shift, role, root, RTFM, run phase, runtime, runtime pattern, RV, rvalue S sandbox, scalar, scalar context, scalar literal, scalar value, scalar variable, scope, scratchpad, script, script kiddie, sed, semaphore, separator, serialization, server, service, setgid, setuid, shared memory, shebang, shell, side effects, sigil, signal, signal handler, single inheritance, slice, slurp, socket, soft reference, source filter, stack, standard, standard error, standard input, standard I/O, Standard Library, standard output, statement, statement modifier, static, static method, static scoping, static variable, stat structure, status, STDERR, STDIN, STDIO, STDOUT, stream, string, string context, stringification, struct, structure, subclass, subpattern, subroutine, subscript, substitution, substring, superclass, superuser, SV, switch, switch cluster, switch statement, symbol, symbolic debugger, symbolic link, symbolic reference, symbol table, synchronous, syntactic sugar, syntax, syntax tree, syscall T taint checks, tainted, taint mode, TCP, term, terminator, ternary, text, thread, tie, titlecase, TMTOWTDI, token, tokener, tokenizing, toolbox approach, topic, transliterate, trigger, trinary, troff, true, truncating, type, type casting, typedef, typed lexical, typeglob, typemap U UDP, UID, umask, unary operator, Unicode, Unix, uppercase V value, variable, variable interpolation, variadic, vector, virtual, void context, v-string W warning, watch expression, weak reference, whitespace, word, working directory, wrapper, WYSIWYG X XS, XSUB Y yacc Z zero width, zombie AUTHOR AND COPYRIGHT perlembed - how to embed perl in your C program DESCRIPTION PREAMBLE Use C from Perl?, Use a Unix program from Perl?, Use Perl from Perl?, Use C from C?, Use Perl from C? ROADMAP Compiling your C program Adding a Perl interpreter to your C program Calling a Perl subroutine from your C program Evaluating a Perl statement from your C program Performing Perl pattern matches and substitutions from your C program Fiddling with the Perl stack from your C program Maintaining a persistent interpreter Execution of END blocks $0 assignments Maintaining multiple interpreter instances Using Perl modules, which themselves use C libraries, from your C program Using embedded Perl with POSIX locales Hiding Perl_ MORAL AUTHOR COPYRIGHT perldebguts - Guts of Perl debugging DESCRIPTION Debugger Internals Writing Your Own Debugger Frame Listing Output Examples Debugging Regular Expressions Compile-time Output "anchored" STRING "at" POS, "floating" STRING "at" POS1..POS2, "matching floating/anchored", "minlen", "stclass" TYPE, "noscan", "isall", "GPOS", "plus", "implicit", "with eval", anchored(TYPE) Types of Nodes Run-time Output Debugging Perl Memory Usage Using $ENV{PERL_DEBUG_MSTATS} "buckets SMALLEST(APPROX)..GREATEST(APPROX)", Free/Used, "Total sbrk(): SBRKed/SBRKs:CONTINUOUS", "pad: 0", "heads: 2192", "chain: 0", tail: 6144 SEE ALSO perlxstut - Tutorial for writing XSUBs DESCRIPTION SPECIAL NOTES make Version caveat Dynamic Loading versus Static Loading Threads and PERL_NO_GET_CONTEXT TUTORIAL EXAMPLE 1 EXAMPLE 2 What has gone on? Writing good test scripts EXAMPLE 3 What's new here? Input and Output Parameters The XSUBPP Program The TYPEMAP file Warning about Output Arguments EXAMPLE 4 What has happened here? Anatomy of .xs file Getting the fat out of XSUBs More about XSUB arguments The Argument Stack Extending your Extension Documenting your Extension Installing your Extension EXAMPLE 5 New Things in this Example EXAMPLE 6 New Things in this Example EXAMPLE 7 (Coming Soon) EXAMPLE 8 (Coming Soon) EXAMPLE 9 Passing open files to XSes Troubleshooting these Examples See also Author Last Changed perlxs - XS language reference manual DESCRIPTION Introduction On The Road The Anatomy of an XSUB The Argument Stack The RETVAL Variable Returning SVs, AVs and HVs through RETVAL The MODULE Keyword The PACKAGE Keyword The PREFIX Keyword The OUTPUT: Keyword The NO_OUTPUT Keyword The CODE: Keyword The INIT: Keyword The NO_INIT Keyword The TYPEMAP: Keyword Initializing Function Parameters Default Parameter Values The PREINIT: Keyword The SCOPE: Keyword The INPUT: Keyword The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords The length(NAME) Keyword Variable-length Parameter Lists The C_ARGS: Keyword The PPCODE: Keyword Returning Undef And Empty Lists The REQUIRE: Keyword The CLEANUP: Keyword The POSTCALL: Keyword The BOOT: Keyword The VERSIONCHECK: Keyword The PROTOTYPES: Keyword The PROTOTYPE: Keyword The ALIAS: Keyword The OVERLOAD: Keyword The FALLBACK: Keyword The INTERFACE: Keyword The INTERFACE_MACRO: Keyword The INCLUDE: Keyword The INCLUDE_COMMAND: Keyword The CASE: Keyword The EXPORT_XSUB_SYMBOLS: Keyword The & Unary Operator Inserting POD, Comments and C Preprocessor Directives Using XS With C++ Interface Strategy Perl Objects And C Structures Safely Storing Static Data in XS MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT, aMY_CXT/pMY_CXT, MY_CXT_CLONE, MY_CXT_INIT_INTERP(my_perl), dMY_CXT_INTERP(my_perl) Thread-aware system interfaces EXAMPLES CAVEATS Non-locale-aware XS code, Locale-aware XS code XS VERSION AUTHOR DIAGNOSTICS AUTHOR perlxstypemap - Perl XS C/Perl type mapping DESCRIPTION Anatomy of a typemap The Role of the typemap File in Your Distribution Sharing typemaps Between CPAN Distributions Writing typemap Entries Full Listing of Core Typemaps T_SV, T_SVREF, T_SVREF_FIXED, T_AVREF, T_AVREF_REFCOUNT_FIXED, T_HVREF, T_HVREF_REFCOUNT_FIXED, T_CVREF, T_CVREF_REFCOUNT_FIXED, T_SYSRET, T_UV, T_IV, T_INT, T_ENUM, T_BOOL, T_U_INT, T_SHORT, T_U_SHORT, T_LONG, T_U_LONG, T_CHAR, T_U_CHAR, T_FLOAT, T_NV, T_DOUBLE, T_PV, T_PTR, T_PTRREF, T_PTROBJ, T_REF_IV_REF, T_REF_IV_PTR, T_PTRDESC, T_REFREF, T_REFOBJ, T_OPAQUEPTR, T_OPAQUE, Implicit array, T_PACKED, T_PACKEDARRAY, T_DATAUNIT, T_CALLBACK, T_ARRAY, T_STDIO, T_INOUT, T_IN, T_OUT perlclib - Internal replacements for standard C library functions DESCRIPTION Conventions "t", "p", "n", "s" File Operations File Input and Output File Positioning Memory Management and String Handling Character Class Tests stdlib.h functions Miscellaneous functions SEE ALSO perlguts - Introduction to the Perl API DESCRIPTION Variables Datatypes What is an "IV"? Working with SVs SvIV(SV*) ("IV") and SvUV(SV*) ("UV"), SvNV(SV*) ("double"), Strings are a bit complicated:, Byte string: "SvPVbyte(SV*, STRLEN len)" or SvPVbyte_nolen(SV*), UTF-8 string: "SvPVutf8(SV*, STRLEN len)" or SvPVutf8_nolen(SV*), You can also use "SvPV(SV*, STRLEN len)" or SvPV_nolen(SV*) to fetch the SV's raw internal buffer. This is tricky, though; if your Perl string is "\xff\xff", then depending on the SV's internal encoding you might get back a 2-byte OR a 4-byte "char*". Moreover, if it's the 4-byte string, that could come from either Perl "\xff\xff" stored UTF-8 encoded, or Perl "\xc3\xbf\xc3\xbf" stored as raw octets. To differentiate between these you MUST look up the SV's UTF8 bit (cf. "SvUTF8") to know whether the source Perl string is 2 characters ("SvUTF8" would be on) or 4 characters ("SvUTF8" would be off) Offsets What's Really Stored in an SV? Working with AVs "av_store_simple", "av_fetch_simple", "av_push_simple", are not magical, are not readonly, are "real" (refcounted) AVs, have an av_top_index value > -2 Working with HVs Hash API Extensions AVs, HVs and undefined values References Blessed References and Class Objects Creating New Variables GV_ADDMULTI, GV_ADDWARN Reference Counts and Mortality Stashes and Globs I/O Handles Double-Typed SVs Read-Only Values Copy on Write Magic Variables Assigning Magic Magic Virtual Tables Finding Magic Understanding the Magic of Tied Hashes and Arrays Localizing changes "SAVEINT(int i)", "SAVEIV(IV i)", "SAVEI32(I32 i)", "SAVELONG(long i)", "SAVEI8(I8 i)", "SAVEI16(I16 i)", "SAVEBOOL(int i)", "SAVESTRLEN(STRLEN i)", SAVESPTR(s), SAVEPPTR(p), "SAVERCPV(char **ppv)", "SAVEGENERICSV(SV **psv)", "SAVEFREESV(SV *sv)", "SAVEMORTALIZESV(SV *sv)", "SAVEFREEOP(OP *op)", SAVEFREEPV(p), "SAVEFREERCPV(char *pv)", "SAVECLEARSV(SV *sv)", "SAVEDELETE(HV *hv, char *key, I32 length)", "SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)", "SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)", "MORTALSVFUNC_X(SVFUNC_t f, SV *sv)", "MORTALDESTRUCTOR_SV(SV *coderef, SV *args)", SAVESTACK_POS(), "SV* save_scalar(GV *gv)", "AV* save_ary(GV *gv)", "HV* save_hash(GV *gv)", "void save_item(SV *item)", "SV* save_svref(SV **sptr)", "void save_aptr(AV **aptr)", "void save_hptr(HV **hptr)" Subroutines XSUBs and the Argument Stack Autoloading with XSUBs Calling Perl Routines from within C Programs Putting a C value on Perl stack Scratchpads Scratchpads and recursion Memory Allocation Allocation Reallocation Moving PerlIO Compiled code Code tree Examining the tree Compile pass 1: check routines Compile pass 1a: constant folding Compile pass 2: context propagation Compile pass 3: peephole optimization Pluggable runops Compile-time scope hooks "void bhk_start(pTHX_ int full)", "void bhk_pre_end(pTHX_ OP **o)", "void bhk_post_end(pTHX_ OP **o)", "void bhk_eval(pTHX_ OP *const o)" Examining internal data structures with the "dump" functions How multiple interpreters and concurrency are supported Background and MULTIPLICITY So what happened to dTHR? How do I use all this in extensions? Should I do anything special if I call perl from multiple threads? Future Plans and PERL_IMPLICIT_SYS Internal Functions Formatted Printing of IVs, UVs, and NVs Formatted Printing of SVs Formatted Printing of Strings Formatted Printing of "Size_t" and "SSize_t" Formatted Printing of "Ptrdiff_t", "intmax_t", "short" and other special sizes Pointer-To-Integer and Integer-To-Pointer Exception Handling Source Documentation Backwards compatibility Unicode Support What is Unicode, anyway? How can I recognise a UTF-8 string? How does UTF-8 represent Unicode characters? How does Perl store UTF-8 strings? How do I pass a Perl string to a C library? bytes: 0x64 0x78 0x8c, UTF-8: 0x64 0x78 0xc2 0x8c How do I convert a string to UTF-8? How do I compare strings? Is there anything else I need to know? Custom Operators xop_name, xop_desc, xop_class, OA_BASEOP, OA_UNOP, OA_BINOP, OA_LOGOP, OA_LISTOP, OA_PMOP, OA_SVOP, OA_PADOP, OA_PVOP_OR_SVOP, OA_LOOP, OA_COP, xop_peep Stacks Value Stack Mark Stack Temporaries Stack Save Stack Scope Stack Dynamic Scope and the Context Stack Introduction to the context stack Pushing contexts Popping contexts Redoing contexts Slab-based operator allocation AUTHORS SEE ALSO perlcall - Perl calling conventions from C DESCRIPTION An Error Handler, An Event-Driven Program THE CALL_ FUNCTIONS call_sv, call_pv, call_method, call_argv FLAG VALUES G_VOID G_SCALAR G_LIST G_DISCARD G_NOARGS G_EVAL G_KEEPERR Determining the Context EXAMPLES No Parameters, Nothing Returned Passing Parameters Returning a Scalar Returning a List of Values Returning a List in Scalar Context Returning Data from Perl via the Parameter List Using G_EVAL Using G_KEEPERR Using call_sv Using call_argv Using call_method Using GIMME_V Using Perl to Dispose of Temporaries Strategies for Storing Callback Context Information 1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of callbacks - hard wired limit, 3. Use a parameter to map to the Perl callback Alternate Stack Manipulation Creating and Calling an Anonymous Subroutine in C LIGHTWEIGHT CALLBACKS SEE ALSO AUTHOR DATE perlmroapi - Perl method resolution plugin interface DESCRIPTION resolve, name, length, kflags, hash Callbacks Caching Examples AUTHORS perlreapi - Perl regular expression plugin interface DESCRIPTION Callbacks comp "/m" - RXf_PMf_MULTILINE, "/s" - RXf_PMf_SINGLELINE, "/i" - RXf_PMf_FOLD, "/x" - RXf_PMf_EXTENDED, "/p" - RXf_PMf_KEEPCOPY, Character set, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, RXf_WHITE, RXf_NULL, RXf_NO_INPLACE_SUBST exec rx, sv, strbeg, strend, stringarg, minend, data, flags intuit checkstr free Numbered capture callbacks Named capture callbacks qr_package dupe op_comp The REGEXP structure "engine" "mother_re" "extflags" "minlen" "minlenret" "gofs" "substrs" "nparens", "lastparen", and "lastcloseparen" "intflags" "pprivate" "offs" "precomp" "prelen" "paren_names" "substrs" "subbeg" "sublen" "saved_copy" "suboffset" "subcoffset" "wrapped" "wraplen" "seen_evals" "refcnt" HISTORY AUTHORS LICENSE perlreguts - Description of the Perl regular expression engine. DESCRIPTION OVERVIEW A quick note on terms What is a regular expression engine? Structure of a Regexp Program "regnode_1", "regnode_2", "regnode_string", "regnode_charclass", "regnode_charclass_posixl", "REGNODE_AFTER", "regnext" Process Overview A. Compilation, 1. Parsing, 2. Peep-hole optimisation and analysis, B. Execution, 3. Start position and no-match optimisations, 4. Program execution Compilation anchored fixed strings, floating fixed strings, minimum and maximum length requirements, start class, Beginning/End of line positions Execution MISCELLANEOUS Unicode and Localisation Support Base Structures "regstclass", "data", "code_blocks", "proglen", "name_list_idx", "program" SEE ALSO AUTHOR LICENCE REFERENCES perlclassguts - Internals of how "feature 'class'" and class syntax works DESCRIPTION DATA STORAGE Classes Fields Methods Instances API Class Manipulation Field Manipulation Method Manipulation Object Instances OPCODES OP_METHSTART OP_INITFIELD COMPILE-TIME BEHAVIOUR "ADJUST" Phasers Attributes Field Initializing Expressions RUNTIME BEHAVIOUR Constructor $self Access During Methods AUTHORS perlapi - autogenerated documentation for the perl public API DESCRIPTION "AV Handling" in perlapi, "Callback Functions" in perlapi, "Casting" in perlapi, "Character case changing" in perlapi, "Character classification" in perlapi, "Compiler and Preprocessor information" in perlapi, "Compiler directives" in perlapi, "Compile-time scope hooks" in perlapi, "Concurrency" in perlapi, "COPs and Hint Hashes" in perlapi, "Custom Operators" in perlapi, "CV Handling" in perlapi, "Debugging" in perlapi, "Display functions" in perlapi, "Embedding, Threads, and Interpreter Cloning" in perlapi, "Errno" in perlapi, "Exception Handling (simple) Macros" in perlapi, "Filesystem configuration values" in perlapi, "Floating point" in perlapi, "General Configuration" in perlapi, "Global Variables" in perlapi, "GV Handling and Stashes" in perlapi, "Hook manipulation" in perlapi, "HV Handling" in perlapi, "Input/Output" in perlapi, "Integer" in perlapi, "I/O Formats" in perlapi, "Lexer interface" in perlapi, "Locales" in perlapi, "Magic" in perlapi, "Memory Management" in perlapi, "MRO" in perlapi, "Multicall Functions" in perlapi, "Numeric Functions" in perlapi, "Optrees" in perlapi, "Pack and Unpack" in perlapi, "Pad Data Structures" in perlapi, "Password and Group access" in perlapi, "Paths to system commands" in perlapi, "Prototype information" in perlapi, "REGEXP Functions" in perlapi, "Reports and Formats" in perlapi, "Signals" in perlapi, "Site configuration" in perlapi, "Sockets configuration values" in perlapi, "Source Filters" in perlapi, "Stack Manipulation Macros" in perlapi, "String Handling" in perlapi, "SV Flags" in perlapi, "SV Handling" in perlapi, "Tainting" in perlapi, "Time" in perlapi, "Typedef names" in perlapi, "Unicode Support" in perlapi, "Utility Functions" in perlapi, "Versioning" in perlapi, "Warning and Dieing" in perlapi, "XS" in perlapi, "Undocumented elements" in perlapi AV Handling "AV", "AvALLOC", "AvARRAY" , "av_clear" , "av_count" , "av_create_and_push" , "av_create_and_unshift_one" , "av_delete" , "av_exists" , "av_extend" , "av_fetch" , "AvFILL" , "av_fill" , "av_len" , "av_make" , "av_pop" , "av_push" , "av_push_simple" , "av_shift" , "av_store" , "av_tindex", "av_top_index" , "av_undef" , "av_unshift" , "get_av" , "newAV", "newAV_alloc_x", "newAV_alloc_xz" , "newAV" form, "newAV_alloc_x" form, "newAV_alloc_xz" form, "newAVav" , "newAVhv" , "Nullav" Callback Functions "call_argv" , "call_method" , "call_pv" , "call_sv" , "DESTRUCTORFUNC_NOCONTEXT_t", "DESTRUCTORFUNC_t", "ENTER" , "ENTER_with_name" , "eval_pv" , "eval_sv" , "FREETMPS" , "G_DISCARD", "G_EVAL", "GIMME" , "GIMME_V" , "G_KEEPERR", "G_LIST", "G_NOARGS", "G_SCALAR", "G_VOID", "is_lvalue_sub" , "LEAVE" , "LEAVE_with_name" , "MORTALDESTRUCTOR_SV", "mortal_destructor_sv" , "MORTALDESTRUCTOR_X", "PL_errgv", "save_aelem", "save_aelem_flags" , "save_aptr", "save_ary", "SAVEBOOL", "SAVEDELETE", "SAVEDESTRUCTOR", "SAVEDESTRUCTOR_X", "SAVEFREEOP", "SAVEFREEPV", "SAVEFREERCPV", "SAVEFREESV", "SAVEGENERICSV", "save_hash", "save_helem", "save_helem_flags" , "save_hptr", "SAVEINT", "save_item", "SAVEIV", "SAVEI8", "SAVEI16", "SAVEI32", "SAVELONG", "SAVEMORTALIZESV", "SAVEPPTR", "SAVERCPV", "save_scalar", "SAVESPTR", "SAVESTACK_POS", "SAVESTRLEN", "save_svref", "SAVETMPS" Casting "Atof" , "cBOOL" , "INT2PTR", "I_V" , "I_32" , "PTR2IV", "PTR2nat", "PTR2NV", "PTR2ul", "PTR2UV", "PTRV", "U_V" , "U_32" Character case changing "toFOLD", "toFOLD_A", "toFOLD_utf8", "toFOLD_utf8_safe", "toFOLD_uvchr" , "toLOWER", "toLOWER_A", "toLOWER_LATIN1", "toLOWER_LC", "toLOWER_L1", "toLOWER_utf8", "toLOWER_utf8_safe", "toLOWER_uvchr" , "toTITLE", "toTITLE_A", "toTITLE_utf8", "toTITLE_utf8_safe", "toTITLE_uvchr" , "toUPPER", "toUPPER_A", "toUPPER_utf8", "toUPPER_utf8_safe", "toUPPER_uvchr" Character classification "isALNUM", "isALNUM_A", "isALNUM_LC", "isALNUM_LC_uvchr" , "isALNUMC", "isALNUMC_A", "isALNUMC_LC", "isALNUMC_LC_uvchr", "isALNUMC_L1" , "isALPHA", "isALPHA_A", "isALPHA_LC", "isALPHA_LC_utf8_safe", "isALPHA_LC_uvchr", "isALPHA_L1", "isALPHA_utf8", "isALPHA_utf8_safe", "isALPHA_uvchr" , "isALPHANUMERIC", "isALPHANUMERIC_A", "isALPHANUMERIC_LC", "isALPHANUMERIC_LC_utf8_safe", "isALPHANUMERIC_LC_uvchr", "isALPHANUMERIC_L1", "isALPHANUMERIC_utf8", "isALPHANUMERIC_utf8_safe", "isALPHANUMERIC_uvchr" , "isASCII", "isASCII_A", "isASCII_LC", "isASCII_LC_utf8_safe", "isASCII_LC_uvchr", "isASCII_L1", "isASCII_utf8", "isASCII_utf8_safe", "isASCII_uvchr" , "isBLANK", "isBLANK_A", "isBLANK_LC", "isBLANK_LC_utf8_safe", "isBLANK_LC_uvchr", "isBLANK_L1", "isBLANK_utf8", "isBLANK_utf8_safe", "isBLANK_uvchr" , "isCNTRL", "isCNTRL_A", "isCNTRL_LC", "isCNTRL_LC_utf8_safe", "isCNTRL_LC_uvchr", "isCNTRL_L1", "isCNTRL_utf8", "isCNTRL_utf8_safe", "isCNTRL_uvchr" , "isDIGIT", "isDIGIT_A", "isDIGIT_LC", "isDIGIT_LC_utf8_safe", "isDIGIT_LC_uvchr", "isDIGIT_L1", "isDIGIT_utf8", "isDIGIT_utf8_safe", "isDIGIT_uvchr" , "isGRAPH", "isGRAPH_A", "isGRAPH_LC", "isGRAPH_LC_utf8_safe", "isGRAPH_LC_uvchr", "isGRAPH_L1", "isGRAPH_utf8", "isGRAPH_utf8_safe", "isGRAPH_uvchr" , "isIDCONT", "isIDCONT_A", "isIDCONT_LC", "isIDCONT_LC_utf8_safe", "isIDCONT_LC_uvchr", "isIDCONT_L1", "isIDCONT_utf8", "isIDCONT_utf8_safe", "isIDCONT_uvchr" , "isIDFIRST", "isIDFIRST_A", "isIDFIRST_LC", "isIDFIRST_LC_utf8_safe", "isIDFIRST_LC_uvchr", "isIDFIRST_L1", "isIDFIRST_utf8", "isIDFIRST_utf8_safe", "isIDFIRST_uvchr" , "isLOWER", "isLOWER_A", "isLOWER_LC", "isLOWER_LC_utf8_safe", "isLOWER_LC_uvchr", "isLOWER_L1", "isLOWER_utf8", "isLOWER_utf8_safe", "isLOWER_uvchr" , "isOCTAL", "isOCTAL_A", "isOCTAL_L1" , "isPRINT", "isPRINT_A", "isPRINT_LC", "isPRINT_LC_utf8_safe", "isPRINT_LC_uvchr", "isPRINT_L1", "isPRINT_utf8", "isPRINT_utf8_safe", "isPRINT_uvchr" , "isPSXSPC", "isPSXSPC_A", "isPSXSPC_LC", "isPSXSPC_LC_utf8_safe", "isPSXSPC_LC_uvchr", "isPSXSPC_L1", "isPSXSPC_utf8", "isPSXSPC_utf8_safe", "isPSXSPC_uvchr" , "isPUNCT", "isPUNCT_A", "isPUNCT_LC", "isPUNCT_LC_utf8_safe", "isPUNCT_LC_uvchr", "isPUNCT_L1", "isPUNCT_utf8", "isPUNCT_utf8_safe", "isPUNCT_uvchr" , "isSPACE", "isSPACE_A", "isSPACE_LC", "isSPACE_LC_utf8_safe", "isSPACE_LC_uvchr", "isSPACE_L1", "isSPACE_utf8", "isSPACE_utf8_safe", "isSPACE_uvchr" , "isUPPER", "isUPPER_A", "isUPPER_LC", "isUPPER_LC_utf8_safe", "isUPPER_LC_uvchr", "isUPPER_L1", "isUPPER_utf8", "isUPPER_utf8_safe", "isUPPER_uvchr" , "isWORDCHAR", "isWORDCHAR_A", "isWORDCHAR_LC", "isWORDCHAR_LC_utf8_safe", "isWORDCHAR_LC_uvchr", "isWORDCHAR_L1", "isWORDCHAR_utf8", "isWORDCHAR_utf8_safe", "isWORDCHAR_uvchr" X , "isXDIGIT", "isXDIGIT_A", "isXDIGIT_LC", "isXDIGIT_LC_utf8_safe", "isXDIGIT_LC_uvchr", "isXDIGIT_L1", "isXDIGIT_utf8", "isXDIGIT_utf8_safe", "isXDIGIT_uvchr" Compiler and Preprocessor information "CPPLAST" , "CPPMINUS" , "CPPRUN" , "CPPSTDIN" , "HASATTRIBUTE_ALWAYS_INLINE" , "HASATTRIBUTE_DEPRECATED" , "HASATTRIBUTE_FORMAT" , "HASATTRIBUTE_NONNULL" , "HASATTRIBUTE_NORETURN" , "HASATTRIBUTE_PURE" , "HASATTRIBUTE_UNUSED" , "HASATTRIBUTE_VISIBILITY" , "HASATTRIBUTE_WARN_UNUSED_RESULT" , "HAS_BUILTIN_ADD_OVERFLOW" , "HAS_BUILTIN_CHOOSE_EXPR" , "HAS_BUILTIN_EXPECT" , "HAS_BUILTIN_MUL_OVERFLOW" , "HAS_BUILTIN_SUB_OVERFLOW" , "HAS_C99_VARIADIC_MACROS" , "HAS_STATIC_INLINE" , "MEM_ALIGNBYTES" , "PERL_STATIC_INLINE" , "PERL_THREAD_LOCAL" , "U32_ALIGNMENT_REQUIRED" Compiler directives "__ASSERT_" , "ASSUME" , "dNOOP" , "END_EXTERN_C" , "EXTERN_C" , "LIKELY" , "NOOP" , "PERL_UNUSED_ARG" , "PERL_UNUSED_CONTEXT" , "PERL_UNUSED_DECL" , "PERL_UNUSED_RESULT" , "PERL_UNUSED_VAR" , "START_EXTERN_C" , "STATIC", "STMT_END", "STMT_START" , "UNLIKELY" Compile-time scope hooks "BhkDISABLE" , "BhkENABLE" , "BhkENTRY_set" , "blockhook_register" Concurrency "aTHX", "aTHX_", "CPERLscope" , "dTHR", "dTHX", "dTHXa" , "dTHXoa" , "dVAR" , "GETENV_PRESERVES_OTHER_THREAD" , "HAS_PTHREAD_ATFORK" , "HAS_PTHREAD_ATTR_SETSCOPE" , "HAS_PTHREAD_YIELD" , "HAS_SCHED_YIELD" , "I_MACH_CTHREADS" , "I_PTHREAD" , "MULTIPLICITY", "OLD_PTHREAD_CREATE_JOINABLE" , "OLD_PTHREADS_API" , "PERL_IMPLICIT_CONTEXT", "PERL_NO_GET_CONTEXT", "pTHX", "pTHX_", "SCHED_YIELD" COPs and Hint Hashes "cop_fetch_label" , "CopFILE" , "CopFILEAV" , "CopFILEAVn" , "CopFILE_copy" , "CopFILE_free" , "CopFILEGV" , "CopFILEGV_set" , "CopFILE_LEN" , "CopFILE_set" , "CopFILE_setn" , "CopFILESV" , "cophh_copy" , "cophh_delete_pv", "cophh_delete_pvn", "cophh_delete_pvs", "cophh_delete_sv" , "cophh_exists_pvn" , "cophh_fetch_pv", "cophh_fetch_pvn", "cophh_fetch_pvs", "cophh_fetch_sv" , "cophh_free" , "cophh_2hv" , "cophh_new_empty" , "cophh_store_pv", "cophh_store_pvn", "cophh_store_pvs", "cophh_store_sv" , "cop_hints_exists_pv", "cop_hints_exists_pvn", "cop_hints_exists_pvs", "cop_hints_exists_sv" , "cop_hints_fetch_pv", "cop_hints_fetch_pvn", "cop_hints_fetch_pvs", "cop_hints_fetch_sv" , "cop_hints_2hv" , "CopLABEL", "CopLABEL_len", "CopLABEL_len_flags" , "CopLINE" , "CopSTASH" , "CopSTASH_eq" , "CopSTASHPV" , "CopSTASHPV_set" , "CopSTASH_set" , "cop_store_label" , "PERL_SI" , "PL_curcop" , "RCPV_LEN" , "RCPV_REFCNT_dec" , "RCPV_REFCNT_inc" , "RCPV_REFCOUNT" , "RCPVx" Custom Operators "custom_op_register" , "Perl_custom_op_xop" , "XopDISABLE" , "XopENABLE" , "XopENTRY" , "XopENTRYCUSTOM" , "XopENTRY_set" , "XopFLAGS" CV Handling "caller_cx" , "CvDEPTH" , "CvGV" , "CvSTASH" , "find_runcv" , "get_cv", "get_cvn_flags", "get_cvs" , "Nullcv" Debugging "av_dump" , "deb", "deb_nocontext" , "debstack" , "dump_all" , "dump_c_backtrace" , "dump_eval", "dump_form" , "dump_packsubs" , "dump_sub", "get_c_backtrace_dump" , "gv_dump" , "HAS_BACKTRACE" , "hv_dump" , "magic_dump" , "op_class" , "op_dump" , "PL_op", "PL_runops", "PL_sv_serial", "pmop_dump" , "sv_dump" , "sv_dump_depth" , "vdeb" Display functions "form", "form_nocontext" , "mess", "mess_nocontext" , "mess_sv" , "pv_display" , "pv_escape" , "pv_pretty" , "vform" , "vmess" Embedding, Threads, and Interpreter Cloning "call_atexit" , "cv_clone" , "cv_name" , "cv_undef" , "find_rundefsv" , "get_op_descs" , "get_op_names" , "HAS_SKIP_LOCALE_INIT", "intro_my" , "load_module", "load_module_nocontext" , "my_exit" , "my_failure_exit" , "my_strlcat" , "my_strlcpy" , "newPADNAMELIST" , "newPADNAMEouter" , "newPADNAMEpvn" , "nothreadhook" , "pad_add_anon" , "pad_add_name_pv" , "pad_add_name_pvn" , "pad_add_name_sv" , "pad_alloc" , "pad_findmy_pv" , "pad_findmy_pvn" , "pad_findmy_sv" , "padnamelist_fetch" , "padnamelist_store" , "pad_tidy" , "perl_alloc" , "PERL_ASYNC_CHECK", "perl_clone" , "perl_construct" , "perl_destruct" , "perl_free" , "PERL_GET_CONTEXT", "PerlInterpreter", "perl_parse" , "perl_run" , "PERL_SET_CONTEXT", "PERL_SYS_INIT", "PERL_SYS_INIT3" , "PERL_SYS_TERM" , "PL_exit_flags" , "PERL_EXIT_DESTRUCT_END", "PERL_EXIT_ABORT", "PERL_EXIT_WARN", "PERL_EXIT_EXPECTED", "PL_origalen", "PL_perl_destruct_level" , 0 - none, 1 - full, 2 or greater - full with checks, "ptr_table_fetch" , "ptr_table_free" , "ptr_table_new" , "ptr_table_split" , "ptr_table_store" , "require_pv" , "vload_module" Errno "sv_string_from_errnum" Exception Handling (simple) Macros "dXCPT" , "JMPENV_JUMP", "JMPENV_PUSH", "PL_restartop", "XCPT_CATCH" , "XCPT_RETHROW" , "XCPT_TRY_END" , "XCPT_TRY_START" Filesystem configuration values "DIRNAMLEN" , "DOSUID" , "EOF_NONBLOCK" , "FCNTL_CAN_LOCK" , "FFLUSH_ALL" , "FFLUSH_NULL" , "FILE_base" , "FILE_bufsiz" , "FILE_cnt" , "FILE_ptr" , "FLEXFILENAMES" , "HAS_DIR_DD_FD" , "HAS_DUP2" , "HAS_DUP3" , "HAS_FAST_STDIO" , "HAS_FCHDIR" , "HAS_FCNTL" , "HAS_FDCLOSE" , "HAS_FPATHCONF" , "HAS_FPOS64_T" , "HAS_FSTATFS" , "HAS_FSTATVFS" , "HAS_GETFSSTAT" , "HAS_GETMNT" , "HAS_GETMNTENT" , "HAS_HASMNTOPT" , "HAS_LSEEK_PROTO" , "HAS_MKDIR" , "HAS_OFF64_T" , "HAS_OPENAT" , "HAS_OPEN3" , "HAS_POLL" , "HAS_READDIR" , "HAS_READDIR64_R" , "HAS_REWINDDIR" , "HAS_RMDIR" , "HAS_SEEKDIR" , "HAS_SELECT" , "HAS_SETVBUF" , "HAS_STDIO_STREAM_ARRAY" , "HAS_STRUCT_FS_DATA" , "HAS_STRUCT_STATFS" , "HAS_STRUCT_STATFS_F_FLAGS" , "HAS_TELLDIR" , "HAS_USTAT" , "I_FCNTL" , "I_SYS_DIR" , "I_SYS_FILE" , "I_SYS_NDIR" , "I_SYS_STATFS" , "LSEEKSIZE" , "RD_NODATA" , "READDIR64_R_PROTO" , "STDCHAR" , "STDIO_CNT_LVALUE" , "STDIO_PTR_LVAL_NOCHANGE_CNT" , "STDIO_PTR_LVAL_SETS_CNT" , "STDIO_PTR_LVALUE" , "STDIO_STREAM_ARRAY" , "ST_INO_SIGN" , "ST_INO_SIZE" , "VAL_EAGAIN" , "VAL_O_NONBLOCK" , "VOID_CLOSEDIR" Floating point "CASTFLAGS" , "CASTNEGFLOAT" , "DOUBLE_HAS_INF" , "DOUBLE_HAS_NAN" , "DOUBLE_HAS_NEGATIVE_ZERO" , "DOUBLE_HAS_SUBNORMALS" , "DOUBLEINFBYTES" , "DOUBLEKIND" , "DOUBLEMANTBITS" , "DOUBLENANBYTES" , "DOUBLESIZE" , "DOUBLE_STYLE_CRAY" , "DOUBLE_STYLE_IBM" , "DOUBLE_STYLE_IEEE" , "DOUBLE_STYLE_VAX" , "HAS_ATOLF" , "HAS_CLASS" , "HAS_FINITE" , "HAS_FINITEL" , "HAS_FPCLASS" , "HAS_FP_CLASS" , "HAS_FPCLASSIFY" , "HAS_FP_CLASSIFY" , "HAS_FPCLASSL" , "HAS_FP_CLASSL" , "HAS_FPGETROUND" , "HAS_FREXPL" , "HAS_ILOGB" , "HAS_ISFINITE" , "HAS_ISFINITEL" , "HAS_ISINF" , "HAS_ISINFL" , "HAS_ISNAN" , "HAS_ISNANL" , "HAS_ISNORMAL" , "HAS_J0L" , "HAS_J0" , "HAS_LDBL_DIG" , "HAS_LDEXPL" , "HAS_LLRINT" , "HAS_LLRINTL" , "HAS_LLROUNDL" , "HAS_LONG_DOUBLE" , "HAS_LRINT" , "HAS_LRINTL" , "HAS_LROUNDL" , "HAS_MODFL" , "HAS_NAN" , "HAS_NEXTTOWARD" , "HAS_REMAINDER" , "HAS_SCALBN" , "HAS_SIGNBIT" , "HAS_SQRTL" , "HAS_STRTOD_L" , "HAS_STRTOLD" , "HAS_STRTOLD_L" , "HAS_TRUNC" , "HAS_UNORDERED" , "I_FENV" , "I_QUADMATH" , "LONGDBLINFBYTES" , "LONGDBLMANTBITS" , "LONGDBLNANBYTES" , "LONG_DOUBLEKIND" , "LONG_DOUBLESIZE" , "LONG_DOUBLE_STYLE_IEEE" , "LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE" , "LONG_DOUBLE_STYLE_IEEE_EXTENDED" , "LONG_DOUBLE_STYLE_IEEE_STD" , "LONG_DOUBLE_STYLE_VAX" , "NV", "NVMANTBITS" , "NV_OVERFLOWS_INTEGERS_AT" , "NV_PRESERVES_UV" , "NV_PRESERVES_UV_BITS" , "NVSIZE" , "NVTYPE" , "NV_ZERO_IS_ALLBITS_ZERO" General Configuration "ASCIIish" , "BYTEORDER" , "CHARBITS" , "DB_VERSION_MAJOR_CFG" , "DB_VERSION_MINOR_CFG" , "DB_VERSION_PATCH_CFG" , "DEFAULT_INC_EXCLUDES_DOT" , "DLSYM_NEEDS_UNDERSCORE" , "EBCDIC" , "HAS_CSH" , "HAS_GETHOSTNAME" , "HAS_GNULIBC" , "HAS_LGAMMA" , "HAS_LGAMMA_R" , "HAS_NON_INT_BITFIELDS" , "HAS_PRCTL_SET_NAME" , "HAS_PROCSELFEXE" , "HAS_PSEUDOFORK" , "HAS_REGCOMP" , "HAS_SETPGID" , "HAS_SIGSETJMP" , "HAS_STRUCT_CMSGHDR" , "HAS_STRUCT_MSGHDR" , "HAS_TGAMMA" , "HAS_UNAME" , "HAS_UNION_SEMUN" , "I_DIRENT" , "I_POLL" , "I_SYS_RESOURCE" , "LIBM_LIB_VERSION" , "NEED_VA_COPY", "OSNAME" , "OSVERS" , "PERL_USE_GCC_BRACE_GROUPS" , "PHOSTNAME" , "PROCSELFEXE_PATH" , "PTRSIZE" , "RANDBITS" , "SELECT_MIN_BITS" , "SETUID_SCRIPTS_ARE_SECURE_NOW" , "ST_DEV_SIGN" , "ST_DEV_SIZE" List of capability "HAS_foo" symbols List of "#include" needed symbols Global Variables "PL_check" , "PL_infix_plugin" , "PL_keyword_plugin" , "PL_phase" GV Handling and Stashes "amagic_call" , "AMGf_noleft", "AMGf_noright", "AMGf_unary", "AMGf_assign", "amagic_deref_call" , "gv_add_by_type" , "Gv_AMupdate" , 1 on success and there is some overload, 0 if there is no overload, -1 if some error occurred and it couldn't croak (because "destructing" is true), "gv_autoload_pv", "gv_autoload_pvn", "gv_autoload_sv" , "gv_autoload4" , "GvAV" , "gv_AVadd", "gv_HVadd", "gv_IOadd", "gv_SVadd" , "gv_const_sv" , "GvCV" , "gv_efullname3", "gv_efullname4", "gv_fullname3", "gv_fullname4" , "gv_fetchfile", "gv_fetchfile_flags" , "gv_fetchmeth", "gv_fetchmeth_pv", "gv_fetchmeth_pvn", "gv_fetchmeth_sv" , "gv_fetchmeth_autoload" , "gv_fetchmethod" , "gv_fetchmethod_autoload" , "gv_fetchmeth_pv_autoload" , "gv_fetchmeth_pvn_autoload" , "gv_fetchmeth_sv_autoload" , "gv_fetchpv", "gv_fetchpvn", "gv_fetchpvn_flags", "gv_fetchpvs", "gv_fetchsv", "gv_fetchsv_nomg" X , "GvHV" , "gv_init" , "gv_init_pv" , "gv_init_pvn" , "gv_init_sv" , "gv_name_set" , "gv_stashpv" , "gv_stashpvn" , "gv_stashpvs" , "gv_stashsv" , "GvSV" , "GvSVn" , "newGVgen", "newGVgen_flags" , "PL_curstash" , "PL_defgv" , "PL_defoutgv" , "PL_defstash", "save_gp" , "setdefout" Hook manipulation "rcpv_copy" , "rcpv_free" , "rcpv_new" , "wrap_op_checker" HV Handling "get_hv" , "HE", "HEf_SVKEY" , "HeHASH" , "HeKEY" , "HeKLEN" , "HePV" , "HeSVKEY" , "HeSVKEY_force" , "HeSVKEY_set" , "HeUTF8" , "HeVAL" , "HV", "hv_assert" , "hv_bucket_ratio" , "hv_clear" , "hv_clear_placeholders" , "hv_copy_hints_hv" , "hv_delete" , "hv_delete_ent" , "HvENAME" , "HvENAMELEN" , "HvENAMEUTF8" , "hv_exists" , "hv_exists_ent" , "hv_fetch" , "hv_fetch_ent" , "hv_fetchs" , "HvFILL" , "HvHasAUX" , "hv_iterinit" , "hv_iterkey" , "hv_iterkeysv" , "hv_iternext" , "hv_iternext_flags" , "hv_iternextsv" , "hv_iterval" , "hv_ksplit" , "hv_magic" , "HvNAME" , "HvNAMELEN" , "hv_name_set", "hv_name_sets" , "HvNAMEUTF8" , "hv_scalar" , "hv_store", "hv_stores" , "hv_store_ent" , "hv_undef" , "newHV" , "newHVhv" , "Nullhv" , "PERL_HASH", "PL_modglobal" Input/Output "do_close" , "IoDIRP", "IOf_FLUSH", "IoFLAGS", "IOf_UNTAINT", "IoIFP", "IoOFP", "IoTYPE", "my_chsize" , "my_dirfd" , "my_pclose" , "my_popen" , "newIO" , "PERL_FLUSHALL_FOR_CHILD" , "PerlIO_apply_layers", "PerlIO_binmode", "PerlIO_canset_cnt", "PerlIO_clearerr", "PerlIO_close", "PerlIO_debug", "PerlIO_eof", "PerlIO_error", "PerlIO_exportFILE", "PerlIO_fast_gets", "PerlIO_fdopen", "PerlIO_fileno", "PerlIO_fill", "PerlIO_findFILE", "PerlIO_flush", "PerlIO_get_base", "PerlIO_get_bufsiz", "PerlIO_get_cnt", "PerlIO_get_ptr", "PerlIO_getc", "PerlIO_getpos", "PerlIO_has_base", "PerlIO_has_cntptr", "PerlIO_importFILE", "PerlIO_open", "PerlIO_printf", "PerlIO_putc", "PerlIO_puts", "PerlIO_read", "PerlIO_releaseFILE", "PerlIO_reopen", "PerlIO_rewind", "PerlIO_seek", "PerlIO_set_cnt", "PerlIO_set_ptrcnt", "PerlIO_setlinebuf", "PerlIO_setpos", "PerlIO_stderr", "PerlIO_stdin", "PerlIO_stdout", "PerlIO_stdoutf", "PerlIO_tell", "PerlIO_ungetc", "PerlIO_unread", "PerlIO_vprintf", "PerlIO_write", "PERLIO_F_APPEND", "PERLIO_F_CANREAD", "PERLIO_F_CANWRITE", "PERLIO_F_CRLF", "PERLIO_F_EOF", "PERLIO_F_ERROR", "PERLIO_F_FASTGETS", "PERLIO_F_LINEBUF", "PERLIO_F_OPEN", "PERLIO_F_RDBUF", "PERLIO_F_TEMP", "PERLIO_F_TRUNCATE", "PERLIO_F_UNBUF", "PERLIO_F_UTF8", "PERLIO_F_WRBUF", "PERLIO_FUNCS_CAST" , "PERLIO_FUNCS_DECL" , "PERLIO_K_BUFFERED", "PERLIO_K_CANCRLF", "PERLIO_K_FASTGETS", "PERLIO_K_MULTIARG", "PERLIO_K_RAW", "PERLIO_NOT_STDIO", "PL_maxsysfd", "repeatcpy" , "USE_STDIO" Integer "CASTI32" , "HAS_INT64_T" , "HAS_LONG_LONG" , "HAS_QUAD" , "I32df" , "INT16_C", "INT32_C", "INT64_C" , "INTMAX_C" , "INTSIZE" , "I8SIZE" , "I16SIZE" , "I32SIZE" , "I64SIZE" , "I8TYPE" , "I16TYPE" , "I32TYPE" , "I64TYPE" , "IV", "I8", "I16", "I32", "I64", "IV_MAX" , "IV_MIN" , "IVSIZE" , "IVTYPE" , "line_t" , "LONGLONGSIZE" , "LONGSIZE" , "memzero" , "PERL_INT_FAST8_T", "PERL_INT_FAST16_T", "PERL_UINT_FAST8_T", "PERL_UINT_FAST16_T" , "PERL_INT_MAX", "PERL_INT_MIN", "PERL_LONG_MAX", "PERL_LONG_MIN", "PERL_QUAD_MAX", "PERL_QUAD_MIN", "PERL_SHORT_MAX", "PERL_SHORT_MIN", "PERL_UCHAR_MAX", "PERL_UCHAR_MIN", "PERL_UINT_MAX", "PERL_UINT_MIN", "PERL_ULONG_MAX", "PERL_ULONG_MIN", "PERL_UQUAD_MAX", "PERL_UQUAD_MIN", "PERL_USHORT_MAX", "PERL_USHORT_MIN" , "SHORTSIZE" , "UINT16_C", "UINT32_C", "UINT64_C" , "UINTMAX_C" , "U32of" , "U8SIZE" , "U16SIZE" , "U32SIZE" , "U64SIZE" , "U8TYPE" , "U16TYPE" , "U32TYPE" , "U64TYPE" , "U32uf" , "UV", "U8", "U16", "U32", "U64", "UV_MAX" , "UV_MIN" , "UVSIZE" , "UVTYPE" , "U32Xf" , "U32xf" , "WIDEST_UTYPE" I/O Formats "HvNAMEf", "HvNAMEf_QUOTEDPREFIX", "IVdf" , "NVef" , "NVff" , "NVgf" , "PERL_PRIeldbl" , "PERL_PRIfldbl" , "PERL_PRIgldbl" , "PERL_SCNfldbl" , "PRINTF_FORMAT_NULL_OK" , "SVf", "SVfARG", "SVf_QUOTEDPREFIX", "UTF8f", "UTF8fARG", "UTF8f_QUOTEDPREFIX", "UVf" , "UVof" , "UVuf" , "UVXf" , "UVxf" Lexer interface "BHK", "lex_bufutf8" , "lex_discard_to" , "lex_grow_linestr" , "lex_next_chunk" , "lex_peek_unichar" , "lex_read_space" , "lex_read_to" , "lex_read_unichar" , "lex_start" , "lex_stuff_pv" , "lex_stuff_pvn" , "lex_stuff_pvs" , "lex_stuff_sv" , "lex_unstuff" , "parse_arithexpr" , "parse_barestmt" , "parse_block" , "parse_fullexpr" , "parse_fullstmt" , "parse_label" , "parse_listexpr" , "parse_stmtseq" , "parse_subsignature" , "parse_termexpr" , "PL_parser" , "PL_parser->bufend" , "PL_parser->bufptr" , "PL_parser->linestart" , "PL_parser->linestr" , "suspend_compcv" , "wrap_infix_plugin" , "wrap_keyword_plugin" Locales "DECLARATION_FOR_LC_NUMERIC_MANIPULATION" , "foldEQ_locale" , "HAS_DUPLOCALE" , "HAS_FREELOCALE" , "HAS_LC_MONETARY_2008" , "HAS_LOCALECONV" , "HAS_LOCALECONV_L" , "HAS_NEWLOCALE" , "HAS_NL_LANGINFO" , "HAS_NL_LANGINFO_L" , "HAS_QUERYLOCALE" , "HAS_SETLOCALE" , "HAS_SETLOCALE_R" , "HAS_THREAD_SAFE_NL_LANGINFO_L" , "HAS_USELOCALE" , "I_LANGINFO" , "I_LOCALE" , "IN_LOCALE" , "IN_LOCALE_COMPILETIME" , "IN_LOCALE_RUNTIME" , "I_XLOCALE" , "NEED_XLOCALE_H" , "Perl_langinfo", "Perl_langinfo8" , a, b, c, d, e, "Perl_localeconv" , "Perl_setlocale" , "RESTORE_LC_NUMERIC" , "SETLOCALE_ACCEPTS_ANY_LOCALE_NAME" , "STORE_LC_NUMERIC_FORCE_TO_UNDERLYING" , "STORE_LC_NUMERIC_SET_TO_NEEDED" , "STORE_LC_NUMERIC_SET_TO_NEEDED_IN" , "WITH_LC_NUMERIC_SET_TO_NEEDED" , "WITH_LC_NUMERIC_SET_TO_NEEDED_IN" Magic "mg_clear" , "mg_copy" , "MGf_COPY", "MGf_DUP", "MGf_LOCAL", "mg_find" , "mg_findext" , "mg_free" , "mg_freeext" , "mg_free_type" , "mg_get" , "mg_magical" , "mg_set" , "MGVTBL", "PERL_MAGIC_arylen", "PERL_MAGIC_arylen_p", "PERL_MAGIC_backref", "PERL_MAGIC_bm", "PERL_MAGIC_checkcall", "PERL_MAGIC_collxfrm", "PERL_MAGIC_dbfile", "PERL_MAGIC_dbline", "PERL_MAGIC_debugvar", "PERL_MAGIC_defelem", "PERL_MAGIC_destruct", "PERL_MAGIC_env", "PERL_MAGIC_envelem", "PERL_MAGIC_ext", "PERL_MAGIC_extvalue", "PERL_MAGIC_fm", "PERL_MAGIC_hints", "PERL_MAGIC_hintselem", "PERL_MAGIC_hook", "PERL_MAGIC_hookelem", "PERL_MAGIC_isa", "PERL_MAGIC_isaelem", "PERL_MAGIC_lvref", "PERL_MAGIC_nkeys", "PERL_MAGIC_nonelem", "PERL_MAGIC_overload_table", "PERL_MAGIC_pos", "PERL_MAGIC_qr", "PERL_MAGIC_regdata", "PERL_MAGIC_regdatum", "PERL_MAGIC_regex_global", "PERL_MAGIC_rhash", "PERL_MAGIC_shared", "PERL_MAGIC_shared_scalar", "PERL_MAGIC_sig", "PERL_MAGIC_sigelem", "PERL_MAGIC_substr", "PERL_MAGIC_sv", "PERL_MAGIC_symtab", "PERL_MAGIC_taint", "PERL_MAGIC_tied", "PERL_MAGIC_tiedelem", "PERL_MAGIC_tiedscalar", "PERL_MAGIC_utf8", "PERL_MAGIC_uvar", "PERL_MAGIC_uvar_elem", "PERL_MAGIC_vec", "PERL_MAGIC_vstring", "SvTIED_obj" Memory Management "dump_mstats" , "HASATTRIBUTE_MALLOC" , "HAS_MALLOC_GOOD_SIZE" , "HAS_MALLOC_SIZE" , "I_MALLOCMALLOC" , "MYMALLOC" , "Newx", "safemalloc" , "Newxc" , "Newxz", "safecalloc" , "PERL_MALLOC_WRAP" , "Renew", "saferealloc" , "Renewc" , "Safefree" , "safesyscalloc" , "safesysfree" , "safesysmalloc" , "safesysrealloc" MRO "HvMROMETA", "mro_get_from_name" , "mro_get_linear_isa" , "MRO_GET_PRIVATE_DATA", "mro_method_changed_in" , "mro_register" , "mro_set_mro" , "mro_set_private_data" Multicall Functions "dMULTICALL" , "MULTICALL" , "POP_MULTICALL" , "PUSH_MULTICALL" Numeric Functions "Atol", "Atoul", "Drand01" , "Gconvert" , "grok_atoUV" , "grok_bin" , "grok_hex" , "grok_infnan" , "grok_number" , "grok_number_flags" , "GROK_NUMERIC_RADIX" , "grok_numeric_radix" , "grok_oct" , "isinfnan" , "my_atof" , "my_strtod" , "PERL_ABS" , "Perl_acos", "Perl_asin", "Perl_atan", "Perl_atan2", "Perl_ceil", "Perl_cos", "Perl_cosh", "Perl_exp", "Perl_floor", "Perl_fmod", "Perl_frexp", "Perl_isfinite", "Perl_isinf", "Perl_isnan", "Perl_ldexp", "Perl_log", "Perl_log10", "Perl_modf", "Perl_pow", "Perl_sin", "Perl_sinh", "Perl_sqrt", "Perl_tan", "Perl_tanh" X X , "Perl_signbit" , "PL_hexdigit" , "READ_XDIGIT" , "scan_bin" , "scan_hex" , "scan_oct" , "seedDrand01" , "Strtod" , "Strtol" , "Strtoul" Optrees "alloccopstash" , "BINOP", "block_end" , "block_start" , "ck_entersub_args_list" , "ck_entersub_args_proto" , "ck_entersub_args_proto_or_list" , "cv_const_sv" , "cv_get_call_checker" , "cv_get_call_checker_flags" , "cv_set_call_checker" , "cv_set_call_checker_flags" , "finalize_optree" , "forbid_outofblock_ops" , "LINKLIST" , "LISTOP", "LOGOP", "LOOP", "newARGDEFELEMOP" , "newASSIGNOP" , "newATTRSUB" , "newBINOP" , "newCONDOP" , "newCONSTSUB" , "newCONSTSUB_flags" , "newDEFEROP" , "newDEFSVOP" , "newFOROP" , "newGIVENOP" , "newGVOP" , "newLISTOP" , "newLOGOP" , "newLOOPEX" , "newLOOPOP" , "newMETHOP" , "newMETHOP_named" , "newNULLLIST" , "newOP" , "newPADOP" , "newPMOP" , "newPVOP" , "newRANGE" , "newSLICEOP" , "newSTATEOP" , "newSUB" , "newSVOP" , "newTRYCATCHOP" , "newUNOP" , "newUNOP_AUX" , "newWHENOP" , "newWHILEOP" , "newXS" , "OA_BASEOP", "OA_BINOP", "OA_COP", "OA_LISTOP", "OA_LOGOP", "OA_LOOP", "OA_PADOP", "OA_PMOP", "OA_PVOP_OR_SVOP", "OA_SVOP", "OA_UNOP", "OP", "op_append_elem" , "op_append_list" , "OP_CLASS" , "op_contextualize" , "op_convert_list" , "OP_DESC" , "op_force_list" , "op_free" , "OpHAS_SIBLING" , "OpLASTSIB_set" , "op_linklist" , "op_lvalue" , "OpMAYBESIB_set" , "OpMORESIB_set" , "OP_NAME" , "op_null" , "op_parent" , "op_prepend_elem" , "op_scope" , "OpSIBLING" , "op_sibling_splice" , "optimize_optree" , "OP_TYPE_IS" , "OP_TYPE_IS_OR_WAS" , "op_wrap_finally" , "peep_t", "Perl_cpeep_t", "PL_opfreehook" , "PL_peepp" , "PL_rpeepp" , "PMOP", "rv2cv_op_cv" , "UNOP", "XOP" Pack and Unpack "packlist" , "unpackstring" Pad Data Structures "CvPADLIST" , "pad_add_name_pvs" , "PadARRAY" , "pad_findmy_pvs" , "PadlistARRAY" , "PadlistMAX" , "PadlistNAMES" , "PadlistNAMESARRAY" , "PadlistNAMESMAX" , "PadlistREFCNT" , "PadMAX" , "PadnameLEN" , "PadnamelistARRAY" , "PadnamelistMAX" , "PadnamelistREFCNT" , "PadnamelistREFCNT_dec" , "PadnamePV" , "PadnameREFCNT" , "PadnameREFCNT_dec" , "PadnameREFCNT_inc" , "PadnameSV" , "PadnameUTF8" , "pad_new" , "PL_comppad" , "PL_comppad_name" , "PL_curpad" , "SVs_PADMY", "SVs_PADTMP" Password and Group access "GRPASSWD" , "HAS_ENDGRENT" , "HAS_ENDGRENT_R" , "HAS_ENDPWENT" , "HAS_ENDPWENT_R" , "HAS_GETGRENT" , "HAS_GETGRENT_R" , "HAS_GETPWENT" , "HAS_GETPWENT_R" , "HAS_SETGRENT" , "HAS_SETGRENT_R" , "HAS_SETPWENT" , "HAS_SETPWENT_R" , "PWAGE" , "PWCHANGE" , "PWCLASS" , "PWCOMMENT" , "PWEXPIRE" , "PWGECOS" , "PWPASSWD" , "PWQUOTA" Paths to system commands "CSH" , "LOC_SED" , "SH_PATH" Prototype information "CRYPT_R_PROTO" , "CTERMID_R_PROTO" , "DRAND48_R_PROTO" , "ENDGRENT_R_PROTO" , "ENDHOSTENT_R_PROTO" , "ENDNETENT_R_PROTO" , "ENDPROTOENT_R_PROTO" , "ENDPWENT_R_PROTO" , "ENDSERVENT_R_PROTO" , "GDBMNDBM_H_USES_PROTOTYPES" , "GDBM_NDBM_H_USES_PROTOTYPES" , "GETGRENT_R_PROTO" , "GETGRGID_R_PROTO" , "GETGRNAM_R_PROTO" , "GETHOSTBYADDR_R_PROTO" , "GETHOSTBYNAME_R_PROTO" , "GETHOSTENT_R_PROTO" , "GETLOGIN_R_PROTO" , "GETNETBYADDR_R_PROTO" , "GETNETBYNAME_R_PROTO" , "GETNETENT_R_PROTO" , "GETPROTOBYNAME_R_PROTO" , "GETPROTOBYNUMBER_R_PROTO" , "GETPROTOENT_R_PROTO" , "GETPWENT_R_PROTO" , "GETPWNAM_R_PROTO" , "GETPWUID_R_PROTO" , "GETSERVBYNAME_R_PROTO" , "GETSERVBYPORT_R_PROTO" , "GETSERVENT_R_PROTO" , "GETSPNAM_R_PROTO" , "HAS_DBMINIT_PROTO" , "HAS_DRAND48_PROTO" , "HAS_FLOCK_PROTO" , "HAS_GETHOST_PROTOS" , "HAS_GETNET_PROTOS" , "HAS_GETPROTO_PROTOS" , "HAS_GETSERV_PROTOS" , "HAS_MODFL_PROTO" , "HAS_SBRK_PROTO" , "HAS_SETRESGID_PROTO" , "HAS_SETRESUID_PROTO" , "HAS_SHMAT_PROTOTYPE" , "HAS_SOCKATMARK_PROTO" , "HAS_SYSCALL_PROTO" , "HAS_TELLDIR_PROTO" , "NDBM_H_USES_PROTOTYPES" , "RANDOM_R_PROTO" , "READDIR_R_PROTO" , "SETGRENT_R_PROTO" , "SETHOSTENT_R_PROTO" , "SETLOCALE_R_PROTO" , "SETNETENT_R_PROTO" , "SETPROTOENT_R_PROTO" , "SETPWENT_R_PROTO" , "SETSERVENT_R_PROTO" , "SRANDOM_R_PROTO" , "SRAND48_R_PROTO" , "STRERROR_R_PROTO" , "TMPNAM_R_PROTO" , "TTYNAME_R_PROTO" REGEXP Functions "pregcomp", "pregexec", "re_compile" , "re_dup_guts" , "REGEX_LOCALE_CHARSET", "REGEXP", "regexp_engine" , "regexp_paren_pair", "regmatch_info" , "REXEC_COPY_SKIP_POST", "REXEC_COPY_SKIP_PRE", "REXEC_COPY_STR", "RXapif_ALL", "RXapif_CLEAR", "RXapif_DELETE", "RXapif_EXISTS", "RXapif_FETCH", "RXapif_FIRSTKEY", "RXapif_NEXTKEY", "RXapif_ONE", "RXapif_REGNAME", "RXapif_REGNAMES", "RXapif_REGNAMES_COUNT", "RXapif_SCALAR", "RXapif_STORE", "RX_BUFF_IDX_CARET_FULLMATCH", "RX_BUFF_IDX_CARET_POSTMATCH", "RX_BUFF_IDX_CARET_PREMATCH", "RX_BUFF_IDX_FULLMATCH", "RX_BUFF_IDX_POSTMATCH", "RX_BUFF_IDX_PREMATCH", "RXf_NO_INPLACE_SUBST", "RXf_NULL", "RXf_SKIPWHITE", "RXf_SPLIT", "RXf_START_ONLY", "RXf_WHITE", "RXf_PMf_EXTENDED", "RXf_PMf_FOLD", "RXf_PMf_KEEPCOPY", "RXf_PMf_MULTILINE", "RXf_PMf_SINGLELINE", "RX_MATCH_COPIED", "RX_OFFS", "SvRX" , "SvRXOK" , "SV_SAVED_COPY" Reports and Formats "IoBOTTOM_GV", "IoBOTTOM_NAME", "IoFMT_GV", "IoFMT_NAME", "IoLINES", "IoLINES_LEFT", "IoPAGE", "IoPAGE_LEN", "IoTOP_GV", "IoTOP_NAME" Signals "HAS_SIGINFO_SI_ADDR" , "HAS_SIGINFO_SI_BAND" , "HAS_SIGINFO_SI_ERRNO" , "HAS_SIGINFO_SI_PID" , "HAS_SIGINFO_SI_STATUS" , "HAS_SIGINFO_SI_UID" , "HAS_SIGINFO_SI_VALUE" , "PERL_SIGNALS_UNSAFE_FLAG" , "rsignal" , "rsignal_state" , "Sigjmp_buf" , "Siglongjmp" , "SIG_NAME" , "SIG_NUM" , "Sigsetjmp" , "SIG_SIZE" , "whichsig", "whichsig_pv", "whichsig_pvn", "whichsig_sv" Site configuration "ARCHLIB" , "ARCHLIB_EXP" , "ARCHNAME" , "BIN" , "BIN_EXP" , "INSTALL_USR_BIN_PERL" , "MULTIARCH" , "PERL_INC_VERSION_LIST" , "PERL_OTHERLIBDIRS" , "PERL_RELOCATABLE_INC" , "PERL_TARGETARCH" , "PERL_USE_DEVEL" , "PERL_VENDORARCH" , "PERL_VENDORARCH_EXP" , "PERL_VENDORLIB_EXP" , "PERL_VENDORLIB_STEM" , "PRIVLIB" , "PRIVLIB_EXP" , "SITEARCH" , "SITEARCH_EXP" , "SITELIB" , "SITELIB_EXP" , "SITELIB_STEM" , "STARTPERL" , "USE_64_BIT_ALL" , "USE_64_BIT_INT" , "USE_BSD_GETPGRP" , "USE_BSD_SETPGRP" , "USE_C_BACKTRACE" , "USE_CPLUSPLUS" , "USE_CROSS_COMPILE" , "USE_DTRACE" , "USE_DYNAMIC_LOADING" , "USE_FAST_STDIO" , "USE_ITHREADS" , "USE_KERN_PROC_PATHNAME" , "USE_LARGE_FILES" , "USE_LONG_DOUBLE" , "USE_MORE_BITS" , "USE_NSGETEXECUTABLEPATH" , "USE_PERLIO" , "USE_QUADMATH" , "USE_REENTRANT_API" , "USE_SEMCTL_SEMID_DS" , "USE_SEMCTL_SEMUN" , "USE_SITECUSTOMIZE" , "USE_SOCKS" , "USE_STAT_BLOCKS" , "USE_STDIO_BASE" , "USE_STDIO_PTR" , "USE_STRICT_BY_DEFAULT" , "USE_THREADS" Sockets configuration values "HAS_SOCKADDR_IN6" , "HAS_SOCKADDR_SA_LEN" , "HAS_SOCKADDR_STORAGE" , "HAS_SOCKATMARK" , "HAS_SOCKET" , "HAS_SOCKETPAIR" , "HAS_SOCKS5_INIT" , "I_SOCKS" , "I_SYS_SOCKIO" Source Filters "apply_builtin_cv_attributes" , "filter_add", "filter_del" , "filter_read", "scan_vstring" , "start_subparse" Stack Manipulation Macros "dMARK" , "dORIGMARK" , "dSP" , "dTARGET" , "EXTEND" , "MARK" , "mPUSHi" , "mPUSHn" , "mPUSHp" , "mPUSHpvs" , "mPUSHs" , "mPUSHu" , "mXPUSHi" , "mXPUSHn" , "mXPUSHp" , "mXPUSHpvs" , "mXPUSHs" , "mXPUSHu" , "newXSproto" , "ORIGMARK" , "PL_markstack", "PL_markstack_ptr", "PL_savestack", "PL_savestack_ix", "PL_scopestack", "PL_scopestack_ix", "PL_scopestack_name", "PL_stack_base", "PL_stack_sp", "PL_tmps_floor", "PL_tmps_ix", "PL_tmps_stack", "POPi" , "POPl" , "POPn" , "POPp" , "POPpbytex" , "POPpx" , "POPs" , "POPu" , "POPul" , "PUSHi" , "PUSHMARK" , "PUSHmortal" , "PUSHn" , "PUSHp" , "PUSHpvs" , "PUSHs" , "PUSHu" , "PUTBACK" , "SAVEt_INT", "SP" , "SPAGAIN" , "SSNEW", "SSNEWa", "SSNEWat", "SSNEWt" , "SSPTR", "SSPTRt" , "TARG" , "TOPs", "XPUSHi" , "XPUSHmortal" , "XPUSHn" , "XPUSHp" , "XPUSHpvs" , "XPUSHs" , "XPUSHu" , "XS_APIVERSION_BOOTCHECK" , "XSRETURN" , "XSRETURN_EMPTY" , "XSRETURN_IV" , "XSRETURN_NO" , "XSRETURN_NV" , "XSRETURN_PV" , "XSRETURN_UNDEF" , "XSRETURN_UV" , "XSRETURN_YES" , "XST_mIV" , "XST_mNO" , "XST_mNV" , "XST_mPV" , "XST_mUNDEF" , "XST_mUV" , "XST_mYES" , "XS_VERSION" , "XS_VERSION_BOOTCHECK" String Handling "CAT2" , "Copy", "CopyD" , "delimcpy" , "do_join" , "do_sprintf" , "fbm_compile" , "fbm_instr" , "foldEQ" , "ibcmp" , "ibcmp_locale" , "ibcmp_utf8" , "instr" , "memCHRs" , "memEQ" , "memEQs" , "memNE" , "memNEs" , "Move", "MoveD" , "my_snprintf" , "my_sprintf" , "my_strnlen" , "my_vsnprintf" , "NewCopy" , "ninstr" , "Nullch" , "PL_na" , "rninstr" , "savepv" , "savepvn" , "savepvs" , "savesharedpv" , "savesharedpvn" , "savesharedpvs" , "savesharedsvpv" , "savesvpv" , "strEQ" , "strGE" , "strGT" , "STRINGIFY" , "strLE" , "STRLEN", "strLT" , "strNE" , "strnEQ" , "strnNE" , "STR_WITH_LEN" , "Zero", "ZeroD" SV Flags "SVt_IV" , "SVt_NULL" , "SVt_NV" , "SVt_PV" , "SVt_PVAV" , "SVt_PVCV" , "SVt_PVFM" , "SVt_PVGV" , "SVt_PVHV" , "SVt_PVIO" , "SVt_PVIV" , "SVt_PVLV" , "SVt_PVMG" , "SVt_PVNV" , "SVt_PVOBJ" , "SVt_REGEXP" , "svtype" SV Handling "AV_FROM_REF", "CV_FROM_REF", "HV_FROM_REF" , "BOOL_INTERNALS_sv_isbool" , "BOOL_INTERNALS_sv_isbool_false" , "BOOL_INTERNALS_sv_isbool_true" , "boolSV" , "croak_xs_usage" , "DEFSV" , "DEFSV_set" , "get_sv" , "isGV_with_GP" , "looks_like_number" , "MUTABLE_AV", "MUTABLE_CV", "MUTABLE_GV", "MUTABLE_HV", "MUTABLE_IO", "MUTABLE_PTR", "MUTABLE_SV" , "newRV", "newRV_inc" , "newRV_noinc" , "newSV" , "newSVbool" , "newSV_false" , "newSVhek" , "newSVhek_mortal" , "newSViv" , "newSVnv" , "newSVpadname" , "newSVpv" , "newSVpvf" , "newSVpvf_nocontext" , "newSVpvn" , "newSVpvn_flags" , "newSVpvn_share" , "newSVpvn_utf8" , "newSVpvs" , "newSVpvs_flags" , "newSVpv_share" , "newSVpvs_share" , "newSVrv" , "newSVsv", "newSVsv_flags", "newSVsv_nomg" , "newSV_true" , "newSV_type" , "newSV_type_mortal" , "newSVuv" , "Nullsv" , "PL_sv_no" , "PL_sv_undef" , "PL_sv_yes" , "PL_sv_zero" , "SAVE_DEFSV" , "sortsv" , "sortsv_flags" , "SV", "SvAMAGIC" , "SvAMAGIC_off" , "SvAMAGIC_on" , "sv_backoff" , "sv_bless" , "SvBoolFlagsOK" , "sv_catpv", "sv_catpv_flags", "sv_catpv_mg", "sv_catpv_nomg" , "sv_catpvf", "sv_catpvf_mg", "sv_catpvf_mg_nocontext", "sv_catpvf_nocontext" , "sv_catpvn", "sv_catpvn_flags", "sv_catpvn_mg", "sv_catpvn_nomg" , "sv_catpvs" , "sv_catpvs_flags" , "sv_catpvs_mg" , "sv_catpvs_nomg" , "sv_catsv", "sv_catsv_flags", "sv_catsv_mg", "sv_catsv_nomg" , "SV_CHECK_THINKFIRST" , "SV_CHECK_THINKFIRST_COW_DROP" , "sv_chop" , "sv_clear" , "sv_cmp" , "sv_cmp_flags" , "sv_cmp_locale" , "sv_cmp_locale_flags" , "sv_collxfrm" , "sv_collxfrm_flags" , "sv_copypv", "sv_copypv_flags", "sv_copypv_nomg" , "SvCUR" , "SvCUR_set" , "sv_2cv" , "sv_dec", "sv_dec_nomg" , "sv_derived_from" , "sv_derived_from_hv" , "sv_derived_from_pv" , "sv_derived_from_pvn" , "sv_derived_from_sv" , "sv_does" , "sv_does_pv" , "sv_does_pvn" , "sv_does_sv" , "SvEND" , "sv_eq" , "sv_eq_flags" , "sv_force_normal" , "sv_force_normal_flags" , "sv_free" , "SvGAMAGIC" , "sv_get_backrefs" , "SvGETMAGIC" , "sv_gets" , "SvGROW" , "SvIandPOK" , "SvIandPOK_off" , "SvIandPOK_on" , "sv_inc", "sv_inc_nomg" , "sv_insert" , "sv_insert_flags" , "sv_2io" , "SvIOK" , "SvIOK_notUV" , "SvIOK_off" , "SvIOK_on" , "SvIOK_only" , "SvIOK_only_UV" , "SvIOKp" , "SvIOK_UV" , "sv_isa" , "sv_isa_sv" , "SvIsBOOL" , "SvIsCOW" , "SvIsCOW_shared_hash" , "sv_isobject" , "SvIV", "SvIV_nomg", "SvIVx" , "sv_2iv_flags" , "SvIV_set" , "SvIVX" , "SvLEN" , "sv_len" , "SvLEN_set" , "sv_len_utf8", "sv_len_utf8_nomg" , "SvLOCK" , "sv_magic" , "sv_magicext" , "SvMAGIC_set" , "sv_2mortal" , "sv_mortalcopy" , "sv_mortalcopy_flags" , "sv_newmortal" , "SvNIOK" , "SvNIOK_off" , "SvNIOKp" , "SvNOK" , "SvNOK_off" , "SvNOK_on" , "SvNOK_only" , "SvNOKp" , "sv_nolocking" , "sv_nounlocking" , "sv_numeq" , "sv_numeq_flags" , "SvNV", "SvNV_nomg", "SvNVx" , "sv_2nv_flags" , "SvNV_set" , "SvNVX" , "SvOK" , "SvOOK" , "SvOOK_off" , "SvOOK_offset" , "SvPOK" , "SvPOK_off" , "SvPOK_on" , "SvPOK_only" , "SvPOK_only_UTF8" , "SvPOKp" , "sv_pos_b2u" , "sv_pos_b2u_flags" , "sv_pos_u2b" , "sv_pos_u2b_flags" , "SvPV", "SvPV_const", "SvPV_flags", "SvPV_flags_const", "SvPV_flags_mutable", "SvPV_mutable", "SvPV_nolen", "SvPV_nolen_const", "SvPV_nomg", "SvPV_nomg_const", "SvPV_nomg_const_nolen", "SvPV_nomg_nolen", "SvPVbyte", "SvPVbyte_nolen", "SvPVbyte_nomg", "SvPVbyte_or_null", "SvPVbyte_or_null_nomg", "SvPVbytex", "SvPVbytex_nolen", "SvPVutf8", "SvPVutf8_nolen", "SvPVutf8_nomg", "SvPVutf8_or_null", "SvPVutf8_or_null_nomg", "SvPVutf8x", "SvPVx", "SvPVx_const", "SvPVx_nolen", "SvPVx_nolen_const" , "sv_2pv", "sv_2pv_flags" , "sv_2pvbyte", "sv_2pvbyte_flags" , "SvPVCLEAR" , "SvPVCLEAR_FRESH" , "SvPV_force", "SvPV_force_flags", "SvPV_force_flags_mutable", "SvPV_force_flags_nolen", "SvPV_force_mutable", "SvPV_force_nolen", "SvPV_force_nomg", "SvPV_force_nomg_nolen", "SvPVbyte_force", "SvPVbytex_force", "SvPVutf8_force", "SvPVutf8x_force", "SvPVx_force" , "SvPV_free" , "sv_pvn_force_flags" , "SvPV_renew" , "SvPV_set" , "SvPV_shrink_to_cur" , "sv_2pvutf8", "sv_2pvutf8_flags" , "SvPVX", "SvPVX_const", "SvPVX_mutable", "SvPVXx" , "SvPVXtrue" , "SvREADONLY" , "SvREADONLY_off" , "SvREADONLY_on" , "sv_ref" , "SvREFCNT" , "SvREFCNT_dec", "SvREFCNT_dec_set_NULL", "SvREFCNT_dec_ret_NULL", "SvREFCNT_dec_NN" , "SvREFCNT_inc", "SvREFCNT_inc_NN", "SvREFCNT_inc_simple", "SvREFCNT_inc_simple_NN", "SvREFCNT_inc_simple_void", "SvREFCNT_inc_simple_void_NN", "SvREFCNT_inc_void", "SvREFCNT_inc_void_NN" , "sv_reftype" , "sv_replace" , "sv_report_used" , "sv_reset" , "SvROK" , "SvROK_off" , "SvROK_on" , "SvRV" , "SvRV_set" , "sv_rvunweaken" , "sv_rvweaken" , "sv_setbool", "sv_setbool_mg" , "sv_set_bool" , "sv_set_false" , "sv_setiv", "sv_setiv_mg" , "SvSETMAGIC" , "SvSetMagicSV", "SvSetMagicSV_nosteal", "SvSetSV", "SvSetSV_nosteal" , "sv_setnv", "sv_setnv_mg" , "sv_setpv", "sv_setpv_mg", "sv_setpvn", "sv_setpvn_fresh", "sv_setpvn_mg", "sv_setpvs", "sv_setpvs_mg" , "sv_setpv_bufsize" , "sv_setpvf", "sv_setpvf_mg", "sv_setpvf_mg_nocontext", "sv_setpvf_nocontext" , "sv_setref_iv" , "sv_setref_nv" , "sv_setref_pv" , "sv_setref_pvn" , "sv_setref_pvs" , "sv_setref_uv" , "sv_setrv_inc", "sv_setrv_inc_mg" , "sv_setrv_noinc", "sv_setrv_noinc_mg" , "sv_setsv", "sv_setsv_flags", "sv_setsv_mg", "sv_setsv_nomg" , "sv_set_true" , "sv_set_undef" , "sv_setuv", "sv_setuv_mg" , "SvSHARE" , "SvSHARED_HASH" , "SvSTASH" , "SvSTASH_set" , "sv_streq" , "sv_streq_flags" , "SvTRUE", "SvTRUE_NN", "SvTRUE_nomg", "SvTRUE_nomg_NN", "SvTRUEx" , "SvTYPE" , "SvUNLOCK" , "sv_unmagic" , "sv_unmagicext" , "sv_unref" , "sv_unref_flags" , "SvUOK" , "SvUPGRADE" , "sv_upgrade" , "sv_usepvn", "sv_usepvn_flags", "sv_usepvn_mg" , "sv_utf8_decode" , "sv_utf8_downgrade", "sv_utf8_downgrade_flags", "sv_utf8_downgrade_nomg" , "sv_utf8_encode" , "SvUTF8_off" , "SvUTF8_on" , "sv_utf8_upgrade", "sv_utf8_upgrade_flags", "sv_utf8_upgrade_flags_grow", "sv_utf8_upgrade_nomg" , "SvUTF8" , "SvUV", "SvUV_nomg", "SvUVx" , "sv_2uv_flags" , "SvUV_set" , "SvUVX" , "SvUVXx" , "sv_vcatpvf", "sv_vcatpvf_mg" , "sv_vcatpvfn", "sv_vcatpvfn_flags" , "SvVOK" , "sv_vsetpvf", "sv_vsetpvf_mg" , "sv_vsetpvfn" , "SvVSTRING_mg" , "vnewSVpvf" Tainting "SvTAINT" , "SvTAINTED" , "SvTAINTED_off" , "SvTAINTED_on" Time "ASCTIME_R_PROTO" , "CTIME_R_PROTO" , "GMTIME_MAX" , "GMTIME_MIN" , "GMTIME_R_PROTO" , "HAS_ASCTIME_R" , "HAS_ASCTIME64" , "HAS_CTIME_R" , "HAS_CTIME64" , "HAS_DIFFTIME" , "HAS_DIFFTIME64" , "HAS_FUTIMES" , "HAS_GETITIMER" , "HAS_GETTIMEOFDAY" , "HAS_GMTIME_R" , "HAS_GMTIME64" , "HAS_LOCALTIME_R" , "HAS_LOCALTIME64" , "HAS_MKTIME" , "HAS_MKTIME64" , "HAS_NANOSLEEP" , "HAS_SETITIMER" , "HAS_STRFTIME" , "HAS_TIME" , "HAS_TIMEGM" , "HAS_TIMES" , "HAS_TM_TM_GMTOFF" , "HAS_TM_TM_ZONE" , "HAS_TZNAME" , "HAS_USLEEP" , "HAS_USLEEP_PROTO" , "I_TIME" , "I_UTIME" , "LOCALTIME_MAX" , "LOCALTIME_MIN" , "LOCALTIME_R_NEEDS_TZSET" , "LOCALTIME_R_PROTO" , "L_R_TZSET" , "mini_mktime" , "my_strftime" , "switch_to_global_locale" , POSIX::localeconv, I18N::Langinfo, items "CRNCYSTR" and "THOUSEP", "Perl_langinfo" in perlapi, items "CRNCYSTR" and "THOUSEP", "sync_locale" Typedef names "DB_Hash_t" , "DB_Prefix_t" , "Direntry_t" , "Fpos_t" , "Free_t" , "Gid_t" , "Gid_t_f" , "Gid_t_sign" , "Gid_t_size" , "Groups_t" , "Malloc_t" , "Mmap_t" , "Mode_t" , "Netdb_hlen_t" , "Netdb_host_t" , "Netdb_name_t" , "Netdb_net_t" , "Off_t" , "Off_t_size" , "Pid_t" , "Rand_seed_t" , "Select_fd_set_t" , "Shmat_t" , "Signal_t" , "Size_t" , "Size_t_size" , "Sock_size_t" , "SSize_t" , "Time_t" , "Uid_t" , "Uid_t_f" , "Uid_t_sign" , "Uid_t_size" Unicode Support X "BOM_UTF8" , "bytes_cmp_utf8" , "bytes_from_utf8" , "bytes_to_utf8" , "DO_UTF8" , "foldEQ_utf8" , "is_ascii_string" , "isC9_STRICT_UTF8_CHAR" , "is_c9strict_utf8_string" , "is_c9strict_utf8_string_loc" , "is_c9strict_utf8_string_loclen" , "is_invariant_string" , "isSTRICT_UTF8_CHAR" , "is_strict_utf8_string" , "is_strict_utf8_string_loc" , "is_strict_utf8_string_loclen" , "isUTF8_CHAR" , "is_utf8_char_buf" , "isUTF8_CHAR_flags" , "is_utf8_fixed_width_buf_flags" , "is_utf8_fixed_width_buf_loc_flags" , "is_utf8_fixed_width_buf_loclen_flags" , "is_utf8_invariant_string" , "is_utf8_invariant_string_loc" , "is_utf8_string" , "is_utf8_string_flags" , "is_utf8_string_loc" , "is_utf8_string_loc_flags" , "is_utf8_string_loclen" , "is_utf8_string_loclen_flags" , "is_utf8_valid_partial_char" , "is_utf8_valid_partial_char_flags" , "LATIN1_TO_NATIVE" , "NATIVE_TO_LATIN1" , "NATIVE_TO_UNI" , "pv_uni_display" , "REPLACEMENT_CHARACTER_UTF8" , "sv_cat_decode" , "sv_recode_to_utf8" , "sv_uni_display" , "UNICODE_IS_NONCHAR" , "UNICODE_IS_REPLACEMENT" , "UNICODE_IS_SUPER" , "UNICODE_IS_SURROGATE" , "UNICODE_REPLACEMENT" , "UNI_TO_NATIVE" , "UTF8_CHK_SKIP" , "utf8_distance" , "utf8_hop" , "utf8_hop_back" , "utf8_hop_forward" , "utf8_hop_safe" , "UTF8_IS_INVARIANT" , "UTF8_IS_NONCHAR" , "UTF8_IS_REPLACEMENT" , "UTF8_IS_SUPER" , "UTF8_IS_SURROGATE" , "utf8_length" , "UTF8_MAXBYTES" , "UTF8_MAXBYTES_CASE" , "utf8ness_t" , "UTF8NESS_YES", "UTF8NESS_NO", "UTF8NESS_IMMATERIAL", "UTF8NESS_UNKNOWN", "0 <= enum value <= UTF8NESS_IMMATERIAL", "UTF8NESS_IMMATERIAL <= ' write, '+' read/write, PerlIO_debug(fmt,...) perlhack - How to hack on Perl DESCRIPTION SUPER QUICK PATCH GUIDE Check out the source repository, Ensure you're following the latest advice, Create a branch for your change, Make your change, Test your change, Commit your change, Send your change to the Perl issue tracker, Thank you, Acknowledgement, Next time BUG REPORTING PERL 5 PORTERS perl-changes mailing list #p5p on IRC GETTING THE PERL SOURCE Read access via Git Read access via the web Write access via git PATCHING PERL Submitting patches Getting your patch accepted Why, What, How Patching a core module Updating perldelta What makes for a good patch? TESTING t/base, t/comp and t/opbasic, All other subdirectories of t/, Test files not found under t/ Special "make test" targets test_porting, minitest, test.valgrind check.valgrind, test_harness, test-notty test_notty Parallel tests Running tests by hand Using t/harness for testing -v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST, PERL_TEST_Net_Ping, PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS, PERL_TEST_MEMORY Performance testing Building perl at older commits MORE READING FOR GUTS HACKERS perlsource, perlinterp, perlhacktut, perlhacktips, perlguts, perlxstut and perlxs, perlapi, Porting/pumpkin.pod CPAN TESTERS AND PERL SMOKERS WHAT NEXT? "The Road goes ever on and on, down from the door where it began." Metaphoric Quotations AUTHOR perlsource - A guide to the Perl source tree DESCRIPTION FINDING YOUR WAY AROUND C code Core modules lib/, ext/, dist/, cpan/ Tests Module tests, t/base/, t/cmd/, t/comp/, t/io/, t/mro/, t/op/, t/opbasic/, t/re/, t/run/, t/uni/, t/win32/, t/porting/, t/lib/ Documentation Hacking tools and documentation check*, Maintainers, Maintainers.pl, and Maintainers.pm, podtidy Build system AUTHORS MANIFEST perlinterp - An overview of the Perl interpreter DESCRIPTION ELEMENTS OF THE INTERPRETER Startup Parsing Optimization Running Exception handing level 2: perl-level exit() and internals my_exit(), level 3: perl-level die() and internals croak(), level 1: unused, level 0: normal return INTERNAL VARIABLE TYPES OP TREES STACKS Argument stack Mark stack Save stack MILLIONS OF MACROS FURTHER READING perlhacktut - Walk through the creation of a simple C code patch DESCRIPTION EXAMPLE OF A SIMPLE PATCH Writing the patch Testing the patch Documenting the patch Submit AUTHOR perlhacktips - Tips for Perl core C code hacking DESCRIPTION COMMON PROBLEMS Perl environment problems C99 AIX, HP/UX, Solaris Symbol Names and Namespace Pollution Don't begin a symbol name with an underscore; (e.g., don't use: "_FOOBAR"), Don't use two consecutive underscores in a symbol name; (e.g., don't use "FOO__BAR") Writing safer macros Portability problems Problematic System Interfaces Security problems DEBUGGING Poking at Perl Using a source-level debugger run [args], break function_name, break source.c:xxx, step, next, continue, finish, 'enter', ptype, print gdb macro support Dumping Perl Data Structures Using gdb to look at specific parts of a program Using gdb to look at what the parser/lexer are doing SOURCE CODE STATIC ANALYSIS lint Coverity HP-UX cadvise (Code Advisor) cpd (cut-and-paste detector) gcc warnings Warnings of other C compilers MEMORY DEBUGGERS valgrind AddressSanitizer -Dcc=clang, -Accflags=-fsanitize=address, -Aldflags=-fsanitize=address, -Alddlflags=-shared\ -fsanitize=address, -fsanitize-blacklist=`pwd`/asan_ignore PROFILING Gprof Profiling -a, -b, -e routine, -f routine, -s, -z GCC gcov Profiling callgrind profiling --threshold, --auto MISCELLANEOUS TRICKS PERL_DESTRUCT_LEVEL PERL_MEM_LOG DDD over gdb C backtrace Linux, OS X, get_c_backtrace, free_c_backtrace, get_c_backtrace_dump, dump_c_backtrace Poison Read-only optrees When is a bool not a bool? Finding unsafe truncations The .i Targets AUTHOR perlpolicy - Various and sundry policies and commitments related to the Perl core DESCRIPTION GOVERNANCE Perl 5 Porters MAINTENANCE AND SUPPORT BACKWARD COMPATIBILITY AND DEPRECATION Terminology experimental, deprecated, discouraged, removed MAINTENANCE BRANCHES Getting changes into a maint branch CONTRIBUTED MODULES A Social Contract about Artistic Control DOCUMENTATION STANDARDS OF CONDUCT CREDITS perlgov - Perl Rules of Governance PREAMBLE Mandate Definitions "Core Team", "Steering Council", "Vote Administrator" The Core Team The Steering Council The Vote Administrator Steering Council and Core Team Members Steering Council Members Paul Evans, Philippe Bruhat, Ricardo Signes Core Team Members Active Members Chad Granum , Chris 'BinGOs' Williams , Craig Berry , Dagfinn Ilmari Mannsaker , David Mitchell , Graham Knop , H. Merijn Brand , Hugo van der Sanden , James E Keenan , Karen Etheridge , Karl Williamson , Leon Timmermans , Matthew Horsfall , Max Maischein , Neil Bowers , Nicholas Clark , Nicolas R , Paul "LeoNerd" Evans , Philippe "BooK" Bruhat , Ricardo Signes , Steve Hay , Stuart Mackintosh , Todd Rinaldo , Tony Cook , Yves Orton Inactive Members Abhijit Menon-Sen , Andy Dougherty , David Golden , Jan Dubois , Jason McIntosh , Jesse Vincent perlgit - Detailed information about git and the Perl repository DESCRIPTION CLONING THE REPOSITORY WORKING WITH THE REPOSITORY Finding out your status Patch workflow A note on derived files Cleaning a working directory Bisecting Topic branches and rewriting history Grafts WRITE ACCESS TO THE GIT REPOSITORY Working with Github pull requests Accepting a patch Committing to blead On merging and rebasing Committing to maintenance versions Using a smoke-me branch to test changes perlhist - the Perl history records DESCRIPTION INTRODUCTION THE KEEPERS OF THE PUMPKIN PUMPKIN? THE RECORDS SELECTED RELEASE SIZES SELECTED PATCH SIZES THE KEEPERS OF THE RECORDS perldelta - what is new for perl v5.38.2 DESCRIPTION Security CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property CVE-2023-47039 - Perl for Windows binary hijacking vulnerability Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5382delta, perldelta - what is new for perl v5.38.2 DESCRIPTION Security CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property CVE-2023-47039 - Perl for Windows binary hijacking vulnerability Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5381delta - what is new for perl v5.38.1 DESCRIPTION Security CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property CVE-2023-47039 - Perl for Windows binary hijacking vulnerability Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5380delta - what is new for perl v5.38.0 DESCRIPTION Core Enhancements New "class" Feature Unicode 15.0 is supported Deprecation warnings now have specific subcategories %{^HOOK} API introduced PERL_RAND_SEED Defined-or and logical-or assignment default expressions in signatures @INC Hook Enhancements and $INC and INCDIR Forbidden control flow out of "defer" or "finally" now detected at compile-time Optimistic Eval in Patterns REG_INF has been raised from 65,536 to 2,147,483,647 New API functions optimize_optree and finalize_optree Some "goto"s are now permitted in "defer" and "finally" blocks New regexp variable ${^LAST_SUCCESSFUL_PATTERN} Locale category LC_NAME now supported on participating platforms Incompatible Changes readline() no longer clears the stream error and eof flags "INIT" blocks no longer run after an exit() in "BEGIN" Syntax errors no longer produce "phantom error messages" utf8::upgrade() Changes to "thread-safe" locales Deprecations Use of "'" as a package name separator is deprecated Switch and Smart Match operator Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Configuration and Compilation Testing Platform Support Discontinued Platforms Ultrix Platform-Specific Notes DragonflyBSD, FreeBSD, Solaris, Synology, Windows Internal Changes "newSVbool(const bool bool_val)", newSV_true(), newSV_false(), "sv_set_true(SV *sv)", "sv_set_false(SV *sv)", "sv_set_bool(SV *sv, const bool bool_val)", SvIandPOK(sv), SvIandPOK_off(sv), "SvIandPOK_on", I32df -- Like %d, U32of -- Like %o, U32uf -- Like %u, U32xf -- Like %x, U32Xf -- Like %X Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5363delta - what is new for perl v5.36.3 DESCRIPTION Security CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property CVE-2023-47039 - Perl for Windows binary hijacking vulnerability Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5362delta - what is new for perl v5.36.2 DESCRIPTION Security CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property CVE-2023-47039 - Perl for Windows binary hijacking vulnerability Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5361delta - what is new for perl v5.36.1 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Configuration and Compilation Testing Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5360delta - what is new for perl v5.36.0 DESCRIPTION Core Enhancements "use v5.36" -g command-line flag Unicode 14.0 is supported regex sets are no longer considered experimental Variable length lookbehind is mostly no longer considered experimental SIGFPE no longer deferred Stable boolean tracking iterating over multiple values at a time (experimental) builtin functions (experimental) builtin::trim, builtin::indexed, builtin::true, builtin::false, builtin::is_bool, builtin::weaken, builtin::unweaken, builtin::is_weak, builtin::blessed, builtin::refaddr, builtin::reftype, builtin::ceil, builtin::floor "defer" blocks (experimental) try/catch can now have a "finally" block (experimental) non-ASCII delimiters for quote-like operators (experimental) @_ is now experimental within signatured subs Incompatible Changes A physically empty sort is now a compile-time error Deprecations "use VERSION" (where VERSION is below v5.11) after "use v5.11" is deprecated Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Configuration and Compilation Testing Platform Support Windows VMS "keys %ENV" on VMS returns consistent results Discontinued Platforms AT&T UWIN, DOS/DJGPP, NetWare Platform-Specific Notes z/OS Internal Changes Selected Bug Fixes Errata From Previous Releases Obituaries Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5343delta - what is new for perl v5.34.3 DESCRIPTION Security CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property CVE-2023-47039 - Perl for Windows binary hijacking vulnerability Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5342delta - what is new for perl v5.34.2 DESCRIPTION Security CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property CVE-2023-47039 - Perl for Windows binary hijacking vulnerability Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5341delta - what is new for perl v5.34.1 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Testing Platform-Specific Notes Windows Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5340delta - what is new for perl v5.34.0 DESCRIPTION Core Enhancements Experimental Try/Catch Syntax "qr/{,n}/" is now accepted Blanks freely allowed within but adjacent to curly braces New octal syntax "0oddddd" Performance Enhancements Modules and Pragmata New Modules and Pragmata Updated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes perl5db.pl (the debugger) New option: "HistItemMinLength", Fix to "i" and "l" commands Configuration and Compilation stadtx hash support has been removed, Configure, "-Dusedefaultstrict" Testing Platform Support New Platforms 9front Updated Platforms Plan9, MacOS (Darwin) Discontinued Platforms Symbian Platform-Specific Notes DragonFlyBSD, Mac OS X, Windows, z/OS Internal Changes Selected Bug Fixes pack/unpack format 'D' now works on all systems that could support it Known Problems Errata From Previous Releases Obituary Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5321delta - what is new for perl v5.32.1 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics Changes to Existing Diagnostics Configuration and Compilation Testing Platform Support Platform-Specific Notes MacOS (Darwin), Minix Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5320delta - what is new for perl v5.32.0 DESCRIPTION Core Enhancements The isa Operator Unicode 13.0 is supported Chained comparisons capability New Unicode properties "Identifier_Status" and "Identifier_Type" supported It is now possible to write "qr/\p{Name=...}/", or "qr!\p{na=/(SMILING|GRINNING) FACE/}!" Improvement of POSIX::mblen(), "mbtowc", and "wctomb" Alpha assertions are no longer experimental Script runs are no longer experimental Feature checks are now faster Perl is now developed on GitHub Compiled patterns can now be dumped before optimization Security [CVE-2020-10543] Buffer overflow caused by a crafted regular expression [CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression [CVE-2020-12723] Buffer overflow caused by a crafted regular expression Additional Note Incompatible Changes Certain pattern matching features are now prohibited in compiling Unicode property value wildcard subpatterns Unused functions "POSIX::mbstowcs" and "POSIX::wcstombs" are removed A bug fix for "(?[...])" may have caused some patterns to no longer compile "\p{user-defined}" properties now always override official Unicode ones Modifiable variables are no longer permitted in constants Use of "vec" on strings with code points above 0xFF is forbidden Use of code points over 0xFF in string bitwise operators Sys::Hostname::hostname() does not accept arguments Plain "0" string now treated as a number for range operator "\K" now disallowed in look-ahead and look-behind assertions Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation Changes to Existing Documentation "caller", "__FILE__", "__LINE__", "return", "open" Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes perlbug The bug tracker homepage URL now points to GitHub streamzip Configuration and Compilation Configure Testing Platform Support Discontinued Platforms Windows CE Platform-Specific Notes Linux, NetBSD 8.0, Windows, Solaris, VMS, z/OS Internal Changes Selected Bug Fixes Obituary Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5303delta - what is new for perl v5.30.3 DESCRIPTION Security [CVE-2020-10543] Buffer overflow caused by a crafted regular expression [CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression [CVE-2020-12723] Buffer overflow caused by a crafted regular expression Additional Note Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Testing Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5302delta - what is new for perl v5.30.2 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Configuration and Compilation Testing Platform Support Platform-Specific Notes Windows Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5301delta - what is new for perl v5.30.1 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Configuration and Compilation Testing Platform Support Platform-Specific Notes Win32 Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5300delta - what is new for perl v5.30.0 DESCRIPTION Notice Core Enhancements Limited variable length lookbehind in regular expression pattern matching is now experimentally supported The upper limit "n" specifiable in a regular expression quantifier of the form "{m,n}" has been doubled to 65534 Unicode 12.1 is supported Wildcards in Unicode property value specifications are now partially supported qr'\N{name}' is now supported Turkic UTF-8 locales are now seamlessly supported It is now possible to compile perl to always use thread-safe locale operations. Eliminate opASSIGN macro usage from core "-Drv" now means something on "-DDEBUGGING" builds Incompatible Changes Assigning non-zero to $[ is fatal Delimiters must now be graphemes Some formerly deprecated uses of an unescaped left brace "{" in regular expression patterns are now illegal Previously deprecated sysread()/syswrite() on :utf8 handles is now fatal my() in false conditional prohibited Fatalize $* and $# Fatalize unqualified use of dump() Remove File::Glob::glob() pack() no longer can return malformed UTF-8 Any set of digits in the Common script are legal in a script run of another script JSON::PP enables allow_nonref by default Deprecations In XS code, use of various macros dealing with UTF-8. Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation Changes to Existing Documentation Diagnostics Changes to Existing Diagnostics Utility Changes xsubpp Configuration and Compilation Testing Platform Support Platform-Specific Notes HP-UX 11.11, Mac OS X, Minix3, Cygwin, Win32 Mingw, Windows Internal Changes Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5283delta - what is new for perl v5.28.3 DESCRIPTION Security [CVE-2020-10543] Buffer overflow caused by a crafted regular expression [CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression [CVE-2020-12723] Buffer overflow caused by a crafted regular expression Additional Note Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Testing Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5282delta - what is new for perl v5.28.2 DESCRIPTION Incompatible Changes Any set of digits in the Common script are legal in a script run of another script Modules and Pragmata Updated Modules and Pragmata Platform Support Platform-Specific Notes Windows, Mac OS X Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5281delta - what is new for perl v5.28.1 DESCRIPTION Security [CVE-2018-18311] Integer overflow leading to buffer overflow and segmentation fault [CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c) Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5280delta - what is new for perl v5.28.0 DESCRIPTION Core Enhancements Unicode 10.0 is supported "delete" on key/value hash slices Experimentally, there are now alphabetic synonyms for some regular expression assertions Mixed Unicode scripts are now detectable In-place editing with "perl -i" is now safer Initialisation of aggregate state variables Full-size inode numbers The "sprintf" %j format size modifier is now available with pre-C99 compilers Close-on-exec flag set atomically String- and number-specific bitwise ops are no longer experimental Locales are now thread-safe on systems that support them New read-only predefined variable "${^SAFE_LOCALES}" Security [CVE-2017-12837] Heap buffer overflow in regular expression compiler [CVE-2017-12883] Buffer over-read in regular expression parser [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows Default Hash Function Change Incompatible Changes Subroutine attribute and signature order Comma-less variable lists in formats are no longer allowed The ":locked" and ":unique" attributes have been removed "\N{}" with nothing between the braces is now illegal Opening the same symbol as both a file and directory handle is no longer allowed Use of bare "<<" to mean "<<""" is no longer allowed Setting $/ to a reference to a non-positive integer no longer allowed Unicode code points with values exceeding "IV_MAX" are now fatal The "B::OP::terse" method has been removed Use of inherited AUTOLOAD for non-methods is no longer allowed Use of strings with code points over 0xFF is not allowed for bitwise string operators Setting "${^ENCODING}" to a defined value is now illegal Backslash no longer escapes colon in PATH for the "-S" switch the -DH (DEBUG_H) misfeature has been removed Yada-yada is now strictly a statement Sort algorithm can no longer be specified Over-radix digits in floating point literals Return type of unpackstring() Deprecations Use of "vec" on strings with code points above 0xFF is deprecated Some uses of unescaped "{" in regexes are no longer fatal Use of unescaped "{" immediately after a "(" in regular expression patterns is deprecated Assignment to $[ will be fatal in Perl 5.30 hostname() won't accept arguments in Perl 5.32 Module removals B::Debug, Locale::Codes and its associated Country, Currency and Language modules Performance Enhancements Modules and Pragmata Removal of use vars Use of DynaLoader changed to XSLoader in many modules Updated Modules and Pragmata Removed Modules and Pragmata Documentation Changes to Existing Documentation "Variable length lookbehind not implemented in regex m/%s/" in perldiag, "Use of state $_ is experimental" in perldiag Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes perlbug Configuration and Compilation C89 requirement, New probes, HAS_BUILTIN_ADD_OVERFLOW, HAS_BUILTIN_MUL_OVERFLOW, HAS_BUILTIN_SUB_OVERFLOW, HAS_THREAD_SAFE_NL_LANGINFO_L, HAS_LOCALECONV_L, HAS_MBRLEN, HAS_MBRTOWC, HAS_MEMRCHR, HAS_NANOSLEEP, HAS_STRNLEN, HAS_STRTOLD_L, I_WCHAR Testing Packaging Platform Support Discontinued Platforms PowerUX / Power MAX OS Platform-Specific Notes CentOS, Cygwin, Darwin, FreeBSD, VMS, Windows Internal Changes Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5263delta - what is new for perl v5.26.3 DESCRIPTION Security [CVE-2018-12015] Directory traversal in module Archive::Tar [CVE-2018-18311] Integer overflow leading to buffer overflow and segmentation fault [CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c) [CVE-2018-18313] Heap-buffer-overflow read in S_grok_bslash_N (regcomp.c) [CVE-2018-18314] Heap-buffer-overflow write in S_regatom (regcomp.c) Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Diagnostics New Diagnostics Changes to Existing Diagnostics Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5262delta - what is new for perl v5.26.2 DESCRIPTION Security [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c) [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c) [CVE-2018-6913] heap-buffer-overflow in S_pack_rec Assertion failure in Perl__core_swash_init (utf8.c) Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Platform Support Platform-Specific Notes Windows Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5261delta - what is new for perl v5.26.1 DESCRIPTION Security [CVE-2017-12837] Heap buffer overflow in regular expression compiler [CVE-2017-12883] Buffer over-read in regular expression parser [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Platform Support Platform-Specific Notes FreeBSD, Windows Selected Bug Fixes Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5260delta - what is new for perl v5.26.0 DESCRIPTION Notice "." no longer in @INC, "do" may now warn, In regular expression patterns, a literal left brace "{" should be escaped Core Enhancements Lexical subroutines are no longer experimental Indented Here-documents New regular expression modifier "/xx" "@{^CAPTURE}", "%{^CAPTURE}", and "%{^CAPTURE_ALL}" Declaring a reference to a variable Unicode 9.0 is now supported Use of "\p{script}" uses the improved Script_Extensions property Perl can now do default collation in UTF-8 locales on platforms that support it Better locale collation of strings containing embedded "NUL" characters "CORE" subroutines for hash and array functions callable via reference New Hash Function For 64-bit Builds Security Removal of the current directory (".") from @INC Configure -Udefault_inc_excludes_dot, "PERL_USE_UNSAFE_INC", A new deprecation warning issued by "do", Script authors, Installing and using CPAN modules, Module Authors Escaped colons and relative paths in PATH New "-Di" switch is now required for PerlIO debugging output Incompatible Changes Unescaped literal "{" characters in regular expression patterns are no longer permissible scalar(%hash) return signature changed "keys" returned from an lvalue subroutine The "${^ENCODING}" facility has been removed POSIX::tmpnam() has been removed require ::Foo::Bar is now illegal. Literal control character variable names are no longer permissible "NBSP" is no longer permissible in "\N{...}" Deprecations String delimiters that aren't stand-alone graphemes are now deprecated "\cX" that maps to a printable is no longer deprecated Performance Enhancements New Faster Hash Function on 64 bit builds, readline is faster Modules and Pragmata Updated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes c2ph and pstruct Porting/pod_lib.pl Porting/sync-with-cpan perf/benchmarks Porting/checkAUTHORS.pl t/porting/regen.t utils/h2xs.PL perlbug Configuration and Compilation Testing Platform Support New Platforms NetBSD/VAX Platform-Specific Notes Darwin, EBCDIC, HP-UX, Hurd, VAX, VMS, Windows, Linux, OpenBSD 6, FreeBSD, DragonFly BSD Internal Changes Selected Bug Fixes Known Problems Errata From Previous Releases Obituary Acknowledgements Reporting Bugs Give Thanks SEE ALSO perl5244delta - what is new for perl v5.24.4 DESCRIPTION Security [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c) [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c) [CVE-2018-6913] heap-buffer-overflow in S_pack_rec Assertion failure in Perl__core_swash_init (utf8.c) Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5243delta - what is new for perl v5.24.3 DESCRIPTION Security [CVE-2017-12837] Heap buffer overflow in regular expression compiler [CVE-2017-12883] Buffer over-read in regular expression parser [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Configuration and Compilation Platform Support Platform-Specific Notes VMS, Windows Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5242delta - what is new for perl v5.24.2 DESCRIPTION Security Improved handling of '.' in @INC in base.pm "Escaped" colons and relative paths in PATH Modules and Pragmata Updated Modules and Pragmata Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5241delta - what is new for perl v5.24.1 DESCRIPTION Security -Di switch is now required for PerlIO debugging output Core modules and tools no longer search "." for optional modules Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Testing Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5240delta - what is new for perl v5.24.0 DESCRIPTION Core Enhancements Postfix dereferencing is no longer experimental Unicode 8.0 is now supported perl will now croak when closing an in-place output file fails New "\b{lb}" boundary in regular expressions "qr/(?[ ])/" now works in UTF-8 locales Integer shift ("<<" and ">>") now more explicitly defined printf and sprintf now allow reordered precision arguments More fields provided to "sigaction" callback with "SA_SIGINFO" Hashbang redirection to Perl 6 Security Set proper umask before calling mkstemp(3) Fix out of boundary access in Win32 path handling Fix loss of taint in canonpath Avoid accessing uninitialized memory in win32 crypt() Remove duplicate environment variables from "environ" Incompatible Changes The "autoderef" feature has been removed Lexical $_ has been removed "qr/\b{wb}/" is now tailored to Perl expectations Regular expression compilation errors "qr/\N{}/" now disallowed under "use re "strict"" Nested declarations are now disallowed The "/\C/" character class has been removed. chdir('') no longer chdirs home ASCII characters in variable names must now be all visible An off by one issue in $Carp::MaxArgNums has been fixed Only blanks and tabs are now allowed within "[...]" within "(?[...])". Deprecations Using code points above the platform's "IV_MAX" is now deprecated Doing bitwise operations on strings containing code points above 0xFF is deprecated sysread(), syswrite(), recv() and send() are deprecated on :utf8 handles Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Configuration and Compilation Testing Platform Support Platform-Specific Notes AmigaOS, Cygwin, EBCDIC, UTF-EBCDIC extended, EBCDIC cmp() and sort() fixed for UTF-EBCDIC strings, EBCDIC "tr///" and "y///" fixed for "\N{}", and "use utf8" ranges, FreeBSD, IRIX, MacOS X, Solaris, Tru64, VMS, Win32, ppc64el, floating point Internal Changes Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5224delta - what is new for perl v5.22.4 DESCRIPTION Security Improved handling of '.' in @INC in base.pm "Escaped" colons and relative paths in PATH Modules and Pragmata Updated Modules and Pragmata Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5223delta - what is new for perl v5.22.3 DESCRIPTION Security -Di switch is now required for PerlIO debugging output Core modules and tools no longer search "." for optional modules Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Testing Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5222delta - what is new for perl v5.22.2 DESCRIPTION Security Fix out of boundary access in Win32 path handling Fix loss of taint in canonpath() Set proper umask before calling mkstemp(3) Avoid accessing uninitialized memory in Win32 crypt() Remove duplicate environment variables from "environ" Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Configuration and Compilation Platform Support Platform-Specific Notes Darwin, OS X/Darwin, ppc64el, Tru64 Internal Changes Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5221delta - what is new for perl v5.22.1 DESCRIPTION Incompatible Changes Bounds Checking Constructs Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Diagnostics Changes to Existing Diagnostics Configuration and Compilation Platform Support Platform-Specific Notes IRIX Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5220delta - what is new for perl v5.22.0 DESCRIPTION Core Enhancements New bitwise operators New double-diamond operator New "\b" boundaries in regular expressions Non-Capturing Regular Expression Flag "use re 'strict'" Unicode 7.0 (with correction) is now supported "use locale" can restrict which locale categories are affected Perl now supports POSIX 2008 locale currency additions Better heuristics on older platforms for determining locale UTF-8ness Aliasing via reference "prototype" with no arguments New ":const" subroutine attribute "fileno" now works on directory handles List form of pipe open implemented for Win32 Assignment to list repetition Infinity and NaN (not-a-number) handling improved Floating point parsing has been improved Packing infinity or not-a-number into a character is now fatal Experimental C Backtrace API Security Perl is now compiled with "-fstack-protector-strong" if available The Safe module could allow outside packages to be replaced Perl is now always compiled with "-D_FORTIFY_SOURCE=2" if available Incompatible Changes Subroutine signatures moved before attributes "&" and "\&" prototypes accepts only subs "use encoding" is now lexical List slices returning empty lists "\N{}" with a sequence of multiple spaces is now a fatal error "use UNIVERSAL '...'" is now a fatal error In double-quotish "\cX", X must now be a printable ASCII character Splitting the tokens "(?" and "(*" in regular expressions is now a fatal compilation error. "qr/foo/x" now ignores all Unicode pattern white space Comment lines within "(?[ ])" are now ended only by a "\n" "(?[...])" operators now follow standard Perl precedence Omitting "%" and "@" on hash and array names is no longer permitted "$!" text is now in English outside the scope of "use locale" "$!" text will be returned in UTF-8 when appropriate Support for "?PATTERN?" without explicit operator has been removed defined(@array) and defined(%hash) are now fatal errors Using a hash or an array as a reference are now fatal errors Changes to the "*" prototype Deprecations Setting "${^ENCODING}" to anything but "undef" Use of non-graphic characters in single-character variable names Inlining of "sub () { $var }" with observable side-effects Use of multiple "/x" regexp modifiers Using a NO-BREAK space in a character alias for "\N{...}" is now deprecated A literal "{" should now be escaped in a pattern Making all warnings fatal is discouraged Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Diagnostic Removals Utility Changes find2perl, s2p and a2p removal h2ph encguess Configuration and Compilation Testing Platform Support Regained Platforms IRIX and Tru64 platforms are working again, z/OS running EBCDIC Code Page 1047 Discontinued Platforms NeXTSTEP/OPENSTEP Platform-Specific Notes EBCDIC, HP-UX, Android, VMS, Win32, OpenBSD, Solaris Internal Changes Selected Bug Fixes Known Problems Obituary Acknowledgements Reporting Bugs SEE ALSO perl5203delta - what is new for perl v5.20.3 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Utility Changes h2ph Testing Platform Support Platform-Specific Notes Win32 Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5202delta - what is new for perl v5.20.2 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics Changes to Existing Diagnostics Testing Platform Support Regained Platforms Selected Bug Fixes Known Problems Errata From Previous Releases Acknowledgements Reporting Bugs SEE ALSO perl5201delta - what is new for perl v5.20.1 DESCRIPTION Incompatible Changes Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Diagnostics Changes to Existing Diagnostics Configuration and Compilation Platform Support Platform-Specific Notes Android, OpenBSD, Solaris, VMS, Windows Internal Changes Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5200delta - what is new for perl v5.20.0 DESCRIPTION Core Enhancements Experimental Subroutine signatures "sub"s now take a "prototype" attribute More consistent prototype parsing "rand" now uses a consistent random number generator New slice syntax Experimental Postfix Dereferencing Unicode 6.3 now supported New "\p{Unicode}" regular expression pattern property Better 64-bit support "use locale" now works on UTF-8 locales "use locale" now compiles on systems without locale ability More locale initialization fallback options "-DL" runtime option now added for tracing locale setting -F now implies -a and -a implies -n $a and $b warnings exemption Security Avoid possible read of free()d memory during parsing Incompatible Changes "do" can no longer be used to call subroutines Quote-like escape changes Tainting happens under more circumstances; now conforms to documentation "\p{}", "\P{}" matching has changed for non-Unicode code points. "\p{All}" has been expanded to match all possible code points Data::Dumper's output may change Locale decimal point character no longer leaks outside of "use locale" scope Assignments of Windows sockets error codes to $! now prefer errno.h values over WSAGetLastError() values Functions "PerlIO_vsprintf" and "PerlIO_sprintf" have been removed Deprecations The "/\C/" character class Literal control characters in variable names References to non-integers and non-positive integers in $/ Character matching routines in POSIX Interpreter-based threads are now discouraged Module removals CGI and its associated CGI:: packages, inc::latest, Package::Constants, Module::Build and its associated Module::Build:: packages Utility removals find2perl, s2p, a2p Performance Enhancements Modules and Pragmata New Modules and Pragmata Updated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes Configuration and Compilation Testing Platform Support New Platforms Android, Bitrig, FreeMiNT, Synology Discontinued Platforms "sfio", AT&T 3b1, DG/UX, EBCDIC Platform-Specific Notes Cygwin, GNU/Hurd, Linux, Mac OS, MidnightBSD, Mixed-endian platforms, VMS, Win32, WinCE Internal Changes Selected Bug Fixes Regular Expressions Perl 5 Debugger and -d Lexical Subroutines Everything Else Known Problems Obituary Acknowledgements Reporting Bugs SEE ALSO perl5184delta - what is new for perl v5.18.4 DESCRIPTION Modules and Pragmata Updated Modules and Pragmata Platform Support Platform-Specific Notes Win32 Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5182delta - what is new for perl v5.18.2 DESCRIPTION Modules and Pragmata Updated Modules and Pragmata Documentation Changes to Existing Documentation Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5181delta - what is new for perl v5.18.1 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Platform Support Platform-Specific Notes AIX, MidnightBSD Selected Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5180delta - what is new for perl v5.18.0 DESCRIPTION Core Enhancements New mechanism for experimental features Hash overhaul Upgrade to Unicode 6.2 Character name aliases may now include non-Latin1-range characters New DTrace probes "${^LAST_FH}" Regular Expression Set Operations Lexical subroutines Computed Labels More CORE:: subs "kill" with negative signal names Security See also: hash overhaul "Storable" security warning in documentation "Locale::Maketext" allowed code injection via a malicious template Avoid calling memset with a negative count Incompatible Changes See also: hash overhaul An unknown character name in "\N{...}" is now a syntax error Formerly deprecated characters in "\N{}" character name aliases are now errors. "\N{BELL}" now refers to U+1F514 instead of U+0007 New Restrictions in Multi-Character Case-Insensitive Matching in Regular Expression Bracketed Character Classes Explicit rules for variable names and identifiers Vertical tabs are now whitespace "/(?{})/" and "/(??{})/" have been heavily reworked Stricter parsing of substitution replacement "given" now aliases the global $_ The smartmatch family of features are now experimental Lexical $_ is now experimental readline() with "$/ = \N" now reads N characters, not N bytes Overridden "glob" is now passed one argument Here doc parsing Alphanumeric operators must now be separated from the closing delimiter of regular expressions qw(...) can no longer be used as parentheses Interaction of lexical and default warnings "state sub" and "our sub" Defined values stored in environment are forced to byte strings "require" dies for unreadable files "gv_fetchmeth_*" and SUPER "split"'s first argument is more consistently interpreted Deprecations Module removals encoding, Archive::Extract, B::Lint, B::Lint::Debug, CPANPLUS and all included "CPANPLUS::*" modules, Devel::InnerPackage, Log::Message, Log::Message::Config, Log::Message::Handlers, Log::Message::Item, Log::Message::Simple, Module::Pluggable, Module::Pluggable::Object, Object::Accessor, Pod::LaTeX, Term::UI, Term::UI::History Deprecated Utilities cpanp, "cpanp-run-perl", cpan2dist, pod2latex PL_sv_objcount Five additional characters should be escaped in patterns with "/x" User-defined charnames with surprising whitespace Various XS-callable functions are now deprecated Certain rare uses of backslashes within regexes are now deprecated Splitting the tokens "(?" and "(*" in regular expressions Pre-PerlIO IO implementations Future Deprecations DG/UX, NeXT Performance Enhancements Modules and Pragmata New Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation Changes to Existing Documentation New Diagnostics Changes to Existing Diagnostics Utility Changes Configuration and Compilation Testing Platform Support Discontinued Platforms BeOS, UTS Global, VM/ESA, MPE/IX, EPOC, Rhapsody Platform-Specific Notes Internal Changes Selected Bug Fixes Known Problems Obituary Acknowledgements Reporting Bugs SEE ALSO perl5163delta - what is new for perl v5.16.3 DESCRIPTION Core Enhancements Security CVE-2013-1667: memory exhaustion with arbitrary hash keys wrap-around with IO on long strings memory leak in Encode Incompatible Changes Deprecations Modules and Pragmata Updated Modules and Pragmata Known Problems Acknowledgements Reporting Bugs SEE ALSO perl5162delta - what is new for perl v5.16.2 DESCRIPTION Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Configuration and Compilation configuration should no longer be confused by ls colorization Platform Support Platform-Specific Notes AIX Selected Bug Fixes fix /\h/ equivalence with /[\h]/ Known Problems Acknowledgements Reporting Bugs SEE ALSO perl5161delta - what is new for perl v5.16.1 DESCRIPTION Security an off-by-two error in Scalar-List-Util has been fixed Incompatible Changes Modules and Pragmata Updated Modules and Pragmata Configuration and Compilation Platform Support Platform-Specific Notes VMS Selected Bug Fixes Known Problems Acknowledgements Reporting Bugs SEE ALSO perl5160delta - what is new for perl v5.16.0 DESCRIPTION Notice Core Enhancements "use VERSION" "__SUB__" New and Improved Built-ins Unicode Support XS Changes Changes to Special Variables Debugger Changes The "CORE" Namespace Other Changes Security Use is_utf8_char_buf() and not is_utf8_char() Malformed UTF-8 input could cause attempts to read beyond the end of the buffer File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728). Privileges are now set correctly when assigning to $( Deprecations Don't read the Unicode data base files in lib/unicore XS functions is_utf8_char(), utf8_to_uvchr() and utf8_to_uvuni() Future Deprecations Core Modules Platforms with no supporting programmers Other Future Deprecations Incompatible Changes Special blocks called in void context The "overloading" pragma and regexp objects Two XS typemap Entries removed Unicode 6.1 has incompatibilities with Unicode 6.0 Borland compiler Certain deprecated Unicode properties are no longer supported by default Dereferencing IO thingies as typeglobs User-defined case-changing operations XSUBs are now 'static' Weakening read-only references Tying scalars that hold typeglobs IPC::Open3 no longer provides xfork(), xclose_on_exec() and xpipe_anon() $$ no longer caches PID $$ and getppid() no longer emulate POSIX semantics under LinuxThreads $<, $>, $( and $) are no longer cached Which Non-ASCII characters get quoted by "quotemeta" and "\Q" has changed Performance Enhancements Modules and Pragmata Deprecated Modules Version::Requirements New Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Removed Documentation Diagnostics New Diagnostics Removed Errors Changes to Existing Diagnostics Utility Changes Configuration and Compilation Platform Support Platform-Specific Notes Internal Changes Selected Bug Fixes Array and hash C API fixes Compile-time hints Copy-on-write scalars The debugger Dereferencing operators Filehandle, last-accessed Filetests and "stat" Formats "given" and "when" The "glob" operator Lvalue subroutines Overloading Prototypes of built-in keywords Regular expressions Smartmatching The "sort" operator The "substr" operator Support for embedded nulls Threading bugs Tied variables Version objects and vstrings Warnings, redefinition Warnings, "Uninitialized" Weak references Other notable fixes Known Problems Acknowledgements Reporting Bugs SEE ALSO perl5144delta - what is new for perl v5.14.4 DESCRIPTION Core Enhancements Security CVE-2013-1667: memory exhaustion with arbitrary hash keys memory leak in Encode [perl #111594] Socket::unpack_sockaddr_un heap-buffer-overflow [perl #111586] SDBM_File: fix off-by-one access to global ".dir" off-by-two error in List::Util [perl #115994] fix segv in regcomp.c:S_join_exact() [perl #115992] PL_eval_start use-after-free wrap-around with IO on long strings Incompatible Changes Deprecations Modules and Pragmata New Modules and Pragmata Updated Modules and Pragmata Socket, SDBM_File, List::Util Removed Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics Utility Changes Configuration and Compilation Platform Support New Platforms Discontinued Platforms Platform-Specific Notes VMS Selected Bug Fixes Known Problems Acknowledgements Reporting Bugs SEE ALSO perl5143delta - what is new for perl v5.14.3 DESCRIPTION Core Enhancements Security "Digest" unsafe use of eval (CVE-2011-3597) Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195) Incompatible Changes Deprecations Modules and Pragmata New Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Configuration and Compilation Platform Support New Platforms Discontinued Platforms Platform-Specific Notes FreeBSD, Solaris and NetBSD, HP-UX, Linux, Mac OS X, GNU/Hurd, NetBSD Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5142delta - what is new for perl v5.14.2 DESCRIPTION Core Enhancements Security File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728). "Encode" decode_xs n-byte heap-overflow (CVE-2011-2939) Incompatible Changes Deprecations Modules and Pragmata New Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Platform Support New Platforms Discontinued Platforms Platform-Specific Notes HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode 4 works again Bug Fixes Known Problems Acknowledgements Reporting Bugs SEE ALSO perl5141delta - what is new for perl v5.14.1 DESCRIPTION Core Enhancements Security Incompatible Changes Deprecations Modules and Pragmata New Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes Configuration and Compilation Testing Platform Support New Platforms Discontinued Platforms Platform-Specific Notes Internal Changes Bug Fixes Acknowledgements Reporting Bugs SEE ALSO perl5140delta - what is new for perl v5.14.0 DESCRIPTION Notice Core Enhancements Unicode Regular Expressions Syntactical Enhancements Exception Handling Other Enhancements "-d:-foo", "-d:-foo=bar" New C APIs Security User-defined regular expression properties Incompatible Changes Regular Expressions and String Escapes Stashes and Package Variables Changes to Syntax or to Perl Operators Threads and Processes Configuration Deprecations Omitting a space between a regular expression and subsequent word "\cX" "\b{" and "\B{" Perl 4-era .pl libraries List assignment to $[ Use of qw(...) as parentheses "\N{BELL}" "?PATTERN?" Tie functions on scalars holding typeglobs User-defined case-mapping Deprecated modules Devel::DProf Performance Enhancements "Safe signals" optimisation Optimisation of shift() and pop() calls without arguments Optimisation of regexp engine string comparison work Regular expression compilation speed-up String appending is 100 times faster Eliminate "PL_*" accessor functions under ithreads Freeing weak references Lexical array and hash assignments @_ uses less memory Size optimisations to SV and HV structures Memory consumption improvements to Exporter Memory savings for weak references "%+" and "%-" use less memory Multiple small improvements to threads Adjacent pairs of nextstate opcodes are now optimized away Modules and Pragmata New Modules and Pragmata Updated Modules and Pragma much less configuration dialog hassle, support for META/MYMETA.json, support for local::lib, support for HTTP::Tiny to reduce the dependency on FTP sites, automatic mirror selection, iron out all known bugs in configure_requires, support for distributions compressed with bzip2(1), allow Foo/Bar.pm on the command line to mean "Foo::Bar", charinfo(), charscript(), charblock() Removed Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Diagnostics New Diagnostics Closure prototype called, Insecure user-defined property %s, panic: gp_free failed to free glob pointer - something is repeatedly re-creating entries, Parsing code internal error (%s), refcnt: fd %d%s, Regexp modifier "/%c" may not appear twice, Regexp modifiers "/%c" and "/%c" are mutually exclusive, Using !~ with %s doesn't make sense, "\b{" is deprecated; use "\b\{" instead, "\B{" is deprecated; use "\B\{" instead, Operation "%s" returns its argument for .., Use of qw(...) as parentheses is deprecated Changes to Existing Diagnostics Utility Changes Configuration and Compilation Platform Support New Platforms AIX Discontinued Platforms Apollo DomainOS, MacOS Classic Platform-Specific Notes Internal Changes New APIs C API Changes Deprecated C APIs "Perl_ptr_table_clear", "sv_compile_2op", "find_rundefsvoffset", "CALL_FPTR" and "CPERLscope" Other Internal Changes Selected Bug Fixes I/O Regular Expression Bug Fixes Syntax/Parsing Bugs Stashes, Globs and Method Lookup Aliasing packages by assigning to globs [perl #77358], Deleting packages by deleting their containing stash elements, Undefining the glob containing a package ("undef *Foo::"), Undefining an ISA glob ("undef *Foo::ISA"), Deleting an ISA stash element ("delete $Foo::{ISA}"), Sharing @ISA arrays between classes (via "*Foo::ISA = \@Bar::ISA" or "*Foo::ISA = *Bar::ISA") [perl #77238] Unicode Ties, Overloading and Other Magic The Debugger Threads Scoping and Subroutines Signals Miscellaneous Memory Leaks Memory Corruption and Crashes Fixes to Various Perl Operators Bugs Relating to the C API Known Problems Errata keys(), values(), and each() work on arrays split() and @_ Obituary Acknowledgements Reporting Bugs SEE ALSO perl5125delta - what is new for perl v5.12.5 DESCRIPTION Security "Encode" decode_xs n-byte heap-overflow (CVE-2011-2939) File::Glob::bsd_glob() memory error with GLOB_ALTDIRFUNC (CVE-2011-2728). Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195) Incompatible Changes Modules and Pragmata Updated Modules Changes to Existing Documentation perlebcdic perlunicode perluniprops Installation and Configuration Improvements Platform Specific Changes Mac OS X, NetBSD Selected Bug Fixes Errata split() and @_ Acknowledgements Reporting Bugs SEE ALSO perl5124delta - what is new for perl v5.12.4 DESCRIPTION Incompatible Changes Selected Bug Fixes Modules and Pragmata Testing Documentation Platform Specific Notes Linux Acknowledgements Reporting Bugs SEE ALSO perl5123delta - what is new for perl v5.12.3 DESCRIPTION Incompatible Changes Core Enhancements "keys", "values" work on arrays Bug Fixes Platform Specific Notes Solaris, VMS, VOS Acknowledgements Reporting Bugs SEE ALSO perl5122delta - what is new for perl v5.12.2 DESCRIPTION Incompatible Changes Core Enhancements Modules and Pragmata New Modules and Pragmata Pragmata Changes Updated Modules "Carp", "CPANPLUS", "File::Glob", "File::Copy", "File::Spec" Utility Changes Changes to Existing Documentation Installation and Configuration Improvements Configuration improvements Compilation improvements Selected Bug Fixes Platform Specific Notes AIX Windows VMS Acknowledgements Reporting Bugs SEE ALSO perl5121delta - what is new for perl v5.12.1 DESCRIPTION Incompatible Changes Core Enhancements Modules and Pragmata Pragmata Changes Updated Modules Changes to Existing Documentation Testing Testing Improvements Installation and Configuration Improvements Configuration improvements Bug Fixes Platform Specific Notes HP-UX AIX FreeBSD 7 VMS Known Problems Acknowledgements Reporting Bugs SEE ALSO perl5120delta - what is new for perl v5.12.0 DESCRIPTION Core Enhancements New "package NAME VERSION" syntax The "..." operator Implicit strictures Unicode improvements Y2038 compliance qr overloading Pluggable keywords APIs for more internals Overridable function lookup A proper interface for pluggable Method Resolution Orders "\N" experimental regex escape DTrace support Support for "configure_requires" in CPAN module metadata "each", "keys", "values" are now more flexible "when" as a statement modifier $, flexibility // in when clauses Enabling warnings from your shell environment "delete local" New support for Abstract namespace sockets 32-bit limit on substr arguments removed Potentially Incompatible Changes Deprecations warn by default Version number formats @INC reorganization REGEXPs are now first class Switch statement changes flip-flop operators, defined-or operator Smart match changes Other potentially incompatible changes Deprecations suidperl, Use of ":=" to mean an empty attribute list, "UNIVERSAL->import()", Use of "goto" to jump into a construct, Custom character names in \N{name} that don't look like names, Deprecated Modules, Class::ISA, Pod::Plainer, Shell, Switch, Assignment to $[, Use of the attribute :locked on subroutines, Use of "locked" with the attributes pragma, Use of "unique" with the attributes pragma, Perl_pmflag, Numerous Perl 4-era libraries Unicode overhaul Modules and Pragmata New Modules and Pragmata "autodie", "Compress::Raw::Bzip2", "overloading", "parent", "Parse::CPAN::Meta", "VMS::DCLsym", "VMS::Stdio", "XS::APItest::KeywordRPN" Updated Pragmata "base", "bignum", "charnames", "constant", "diagnostics", "feature", "less", "lib", "mro", "overload", "threads", "threads::shared", "version", "warnings" Updated Modules "Archive::Extract", "Archive::Tar", "Attribute::Handlers", "AutoLoader", "B::Concise", "B::Debug", "B::Deparse", "B::Lint", "CGI", "Class::ISA", "Compress::Raw::Zlib", "CPAN", "CPANPLUS", "CPANPLUS::Dist::Build", "Data::Dumper", "DB_File", "Devel::PPPort", "Digest", "Digest::MD5", "Digest::SHA", "Encode", "Exporter", "ExtUtils::CBuilder", "ExtUtils::Command", "ExtUtils::Constant", "ExtUtils::Install", "ExtUtils::MakeMaker", "ExtUtils::Manifest", "ExtUtils::ParseXS", "File::Fetch", "File::Path", "File::Temp", "Filter::Simple", "Filter::Util::Call", "Getopt::Long", "IO", "IO::Zlib", "IPC::Cmd", "IPC::SysV", "Locale::Maketext", "Locale::Maketext::Simple", "Log::Message", "Log::Message::Simple", "Math::BigInt", "Math::BigInt::FastCalc", "Math::BigRat", "Math::Complex", "Memoize", "MIME::Base64", "Module::Build", "Module::CoreList", "Module::Load", "Module::Load::Conditional", "Module::Loaded", "Module::Pluggable", "Net::Ping", "NEXT", "Object::Accessor", "Package::Constants", "PerlIO", "Pod::Parser", "Pod::Perldoc", "Pod::Plainer", "Pod::Simple", "Safe", "SelfLoader", "Storable", "Switch", "Sys::Syslog", "Term::ANSIColor", "Term::UI", "Test", "Test::Harness", "Test::Simple", "Text::Balanced", "Text::ParseWords", "Text::Soundex", "Thread::Queue", "Thread::Semaphore", "Tie::RefHash", "Time::HiRes", "Time::Local", "Time::Piece", "Unicode::Collate", "Unicode::Normalize", "Win32", "Win32API::File", "XSLoader" Removed Modules and Pragmata "attrs", "CPAN::API::HOWTO", "CPAN::DeferedCode", "CPANPLUS::inc", "DCLsym", "ExtUtils::MakeMaker::bytes", "ExtUtils::MakeMaker::vmsish", "Stdio", "Test::Harness::Assert", "Test::Harness::Iterator", "Test::Harness::Point", "Test::Harness::Results", "Test::Harness::Straps", "Test::Harness::Util", "XSSymSet" Deprecated Modules and Pragmata Documentation New Documentation Changes to Existing Documentation Selected Performance Enhancements Installation and Configuration Improvements Internal Changes Testing Testing improvements Parallel tests, Test harness flexibility, Test watchdog New Tests New or Changed Diagnostics New Diagnostics Changed Diagnostics "Illegal character in prototype for %s : %s", "Prototype after '%c' for %s : %s" Utility Changes Selected Bug Fixes Platform Specific Changes New Platforms Haiku, MirOS BSD Discontinued Platforms Domain/OS, MiNT, Tenon MachTen Updated Platforms AIX, Cygwin, Darwin (Mac OS X), DragonFly BSD, FreeBSD, Irix, NetBSD, OpenVMS, Stratus VOS, Symbian, Windows Known Problems Errata Acknowledgements Reporting Bugs SEE ALSO perl5101delta - what is new for perl v5.10.1 DESCRIPTION Incompatible Changes Switch statement changes flip-flop operators, defined-or operator Smart match changes Other incompatible changes Core Enhancements Unicode Character Database 5.1.0 A proper interface for pluggable Method Resolution Orders The "overloading" pragma Parallel tests DTrace support Support for "configure_requires" in CPAN module metadata Modules and Pragmata New Modules and Pragmata "autodie", "Compress::Raw::Bzip2", "parent", "Parse::CPAN::Meta" Pragmata Changes "attributes", "attrs", "base", "bigint", "bignum", "bigrat", "charnames", "constant", "feature", "fields", "lib", "open", "overload", "overloading", "version" Updated Modules "Archive::Extract", "Archive::Tar", "Attribute::Handlers", "AutoLoader", "AutoSplit", "B", "B::Debug", "B::Deparse", "B::Lint", "B::Xref", "Benchmark", "Carp", "CGI", "Compress::Zlib", "CPAN", "CPANPLUS", "CPANPLUS::Dist::Build", "Cwd", "Data::Dumper", "DB", "DB_File", "Devel::PPPort", "Digest::MD5", "Digest::SHA", "DirHandle", "Dumpvalue", "DynaLoader", "Encode", "Errno", "Exporter", "ExtUtils::CBuilder", "ExtUtils::Command", "ExtUtils::Constant", "ExtUtils::Embed", "ExtUtils::Install", "ExtUtils::MakeMaker", "ExtUtils::Manifest", "ExtUtils::ParseXS", "Fatal", "File::Basename", "File::Compare", "File::Copy", "File::Fetch", "File::Find", "File::Path", "File::Spec", "File::stat", "File::Temp", "FileCache", "FileHandle", "Filter::Simple", "Filter::Util::Call", "FindBin", "GDBM_File", "Getopt::Long", "Hash::Util::FieldHash", "I18N::Collate", "IO", "IO::Compress::*", "IO::Dir", "IO::Handle", "IO::Socket", "IO::Zlib", "IPC::Cmd", "IPC::Open3", "IPC::SysV", "lib", "List::Util", "Locale::MakeText", "Log::Message", "Math::BigFloat", "Math::BigInt", "Math::BigInt::FastCalc", "Math::BigRat", "Math::Complex", "Math::Trig", "Memoize", "Module::Build", "Module::CoreList", "Module::Load", "Module::Load::Conditional", "Module::Loaded", "Module::Pluggable", "NDBM_File", "Net::Ping", "NEXT", "Object::Accessor", "OS2::REXX", "Package::Constants", "PerlIO", "PerlIO::via", "Pod::Man", "Pod::Parser", "Pod::Simple", "Pod::Text", "POSIX", "Safe", "Scalar::Util", "SelectSaver", "SelfLoader", "Socket", "Storable", "Switch", "Symbol", "Sys::Syslog", "Term::ANSIColor", "Term::ReadLine", "Term::UI", "Test::Harness", "Test::Simple", "Text::ParseWords", "Text::Tabs", "Text::Wrap", "Thread::Queue", "Thread::Semaphore", "threads", "threads::shared", "Tie::RefHash", "Tie::StdHandle", "Time::HiRes", "Time::Local", "Time::Piece", "Unicode::Normalize", "Unicode::UCD", "UNIVERSAL", "Win32", "Win32API::File", "XSLoader" Utility Changes h2ph, h2xs, perl5db.pl, perlthanks New Documentation perlhaiku, perlmroapi, perlperf, perlrepository, perlthanks Changes to Existing Documentation Performance Enhancements Installation and Configuration Improvements ext/ reorganisation Configuration improvements Compilation improvements Platform Specific Changes AIX, Cygwin, FreeBSD, Irix, Haiku, MirOS BSD, NetBSD, Stratus VOS, Symbian, Win32, VMS Selected Bug Fixes New or Changed Diagnostics "panic: sv_chop %s", "Can't locate package %s for the parents of %s", "v-string in use/require is non-portable", Deep recursion on subroutine "%s" Changed Internals "SVf_UTF8", "SVs_TEMP" New Tests t/comp/retainedlines.t, t/io/perlio_fail.t, t/io/perlio_leaks.t, t/io/perlio_open.t, t/io/perlio.t, t/io/pvbm.t, t/mro/package_aliases.t, t/op/dbm.t, t/op/index_thr.t, t/op/pat_thr.t, t/op/qr_gc.t, t/op/reg_email_thr.t, t/op/regexp_qr_embed_thr.t, t/op/regexp_unicode_prop.t, t/op/regexp_unicode_prop_thr.t, t/op/reg_nc_tie.t, t/op/reg_posixcc.t, t/op/re.t, t/op/setpgrpstack.t, t/op/substr_thr.t, t/op/upgrade.t, t/uni/lex_utf8.t, t/uni/tie.t Known Problems Deprecations Acknowledgements Reporting Bugs SEE ALSO perl5100delta - what is new for perl 5.10.0 DESCRIPTION Core Enhancements The "feature" pragma New -E command-line switch Defined-or operator Switch and Smart Match operator Regular expressions Recursive Patterns, Named Capture Buffers, Possessive Quantifiers, Backtracking control verbs, Relative backreferences, "\K" escape, Vertical and horizontal whitespace, and linebreak, Optional pre-match and post-match captures with the /p flag say() Lexical $_ The "_" prototype UNITCHECK blocks New Pragma, "mro" readdir() may return a "short filename" on Windows readpipe() is now overridable Default argument for readline() state() variables Stacked filetest operators UNIVERSAL::DOES() Formats Byte-order modifiers for pack() and unpack() "no VERSION" "chdir", "chmod" and "chown" on filehandles OS groups Recursive sort subs Exceptions in constant folding Source filters in @INC New internal variables "${^RE_DEBUG_FLAGS}", "${^CHILD_ERROR_NATIVE}", "${^RE_TRIE_MAXBUF}", "${^WIN32_SLOPPY_STAT}" Miscellaneous UCD 5.0.0 MAD kill() on Windows Incompatible Changes Packing and UTF-8 strings Byte/character count feature in unpack() The $* and $# variables have been removed substr() lvalues are no longer fixed-length Parsing of "-f _" ":unique" Effect of pragmas in eval chdir FOO Handling of .pmc files $^V is now a "version" object instead of a v-string @- and @+ in patterns $AUTOLOAD can now be tainted Tainting and printf undef and signal handlers strictures and dereferencing in defined() "(?p{})" has been removed Pseudo-hashes have been removed Removal of the bytecode compiler and of perlcc Removal of the JPL Recursive inheritance detected earlier warnings::enabled and warnings::warnif changed to favor users of modules Modules and Pragmata Upgrading individual core modules Pragmata Changes "feature", "mro", Scoping of the "sort" pragma, Scoping of "bignum", "bigint", "bigrat", "base", "strict" and "warnings", "version", "warnings", "less" New modules Selected Changes to Core Modules "Attribute::Handlers", "B::Lint", "B", "Thread" Utility Changes perl -d, ptar, ptardiff, shasum, corelist, h2ph and h2xs, perlivp, find2perl, config_data, cpanp, cpan2dist, pod2html New Documentation Performance Enhancements In-place sorting Lexical array access XS-assisted SWASHGET Constant subroutines "PERL_DONT_CREATE_GVSV" Weak references are cheaper sort() enhancements Memory optimisations UTF-8 cache optimisation Sloppy stat on Windows Regular expressions optimisations Engine de-recursivised, Single char char-classes treated as literals, Trie optimisation of literal string alternations, Aho-Corasick start-point optimisation Installation and Configuration Improvements Configuration improvements "-Dusesitecustomize", Relocatable installations, strlcat() and strlcpy(), "d_pseudofork" and "d_printf_format_null", Configure help Compilation improvements Parallel build, Borland's compilers support, Static build on Windows, ppport.h files, C++ compatibility, Support for Microsoft 64-bit compiler, Visual C++, Win32 builds Installation improvements Module auxiliary files New Or Improved Platforms Selected Bug Fixes strictures in regexp-eval blocks, Calling CORE::require(), Subscripts of slices, "no warnings 'category'" works correctly with -w, threads improvements, chr() and negative values, PERL5SHELL and tainting, Using *FILE{IO}, Overloading and reblessing, Overloading and UTF-8, eval memory leaks fixed, Random device on Windows, PERLIO_DEBUG, PerlIO::scalar and read-only scalars, study() and UTF-8, Critical signals, @INC-hook fix, "-t" switch fix, Duping UTF-8 filehandles, Localisation of hash elements New or Changed Diagnostics Use of uninitialized value, Deprecated use of my() in false conditional, !=~ should be !~, Newline in left-justified string, Too late for "-T" option, "%s" variable %s masks earlier declaration, readdir()/closedir()/etc. attempted on invalid dirhandle, Opening dirhandle/filehandle %s also as a file/directory, Use of -P is deprecated, v-string in use/require is non-portable, perl -V Changed Internals Reordering of SVt_* constants Elimination of SVt_PVBM New type SVt_BIND Removal of CPP symbols Less space is used by ops New parser Use of "const" Mathoms "AvFLAGS" has been removed "av_*" changes $^H and %^H B:: modules inheritance changed Anonymous hash and array constructors Known Problems UTF-8 problems Platform Specific Problems Reporting Bugs SEE ALSO perl589delta - what is new for perl v5.8.9 DESCRIPTION Notice Incompatible Changes Core Enhancements Unicode Character Database 5.1.0. stat and -X on directory handles Source filters in @INC Exceptions in constant folding "no VERSION" Improved internal UTF-8 caching code Runtime relocatable installations New internal variables "${^CHILD_ERROR_NATIVE}", "${^UTF8CACHE}" "readpipe" is now overridable simple exception handling macros -D option enhancements XS-assisted SWASHGET Constant subroutines New Platforms Modules and Pragmata New Modules Updated Modules Utility Changes debugger upgraded to version 1.31 perlthanks perlbug h2xs h2ph New Documentation Changes to Existing Documentation Performance Enhancements Installation and Configuration Improvements Relocatable installations Configuration improvements Compilation improvements Installation improvements. Platform Specific Changes Selected Bug Fixes Unicode PerlIO Magic Reblessing overloaded objects now works "strict" now propagates correctly into string evals Other fixes Platform Specific Fixes Smaller fixes New or Changed Diagnostics panic: sv_chop %s Maximal count of pending signals (%s) exceeded panic: attempt to call %s in %s FETCHSIZE returned a negative value Can't upgrade %s (%d) to %d %s argument is not a HASH or ARRAY element or a subroutine Cannot make the non-overridable builtin %s fatal Unrecognized character '%s' in column %d Offset outside string Invalid escape in the specified encoding in regexp; marked by <-- HERE in m/%s/ Your machine doesn't support dump/undump. Changed Internals Macro cleanups New Tests ext/DynaLoader/t/DynaLoader.t, t/comp/fold.t, t/io/pvbm.t, t/lib/proxy_constant_subs.t, t/op/attrhand.t, t/op/dbm.t, t/op/inccode-tie.t, t/op/incfilter.t, t/op/kill0.t, t/op/qrstack.t, t/op/qr.t, t/op/regexp_qr_embed.t, t/op/regexp_qr.t, t/op/rxcode.t, t/op/studytied.t, t/op/substT.t, t/op/symbolcache.t, t/op/upgrade.t, t/mro/package_aliases.t, t/pod/twice.t, t/run/cloexec.t, t/uni/cache.t, t/uni/chr.t, t/uni/greek.t, t/uni/latin2.t, t/uni/overload.t, t/uni/tie.t Known Problems Platform Specific Notes Win32 OS/2 VMS Obituary Acknowledgements Reporting Bugs SEE ALSO perl588delta - what is new for perl v5.8.8 DESCRIPTION Incompatible Changes Core Enhancements Modules and Pragmata Utility Changes "h2xs" enhancements "perlivp" enhancements New Documentation Performance Enhancements Installation and Configuration Improvements Selected Bug Fixes no warnings 'category' works correctly with -w Remove over-optimisation sprintf() fixes Debugger and Unicode slowdown Smaller fixes New or Changed Diagnostics Attempt to set length of freed array Non-string passed as bitmask Search pattern not terminated or ternary operator parsed as search pattern Changed Internals Platform Specific Problems Reporting Bugs SEE ALSO perl587delta - what is new for perl v5.8.7 DESCRIPTION Incompatible Changes Core Enhancements Unicode Character Database 4.1.0 suidperl less insecure Optional site customization script "Config.pm" is now much smaller. Modules and Pragmata Utility Changes find2perl enhancements Performance Enhancements Installation and Configuration Improvements Selected Bug Fixes New or Changed Diagnostics Changed Internals Known Problems Platform Specific Problems Reporting Bugs SEE ALSO perl586delta - what is new for perl v5.8.6 DESCRIPTION Incompatible Changes Core Enhancements Modules and Pragmata Utility Changes Performance Enhancements Selected Bug Fixes New or Changed Diagnostics Changed Internals New Tests Reporting Bugs SEE ALSO perl585delta - what is new for perl v5.8.5 DESCRIPTION Incompatible Changes Core Enhancements Modules and Pragmata Utility Changes Perl's debugger h2ph Installation and Configuration Improvements Selected Bug Fixes New or Changed Diagnostics Changed Internals Known Problems Platform Specific Problems Reporting Bugs SEE ALSO perl584delta - what is new for perl v5.8.4 DESCRIPTION Incompatible Changes Core Enhancements Malloc wrapping Unicode Character Database 4.0.1 suidperl less insecure format Modules and Pragmata Updated modules Attribute::Handlers, B, Benchmark, CGI, Carp, Cwd, Exporter, File::Find, IO, IPC::Open3, Local::Maketext, Math::BigFloat, Math::BigInt, Math::BigRat, MIME::Base64, ODBM_File, POSIX, Shell, Socket, Storable, Switch, Sys::Syslog, Term::ANSIColor, Time::HiRes, Unicode::UCD, Win32, base, open, threads, utf8 Performance Enhancements Utility Changes Installation and Configuration Improvements Selected Bug Fixes New or Changed Diagnostics Changed Internals Future Directions Platform Specific Problems Reporting Bugs SEE ALSO perl583delta - what is new for perl v5.8.3 DESCRIPTION Incompatible Changes Core Enhancements Modules and Pragmata CGI, Cwd, Digest, Digest::MD5, Encode, File::Spec, FindBin, List::Util, Math::BigInt, PodParser, Pod::Perldoc, POSIX, Unicode::Collate, Unicode::Normalize, Test::Harness, threads::shared Utility Changes New Documentation Installation and Configuration Improvements Selected Bug Fixes New or Changed Diagnostics Changed Internals Configuration and Building Platform Specific Problems Known Problems Future Directions Obituary Reporting Bugs SEE ALSO perl582delta - what is new for perl v5.8.2 DESCRIPTION Incompatible Changes Core Enhancements Hash Randomisation Threading Modules and Pragmata Updated Modules And Pragmata Devel::PPPort, Digest::MD5, I18N::LangTags, libnet, MIME::Base64, Pod::Perldoc, strict, Tie::Hash, Time::HiRes, Unicode::Collate, Unicode::Normalize, UNIVERSAL Selected Bug Fixes Changed Internals Platform Specific Problems Future Directions Reporting Bugs SEE ALSO perl581delta - what is new for perl v5.8.1 DESCRIPTION Incompatible Changes Hash Randomisation UTF-8 On Filehandles No Longer Activated By Locale Single-number v-strings are no longer v-strings before "=>" (Win32) The -C Switch Has Been Repurposed (Win32) The /d Switch Of cmd.exe Core Enhancements UTF-8 no longer default under UTF-8 locales Unsafe signals again available Tied Arrays with Negative Array Indices local ${$x} Unicode Character Database 4.0.0 Deprecation Warnings Miscellaneous Enhancements Modules and Pragmata Updated Modules And Pragmata base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes, CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5, Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping, PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc, Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More, Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared, Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath, Win32::GetOSVersion Utility Changes New Documentation Installation and Configuration Improvements Platform-specific enhancements Selected Bug Fixes Closures, eval and lexicals Generic fixes Platform-specific fixes New or Changed Diagnostics Changed "A thread exited while %d threads were running" Removed "Attempt to clear a restricted hash" New "Illegal declaration of anonymous subroutine" Changed "Invalid range "%s" in transliteration operator" New "Missing control char name in \c" New "Newline in left-justified string for %s" New "Possible precedence problem on bitwise %c operator" New "Pseudo-hashes are deprecated" New "read() on %s filehandle %s" New "5.005 threads are deprecated" New "Tied variable freed while still in use" New "To%s: illegal mapping '%s'" New "Use of freed value in iteration" Changed Internals New Tests Known Problems Tied hashes in scalar context Net::Ping 450_service and 510_ping_udp failures B::C Platform Specific Problems EBCDIC Platforms Cygwin 1.5 problems HP-UX: HP cc warnings about sendfile and sendpath IRIX: t/uni/tr_7jis.t falsely failing Mac OS X: no usemymalloc Tru64: No threaded builds with GNU cc (gcc) Win32: sysopen, sysread, syswrite Future Directions Reporting Bugs SEE ALSO perl58delta - what is new for perl v5.8.0 DESCRIPTION Highlights In 5.8.0 Incompatible Changes Binary Incompatibility 64-bit platforms and malloc AIX Dynaloading Attributes for "my" variables now handled at run-time Socket Extension Dynamic in VMS IEEE-format Floating Point Default on OpenVMS Alpha New Unicode Semantics (no more "use utf8", almost) New Unicode Properties REF(...) Instead Of SCALAR(...) pack/unpack D/F recycled glob() now returns filenames in alphabetical order Deprecations Core Enhancements Unicode Overhaul PerlIO is Now The Default ithreads Restricted Hashes Safe Signals Understanding of Numbers Arrays now always interpolate into double-quoted strings [561] Miscellaneous Changes Modules and Pragmata New Modules and Pragmata Updated And Improved Modules and Pragmata Utility Changes New Documentation Performance Enhancements Installation and Configuration Improvements Generic Improvements New Or Improved Platforms Selected Bug Fixes Platform Specific Changes and Fixes New or Changed Diagnostics Changed Internals Security Vulnerability Closed [561] New Tests Known Problems The Compiler Suite Is Still Very Experimental Localising Tied Arrays and Hashes Is Broken Building Extensions Can Fail Because Of Largefiles Modifying $_ Inside for(..) mod_perl 1.26 Doesn't Build With Threaded Perl lib/ftmp-security tests warn 'system possibly insecure' libwww-perl (LWP) fails base/date #51 PDL failing some tests Perl_get_sv Self-tying Problems ext/threads/t/libc Failure of Thread (5.005-style) tests Timing problems Tied/Magical Array/Hash Elements Do Not Autovivify Unicode in package/class and subroutine names does not work Platform Specific Problems AIX Alpha systems with old gccs fail several tests AmigaOS BeOS Cygwin "unable to remap" Cygwin ndbm tests fail on FAT DJGPP Failures FreeBSD built with ithreads coredumps reading large directories FreeBSD Failing locale Test 117 For ISO 8859-15 Locales IRIX fails ext/List/Util/t/shuffle.t or Digest::MD5 HP-UX lib/posix Subtest 9 Fails When LP64-Configured Linux with glibc 2.2.5 fails t/op/int subtest #6 with -Duse64bitint Linux With Sfio Fails op/misc Test 48 Mac OS X Mac OS X dyld undefined symbols OS/2 Test Failures op/sprintf tests 91, 129, and 130 SCO Solaris 2.5 Solaris x86 Fails Tests With -Duse64bitint SUPER-UX (NEC SX) Term::ReadKey not working on Win32 UNICOS/mk UTS VOS (Stratus) VMS Win32 XML::Parser not working z/OS (OS/390) Unicode Support on EBCDIC Still Spotty Seen In Perl 5.7 But Gone Now Reporting Bugs SEE ALSO HISTORY perl561delta - what's new for perl v5.6.1 DESCRIPTION Summary of changes between 5.6.0 and 5.6.1 Security Issues Core bug fixes UNIVERSAL::isa(), Memory leaks, Numeric conversions, qw(a\\b), caller(), Bugs in regular expressions, "slurp" mode, Autovivification of symbolic references to special variables, Lexical warnings, Spurious warnings and errors, glob(), Tainting, sort(), #line directives, Subroutine prototypes, map(), Debugger, PERL5OPT, chop(), Unicode support, 64-bit support, Compiler, Lvalue subroutines, IO::Socket, File::Find, xsubpp, "no Module;", Tests Core features Configuration issues Documentation Bundled modules B::Concise, File::Temp, Pod::LaTeX, Pod::Text::Overstrike, CGI, CPAN, Class::Struct, DB_File, Devel::Peek, File::Find, Getopt::Long, IO::Poll, IPC::Open3, Math::BigFloat, Math::Complex, Net::Ping, Opcode, Pod::Parser, Pod::Text, SDBM_File, Sys::Syslog, Tie::RefHash, Tie::SubstrHash Platform-specific improvements NCR MP-RAS, NonStop-UX Core Enhancements Interpreter cloning, threads, and concurrency Lexically scoped warning categories Unicode and UTF-8 support Support for interpolating named characters "our" declarations Support for strings represented as a vector of ordinals Improved Perl version numbering system New syntax for declaring subroutine attributes File and directory handles can be autovivified open() with more than two arguments 64-bit support Large file support Long doubles "more bits" Enhanced support for sort() subroutines "sort $coderef @foo" allowed File globbing implemented internally Support for CHECK blocks POSIX character class syntax [: :] supported Better pseudo-random number generator Improved "qw//" operator Better worst-case behavior of hashes pack() format 'Z' supported pack() format modifier '!' supported pack() and unpack() support counted strings Comments in pack() templates Weak references Binary numbers supported Lvalue subroutines Some arrows may be omitted in calls through references Boolean assignment operators are legal lvalues exists() is supported on subroutine names exists() and delete() are supported on array elements Pseudo-hashes work better Automatic flushing of output buffers Better diagnostics on meaningless filehandle operations Where possible, buffered data discarded from duped input filehandle eof() has the same old magic as <> binmode() can be used to set :crlf and :raw modes "-T" filetest recognizes UTF-8 encoded files as "text" system(), backticks and pipe open now reflect exec() failure Improved diagnostics Diagnostics follow STDERR More consistent close-on-exec behavior syswrite() ease-of-use Better syntax checks on parenthesized unary operators Bit operators support full native integer width Improved security features More functional bareword prototype (*) "require" and "do" may be overridden $^X variables may now have names longer than one character New variable $^C reflects "-c" switch New variable $^V contains Perl version as a string Optional Y2K warnings Arrays now always interpolate into double-quoted strings @- and @+ provide starting/ending offsets of regex submatches Modules and Pragmata Modules attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters Pragmata Utility Changes dprofpp find2perl h2xs perlcc perldoc The Perl Debugger Improved Documentation perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod Performance enhancements Simple sort() using { $a <=> $b } and the like are optimized Optimized assignments to lexical variables Faster subroutine calls delete(), each(), values() and hash iteration are faster Installation and Configuration Improvements -Dusethreads means something different New Configure flags Threadedness and 64-bitness now more daring Long Doubles -Dusemorebits -Duselargefiles installusrbinperl SOCKS support "-A" flag Enhanced Installation Directories gcc automatically tried if 'cc' does not seem to be working Platform specific changes Supported platforms DOS OS390 (OpenEdition MVS) VMS Win32 Significant bug fixes on empty files "eval '...'" improvements All compilation errors are true errors Implicitly closed filehandles are safer Behavior of list slices is more consistent "(\$)" prototype and $foo{a} "goto &sub" and AUTOLOAD "-bareword" allowed under "use integer" Failures in DESTROY() Locale bugs fixed Memory leaks Spurious subroutine stubs after failed subroutine calls Taint failures under "-U" END blocks and the "-c" switch Potential to leak DATA filehandles New or Changed Diagnostics "%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number New tests Incompatible Changes Perl Source Incompatibilities CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, "undef" fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and "\(%h)", vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, "%@" has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype "(*)" have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results C Source Incompatibilities "PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC" Compatible C Source API Changes "PATCHLEVEL" is now "PERL_VERSION" Binary Incompatibilities Known Problems Localizing a tied hash element may leak memory Known test failures EBCDIC platforms not fully supported UNICOS/mk CC failures during Configure run Arrow operator and arrays Experimental features Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs: Obsolete Diagnostics Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$" to mean "${$}" is deprecated Reporting Bugs SEE ALSO HISTORY perl56delta - what's new for perl v5.6.0 DESCRIPTION Core Enhancements Interpreter cloning, threads, and concurrency Lexically scoped warning categories Unicode and UTF-8 support Support for interpolating named characters "our" declarations Support for strings represented as a vector of ordinals Improved Perl version numbering system New syntax for declaring subroutine attributes File and directory handles can be autovivified open() with more than two arguments 64-bit support Large file support Long doubles "more bits" Enhanced support for sort() subroutines "sort $coderef @foo" allowed File globbing implemented internally Support for CHECK blocks POSIX character class syntax [: :] supported Better pseudo-random number generator Improved "qw//" operator Better worst-case behavior of hashes pack() format 'Z' supported pack() format modifier '!' supported pack() and unpack() support counted strings Comments in pack() templates Weak references Binary numbers supported Lvalue subroutines Some arrows may be omitted in calls through references Boolean assignment operators are legal lvalues exists() is supported on subroutine names exists() and delete() are supported on array elements Pseudo-hashes work better Automatic flushing of output buffers Better diagnostics on meaningless filehandle operations Where possible, buffered data discarded from duped input filehandle eof() has the same old magic as <> binmode() can be used to set :crlf and :raw modes "-T" filetest recognizes UTF-8 encoded files as "text" system(), backticks and pipe open now reflect exec() failure Improved diagnostics Diagnostics follow STDERR More consistent close-on-exec behavior syswrite() ease-of-use Better syntax checks on parenthesized unary operators Bit operators support full native integer width Improved security features More functional bareword prototype (*) "require" and "do" may be overridden $^X variables may now have names longer than one character New variable $^C reflects "-c" switch New variable $^V contains Perl version as a string Optional Y2K warnings Arrays now always interpolate into double-quoted strings @- and @+ provide starting/ending offsets of regex matches Modules and Pragmata Modules attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters Pragmata Utility Changes dprofpp find2perl h2xs perlcc perldoc The Perl Debugger Improved Documentation perlapi.pod, perlboot.pod, perlcompile.pod, perldbmfilter.pod, perldebug.pod, perldebguts.pod, perlfork.pod, perlfilter.pod, perlhack.pod, perlintern.pod, perllexwarn.pod, perlnumber.pod, perlopentut.pod, perlreftut.pod, perltootc.pod, perltodo.pod, perlunicode.pod Performance enhancements Simple sort() using { $a <=> $b } and the like are optimized Optimized assignments to lexical variables Faster subroutine calls delete(), each(), values() and hash iteration are faster Installation and Configuration Improvements -Dusethreads means something different New Configure flags Threadedness and 64-bitness now more daring Long Doubles -Dusemorebits -Duselargefiles installusrbinperl SOCKS support "-A" flag Enhanced Installation Directories Platform specific changes Supported platforms DOS OS390 (OpenEdition MVS) VMS Win32 Significant bug fixes on empty files "eval '...'" improvements All compilation errors are true errors Implicitly closed filehandles are safer Behavior of list slices is more consistent "(\$)" prototype and $foo{a} "goto &sub" and AUTOLOAD "-bareword" allowed under "use integer" Failures in DESTROY() Locale bugs fixed Memory leaks Spurious subroutine stubs after failed subroutine calls Taint failures under "-U" END blocks and the "-c" switch Potential to leak DATA filehandles New or Changed Diagnostics "%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number New tests Incompatible Changes Perl Source Incompatibilities CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, "undef" fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and "\(%h)", vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, "%@" has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype "(*)" have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results C Source Incompatibilities "PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC" Compatible C Source API Changes "PATCHLEVEL" is now "PERL_VERSION" Binary Incompatibilities Known Problems Thread test failures EBCDIC platforms not supported In 64-bit HP-UX the lib/io_multihomed test may hang NEXTSTEP 3.3 POSIX test failure Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with gcc UNICOS/mk CC failures during Configure run Arrow operator and arrays Experimental features Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs: Obsolete Diagnostics Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$" to mean "${$}" is deprecated Reporting Bugs SEE ALSO HISTORY perl5005delta - what's new for perl5.005 DESCRIPTION About the new versioning system Incompatible Changes WARNING: This version is not binary compatible with Perl 5.004. Default installation structure has changed Perl Source Compatibility C Source Compatibility Binary Compatibility Security fixes may affect compatibility Relaxed new mandatory warnings introduced in 5.004 Licensing Core Changes Threads Compiler Regular Expressions Many new and improved optimizations, Many bug fixes, New regular expression constructs, New operator for precompiled regular expressions, Other improvements, Incompatible changes Improved malloc() Quicksort is internally implemented Reliable signals Reliable stack pointers More generous treatment of carriage returns Memory leaks Better support for multiple interpreters Behavior of local() on array and hash elements is now well-defined "%!" is transparently tied to the Errno module Pseudo-hashes are supported "EXPR foreach EXPR" is supported Keywords can be globally overridden $^E is meaningful on Win32 "foreach (1..1000000)" optimized "Foo::" can be used as implicitly quoted package name "exists $Foo::{Bar::}" tests existence of a package Better locale support Experimental support for 64-bit platforms prototype() returns useful results on builtins Extended support for exception handling Re-blessing in DESTROY() supported for chaining DESTROY() methods All "printf" format conversions are handled internally New "INIT" keyword New "lock" keyword New "qr//" operator "our" is now a reserved word Tied arrays are now fully supported Tied handles support is better 4th argument to substr Negative LENGTH argument to splice Magic lvalues are now more magical <> now reads in records Supported Platforms New Platforms Changes in existing support Modules and Pragmata New Modules B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, Thread, attrs, fields, re Changes in existing modules Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd Utility Changes Documentation Changes New Diagnostics Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index while coercing array into hash, Bareword "%s" refers to nonexistent package, Can't call method "%s" on an undefined value, Can't check filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't goto subroutine from an eval-string, Can't localize pseudo-hash element, Can't use %%! because Errno.pm is not available, Cannot find an opnumber for "%s", Character class syntax [. .] is reserved for future extensions, Character class syntax [: :] is reserved for future extensions, Character class syntax [= =] is reserved for future extensions, %s: Eval-group in insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s: Eval-group not allowed at run time, Explicit blessing to '' (assuming package main), Illegal hex digit ignored, No such array field, No such field "%s" in variable %s of type %s, Out of memory during ridiculously large request, Range iterator outside integer range, Recursive inheritance detected while looking for method '%s' %s, Reference found where even-sized list expected, Undefined value assigned to typeglob, Use of reserved word "%s" is deprecated, perl: warning: Setting locale failed Obsolete Diagnostics Can't mktemp(), Can't write to temp file for -e: %s, Cannot open temporary file, regexp too big Configuration Changes BUGS SEE ALSO HISTORY perl5004delta - what's new for perl5.004 DESCRIPTION Supported Environments Core Changes List assignment to %ENV works Change to "Can't locate Foo.pm in @INC" error Compilation option: Binary compatibility with 5.003 $PERL5OPT environment variable Limitations on -M, -m, and -T options More precise warnings Deprecated: Inherited "AUTOLOAD" for non-methods Previously deprecated %OVERLOAD is no longer usable Subroutine arguments created only when they're modified Group vector changeable with $) Fixed parsing of $$, &$, etc. Fixed localization of $, $&, etc. No resetting of $. on implicit close "wantarray" may return undef "eval EXPR" determines value of EXPR in scalar context Changes to tainting checks No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No spawning if tainted $TERM doesn't look like a terminal name New Opcode module and revised Safe module Embedding improvements Internal change: FileHandle class based on IO::* classes Internal change: PerlIO abstraction interface New and changed syntax $coderef->(PARAMS) New and changed builtin constants __PACKAGE__ New and changed builtin variables $^E, $^H, $^M New and changed builtin functions delete on slices, flock, printf and sprintf, keys as an lvalue, my() in Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module VERSION LIST, prototype(FUNCTION), srand, $_ as Default, "m//gc" does not reset search position on failure, "m//x" ignores whitespace before ?*+{}, nested "sub{}" closures work now, formats work right on changing lexicals New builtin methods isa(CLASS), can(METHOD), VERSION( [NEED] ) TIEHANDLE now supported TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this LIST, READLINE this, GETC this, DESTROY this Malloc enhancements -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE Miscellaneous efficiency enhancements Support for More Operating Systems Win32 Plan 9 QNX AmigaOS Pragmata use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use constant NAME => VALUE, use locale, use ops, use vmsish Modules Required Updates Installation directories Module information summary Fcntl IO Math::Complex Math::Trig DB_File Net::Ping Object-oriented overrides for builtin operators Utility Changes pod2html Sends converted HTML to standard output xsubpp "void" XSUBs now default to returning nothing C Language API Changes "gv_fetchmethod" and "perl_call_sv", "perl_eval_pv", Extended API for manipulating hashes Documentation Changes perldelta, perlfaq, perllocale, perltoot, perlapio, perlmodlib, perldebug, perlsec New Diagnostics "my" variable %s masks earlier declaration in same scope, %s argument is not a HASH element or slice, Allocation too large: %lx, Allocation too large, Applying %s to %s will act on scalar(%s), Attempt to free nonexistent shared string, Attempt to use reference as lvalue in substr, Bareword "%s" refers to nonexistent package, Can't redefine active sort subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant subroutine %s redefined, Constant subroutine %s undefined, Copy method did not return a reference, Died, Exiting pseudo-block via %s, Identifier too long, Illegal character %s (carriage return), Illegal switch in PERL5OPT: %s, Integer overflow in hex number, Integer overflow in octal number, internal error: glob failed, Invalid conversion in %s: "%s", Invalid type in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once: possible typo, Null picture in formline, Offset outside string, Out of memory!, Out of memory during request for %s, panic: frexp, Possible attempt to put comments in qw() list, Possible attempt to separate words with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found while resolving method `%s' overloading `%s' in %s, Too late for "-T" option, untie attempted while %d inner references still exist, Unrecognized character %s, Unsupported function fork, Use of "$$" to mean "${$}" is deprecated, Value of %s can be "0"; test with defined(), Variable "%s" may be unavailable, Variable "%s" will not stay shared, Warning: something's wrong, Ill-formed logical name |%s| in prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too long, Process terminated by SIG%s BUGS SEE ALSO HISTORY perlbook - Books about and related to Perl DESCRIPTION The most popular books Programming Perl (the "Camel Book"):, The Perl Cookbook (the "Ram Book"):, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book") References Perl 5 Pocket Reference, Perl Debugger Pocket Reference, Regular Expression Pocket Reference Tutorials Beginning Perl, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book"), Mastering Perl, Effective Perl Programming Task-Oriented Writing Perl Modules for CPAN, The Perl Cookbook, Automating System Administration with Perl, Real World SQL Server Administration with Perl Special Topics Regular Expressions Cookbook, Programming the Perl DBI, Perl Best Practices, Higher-Order Perl, Mastering Regular Expressions, Network Programming with Perl, Perl Template Toolkit, Object Oriented Perl, Data Munging with Perl, Mastering Perl/Tk, Extending and Embedding Perl, Pro Perl Debugging Free (as in beer) books Other interesting, non-Perl books Programming Pearls, More Programming Pearls A note on freshness Get your book listed perlcommunity - a brief overview of the Perl community DESCRIPTION Where to Find the Community Mailing Lists and Newsgroups IRC Websites , , , , , User Groups Workshops Hackathons Conventions The Perl Conference, OSCON Calendar of Perl Events AUTHOR perldoc - Look up Perl documentation in Pod format. SYNOPSIS DESCRIPTION OPTIONS -h, -D, -t, -u, -m module, -l, -U, -F, -f perlfunc, -q perlfaq- search-regexp, -a perlapifunc, -v perlvar, -T, -d destination- filename, -o output-formatname, -M module-name, -w option:value or -w option, -X, -L language_code, PageName|ModuleName|ProgramName|URL, -n some-formatter, -r, -i, -V SECURITY ENVIRONMENT CHANGES SEE ALSO AUTHOR perlexperiment - A listing of experimental features in Perl DESCRIPTION Current experiments Smart match ("~~"), Pluggable keywords, Aliasing via reference, The "const" attribute, use re 'strict';, Declaring a reference to a variable, There is an "installhtml" target in the Makefile, (Limited) Variable-length look-behind, Unicode private use character hooks, Unicode property wildcards, try/catch control structure, Use of @_ within subroutine signatures, for loop with multiple iteration variables, The builtin namespace, The defer block modifier, Extra paired delimiters for quote-like operators Accepted features 64-bit support, die accepts a reference, DB module, Weak references, Internal file glob, fork() emulation, -Dusemultiplicity -Duseithreads, Support for long doubles, The "\N" regex character class, "(?{code})" and "(??{ code })", Linux abstract Unix domain sockets, Lvalue subroutines, Backtracking control verbs, The ":pop" IO pseudolayer, "\s" in regexp matches vertical tab, Postfix dereference syntax, Lexical subroutines, String- and number-specific bitwise operators, Alphabetic assertions, Script runs, The infix "isa" operator, Subroutine signatures, Regular Expression Set Operations Removed features 5.005-style threading, perlcc, The pseudo-hash data type, GetOpt::Long Options can now take multiple values at once (experimental), Assertions, Test::Harness::Straps, "legacy", Lexical $_, Array and hash container functions accept references, "our" can have an experimental optional attribute "unique", The ":win32" IO pseudolayer SEE ALSO AUTHORS COPYRIGHT LICENSE perlartistic - the Perl Artistic License SYNOPSIS DESCRIPTION The "Artistic License" Preamble Definitions "Package", "Standard Version", "Copyright Holder", "You", "Reasonable copying fee", "Freely Available" Conditions a), b), c), d), a), b), c), d) perlgpl - the GNU General Public License, version 1 SYNOPSIS DESCRIPTION GNU GENERAL PUBLIC LICENSE perlaix - Perl version 5 on IBM AIX (UNIX) systems DESCRIPTION Compiling Perl 5 on AIX Supported Compilers Incompatibility with AIX Toolbox lib gdbm Perl 5 was successfully compiled and tested on: Building Dynamic Extensions on AIX Using Large Files with Perl Threaded Perl 64-bit Perl Long doubles Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit) Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit) Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit) Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit) Compiling Perl 5 on AIX 7.1.0 Compiling Perl 5 on older AIX versions up to 4.3.3 OS level Building Dynamic Extensions on AIX < 5L The IBM ANSI C Compiler The usenm option Using GNU's gcc for building Perl Using Large Files with Perl < 5L Threaded Perl < 5L 64-bit Perl < 5L AIX 4.2 and extensions using C++ with statics AUTHORS perlamiga - Perl under AmigaOS 4.1 NOTE SYNOPSIS DESCRIPTION Prerequisites for running Perl 5.22.1 under AmigaOS 4.1 AmigaOS 4.1 update 6 with all updates applied as of 9th October 2013, newlib.library version 53.28 or greater, AmigaOS SDK, abc-shell Starting Perl programs under AmigaOS 4.1 Limitations of Perl under AmigaOS 4.1 Nested Piped programs can crash when run from older abc-shells, Incorrect or unexpected command line unescaping, Starting subprocesses via open has limitations, If you find any other limitations or bugs then let me know INSTALLATION Amiga Specific Modules Amiga::ARexx Amiga::Exec BUILDING CHANGES August 2015, Port to Perl 5.22, Add handling of NIL: to afstat(), Fix inheritance of environment variables by subprocesses, Fix exec, and exit in "forked" subprocesses, Fix issue with newlib's unlink, which could cause infinite loops, Add flock() emulation using IDOS->LockRecord thanks to Tony Cook for the suggestion, Fix issue where kill was using the wrong kind of process ID, 27th November 2013, Create new installation system based on installperl links and Amiga protection bits now set correctly, Pod now defaults to text, File::Spec should now recognise an Amiga style absolute path as well as an Unix style one. Relative paths must always be Unix style, 20th November 2013, Configured to use SDK:Local/C/perl to start standard scripts, Added Amiga::Exec module with support for Wait() and AmigaOS signal numbers, 10th October 13 SEE ALSO perlandroid - Perl under Android SYNOPSIS DESCRIPTION Cross-compilation Get the Android Native Development Kit (NDK) Determine the architecture you'll be cross-compiling for Set up a standalone toolchain adb or ssh? Configure and beyond Native Builds CCTools Termux AUTHOR perlbs2000 - building and installing Perl for BS2000. SYNOPSIS DESCRIPTION gzip on BS2000 bison on BS2000 Unpacking Perl Distribution on BS2000 Compiling Perl on BS2000 Testing Perl on BS2000 Installing Perl on BS2000 Using Perl in the Posix-Shell of BS2000 Using Perl in "native" BS2000 Floating point anomalies on BS2000 Using PerlIO and different encodings on ASCII and EBCDIC partitions AUTHORS SEE ALSO Mailing list HISTORY perlcygwin - Perl for Cygwin SYNOPSIS PREREQUISITES FOR COMPILING PERL ON CYGWIN Cygwin = GNU+Cygnus+Windows (Don't leave UNIX without it) Cygwin Configuration "PATH", nroff CONFIGURE PERL ON CYGWIN Stripping Perl Binaries on Cygwin Optional Libraries for Perl on Cygwin "-lcrypt", "-lgdbm_compat" ("use GDBM_File"), "-ldb" ("use DB_File"), "cygserver" ("use IPC::SysV"), "-lutil" Configure-time Options for Perl on Cygwin "-Uusedl", "-Dusemymalloc", "-Uuseperlio", "-Dusemultiplicity", "-Uuse64bitint", "-Duselongdouble", "-Uuseithreads", "-Duselargefiles", "-Dmksymlinks" MAKE ON CYGWIN TEST ON CYGWIN File Permissions on Cygwin NDBM_File and ODBM_File do not work on FAT filesystems fork() failures in io_* tests Specific features of the Cygwin port Script Portability on Cygwin Pathnames, Text/Binary, PerlIO, .exe, Cygwin vs. Windows process ids, Cygwin vs. Windows errors, rebase errors on fork or system, Miscellaneous Prebuilt methods: "Cwd::cwd", "Cygwin::pid_to_winpid", "Cygwin::winpid_to_pid", "Cygwin::win_to_posix_path", "Cygwin::posix_to_win_path", Cygwin::mount_table(), "Cygwin::mount_flags", "Cygwin::is_binmount", "Cygwin::sync_winenv" INSTALL PERL ON CYGWIN MANIFEST ON CYGWIN Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests BUGS ON CYGWIN AUTHORS HISTORY perlfreebsd - Perl version 5 on FreeBSD systems DESCRIPTION FreeBSD core dumps from readdir_r with ithreads $^X doesn't always contain a full path in FreeBSD AUTHOR perlhaiku - Perl version 5.10+ on Haiku DESCRIPTION BUILD AND INSTALL KNOWN PROBLEMS CONTACT perlhpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems DESCRIPTION Using perl as shipped with HP-UX Using perl from HP's porting centre Other prebuilt perl binaries Compiling Perl 5 on HP-UX PA-RISC PA-RISC 1.0 PA-RISC 1.1 PA-RISC 2.0 Portability Between PA-RISC Versions Itanium Processor Family (IPF) and HP-UX Itanium, Itanium 2 & Madison 6 HP-UX versions Building Dynamic Extensions on HP-UX The HP ANSI C Compiler The GNU C Compiler Using Large Files with Perl on HP-UX Threaded Perl on HP-UX 64-bit Perl on HP-UX Oracle on HP-UX GDBM and Threads on HP-UX NFS filesystems and utime(2) on HP-UX HP-UX Kernel Parameters (maxdsiz) for Compiling Perl nss_delete core dump from op/pwent or op/grent error: pasting ")" and "l" does not give a valid preprocessing token Redeclaration of "sendpath" with a different storage class specifier Miscellaneous AUTHOR perlhurd - Perl version 5 on Hurd DESCRIPTION Known Problems with Perl on Hurd AUTHOR perlirix - Perl version 5 on Irix systems DESCRIPTION Building 32-bit Perl in Irix Building 64-bit Perl in Irix About Compiler Versions of Irix Linker Problems in Irix Malloc in Irix Building with threads in Irix Irix 5.3 AUTHOR perllinux - Perl version 5 on Linux systems DESCRIPTION Deploying Perl on Linux Experimental Support for Sun Studio Compilers for Linux OS AUTHOR perlmacosx - Perl under Mac OS X SYNOPSIS DESCRIPTION Installation Prefix SDK support Universal Binary support 64-bit PPC support libperl and Prebinding Updating Apple's Perl Known problems Cocoa Starting From Scratch AUTHOR DATE perlopenbsd - Perl version 5 on OpenBSD systems DESCRIPTION OpenBSD core dumps from getprotobyname_r and getservbyname_r with ithreads AUTHOR perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT. SYNOPSIS DESCRIPTION Target Other OSes Prerequisites EMX, RSX, HPFS, pdksh Starting Perl programs under OS/2 (and DOS and...) Starting OS/2 (and DOS) programs under Perl Frequently asked questions "It does not work" I cannot run external programs I cannot embed perl into my program, or use perl.dll from my program. Is your program EMX-compiled with "-Zmt -Zcrtdll"?, Did you use ExtUtils::Embed? `` and pipe-"open" do not work under DOS. Cannot start "find.exe "pattern" file" INSTALLATION Automatic binary installation "PERL_BADLANG", "PERL_BADFREE", Config.pm Manual binary installation Perl VIO and PM executables (dynamically linked), Perl_ VIO executable (statically linked), Executables for Perl utilities, Main Perl library, Additional Perl modules, Tools to compile Perl modules, Manpages for Perl and utilities, Manpages for Perl modules, Source for Perl documentation, Perl manual in .INF format, Pdksh Warning Accessing documentation OS/2 .INF file Plain text Manpages HTML GNU "info" files PDF files "LaTeX" docs BUILD The short story Prerequisites Getting perl source Application of the patches Hand-editing Making Testing A lot of "bad free", Process terminated by SIGTERM/SIGINT, op/fs.t, 18, 25, op/stat.t Installing the built perl "a.out"-style build Building a binary distribution Building custom .EXE files Making executables with a custom collection of statically loaded extensions Making executables with a custom search-paths Build FAQ Some "/" became "\" in pdksh. 'errno' - unresolved external Problems with tr or sed Some problem (forget which ;-) Library ... not found Segfault in make op/sprintf test failure Specific (mis)features of OS/2 port "setpriority", "getpriority" system() "extproc" on the first line Additional modules: Prebuilt methods: "File::Copy::syscopy", "DynaLoader::mod2fname", Cwd::current_drive(), Cwd::sys_chdir(name), Cwd::change_drive(name), Cwd::sys_is_absolute(name), Cwd::sys_is_rooted(name), Cwd::sys_is_relative(name), Cwd::sys_cwd(name), "Cwd::sys_abspath(name, dir)", Cwd::extLibpath([type]), "Cwd::extLibpath_set( path [, type ] )", "OS2::Error(do_harderror,do_exception)", OS2::Errors2Drive(drive), OS2::SysInfo(), OS2::BootDrive(), OS2::MorphPM(serve), OS2::UnMorphPM(serve), OS2::Serve_Messages(force), "OS2::Process_Messages(force [, cnt])", "OS2::_control87(new,mask)", OS2::get_control87(), "OS2::set_control87_em(new=MCW_EM,mask=MCW_EM)", "OS2::DLLname([how [, \&xsub]])" Prebuilt variables: $OS2::emx_rev, $OS2::emx_env, $OS2::os_ver, $OS2::is_aout, $OS2::can_fork, $OS2::nsyserror Misfeatures Modifications "popen", "tmpnam", "tmpfile", "ctermid", "stat", "mkdir", "rmdir", "flock" Identifying DLLs Centralized management of resources "HAB", "HMQ", Treating errors reported by OS/2 API, CheckOSError(expr), CheckWinError(expr), SaveWinError(expr), "SaveCroakWinError(expr,die,name1,name2)", "WinError_2_Perl_rc", "FillWinError", FillOSError(rc), Loading DLLs and ordinals in DLLs Perl flavors perl.exe perl_.exe perl__.exe perl___.exe Why strange names? Why dynamic linking? Why chimera build? ENVIRONMENT "PERLLIB_PREFIX" "PERL_BADLANG" "PERL_BADFREE" "PERL_SH_DIR" "USE_PERL_FLOCK" "TMP" or "TEMP" Evolution Text-mode filehandles Priorities DLL name mangling: pre 5.6.2 DLL name mangling: 5.6.2 and beyond Global DLLs, specific DLLs, "BEGINLIBPATH" and "ENDLIBPATH", . from "LIBPATH" DLL forwarder generation Threading Calls to external programs Memory allocation Threads "COND_WAIT", os2.c BUGS AUTHOR SEE ALSO perlos390 - building and installing Perl for z/OS (previously called OS/390) SYNOPSIS DESCRIPTION Tools Building a 64-bit Dynamic ASCII Perl Building a 64-bit Dynamic EBCDIC Perl Setup and utilities for Perl on OS/390 Useful files for trouble-shooting Build Anomalies with Perl on OS/390 Testing Anomalies with Perl on OS/390 Usage Hints for Perl on z/OS Modules and Extensions for Perl on z/OS (Static Only) Running Perl on z/OS For ASCII Only:, For ASCII or EBCDIC: AUTHORS OTHER SITES HISTORY perlos400 - Perl version 5 on OS/400 DESCRIPTION Compiling Perl for OS/400 PASE Installing Perl in OS/400 PASE Using Perl in OS/400 PASE Known Problems Perl on ILE AUTHORS perlplan9 - Plan 9-specific documentation for Perl DESCRIPTION Invoking Perl What's in Plan 9 Perl What's not in Plan 9 Perl Perl5 Functions not currently supported in Plan 9 Perl Signals in Plan 9 Perl COMPILING AND INSTALLING PERL ON PLAN 9 Installing Perl Documentation on Plan 9 BUGS Revision date AUTHOR perlqnx - Perl version 5 on QNX DESCRIPTION Required Software for Compiling Perl on QNX4 /bin/sh, ar, nm, cpp, make Outstanding Issues with Perl on QNX4 QNX auxiliary files qnx/ar, qnx/cpp Outstanding issues with perl under QNX6 Cross-compilation AUTHOR perlriscos - Perl version 5 for RISC OS DESCRIPTION BUILD AUTHOR perlsolaris - Perl version 5 on Solaris systems DESCRIPTION Solaris Version Numbers. RESOURCES Solaris FAQ, Precompiled Binaries, Solaris Documentation SETTING UP File Extraction Problems on Solaris. Compiler and Related Tools on Solaris. Environment for Compiling perl on Solaris RUN CONFIGURE. 64-bit perl on Solaris. Threads in perl on Solaris. Malloc Issues with perl on Solaris. MAKE PROBLEMS. Dynamic Loading Problems With GNU as and GNU ld, ld.so.1: ./perl: fatal: relocation error:, dlopen: stub interception failed, #error "No DATAMODEL_NATIVE specified", sh: ar: not found MAKE TEST op/stat.t test 4 in Solaris nss_delete core dump from op/pwent or op/grent CROSS-COMPILATION PREBUILT BINARIES OF PERL FOR SOLARIS. RUNTIME ISSUES FOR PERL ON SOLARIS. Limits on Numbers of Open Files on Solaris. SOLARIS-SPECIFIC MODULES. SOLARIS-SPECIFIC PROBLEMS WITH MODULES. Proc::ProcessTable on Solaris BSD::Resource on Solaris Net::SSLeay on Solaris SunOS 4.x AUTHOR perlsynology - Perl 5 on Synology DSM systems DESCRIPTION Setting up the build environment Compiling Perl 5 Known problems Error message "No error definitions found", ext/DynaLoader/t/DynaLoader.t Smoke testing Perl Adding libraries REVISION AUTHOR perltru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems DESCRIPTION Compiling Perl 5 on Tru64 Using Large Files with Perl on Tru64 Threaded Perl on Tru64 Long Doubles on Tru64 DB_File tests failing on Tru64 64-bit Perl on Tru64 Warnings about floating-point overflow when compiling Perl on Tru64 Testing Perl on Tru64 ext/ODBM_File/odbm Test Failing With Static Builds Perl Fails Because Of Unresolved Symbol sockatmark read_cur_obj_info: bad file magic number AUTHOR perlvms - VMS-specific documentation for Perl DESCRIPTION Installation Organization of Perl Images Core Images Perl Extensions Installing static extensions Installing dynamic extensions File specifications Syntax Filename Case Symbolic Links Wildcard expansion Pipes PERL5LIB and PERLLIB The Perl Forked Debugger PERL_VMS_EXCEPTION_DEBUG Command line I/O redirection and backgrounding Command line switches -i, -S, -u Perl functions File tests, backticks, binmode FILEHANDLE, crypt PLAINTEXT, USER, die, dump, exec LIST, fork, getpwent, getpwnam, getpwuid, gmtime, kill, qx//, select (system call), stat EXPR, system LIST, time, times, unlink LIST, utime LIST, waitpid PID,FLAGS Perl variables %ENV, CRTL_ENV, CLISYM_[LOCAL], Any other string, $!, $^E, $?, $| Standard modules with VMS-specific differences SDBM_File Revision date AUTHOR perlvos - Perl for Stratus OpenVOS SYNOPSIS BUILDING PERL FOR OPENVOS INSTALLING PERL IN OPENVOS USING PERL IN OPENVOS Restrictions of Perl on OpenVOS TEST STATUS SUPPORT STATUS AUTHOR LAST UPDATE perlwin32 - Perl under Windows SYNOPSIS DESCRIPTION , Setting Up Perl on Windows Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2013-2022 Community Edition, Microsoft C++ Build Tools, GCC, Intel C++ Compiler Building Testing Perl on Windows Installation of Perl on Windows Usage Hints for Perl on Windows Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Notes on 64-bit Windows Running Perl Scripts Miscellaneous Things BUGS AND CAVEATS ACKNOWLEDGEMENTS AUTHORS Gary Ng <71564.1743@CompuServe.COM>, Gurusamy Sarathy , Nick Ing-Simmons , Jan Dubois , Steve Hay SEE ALSO HISTORY perlboot - Links to information on object-oriented programming in Perl DESCRIPTION perlbot - Links to information on object-oriented programming in Perl DESCRIPTION perlrepository - Links to current information on the Perl source repository DESCRIPTION perltodo - Link to the Perl to-do list DESCRIPTION perltooc - Links to information on object-oriented programming in Perl DESCRIPTION perltoot - Links to information on object-oriented programming in Perl DESCRIPTION PRAGMA DOCUMENTATION attributes - get/set subroutine or variable attributes SYNOPSIS DESCRIPTION What "import" does Built-in Attributes lvalue, method, prototype(..), const, shared Available Subroutines get, reftype Package-specific Attribute Handling FETCH_type_ATTRIBUTES, MODIFY_type_ATTRIBUTES Syntax of Attribute Lists EXPORTS Default exports Available exports Export tags defined EXAMPLES MORE EXAMPLES SEE ALSO autodie - Replace functions with ones that succeed or die with lexical scope SYNOPSIS DESCRIPTION EXCEPTIONS CATEGORIES FUNCTION SPECIFIC NOTES print flock system/exec GOTCHAS DIAGNOSTICS :void cannot be used with lexical scope, No user hints defined for %s Tips and Tricks Importing autodie into another namespace than "caller" BUGS autodie and string eval REPORTING BUGS FEEDBACK AUTHOR LICENSE SEE ALSO ACKNOWLEDGEMENTS autodie::Scope::Guard - Wrapper class for calling subs at end of scope SYNOPSIS DESCRIPTION Methods AUTHOR LICENSE autodie::Scope::GuardStack - Hook stack for managing scopes via %^H SYNOPSIS DESCRIPTION Methods AUTHOR LICENSE autodie::Util - Internal Utility subroutines for autodie and Fatal SYNOPSIS DESCRIPTION Methods AUTHOR LICENSE autodie::exception - Exceptions from autodying functions. SYNOPSIS DESCRIPTION Common Methods Advanced methods SEE ALSO LICENSE AUTHOR autodie::exception::system - Exceptions from autodying system(). SYNOPSIS DESCRIPTION stringify LICENSE AUTHOR autodie::hints - Provide hints about user subroutines to autodie SYNOPSIS DESCRIPTION Introduction What are hints? Example hints Manually setting hints from within your program Adding hints to your module Insisting on hints Diagnostics Attempts to set_hints_for unidentifiable subroutine, fail hints cannot be provided with either scalar or list hints for %s, %s hint missing for %s ACKNOWLEDGEMENTS AUTHOR LICENSE SEE ALSO autodie::skip - Skip a package when throwing autodie exceptions SYNPOSIS DESCRIPTION AUTHOR LICENSE SEE ALSO autouse - postpone load of modules until a function is used SYNOPSIS DESCRIPTION WARNING AUTHOR SEE ALSO base - Establish an ISA relationship with base classes at compile time SYNOPSIS DESCRIPTION DIAGNOSTICS Base class package "%s" is empty, Class 'Foo' tried to inherit from itself HISTORY CAVEATS SEE ALSO bigfloat - transparent big floating point number support for Perl SYNOPSIS DESCRIPTION Options a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version Math Library Method calls Methods inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect() CAVEATS Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct() EXAMPLES BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings LICENSE SEE ALSO AUTHORS bigint - transparent big integer support for Perl SYNOPSIS DESCRIPTION use integer vs. use bigint Options a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version Math Library Method calls Methods inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect() CAVEATS Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct() EXAMPLES BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings LICENSE SEE ALSO AUTHORS bignum - transparent big number support for Perl SYNOPSIS DESCRIPTION Literal numeric constants Upgrading and downgrading Overloading Options a or accuracy, p or precision, l, lib, try, or only, hex, oct, v or version Math Library Method calls Methods inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), upgrade(), downgrade(), in_effect() CAVEATS The upgrade() and downgrade() methods, Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct() EXAMPLES BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings LICENSE SEE ALSO AUTHORS bigrat - transparent big rational number support for Perl SYNOPSIS DESCRIPTION Options a or accuracy, p or precision, t or trace, l, lib, try, or only, hex, oct, v or version Math Library Method calls Methods inf(), NaN(), e, PI, bexp(), bpi(), accuracy(), precision(), round_mode(), div_scale(), in_effect() CAVEATS Hexadecimal, octal, and binary floating point literals, Operator vs literal overloading, Ranges, in_effect(), hex()/oct() EXAMPLES BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings LICENSE SEE ALSO AUTHORS blib - Use MakeMaker's uninstalled version of a package SYNOPSIS DESCRIPTION BUGS AUTHOR builtin - Perl pragma to import built-in utility functions SYNOPSIS DESCRIPTION Lexical Import FUNCTIONS true false is_bool weaken unweaken is_weak blessed refaddr reftype created_as_string created_as_number ceil floor indexed trim is_tainted export_lexically SEE ALSO bytes - Perl pragma to expose the individual bytes of characters NOTICE SYNOPSIS DESCRIPTION LIMITATIONS SEE ALSO charnames - access to Unicode character names and named character sequences; also define character names SYNOPSIS DESCRIPTION LOOSE MATCHES ALIASES CUSTOM ALIASES charnames::string_vianame(name) charnames::vianame(name) charnames::viacode(code) CUSTOM TRANSLATORS BUGS constant - Perl pragma to declare constants SYNOPSIS DESCRIPTION NOTES List constants Defining multiple constants at once Magic constants TECHNICAL NOTES CAVEATS SEE ALSO BUGS AUTHORS COPYRIGHT & LICENSE deprecate - Perl pragma for deprecating the inclusion of a module in core SYNOPSIS DESCRIPTION Important Caveat EXPORT SEE ALSO AUTHOR COPYRIGHT AND LICENSE diagnostics, splain - produce verbose warning diagnostics SYNOPSIS DESCRIPTION The "diagnostics" Pragma The splain Program EXAMPLES INTERNALS BUGS AUTHOR encoding - allows you to write your script in non-ASCII and non-UTF-8 WARNING SYNOPSIS DESCRIPTION "use encoding ['ENCNAME'] ;", "use encoding ENCNAME, Filter=>1;", "no encoding;" OPTIONS Setting "STDIN" and/or "STDOUT" individually The ":locale" sub-pragma CAVEATS SIDE EFFECTS DO NOT MIX MULTIPLE ENCODINGS Prior to Perl v5.22 Prior to Encode version 1.87 Prior to Perl v5.8.1 "NON-EUC" doublebyte encodings, "tr///", Legend of characters above EXAMPLE - Greekperl BUGS Thread safety, Can't be used by more than one module in a single program, Other modules using "STDIN" and "STDOUT" get the encoded stream, literals in regex that are longer than 127 bytes, EBCDIC, "format", See also "CAVEATS" in encoding HISTORY SEE ALSO encoding::warnings - Warn on implicit encoding conversions VERSION NOTICE SYNOPSIS DESCRIPTION Overview of the problem Detecting the problem Solving the problem Upgrade both sides to unicode-strings, Downgrade both sides to byte-strings, Specify the encoding for implicit byte-string upgrading, PerlIO layers for STDIN and STDOUT, Literal conversions, Implicit upgrading for byte-strings CAVEATS SEE ALSO AUTHORS COPYRIGHT experimental - Experimental features made easy VERSION SYNOPSIS DESCRIPTION "args_array_with_signatures" - allow @_ to be used in signatured subs, "array_base" - allow the use of $[ to change the starting index of @array, "autoderef" - allow push, each, keys, and other built-ins on references, "bitwise" - allow the new stringwise bit operators, "builtin" - allow the use of the functions in the builtin:: namespace, "const_attr" - allow the :const attribute on subs, "declared_refs" - enables aliasing via assignment to references, "defer" - enables the use of defer blocks, "extra_paired_delimiters" - enables the use of more paired string delimiters than the traditional four, "< >", "( )", "{ }", and "[ ]", "for_list" - allows iterating over multiple values at a time with "for", "isa" - allow the use of the "isa" infix operator, "lexical_topic" - allow the use of lexical $_ via "my $_", "lexical_subs" - allow the use of lexical subroutines, "postderef" - allow the use of postfix dereferencing expressions, "postderef_qq" - allow the use of postfix dereferencing expressions inside interpolating strings, "re_strict" - enables strict mode in regular expressions, "refaliasing" - allow aliasing via "\$x = \$y", "regex_sets" - allow extended bracketed character classes in regexps, "signatures" - allow subroutine signatures (for named arguments), "smartmatch" - allow the use of "~~", "switch" - allow the use of "~~", given, and when, "try" - allow the use of "try" and "catch", "win32_perlio" - allows the use of the :win32 IO layer Ordering matters Disclaimer SEE ALSO AUTHOR COPYRIGHT AND LICENSE feature - Perl pragma to enable new features SYNOPSIS DESCRIPTION Lexical effect "no feature" AVAILABLE FEATURES The 'say' feature The 'state' feature The 'switch' feature The 'unicode_strings' feature The 'unicode_eval' and 'evalbytes' features The 'current_sub' feature The 'array_base' feature The 'fc' feature The 'lexical_subs' feature The 'postderef' and 'postderef_qq' features The 'signatures' feature The 'refaliasing' feature The 'bitwise' feature The 'declared_refs' feature The 'isa' feature The 'indirect' feature The 'multidimensional' feature The 'bareword_filehandles' feature The 'try' feature The 'defer' feature The 'extra_paired_delimiters' feature The 'module_true' feature The 'class' feature FEATURE BUNDLES IMPLICIT LOADING CHECKING FEATURES feature_enabled($feature), feature_enabled($feature, $depth), features_enabled(), features_enabled($depth), feature_bundle(), feature_bundle($depth) fields - compile-time class fields SYNOPSIS DESCRIPTION new, phash SEE ALSO filetest - Perl pragma to control the filetest permission operators SYNOPSIS DESCRIPTION Consider this carefully The "access" sub-pragma Limitation with regard to "_" if - "use" a Perl module if a condition holds SYNOPSIS DESCRIPTION "use if" "no if" BUGS SEE ALSO AUTHOR COPYRIGHT AND LICENCE integer - Perl pragma to use integer arithmetic instead of floating point SYNOPSIS DESCRIPTION less - perl pragma to request less of something SYNOPSIS DESCRIPTION FOR MODULE AUTHORS "BOOLEAN = less->of( FEATURE )" "FEATURES = less->of()" CAVEATS This probably does nothing, This works only on 5.10+ lib - manipulate @INC at compile time SYNOPSIS DESCRIPTION Adding directories to @INC Deleting directories from @INC Restoring original @INC CAVEATS NOTES SEE ALSO AUTHOR COPYRIGHT AND LICENSE locale - Perl pragma to use or avoid POSIX locales for built-in operations WARNING SYNOPSIS DESCRIPTION mro - Method Resolution Order SYNOPSIS DESCRIPTION OVERVIEW The C3 MRO What is C3? How does C3 work Functions mro::get_linear_isa($classname[, $type]) mro::set_mro ($classname, $type) mro::get_mro($classname) mro::get_isarev($classname) mro::is_universal($classname) mro::invalidate_all_method_caches() mro::method_changed_in($classname) mro::get_pkg_gen($classname) next::method next::can maybe::next::method SEE ALSO The original Dylan paper "/citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1 &type=pdf" in http: Python 2.3 MRO Class::C3 Class::C3 AUTHOR ok - Alternative to Test::More::use_ok SYNOPSIS DESCRIPTION CC0 1.0 Universal open - perl pragma to set default PerlIO layers for input and output SYNOPSIS DESCRIPTION IMPLEMENTATION DETAILS SEE ALSO ops - Perl pragma to restrict unsafe operations when compiling SYNOPSIS DESCRIPTION SEE ALSO overload - Package for overloading Perl operations SYNOPSIS DESCRIPTION Fundamentals Overloadable Operations "not", "neg", "++", "--", Assignments, Non-mutators with a mutator variant, "int", String, numeric, boolean, and regexp conversions, Iteration, File tests, Matching, Dereferencing, Special Magic Autogeneration Special Keys for "use overload" defined, but FALSE, "undef", TRUE How Perl Chooses an Operator Implementation Losing Overloading Inheritance and Overloading Method names in the "use overload" directive, Overloading of an operation is inherited by derived classes Run-time Overloading Public Functions overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op) Overloading Constants integer, float, binary, q, qr IMPLEMENTATION COOKBOOK Two-face Scalars Two-face References Symbolic Calculator Really Symbolic Calculator AUTHOR SEE ALSO DIAGNOSTICS Odd number of arguments for overload::constant, '%s' is not an overloadable type, '%s' is not a code reference, overload arg '%s' is invalid BUGS AND PITFALLS overloading - perl pragma to lexically control overloading SYNOPSIS DESCRIPTION "no overloading", "no overloading @ops", "use overloading", "use overloading @ops" parent - Establish an ISA relationship with base classes at compile time SYNOPSIS DESCRIPTION HISTORY CAVEATS SEE ALSO base, parent::versioned AUTHORS AND CONTRIBUTORS MAINTAINER LICENSE re - Perl pragma to alter regular expression behaviour SYNOPSIS DESCRIPTION 'taint' mode 'eval' mode 'strict' mode '/flags' mode 'debug' mode 'Debug' mode Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, FLAGS, TEST, Execute related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options, EXTRA, BUFFERS, TRIEM, STATE, STACK, GPOS, OPTIMISEM, DUMP_PRE_OPTIMIZE, WILDCARD, Other useful flags, ALL, All, MORE, More Exportable Functions is_regexp($ref), regexp_pattern($ref), regname($name,$all), regnames($all), regnames_count(), regmust($ref), optimization($ref), minlen, minlenret, gofs, noscan, isall, anchor SBOL, anchor MBOL, anchor GPOS, skip, implicit, anchored/floating, anchored utf8/floating utf8, anchored min offset/floating min offset, anchored max offset/floating max offset, anchored end shift/floating end shift, checking, stclass SEE ALSO sigtrap - Perl pragma to enable simple signal handling SYNOPSIS DESCRIPTION OPTIONS SIGNAL HANDLERS stack-trace, die, handler your-handler SIGNAL LISTS normal-signals, error-signals, old-interface-signals OTHER untrapped, any, signal, number EXAMPLES sort - perl pragma to control sort() behaviour SYNOPSIS DESCRIPTION CAVEATS stable - Experimental features made easy, once we know they're stable VERSION SYNOPSIS DESCRIPTION "bitwise" - stable as of perl 5.22, available via stable 0.031, "isa" - stable as of perl 5.32, available via stable 0.031, "lexical_subs" - stable as of perl 5.22, available via stable 0.031, "postderef" - stable as of perl 5.20, available via stable 0.031 SEE ALSO AUTHOR COPYRIGHT AND LICENSE strict - Perl pragma to restrict unsafe constructs SYNOPSIS DESCRIPTION "strict refs", "strict vars", "strict subs" HISTORY subs - Perl pragma to predeclare subroutine names SYNOPSIS DESCRIPTION threads - Perl interpreter-based threads VERSION WARNING SYNOPSIS DESCRIPTION $thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(), threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr", threads->object($tid), threads->yield(), threads->list(), threads->list(threads::all), threads->list(threads::running), threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;, $thr->error(), $thr->_handle(), threads->_handle() EXITING A THREAD threads->exit(), threads->exit(status), die(), exit(status), use threads 'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...), $thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean) THREAD STATE $thr->is_running(), $thr->is_joinable(), $thr->is_detached(), threads->is_detached() THREAD CONTEXT Explicit context Implicit context $thr->wantarray() threads->wantarray() THREAD STACK SIZE threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size = threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);, $ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE}, FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS) THREAD SIGNALLING $thr->kill('SIG...'); WARNINGS Perl exited with active threads:, Thread creation failed: pthread_create returned #, Thread # terminated abnormally: .., Using minimum thread stack size of #, Thread creation failed: pthread_attr_setstacksize(SIZE) returned 22 ERRORS This Perl not built to support threads, Cannot change stack size of an existing thread, Cannot signal threads without safe signals, Unrecognized signal name: .. BUGS AND LIMITATIONS Thread-safe modules, Using non-thread-safe modules, Memory consumption, Current working directory, Locales, Environment variables, Catching signals, Parent-child threads, Unsafe signals, Perl has been built with "PERL_OLD_SIGNALS" (see "perl -V"), The environment variable "PERL_SIGNALS" is set to "unsafe" (see "PERL_SIGNALS" in perlrun), The module Perl::Unsafe::Signals is used, Identity of objects returned from threads, Returning blessed objects from threads, END blocks in threads, Open directory handles, Detached threads and global destruction, Perl Bugs and the CPAN Version of threads REQUIREMENTS SEE ALSO AUTHOR LICENSE ACKNOWLEDGEMENTS threads::shared - Perl extension for sharing data structures between threads VERSION SYNOPSIS DESCRIPTION EXPORT FUNCTIONS share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE, cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE, ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal VARIABLE, cond_broadcast VARIABLE OBJECTS NOTES WARNINGS cond_broadcast() called on unlocked variable, cond_signal() called on unlocked variable BUGS AND LIMITATIONS SEE ALSO AUTHOR LICENSE utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code SYNOPSIS DESCRIPTION Utility functions "$num_octets = utf8::upgrade($string)", "$success = utf8::downgrade($string[, $fail_ok])", utf8::encode($string), "$success = utf8::decode($string)", $unicode = utf8::native_to_unicode($code_point), $native = utf8::unicode_to_native($code_point), "$flag = utf8::is_utf8($string)", "$flag = utf8::valid($string)" BUGS SEE ALSO vars - Perl pragma to predeclare global variable names SYNOPSIS DESCRIPTION version - Perl extension for Version Objects SYNOPSIS DESCRIPTION TYPES OF VERSION OBJECTS Decimal Versions, Dotted Decimal Versions DECLARING VERSIONS How to convert a module from decimal to dotted-decimal How to declare() a dotted-decimal version PARSING AND COMPARING VERSIONS How to parse() a version How to check for a legal version string is_lax(), is_strict() How to compare version objects OBJECT METHODS is_alpha() is_qv() normal() numify() stringify() EXPORTED FUNCTIONS qv() is_lax() is_strict() AUTHOR SEE ALSO version::Internals - Perl extension for Version Objects DESCRIPTION WHAT IS A VERSION? Decimal versions, Dotted-Decimal versions Decimal Versions Dotted-Decimal Versions Alpha Versions Regular Expressions for Version Parsing $version::LAX, $version::STRICT, v1.234.5 IMPLEMENTATION DETAILS Equivalence between Decimal and Dotted-Decimal Versions Quoting Rules What about v-strings? Version Object Internals original, qv, alpha, version Replacement UNIVERSAL::VERSION USAGE DETAILS Using modules that use version.pm Decimal versions always work, Dotted-Decimal version work sometimes Object Methods new(), qv(), Normal Form, Numification, Stringification, Comparison operators, Logical Operators AUTHOR SEE ALSO vmsish - Perl pragma to control VMS-specific language features SYNOPSIS DESCRIPTION "vmsish status", "vmsish exit", "vmsish time", "vmsish hushed" warnings - Perl pragma to control optional warnings SYNOPSIS DESCRIPTION Default Warnings and Optional Warnings "Negative warnings" What's wrong with -w and $^W Controlling Warnings from the Command Line -w , -W , -X Backward Compatibility Category Hierarchy Fatal Warnings Reporting Warnings from a Module FUNCTIONS use warnings::register, warnings::enabled(), warnings::enabled($category), warnings::enabled($object), warnings::enabled_at_level($category, $level), warnings::fatal_enabled(), warnings::fatal_enabled($category), warnings::fatal_enabled($object), warnings::fatal_enabled_at_level($category, $level), warnings::warn($message), warnings::warn($category, $message), warnings::warn($object, $message), warnings::warn_at_level($category, $level, $message), warnings::warnif($message), warnings::warnif($category, $message), warnings::warnif($object, $message), warnings::warnif_at_level($category, $level, $message), warnings::register_categories(@names) warnings::register - warnings import function SYNOPSIS DESCRIPTION MODULE DOCUMENTATION AnyDBM_File - provide framework for multiple DBMs SYNOPSIS DESCRIPTION DBM Comparisons [0], [1], [2], [3] SEE ALSO App::Cpan - easily interact with CPAN from the command line SYNOPSIS DESCRIPTION Options -a, -A module [ module ... ], -c module, -C module [ module ... ], -D module [ module ... ], -f, -F, -g module [ module ... ], -G module [ module ... ], -h, -i module [ module ... ], -I, -j Config.pm, -J, -l, -L author [ author ... ], -m, -M mirror1,mirror2,.., -n, -O, -p, -P, -r, -s, -t module [ module ... ], -T, -u, -v, -V, -w, -x module [ module ... ], -X Examples Environment variables NONINTERACTIVE_TESTING, PERL_MM_USE_DEFAULT, CPAN_OPTS, CPANSCRIPT_LOGLEVEL, GIT_COMMAND Methods run( ARGS ) EXIT VALUES TO DO BUGS SEE ALSO SOURCE AVAILABILITY CREDITS AUTHOR COPYRIGHT App::Prove - Implements the "prove" command. VERSION DESCRIPTION SYNOPSIS METHODS Class Methods Attributes "archive", "argv", "backwards", "blib", "color", "directives", "dry", "exec", "extensions", "failures", "comments", "formatter", "harness", "ignore_exit", "includes", "jobs", "lib", "merge", "modules", "parse", "plugins", "quiet", "really_quiet", "recurse", "rules", "show_count", "show_help", "show_man", "show_version", "shuffle", "state", "state_class", "taint_fail", "taint_warn", "test_args", "timer", "verbose", "warnings_fail", "warnings_warn", "tapversion", "trap" PLUGINS Sample Plugin SEE ALSO App::Prove::State - State storage for the "prove" command. VERSION DESCRIPTION SYNOPSIS METHODS Class Methods "store", "extensions" (optional), "result_class" (optional) "result_class" "extensions" "results" "commit" Instance Methods "last", "failed", "passed", "all", "hot", "todo", "slow", "fast", "new", "old", "save" App::Prove::State::Result - Individual test suite results. VERSION DESCRIPTION SYNOPSIS METHODS Class Methods "state_version" "test_class" App::Prove::State::Result::Test - Individual test results. VERSION DESCRIPTION SYNOPSIS METHODS Class Methods Instance Methods Archive::Tar - module for manipulations of tar archives SYNOPSIS DESCRIPTION Object Methods Archive::Tar->new( [$file, $compressed] ) $tar->read ( $filename|$handle, [$compressed, {opt => 'val'}] ) limit, filter, md5, extract $tar->contains_file( $filename ) $tar->extract( [@filenames] ) $tar->extract_file( $file, [$extract_path] ) $tar->list_files( [\@properties] ) $tar->get_files( [@filenames] ) $tar->get_content( $file ) $tar->replace_content( $file, $content ) $tar->rename( $file, $new_name ) $tar->chmod( $file, $mode ) $tar->chown( $file, $uname [, $gname] ) $tar->remove (@filenamelist) $tar->clear $tar->write ( [$file, $compressed, $prefix] ) $tar->add_files( @filenamelist ) $tar->add_data ( $filename, $data, [$opthashref] ) FILE, HARDLINK, SYMLINK, CHARDEV, BLOCKDEV, DIR, FIFO, SOCKET $tar->error( [$BOOL] ) $tar->setcwd( $cwd ); Class Methods Archive::Tar->create_archive($file, $compressed, @filelist) Archive::Tar->iter( $filename, [ $compressed, {opt => $val} ] ) Archive::Tar->list_archive($file, $compressed, [\@properties]) Archive::Tar->extract_archive($file, $compressed) $bool = Archive::Tar->has_io_string $bool = Archive::Tar->has_perlio $bool = Archive::Tar->has_zlib_support $bool = Archive::Tar->has_bzip2_support $bool = Archive::Tar->has_xz_support Archive::Tar->can_handle_compressed_files GLOBAL VARIABLES $Archive::Tar::FOLLOW_SYMLINK $Archive::Tar::CHOWN $Archive::Tar::CHMOD $Archive::Tar::SAME_PERMISSIONS $Archive::Tar::DO_NOT_USE_PREFIX $Archive::Tar::DEBUG $Archive::Tar::WARN $Archive::Tar::error $Archive::Tar::INSECURE_EXTRACT_MODE $Archive::Tar::HAS_PERLIO $Archive::Tar::HAS_IO_STRING $Archive::Tar::ZERO_PAD_NUMBERS Tuning the way RESOLVE_SYMLINK will works FAQ What's the minimum perl version required to run Archive::Tar?, Isn't Archive::Tar slow?, Isn't Archive::Tar heavier on memory than /bin/tar?, Can you lazy-load data instead?, How much memory will an X kb tar file need?, What do you do with unsupported filetypes in an archive?, I'm using WinZip, or some other non-POSIX client, and files are not being extracted properly!, How do I extract only files that have property X from an archive?, How do I access .tar.Z files?, How do I handle Unicode strings? CAVEATS TODO Check if passed in handles are open for read/write, Allow archives to be passed in as string, Facilitate processing an opened filehandle of a compressed archive SEE ALSO The GNU tar specification, The PAX format specification, A comparison of GNU and POSIX tar standards; "http://www.delorie.com/gnu/docs/tar/tar_114.html", GNU tar intends to switch to POSIX compatibility, A Comparison between various tar implementations AUTHOR ACKNOWLEDGEMENTS COPYRIGHT Archive::Tar::File - a subclass for in-memory extracted file from Archive::Tar SYNOPSIS DESCRIPTION Accessors name, mode, uid, gid, size, mtime, chksum, type, linkname, magic, version, uname, gname, devmajor, devminor, prefix, raw Methods Archive::Tar::File->new( file => $path ) Archive::Tar::File->new( data => $path, $data, $opt ) Archive::Tar::File->new( chunk => $chunk ) $bool = $file->extract( [ $alternative_name ] ) $path = $file->full_path $bool = $file->validate $bool = $file->has_content $content = $file->get_content $cref = $file->get_content_by_ref $bool = $file->replace_content( $content ) $bool = $file->rename( $new_name ) $bool = $file->chmod $mode) $bool = $file->chown( $user [, $group]) Convenience methods $file->is_file, $file->is_dir, $file->is_hardlink, $file->is_symlink, $file->is_chardev, $file->is_blockdev, $file->is_fifo, $file->is_socket, $file->is_longlink, $file->is_label, $file->is_unknown Attribute::Handlers - Simpler definition of attribute handlers VERSION SYNOPSIS DESCRIPTION [0], [1], [2], [3], [4], [5], [6], [7] Typed lexicals Type-specific attribute handlers Non-interpretive attribute handlers Phase-specific attribute handlers Attributes as "tie" interfaces EXAMPLES UTILITY FUNCTIONS findsym DIAGNOSTICS "Bad attribute type: ATTR(%s)", "Attribute handler %s doesn't handle %s attributes", "Declaration of %s attribute in package %s may clash with future reserved word", "Can't have two ATTR specifiers on one subroutine", "Can't autotie a %s", "Internal error: %s symbol went missing", "Won't be able to apply END handler" AUTHOR BUGS COPYRIGHT AND LICENSE AutoLoader - load subroutines only on demand SYNOPSIS DESCRIPTION Subroutine Stubs Using AutoLoader's AUTOLOAD Subroutine Overriding AutoLoader's AUTOLOAD Subroutine Package Lexicals Not Using AutoLoader AutoLoader vs. SelfLoader Forcing AutoLoader to Load a Function CAVEATS SEE ALSO AUTHOR COPYRIGHT AND LICENSE AutoSplit - split a package for autoloading SYNOPSIS DESCRIPTION $keep, $check, $modtime Multiple packages DIAGNOSTICS AUTHOR COPYRIGHT AND LICENSE B - The Perl Compiler Backend SYNOPSIS DESCRIPTION OVERVIEW Utility Functions Functions Returning "B::SV", "B::AV", "B::HV", and "B::CV" objects sv_undef, sv_yes, sv_no, svref_2object(SVREF), amagic_generation, init_av, check_av, unitcheck_av, begin_av, end_av, comppadlist, regex_padav, main_cv Functions for Examining the Symbol Table walksymtable(SYMREF, METHOD, RECURSE, PREFIX) Functions Returning "B::OP" objects or for walking op trees main_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG) Miscellaneous Utility Functions ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), perlstring(STR), safename(STR), class(OBJ), threadsv_names Exported utility variables @optype, @specialsv_name OVERVIEW OF CLASSES SV-RELATED CLASSES B::SV Methods REFCNT, FLAGS, IsBOOL, object_2svref, TRUE, TRUE_nomg B::IV Methods IV, IVX, UVX, int_value, needs64bits, packiv B::NV Methods NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH B::RV Methods RV B::PV Methods PV, RV, PVX, CUR, LEN B::PVMG Methods MAGIC, SvSTASH B::MAGIC Methods MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX B::INVLIST Methods prev_index, is_offset, array_len, get_invlist_array B::PVLV Methods TARGOFF, TARGLEN, TYPE, TARG B::BM Methods USEFUL, PREVIOUS, RARE, TABLE B::REGEXP Methods REGEX, precomp, qr_anoncv, compflags B::GV Methods is_empty, NAME, SAFENAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE, FILEGV, GvREFCNT, FLAGS, GPFLAGS B::IO Methods LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD B::AV Methods FILL, MAX, ARRAY, ARRAYelt B::CV Methods STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS, const_sv, NAME_HEK B::HV Methods FILL, MAX, KEYS, RITER, NAME, ARRAY OP-RELATED CLASSES B::OP Methods next, sibling, parent, name, ppaddr, desc, targ, type, opt, flags, private, spare B::UNOP Method first B::UNOP_AUX Methods (since 5.22) aux_list(cv), string(cv) B::BINOP Method last B::LOGOP Method other B::LISTOP Method children B::PMOP Methods pmreplroot, pmreplstart, pmflags, precomp, pmoffset, code_list, pmregexp B::SVOP Methods sv, gv B::PADOP Method padix B::PVOP Method pv B::LOOP Methods redoop, nextop, lastop B::COP Methods label, stash, stashpv, stashoff (threaded only), file, cop_seq, line, warnings, io, hints, hints_hash B::METHOP Methods (Since Perl 5.22) first, meth_sv PAD-RELATED CLASSES B::PADLIST Methods MAX, ARRAY, ARRAYelt, NAMES, REFCNT, id, outid B::PADNAMELIST Methods MAX, ARRAY, ARRAYelt, REFCNT B::PADNAME Methods PV, PVX, LEN, REFCNT, GEN, FLAGS, TYPE, SvSTASH, OURSTASH, PROTOCV, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH, PARENT_PAD_INDEX, PARENT_FAKELEX_FLAGS, IsUndef $B::overlay AUTHOR B::Concise - Walk Perl syntax tree, printing concise info about ops SYNOPSIS DESCRIPTION EXAMPLE OPTIONS Options for Opcode Ordering -basic, -exec, -tree Options for Line-Style -concise, -terse, -linenoise, -debug, -env Options for tree-specific formatting -compact, -loose, -vt, -ascii Options controlling sequence numbering -basen, -bigendian, -littleendian Other options -src, -stash="somepackage", -main, -nomain, -nobanner, -banner, -banneris => subref Option Stickiness ABBREVIATIONS OP class abbreviations OP flags abbreviations FORMATTING SPECIFICATIONS Special Patterns (x(exec_text;basic_text)x), (*(text)*), (*(text1;text2)*), (?(text1#varText2)?), ~ # Variables #var, #varN, #Var, #addr, #arg, #class, #classsym, #coplabel, #exname, #extarg, #firstaddr, #flags, #flagval, #hints, #hintsval, #hyphseq, #label, #lastaddr, #name, #NAME, #next, #nextaddr, #noise, #private, #privval, #seq, #opt, #sibaddr, #svaddr, #svclass, #svval, #targ, #targarg, #targarglife, #typenum One-Liner Command tips perl -MO=Concise,bar foo.pl, perl -MDigest::MD5=md5 -MO=Concise,md5 -e1, perl -MPOSIX -MO=Concise,_POSIX_ARG_MAX -e1, perl -MPOSIX -MO=Concise,a -e 'print _POSIX_SAVED_IDS', perl -MPOSIX -MO=Concise,a -e 'sub a{_POSIX_SAVED_IDS}', perl -MB::Concise -e 'B::Concise::compile("-exec","-src", \%B::Concise::)->()' Using B::Concise outside of the O framework Example: Altering Concise Renderings set_style() set_style_standard($name) add_style () add_callback () Running B::Concise::compile() B::Concise::reset_sequence() Errors AUTHOR B::Deparse - Perl compiler backend to produce perl code SYNOPSIS DESCRIPTION OPTIONS -d, -fFILE, -l, -p, -P, -q, -sLETTERS, C, iNUMBER, T, vSTRING., -xLEVEL USING B::Deparse AS A MODULE Synopsis Description new ambient_pragmas strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits, %^H coderef2text BUGS AUTHOR B::Op_private - OP op_private flag definitions SYNOPSIS DESCRIPTION %bits %defines %labels %ops_using B::Showlex - Show lexical variables used in functions or files SYNOPSIS DESCRIPTION EXAMPLES OPTIONS SEE ALSO TODO AUTHOR B::Terse - Walk Perl syntax tree, printing terse info about ops SYNOPSIS DESCRIPTION AUTHOR B::Xref - Generates cross reference reports for Perl programs SYNOPSIS DESCRIPTION i, &, s, r OPTIONS "-oFILENAME", "-r", "-d", "-D[tO]" BUGS AUTHOR Benchmark - benchmark running times of Perl code SYNOPSIS DESCRIPTION Methods new, debug, iters Standard Exports timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ), timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] ) Optional Exports clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUNT, CODEHASHREF, [ STYLE ] ), cmpthese ( RESULTSHASHREF, [ STYLE ] ), countit(TIME, CODE), disablecache ( ), enablecache ( ), timesum ( T1, T2 ) :hireswallclock Benchmark Object cpu_p, cpu_c, cpu_a, real, iters NOTES EXAMPLES INHERITANCE CAVEATS SEE ALSO AUTHORS MODIFICATION HISTORY CORE - Namespace for Perl's core routines SYNOPSIS DESCRIPTION OVERRIDING CORE FUNCTIONS AUTHOR SEE ALSO CPAN - query, download and build perl modules from CPAN sites SYNOPSIS DESCRIPTION CPAN::shell([$prompt, $command]) Starting Interactive Mode Searching for authors, bundles, distribution files and modules, "get", "make", "test", "install", "clean" modules or distributions, "readme", "perldoc", "look" module or distribution, "ls" author, "ls" globbing_expression, "failed", Persistence between sessions, The "force" and the "fforce" pragma, Lockfile, Signals CPAN::Shell autobundle hosts install_tested, is_tested mkmyconfig r [Module|/Regexp/]... recent ***EXPERIMENTAL COMMAND*** recompile report Bundle|Distribution|Module smoke ***EXPERIMENTAL COMMAND*** upgrade [Module|/Regexp/]... The four "CPAN::*" Classes: Author, Bundle, Module, Distribution Integrating local directories Redirection Plugin support ***EXPERIMENTAL*** CONFIGURATION completion support, displaying some help: o conf help, displaying current values: o conf [KEY], changing of scalar values: o conf KEY VALUE, changing of list values: o conf KEY SHIFT|UNSHIFT|PUSH|POP|SPLICE|LIST, reverting to saved: o conf defaults, saving the config: o conf commit Config Variables "o conf ", "o conf ", "o conf ", "o conf [shift|pop]", "o conf [unshift|push|splice] ", interactive editing: o conf init [MATCH|LIST] CPAN::anycwd($path): Note on config variable getcwd cwd, getcwd, fastcwd, getdcwd, backtickcwd Note on the format of the urllist parameter The urllist parameter has CD-ROM support Maintaining the urllist parameter The "requires" and "build_requires" dependency declarations Configuration of the allow_installing_* parameters Configuration for individual distributions (Distroprefs) Filenames Fallback Data::Dumper and Storable Blueprint Language Specs comment [scalar], cpanconfig [hash], depends [hash] *** EXPERIMENTAL FEATURE ***, disabled [boolean], features [array] *** EXPERIMENTAL FEATURE ***, goto [string], install [hash], make [hash], match [hash], patches [array], pl [hash], test [hash] Processing Instructions args [array], commandline, eexpect [hash], env [hash], expect [array] Schema verification with "Kwalify" Example Distroprefs Files PROGRAMMER'S INTERFACE expand($type,@things), expandany(@things), Programming Examples Methods in the other Classes CPAN::Author::as_glimpse(), CPAN::Author::as_string(), CPAN::Author::email(), CPAN::Author::fullname(), CPAN::Author::name(), CPAN::Bundle::as_glimpse(), CPAN::Bundle::as_string(), CPAN::Bundle::clean(), CPAN::Bundle::contains(), CPAN::Bundle::force($method,@args), CPAN::Bundle::get(), CPAN::Bundle::inst_file(), CPAN::Bundle::inst_version(), CPAN::Bundle::uptodate(), CPAN::Bundle::install(), CPAN::Bundle::make(), CPAN::Bundle::readme(), CPAN::Bundle::test(), CPAN::Distribution::as_glimpse(), CPAN::Distribution::as_string(), CPAN::Distribution::author, CPAN::Distribution::pretty_id(), CPAN::Distribution::base_id(), CPAN::Distribution::clean(), CPAN::Distribution::containsmods(), CPAN::Distribution::cvs_import(), CPAN::Distribution::dir(), CPAN::Distribution::force($method,@args), CPAN::Distribution::get(), CPAN::Distribution::install(), CPAN::Distribution::isa_perl(), CPAN::Distribution::look(), CPAN::Distribution::make(), CPAN::Distribution::perldoc(), CPAN::Distribution::prefs(), CPAN::Distribution::prereq_pm(), CPAN::Distribution::readme(), CPAN::Distribution::reports(), CPAN::Distribution::read_yaml(), CPAN::Distribution::test(), CPAN::Distribution::uptodate(), CPAN::Index::force_reload(), CPAN::Index::reload(), CPAN::InfoObj::dump(), CPAN::Module::as_glimpse(), CPAN::Module::as_string(), CPAN::Module::clean(), CPAN::Module::cpan_file(), CPAN::Module::cpan_version(), CPAN::Module::cvs_import(), CPAN::Module::description(), CPAN::Module::distribution(), CPAN::Module::dslip_status(), CPAN::Module::force($method,@args), CPAN::Module::get(), CPAN::Module::inst_file(), CPAN::Module::available_file(), CPAN::Module::inst_version(), CPAN::Module::available_version(), CPAN::Module::install(), CPAN::Module::look(), CPAN::Module::make(), CPAN::Module::manpage_headline(), CPAN::Module::perldoc(), CPAN::Module::readme(), CPAN::Module::reports(), CPAN::Module::test(), CPAN::Module::uptodate(), CPAN::Module::userid() Cache Manager Bundles PREREQUISITES UTILITIES Finding packages and VERSION Debugging o debug package.., o debug -package.., o debug all, o debug number Floppy, Zip, Offline Mode Basic Utilities for Programmers has_inst($module), use_inst($module), has_usable($module), instance($module), frontend(), frontend($new_frontend) SECURITY Cryptographically signed modules EXPORT ENVIRONMENT POPULATE AN INSTALLATION WITH LOTS OF MODULES WORKING WITH CPAN.pm BEHIND FIREWALLS Three basic types of firewalls http firewall, ftp firewall, One-way visibility, SOCKS, IP Masquerade Configuring lynx or ncftp for going through a firewall FAQ 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19) COMPATIBILITY OLD PERL VERSIONS CPANPLUS CPANMINUS SECURITY ADVICE BUGS AUTHOR LICENSE TRANSLATIONS SEE ALSO CPAN::API::HOWTO - a recipe book for programming with CPAN.pm RECIPES What distribution contains a particular module? What modules does a particular distribution contain? SEE ALSO LICENSE AUTHOR CPAN::Debug - internal debugging for CPAN.pm LICENSE CPAN::Distroprefs -- read and match distroprefs SYNOPSIS DESCRIPTION INTERFACE a CPAN::Distroprefs::Result object, "undef", indicating that no prefs files remain to be found RESULTS Common Errors Successes PREFS LICENSE CPAN::FirstTime - Utility for CPAN::Config file Initialization SYNOPSIS DESCRIPTION allow_installing_module_downgrades, allow_installing_outdated_dists, auto_commit, build_cache, build_dir, build_dir_reuse, build_requires_install_policy, cache_metadata, check_sigs, cleanup_after_install, colorize_output, colorize_print, colorize_warn, colorize_debug, commandnumber_in_prompt, connect_to_internet_ok, ftp_passive, ftpstats_period, ftpstats_size, getcwd, halt_on_failure, histfile, histsize, inactivity_timeout, index_expire, inhibit_startup_message, keep_source_where, load_module_verbosity, makepl_arg, make_arg, make_install_arg, make_install_make_command, mbuildpl_arg, mbuild_arg, mbuild_install_arg, mbuild_install_build_command, pager, prefer_installer, prefs_dir, prerequisites_policy, pushy_https, randomize_urllist, recommends_policy, scan_cache, shell, show_unparsable_versions, show_upload_date, show_zero_versions, suggests_policy, tar_verbosity, term_is_latin, term_ornaments, test_report, perl5lib_verbosity, prefer_external_tar, trust_test_report_history, urllist_ping_external, urllist_ping_verbose, use_prompt_default, use_sqlite, version_timeout, yaml_load_code, yaml_module LICENSE CPAN::HandleConfig - internal configuration handling for CPAN.pm "CLASS->safe_quote ITEM" LICENSE CPAN::Kwalify - Interface between CPAN.pm and Kwalify.pm SYNOPSIS DESCRIPTION _validate($schema_name, $data, $file, $doc), yaml($schema_name) AUTHOR LICENSE CPAN::Meta - the distribution metadata for a CPAN dist VERSION SYNOPSIS DESCRIPTION METHODS new create load_file load_yaml_string load_json_string load_string save meta_spec_version effective_prereqs should_index_file should_index_package features feature as_struct as_string STRING DATA LIST DATA MAP DATA CUSTOM DATA BUGS SEE ALSO SUPPORT Bugs / Feature Requests Source Code AUTHORS CONTRIBUTORS COPYRIGHT AND LICENSE CPAN::Meta::Converter - Convert CPAN distribution metadata structures VERSION SYNOPSIS DESCRIPTION METHODS new convert upgrade_fragment BUGS AUTHORS COPYRIGHT AND LICENSE CPAN::Meta::Feature - an optional feature provided by a CPAN distribution VERSION DESCRIPTION METHODS new identifier description prereqs BUGS AUTHORS COPYRIGHT AND LICENSE CPAN::Meta::History - history of CPAN Meta Spec changes VERSION DESCRIPTION HISTORY Version 2 Version 1.4 Version 1.3 Version 1.2 Version 1.1 Version 1.0 AUTHORS COPYRIGHT AND LICENSE CPAN::Meta::History::Meta_1_0 - Version 1.0 metadata specification for META.yml PREFACE DESCRIPTION Format Fields name, version, license, perl, gpl, lgpl, artistic, bsd, open_source, unrestricted, restrictive, distribution_type, requires, recommends, build_requires, conflicts, dynamic_config, generated_by Related Projects DOAP History CPAN::Meta::History::Meta_1_1 - Version 1.1 metadata specification for META.yml PREFACE DESCRIPTION Format Fields name, version, license, perl, gpl, lgpl, artistic, bsd, open_source, unrestricted, restrictive, license_uri, distribution_type, private, requires, recommends, build_requires, conflicts, dynamic_config, generated_by Ingy's suggestions short_description, description, maturity, author_id, owner_id, categorization, keyword, chapter_id, URL for further information, namespaces History CPAN::Meta::History::Meta_1_2 - Version 1.2 metadata specification for META.yml PREFACE SYNOPSIS DESCRIPTION FORMAT TERMINOLOGY distribution, module VERSION SPECIFICATIONS HEADER FIELDS meta-spec name version abstract author license perl, gpl, lgpl, artistic, bsd, open_source, unrestricted, restrictive distribution_type requires recommends build_requires conflicts dynamic_config private provides no_index keywords resources homepage, license, bugtracker generated_by SEE ALSO HISTORY March 14, 2003 (Pi day), May 8, 2003, November 13, 2003, November 16, 2003, December 9, 2003, December 15, 2003, July 26, 2005, August 23, 2005 CPAN::Meta::History::Meta_1_3 - Version 1.3 metadata specification for META.yml PREFACE SYNOPSIS DESCRIPTION FORMAT TERMINOLOGY distribution, module HEADER FIELDS meta-spec name version abstract author license apache, artistic, bsd, gpl, lgpl, mit, mozilla, open_source, perl, restrictive, unrestricted distribution_type requires recommends build_requires conflicts dynamic_config private provides no_index keywords resources homepage, license, bugtracker generated_by VERSION SPECIFICATIONS SEE ALSO HISTORY March 14, 2003 (Pi day), May 8, 2003, November 13, 2003, November 16, 2003, December 9, 2003, December 15, 2003, July 26, 2005, August 23, 2005 CPAN::Meta::History::Meta_1_4 - Version 1.4 metadata specification for META.yml PREFACE SYNOPSIS DESCRIPTION FORMAT TERMINOLOGY distribution, module HEADER FIELDS meta-spec name version abstract author license apache, artistic, bsd, gpl, lgpl, mit, mozilla, open_source, perl, restrictive, unrestricted distribution_type requires recommends build_requires configure_requires conflicts dynamic_config private provides no_index keywords resources homepage, license, bugtracker generated_by VERSION SPECIFICATIONS SEE ALSO HISTORY March 14, 2003 (Pi day), May 8, 2003, November 13, 2003, November 16, 2003, December 9, 2003, December 15, 2003, July 26, 2005, August 23, 2005, June 12, 2007 CPAN::Meta::Merge - Merging CPAN Meta fragments VERSION SYNOPSIS DESCRIPTION METHODS new merge(@fragments) MERGE STRATEGIES identical, set_addition, uniq_map, improvise AUTHORS COPYRIGHT AND LICENSE CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type VERSION DESCRIPTION METHODS new requirements_for phases types_in with_merged_prereqs merged_requirements as_string_hash is_finalized finalize clone BUGS AUTHORS COPYRIGHT AND LICENSE CPAN::Meta::Requirements - a set of version requirements for a CPAN dist VERSION SYNOPSIS DESCRIPTION METHODS new add_minimum add_maximum add_exclusion exact_version add_requirements accepts_module clear_requirement requirements_for_module structured_requirements_for_module required_modules clone is_simple is_finalized finalize as_string_hash add_string_requirement >= 1.3, <= 1.3, != 1.3, > 1.3, < 1.3, >= 1.3, != 1.5, <= 2.0 from_string_hash SUPPORT Bugs / Feature Requests Source Code AUTHORS CONTRIBUTORS COPYRIGHT AND LICENSE CPAN::Meta::Spec - specification for CPAN distribution metadata VERSION SYNOPSIS DESCRIPTION TERMINOLOGY distribution, module, package, consumer, producer, must, should, may, etc DATA TYPES Boolean String List Map License String URL Version Version Range STRUCTURE REQUIRED FIELDS version, url, stable, testing, unstable OPTIONAL FIELDS file, directory, package, namespace, description, prereqs, file, version, homepage, license, bugtracker, repository DEPRECATED FIELDS VERSION NUMBERS Version Formats Decimal versions, Dotted-integer versions Version Ranges PREREQUISITES Prereq Spec configure, build, test, runtime, develop, requires, recommends, suggests, conflicts Merging and Resolving Prerequisites SERIALIZATION NOTES FOR IMPLEMENTORS Extracting Version Numbers from Perl Modules Comparing Version Numbers Prerequisites for dynamically configured distributions Indexing distributions a la PAUSE SEE ALSO HISTORY AUTHORS COPYRIGHT AND LICENSE CPAN::Meta::Validator - validate CPAN distribution metadata structures VERSION SYNOPSIS DESCRIPTION METHODS new is_valid errors Check Methods Validator Methods BUGS AUTHORS COPYRIGHT AND LICENSE CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files VERSION SYNOPSIS DESCRIPTION SUPPORT SEE ALSO AUTHORS COPYRIGHT AND LICENSE SYNOPSIS DESCRIPTION new( LOCAL_FILE_NAME ) continents() countries( [CONTINENTS] ) mirrors( [COUNTRIES] ) get_mirrors_by_countries( [COUNTRIES] ) get_mirrors_by_continents( [CONTINENTS] ) get_countries_by_continents( [CONTINENTS] ) default_mirror best_mirrors get_n_random_mirrors_by_continents( N, [CONTINENTS] ) get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK, %ARGS ); find_best_continents( HASH_REF ); AUTHOR LICENSE CPAN::Nox - Wrapper around CPAN.pm without using any XS module SYNOPSIS DESCRIPTION LICENSE SEE ALSO CPAN::Plugin - Base class for CPAN shell extensions SYNOPSIS DESCRIPTION Alpha Status How Plugins work? METHODS plugin_requires distribution_object distribution distribution_info build_dir is_xs AUTHOR CPAN::Plugin::Specfile - Proof of concept implementation of a trivial CPAN::Plugin SYNOPSIS DESCRIPTION OPTIONS AUTHOR CPAN::Queue - internal queue support for CPAN.pm LICENSE CPAN::Tarzip - internal handling of tar archives for CPAN.pm LICENSE CPAN::Version - utility functions to compare CPAN versions SYNOPSIS DESCRIPTION LICENSE Carp - alternative warn and die for modules SYNOPSIS DESCRIPTION Forcing a Stack Trace Stack Trace formatting GLOBAL VARIABLES $Carp::MaxEvalLen $Carp::MaxArgLen $Carp::MaxArgNums $Carp::Verbose $Carp::RefArgFormatter @CARP_NOT %Carp::Internal %Carp::CarpInternal $Carp::CarpLevel BUGS SEE ALSO CONTRIBUTING AUTHOR COPYRIGHT LICENSE Class::Struct - declare struct-like datatypes as Perl classes SYNOPSIS DESCRIPTION The struct() function Class Creation at Compile Time Element Types and Accessor Methods Scalar ('$' or '*$'), Array ('@' or '*@'), Hash ('%' or '*%'), Class ('Class_Name' or '*Class_Name') Initializing with "new" EXAMPLES Example 1, Example 2, Example 3 Author and Modification History Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library SYNOPSIS DESCRIPTION Compression ($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor; $appendOutput, $blockSize100k, $workfactor $status = $bz->bzdeflate($input, $output); $status = $bz->bzflush($output); $status = $bz->bzclose($output); Example Uncompression ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput; $appendOutput, $consumeInput, $small, $limitOutput, $verbosity $status = $z->bzinflate($input, $output); Misc my $version = Compress::Raw::Bzip2::bzlibversion(); Constants SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE Compress::Raw::Zlib - Low-Level Interface to zlib or zlib-ng compression library SYNOPSIS DESCRIPTION Compress::Raw::Zlib::Deflate ($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] ) -Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize, -AppendOutput, -CRC32, -ADLER32 $status = $d->deflate($input, $output) $status = $d->flush($output [, $flush_type]) $status = $d->deflateReset() $status = $d->deflateParams([OPT]) -Level, -Strategy, -BufSize $status = $d->deflateTune($good_length, $max_lazy, $nice_length, $max_chain) $d->dict_adler() $d->crc32() $d->adler32() $d->msg() $d->total_in() $d->total_out() $d->get_Strategy() $d->get_Level() $d->get_BufSize() Example Compress::Raw::Zlib::Inflate ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) -WindowBits, -Bufsize, -Dictionary, -AppendOutput, -CRC32, -ADLER32, -ConsumeInput, -LimitOutput $status = $i->inflate($input, $output [,$eof]) $status = $i->inflateSync($input) $status = $i->inflateReset() $i->dict_adler() $i->crc32() $i->adler32() $i->msg() $i->total_in() $i->total_out() $d->get_BufSize() Examples CHECKSUM FUNCTIONS Misc my $version = Compress::Raw::Zlib::zlib_version(); my $version = Compress::Raw::Zlib::zlibng_version(); my $flags = Compress::Raw::Zlib::zlibCompileFlags(); is_zlib_native(); =head2 is_zlibng_native(); =head2 is_zlibng_compat(); =head2 is_zlibng(); The LimitOutput option. ACCESSING ZIP FILES FAQ Compatibility with Unix compress/uncompress. Accessing .tar.Z files Zlib Library Version Support CONSTANTS SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE Compress::Zlib - Interface to zlib compression library SYNOPSIS DESCRIPTION Notes for users of Compress::Zlib version 1 GZIP INTERFACE $gz = gzopen($filename, $mode), $gz = gzopen($filehandle, $mode), $bytesread = $gz->gzread($buffer [, $size]) ;, $bytesread = $gz->gzreadline($line) ;, $byteswritten = $gz->gzwrite($buffer) ;, $status = $gz->gzflush($flush_type) ;, $offset = $gz->gztell() ;, $status = $gz->gzseek($offset, $whence) ;, $gz->gzclose, $gz->gzsetparams($level, $strategy, $level, $strategy, $gz->gzerror, $gzerrno Examples Compress::Zlib::memGzip Compress::Zlib::memGunzip COMPRESS/UNCOMPRESS $dest = compress($source [, $level] ) ;, $dest = uncompress($source) ; Deflate Interface ($d, $status) = deflateInit( [OPT] ) -Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize ($out, $status) = $d->deflate($buffer) ($out, $status) = $d->flush() =head2 ($out, $status) = $d->flush($flush_type) $status = $d->deflateParams([OPT]) -Level, -Strategy $d->dict_adler() $d->msg() $d->total_in() $d->total_out() Example Inflate Interface ($i, $status) = inflateInit() -WindowBits, -Bufsize, -Dictionary ($out, $status) = $i->inflate($buffer) $status = $i->inflateSync($buffer) $i->dict_adler() $i->msg() $i->total_in() $i->total_out() Example CHECKSUM FUNCTIONS Misc my $version = Compress::Zlib::zlib_version(); CONSTANTS SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE Config, =for comment Generated by configpm. Any changes made here will be lost! SYNOPSIS DESCRIPTION myconfig(), config_sh(), config_re($regex), config_vars(@names), bincompat_options(), non_bincompat_options(), compile_date(), local_patches(), header_files() EXAMPLE WARNING GLOSSARY P "PERL_API_REVISION", "PERL_API_SUBVERSION", "PERL_API_VERSION", "PERL_CONFIG_SH", "PERL_PATCHLEVEL", "PERL_REVISION", "PERL_SUBVERSION", "PERL_VERSION" _ "_a", "_exe", "_o" a "afs", "afsroot", "alignbytes", "aphostname", "api_revision", "api_subversion", "api_version", "api_versionstring", "ar", "archlib", "archlibexp", "archname", "archname64", "archobjs", "asctime_r_proto", "awk" b "baserev", "bash", "bin", "bin_ELF", "binexp", "bison", "byacc", "byteorder" c "c", "castflags", "cat", "cc", "cccdlflags", "ccdlflags", "ccflags", "ccflags_uselargefiles", "ccname", "ccsymbols", "ccversion", "cf_by", "cf_email", "cf_time", "charbits", "charsize", "chgrp", "chmod", "chown", "clocktype", "comm", "compiler_warning", "compress", "config_arg0", "config_argc", "config_args", "contains", "cp", "cpio", "cpp", "cpp_stuff", "cppccsymbols", "cppflags", "cpplast", "cppminus", "cpprun", "cppstdin", "cppsymbols", "crypt_r_proto", "cryptlib", "csh", "ctermid_r_proto", "ctime_r_proto" d "d_Gconvert", "d_PRIEUldbl", "d_PRIFUldbl", "d_PRIGUldbl", "d_PRIXU64", "d_PRId64", "d_PRIeldbl", "d_PRIfldbl", "d_PRIgldbl", "d_PRIi64", "d_PRIo64", "d_PRIu64", "d_PRIx64", "d_SCNfldbl", "d__fwalk", "d_accept4", "d_access", "d_accessx", "d_acosh", "d_aintl", "d_alarm", "d_archlib", "d_asctime64", "d_asctime_r", "d_asinh", "d_atanh", "d_atolf", "d_atoll", "d_attribute_always_inline", "d_attribute_deprecated", "d_attribute_format", "d_attribute_malloc", "d_attribute_nonnull", "d_attribute_noreturn", "d_attribute_pure", "d_attribute_unused", "d_attribute_visibility", "d_attribute_warn_unused_result", "d_backtrace", "d_bsd", "d_bsdgetpgrp", "d_bsdsetpgrp", "d_builtin_add_overflow", "d_builtin_choose_expr", "d_builtin_expect", "d_builtin_mul_overflow", "d_builtin_sub_overflow", "d_c99_variadic_macros", "d_casti32", "d_castneg", "d_cbrt", "d_chown", "d_chroot", "d_chsize", "d_class", "d_clearenv", "d_closedir", "d_cmsghdr_s", "d_copysign", "d_copysignl", "d_cplusplus", "d_crypt", "d_crypt_r", "d_csh", "d_ctermid", "d_ctermid_r", "d_ctime64", "d_ctime_r", "d_cuserid", "d_dbminitproto", "d_difftime", "d_difftime64", "d_dir_dd_fd", "d_dirfd", "d_dirnamlen", "d_dladdr", "d_dlerror", "d_dlopen", "d_dlsymun", "d_dosuid", "d_double_has_inf", "d_double_has_nan", "d_double_has_negative_zero", "d_double_has_subnormals", "d_double_style_cray", "d_double_style_ibm", "d_double_style_ieee", "d_double_style_vax", "d_drand48_r", "d_drand48proto", "d_dup2", "d_dup3", "d_duplocale", "d_eaccess", "d_endgrent", "d_endgrent_r", "d_endhent", "d_endhostent_r", "d_endnent", "d_endnetent_r", "d_endpent", "d_endprotoent_r", "d_endpwent", "d_endpwent_r", "d_endsent", "d_endservent_r", "d_eofnblk", "d_erf", "d_erfc", "d_eunice", "d_exp2", "d_expm1", "d_faststdio", "d_fchdir", "d_fchmod", "d_fchmodat", "d_fchown", "d_fcntl", "d_fcntl_can_lock", "d_fd_macros", "d_fd_set", "d_fdclose", "d_fdim", "d_fds_bits", "d_fegetround", "d_ffs", "d_ffsl", "d_fgetpos", "d_finite", "d_finitel", "d_flexfnam", "d_flock", "d_flockproto", "d_fma", "d_fmax", "d_fmin", "d_fork", "d_fp_class", "d_fp_classify", "d_fp_classl", "d_fpathconf", "d_fpclass", "d_fpclassify", "d_fpclassl", "d_fpgetround", "d_fpos64_t", "d_freelocale", "d_frexpl", "d_fs_data_s", "d_fseeko", "d_fsetpos", "d_fstatfs", "d_fstatvfs", "d_fsync", "d_ftello", "d_ftime", "d_futimes", "d_gai_strerror", "d_gdbm_ndbm_h_uses_prototypes", "d_gdbmndbm_h_uses_prototypes", "d_getaddrinfo", "d_getcwd", "d_getenv_preserves_other_thread", "d_getespwnam", "d_getfsstat", "d_getgrent", "d_getgrent_r", "d_getgrgid_r", "d_getgrnam_r", "d_getgrps", "d_gethbyaddr", "d_gethbyname", "d_gethent", "d_gethname", "d_gethostbyaddr_r", "d_gethostbyname_r", "d_gethostent_r", "d_gethostprotos", "d_getitimer", "d_getlogin", "d_getlogin_r", "d_getmnt", "d_getmntent", "d_getnameinfo", "d_getnbyaddr", "d_getnbyname", "d_getnent", "d_getnetbyaddr_r", "d_getnetbyname_r", "d_getnetent_r", "d_getnetprotos", "d_getpagsz", "d_getpbyname", "d_getpbynumber", "d_getpent", "d_getpgid", "d_getpgrp", "d_getpgrp2", "d_getppid", "d_getprior", "d_getprotobyname_r", "d_getprotobynumber_r", "d_getprotoent_r", "d_getprotoprotos", "d_getprpwnam", "d_getpwent", "d_getpwent_r", "d_getpwnam_r", "d_getpwuid_r", "d_getsbyname", "d_getsbyport", "d_getsent", "d_getservbyname_r", "d_getservbyport_r", "d_getservent_r", "d_getservprotos", "d_getspnam", "d_getspnam_r", "d_gettimeod", "d_gmtime64", "d_gmtime_r", "d_gnulibc", "d_grpasswd", "d_has_C_UTF8", "d_hasmntopt", "d_htonl", "d_hypot", "d_ilogb", "d_ilogbl", "d_inc_version_list", "d_inetaton", "d_inetntop", "d_inetpton", "d_int64_t", "d_ip_mreq", "d_ip_mreq_source", "d_ipv6_mreq", "d_ipv6_mreq_source", "d_isascii", "d_isblank", "d_isfinite", "d_isfinitel", "d_isinf", "d_isinfl", "d_isless", "d_isnan", "d_isnanl", "d_isnormal", "d_j0", "d_j0l", "d_killpg", "d_lc_monetary_2008", "d_lchown", "d_ldbl_dig", "d_ldexpl", "d_lgamma", "d_lgamma_r", "d_libm_lib_version", "d_libname_unique", "d_link", "d_linkat", "d_llrint", "d_llrintl", "d_llround", "d_llroundl", "d_localeconv_l", "d_localtime64", "d_localtime_r", "d_localtime_r_needs_tzset", "d_locconv", "d_lockf", "d_log1p", "d_log2", "d_logb", "d_long_double_style_ieee", "d_long_double_style_ieee_doubledouble", "d_long_double_style_ieee_extended", "d_long_double_style_ieee_std", "d_long_double_style_vax", "d_longdbl", "d_longlong", "d_lrint", "d_lrintl", "d_lround", "d_lroundl", "d_lseekproto", "d_lstat", "d_madvise", "d_malloc_good_size", "d_malloc_size", "d_malloc_usable_size", "d_mblen", "d_mbrlen", "d_mbrtowc", "d_mbstowcs", "d_mbtowc", "d_memmem", "d_memrchr", "d_mkdir", "d_mkdtemp", "d_mkfifo", "d_mkostemp", "d_mkstemp", "d_mkstemps", "d_mktime", "d_mktime64", "d_mmap", "d_modfl", "d_modflproto", "d_mprotect", "d_msg", "d_msg_ctrunc", "d_msg_dontroute", "d_msg_oob", "d_msg_peek", "d_msg_proxy", "d_msgctl", "d_msgget", "d_msghdr_s", "d_msgrcv", "d_msgsnd", "d_msync", "d_munmap", "d_mymalloc", "d_nan", "d_nanosleep", "d_ndbm", "d_ndbm_h_uses_prototypes", "d_nearbyint", "d_newlocale", "d_nextafter", "d_nexttoward", "d_nice", "d_nl_langinfo", "d_nl_langinfo_l", "d_non_int_bitfields", "d_nv_preserves_uv", "d_nv_zero_is_allbits_zero", "d_off64_t", "d_old_pthread_create_joinable", "d_oldpthreads", "d_oldsock", "d_open3", "d_openat", "d_pathconf", "d_pause", "d_perl_otherlibdirs", "d_phostname", "d_pipe", "d_pipe2", "d_poll", "d_portable", "d_prctl", "d_prctl_set_name", "d_printf_format_null", "d_procselfexe", "d_pseudofork", "d_pthread_atfork", "d_pthread_attr_setscope", "d_pthread_yield", "d_ptrdiff_t", "d_pwage", "d_pwchange", "d_pwclass", "d_pwcomment", "d_pwexpire", "d_pwgecos", "d_pwpasswd", "d_pwquota", "d_qgcvt", "d_quad", "d_querylocale", "d_random_r", "d_re_comp", "d_readdir", "d_readdir64_r", "d_readdir_r", "d_readlink", "d_readv", "d_recvmsg", "d_regcmp", "d_regcomp", "d_remainder", "d_remquo", "d_rename", "d_renameat", "d_rewinddir", "d_rint", "d_rmdir", "d_round", "d_sbrkproto", "d_scalbn", "d_scalbnl", "d_sched_yield", "d_scm_rights", "d_seekdir", "d_select", "d_sem", "d_semctl", "d_semctl_semid_ds", "d_semctl_semun", "d_semget", "d_semop", "d_sendmsg", "d_setegid", "d_setenv", "d_seteuid", "d_setgrent", "d_setgrent_r", "d_setgrps", "d_sethent", "d_sethostent_r", "d_setitimer", "d_setlinebuf", "d_setlocale", "d_setlocale_accepts_any_locale_name", "d_setlocale_r", "d_setnent", "d_setnetent_r", "d_setpent", "d_setpgid", "d_setpgrp", "d_setpgrp2", "d_setprior", "d_setproctitle", "d_setprotoent_r", "d_setpwent", "d_setpwent_r", "d_setregid", "d_setresgid", "d_setresuid", "d_setreuid", "d_setrgid", "d_setruid", "d_setsent", "d_setservent_r", "d_setsid", "d_setvbuf", "d_shm", "d_shmat", "d_shmatprototype", "d_shmctl", "d_shmdt", "d_shmget", "d_sigaction", "d_siginfo_si_addr", "d_siginfo_si_band", "d_siginfo_si_errno", "d_siginfo_si_fd", "d_siginfo_si_pid", "d_siginfo_si_status", "d_siginfo_si_uid", "d_siginfo_si_value", "d_signbit", "d_sigprocmask", "d_sigsetjmp", "d_sin6_scope_id", "d_sitearch", "d_snprintf", "d_sockaddr_in6", "d_sockaddr_sa_len", "d_sockaddr_storage", "d_sockatmark", "d_sockatmarkproto", "d_socket", "d_socklen_t", "d_sockpair", "d_socks5_init", "d_sqrtl", "d_srand48_r", "d_srandom_r", "d_sresgproto", "d_sresuproto", "d_stat", "d_statblks", "d_statfs_f_flags", "d_statfs_s", "d_static_inline", "d_statvfs", "d_stdio_cnt_lval", "d_stdio_ptr_lval", "d_stdio_ptr_lval_nochange_cnt", "d_stdio_ptr_lval_sets_cnt", "d_stdio_stream_array", "d_stdiobase", "d_stdstdio", "d_strcoll", "d_strerror_l", "d_strerror_r", "d_strftime", "d_strlcat", "d_strlcpy", "d_strnlen", "d_strtod", "d_strtod_l", "d_strtol", "d_strtold", "d_strtold_l", "d_strtoll", "d_strtoq", "d_strtoul", "d_strtoull", "d_strtouq", "d_strxfrm", "d_strxfrm_l", "d_suidsafe", "d_symlink", "d_syscall", "d_syscallproto", "d_sysconf", "d_sysernlst", "d_syserrlst", "d_system", "d_tcgetpgrp", "d_tcsetpgrp", "d_telldir", "d_telldirproto", "d_tgamma", "d_thread_local", "d_thread_safe_nl_langinfo_l", "d_time", "d_timegm", "d_times", "d_tm_tm_gmtoff", "d_tm_tm_zone", "d_tmpnam_r", "d_towlower", "d_towupper", "d_trunc", "d_truncate", "d_truncl", "d_ttyname_r", "d_tzname", "d_u32align", "d_ualarm", "d_umask", "d_uname", "d_union_semun", "d_unlinkat", "d_unordered", "d_unsetenv", "d_uselocale", "d_usleep", "d_usleepproto", "d_ustat", "d_vendorarch", "d_vendorbin", "d_vendorlib", "d_vendorscript", "d_vfork", "d_void_closedir", "d_voidsig", "d_voidtty", "d_vsnprintf", "d_wait4", "d_waitpid", "d_wcrtomb", "d_wcscmp", "d_wcstombs", "d_wcsxfrm", "d_wctomb", "d_writev", "d_xenix", "date", "db_hashtype", "db_prefixtype", "db_version_major", "db_version_minor", "db_version_patch", "default_inc_excludes_dot", "direntrytype", "dlext", "dlsrc", "doubleinfbytes", "doublekind", "doublemantbits", "doublenanbytes", "doublesize", "drand01", "drand48_r_proto", "dtrace", "dtraceobject", "dtracexnolibs", "dynamic_ext" e "eagain", "ebcdic", "echo", "egrep", "emacs", "endgrent_r_proto", "endhostent_r_proto", "endnetent_r_proto", "endprotoent_r_proto", "endpwent_r_proto", "endservent_r_proto", "eunicefix", "exe_ext", "expr", "extensions", "extern_C", "extras" f "fflushNULL", "fflushall", "find", "firstmakefile", "flex", "fpossize", "fpostype", "freetype", "from", "full_ar", "full_csh", "full_sed" g "gccansipedantic", "gccosandvers", "gccversion", "getgrent_r_proto", "getgrgid_r_proto", "getgrnam_r_proto", "gethostbyaddr_r_proto", "gethostbyname_r_proto", "gethostent_r_proto", "getlogin_r_proto", "getnetbyaddr_r_proto", "getnetbyname_r_proto", "getnetent_r_proto", "getprotobyname_r_proto", "getprotobynumber_r_proto", "getprotoent_r_proto", "getpwent_r_proto", "getpwnam_r_proto", "getpwuid_r_proto", "getservbyname_r_proto", "getservbyport_r_proto", "getservent_r_proto", "getspnam_r_proto", "gidformat", "gidsign", "gidsize", "gidtype", "glibpth", "gmake", "gmtime_r_proto", "gnulibc_version", "grep", "groupcat", "groupstype", "gzip" h "h_fcntl", "h_sysfile", "hint", "hostcat", "hostgenerate", "hostosname", "hostperl", "html1dir", "html1direxp", "html3dir", "html3direxp" i "i16size", "i16type", "i32dformat", "i32size", "i32type", "i64size", "i64type", "i8size", "i8type", "i_arpainet", "i_bfd", "i_bsdioctl", "i_crypt", "i_db", "i_dbm", "i_dirent", "i_dlfcn", "i_execinfo", "i_fcntl", "i_fenv", "i_fp", "i_fp_class", "i_gdbm", "i_gdbm_ndbm", "i_gdbmndbm", "i_grp", "i_ieeefp", "i_inttypes", "i_langinfo", "i_libutil", "i_locale", "i_machcthr", "i_malloc", "i_mallocmalloc", "i_mntent", "i_ndbm", "i_netdb", "i_neterrno", "i_netinettcp", "i_niin", "i_poll", "i_prot", "i_pthread", "i_pwd", "i_quadmath", "i_rpcsvcdbm", "i_sgtty", "i_shadow", "i_socks", "i_stdbool", "i_stdint", "i_stdlib", "i_sunmath", "i_sysaccess", "i_sysdir", "i_sysfile", "i_sysfilio", "i_sysin", "i_sysioctl", "i_syslog", "i_sysmman", "i_sysmode", "i_sysmount", "i_sysndir", "i_sysparam", "i_syspoll", "i_sysresrc", "i_syssecrt", "i_sysselct", "i_syssockio", "i_sysstat", "i_sysstatfs", "i_sysstatvfs", "i_syssyscall", "i_systime", "i_systimek", "i_systimes", "i_systypes", "i_sysuio", "i_sysun", "i_sysutsname", "i_sysvfs", "i_syswait", "i_termio", "i_termios", "i_time", "i_unistd", "i_ustat", "i_utime", "i_vfork", "i_wchar", "i_wctype", "i_xlocale", "ignore_versioned_solibs", "inc_version_list", "inc_version_list_init", "incpath", "incpth", "inews", "initialinstalllocation", "installarchlib", "installbin", "installhtml1dir", "installhtml3dir", "installman1dir", "installman3dir", "installprefix", "installprefixexp", "installprivlib", "installscript", "installsitearch", "installsitebin", "installsitehtml1dir", "installsitehtml3dir", "installsitelib", "installsiteman1dir", "installsiteman3dir", "installsitescript", "installstyle", "installusrbinperl", "installvendorarch", "installvendorbin", "installvendorhtml1dir", "installvendorhtml3dir", "installvendorlib", "installvendorman1dir", "installvendorman3dir", "installvendorscript", "intsize", "issymlink", "ivdformat", "ivsize", "ivtype" k "known_extensions", "ksh" l "ld", "ld_can_script", "lddlflags", "ldflags", "ldflags_uselargefiles", "ldlibpthname", "less", "lib_ext", "libc", "libperl", "libpth", "libs", "libsdirs", "libsfiles", "libsfound", "libspath", "libswanted", "libswanted_uselargefiles", "line", "lint", "lkflags", "ln", "lns", "localtime_r_proto", "locincpth", "loclibpth", "longdblinfbytes", "longdblkind", "longdblmantbits", "longdblnanbytes", "longdblsize", "longlongsize", "longsize", "lp", "lpr", "ls", "lseeksize", "lseektype" m "mail", "mailx", "make", "make_set_make", "mallocobj", "mallocsrc", "malloctype", "man1dir", "man1direxp", "man1ext", "man3dir", "man3direxp", "man3ext", "mips_type", "mistrustnm", "mkdir", "mmaptype", "modetype", "more", "multiarch", "mv", "myarchname", "mydomain", "myhostname", "myuname" n "n", "need_va_copy", "netdb_hlen_type", "netdb_host_type", "netdb_name_type", "netdb_net_type", "nm", "nm_opt", "nm_so_opt", "nonxs_ext", "nroff", "nvEUformat", "nvFUformat", "nvGUformat", "nv_overflows_integers_at", "nv_preserves_uv_bits", "nveformat", "nvfformat", "nvgformat", "nvmantbits", "nvsize", "nvtype" o "o_nonblock", "obj_ext", "old_pthread_create_joinable", "optimize", "orderlib", "osname", "osvers", "otherlibdirs" p "package", "pager", "passcat", "patchlevel", "path_sep", "perl", "perl5", "perl_patchlevel", "perl_static_inline", "perl_thread_local", "perladmin", "perllibs", "perlpath", "pg", "phostname", "pidtype", "plibpth", "pmake", "pr", "prefix", "prefixexp", "privlib", "privlibexp", "procselfexe", "ptrsize" q "quadkind", "quadtype" r "randbits", "randfunc", "random_r_proto", "randseedtype", "ranlib", "rd_nodata", "readdir64_r_proto", "readdir_r_proto", "revision", "rm", "rm_try", "rmail", "run", "runnm" s "sGMTIME_max", "sGMTIME_min", "sLOCALTIME_max", "sLOCALTIME_min", "sPRIEUldbl", "sPRIFUldbl", "sPRIGUldbl", "sPRIXU64", "sPRId64", "sPRIeldbl", "sPRIfldbl", "sPRIgldbl", "sPRIi64", "sPRIo64", "sPRIu64", "sPRIx64", "sSCNfldbl", "sched_yield", "scriptdir", "scriptdirexp", "sed", "seedfunc", "selectminbits", "selecttype", "sendmail", "setgrent_r_proto", "sethostent_r_proto", "setlocale_r_proto", "setnetent_r_proto", "setprotoent_r_proto", "setpwent_r_proto", "setservent_r_proto", "sh", "shar", "sharpbang", "shmattype", "shortsize", "shrpenv", "shsharp", "sig_count", "sig_name", "sig_name_init", "sig_num", "sig_num_init", "sig_size", "signal_t", "sitearch", "sitearchexp", "sitebin", "sitebinexp", "sitehtml1dir", "sitehtml1direxp", "sitehtml3dir", "sitehtml3direxp", "sitelib", "sitelib_stem", "sitelibexp", "siteman1dir", "siteman1direxp", "siteman3dir", "siteman3direxp", "siteprefix", "siteprefixexp", "sitescript", "sitescriptexp", "sizesize", "sizetype", "sleep", "smail", "so", "sockethdr", "socketlib", "socksizetype", "sort", "spackage", "spitshell", "srand48_r_proto", "srandom_r_proto", "src", "ssizetype", "st_dev_sign", "st_dev_size", "st_ino_sign", "st_ino_size", "startperl", "startsh", "static_ext", "stdchar", "stdio_base", "stdio_bufsiz", "stdio_cnt", "stdio_filbuf", "stdio_ptr", "stdio_stream_array", "strerror_r_proto", "submit", "subversion", "sysman", "sysroot" t "tail", "taint_disabled", "taint_support", "tar", "targetarch", "targetdir", "targetenv", "targethost", "targetmkdir", "targetport", "targetsh", "tbl", "tee", "test", "timeincl", "timetype", "tmpnam_r_proto", "to", "touch", "tr", "trnl", "troff", "ttyname_r_proto" u "u16size", "u16type", "u32XUformat", "u32oformat", "u32size", "u32type", "u32uformat", "u32xformat", "u64size", "u64type", "u8size", "u8type", "uidformat", "uidsign", "uidsize", "uidtype", "uname", "uniq", "uquadtype", "use64bitall", "use64bitint", "usecbacktrace", "usecrosscompile", "usedefaultstrict", "usedevel", "usedl", "usedtrace", "usefaststdio", "useithreads", "usekernprocpathname", "uselanginfo", "uselargefiles", "uselongdouble", "usemallocwrap", "usemorebits", "usemultiplicity", "usemymalloc", "usenm", "usensgetexecutablepath", "useopcode", "useperlio", "useposix", "usequadmath", "usereentrant", "userelocatableinc", "useshrplib", "usesitecustomize", "usesocks", "usethreads", "usevendorprefix", "useversionedarchname", "usevfork", "usrinc", "uuname", "uvXUformat", "uvoformat", "uvsize", "uvtype", "uvuformat", "uvxformat" v "vendorarch", "vendorarchexp", "vendorbin", "vendorbinexp", "vendorhtml1dir", "vendorhtml1direxp", "vendorhtml3dir", "vendorhtml3direxp", "vendorlib", "vendorlib_stem", "vendorlibexp", "vendorman1dir", "vendorman1direxp", "vendorman3dir", "vendorman3direxp", "vendorprefix", "vendorprefixexp", "vendorscript", "vendorscriptexp", "version", "version_patchlevel_string", "versiononly", "vi" x "xlibpth", "xlocale_needed" y "yacc", "yaccflags" z "zcat", "zip" GIT DATA NOTE Config::Extensions - hash lookup of which core extensions were built. SYNOPSIS DESCRIPTION dynamic, nonxs, static AUTHOR Config::Perl::V - Structured data retrieval of perl -V output SYNOPSIS DESCRIPTION $conf = myconfig () $conf = plv2hash ($text [, ...]) $info = summary ([$conf]) $md5 = signature ([$conf]) The hash structure build, osname, stamp, options, derived, patches, environment, config, inc REASONING BUGS TODO AUTHOR COPYRIGHT AND LICENSE Cwd - get pathname of current working directory SYNOPSIS DESCRIPTION getcwd and friends getcwd, cwd, fastcwd, fastgetcwd, getdcwd abs_path and friends abs_path, realpath, fast_abs_path $ENV{PWD} NOTES AUTHOR COPYRIGHT SEE ALSO DB - programmatic interface to the Perl debugging API SYNOPSIS DESCRIPTION Global Variables $DB::sub, %DB::sub, $DB::single, $DB::signal, $DB::trace, @DB::args, @DB::dbline, %DB::dbline, $DB::package, $DB::filename, $DB::subname, $DB::lineno API Methods CLIENT->register(), CLIENT->evalcode(STRING), CLIENT->skippkg('D::hide'), CLIENT->run(), CLIENT->step(), CLIENT->next(), CLIENT->done() Client Callback Methods CLIENT->init(), CLIENT->prestop([STRING]), CLIENT->stop(), CLIENT->idle(), CLIENT->poststop([STRING]), CLIENT->evalcode(STRING), CLIENT->cleanup(), CLIENT->output(LIST) BUGS AUTHOR DBM_Filter -- Filter DBM keys/values SYNOPSIS DESCRIPTION What is a DBM Filter? So what's new? METHODS $db->Filter_Push() / $db->Filter_Key_Push() / $db->Filter_Value_Push() Filter_Push, Filter_Key_Push, Filter_Value_Push $db->Filter_Pop() $db->Filtered() Writing a Filter Immediate Filters Canned Filters "name", params Filters Included utf8, encode, compress, int32, null NOTES Maintain Round Trip Integrity Don't mix filtered & non-filtered data in the same database file. EXAMPLE SEE ALSO AUTHOR DBM_Filter::compress - filter for DBM_Filter SYNOPSIS DESCRIPTION SEE ALSO AUTHOR DBM_Filter::encode - filter for DBM_Filter SYNOPSIS DESCRIPTION SEE ALSO AUTHOR DBM_Filter::int32 - filter for DBM_Filter SYNOPSIS DESCRIPTION SEE ALSO AUTHOR DBM_Filter::null - filter for DBM_Filter SYNOPSIS DESCRIPTION SEE ALSO AUTHOR DBM_Filter::utf8 - filter for DBM_Filter SYNOPSIS DESCRIPTION SEE ALSO AUTHOR DB_File - Perl5 access to Berkeley DB version 1.x SYNOPSIS DESCRIPTION DB_HASH, DB_BTREE, DB_RECNO Using DB_File with Berkeley DB version 2 or greater Interface to Berkeley DB Opening a Berkeley DB Database File Default Parameters In Memory Databases DB_HASH A Simple Example DB_BTREE Changing the BTREE sort order Handling Duplicate Keys The get_dup() Method The find_dup() Method The del_dup() Method Matching Partial Keys DB_RECNO The 'bval' Option A Simple Example Extra RECNO Methods $X->push(list) ;, $value = $X->pop ;, $X->shift, $X->unshift(list) ;, $X->length, $X->splice(offset, length, elements); Another Example THE API INTERFACE $status = $X->get($key, $value [, $flags]) ;, $status = $X->put($key, $value [, $flags]) ;, $status = $X->del($key [, $flags]) ;, $status = $X->fd ;, $status = $X->seq($key, $value, $flags) ;, $status = $X->sync([$flags]) ; DBM FILTERS DBM Filter Low-level API filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value The Filter An Example -- the NULL termination problem. Another Example -- Key is a C int. HINTS AND TIPS Locking: The Trouble with fd Safe ways to lock a database Tie::DB_Lock, Tie::DB_LockFile, DB_File::Lock Sharing Databases With C Applications The untie() Gotcha COMMON QUESTIONS Why is there Perl source in my database? How do I store complex data structures with DB_File? What does "wide character in subroutine entry" mean? What does "Invalid Argument" mean? What does "Bareword 'DB_File' not allowed" mean? REFERENCES HISTORY BUGS SUPPORT AVAILABILITY COPYRIGHT SEE ALSO AUTHOR Data::Dumper - stringified perl data structures, suitable for both printing and "eval" SYNOPSIS DESCRIPTION Methods PACKAGE->new(ARRAYREF [, ARRAYREF]), $OBJ->Dump or PACKAGE->Dump(ARRAYREF [, ARRAYREF]), $OBJ->Seen([HASHREF]), $OBJ->Values([ARRAYREF]), $OBJ->Names([ARRAYREF]), $OBJ->Reset Functions Dumper(LIST) Configuration Variables or Methods Exports Dumper EXAMPLES BUGS NOTE AUTHOR VERSION SEE ALSO Devel::PPPort - Perl/Pollution/Portability SYNOPSIS Start using Devel::PPPort for XS projects DESCRIPTION Why use ppport.h? How to use ppport.h Running ppport.h FUNCTIONS WriteFile GetFileContents COMPATIBILITY Provided Perl compatibility API Supported Perl API, sorted by version perl 5.35.9, perl 5.35.8, perl 5.35.7, perl 5.35.6, perl 5.35.5, perl 5.35.4, perl 5.35.1, perl 5.33.8, perl 5.33.7, perl 5.33.5, perl 5.33.2, perl 5.32.1, perl 5.31.9, perl 5.31.7, perl 5.31.5, perl 5.31.4, perl 5.31.3, perl 5.29.10, perl 5.29.9, perl 5.27.11, perl 5.27.9, perl 5.27.8, perl 5.27.7, perl 5.27.6, perl 5.27.5, perl 5.27.4, perl 5.27.3, perl 5.27.2, perl 5.27.1, perl 5.25.11, perl 5.25.10, perl 5.25.9, perl 5.25.8, perl 5.25.7, perl 5.25.6, perl 5.25.5, perl 5.25.4, perl 5.25.3, perl 5.25.2, perl 5.25.1, perl 5.24.0, perl 5.23.9, perl 5.23.8, perl 5.23.6, perl 5.23.5, perl 5.23.2, perl 5.23.0, perl 5.21.10, perl 5.21.9, perl 5.21.8, perl 5.21.7, perl 5.21.6, perl 5.21.5, perl 5.21.4, perl 5.21.3, perl 5.21.2, perl 5.21.1, perl 5.19.10, perl 5.19.9, perl 5.19.7, perl 5.19.5, perl 5.19.4, perl 5.19.3, perl 5.19.2, perl 5.19.1, perl 5.18.0, perl 5.17.11, perl 5.17.8, perl 5.17.7, perl 5.17.6, perl 5.17.5, perl 5.17.4, perl 5.17.2, perl 5.17.1, perl 5.16.0, perl 5.15.8, perl 5.15.7, perl 5.15.6, perl 5.15.4, perl 5.15.3, perl 5.15.2, perl 5.15.1, perl 5.13.10, perl 5.13.9, perl 5.13.8, perl 5.13.7, perl 5.13.6, perl 5.13.5, perl 5.13.4, perl 5.13.3, perl 5.13.2, perl 5.13.1, perl 5.13.0, perl 5.11.5, perl 5.11.4, perl 5.11.2, perl 5.11.0, perl 5.10.1, perl 5.10.0, perl 5.9.5, perl 5.9.4, perl 5.9.3, perl 5.9.2, perl 5.9.1, perl 5.9.0, perl 5.8.9, perl 5.8.8, perl 5.8.3, perl 5.8.1, perl 5.8.0, perl 5.7.3, perl 5.7.2, perl 5.7.1, perl 5.7.0, perl 5.6.1, perl 5.6.0, perl 5.005_03, perl 5.005, perl 5.004_05, perl 5.004, perl 5.003_07 (or maybe earlier), Backported version unknown BUGS AUTHORS COPYRIGHT SEE ALSO Devel::Peek - A data debugging tool for the XS programmer SYNOPSIS DESCRIPTION Runtime debugging Memory footprint debugging EXAMPLES A simple scalar string A simple scalar number A simple scalar with an extra reference A reference to a simple scalar A reference to an array A reference to a hash Dumping a large array or hash A reference to an SV which holds a C pointer A reference to a subroutine EXPORTS BUGS AUTHOR SEE ALSO Devel::SelfStubber - generate stubs for a SelfLoading module SYNOPSIS DESCRIPTION Digest - Modules that calculate message digests SYNOPSIS DESCRIPTION binary, hex, base64 OO INTERFACE $ctx = Digest->XXX($arg,...), $ctx = Digest->new(XXX => $arg,...), $ctx = Digest::XXX->new($arg,...), $other_ctx = $ctx->clone, $ctx->reset, $ctx->add( $data ), $ctx->add( $chunk1, $chunk2, ... ), $ctx->addfile( $io_handle ), $ctx->add_bits( $data, $nbits ), $ctx->add_bits( $bitstring ), $ctx->digest, $ctx->hexdigest, $ctx->b64digest, $ctx->base64_padded_digest Digest speed SEE ALSO AUTHOR Digest::MD5 - Perl interface to the MD5 Algorithm SYNOPSIS DESCRIPTION FUNCTIONS md5($data,...), md5_hex($data,...), md5_base64($data,...) METHODS $md5 = Digest::MD5->new, $md5->reset, $md5->clone, $md5->add($data,...), $md5->addfile($io_handle), $md5->add_bits($data, $nbits), $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest, @ctx = $md5->context, $md5->context(@ctx) EXAMPLES SEE ALSO COPYRIGHT AUTHORS Digest::SHA - Perl extension for SHA-1/224/256/384/512 SYNOPSIS SYNOPSIS (HMAC-SHA) ABSTRACT DESCRIPTION UNICODE AND SIDE EFFECTS NIST STATEMENT ON SHA-1 PADDING OF BASE64 DIGESTS EXPORT EXPORTABLE FUNCTIONS sha1($data, ...), sha224($data, ...), sha256($data, ...), sha384($data, ...), sha512($data, ...), sha512224($data, ...), sha512256($data, ...), sha1_hex($data, ...), sha224_hex($data, ...), sha256_hex($data, ...), sha384_hex($data, ...), sha512_hex($data, ...), sha512224_hex($data, ...), sha512256_hex($data, ...), sha1_base64($data, ...), sha224_base64($data, ...), sha256_base64($data, ...), sha384_base64($data, ...), sha512_base64($data, ...), sha512224_base64($data, ...), sha512256_base64($data, ...), new($alg), reset($alg), hashsize, algorithm, clone, add($data, ...), add_bits($data, $nbits), add_bits($bits), addfile(*FILE), addfile($filename [, $mode]), getstate, putstate($str), dump($filename), load($filename), digest, hexdigest, b64digest, hmac_sha1($data, $key), hmac_sha224($data, $key), hmac_sha256($data, $key), hmac_sha384($data, $key), hmac_sha512($data, $key), hmac_sha512224($data, $key), hmac_sha512256($data, $key), hmac_sha1_hex($data, $key), hmac_sha224_hex($data, $key), hmac_sha256_hex($data, $key), hmac_sha384_hex($data, $key), hmac_sha512_hex($data, $key), hmac_sha512224_hex($data, $key), hmac_sha512256_hex($data, $key), hmac_sha1_base64($data, $key), hmac_sha224_base64($data, $key), hmac_sha256_base64($data, $key), hmac_sha384_base64($data, $key), hmac_sha512_base64($data, $key), hmac_sha512224_base64($data, $key), hmac_sha512256_base64($data, $key) SEE ALSO AUTHOR ACKNOWLEDGMENTS COPYRIGHT AND LICENSE Digest::base - Digest base class SYNOPSIS DESCRIPTION SEE ALSO Digest::file - Calculate digests of files SYNOPSIS DESCRIPTION digest_file( $file, $algorithm, [$arg,...] ), digest_file_hex( $file, $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...] ) SEE ALSO DirHandle - (obsolete) supply object methods for directory handles SYNOPSIS DESCRIPTION Dumpvalue - provides screen dump of Perl data. SYNOPSIS DESCRIPTION Creation "arrayDepth", "hashDepth", "compactDump", "veryCompact", "globPrint", "dumpDBFiles", "dumpPackages", "dumpReused", "tick", "quoteHighBit", "printUndef", "usageOnly", unctrl, subdump, bareStringify, quoteHighBit, stopDbSignal Methods dumpValue, dumpValues, stringify, dumpvars, set_quote, set_unctrl, compactDump, veryCompact, set, get DynaLoader - Dynamically load C libraries into Perl code SYNOPSIS DESCRIPTION @dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs, @dl_modules, @dl_shared_objects, dl_error(), $dl_debug, $dl_dlext, dl_findfile(), dl_expandspec(), dl_load_file(), dl_unload_file(), dl_load_flags(), dl_find_symbol(), dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(), bootstrap() AUTHOR Encode - character encodings in Perl SYNOPSIS Table of Contents Encode::Alias - Alias definitions to encodings, Encode::Encoding - Encode Implementation Base Class, Encode::Supported - List of Supported Encodings, Encode::CN - Simplified Chinese Encodings, Encode::JP - Japanese Encodings, Encode::KR - Korean Encodings, Encode::TW - Traditional Chinese Encodings DESCRIPTION TERMINOLOGY THE PERL ENCODING API Basic methods Listing available encodings Defining Aliases Finding IANA Character Set Registry names Encoding via PerlIO Handling Malformed Data List of CHECK values perlqq mode (CHECK = Encode::FB_PERLQQ), HTML charref mode (CHECK = Encode::FB_HTMLCREF), XML charref mode (CHECK = Encode::FB_XMLCREF) coderef for CHECK Defining Encodings The UTF8 flag Goal #1:, Goal #2:, Goal #3:, Goal #4: Messing with Perl's Internals UTF-8 vs. utf8 vs. UTF8 SEE ALSO MAINTAINER COPYRIGHT Encode::Alias - alias definitions to encodings SYNOPSIS DESCRIPTION As a simple string, As a qr// compiled regular expression, e.g.:, As a code reference, e.g.: Alias overloading SEE ALSO Encode::Byte - Single Byte Encodings SYNOPSIS ABSTRACT DESCRIPTION SEE ALSO Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_* Encode::CN - China-based Chinese Encodings SYNOPSIS DESCRIPTION NOTES BUGS SEE ALSO Encode::CN::HZ -- internally used by Encode::CN Encode::Config -- internally used by Encode Encode::EBCDIC - EBCDIC Encodings SYNOPSIS ABSTRACT DESCRIPTION SEE ALSO Encode::Encoder -- Object Oriented Encoder SYNOPSIS ABSTRACT Description Predefined Methods $e = Encode::Encoder->new([$data, $encoding]);, encoder(), $e->data([$data]), $e->encoding([$encoding]), $e->bytes([$encoding]) Example: base64 transcoder Operator Overloading SEE ALSO Encode::Encoding - Encode Implementation Base Class SYNOPSIS DESCRIPTION Methods you should implement ->encode($string [,$check]), ->decode($octets [,$check]), ->cat_decode($destination, $octets, $offset, $terminator [,$check]) Other methods defined in Encode::Encodings ->name, ->mime_name, ->renew, ->renewed, ->perlio_ok(), ->needs_lines() Example: Encode::ROT13 Why the heck Encode API is different? Compiled Encodings SEE ALSO Scheme 1, Scheme 2, Other Schemes Encode::GSM0338 -- ETSI GSM 03.38 Encoding SYNOPSIS DESCRIPTION Septets BUGS SEE ALSO Encode::Guess -- Guesses encoding from data SYNOPSIS ABSTRACT DESCRIPTION Encode::Guess->set_suspects, Encode::Guess->add_suspects, Encode::decode("Guess" ...), Encode::Guess->guess($data), guess_encoding($data, [, list of suspects]) CAVEATS TO DO SEE ALSO Encode::JP - Japanese Encodings SYNOPSIS ABSTRACT DESCRIPTION Note on ISO-2022-JP(-1)? BUGS SEE ALSO Encode::JP::H2Z -- internally used by Encode::JP::2022_JP* Encode::JP::JIS7 -- internally used by Encode::JP Encode::KR - Korean Encodings SYNOPSIS DESCRIPTION BUGS SEE ALSO Encode::KR::2022_KR -- internally used by Encode::KR Encode::MIME::Header -- MIME encoding for an unstructured email header SYNOPSIS ABSTRACT DESCRIPTION BUGS AUTHORS SEE ALSO Encode::MIME::Name, Encode::MIME::NAME -- internally used by Encode SEE ALSO Encode::PerlIO -- a detailed document on Encode and PerlIO Overview How does it work? Line Buffering How can I tell whether my encoding fully supports PerlIO ? SEE ALSO Encode::Supported -- Encodings supported by Encode DESCRIPTION Encoding Names Supported Encodings Built-in Encodings Encode::Unicode -- other Unicode encodings Encode::Byte -- Extended ASCII ISO-8859 and corresponding vendor mappings, KOI8 - De Facto Standard for the Cyrillic world gsm0338 - Hentai Latin 1 gsm0338 support before 2.19 CJK: Chinese, Japanese, Korean (Multibyte) Encode::CN -- Continental China, Encode::JP -- Japan, Encode::KR -- Korea, Encode::TW -- Taiwan, Encode::HanExtra -- More Chinese via CPAN, Encode::JIS2K -- JIS X 0213 encodings via CPAN Miscellaneous encodings Encode::EBCDIC, Encode::Symbols, Encode::MIME::Header, Encode::Guess Unsupported encodings ISO-2022-JP-2 [RFC1554], ISO-2022-CN [RFC1922], Various HP-UX encodings, Cyrillic encoding ISO-IR-111, ISO-8859-8-1 [Hebrew], ISIRI 3342, Iran System, ISIRI 2900 [Farsi], Thai encoding TCVN, Vietnamese encodings VPS, Various Mac encodings, (Mac) Indic encodings Encoding vs. Charset -- terminology Encoding Classification (by Anton Tagunov and Dan Kogai) Microsoft-related naming mess KS_C_5601-1987, GB2312, Big5, Shift_JIS Glossary character repertoire, coded character set (CCS), character encoding scheme (CES), charset (in MIME context), EUC, ISO-2022, UCS, UCS-2, Unicode, UTF, UTF-16 See Also References ECMA, ECMA-035 (eq "ISO-2022"), IANA, Assigned Charset Names by IANA, ISO, RFC, UC, Unicode Glossary Other Notable Sites czyborra.com, CJK.inf, Jungshik Shin's Hangul FAQ, debian.org: "Introduction to i18n" Offline sources "CJKV Information Processing" by Ken Lunde Encode::Symbol - Symbol Encodings SYNOPSIS ABSTRACT DESCRIPTION SEE ALSO Encode::TW - Taiwan-based Chinese Encodings SYNOPSIS DESCRIPTION NOTES BUGS SEE ALSO Encode::Unicode -- Various Unicode Transformation Formats SYNOPSIS ABSTRACT says:, Quick Reference Size, Endianness, and BOM by size by endianness BOM as integer when fetched in network byte order Surrogate Pairs Error Checking SEE ALSO Encode::Unicode::UTF7 -- UTF-7 encoding SYNOPSIS ABSTRACT In Practice SEE ALSO English - use nice English (or awk) names for ugly punctuation variables SYNOPSIS DESCRIPTION PERFORMANCE Env - perl module that imports environment variables as scalars or arrays SYNOPSIS DESCRIPTION LIMITATIONS AUTHOR Errno - System errno constants SYNOPSIS DESCRIPTION CAVEATS AUTHOR COPYRIGHT Exporter - Implements default import method for modules SYNOPSIS DESCRIPTION How to Export Selecting What to Export How to Import "use YourModule;", "use YourModule ();", "use YourModule qw(...);" Advanced Features Specialised Import Lists Exporting Without Using Exporter's import Method Exporting Without Inheriting from Exporter Module Version Checking Managing Unknown Symbols Tag Handling Utility Functions Generating Combined Tags "AUTOLOAD"ed Constants Good Practices Declaring @EXPORT_OK and Friends Playing Safe What Not to Export SEE ALSO LICENSE Exporter::Heavy - Exporter guts SYNOPSIS DESCRIPTION ExtUtils::CBuilder - Compile and link C code for Perl modules SYNOPSIS DESCRIPTION METHODS new, have_compiler, have_cplusplus, compile, "object_file", "include_dirs", "extra_compiler_flags", "C++", link, lib_file, module_name, extra_linker_flags, link_executable, exe_file, object_file, lib_file, exe_file, prelink, need_prelink, extra_link_args_after_prelink TO DO HISTORY SUPPORT AUTHOR COPYRIGHT SEE ALSO ExtUtils::CBuilder::Platform::Windows - Builder class for Windows platforms DESCRIPTION AUTHOR SEE ALSO ExtUtils::Command - utilities to replace common UNIX commands in Makefiles etc. SYNOPSIS DESCRIPTION FUNCTIONS cat eqtime rm_rf rm_f touch mv cp chmod mkpath test_f test_d dos2unix SEE ALSO AUTHOR ExtUtils::Command::MM - Commands for the MM's to use in Makefiles SYNOPSIS DESCRIPTION test_harness pod2man warn_if_old_packlist perllocal_install uninstall test_s cp_nonempty ExtUtils::Constant - generate XS code to import C header constants SYNOPSIS DESCRIPTION USAGE IV, UV, NV, PV, PVN, SV, YES, NO, UNDEF FUNCTIONS constant_types XS_constant PACKAGE, TYPES, XS_SUBNAME, C_SUBNAME autoload PACKAGE, VERSION, AUTOLOADER WriteMakefileSnippet WriteConstants ATTRIBUTE => VALUE [, ...], NAME, DEFAULT_TYPE, BREAKOUT_AT, NAMES, PROXYSUBS, C_FH, C_FILE, XS_FH, XS_FILE, XS_SUBNAME, C_SUBNAME AUTHOR ExtUtils::Constant::Base - base class for ExtUtils::Constant objects SYNOPSIS DESCRIPTION USAGE header memEQ_clause args_hashref dump_names arg_hashref, ITEM.. assign arg_hashref, VALUE.. return_clause arg_hashref, ITEM switch_clause arg_hashref, NAMELEN, ITEMHASH, ITEM.. params WHAT dogfood arg_hashref, ITEM.. normalise_items args, default_type, seen_types, seen_items, ITEM.. C_constant arg_hashref, ITEM.., name, type, value, macro, default, pre, post, def_pre, def_post, utf8, weight BUGS AUTHOR ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant SYNOPSIS DESCRIPTION USAGE C_stringify NAME perl_stringify NAME AUTHOR ExtUtils::Constant::XS - generate C code for XS modules' constants. SYNOPSIS DESCRIPTION BUGS AUTHOR ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications SYNOPSIS DESCRIPTION @EXPORT FUNCTIONS xsinit(), Examples, ldopts(), Examples, perl_inc(), ccflags(), ccdlflags(), ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules) EXAMPLES SEE ALSO AUTHOR ExtUtils::Install - install files from here to there SYNOPSIS VERSION DESCRIPTION _chmod($$;$) _warnonce(@) _choke(@) _move_file_at_boot( $file, $target, $moan ) _unlink_or_rename( $file, $tryhard, $installing ) Functions _get_install_skip _have_write_access _can_write_dir($dir) _mkpath($dir,$show,$mode,$verbose,$dry_run) _copy($from,$to,$verbose,$dry_run) _chdir($from) install _do_cleanup install_rooted_file( $file ) install_rooted_dir( $dir ) forceunlink( $file, $tryhard ) directory_not_empty( $dir ) install_default uninstall inc_uninstall($filepath,$libdir,$verbose,$dry_run,$ignore,$results) run_filter($cmd,$src,$dest) pm_to_blib _autosplit _invokant ENVIRONMENT PERL_INSTALL_ROOT, EU_INSTALL_IGNORE_SKIP, EU_INSTALL_SITE_SKIPFILE, EU_INSTALL_ALWAYS_COPY AUTHOR LICENSE ExtUtils::Installed - Inventory management of installed modules SYNOPSIS DESCRIPTION USAGE METHODS new(), modules(), files(), directories(), directory_tree(), validate(), packlist(), version() EXAMPLE AUTHOR ExtUtils::Liblist - determine libraries to use and how to use them SYNOPSIS DESCRIPTION For static extensions, For dynamic extensions at build/link time, For dynamic extensions at load time EXTRALIBS LDLOADLIBS and LD_RUN_PATH BSLOADLIBS PORTABILITY VMS implementation Win32 implementation SEE ALSO ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass SYNOPSIS DESCRIPTION ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix SYNOPSIS DESCRIPTION Overridden methods AUTHOR SEE ALSO ExtUtils::MM_Any - Platform-agnostic MM methods SYNOPSIS DESCRIPTION METHODS Cross-platform helper methods Targets Init methods Tools File::Spec wrappers Misc AUTHOR ExtUtils::MM_BeOS - methods to override UN*X behaviour in ExtUtils::MakeMaker SYNOPSIS DESCRIPTION os_flavor init_linker ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker SYNOPSIS DESCRIPTION os_flavor cflags replace_manpage_separator init_linker maybe_command dynamic_lib install ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix SYNOPSIS DESCRIPTION Overridden methods os_flavor replace_manpage_separator xs_static_lib_is_xs AUTHOR SEE ALSO ExtUtils::MM_Darwin - special behaviors for OS X SYNOPSIS DESCRIPTION Overridden Methods ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic SYNOPSIS DESCRIPTION ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker SYNOPSIS DESCRIPTION os_flavor init_platform, platform_constants static_lib_pure_cmd xs_static_lib_is_xs dynamic_lib ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker SYNOPSIS DESCRIPTION METHODS init_dist init_linker os_flavor xs_static_lib_is_xs ExtUtils::MM_OS390 - OS390 specific subclass of ExtUtils::MM_Unix SYNOPSIS DESCRIPTION Overriden methods xs_make_dynamic_lib AUTHOR SEE ALSO ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix SYNOPSIS DESCRIPTION Overridden methods AUTHOR SEE ALSO ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix SYNOPSIS DESCRIPTION Overridden methods os_flavor replace_manpage_separator AUTHOR SEE ALSO ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker SYNOPSIS DESCRIPTION METHODS Methods os_flavor c_o (o) xs_obj_opt dbgoutflag cflags (o) const_cccmd (o) const_config (o) const_loadlibs (o) constants (o) depend (o) init_DEST init_dist dist (o) dist_basics (o) dist_ci (o) dist_core (o) dist_target tardist_target zipdist_target tarfile_target zipfile_target uutardist_target shdist_target dlsyms (o) dynamic_bs (o) dynamic_lib (o) xs_dynamic_lib_macros xs_make_dynamic_lib exescan extliblist find_perl fixin force (o) guess_name has_link_code init_dirscan init_MANPODS init_MAN1PODS init_MAN3PODS init_PM init_DIRFILESEP init_main init_tools init_linker init_lib2arch init_PERL init_platform, platform_constants init_PERM init_xs install (o) installbin (o) linkext (o) lsdir macro (o) makeaperl (o) xs_static_lib_is_xs (o) makefile (o) maybe_command needs_linking (o) parse_abstract parse_version pasthru (o) perl_script perldepend (o) pm_to_blib ppd prefixify processPL (o) specify_shell quote_paren replace_manpage_separator cd oneliner quote_literal escape_newlines max_exec_len static (o) xs_make_static_lib static_lib_closures static_lib_fixtures static_lib_pure_cmd staticmake (o) subdir_x (o) subdirs (o) test (o) test_via_harness (override) test_via_script (override) tool_xsubpp (o) all_target top_targets (o) writedoc xs_c (o) xs_cpp (o) xs_o (o) SEE ALSO ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker SYNOPSIS DESCRIPTION Methods always loaded wraplist Methods guess_name (override) find_perl (override) _fixin_replace_shebang (override) maybe_command (override) pasthru (override) pm_to_blib (override) perl_script (override) replace_manpage_separator init_DEST init_DIRFILESEP init_main (override) init_tools (override) init_platform (override) platform_constants init_VERSION (override) constants (override) special_targets cflags (override) const_cccmd (override) tools_other (override) init_dist (override) c_o (override) xs_c (override) xs_o (override) _xsbuild_replace_macro (override) _xsbuild_value (override) dlsyms (override) xs_obj_opt dynamic_lib (override) xs_make_static_lib (override) static_lib_pure_cmd (override) xs_static_lib_is_xs extra_clean_files zipfile_target, tarfile_target, shdist_target install (override) perldepend (override) makeaperl (override) maketext_filter (override) prefixify (override) cd oneliner echo quote_literal escape_dollarsigns escape_all_dollarsigns escape_newlines max_exec_len init_linker catdir (override), catfile (override) eliminate_macros fixpath os_flavor is_make_type (override) make_type (override) AUTHOR ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix SYNOPSIS DESCRIPTION Overridden methods AUTHOR SEE ALSO ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker SYNOPSIS DESCRIPTION Overridden methods dlsyms xs_dlsyms_ext replace_manpage_separator maybe_command init_DIRFILESEP init_tools init_others init_platform, platform_constants specify_shell constants special_targets static_lib_pure_cmd dynamic_lib extra_clean_files init_linker perl_script quote_dep xs_obj_opt pasthru arch_check (override) oneliner cd max_exec_len os_flavor dbgoutflag cflags make_type ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X SYNOPSIS DESCRIPTION Overridden methods max_exec_len os_flavor AUTHOR ExtUtils::MY - ExtUtils::MakeMaker subclass for customization SYNOPSIS DESCRIPTION ExtUtils::MakeMaker - Create a module Makefile SYNOPSIS DESCRIPTION How To Write A Makefile.PL Default Makefile Behaviour make test make testdb make install INSTALL_BASE PREFIX and LIB attribute AFS users Static Linking of a new Perl Binary Determination of Perl Library and Installation Locations Which architecture dependent directory? Using Attributes and Parameters ABSTRACT, ABSTRACT_FROM, AUTHOR, BINARY_LOCATION, BUILD_REQUIRES, C, CCFLAGS, CONFIG, CONFIGURE, CONFIGURE_REQUIRES, DEFINE, DESTDIR, DIR, DISTNAME, DISTVNAME, DLEXT, DL_FUNCS, DL_VARS, EXCLUDE_EXT, EXE_FILES, FIRST_MAKEFILE, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, FUNCLIST, H, IMPORTS, INC, INCLUDE_EXT, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSCRIPT, INSTALLSITEARCH, INSTALLSITEBIN, INSTALLSITELIB, INSTALLSITEMAN1DIR, INSTALLSITEMAN3DIR, INSTALLSITESCRIPT, INSTALLVENDORARCH, INSTALLVENDORBIN, INSTALLVENDORLIB, INSTALLVENDORMAN1DIR, INSTALLVENDORMAN3DIR, INSTALLVENDORSCRIPT, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS, LICENSE, LINKTYPE, MAGICXS, MAKE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS, MAP_TARGET, META_ADD, META_MERGE, MIN_PERL_VERSION, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_MYMETA, NO_PACKLIST, NO_PERLLOCAL, NO_VC, OBJECT, OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_DIR, PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PPM_UNINSTALL_EXEC, PPM_UNINSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SIGN, SKIP, TEST_REQUIRES, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM, VERSION_SYM, XS, XSBUILD, XSMULTI, XSOPT, XSPROTOARG, XS_VERSION Additional lowercase attributes clean, depend, dist, dynamic_lib, linkext, macro, postamble, realclean, test, tool_autosplit Overriding MakeMaker Methods The End Of Cargo Cult Programming "MAN3PODS => ' '" Hintsfile support Distribution Support make distcheck, make skipcheck, make distclean, make veryclean, make manifest, make distdir, make disttest, make tardist, make dist, make uutardist, make shdist, make zipdist, make ci Module Meta-Data (META and MYMETA) Disabling an extension Other Handy Functions prompt, os_unsupported Supported versions of Perl ENVIRONMENT PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE SEE ALSO AUTHORS LICENSE ExtUtils::MakeMaker::Config - Wrapper around Config.pm SYNOPSIS DESCRIPTION ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker DESCRIPTION Module Installation How do I install a module into my home directory?, How do I get MakeMaker and Module::Build to install to the same place?, How do I keep from installing man pages?, How do I use a module without installing it?, How can I organize tests into subdirectories and have them run?, PREFIX vs INSTALL_BASE from Module::Build::Cookbook, Generating *.pm files with substitutions eg of $VERSION Common errors and problems "No rule to make target `/usr/lib/perl5/CORE/config.h', needed by `Makefile'" Philosophy and History Why not just use ?, What is Module::Build and how does it relate to MakeMaker?, pure perl. no make, no shell commands, easier to customize, cleaner internals, less cruft Module Writing How do I keep my $VERSION up to date without resetting it manually?, What's this META.yml thing and how did it get in my MANIFEST?!, How do I delete everything not in my MANIFEST?, Which tar should I use on Windows?, Which zip should I use on Windows for '[ndg]make zipdist'? XS How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?, How do I make two or more XS files coexist in the same directory?, XSMULTI, Separate directories, Bootstrapping DESIGN MakeMaker object hierarchy (simplified) MakeMaker object hierarchy (real) The MM_* hierarchy PATCHING make a pull request on the MakeMaker github repository, raise a issue on the MakeMaker github repository, file an RT ticket, email makemaker@perl.org AUTHOR SEE ALSO ExtUtils::MakeMaker::Locale - bundled Encode::Locale SYNOPSIS DESCRIPTION decode_argv( ), decode_argv( Encode::FB_CROAK ), env( $uni_key ), env( $uni_key => $uni_value ), reinit( ), reinit( $encoding ), $ENCODING_LOCALE, $ENCODING_LOCALE_FS, $ENCODING_CONSOLE_IN, $ENCODING_CONSOLE_OUT NOTES Windows Mac OS X POSIX (Linux and other Unixes) SEE ALSO AUTHOR ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker SYNOPSIS DESCRIPTION The Mantra The Layout Makefile.PL, MANIFEST, lib/, t/, Changes, README, INSTALL, MANIFEST.SKIP, bin/ SEE ALSO ExtUtils::Manifest - Utilities to write and check a MANIFEST file VERSION SYNOPSIS DESCRIPTION FUNCTIONS mkmanifest manifind manicheck filecheck fullcheck skipcheck maniread maniskip manicopy maniadd MANIFEST MANIFEST.SKIP #!include_default, #!include /Path/to/another/manifest.skip EXPORT_OK GLOBAL VARIABLES DIAGNOSTICS "Not in MANIFEST:" file, "Skipping" file, "No such file:" file, "MANIFEST:" $!, "Added to MANIFEST:" file ENVIRONMENT PERL_MM_MANIFEST_DEBUG SEE ALSO AUTHOR COPYRIGHT AND LICENSE ExtUtils::Miniperl - write the C code for miniperlmain.c and perlmain.c SYNOPSIS DESCRIPTION SEE ALSO ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader SYNOPSIS DESCRIPTION ExtUtils::Mksymlists - write linker options files for dynamic extension SYNOPSIS DESCRIPTION DLBASE, DL_FUNCS, DL_VARS, FILE, FUNCLIST, IMPORTS, NAME AUTHOR REVISION ExtUtils::PL2Bat - Batch file creation to run perl scripts on Windows VERSION OVERVIEW FUNCTIONS pl2bat(%opts) "in", "out", "ntargs", "otherargs", "stripsuffix", "usewarnings", "update" ACKNOWLEDGEMENTS AUTHOR COPYRIGHT AND LICENSE mkfh() __find_relocations ExtUtils::Packlist - manage .packlist files SYNOPSIS DESCRIPTION USAGE FUNCTIONS new(), read(), write(), validate(), packlist_file() EXAMPLE AUTHOR ExtUtils::ParseXS - converts Perl XS code into C code SYNOPSIS DESCRIPTION EXPORT METHODS $pxs->new(), $pxs->process_file(), C++, hiertype, except, typemap, prototypes, versioncheck, linenumbers, optimize, inout, argtypes, s, die_on_error, $pxs->report_error_count() AUTHOR COPYRIGHT SEE ALSO ExtUtils::ParseXS::Constants - Initialization values for some globals SYNOPSIS DESCRIPTION ExtUtils::ParseXS::Eval - Clean package to evaluate code in SYNOPSIS SUBROUTINES $pxs->eval_output_typemap_code($typemapcode, $other_hashref) $pxs->eval_input_typemap_code($typemapcode, $other_hashref) TODO ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS SYNOPSIS SUBROUTINES standard_typemap_locations() Purpose, Arguments, Return Value trim_whitespace() Purpose, Argument, Return Value C_string() Purpose, Arguments, Return Value valid_proto_string() Purpose, Arguments, Return Value process_typemaps() Purpose, Arguments, Return Value map_type() Purpose, Arguments, Return Value standard_XS_defs() Purpose, Arguments, Return Value assign_func_args() Purpose, Arguments, Return Value analyze_preprocessor_statements() Purpose, Arguments, Return Value set_cond() Purpose, Arguments, Return Value current_line_number() Purpose, Arguments, Return Value Warn() Purpose, Arguments, Return Value WarnHint() Purpose, Arguments, Return Value _MsgHint() Purpose, Arguments, Return Value blurt() Purpose, Arguments, Return Value death() Purpose, Arguments, Return Value check_conditional_preprocessor_statements() Purpose, Arguments, Return Value escape_file_for_line_directive() Purpose, Arguments, Return Value "report_typemap_failure" Purpose, Arguments, Return Value ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files SYNOPSIS DESCRIPTION METHODS new file add_typemap add_inputmap add_outputmap add_string remove_typemap remove_inputmap remove_outputmap get_typemap get_inputmap get_outputmap write as_string as_embedded_typemap merge is_empty list_mapped_ctypes _get_typemap_hash _get_inputmap_hash _get_outputmap_hash _get_prototype_hash clone tidy_type CAVEATS SEE ALSO AUTHOR COPYRIGHT & LICENSE ExtUtils::Typemaps::Cmd - Quick commands for handling typemaps SYNOPSIS DESCRIPTION EXPORTED FUNCTIONS embeddable_typemap SEE ALSO AUTHOR COPYRIGHT & LICENSE ExtUtils::Typemaps::InputMap - Entry in the INPUT section of a typemap SYNOPSIS DESCRIPTION METHODS new code xstype cleaned_code SEE ALSO AUTHOR COPYRIGHT & LICENSE ExtUtils::Typemaps::OutputMap - Entry in the OUTPUT section of a typemap SYNOPSIS DESCRIPTION METHODS new code xstype cleaned_code targetable SEE ALSO AUTHOR COPYRIGHT & LICENSE ExtUtils::Typemaps::Type - Entry in the TYPEMAP section of a typemap SYNOPSIS DESCRIPTION METHODS new proto xstype ctype tidy_ctype SEE ALSO AUTHOR COPYRIGHT & LICENSE ExtUtils::testlib - add blib/* directories to @INC SYNOPSIS DESCRIPTION Fatal - Replace functions with equivalents which succeed or die SYNOPSIS BEST PRACTICE DESCRIPTION DIAGNOSTICS Bad subroutine name for Fatal: %s, %s is not a Perl subroutine, %s is neither a builtin, nor a Perl subroutine, Cannot make the non- overridable %s fatal, Internal error: %s BUGS AUTHOR LICENSE SEE ALSO Fcntl - load the C Fcntl.h defines SYNOPSIS DESCRIPTION NOTE EXPORTED SYMBOLS File::Basename - Parse file paths into directory, filename and suffix. SYNOPSIS DESCRIPTION "fileparse" "basename" "dirname" "fileparse_set_fstype" SEE ALSO File::Compare - Compare files or filehandles SYNOPSIS DESCRIPTION RETURN AUTHOR File::Copy - Copy files or filehandles SYNOPSIS DESCRIPTION copy , move , syscopy , rmscopy($from,$to[,$date_flag]) RETURN NOTES AUTHOR File::DosGlob - DOS like globbing and then some SYNOPSIS DESCRIPTION EXPORTS (by request only) BUGS AUTHOR HISTORY SEE ALSO File::Fetch - A generic file fetching mechanism SYNOPSIS DESCRIPTION ACCESSORS $ff->uri, $ff->scheme, $ff->host, $ff->vol, $ff->share, $ff->path, $ff->file, $ff->file_default $ff->output_file METHODS $ff = File::Fetch->new( uri => 'http://some.where.com/dir/file.txt' ); $where = $ff->fetch( [to => /my/output/dir/ | \$scalar] ) $ff->error([BOOL]) HOW IT WORKS GLOBAL VARIABLES $File::Fetch::FROM_EMAIL $File::Fetch::USER_AGENT $File::Fetch::FTP_PASSIVE $File::Fetch::TIMEOUT $File::Fetch::WARN $File::Fetch::DEBUG $File::Fetch::BLACKLIST $File::Fetch::METHOD_FAIL MAPPING FREQUENTLY ASKED QUESTIONS So how do I use a proxy with File::Fetch? I used 'lynx' to fetch a file, but its contents is all wrong! Files I'm trying to fetch have reserved characters or non-ASCII characters in them. What do I do? TODO Implement $PREFER_BIN BUG REPORTS AUTHOR COPYRIGHT File::Find - Traverse a directory tree. SYNOPSIS DESCRIPTION find, finddepth %options "wanted", "bydepth", "preprocess", "postprocess", "follow", "follow_fast", "follow_skip", "dangling_symlinks", "no_chdir", "untaint", "untaint_pattern", "untaint_skip" The wanted function $File::Find::dir is the current directory name,, $_ is the current filename within that directory, $File::Find::name is the complete pathname to the file WARNINGS BUGS AND CAVEATS $dont_use_nlink, symlinks HISTORY SEE ALSO File::Glob - Perl extension for BSD glob routine SYNOPSIS DESCRIPTION META CHARACTERS EXPORTS POSIX FLAGS "GLOB_ERR", "GLOB_LIMIT", "GLOB_MARK", "GLOB_NOCASE", "GLOB_NOCHECK", "GLOB_NOSORT", "GLOB_BRACE", "GLOB_NOMAGIC", "GLOB_QUOTE", "GLOB_TILDE", "GLOB_CSH", "GLOB_ALPHASORT" DIAGNOSTICS "GLOB_NOSPACE", "GLOB_ABEND" NOTES SEE ALSO AUTHOR File::GlobMapper - Extend File Glob to Allow Input and Output Files SYNOPSIS DESCRIPTION Behind The Scenes Limitations Input File Glob ~, ~user, ., *, ?, \, [], {,}, () Output File Glob "*", #1 Returned Data EXAMPLES A Rename script A few example globmaps SEE ALSO AUTHOR COPYRIGHT AND LICENSE File::Path - Create or remove directory trees VERSION SYNOPSIS DESCRIPTION make_path( $dir1, $dir2, .... ), make_path( $dir1, $dir2, ...., \%opts ), mode => $num, chmod => $num, verbose => $bool, error => \$err, owner => $owner, user => $owner, uid => $owner, group => $group, mkpath( $dir ), mkpath( $dir, $verbose, $mode ), mkpath( [$dir1, $dir2,...], $verbose, $mode ), mkpath( $dir1, $dir2,..., \%opt ), remove_tree( $dir1, $dir2, .... ), remove_tree( $dir1, $dir2, ...., \%opts ), verbose => $bool, safe => $bool, keep_root => $bool, result => \$res, error => \$err, rmtree( $dir ), rmtree( $dir, $verbose, $safe ), rmtree( [$dir1, $dir2,...], $verbose, $safe ), rmtree( $dir1, $dir2,..., \%opt ) ERROR HANDLING NOTE: NOTES , 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 , Charlie Gonzalez , Craig A. Berry , James E Keenan , John Lightsey , Nigel Horne , Richard Elberger , Ryan Yee , Skye Shaw , Tom Lutz , Will Sheppard COPYRIGHT LICENSE File::Spec - portably perform operations on file names SYNOPSIS DESCRIPTION METHODS canonpath , catdir , catfile , curdir , devnull , rootdir , tmpdir , updir , no_upwards, case_tolerant, file_name_is_absolute, path , join , splitpath , splitdir , catpath(), abs2rel , rel2abs() SEE ALSO AUTHOR COPYRIGHT File::Spec::AmigaOS - File::Spec for AmigaOS SYNOPSIS DESCRIPTION METHODS tmpdir file_name_is_absolute File::Spec::Cygwin - methods for Cygwin file specs SYNOPSIS DESCRIPTION canonpath file_name_is_absolute tmpdir (override) case_tolerant COPYRIGHT File::Spec::Epoc - methods for Epoc file specs SYNOPSIS DESCRIPTION canonpath() AUTHOR COPYRIGHT SEE ALSO File::Spec::Functions - portably perform operations on file names SYNOPSIS DESCRIPTION Exports COPYRIGHT SEE ALSO File::Spec::Mac - File::Spec for Mac OS (Classic) SYNOPSIS DESCRIPTION METHODS canonpath catdir() catfile curdir devnull rootdir tmpdir updir file_name_is_absolute path splitpath splitdir catpath abs2rel rel2abs AUTHORS COPYRIGHT SEE ALSO File::Spec::OS2 - methods for OS/2 file specs SYNOPSIS DESCRIPTION tmpdir, splitpath COPYRIGHT File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules SYNOPSIS DESCRIPTION METHODS canonpath() catdir() catfile curdir devnull rootdir tmpdir updir no_upwards case_tolerant file_name_is_absolute path join splitpath splitdir catpath() abs2rel rel2abs() COPYRIGHT SEE ALSO File::Spec::VMS - methods for VMS file specs SYNOPSIS DESCRIPTION canonpath (override) catdir (override) catfile (override) curdir (override) devnull (override) rootdir (override) tmpdir (override) updir (override) case_tolerant (override) path (override) file_name_is_absolute (override) splitpath (override) splitdir (override) catpath (override) abs2rel (override) rel2abs (override) COPYRIGHT SEE ALSO File::Spec::Win32 - methods for Win32 file specs SYNOPSIS DESCRIPTION devnull tmpdir case_tolerant file_name_is_absolute catfile canonpath splitpath splitdir catpath Note For File::Spec::Win32 Maintainers COPYRIGHT SEE ALSO File::Temp - return name and handle of a temporary file safely VERSION SYNOPSIS DESCRIPTION PORTABILITY OBJECT-ORIENTED INTERFACE new, newdir, filename, dirname, unlink_on_destroy, DESTROY FUNCTIONS tempfile, tempdir MKTEMP FUNCTIONS mkstemp, mkstemps, mkdtemp, mktemp POSIX FUNCTIONS tmpnam, tmpfile ADDITIONAL FUNCTIONS tempnam UTILITY FUNCTIONS unlink0, cmpstat, unlink1, cleanup PACKAGE VARIABLES safe_level, STANDARD, MEDIUM, HIGH, TopSystemUID, $KEEP_ALL, $DEBUG WARNING Temporary files and NFS Forking Directory removal Taint mode BINMODE HISTORY SEE ALSO SUPPORT AUTHOR CONTRIBUTORS COPYRIGHT AND LICENSE File::stat - by-name interface to Perl's built-in stat() functions SYNOPSIS DESCRIPTION BUGS ERRORS -%s is not implemented on a File::stat object WARNINGS File::stat ignores use filetest 'access', File::stat ignores VMS ACLs NOTE AUTHOR FileCache - keep more files open than the system permits SYNOPSIS DESCRIPTION cacheout EXPR, cacheout MODE, EXPR CAVEATS BUGS FileHandle - supply object methods for filehandles SYNOPSIS DESCRIPTION $fh->print, $fh->printf, $fh->getline, $fh->getlines SEE ALSO Filter::Simple - Simplified source filtering SYNOPSIS DESCRIPTION The Problem A Solution Disabling or changing behaviour All-in-one interface Filtering only specific components of source code "code", "code_no_comments", "executable", "executable_no_comments", "quotelike", "string", "regex", "all" Filtering only the code parts of source code Using Filter::Simple with an explicit "import" subroutine Using Filter::Simple and Exporter together How it works AUTHOR CONTACT COPYRIGHT AND LICENSE Filter::Util::Call - Perl Source Filter Utility Module SYNOPSIS DESCRIPTION use Filter::Util::Call import() filter_add() filter() and anonymous sub $_, $status, filter_read and filter_read_exact, filter_del, real_import, unimport() LIMITATIONS __DATA__ is ignored, Max. codesize limited to 32-bit EXAMPLES Example 1: A simple filter. Example 2: Using the context Example 3: Using the context within the filter Example 4: Using filter_del Filter::Simple AUTHOR DATE LICENSE FindBin - Locate directory of original perl script SYNOPSIS DESCRIPTION EXPORTABLE VARIABLES KNOWN ISSUES AUTHORS COPYRIGHT GDBM_File - Perl5 access to the gdbm library. SYNOPSIS DESCRIPTION Tie GDBM_READER, GDBM_WRITER, GDBM_WRCREAT, GDBM_NEWDB STATIC METHODS GDBM_version 1 - exact guess, 2 - approximate, 3 - rough guess ERROR HANDLING $GDBM_File::gdbm_errno gdbm_check_syserr DATABASE METHODS close errno syserrno strerror clear_error needs_recovery reorganize sync count flags dbname cache_size block_size sync_mode centfree coalesce mmap mmapsize recover err => sub { ... }, backup => \$str, max_failed_keys => $n, max_failed_buckets => $n, max_failures => $n, stat => \%hash, recovered_keys, recovered_buckets, failed_keys, failed_buckets convert dump binary => 1, mode => MODE, overwrite => 1 load replace => 1, restore_mode => 0 | 1, restore_owner => 0 | 1, strict_errors => 1 CRASH TOLERANCE crash_tolerance_status failure_atomic latest_snapshot GDBM_SNAPSHOT_BAD, GDBM_SNAPSHOT_ERR, GDBM_SNAPSHOT_SAME, GDBM_SNAPSHOT_SUSPICIOUS AVAILABILITY SECURITY AND PORTABILITY SEE ALSO Getopt::Long - Extended processing of command line options SYNOPSIS DESCRIPTION Command Line Options, an Introduction Getting Started with Getopt::Long Simple options A little bit less simple options Mixing command line option with other arguments Options with values Options with multiple values Options with hash values User-defined subroutines to handle options Options with multiple names Case and abbreviations Summary of Option Specifications !, +, s, i, o, f, : type [ desttype ], : number [ desttype ], : + [ desttype ] Advanced Possibilities Object oriented interface Callback object name, given Thread Safety Documentation and help texts Parsing options from an arbitrary array Parsing options from an arbitrary string Storing options values in a hash Bundling The lonesome dash Argument callback Configuring Getopt::Long default, posix_default, auto_abbrev, getopt_compat, gnu_compat, gnu_getopt, require_order, permute, bundling (default: disabled), bundling_override (default: disabled), ignore_case (default: enabled), ignore_case_always (default: disabled), auto_version (default:disabled), auto_help (default:disabled), pass_through (default: disabled), prefix, prefix_pattern, long_prefix_pattern, debug (default: disabled) Exportable Methods VersionMessage, "-message", "-msg", "-exitval", "-output", HelpMessage Return values and Errors Legacy Default destinations Alternative option starters Configuration variables Tips and Techniques Pushing multiple values in a hash option Troubleshooting GetOptions does not return a false result when an option is not supplied GetOptions does not split the command line correctly Undefined subroutine &main::GetOptions called How do I put a "-?" option into a Getopt::Long? AUTHOR COPYRIGHT AND DISCLAIMER Getopt::Std - Process single-character switches with switch clustering SYNOPSIS DESCRIPTION "--help" and "--version" HTTP::Tiny - A small, simple, correct HTTP/1.1 client VERSION SYNOPSIS DESCRIPTION METHODS new get|head|put|post|patch|delete post_form mirror request www_form_urlencode can_ssl connected TLS/SSL SUPPORT PROXY SUPPORT LIMITATIONS SEE ALSO SUPPORT Bugs / Feature Requests Source Code AUTHORS CONTRIBUTORS COPYRIGHT AND LICENSE Hash::Util - A selection of general-utility hash subroutines SYNOPSIS DESCRIPTION Restricted hashes lock_keys, unlock_keys lock_keys_plus lock_value, unlock_value lock_hash, unlock_hash lock_hash_recurse, unlock_hash_recurse hashref_locked, hash_locked hashref_unlocked, hash_unlocked legal_keys, hidden_keys, all_keys, hash_seed, hash_value, bucket_info, bucket_stats, bucket_array bucket_stats_formatted hv_store, hash_traversal_mask, bucket_ratio, used_buckets, num_buckets Operating on references to hashes. lock_ref_keys, unlock_ref_keys, lock_ref_keys_plus, lock_ref_value, unlock_ref_value, lock_hashref, unlock_hashref, lock_hashref_recurse, unlock_hashref_recurse, hash_ref_unlocked, legal_ref_keys, hidden_ref_keys CAVEATS BUGS AUTHOR SEE ALSO Hash::Util::FieldHash - Support for Inside-Out Classes SYNOPSIS FUNCTIONS id, id_2obj, register, idhash, idhashes, fieldhash, fieldhashes DESCRIPTION The Inside-out Technique Problems of Inside-out Solutions More Problems The Generic Object How to use Field Hashes Garbage-Collected Hashes EXAMPLES init(), first(), last(), name(), "Name_hash", "Name_id", "Name_idhash", "Name_id_reg", "Name_idhash_reg", "Name_fieldhash" Example 1 Example 2 GUTS The "PERL_MAGIC_uvar" interface for hashes Weakrefs call uvar magic How field hashes work Internal function Hash::Util::FieldHash::_fieldhash AUTHOR COPYRIGHT AND LICENSE I18N::Collate - compare 8-bit scalar data according to the current locale SYNOPSIS DESCRIPTION I18N::LangTags - functions for dealing with RFC3066-style language tags SYNOPSIS DESCRIPTION the function is_language_tag($lang1) the function extract_language_tags($whatever) the function same_language_tag($lang1, $lang2) the function similarity_language_tag($lang1, $lang2) the function is_dialect_of($lang1, $lang2) the function super_languages($lang1) the function locale2language_tag($locale_identifier) the function encode_language_tag($lang1) the function alternate_language_tags($lang1) the function @langs = panic_languages(@accept_languages) the function implicate_supers( ...languages... ), the function implicate_supers_strictly( ...languages... ) ABOUT LOWERCASING ABOUT UNICODE PLAINTEXT LANGUAGE TAGS SEE ALSO COPYRIGHT AUTHOR I18N::LangTags::Detect - detect the user's language preferences SYNOPSIS DESCRIPTION FUNCTIONS ENVIRONMENT SEE ALSO COPYRIGHT AUTHOR I18N::LangTags::List -- tags and names for human languages SYNOPSIS DESCRIPTION ABOUT LANGUAGE TAGS LIST OF LANGUAGES {ab} : Abkhazian, {ace} : Achinese, {ach} : Acoli, {ada} : Adangme, {ady} : Adyghe, {aa} : Afar, {afh} : Afrihili, {af} : Afrikaans, [{afa} : Afro-Asiatic (Other)], {ak} : Akan, {akk} : Akkadian, {sq} : Albanian, {ale} : Aleut, [{alg} : Algonquian languages], [{tut} : Altaic (Other)], {am} : Amharic, {i-ami} : Ami, [{apa} : Apache languages], {ar} : Arabic, {arc} : Aramaic, {arp} : Arapaho, {arn} : Araucanian, {arw} : Arawak, {hy} : Armenian, {an} : Aragonese, [{art} : Artificial (Other)], {ast} : Asturian, {as} : Assamese, [{ath} : Athapascan languages], [{aus} : Australian languages], [{map} : Austronesian (Other)], {av} : Avaric, {ae} : Avestan, {awa} : Awadhi, {ay} : Aymara, {az} : Azerbaijani, {ban} : Balinese, [{bat} : Baltic (Other)], {bal} : Baluchi, {bm} : Bambara, [{bai} : Bamileke languages], {bad} : Banda, [{bnt} : Bantu (Other)], {bas} : Basa, {ba} : Bashkir, {eu} : Basque, {btk} : Batak (Indonesia), {bej} : Beja, {be} : Belarusian, {bem} : Bemba, {bn} : Bengali, [{ber} : Berber (Other)], {bho} : Bhojpuri, {bh} : Bihari, {bik} : Bikol, {bin} : Bini, {bi} : Bislama, {bs} : Bosnian, {bra} : Braj, {br} : Breton, {bug} : Buginese, {bg} : Bulgarian, {i-bnn} : Bunun, {bua} : Buriat, {my} : Burmese, {cad} : Caddo, {car} : Carib, {ca} : Catalan, [{cau} : Caucasian (Other)], {ceb} : Cebuano, [{cel} : Celtic (Other)], [{cai} : Central American Indian (Other)], {chg} : Chagatai, [{cmc} : Chamic languages], {ch} : Chamorro, {ce} : Chechen, {chr} : Cherokee, {chy} : Cheyenne, {chb} : Chibcha, {ny} : Chichewa, {zh} : Chinese, {chn} : Chinook Jargon, {chp} : Chipewyan, {cho} : Choctaw, {cu} : Church Slavic, {chk} : Chuukese, {cv} : Chuvash, {cop} : Coptic, {kw} : Cornish, {co} : Corsican, {cr} : Cree, {mus} : Creek, [{cpe} : English-based Creoles and pidgins (Other)], [{cpf} : French-based Creoles and pidgins (Other)], [{cpp} : Portuguese-based Creoles and pidgins (Other)], [{crp} : Creoles and pidgins (Other)], {hr} : Croatian, [{cus} : Cushitic (Other)], {cs} : Czech, {dak} : Dakota, {da} : Danish, {dar} : Dargwa, {day} : Dayak, {i-default} : Default (Fallthru) Language, {del} : Delaware, {din} : Dinka, {dv} : Divehi, {doi} : Dogri, {dgr} : Dogrib, [{dra} : Dravidian (Other)], {dua} : Duala, {nl} : Dutch, {dum} : Middle Dutch (ca.1050-1350), {dyu} : Dyula, {dz} : Dzongkha, {efi} : Efik, {egy} : Ancient Egyptian, {eka} : Ekajuk, {elx} : Elamite, {en} : English, {enm} : Old English (1100-1500), {ang} : Old English (ca.450-1100), {i-enochian} : Enochian (Artificial), {myv} : Erzya, {eo} : Esperanto, {et} : Estonian, {ee} : Ewe, {ewo} : Ewondo, {fan} : Fang, {fat} : Fanti, {fo} : Faroese, {fj} : Fijian, {fi} : Finnish, [{fiu} : Finno-Ugrian (Other)], {fon} : Fon, {fr} : French, {frm} : Middle French (ca.1400-1600), {fro} : Old French (842-ca.1400), {fy} : Frisian, {fur} : Friulian, {ff} : Fulah, {gaa} : Ga, {gd} : Scots Gaelic, {gl} : Gallegan, {lg} : Ganda, {gay} : Gayo, {gba} : Gbaya, {gez} : Geez, {ka} : Georgian, {de} : German, {gmh} : Middle High German (ca.1050-1500), {goh} : Old High German (ca.750-1050), [{gem} : Germanic (Other)], {gil} : Gilbertese, {gon} : Gondi, {gor} : Gorontalo, {got} : Gothic, {grb} : Grebo, {grc} : Ancient Greek, {el} : Modern Greek, {gn} : Guarani, {gu} : Gujarati, {gwi} : Gwich'in, {hai} : Haida, {ht} : Haitian, {ha} : Hausa, {haw} : Hawaiian, {he} : Hebrew, {hz} : Herero, {hil} : Hiligaynon, {him} : Himachali, {hi} : Hindi, {ho} : Hiri Motu, {hit} : Hittite, {hmn} : Hmong, {hu} : Hungarian, {hup} : Hupa, {iba} : Iban, {is} : Icelandic, {io} : Ido, {ig} : Igbo, {ijo} : Ijo, {ilo} : Iloko, [{inc} : Indic (Other)], [{ine} : Indo-European (Other)], {id} : Indonesian, {inh} : Ingush, {ia} : Interlingua (International Auxiliary Language Association), {ie} : Interlingue, {iu} : Inuktitut, {ik} : Inupiaq, [{ira} : Iranian (Other)], {ga} : Irish, {mga} : Middle Irish (900-1200), {sga} : Old Irish (to 900), [{iro} : Iroquoian languages], {it} : Italian, {ja} : Japanese, {jv} : Javanese, {jrb} : Judeo-Arabic, {jpr} : Judeo-Persian, {kbd} : Kabardian, {kab} : Kabyle, {kac} : Kachin, {kl} : Kalaallisut, {xal} : Kalmyk, {kam} : Kamba, {kn} : Kannada, {kr} : Kanuri, {krc} : Karachay-Balkar, {kaa} : Kara-Kalpak, {kar} : Karen, {ks} : Kashmiri, {csb} : Kashubian, {kaw} : Kawi, {kk} : Kazakh, {kha} : Khasi, {km} : Khmer, [{khi} : Khoisan (Other)], {kho} : Khotanese, {ki} : Kikuyu, {kmb} : Kimbundu, {rw} : Kinyarwanda, {ky} : Kirghiz, {i-klingon} : Klingon, {kv} : Komi, {kg} : Kongo, {kok} : Konkani, {ko} : Korean, {kos} : Kosraean, {kpe} : Kpelle, {kro} : Kru, {kj} : Kuanyama, {kum} : Kumyk, {ku} : Kurdish, {kru} : Kurukh, {kut} : Kutenai, {lad} : Ladino, {lah} : Lahnda, {lam} : Lamba, {lo} : Lao, {la} : Latin, {lv} : Latvian, {lb} : Letzeburgesch, {lez} : Lezghian, {li} : Limburgish, {ln} : Lingala, {lt} : Lithuanian, {nds} : Low German, {art-lojban} : Lojban (Artificial), {loz} : Lozi, {lu} : Luba-Katanga, {lua} : Luba- Lulua, {lui} : Luiseno, {lun} : Lunda, {luo} : Luo (Kenya and Tanzania), {lus} : Lushai, {mk} : Macedonian, {mad} : Madurese, {mag} : Magahi, {mai} : Maithili, {mak} : Makasar, {mg} : Malagasy, {ms} : Malay, {ml} : Malayalam, {mt} : Maltese, {mnc} : Manchu, {mdr} : Mandar, {man} : Mandingo, {mni} : Manipuri, [{mno} : Manobo languages], {gv} : Manx, {mi} : Maori, {mr} : Marathi, {chm} : Mari, {mh} : Marshall, {mwr} : Marwari, {mas} : Masai, [{myn} : Mayan languages], {men} : Mende, {mic} : Micmac, {min} : Minangkabau, {i-mingo} : Mingo, [{mis} : Miscellaneous languages], {moh} : Mohawk, {mdf} : Moksha, {mo} : Moldavian, [{mkh} : Mon- Khmer (Other)], {lol} : Mongo, {mn} : Mongolian, {mos} : Mossi, [{mul} : Multiple languages], [{mun} : Munda languages], {nah} : Nahuatl, {nap} : Neapolitan, {na} : Nauru, {nv} : Navajo, {nd} : North Ndebele, {nr} : South Ndebele, {ng} : Ndonga, {ne} : Nepali, {new} : Newari, {nia} : Nias, [{nic} : Niger-Kordofanian (Other)], [{ssa} : Nilo-Saharan (Other)], {niu} : Niuean, {nog} : Nogai, {non} : Old Norse, [{nai} : North American Indian], {no} : Norwegian, {nb} : Norwegian Bokmal, {nn} : Norwegian Nynorsk, [{nub} : Nubian languages], {nym} : Nyamwezi, {nyn} : Nyankole, {nyo} : Nyoro, {nzi} : Nzima, {oc} : Occitan (post 1500), {oj} : Ojibwa, {or} : Oriya, {om} : Oromo, {osa} : Osage, {os} : Ossetian; Ossetic, [{oto} : Otomian languages], {pal} : Pahlavi, {i-pwn} : Paiwan, {pau} : Palauan, {pi} : Pali, {pam} : Pampanga, {pag} : Pangasinan, {pa} : Panjabi, {pap} : Papiamento, [{paa} : Papuan (Other)], {fa} : Persian, {peo} : Old Persian (ca.600-400 B.C.), [{phi} : Philippine (Other)], {phn} : Phoenician, {pon} : Pohnpeian, {pl} : Polish, {pt} : Portuguese, [{pra} : Prakrit languages], {pro} : Old Provencal (to 1500), {ps} : Pushto, {qu} : Quechua, {rm} : Raeto-Romance, {raj} : Rajasthani, {rap} : Rapanui, {rar} : Rarotongan, [{qaa - qtz} : Reserved for local use.], [{roa} : Romance (Other)], {ro} : Romanian, {rom} : Romany, {rn} : Rundi, {ru} : Russian, [{sal} : Salishan languages], {sam} : Samaritan Aramaic, {se} : Northern Sami, {sma} : Southern Sami, {smn} : Inari Sami, {smj} : Lule Sami, {sms} : Skolt Sami, [{smi} : Sami languages (Other)], {sm} : Samoan, {sad} : Sandawe, {sg} : Sango, {sa} : Sanskrit, {sat} : Santali, {sc} : Sardinian, {sas} : Sasak, {sco} : Scots, {sel} : Selkup, [{sem} : Semitic (Other)], {sr} : Serbian, {srr} : Serer, {shn} : Shan, {sn} : Shona, {sid} : Sidamo, {sgn-...} : Sign Languages, {bla} : Siksika, {sd} : Sindhi, {si} : Sinhalese, [{sit} : Sino-Tibetan (Other)], [{sio} : Siouan languages], {den} : Slave (Athapascan), [{sla} : Slavic (Other)], {sk} : Slovak, {sl} : Slovenian, {sog} : Sogdian, {so} : Somali, {son} : Songhai, {snk} : Soninke, {wen} : Sorbian languages, {nso} : Northern Sotho, {st} : Southern Sotho, [{sai} : South American Indian (Other)], {es} : Spanish, {suk} : Sukuma, {sux} : Sumerian, {su} : Sundanese, {sus} : Susu, {sw} : Swahili, {ss} : Swati, {sv} : Swedish, {syr} : Syriac, {tl} : Tagalog, {ty} : Tahitian, [{tai} : Tai (Other)], {tg} : Tajik, {tmh} : Tamashek, {ta} : Tamil, {i-tao} : Tao, {tt} : Tatar, {i-tay} : Tayal, {te} : Telugu, {ter} : Tereno, {tet} : Tetum, {th} : Thai, {bo} : Tibetan, {tig} : Tigre, {ti} : Tigrinya, {tem} : Timne, {tiv} : Tiv, {tli} : Tlingit, {tpi} : Tok Pisin, {tkl} : Tokelau, {tog} : Tonga (Nyasa), {to} : Tonga (Tonga Islands), {tsi} : Tsimshian, {ts} : Tsonga, {i-tsu} : Tsou, {tn} : Tswana, {tum} : Tumbuka, [{tup} : Tupi languages], {tr} : Turkish, {ota} : Ottoman Turkish (1500-1928), {crh} : Crimean Turkish, {tk} : Turkmen, {tvl} : Tuvalu, {tyv} : Tuvinian, {tw} : Twi, {udm} : Udmurt, {uga} : Ugaritic, {ug} : Uighur, {uk} : Ukrainian, {umb} : Umbundu, {und} : Undetermined, {ur} : Urdu, {uz} : Uzbek, {vai} : Vai, {ve} : Venda, {vi} : Vietnamese, {vo} : Volapuk, {vot} : Votic, [{wak} : Wakashan languages], {wa} : Walloon, {wal} : Walamo, {war} : Waray, {was} : Washo, {cy} : Welsh, {wo} : Wolof, {x-...} : Unregistered (Semi- Private Use), {xh} : Xhosa, {sah} : Yakut, {yao} : Yao, {yap} : Yapese, {ii} : Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd} : Zande, [{zap} : Zapotec], {zen} : Zenaga, {za} : Zhuang, {zu} : Zulu, {zun} : Zuni SEE ALSO COPYRIGHT AND DISCLAIMER AUTHOR I18N::Langinfo - query locale information SYNOPSIS DESCRIPTION For systems without "nl_langinfo" "ERA", "CODESET", "YESEXPR", "YESSTR", "NOEXPR", "NOSTR", "D_FMT", "T_FMT", "D_T_FMT", "CRNCYSTR", "ALT_DIGITS", "ERA_D_FMT", "ERA_T_FMT", "ERA_D_T_FMT", "T_FMT_AMPM" EXPORT BUGS SEE ALSO AUTHOR COPYRIGHT AND LICENSE IO - load various IO modules SYNOPSIS DESCRIPTION DEPRECATED IO::Compress::Base - Base Class for IO::Compress modules SYNOPSIS DESCRIPTION SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Compress::Bzip2 - Write bzip2 files/buffers SYNOPSIS DESCRIPTION Functional Interface bzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "BlockSize100K => number", "WorkFactor => number", "Strict => 0|1" Examples Methods print printf syswrite write flush tell eof seek binmode opened autoflush input_line_number fileno close newStream([OPTS]) Importing :all EXAMPLES Apache::GZip Revisited Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Compress::Deflate - Write RFC 1950 files/buffers SYNOPSIS DESCRIPTION Functional Interface deflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Merge => 0|1", -Level, -Strategy, "Strict => 0|1" Examples Methods print printf syswrite write flush tell eof seek binmode opened autoflush input_line_number fileno close newStream([OPTS]) deflateParams Importing :all, :constants, :flush, :level, :strategy EXAMPLES Apache::GZip Revisited Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Compress::FAQ -- Frequently Asked Questions about IO::Compress DESCRIPTION GENERAL Compatibility with Unix compress/uncompress. Accessing .tar.Z files How do I recompress using a different compression? ZIP What Compression Types do IO::Compress::Zip & IO::Uncompress::Unzip support? Store (method 0), Deflate (method 8), Bzip2 (method 12), Lzma (method 14) Can I Read/Write Zip files larger the 4 Gig? Can I write more that 64K entries is a Zip files? Zip Resources GZIP Gzip Resources Dealing with concatenated gzip files Reading bgzip files with IO::Uncompress::Gunzip ZLIB Zlib Resources Bzip2 Bzip2 Resources Dealing with Concatenated bzip2 files Interoperating with Pbzip2 HTTP & NETWORK Apache::GZip Revisited Compressed files and Net::FTP MISC Using "InputLength" to uncompress data embedded in a larger file/buffer. SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Compress::Gzip - Write RFC 1952 files/buffers SYNOPSIS DESCRIPTION Functional Interface gzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Merge => 0|1", -Level, -Strategy, "Minimal => 0|1", "Comment => $comment", "Name => $string", "Time => $number", "TextFlag => 0|1", "HeaderCRC => 0|1", "OS_Code => $value", "ExtraField => $data", "ExtraFlags => $value", "Strict => 0|1" Examples Methods print printf syswrite write flush tell eof seek binmode opened autoflush input_line_number fileno close newStream([OPTS]) deflateParams Importing :all, :constants, :flush, :level, :strategy EXAMPLES Apache::GZip Revisited Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Compress::RawDeflate - Write RFC 1951 files/buffers SYNOPSIS DESCRIPTION Functional Interface rawdeflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Merge => 0|1", -Level, -Strategy, "Strict => 0|1" Examples Methods print printf syswrite write flush tell eof seek binmode opened autoflush input_line_number fileno close newStream([OPTS]) deflateParams Importing :all, :constants, :flush, :level, :strategy EXAMPLES Apache::GZip Revisited Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Compress::Zip - Write zip files/buffers SYNOPSIS DESCRIPTION Store (0), Deflate (8), Bzip2 (12), Lzma (14), Zstandard (93), Xz (95) Functional Interface zip $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, the full filename contained in $input_filename_or_reference, the file protection attributes, the UID/GID for the file, the file timestamps, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeIn => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "Name => $string", If the $input parameter is not a filename, the archive member name will be an empty string, "CanonicalName => 0|1", "FilterName => sub { ... }", "Efs => 0|1", "Minimal => 1|0", "Stream => 0|1", "Zip64 => 0|1", -Level, -Strategy, "BlockSize100K => number", "WorkFactor => number", "Preset => number", "Extreme => 0|1", "Time => $number", "ExtAttr => $attr", "exTime => [$atime, $mtime, $ctime]", "exUnix2 => [$uid, $gid]", "exUnixN => [$uid, $gid]", Comment => $comment, "ZipComment => $comment", "Method => $method", "TextFlag => 0|1", "ExtraFieldLocal => $data", "ExtraFieldCentral => $data", "Strict => 0|1" Examples Methods print printf syswrite write flush tell eof seek binmode opened autoflush input_line_number fileno close newStream([OPTS]) deflateParams Importing :all, :constants, :flush, :level, :strategy, :zip_method EXAMPLES Apache::GZip Revisited Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Dir - supply object methods for directory handles SYNOPSIS DESCRIPTION new ( [ DIRNAME ] ), open ( DIRNAME ), read (), seek ( POS ), tell (), rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ] SEE ALSO AUTHOR COPYRIGHT IO::File - supply object methods for filehandles SYNOPSIS DESCRIPTION CONSTRUCTOR new ( FILENAME [,MODE [,PERMS]] ), new_tmpfile METHODS open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS ), binmode( [LAYER] ) NOTE SEE ALSO HISTORY IO::Handle - supply object methods for I/O handles SYNOPSIS DESCRIPTION CONSTRUCTOR new (), new_from_fd ( FD, MODE ) METHODS $io->fdopen ( FD, MODE ), $io->opened, $io->getline, $io->getlines, $io->ungetc ( ORD ), $io->write ( BUF, LEN [, OFFSET ] ), $io->error, $io->clearerr, $io->sync, $io->flush, $io->printflush ( ARGS ), $io->blocking ( [ BOOL ] ), $io->untaint NOTE SEE ALSO BUGS HISTORY IO::Pipe - supply object methods for pipes SYNOPSIS DESCRIPTION CONSTRUCTOR new ( [READER, WRITER] ) METHODS reader ([ARGS]), writer ([ARGS]), handles () SEE ALSO AUTHOR COPYRIGHT IO::Poll - Object interface to system poll call SYNOPSIS DESCRIPTION METHODS mask ( IO [, EVENT_MASK ] ), poll ( [ TIMEOUT ] ), events ( IO ), remove ( IO ), handles( [ EVENT_MASK ] ) SEE ALSO AUTHOR COPYRIGHT IO::Seekable - supply seek based methods for I/O objects SYNOPSIS DESCRIPTION $io->getpos, $io->setpos, $io->seek ( POS, WHENCE ), WHENCE=0 (SEEK_SET), WHENCE=1 (SEEK_CUR), WHENCE=2 (SEEK_END), $io->sysseek( POS, WHENCE ), $io->tell SEE ALSO HISTORY IO::Select - OO interface to the select system call SYNOPSIS DESCRIPTION CONSTRUCTOR new ( [ HANDLES ] ) METHODS add ( HANDLES ), remove ( HANDLES ), exists ( HANDLE ), handles, can_read ( [ TIMEOUT ] ), can_write ( [ TIMEOUT ] ), has_exception ( [ TIMEOUT ] ), count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] ) EXAMPLE AUTHOR COPYRIGHT IO::Socket - Object interface to socket communications SYNOPSIS DESCRIPTION CONSTRUCTOR ARGUMENTS Blocking Domain Listen Timeout Type CONSTRUCTORS new METHODS accept atmark autoflush bind connected getsockopt listen peername protocol recv send setsockopt shutdown sockdomain socket socketpair sockname sockopt socktype timeout EXAMPLES LIMITATIONS SEE ALSO AUTHOR COPYRIGHT IO::Socket::INET - Object interface for AF_INET domain sockets SYNOPSIS DESCRIPTION CONSTRUCTOR new ( [ARGS] ) METHODS sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost () SEE ALSO AUTHOR COPYRIGHT IO::Socket::IP, "IO::Socket::IP" - Family-neutral IP socket supporting both IPv4 and IPv6 SYNOPSIS DESCRIPTION REPLACING "IO::Socket" DEFAULT BEHAVIOUR CONSTRUCTORS new PeerHost => STRING, PeerService => STRING, PeerAddr => STRING, PeerPort => STRING, PeerAddrInfo => ARRAY, LocalHost => STRING, LocalService => STRING, LocalAddr => STRING, LocalPort => STRING, LocalAddrInfo => ARRAY, Family => INT, Type => INT, Proto => STRING or INT, GetAddrInfoFlags => INT, Listen => INT, ReuseAddr => BOOL, ReusePort => BOOL, Broadcast => BOOL, Sockopts => ARRAY, V6Only => BOOL, MultiHomed, Blocking => BOOL, Timeout => NUM new (one arg) METHODS sockhost_service sockhost sockport sockhostname sockservice sockaddr peerhost_service peerhost peerport peerhostname peerservice peeraddr as_inet NON-BLOCKING "PeerHost" AND "LocalHost" PARSING split_addr join_addr "IO::Socket::INET" INCOMPATIBILITES TODO AUTHOR IO::Socket::UNIX - Object interface for AF_UNIX domain sockets SYNOPSIS DESCRIPTION CONSTRUCTOR new ( [ARGS] ) METHODS hostpath(), peerpath() SEE ALSO AUTHOR COPYRIGHT IO::Uncompress::AnyInflate - Uncompress zlib-based (zip, gzip) file/buffer SYNOPSIS DESCRIPTION RFC 1950, RFC 1951 (optionally), gzip (RFC 1952), zip Functional Interface anyinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar" Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "RawInflate => 0|1", "ParseExtra => 0|1" If the gzip FEXTRA header field is present and this option is set, it will force the module to check that it conforms to the sub-field structure as defined in RFC 1952 Examples Methods read read getline getc ungetc inflateSync getHeaderInfo tell eof seek binmode opened autoflush input_line_number fileno close nextStream trailingData Importing :all EXAMPLES Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2, zstd, xz, lzma, lzip, lzf or lzop file/buffer SYNOPSIS DESCRIPTION RFC 1950, RFC 1951 (optionally), gzip (RFC 1952), zip, zstd (Zstandard), bzip2, lzop, lzf, lzma, lzip, xz Functional Interface anyuncompress $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar" Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "RawInflate => 0|1", "UnLzma => 0|1" Examples Methods read read getline getc ungetc getHeaderInfo tell eof seek binmode opened autoflush input_line_number fileno close nextStream trailingData Importing :all EXAMPLES SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Uncompress::Base - Base Class for IO::Uncompress modules SYNOPSIS DESCRIPTION SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Uncompress::Bunzip2 - Read bzip2 files/buffers SYNOPSIS DESCRIPTION Functional Interface bunzip2 $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar" Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "Small => 0|1" Examples Methods read read getline getc ungetc getHeaderInfo tell eof seek binmode opened autoflush input_line_number fileno close nextStream trailingData Importing :all EXAMPLES Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Uncompress::Gunzip - Read RFC 1952 files/buffers SYNOPSIS DESCRIPTION Functional Interface gunzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar" Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1", "ParseExtra => 0|1" If the gzip FEXTRA header field is present and this option is set, it will force the module to check that it conforms to the sub- field structure as defined in RFC 1952 Examples Methods read read getline getc ungetc inflateSync getHeaderInfo Name, Comment tell eof seek binmode opened autoflush input_line_number fileno close nextStream trailingData Importing :all EXAMPLES Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Uncompress::Inflate - Read RFC 1950 files/buffers SYNOPSIS DESCRIPTION Functional Interface inflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar" Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1" Examples Methods read read getline getc ungetc inflateSync getHeaderInfo tell eof seek binmode opened autoflush input_line_number fileno close nextStream trailingData Importing :all EXAMPLES Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Uncompress::RawInflate - Read RFC 1951 files/buffers SYNOPSIS DESCRIPTION Functional Interface rawinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar" Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", InputLength => $size, "Append => 0|1", "Strict => 0|1" Examples Methods read read getline getc ungetc inflateSync getHeaderInfo tell eof seek binmode opened autoflush input_line_number fileno close nextStream trailingData Importing :all EXAMPLES Working with Net::FTP SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Uncompress::Unzip - Read zip files/buffers SYNOPSIS DESCRIPTION Store (0), Deflate (8), Bzip2 (12), Lzma (14), Xz (95), Zstandard (93) Functional Interface unzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] A filename, A filehandle, A scalar reference, An array reference, An Input FileGlob string, A filename, A filehandle, A scalar reference, An Array Reference, An Output FileGlob Notes Optional Parameters "AutoClose => 0|1", "BinModeOut => 0|1", "Append => 0|1", A Buffer, A Filename, A Filehandle, "MultiStream => 0|1", "TrailingData => $scalar" Examples OO Interface Constructor A filename, A filehandle, A scalar reference Constructor Options "Name => "membername"", "Efs => 0| 1", "AutoClose => 0|1", "MultiStream => 0|1", "Prime => $string", "Transparent => 0|1", "BlockSize => $num", "InputLength => $size", "Append => 0|1", "Strict => 0|1" Examples Methods read read getline getc ungetc inflateSync getHeaderInfo tell eof seek binmode opened autoflush input_line_number fileno close nextStream trailingData Importing :all EXAMPLES Working with Net::FTP Walking through a zip file Unzipping a complete zip file to disk SUPPORT SEE ALSO AUTHOR MODIFICATION HISTORY COPYRIGHT AND LICENSE IO::Zlib - IO:: style interface to Compress::Zlib SYNOPSIS DESCRIPTION CONSTRUCTOR new ( [ARGS] ) OBJECT METHODS open ( FILENAME, MODE ), opened, close, getc, getline, getlines, print ( ARGS... ), read ( BUF, NBYTES, [OFFSET] ), eof, seek ( OFFSET, WHENCE ), tell, setpos ( POS ), getpos ( POS ) USING THE EXTERNAL GZIP CLASS METHODS has_Compress_Zlib, gzip_external, gzip_used, gzip_read_open, gzip_write_open DIAGNOSTICS IO::Zlib::getlines: must be called in list context, IO::Zlib::gzopen_external: mode '...' is illegal, IO::Zlib::import: '...' is illegal, IO::Zlib::import: ':gzip_external' requires an argument, IO::Zlib::import: 'gzip_read_open' requires an argument, IO::Zlib::import: 'gzip_read' '...' is illegal, IO::Zlib::import: 'gzip_write_open' requires an argument, IO::Zlib::import: 'gzip_write_open' '...' is illegal, IO::Zlib::import: no Compress::Zlib and no external gzip, IO::Zlib::open: needs a filename, IO::Zlib::READ: NBYTES must be specified, IO::Zlib::WRITE: too long LENGTH SEE ALSO HISTORY COPYRIGHT IPC::Cmd - finding and running system commands made easy SYNOPSIS DESCRIPTION CLASS METHODS $ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] ) $ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] ) $bool = IPC::Cmd->can_capture_buffer $bool = IPC::Cmd->can_use_run_forked FUNCTIONS $path = can_run( PROGRAM ); $ok | ($ok, $err, $full_buf, $stdout_buff, $stderr_buff) = run( command => COMMAND, [verbose => BOOL, buffer => \$SCALAR, timeout => DIGIT] ); command, verbose, buffer, timeout, success, error message, full_buffer, out_buffer, error_buffer $hashref = run_forked( COMMAND, { child_stdin => SCALAR, timeout => DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} ); "timeout", "child_stdin", "stdout_handler", "stderr_handler", "wait_loop_callback", "discard_output", "terminate_on_parent_sudden_death", "exit_code", "timeout", "stdout", "stderr", "merged", "err_msg" $q = QUOTE HOW IT WORKS Global Variables $IPC::Cmd::VERBOSE $IPC::Cmd::USE_IPC_RUN $IPC::Cmd::USE_IPC_OPEN3 $IPC::Cmd::WARN $IPC::Cmd::INSTANCES $IPC::Cmd::ALLOW_NULL_ARGS Caveats Whitespace and IPC::Open3 / system(), Whitespace and IPC::Run, IO Redirect, Interleaving STDOUT/STDERR See Also ACKNOWLEDGEMENTS BUG REPORTS AUTHOR COPYRIGHT IPC::Msg - SysV Msg IPC object class SYNOPSIS DESCRIPTION METHODS new ( KEY , FLAGS ), id, rcv ( BUF, LEN [, TYPE [, FLAGS ]] ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), snd ( TYPE, MSG [, FLAGS ] ), stat SEE ALSO AUTHORS COPYRIGHT IPC::Open2 - open a process for both reading and writing using open2() SYNOPSIS DESCRIPTION WARNING SEE ALSO IPC::Open3 - open a process for reading, writing, and error handling using open3() SYNOPSIS DESCRIPTION See Also IPC::Open2, IPC::Run WARNING IPC::Semaphore - SysV Semaphore IPC object class SYNOPSIS DESCRIPTION METHODS new ( KEY , NSEMS , FLAGS ), getall, getncnt ( SEM ), getpid ( SEM ), getval ( SEM ), getzcnt ( SEM ), id, op ( OPLIST ), remove, set ( STAT ), set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N , VALUE ), stat SEE ALSO AUTHORS COPYRIGHT IPC::SharedMem - SysV Shared Memory IPC object class SYNOPSIS DESCRIPTION METHODS new ( KEY , SIZE , FLAGS ), id, read ( POS, SIZE ), write ( STRING, POS, SIZE ), remove, is_removed, stat, attach ( [FLAG] ), detach, addr SEE ALSO AUTHORS COPYRIGHT IPC::SysV - System V IPC constants and system calls SYNOPSIS DESCRIPTION ftok( PATH ), ftok( PATH, ID ), shmat( ID, ADDR, FLAG ), shmdt( ADDR ), memread( ADDR, VAR, POS, SIZE ), memwrite( ADDR, STRING, POS, SIZE ) SEE ALSO AUTHORS COPYRIGHT Internals - Reserved special namespace for internals related functions SYNOPSIS DESCRIPTION FUNCTIONS SvREFCNT(THING [, $value]), SvREADONLY(THING, [, $value]), hv_clear_placeholders(%hash) AUTHOR SEE ALSO JSON::PP - JSON::XS compatible pure-Perl module. SYNOPSIS DESCRIPTION FUNCTIONAL INTERFACE encode_json decode_json JSON::PP::is_bool OBJECT-ORIENTED INTERFACE new ascii latin1 utf8 pretty indent space_before space_after relaxed list items can have an end-comma, shell-style '#'-comments, C-style multiple-line '/* */'-comments (JSON::PP only), C++-style one-line '//'-comments (JSON::PP only), literal ASCII TAB characters in strings canonical allow_nonref allow_unknown allow_blessed convert_blessed allow_tags boolean_values core_bools filter_json_object filter_json_single_key_object shrink max_depth max_size encode decode decode_prefix FLAGS FOR JSON::PP ONLY allow_singlequote allow_barekey allow_bignum loose escape_slash indent_length sort_by INCREMENTAL PARSING incr_parse incr_text incr_skip incr_reset MAPPING JSON -> PERL object, array, string, number, true, false, null, shell-style comments ("# text"), tagged values ("(tag)value") PERL -> JSON hash references, array references, other references, JSON::PP::true, JSON::PP::false, JSON::PP::null, blessed objects, simple scalars OBJECT SERIALISATION 1. "allow_tags" is enabled and the object has a "FREEZE" method, 2. "convert_blessed" is enabled and the object has a "TO_JSON" method, 3. "allow_bignum" is enabled and the object is a "Math::BigInt" or "Math::BigFloat", 4. "allow_blessed" is enabled, 5. none of the above ENCODING/CODESET FLAG NOTES "utf8" flag disabled, "utf8" flag enabled, "latin1" or "ascii" flags enabled BUGS SEE ALSO AUTHOR CURRENT MAINTAINER COPYRIGHT AND LICENSE JSON::PP::Boolean - dummy module providing JSON::PP::Boolean SYNOPSIS DESCRIPTION AUTHOR LICENSE List::Util - A selection of general-utility list subroutines SYNOPSIS DESCRIPTION LIST-REDUCTION FUNCTIONS reduce reductions any all none notall first max maxstr min minstr product sum sum0 KEY/VALUE PAIR LIST FUNCTIONS pairs unpairs pairkeys pairvalues pairgrep pairfirst pairmap OTHER FUNCTIONS shuffle sample uniq uniqint uniqnum uniqstr head tail zip mesh CONFIGURATION VARIABLES $RAND KNOWN BUGS RT #95409 uniqnum() on oversized bignums SUGGESTED ADDITIONS SEE ALSO COPYRIGHT List::Util::XS - Indicate if List::Util was compiled with a C compiler SYNOPSIS DESCRIPTION SEE ALSO COPYRIGHT Locale::Maketext - framework for localization SYNOPSIS DESCRIPTION QUICK OVERVIEW METHODS Construction Methods The "maketext" Method $lh->fail_with or $lh->fail_with(PARAM), $lh->failure_handler_auto, $lh->denylist(@list) $lh->blacklist(@list), $lh->allowlist(@list) $lh->whitelist(@list) Utility Methods $language->quant($number, $singular), $language->quant($number, $singular, $plural), $language->quant($number, $singular, $plural, $negative), $language->numf($number), $language->numerate($number, $singular, $plural, $negative), $language->sprintf($format, @items), $language->language_tag(), $language->encoding() Language Handle Attributes and Internals LANGUAGE CLASS HIERARCHIES ENTRIES IN EACH LEXICON BRACKET NOTATION BRACKET NOTATION SECURITY AUTO LEXICONS READONLY LEXICONS CONTROLLING LOOKUP FAILURE HOW TO USE MAKETEXT SEE ALSO COPYRIGHT AND DISCLAIMER AUTHOR Locale::Maketext::Cookbook - recipes for using Locale::Maketext INTRODUCTION ONESIDED LEXICONS DECIMAL PLACES IN NUMBER FORMATTING Locale::Maketext::Guts - Deprecated module to load Locale::Maketext utf8 code SYNOPSIS DESCRIPTION Locale::Maketext::GutsLoader - Deprecated module to load Locale::Maketext utf8 code SYNOPSIS DESCRIPTION Locale::Maketext::Simple - Simple interface to Locale::Maketext::Lexicon VERSION SYNOPSIS DESCRIPTION OPTIONS Class Path Style Export Subclass Decode Encoding ACKNOWLEDGMENTS SEE ALSO AUTHORS COPYRIGHT The "MIT" License Locale::Maketext::TPJ13 -- article about software localization SYNOPSIS DESCRIPTION Localization and Perl: gettext breaks, Maketext fixes A Localization Horror Story: It Could Happen To You The Linguistic View Breaking gettext Replacing gettext Buzzwords: Abstraction and Encapsulation Buzzword: Isomorphism Buzzword: Inheritance Buzzword: Concision The Devil in the Details The Proof in the Pudding: Localizing Web Sites References MIME::Base64 - Encoding and decoding of base64 strings SYNOPSIS DESCRIPTION encode_base64( $bytes ), encode_base64( $bytes, $eol );, decode_base64( $str ), encode_base64url( $bytes ), decode_base64url( $str ), encoded_base64_length( $bytes ), encoded_base64_length( $bytes, $eol ), decoded_base64_length( $str ) EXAMPLES COPYRIGHT SEE ALSO MIME::QuotedPrint - Encoding and decoding of quoted-printable strings SYNOPSIS DESCRIPTION encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol, $binmode ), decode_qp( $str ) COPYRIGHT SEE ALSO Math::BigFloat - arbitrary size floating point math package SYNOPSIS DESCRIPTION Input Output METHODS Configuration methods accuracy(), precision() Constructor methods from_hex(), from_oct(), from_bin(), from_ieee754(), bpi() Arithmetic methods bmuladd(), bdiv(), bmod(), bexp(), bnok(), bsin(), bcos(), batan(), batan2(), as_float(), to_ieee754() ACCURACY AND PRECISION Rounding bfround ( +$scale ), bfround ( -$scale ), bfround ( 0 ), bround ( +$scale ), bround ( -$scale ) and bround ( 0 ) NUMERIC LITERALS Hexadecimal, octal, and binary floating point literals Math library Using Math::BigInt::Lite EXPORTS CAVEATS stringify, bstr(), brsft(), Modifying and =, precision() vs. accuracy() BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings, The Bignum mailing list, Post to mailing list, View mailing list, Subscribe/Unsubscribe LICENSE SEE ALSO AUTHORS Math::BigInt - arbitrary size integer math package SYNOPSIS DESCRIPTION Input Output METHODS Configuration methods accuracy(), precision(), div_scale(), round_mode(), upgrade(), downgrade(), modify(), config() Constructor methods new(), from_dec(), from_hex(), from_oct(), from_bin(), from_bytes(), from_base(), from_base_num(), bzero(), bone(), binf(), bnan(), bpi(), copy(), as_int(), as_number(), as_float(), as_rat() Boolean methods is_zero(), is_one( [ SIGN ]), is_finite(), is_inf( [ SIGN ] ), is_nan(), is_positive(), is_pos(), is_negative(), is_neg(), is_non_positive(), is_non_negative(), is_odd(), is_even(), is_int() Comparison methods bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge() Arithmetic methods bneg(), babs(), bsgn(), bnorm(), binc(), bdec(), badd(), bsub(), bmul(), bmuladd(), bdiv(), btdiv(), bmod(), btmod(), bmodinv(), bmodpow(), bpow(), blog(), bexp(), bnok(), buparrow(), uparrow(), backermann(), ackermann(), bsin(), bcos(), batan(), batan2(), bsqrt(), broot(), bfac(), bdfac(), btfac(), bmfac(), bfib(), blucas(), brsft(), blsft() Bitwise methods band(), bior(), bxor(), bnot() Rounding methods round(), bround(), bfround(), bfloor(), bceil(), bint() Other mathematical methods bgcd(), blcm() Object property methods sign(), digit(), digitsum(), bdigitsum(), length(), mantissa(), exponent(), parts(), sparts(), nparts(), eparts(), dparts(), fparts(), numerator(), denominator() String conversion methods bstr(), bsstr(), bnstr(), bestr(), bdstr(), bfstr(), to_hex(), to_bin(), to_oct(), to_bytes(), to_base(), to_base_num(), as_hex(), as_bin(), as_oct(), as_bytes() Other conversion methods numify() Utility methods dec_str_to_dec_flt_str(), hex_str_to_dec_flt_str(), oct_str_to_dec_flt_str(), bin_str_to_dec_flt_str(), dec_str_to_dec_str(), hex_str_to_dec_str(), oct_str_to_dec_str(), bin_str_to_dec_str() ACCURACY and PRECISION Precision P Accuracy A Fallback F Rounding mode R 'trunc', 'even', 'odd', '+inf', '-inf', 'zero', 'common', Precision, Accuracy (significant digits), Setting/Accessing, Creating numbers, Usage, Precedence, Overriding globals, Local settings, Rounding, Default values, Remarks Infinity and Not a Number oct()/hex() INTERNALS MATH LIBRARY SIGN EXAMPLES NUMERIC LITERALS Hexadecimal, octal, and binary floating point literals PERFORMANCE Alternative math libraries SUBCLASSING Subclassing Math::BigInt UPGRADING Auto-upgrade EXPORTS CAVEATS Comparing numbers as strings, int(), Modifying and =, Overloading -$x, Mixing different object types BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings, The Bignum mailing list, Post to mailing list, View mailing list, Subscribe/Unsubscribe LICENSE SEE ALSO AUTHORS Math::BigInt::Calc - pure Perl module to support Math::BigInt SYNOPSIS DESCRIPTION OPTIONS base_len, use_int METHODS _base_len() SEE ALSO Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed SYNOPSIS DESCRIPTION STORAGE METHODS BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings LICENSE AUTHORS SEE ALSO Math::BigInt::Lib - virtual parent class for Math::BigInt libraries SYNOPSIS DESCRIPTION General Notes CLASS->api_version(), CLASS->_new(STR), CLASS->_zero(), CLASS->_one(), CLASS->_two(), CLASS->_ten(), CLASS->_from_bin(STR), CLASS->_from_oct(STR), CLASS->_from_hex(STR), CLASS->_from_bytes(STR), CLASS->_from_base(STR, BASE, COLLSEQ), CLASS->_from_base_num(ARRAY, BASE), CLASS->_add(OBJ1, OBJ2), CLASS->_mul(OBJ1, OBJ2), CLASS->_div(OBJ1, OBJ2), CLASS->_sub(OBJ1, OBJ2, FLAG), CLASS->_sub(OBJ1, OBJ2), CLASS->_sadd(OBJ1, SIGN1, OBJ2, SIGN2), CLASS->_ssub(OBJ1, SIGN1, OBJ2, SIGN2), CLASS->_dec(OBJ), CLASS->_inc(OBJ), CLASS->_mod(OBJ1, OBJ2), CLASS->_sqrt(OBJ), CLASS->_root(OBJ, N), CLASS->_fac(OBJ), CLASS->_dfac(OBJ), CLASS->_pow(OBJ1, OBJ2), CLASS->_modinv(OBJ1, OBJ2), CLASS->_modpow(OBJ1, OBJ2, OBJ3), CLASS->_rsft(OBJ, N, B), CLASS->_lsft(OBJ, N, B), CLASS->_log_int(OBJ, B), CLASS->_gcd(OBJ1, OBJ2), CLASS->_lcm(OBJ1, OBJ2), CLASS->_fib(OBJ), CLASS->_lucas(OBJ), CLASS->_and(OBJ1, OBJ2), CLASS->_or(OBJ1, OBJ2), CLASS->_xor(OBJ1, OBJ2), CLASS->_sand(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_sor(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_sxor(OBJ1, OBJ2, SIGN1, SIGN2), CLASS->_is_zero(OBJ), CLASS->_is_one(OBJ), CLASS->_is_two(OBJ), CLASS->_is_ten(OBJ), CLASS->_is_even(OBJ), CLASS->_is_odd(OBJ), CLASS->_acmp(OBJ1, OBJ2), CLASS->_str(OBJ), CLASS->_to_bin(OBJ), CLASS->_to_oct(OBJ), CLASS->_to_hex(OBJ), CLASS->_to_bytes(OBJ), CLASS->_to_base(OBJ, BASE, COLLSEQ), CLASS->_to_base_num(OBJ, BASE), CLASS->_as_bin(OBJ), CLASS->_as_oct(OBJ), CLASS->_as_hex(OBJ), CLASS->_as_bytes(OBJ), CLASS->_num(OBJ), CLASS->_copy(OBJ), CLASS->_len(OBJ), CLASS->_zeros(OBJ), CLASS->_digit(OBJ, N), CLASS->_digitsum(OBJ), CLASS->_check(OBJ), CLASS->_set(OBJ) API version 2 CLASS->_1ex(N), CLASS->_nok(OBJ1, OBJ2), CLASS->_alen(OBJ) WRAP YOUR OWN BUGS SUPPORT RT: CPAN's request tracker, AnnoCPAN: Annotated CPAN documentation, CPAN Ratings, MetaCPAN, CPAN Testers Matrix, The Bignum mailing list, Post to mailing list, View mailing list, Subscribe/Unsubscribe LICENSE AUTHOR SEE ALSO Math::BigRat - arbitrary size rational number math package SYNOPSIS DESCRIPTION MATH LIBRARY METHODS new(), numerator(), denominator(), parts(), dparts(), fparts(), numify(), as_int(), as_number(), as_float(), as_hex(), as_bin(), as_oct(), from_hex(), from_oct(), from_bin(), bnan(), bzero(), binf(), bone(), length(), digit(), bnorm(), bfac(), bround()/round()/bfround(), bmod(), bmodinv(), bmodpow(), bneg(), is_one(), is_zero(), is_pos()/is_positive(), is_neg()/is_negative(), is_int(), is_odd(), is_even(), bceil(), bfloor(), bint(), bsqrt(), broot(), badd(), bmul(), bsub(), bdiv(), binv(), bdec(), binc(), copy(), bstr()/bsstr(), bcmp(), bacmp(), beq(), bne(), blt(), ble(), bgt(), bge(), blsft()/brsft(), band(), bior(), bxor(), bnot(), bpow(), blog(), bexp(), bnok(), config() NUMERIC LITERALS Hexadecimal, octal, and binary floating point literals BUGS SUPPORT GitHub, RT: CPAN's request tracker, MetaCPAN, CPAN Testers Matrix, CPAN Ratings LICENSE SEE ALSO AUTHORS Math::Complex - complex numbers and associated mathematical functions SYNOPSIS DESCRIPTION OPERATIONS CREATION DISPLAYING CHANGED IN PERL 5.6 USAGE CONSTANTS PI Inf ERRORS DUE TO DIVISION BY ZERO OR LOGARITHM OF ZERO ERRORS DUE TO INDIGESTIBLE ARGUMENTS BUGS SEE ALSO AUTHORS LICENSE Math::Trig - trigonometric functions SYNOPSIS DESCRIPTION TRIGONOMETRIC FUNCTIONS tan ERRORS DUE TO DIVISION BY ZERO SIMPLE (REAL) ARGUMENTS, COMPLEX RESULTS PLANE ANGLE CONVERSIONS deg2rad, grad2rad, rad2deg, grad2deg, deg2grad, rad2grad, rad2rad, deg2deg, grad2grad RADIAL COORDINATE CONVERSIONS COORDINATE SYSTEMS 3-D ANGLE CONVERSIONS cartesian_to_cylindrical, cartesian_to_spherical, cylindrical_to_cartesian, cylindrical_to_spherical, spherical_to_cartesian, spherical_to_cylindrical GREAT CIRCLE DISTANCES AND DIRECTIONS great_circle_distance great_circle_direction great_circle_bearing great_circle_destination great_circle_midpoint great_circle_waypoint EXAMPLES CAVEAT FOR GREAT CIRCLE FORMULAS Real-valued asin and acos asin_real, acos_real BUGS SEE ALSO AUTHORS LICENSE Memoize - Make functions faster by trading space for time SYNOPSIS DESCRIPTION EXAMPLE DETAILS OPTIONS INSTALL NORMALIZER "SCALAR_CACHE", "LIST_CACHE" "MEMORY", "HASH", "TIE", "FAULT", "MERGE" OTHER FACILITIES "unmemoize" "flush_cache" CAVEATS PERSISTENT CACHE SUPPORT EXPIRATION SUPPORT BUGS SEE ALSO THANK YOU AUTHOR COPYRIGHT AND LICENSE Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use DESCRIPTION Memoize::Expire - Plug-in module for automatic expiration of memoized values SYNOPSIS DESCRIPTION INTERFACE TIEHASH, EXISTS, STORE ALTERNATIVES CAVEATS AUTHOR SEE ALSO Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for Storable use DESCRIPTION Memoize::SDBM_File - DEPRECATED compability shim DESCRIPTION Memoize::Storable - store Memoized data in Storable database DESCRIPTION Module::CoreList - what modules shipped with versions of perl SYNOPSIS DESCRIPTION FUNCTIONS API first_release( MODULE ), first_release_by_date( MODULE ), "find_modules( REGEX, [ LIST OF PERLS ] )", find_version( PERL_VERSION ), "is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] )", "is_deprecated( MODULE, PERL_VERSION )", deprecated_in( MODULE ), removed_from( MODULE ), removed_from_by_date( MODULE ), "changes_between( PERL_VERSION, PERL_VERSION )" DATA STRUCTURES %Module::CoreList::version, %Module::CoreList::delta, %Module::CoreList::released, %Module::CoreList::families, %Module::CoreList::deprecated, %Module::CoreList::upstream, %Module::CoreList::bug_tracker CAVEATS HISTORY AUTHOR LICENSE SEE ALSO Module::CoreList::Utils - what utilities shipped with versions of perl SYNOPSIS DESCRIPTION FUNCTIONS API "utilities", first_release( UTILITY ), first_release_by_date( UTILITY ), removed_from( UTILITY ), removed_from_by_date( UTILITY ) DATA STRUCTURES %Module::CoreList::Utils::utilities AUTHOR LICENSE SEE ALSO Module::Load - runtime require of both modules and files SYNOPSIS DESCRIPTION Difference between "load" and "autoload" FUNCTIONS load, autoload, load_remote, autoload_remote Rules IMPORTS THE FUNCTIONS "load","autoload","load_remote","autoload_remote", 'all', '','none',undef Caveats SEE ALSO ACKNOWLEDGEMENTS BUG REPORTS AUTHOR COPYRIGHT Module::Load::Conditional - Looking up module information / loading at runtime SYNOPSIS DESCRIPTION Methods $href = check_install( module => NAME [, version => VERSION, verbose => BOOL ] ); module, version, verbose, file, dir, version, uptodate $bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL, autoload => BOOL] ) modules, verbose, nocache, autoload @list = requires( MODULE ); Global Variables $Module::Load::Conditional::VERBOSE $Module::Load::Conditional::FIND_VERSION $Module::Load::Conditional::CHECK_INC_HASH $Module::Load::Conditional::FORCE_SAFE_INC $Module::Load::Conditional::CACHE $Module::Load::Conditional::ERROR $Module::Load::Conditional::DEPRECATED See Also BUG REPORTS AUTHOR COPYRIGHT Module::Loaded - mark modules as loaded or unloaded SYNOPSIS DESCRIPTION FUNCTIONS $bool = mark_as_loaded( PACKAGE ); $bool = mark_as_unloaded( PACKAGE ); $loc = is_loaded( PACKAGE ); BUG REPORTS AUTHOR COPYRIGHT Module::Metadata - Gather package and POD information from perl module files VERSION SYNOPSIS DESCRIPTION CLASS METHODS "new_from_file($filename, collect_pod => 1, decode_pod => 1)" "new_from_handle($handle, $filename, collect_pod => 1, decode_pod => 1)" "new_from_module($module, collect_pod => 1, inc => \@dirs, decode_pod => 1)" "find_module_by_name($module, \@dirs)" "find_module_dir_by_name($module, \@dirs)" provides( %options ) version (required), dir, files, prefix "package_versions_from_directory($dir, \@files?)" "log_info (internal)" OBJECT METHODS name() version($package) filename() packages_inside() pod_inside() contains_pod() pod($section) is_indexable($package) or is_indexable() SUPPORT AUTHOR CONTRIBUTORS COPYRIGHT & LICENSE NDBM_File - Tied access to ndbm files SYNOPSIS DESCRIPTION "O_RDONLY", "O_WRONLY", "O_RDWR" DIAGNOSTICS "ndbm store returned -1, errno 22, key "..." at ..." SECURITY AND PORTABILITY BUGS AND WARNINGS NEXT - Provide a pseudo-class NEXT (et al) that allows method redispatch SYNOPSIS DESCRIPTION Enforcing redispatch Avoiding repetitions Invoking all versions of a method with a single call Using "EVERY" methods SEE ALSO AUTHOR BUGS AND IRRITATIONS COPYRIGHT Net::Cmd - Network Command class (as used by FTP, SMTP etc) SYNOPSIS DESCRIPTION Public Methods debug($level), message(), code(), ok(), status(), datasend($data), dataend() Protected Methods "debug_print($dir, $text)", "debug_text($dir, $text)", "command($cmd[, $args, ... ])", unsupported(), response(), parse_response($text), getline(), ungetline($text), rawdatasend($data), read_until_dot(), tied_fh() Pseudo Responses Initial value, Connection closed, Timeout EXPORTS Default Exports, Optional Exports, Export Tags KNOWN BUGS AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::Config - Local configuration data for libnet SYNOPSIS DESCRIPTION Class Methods requires_firewall($host) NetConfig Values nntp_hosts, snpp_hosts, pop3_hosts, smtp_hosts, ph_hosts, daytime_hosts, time_hosts, inet_domain, ftp_firewall, ftp_firewall_type, 0, 1, 2, 3, 4, 5, 6, 7, ftp_ext_passive, ftp_int_passive, local_netmask, test_hosts, test_exists EXPORTS Default Exports, Optional Exports, Export Tags KNOWN BUGS AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::Domain - Attempt to evaluate the current host's internet name and domain SYNOPSIS DESCRIPTION Functions hostfqdn(), domainname(), hostname(), hostdomain() EXPORTS Default Exports, Optional Exports, Export Tags KNOWN BUGS AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::FTP - FTP Client class SYNOPSIS DESCRIPTION Overview Class Methods "new([$host][, %options])" Object Methods "login([$login[, $password[, $account]]])", starttls(), stoptls(), prot($level), host(), account($acct), "authorize([$auth[, $resp]])", site($args), ascii(), binary(), type([$type]), "rename($oldname, $newname)", delete($filename), cwd([$dir]), cdup(), passive([$passive]), pwd(), restart($where), "rmdir($dir[, $recurse])", "mkdir($dir[, $recurse])", "alloc($size[, $record_size])", ls([$dir]), dir([$dir]), "get($remote_file[, $local_file[, $where]])", "put($local_file[, $remote_file])", "put_unique($local_file[, $remote_file])", "append($local_file[, $remote_file])", unique_name(), mdtm($file), size($file), supported($cmd), "hash([$filehandle_glob_ref[, $bytes_per_hash_mark]])", feature($name), nlst([$dir]), list([$dir]), retr($file), stor($file), stou($file), appe($file), port([$port]), eprt([$port]), pasv(), epsv(), "pasv_xfer($src_file, $dest_server[, $dest_file ])", "pasv_xfer_unique($src_file, $dest_server[, $dest_file ])", pasv_wait($non_pasv_server), abort(), quit() Methods for the Adventurous "quot($cmd[, $args])", can_inet6(), can_ssl() The dataconn Class Unimplemented "SMNT", "HELP", "MODE", "SYST", "STAT", "STRU", "REIN" EXPORTS KNOWN BUGS Reporting Bugs SEE ALSO ACKNOWLEDGEMENTS AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::NNTP - NNTP Client class SYNOPSIS DESCRIPTION Class Methods "new([$host][, %options])" Object Methods host(), starttls(), "article([{$msgid|$msgnum}[, $fh]])", "body([{$msgid|$msgnum}[, [$fh]])", "head([{$msgid|$msgnum}[, [$fh]])", articlefh([{$msgid|$msgnum}]), bodyfh([{$msgid|$msgnum}]), headfh([{$msgid|$msgnum}]), nntpstat([{$msgid|$msgnum}]), group([$group]), help(), "ihave($msgid[, $message])", last(), date(), postok(), "authinfo($user, $pass)", "authinfo_simple($user, $pass)", list(), "newgroups($since[, $distributions])", "newnews($since[, $groups[, $distributions]])", next(), post([$message]), postfh(), slave(), quit(), can_inet6(), can_ssl() Extension Methods newsgroups([$pattern]), distributions(), distribution_patterns(), subscriptions(), overview_fmt(), active_times(), active([$pattern]), xgtitle($pattern), "xhdr($header, $message_spec)", xover($message_spec), xpath($message_id), "xpat($header, $pattern, $message_spec)", xrover($message_spec), listgroup([$group]), reader() Unsupported Definitions $message_spec, $pattern, Examples, "[^]-]", *bdc, "[0-9a-zA-Z]", "a??d" EXPORTS KNOWN BUGS SEE ALSO AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::Netrc - OO interface to users netrc file SYNOPSIS DESCRIPTION The .netrc File machine name, default, login name, password string, account string, macdef name Class Methods "lookup($machine[, $login])" Object Methods login(), password(), account(), lpa() EXPORTS KNOWN BUGS SEE ALSO AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::POP3 - Post Office Protocol 3 Client class (RFC1939) SYNOPSIS DESCRIPTION Class Methods "new([$host][, %options])" Object Methods host(), "auth($username, $password)", user($user), pass($pass), "login([$user[, $pass]])", starttls(%sslargs), "apop([$user[, $pass]])", banner(), capa(), capabilities(), "top($msgnum[, $numlines])", list([$msgnum]), "get($msgnum[, $fh])", getfh($msgnum), last(), popstat(), ping($user), uidl([$msgnum]), delete($msgnum), reset(), quit(), can_inet6(), can_ssl() Notes EXPORTS KNOWN BUGS SEE ALSO AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::Ping - check a remote host for reachability SYNOPSIS DESCRIPTION Functions Net::Ping->new([proto, timeout, bytes, device, tos, ttl, family, host, port, bind, gateway, retrans, pingstring, source_verify econnrefused dontfrag IPV6_USE_MIN_MTU IPV6_RECVPATHMTU]) , $p->ping($host [, $timeout [, $family]]); , $p->source_verify( { 0 | 1 } ); , $p->service_check( { 0 | 1 } ); , $p->tcp_service_check( { 0 | 1 } ); , $p->hires( { 0 | 1 } ); , $p->time , $p->socket_blocking_mode( $fh, $mode ); , $p->IPV6_USE_MIN_MTU , $p->IPV6_RECVPATHMTU , $p->IPV6_HOPLIMIT , $p->IPV6_REACHCONF NYI , $p->bind($local_addr); , $p->message_type([$ping_type]); , $p->open($host); , $p->ack( [ $host ] ); , $p->nack( $failed_ack_host ); , $p->ack_unfork($host) , $p->ping_icmp([$host, $timeout, $family]) , $p->ping_icmpv6([$host, $timeout, $family]) , $p->ping_stream([$host, $timeout, $family]) , $p->ping_syn([$host, $ip, $start_time, $stop_time]) , $p->ping_syn_fork([$host, $timeout, $family]) , $p->ping_tcp([$host, $timeout, $family]) , $p->ping_udp([$host, $timeout, $family]) , $p->ping_external([$host, $timeout, $family]) , $p->tcp_connect([$ip, $timeout]) , $p->tcp_echo([$ip, $timeout, $pingstring]) , $p->close(); , $p->port_number([$port_number]) , $p->mselect , $p->ntop , $p->checksum($msg) , $p->icmp_result , pingecho($host [, $timeout]); , wakeonlan($mac, [$host, [$port]]) NOTES INSTALL BUGS AUTHORS COPYRIGHT Net::SMTP - Simple Mail Transfer Protocol Client SYNOPSIS DESCRIPTION Class Methods "new([$host][, %options])" Object Methods banner(), domain(), hello($domain), host(), etrn($domain), starttls(%sslargs), "auth($username, $password)", auth($sasl), "mail($address[, %options])", send($address), send_or_mail($address), send_and_mail($address), reset(), "recipient($address[, $address[, ...]][, %options])", "to($address[, $address[, ...]])", "cc($address[, $address[, ...]])", "bcc($address[, $address[, ...]])", data([$data]), bdat($data), bdatlast($data), expand($address), verify($address), help([$subject]), quit(), can_inet6(), can_ssl() Addresses EXAMPLES EXPORTS KNOWN BUGS SEE ALSO AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::Time - time and daytime network client interface SYNOPSIS DESCRIPTION Functions "inet_time([$host[, $protocol[, $timeout]]])", "inet_daytime([$host[, $protocol[, $timeout]]])" EXPORTS Default Exports, Optional Exports, Export Tags KNOWN BUGS AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Net::hostent - by-name interface to Perl's built-in gethost*() functions SYNOPSIS DESCRIPTION EXAMPLES NOTE AUTHOR Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions DESCRIPTION Where to get this document How to contribute to this document Author and Copyright Information Disclaimer Obtaining and installing libnet What is libnet ? Which version of perl do I need ? What other modules do I need ? What machines support libnet ? Where can I get the latest libnet release Using Net::FTP How do I download files from an FTP server ? How do I transfer files in binary mode ? How can I get the size of a file on a remote FTP server ? How can I get the modification time of a file on a remote FTP server ? How can I change the permissions of a file on a remote server ? Can I do a reget operation like the ftp command ? How do I get a directory listing from an FTP server ? Changing directory to "" does not fail ? I am behind a SOCKS firewall, but the Firewall option does not work ? I am behind an FTP proxy firewall, but cannot access machines outside ? My ftp proxy firewall does not listen on port 21 Is it possible to change the file permissions of a file on an FTP server ? I have seen scripts call a method message, but cannot find it documented ? Why does Net::FTP not implement mput and mget methods Using Net::SMTP Why can't the part of an Email address after the @ be used as the hostname ? Why does Net::SMTP not do DNS MX lookups ? The verify method always returns true ? Debugging scripts How can I debug my scripts that use Net::* modules ? AUTHOR AND COPYRIGHT Net::netent - by-name interface to Perl's built-in getnet*() functions SYNOPSIS DESCRIPTION EXAMPLES NOTE AUTHOR Net::protoent - by-name interface to Perl's built-in getproto*() functions SYNOPSIS DESCRIPTION NOTE AUTHOR Net::servent - by-name interface to Perl's built-in getserv*() functions SYNOPSIS DESCRIPTION EXAMPLES NOTE AUTHOR O - Generic interface to Perl Compiler backends SYNOPSIS DESCRIPTION CONVENTIONS IMPLEMENTATION BUGS AUTHOR ODBM_File - Tied access to odbm files SYNOPSIS DESCRIPTION "O_RDONLY", "O_WRONLY", "O_RDWR" DIAGNOSTICS "odbm store returned -1, errno 22, key "..." at ..." SECURITY AND PORTABILITY BUGS AND WARNINGS Opcode - Disable named opcodes when compiling perl code SYNOPSIS DESCRIPTION NOTE WARNING Operator Names and Operator Lists an operator name (opname), an operator tag name (optag), a negated opname or optag, an operator set (opset) Opcode Functions opcodes, opset (OP, ...), opset_to_ops (OPSET), opset_to_hex (OPSET), full_opset, empty_opset, invert_opset (OPSET), verify_opset (OPSET, ...), define_optag (OPTAG, OPSET), opmask_add (OPSET), opmask, opdesc (OP, ...), opdump (PAT) Manipulating Opsets TO DO (maybe) Predefined Opcode Tags :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math, :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open, :filesys_write, :subprocess, :ownprocess, :others, :load, :still_to_be_decided, :dangerous SEE ALSO AUTHORS POSIX - Perl interface to IEEE Std 1003.1 SYNOPSIS DESCRIPTION CAVEATS FUNCTIONS "_exit", "abort", "abs", "access", "acos", "acosh", "alarm", "asctime", "asin", "asinh", "assert", "atan", "atanh", "atan2", "atexit", "atof", "atoi", "atol", "bsearch", "calloc", "cbrt", "ceil", "chdir", "chmod", "chown", "clearerr", "clock", "close", "closedir", "cos", "cosh", "copysign", "creat", "ctermid", "ctime", "cuserid" [POSIX.1-1988], "difftime", "div", "dup", "dup2", "erf", "erfc", "errno", "execl", "execle", "execlp", "execv", "execve", "execvp", "exit", "exp", "expm1", "fabs", "fclose", "fcntl", "fdopen", "feof", "ferror", "fflush", "fgetc", "fgetpos", "fgets", "fileno", "floor", "fdim", "fegetround", "fesetround", "fma", "fmax", "fmin", "fmod", "fopen", "fork", "fpathconf", "fpclassify", "fprintf", "fputc", "fputs", "fread", "free", "freopen", "frexp", "fscanf", "fseek", "fsetpos", "fstat", "fsync", "ftell", "fwrite", "getc", "getchar", "getcwd", "getegid", "getenv", "geteuid", "getgid", "getgrgid", "getgrnam", "getgroups", "getlogin", "getpayload", "getpgrp", "getpid", "getppid", "getpwnam", "getpwuid", "gets", "getuid", "gmtime", "hypot", "ilogb", "Inf", "isalnum", "isalpha", "isatty", "iscntrl", "isdigit", "isfinite", "isgraph", "isgreater", "isinf", "islower", "isnan", "isnormal", "isprint", "ispunct", "issignaling", "isspace", "isupper", "isxdigit", "j0", "j1", "jn", "y0", "y1", "yn", "kill", "labs", "lchown", "ldexp", "ldiv", "lgamma", "log1p", "log2", "logb", "link", "localeconv", "localtime", "log", "log10", "longjmp", "lseek", "lrint", "lround", "malloc", "mblen", "mbtowc", "memchr", "memcmp", "memcpy", "memmove", "memset", "mkdir", "mkfifo", "mktime", "modf", "NaN", "nan", "nearbyint", "nextafter", "nexttoward", "nice", "offsetof", "open", "opendir", "pathconf", "pause", "perror", "pipe", "pow", "printf", "putc", "putchar", "puts", "qsort", "raise", "rand", "read", "readdir", "realloc", "remainder", "remove", "remquo", "rename", "rewind", "rewinddir", "rint", "rmdir", "round", "scalbn", "scanf", "setgid", "setjmp", "setlocale", "setpayload", "setpayloadsig", "setpgid", "setsid", "setuid", "sigaction", "siglongjmp", "signbit", "sigpending", "sigprocmask", "sigsetjmp", "sigsuspend", "sin", "sinh", "sleep", "sprintf", "sqrt", "srand", "sscanf", "stat", "strcat", "strchr", "strcmp", "strcoll", "strcpy", "strcspn", "strerror", "strftime", "strlen", "strncat", "strncmp", "strncpy", "strpbrk", "strrchr", "strspn", "strstr", "strtod", "strtok", "strtol", "strtold", "strtoul", "strxfrm", "sysconf", "system", "tan", "tanh", "tcdrain", "tcflow", "tcflush", "tcgetpgrp", "tcsendbreak", "tcsetpgrp", "tgamma", "time", "times", "tmpfile", "tmpnam", "tolower", "toupper", "trunc", "ttyname", "tzname", "tzset", "umask", "uname", "ungetc", "unlink", "utime", "vfprintf", "vprintf", "vsprintf", "wait", "waitpid", "wctomb", "write" CLASSES "POSIX::SigAction" "new", "handler", "mask", "flags", "safe" "POSIX::SigRt" %SIGRT, "SIGRTMIN", "SIGRTMAX" "POSIX::SigSet" "new", "addset", "delset", "emptyset", "fillset", "ismember" "POSIX::Termios" "new", "getattr", "getcc", "getcflag", "getiflag", "getispeed", "getlflag", "getoflag", "getospeed", "setattr", "setcc", "setcflag", "setiflag", "setispeed", "setlflag", "setoflag", "setospeed", Baud rate values, Terminal interface values, "c_cc" field values, "c_cflag" field values, "c_iflag" field values, "c_lflag" field values, "c_oflag" field values PATHNAME CONSTANTS Constants POSIX CONSTANTS Constants RESOURCE CONSTANTS Constants SYSTEM CONFIGURATION Constants ERRNO Constants FCNTL Constants FLOAT Constants FLOATING-POINT ENVIRONMENT Constants LIMITS Constants LOCALE Constants MATH Constants SIGNAL Constants STAT Constants, Macros STDLIB Constants STDIO Constants TIME Constants UNISTD Constants WAIT Constants, "WNOHANG", "WUNTRACED", Macros, "WIFEXITED", "WEXITSTATUS", "WIFSIGNALED", "WTERMSIG", "WIFSTOPPED", "WSTOPSIG" WINSOCK Constants Params::Check - A generic input parsing/checking mechanism. SYNOPSIS DESCRIPTION Template default, required, strict_type, defined, no_override, store, allow Functions check( \%tmpl, \%args, [$verbose] ); Template, Arguments, Verbose allow( $test_me, \@criteria ); string, regexp, subroutine, array ref last_error() Global Variables $Params::Check::VERBOSE $Params::Check::STRICT_TYPE $Params::Check::ALLOW_UNKNOWN $Params::Check::STRIP_LEADING_DASHES $Params::Check::NO_DUPLICATES $Params::Check::PRESERVE_CASE $Params::Check::ONLY_ALLOW_DEFINED $Params::Check::SANITY_CHECK_TEMPLATE $Params::Check::WARNINGS_FATAL $Params::Check::CALLER_DEPTH Acknowledgements BUG REPORTS AUTHOR COPYRIGHT Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files VERSION SYNOPSIS DESCRIPTION METHODS load_file load_yaml_string load_json_string load_string yaml_backend json_backend json_decoder FUNCTIONS Load LoadFile ENVIRONMENT CPAN_META_JSON_DECODER CPAN_META_JSON_BACKEND PERL_JSON_BACKEND PERL_YAML_BACKEND AUTHORS COPYRIGHT AND LICENSE Perl::OSType - Map Perl operating system names to generic types VERSION SYNOPSIS DESCRIPTION USAGE os_type() is_os_type() SEE ALSO SUPPORT Bugs / Feature Requests Source Code AUTHOR CONTRIBUTORS COPYRIGHT AND LICENSE PerlIO - On demand loader for PerlIO layers and root of PerlIO::* name space SYNOPSIS DESCRIPTION Layers :unix, :stdio, :perlio, :crlf, :utf8, :bytes, :raw, :pop Custom Layers :encoding, :mmap, :via, :scalar Alternatives to raw Defaults and how to override them Querying the layers of filehandles AUTHOR SEE ALSO PerlIO::encoding - encoding layer SYNOPSIS DESCRIPTION SEE ALSO PerlIO::mmap - Memory mapped IO SYNOPSIS DESCRIPTION IMPLEMENTATION NOTE PerlIO::scalar - in-memory IO, scalar IO SYNOPSIS DESCRIPTION IMPLEMENTATION NOTE PerlIO::via - Helper class for PerlIO layers implemented in perl SYNOPSIS DESCRIPTION EXPECTED METHODS $class->PUSHED([$mode,[$fh]]), $obj->POPPED([$fh]), $obj->UTF8($belowFlag,[$fh]), $obj->OPEN($path,$mode,[$fh]), $obj->BINMODE([$fh]), $obj->FDOPEN($fd,[$fh]), $obj->SYSOPEN($path,$imode,$perm,[$fh]), $obj->FILENO($fh), $obj->READ($buffer,$len,$fh), $obj->WRITE($buffer,$fh), $obj->FILL($fh), $obj->CLOSE($fh), $obj->SEEK($posn,$whence,$fh), $obj->TELL($fh), $obj->UNREAD($buffer,$fh), $obj->FLUSH($fh), $obj->SETLINEBUF($fh), $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh) EXAMPLES Example - a Hexadecimal Handle PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings SYNOPSIS DESCRIPTION EXPORTS KNOWN BUGS FEEDBACK SEE ALSO ACKNOWLEDGEMENTS AVAILABILITY INSTALLATION AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Pod::Checker - check pod documents for syntax errors SYNOPSIS OPTIONS/ARGUMENTS podchecker() -warnings => val, -quiet => val DESCRIPTION DIAGNOSTICS Errors empty =headn, =over on line N without closing =back, You forgot a '=back' before '=headN', =over is the last thing in the document?!, '=item' outside of any '=over', =back without =over, Can't have a 0 in =over N, =over should be: '=over' or '=over positive_number', =begin TARGET without matching =end TARGET, =begin without a target?, =end TARGET without matching =begin, '=end' without a target?, '=end TARGET' is invalid, =end CONTENT doesn't match =begin TARGET, =for without a target?, unresolved internal link NAME, Unknown directive: CMD, Deleting unknown formatting code SEQ, Unterminated SEQ<> sequence, An E<...> surrounding strange content, An empty E<>, An empty "L<>", An empty X<>, Spurious text after =pod / =cut, =back doesn't take any parameters, but you said =back ARGUMENT, =pod directives shouldn't be over one line long! Ignoring all N lines of content, =cut found outside a pod block, Invalid =encoding syntax: CONTENT Warnings nested commands CMD<...CMD<...>...>, multiple occurrences (N) of link target name, line containing nothing but whitespace in paragraph, =item has no contents, You can't have =items (as at line N) unless the first thing after the =over is an =item, Expected '=item EXPECTED VALUE', Expected '=item *', Possible =item type mismatch: 'x' found leading a supposed definition =item, You have '=item x' instead of the expected '=item N', Unknown E content in E, empty =over/=back block, empty section in previous paragraph, Verbatim paragraph in NAME section, =headn without preceding higher level, A non-empty Z<> Hyperlinks ignoring leading/trailing whitespace in link, alternative text/node '%s' contains non-escaped | or / RETURN VALUE EXAMPLES SCRIPTS INTERFACE end_B, end_C, end_Document, end_F, end_I, end_L, end_Para, end_S, end_X, end_fcode, end_for, end_head, end_head1, end_head2, end_head3, end_head4, end_item, end_item_bullet, end_item_number, end_item_text, handle_pod_and_cut, handle_text, handle_whiteline, hyperlink, scream, start_B, start_C, start_Data, start_F, start_I, start_L, start_Para, start_S, start_Verbatim, start_X, start_fcode, start_for, start_head, start_head1, start_head2, start_head3, start_head4, start_item_bullet, start_item_number, start_item_text, start_over, start_over_block, start_over_bullet, start_over_empty, start_over_number, start_over_text, whine "Pod::Checker->new( %options )" "$checker->poderror( @args )", "$checker->poderror( {%opts}, @args )" "$checker->num_errors()" "$checker->num_warnings()" "$checker->name()" "$checker->node()" "$checker->idx()" "$checker->hyperlinks()" line() type() page() node() AUTHOR Pod::Escapes - for resolving Pod E<...> sequences SYNOPSIS DESCRIPTION GOODIES e2char($e_content), e2charnum($e_content), $Name2character{name}, $Name2character_number{name}, $Latin1Code_to_fallback{integer}, $Latin1Char_to_fallback{character}, $Code2USASCII{integer} CAVEATS SEE ALSO REPOSITORY COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Html - module to convert pod files to HTML SYNOPSIS DESCRIPTION FUNCTIONS pod2html backlink, cachedir, css, flush, header, help, htmldir, htmlroot, index, infile, outfile, poderrors, podpath, podroot, quiet, recurse, title, verbose Formerly Exported Auxiliary Functions htmlify() (by default), anchorify() (upon request), relativize_url() (upon request) ENVIRONMENT AUTHOR SEE ALSO COPYRIGHT Pod::Html::Util - helper functions for Pod-Html SUBROUTINES process_command_line() usage() unixify() relativize_url() html_escape() htmlify() anchorify() trim_leading_whitespace() Pod::Man - Convert POD data to formatted *roff input SYNOPSIS DESCRIPTION CLASS METHODS new(ARGS), center, date, encoding, errors, fixed, fixedbold, fixeditalic, fixedbolditalic, guesswork, functions, manref, quoting, variables, language, lquote, rquote, name, nourls, quotes, release, section, stderr, utf8 INSTANCE METHODS output_fh(FH), output_string(REF), parse_file(PATH), parse_from_file(INPUT, OUTPUT), parse_from_filehandle(FH, OUTPUT), parse_lines(LINES[, ...[, undef]]), parse_string_document(INPUT) ENCODING History Testing results [1], [2], [3] DIAGNOSTICS roff font should be 1 or 2 chars, not "%s", Invalid errors setting "%s", Invalid quote specification "%s", POD document had syntax errors ENVIRONMENT PERL_CORE, POD_MAN_DATE, SOURCE_DATE_EPOCH COMPATIBILITY BUGS CAVEATS Sentence spacing Hyphens AUTHOR COPYRIGHT AND LICENSE SEE ALSO Pod::ParseLink - Parse an L<> formatting code in POD text SYNOPSIS DESCRIPTION AUTHOR COPYRIGHT AND LICENSE SEE ALSO Pod::Perldoc - Look up Perl documentation in Pod format. SYNOPSIS DESCRIPTION SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters SYNOPSIS DESCRIPTION SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc SYNOPSIS DESCRIPTION Call Pod::Perldoc::GetOptsOO::getopts($object, \@ARGV, $truth), Given -n, if there's a opt_n_with, it'll call $object->opt_n_with( ARGUMENT ) (e.g., "-n foo" => $object->opt_n_with('foo'). Ditto "-nfoo"), Otherwise (given -n) if there's an opt_n, we'll call it $object->opt_n($truth) (Truth defaults to 1), Otherwise we try calling $object->handle_unknown_option('n') (and we increment the error count by the return value of it), If there's no handle_unknown_option, then we just warn, and then increment the error counter SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToANSI - render Pod with ANSI color escapes SYNOPSIS DESCRIPTION CAVEAT SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToChecker - let Perldoc check Pod for errors SYNOPSIS DESCRIPTION SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToMan - let Perldoc render Pod as man pages SYNOPSIS DESCRIPTION CAVEAT SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff SYNOPSIS DESCRIPTION CAVEAT SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToPod - let Perldoc render Pod as ... Pod! SYNOPSIS DESCRIPTION SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToRtf - let Perldoc render Pod as RTF SYNOPSIS DESCRIPTION SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToTerm - render Pod with terminal escapes SYNOPSIS DESCRIPTION PAGER FORMATTING CAVEAT SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToText - let Perldoc render Pod as plaintext SYNOPSIS DESCRIPTION CAVEAT SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Perldoc::ToTk - let Perldoc use Tk::Pod to render Pod SYNOPSIS DESCRIPTION SEE ALSO AUTHOR Pod::Perldoc::ToXml - let Perldoc render Pod as XML SYNOPSIS DESCRIPTION SEE ALSO COPYRIGHT AND DISCLAIMERS AUTHOR Pod::Simple - framework for parsing Pod SYNOPSIS DESCRIPTION MAIN METHODS "$parser = SomeClass->new();", "$parser->output_fh( *OUT );", "$parser->output_string( \$somestring );", "$parser->parse_file( $some_filename );", "$parser->parse_file( *INPUT_FH );", "$parser->parse_string_document( $all_content );", "$parser->parse_lines( ...@lines..., undef );", "$parser->content_seen", "SomeClass->filter( $filename );", "SomeClass->filter( *INPUT_FH );", "SomeClass->filter( \$document_content );" SECONDARY METHODS "$parser->parse_characters( SOMEVALUE )", "$parser->no_whining( SOMEVALUE )", "$parser->no_errata_section( SOMEVALUE )", "$parser->complain_stderr( SOMEVALUE )", "$parser->source_filename", "$parser->doc_has_started", "$parser->source_dead", "$parser->strip_verbatim_indent( SOMEVALUE )", "$parser->expand_verbatim_tabs( n )" TERTIARY METHODS "$parser->abandon_output_fh()", "$parser->abandon_output_string()", "$parser->accept_code( @codes )", "$parser->accept_codes( @codes )", "$parser->accept_directive_as_data( @directives )", "$parser->accept_directive_as_processed( @directives )", "$parser->accept_directive_as_verbatim( @directives )", "$parser->accept_target( @targets )", "$parser->accept_target_as_text( @targets )", "$parser->accept_targets( @targets )", "$parser->accept_targets_as_text( @targets )", "$parser->any_errata_seen()", "$parser->errata_seen()", "$parser->detected_encoding()", "$parser->encoding()", "$parser->parse_from_file( $source, $to )", "$parser->scream( @error_messages )", "$parser->unaccept_code( @codes )", "$parser->unaccept_codes( @codes )", "$parser->unaccept_directive( @directives )", "$parser->unaccept_directives( @directives )", "$parser->unaccept_target( @targets )", "$parser->unaccept_targets( @targets )", "$parser->version_report()", "$parser->whine( @error_messages )" ENCODING SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org", Karl Williamson "khw@cpan.org", Gabor Szabo "szabgab@gmail.com", Shawn H Corey "SHCOREY at cpan.org" Pod::Simple::Checker -- check the Pod syntax of a document SYNOPSIS DESCRIPTION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::Debug -- put Pod::Simple into trace/debug mode SYNOPSIS DESCRIPTION CAVEATS GUTS SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::DumpAsText -- dump Pod-parsing events as text SYNOPSIS DESCRIPTION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::DumpAsXML -- turn Pod into XML SYNOPSIS DESCRIPTION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::HTML - convert Pod to HTML SYNOPSIS DESCRIPTION CALLING FROM THE COMMAND LINE CALLING FROM PERL Minimal code More detailed example METHODS html_css html_javascript title_prefix title_postfix html_header_before_title top_anchor html_h_level index html_header_after_title html_footer SUBCLASSING SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS ACKNOWLEDGEMENTS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::HTMLBatch - convert several Pod files to several HTML files SYNOPSIS DESCRIPTION FROM THE COMMAND LINE MAIN METHODS $batchconv = Pod::Simple::HTMLBatch->new;, $batchconv->batch_convert( indirs, outdir );, $batchconv->batch_convert( undef , ...);, $batchconv->batch_convert( q{@INC}, ...);, $batchconv->batch_convert( \@dirs , ...);, $batchconv->batch_convert( "somedir" , ...);, $batchconv->batch_convert( 'somedir:someother:also' , ...);, $batchconv->batch_convert( ... , undef );, $batchconv->batch_convert( ... , 'somedir' ); ACCESSOR METHODS $batchconv->verbose( nonnegative_integer );, $batchconv->index( true-or-false );, $batchconv->contents_file( filename );, $batchconv->contents_page_start( HTML_string );, $batchconv->contents_page_end( HTML_string );, $batchconv->add_css( $url );, $batchconv->add_javascript( $url );, $batchconv->css_flurry( true-or-false );, $batchconv->javascript_flurry( true-or-false );, $batchconv->no_contents_links( true-or-false );, $batchconv->html_render_class( classname );, $batchconv->search_class( classname ); NOTES ON CUSTOMIZATION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::JustPod -- just the Pod, the whole Pod, and nothing but the Pod SYNOPSIS DESCRIPTION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::LinkSection -- represent "section" attributes of L codes SYNOPSIS DESCRIPTION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::Methody -- turn Pod::Simple events into method calls SYNOPSIS DESCRIPTION METHOD CALLING SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::PullParser -- a pull-parser interface to parsing Pod SYNOPSIS DESCRIPTION METHODS my $token = $parser->get_token, $parser->unget_token( $token ), $parser->unget_token( $token1, $token2, ... ), $parser->set_source( $filename ), $parser->set_source( $filehandle_object ), $parser->set_source( \$document_source ), $parser->set_source( \@document_lines ), $parser->parse_file(...), $parser->parse_string_document(...), $parser->filter(...), $parser->parse_from_file(...), my $title_string = $parser->get_title, my $title_string = $parser->get_short_title, $author_name = $parser->get_author, $description_name = $parser->get_description, $version_block = $parser->get_version NOTE SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::PullParserEndToken -- end-tokens from Pod::Simple::PullParser SYNOPSIS DESCRIPTION $token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring) SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::PullParserStartToken -- start-tokens from Pod::Simple::PullParser SYNOPSIS DESCRIPTION $token->tagname, $token->tagname(somestring), $token->tag(...), $token->is_tag(somestring) or $token->is_tagname(somestring), $token->attr(attrname), $token->attr(attrname, newvalue), $token->attr_hash SEE ALSO SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::PullParserTextToken -- text-tokens from Pod::Simple::PullParser SYNOPSIS DESCRIPTION $token->text, $token->text(somestring), $token->text_r() SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::PullParserToken -- tokens from Pod::Simple::PullParser SYNOPSIS DESCRIPTION $token->type, $token->is_start, $token->is_text, $token->is_end, $token->dump SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::RTF -- format Pod as RTF SYNOPSIS DESCRIPTION FORMAT CONTROL ATTRIBUTES $parser->head1_halfpoint_size( halfpoint_integer );, $parser->head2_halfpoint_size( halfpoint_integer );, $parser->head3_halfpoint_size( halfpoint_integer );, $parser->head4_halfpoint_size( halfpoint_integer );, $parser->codeblock_halfpoint_size( halfpoint_integer );, $parser->header_halfpoint_size( halfpoint_integer );, $parser->normal_halfpoint_size( halfpoint_integer );, $parser->no_proofing_exemptions( true_or_false );, $parser->doc_lang( microsoft_decimal_language_code ) SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::Search - find POD documents in directory trees SYNOPSIS DESCRIPTION CONSTRUCTOR ACCESSORS $search->inc( true-or-false );, $search->verbose( nonnegative- number );, $search->limit_glob( some-glob-string );, $search->callback( \&some_routine );, $search->laborious( true-or- false );, $search->recurse( true-or-false );, $search->shadows( true-or-false );, $search->is_case_insensitive( true-or-false );, $search->limit_re( some-regxp );, $search->dir_prefix( some-string- value );, $search->progress( some-progress-object );, $name2path = $self->name2path;, $path2name = $self->path2name; MAIN SEARCH METHODS "$search->survey( @directories )" "name2path", "path2name" "$search->simplify_name( $str )" "$search->find( $pod )" "$search->find( $pod, @search_dirs )" "$self->contains_pod( $file )" SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::SimpleTree -- parse Pod into a simple parse tree SYNOPSIS DESCRIPTION METHODS Tree Contents SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::Subclassing -- write a formatter as a Pod::Simple subclass SYNOPSIS DESCRIPTION Pod::Simple, Pod::Simple::Methody, Pod::Simple::PullParser, Pod::Simple::SimpleTree Events "$parser->_handle_element_start( element_name, attr_hashref )", "$parser->_handle_element_end( element_name )", "$parser->_handle_text( text_string )", events with an element_name of Document, events with an element_name of Para, events with an element_name of B, C, F, or I, events with an element_name of S, events with an element_name of X, events with an element_name of L, events with an element_name of E or Z, events with an element_name of Verbatim, events with an element_name of head1 .. head4, events with an element_name of encoding, events with an element_name of over-bullet, events with an element_name of over-number, events with an element_name of over-text, events with an element_name of over-block, events with an element_name of over- empty, events with an element_name of item-bullet, events with an element_name of item-number, events with an element_name of item- text, events with an element_name of for, events with an element_name of Data More Pod::Simple Methods "$parser->accept_targets( SOMEVALUE )", "$parser->accept_targets_as_text( SOMEVALUE )", "$parser->accept_codes( Codename, Codename... )", "$parser->accept_directive_as_data( directive_name )", "$parser->accept_directive_as_verbatim( directive_name )", "$parser->accept_directive_as_processed( directive_name )", "$parser->nbsp_for_S( BOOLEAN );", "$parser->version_report()", "$parser->pod_para_count()", "$parser->line_count()", "$parser->nix_X_codes( SOMEVALUE )", "$parser->keep_encoding_directive( SOMEVALUE )", "$parser->merge_text( SOMEVALUE )", "$parser->code_handler( CODE_REF )", "$parser->cut_handler( CODE_REF )", "$parser->pod_handler( CODE_REF )", "$parser->whiteline_handler( CODE_REF )", "$parser->whine( linenumber, complaint string )", "$parser->scream( linenumber, complaint string )", "$parser->source_dead(1)", "$parser->hide_line_numbers( SOMEVALUE )", "$parser->no_whining( SOMEVALUE )", "$parser->no_errata_section( SOMEVALUE )", "$parser->complain_stderr( SOMEVALUE )", "$parser->bare_output( SOMEVALUE )", "$parser->preserve_whitespace( SOMEVALUE )", "$parser->parse_empty_lists( SOMEVALUE )" SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::Text -- format Pod as plaintext SYNOPSIS DESCRIPTION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::TextContent -- get the text content of Pod SYNOPSIS DESCRIPTION SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::XHTML -- format Pod as validating XHTML SYNOPSIS DESCRIPTION Minimal code METHODS perldoc_url_prefix perldoc_url_postfix man_url_prefix man_url_postfix title_prefix, title_postfix html_css html_javascript html_doctype html_charset html_header_tags html_h_level default_title force_title html_header, html_footer index anchor_items backlink SUBCLASSING handle_text handle_code accept_targets_as_html resolve_pod_page_link resolve_man_page_link idify batch_mode_page_object_init SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS ACKNOWLEDGEMENTS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Simple::XMLOutStream -- turn Pod into XML SYNOPSIS DESCRIPTION SEE ALSO ABOUT EXTENDING POD SEE ALSO SUPPORT COPYRIGHT AND DISCLAIMERS AUTHOR Allison Randal "allison@perl.org", Hans Dieter Pearcey "hdp@cpan.org", David E. Wheeler "dwheeler@cpan.org" Pod::Text - Convert POD data to formatted text SYNOPSIS DESCRIPTION Encoding CLASS METHODS new(ARGS), alt, code, encoding, errors, guesswork, quoting, indent, loose, margin, nourls, quotes, sentence, stderr, utf8, width INSTANCE METHODS output_fh(FH), output_string(REF), parse_file(PATH), parse_from_file(INPUT, OUTPUT), parse_from_filehandle(FH, OUTPUT), parse_lines(LINES[, ...[, undef]]), parse_string_document(INPUT) FUNCTIONS pod2text([[-a,] [-NNN,]] INPUT[, OUTPUT]) DIAGNOSTICS Bizarre space in item, Item called without tag, Can't open %s for reading: %s, Invalid errors setting "%s", Invalid quote specification "%s", POD document had syntax errors COMPATIBILITY AUTHOR COPYRIGHT AND LICENSE SEE ALSO Pod::Text::Color - Convert POD data to formatted color ASCII text SYNOPSIS DESCRIPTION COMPATIBILITY AUTHOR COPYRIGHT AND LICENSE SEE ALSO Pod::Text::Overstrike - Convert POD data to formatted overstrike text SYNOPSIS DESCRIPTION BUGS COMPATIBILITY AUTHOR COPYRIGHT AND LICENSE SEE ALSO Pod::Text::Termcap - Convert POD data to ASCII text with format escapes SYNOPSIS DESCRIPTION COMPATIBILITY AUTHOR COPYRIGHT AND LICENSE SEE ALSO Pod::Usage - extracts POD documentation and shows usage information SYNOPSIS ARGUMENTS "-message" string, "-msg" string, "-exitval" value, "-verbose" value, "-sections" spec, "-output" handle, "-input" handle, "-pathlist" string, "-noperldoc", "-perlcmd", "-perldoc" path-to- perldoc, "-perldocopt" string Formatting base class Pass-through options DESCRIPTION Scripts EXAMPLES Recommended Use CAVEATS SUPPORT AUTHOR LICENSE ACKNOWLEDGMENTS SEE ALSO SDBM_File - Tied access to sdbm files SYNOPSIS DESCRIPTION Tie EXPORTS DIAGNOSTICS "sdbm store returned -1, errno 22, key "..." at ..." SECURITY WARNING BUGS AND WARNINGS Safe - Compile and execute code in restricted compartments SYNOPSIS DESCRIPTION a new namespace, an operator mask WARNING METHODS permit (OP, ...) permit_only (OP, ...) deny (OP, ...) deny_only (OP, ...) trap (OP, ...), untrap (OP, ...) share (NAME, ...) share_from (PACKAGE, ARRAYREF) varglob (VARNAME) reval (STRING, STRICT) rdo (FILENAME) root (NAMESPACE) mask (MASK) wrap_code_ref (CODEREF) wrap_code_refs_within (...) RISKS Memory, CPU, Snooping, Signals, State Changes AUTHOR Scalar::Util - A selection of general-utility scalar subroutines SYNOPSIS DESCRIPTION Core Perl "builtin" Functions FUNCTIONS FOR REFERENCES blessed refaddr reftype weaken unweaken isweak OTHER FUNCTIONS dualvar isdual isvstring looks_like_number openhandle readonly set_prototype tainted DIAGNOSTICS Vstrings are not implemented in this version of perl KNOWN BUGS SEE ALSO COPYRIGHT Search::Dict - look - search for key in dictionary file SYNOPSIS DESCRIPTION SelectSaver - save and restore selected file handle SYNOPSIS DESCRIPTION SelfLoader - load functions only on demand SYNOPSIS DESCRIPTION The __DATA__ token SelfLoader autoloading Autoloading and package lexicals SelfLoader and AutoLoader __DATA__, __END__, and the FOOBAR::DATA filehandle. Classes and inherited methods. Multiple packages and fully qualified subroutine names AUTHOR COPYRIGHT AND LICENSE a), b) Socket, "Socket" - networking constants and support functions SYNOPSIS DESCRIPTION CONSTANTS PF_INET, PF_INET6, PF_UNIX, ... AF_INET, AF_INET6, AF_UNIX, ... SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ... SOCK_NONBLOCK. SOCK_CLOEXEC SOL_SOCKET SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ... IP_OPTIONS, IP_TOS, IP_TTL, ... IP_PMTUDISC_WANT, IP_PMTUDISC_DONT, ... IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY, ... MSG_BCAST, MSG_OOB, MSG_TRUNC, ... SHUT_RD, SHUT_RDWR, SHUT_WR INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP, ... TCP_CORK, TCP_KEEPALIVE, TCP_NODELAY, ... IN6ADDR_ANY, IN6ADDR_LOOPBACK IPV6_ADD_MEMBERSHIP, IPV6_MTU, IPV6_V6ONLY, ... STRUCTURE MANIPULATORS $family = sockaddr_family $sockaddr $sockaddr = pack_sockaddr_in $port, $ip_address ($port, $ip_address) = unpack_sockaddr_in $sockaddr $sockaddr = sockaddr_in $port, $ip_address ($port, $ip_address) = sockaddr_in $sockaddr $sockaddr = pack_sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]] ($port, $ip6_address, $scope_id, $flowinfo) = unpack_sockaddr_in6 $sockaddr $sockaddr = sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]] ($port, $ip6_address, $scope_id, $flowinfo) = sockaddr_in6 $sockaddr $sockaddr = pack_sockaddr_un $path ($path) = unpack_sockaddr_un $sockaddr $sockaddr = sockaddr_un $path ($path) = sockaddr_un $sockaddr $ip_mreq = pack_ip_mreq $multiaddr, $interface ($multiaddr, $interface) = unpack_ip_mreq $ip_mreq $ip_mreq_source = pack_ip_mreq_source $multiaddr, $source, $interface ($multiaddr, $source, $interface) = unpack_ip_mreq_source $ip_mreq $ipv6_mreq = pack_ipv6_mreq $multiaddr6, $ifindex ($multiaddr6, $ifindex) = unpack_ipv6_mreq $ipv6_mreq FUNCTIONS $ip_address = inet_aton $string $string = inet_ntoa $ip_address $address = inet_pton $family, $string $string = inet_ntop $family, $address ($err, @result) = getaddrinfo $host, $service, [$hints] flags => INT, family => INT, socktype => INT, protocol => INT, family => INT, socktype => INT, protocol => INT, addr => STRING, canonname => STRING, AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST ($err, $hostname, $servicename) = getnameinfo $sockaddr, [$flags, [$xflags]] NI_NUMERICHOST, NI_NUMERICSERV, NI_NAMEREQD, NI_DGRAM, NIx_NOHOST, NIx_NOSERV getaddrinfo() / getnameinfo() ERROR CONSTANTS EAI_AGAIN, EAI_BADFLAGS, EAI_FAMILY, EAI_NODATA, EAI_NONAME, EAI_SERVICE EXAMPLES Lookup for connect() Making a human-readable string out of an address Resolving hostnames into IP addresses Accessing socket options AUTHOR Storable - persistence for Perl data structures SYNOPSIS DESCRIPTION MEMORY STORE ADVISORY LOCKING SPEED CANONICAL REPRESENTATION CODE REFERENCES FORWARD COMPATIBILITY utf8 data, restricted hashes, huge objects, files from future versions of Storable ERROR REPORTING WIZARDS ONLY Hooks "STORABLE_freeze" obj, cloning, "STORABLE_thaw" obj, cloning, serialized, .., "STORABLE_attach" class, cloning, serialized Predicates "Storable::last_op_in_netorder", "Storable::is_storing", "Storable::is_retrieving" Recursion Deep Cloning Storable magic $info = Storable::file_magic( $filename ), "version", "version_nv", "major", "minor", "hdrsize", "netorder", "byteorder", "intsize", "longsize", "ptrsize", "nvsize", "file", $info = Storable::read_magic( $buffer ), $info = Storable::read_magic( $buffer, $must_be_file ) EXAMPLES SECURITY WARNING WARNING REGULAR EXPRESSIONS BUGS 64 bit data in perl 5.6.0 and 5.6.1 CREDITS AUTHOR SEE ALSO Sub::Util - A selection of utility subroutines for subs and CODE references SYNOPSIS DESCRIPTION FUNCTIONS prototype set_prototype subname set_subname AUTHOR Symbol - manipulate Perl symbols and their names SYNOPSIS DESCRIPTION BUGS Sys::Hostname - Try every conceivable way to get hostname SYNOPSIS DESCRIPTION AUTHOR Sys::Syslog - Perl interface to the UNIX syslog(3) calls VERSION SYNOPSIS DESCRIPTION EXPORTS FUNCTIONS openlog($ident, $logopt, $facility), syslog($priority, $message), syslog($priority, $format, @args), Note, setlogmask($mask_priority), setlogsock(), Note, closelog() THE RULES OF SYS::SYSLOG EXAMPLES CONSTANTS Facilities Levels DIAGNOSTICS "Invalid argument passed to setlogsock", "eventlog passed to setlogsock, but no Win32 API available", "no connection to syslog available", "stream passed to setlogsock, but %s is not writable", "stream passed to setlogsock, but could not find any device", "tcp passed to setlogsock, but tcp service unavailable", "syslog: expecting argument %s", "syslog: invalid level/facility: %s", "syslog: too many levels given: %s", "syslog: too many facilities given: %s", "syslog: level must be given", "udp passed to setlogsock, but udp service unavailable", "unix passed to setlogsock, but path not available" HISTORY SEE ALSO Other modules Manual Pages RFCs Articles Event Log AUTHORS & ACKNOWLEDGEMENTS BUGS SUPPORT Perl Documentation, MetaCPAN, Search CPAN, AnnoCPAN: Annotated CPAN documentation, CPAN Ratings, RT: CPAN's request tracker COPYRIGHT LICENSE TAP::Base - Base class that provides common functionality to TAP::Parser and TAP::Harness VERSION SYNOPSIS DESCRIPTION METHODS Class Methods TAP::Formatter::Base - Base class for harness output delegates VERSION DESCRIPTION SYNOPSIS METHODS Class Methods "verbosity", "verbose", "timer", "failures", "comments", "quiet", "really_quiet", "silent", "errors", "directives", "stdout", "color", "jobs", "show_count" TAP::Formatter::Color - Run Perl test scripts with color VERSION DESCRIPTION SYNOPSIS METHODS Class Methods TAP::Formatter::Console - Harness output delegate for default console output VERSION DESCRIPTION SYNOPSIS "open_test" TAP::Formatter::Console::ParallelSession - Harness output delegate for parallel console output VERSION DESCRIPTION SYNOPSIS METHODS Class Methods TAP::Formatter::Console::Session - Harness output delegate for default console output VERSION DESCRIPTION "clear_for_close" "close_test" "header" "result" TAP::Formatter::File - Harness output delegate for file output VERSION DESCRIPTION SYNOPSIS "open_test" TAP::Formatter::File::Session - Harness output delegate for file output VERSION DESCRIPTION METHODS result close_test TAP::Formatter::Session - Abstract base class for harness output delegate VERSION METHODS Class Methods "formatter", "parser", "name", "show_count" TAP::Harness - Run test scripts with statistics VERSION DESCRIPTION SYNOPSIS METHODS Class Methods "verbosity", "timer", "failures", "comments", "show_count", "normalize", "lib", "switches", "test_args", "color", "exec", "merge", "sources", "aggregator_class", "version", "formatter_class", "multiplexer_class", "parser_class", "scheduler_class", "formatter", "errors", "directives", "ignore_exit", "jobs", "rules", "rulesfiles", "stdout", "trap" Instance Methods the source name of a test to run, a reference to a [ source name, display name ] array CONFIGURING Plugins "Module::Build" "ExtUtils::MakeMaker" "prove" WRITING PLUGINS Customize how TAP gets into the parser, Customize how TAP results are output from the parser SUBCLASSING Methods "new" in TAP::Harness, "runtests" in TAP::Harness, "summary" in TAP::Harness REPLACING SEE ALSO TAP::Harness::Beyond, Test::Harness::Beyond - Beyond make test Beyond make test Saved State Parallel Testing Non-Perl Tests Mixing it up Rolling My Own Deeper Customisation Callbacks Parsing TAP Getting Support TAP::Harness::Env - Parsing harness related environmental variables where appropriate VERSION SYNOPSIS DESCRIPTION METHODS create( \%args ) ENVIRONMENTAL VARIABLES "HARNESS_PERL_SWITCHES", "HARNESS_VERBOSE", "HARNESS_SUBCLASS", "HARNESS_OPTIONS", "j", "c", "a", "fPackage-With-Dashes", "HARNESS_TIMER", "HARNESS_COLOR", "HARNESS_IGNORE_EXIT" TAP::Object - Base class that provides common functionality to all "TAP::*" modules VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods TAP::Parser - Parse TAP output VERSION SYNOPSIS DESCRIPTION METHODS Class Methods "source", "tap", "exec", "sources", "callback", "switches", "test_args", "spool", "merge", "grammar_class", "result_factory_class", "iterator_factory_class" Instance Methods INDIVIDUAL RESULTS Result types Version, Plan, Pragma, Test, Comment, Bailout, Unknown Common type methods "plan" methods "pragma" methods "comment" methods "bailout" methods "unknown" methods "test" methods TOTAL RESULTS Individual Results Pragmas Summary Results "ignore_exit" Misplaced plan, No plan, More than one plan, Test numbers out of sequence CALLBACKS "test", "version", "plan", "comment", "bailout", "yaml", "unknown", "ELSE", "ALL", "EOF" TAP GRAMMAR BACKWARDS COMPATIBILITY Differences TODO plans, 'Missing' tests SUBCLASSING Parser Components option 1, option 2 ACKNOWLEDGMENTS Michael Schwern, Andy Lester, chromatic, GEOFFR, Shlomi Fish, Torsten Schoenfeld, Jerry Gay, Aristotle, Adam Kennedy, Yves Orton, Adrian Howard, Sean & Lil, Andreas J. Koenig, Florian Ragwitz, Corion, Mark Stosberg, Matt Kraai, David Wheeler, Alex Vandiver, Cosimo Streppone, Ville Skytta AUTHORS BUGS COPYRIGHT & LICENSE TAP::Parser::Aggregator - Aggregate TAP::Parser results VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods Summary methods failed, parse_errors, passed, planned, skipped, todo, todo_passed, wait, exit Failed tests, Parse errors, Bad exit or wait status See Also TAP::Parser::Grammar - A grammar for the Test Anything Protocol. VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods TAP GRAMMAR SUBCLASSING SEE ALSO TAP::Parser::Iterator - Base class for TAP source iterators VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods SUBCLASSING Example SEE ALSO TAP::Parser::Iterator::Array - Iterator for array-based TAP sources VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods ATTRIBUTION SEE ALSO TAP::Parser::Iterator::Process - Iterator for process-based TAP sources VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods ATTRIBUTION SEE ALSO TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods ATTRIBUTION SEE ALSO TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to use for a given Source VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods SUBCLASSING Example AUTHORS ATTRIBUTION SEE ALSO TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods See Also TAP::Parser::Result - Base class for TAP::Parser output objects VERSION SYNOPSIS DESCRIPTION METHODS Boolean methods "is_plan", "is_pragma", "is_test", "is_comment", "is_bailout", "is_version", "is_unknown", "is_yaml" SUBCLASSING Example SEE ALSO TAP::Parser::Result::Bailout - Bailout result token. VERSION DESCRIPTION OVERRIDDEN METHODS "as_string" Instance Methods TAP::Parser::Result::Comment - Comment result token. VERSION DESCRIPTION OVERRIDDEN METHODS "as_string" Instance Methods TAP::Parser::Result::Plan - Plan result token. VERSION DESCRIPTION OVERRIDDEN METHODS "as_string", "raw" Instance Methods TAP::Parser::Result::Pragma - TAP pragma token. VERSION DESCRIPTION OVERRIDDEN METHODS "as_string", "raw" Instance Methods TAP::Parser::Result::Test - Test result token. VERSION DESCRIPTION OVERRIDDEN METHODS Instance Methods TAP::Parser::Result::Unknown - Unknown result token. VERSION DESCRIPTION OVERRIDDEN METHODS "as_string", "raw" TAP::Parser::Result::Version - TAP syntax version token. VERSION DESCRIPTION OVERRIDDEN METHODS "as_string", "raw" Instance Methods TAP::Parser::Result::YAML - YAML result token. VERSION DESCRIPTION OVERRIDDEN METHODS "as_string", "raw" Instance Methods TAP::Parser::ResultFactory - Factory for creating TAP::Parser output objects SYNOPSIS VERSION DESCRIPTION METHODS Class Methods SUBCLASSING Example SEE ALSO TAP::Parser::Scheduler - Schedule tests during parallel testing VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Rules data structure By default, all tests are eligible to be run in parallel. Specifying any of your own rules removes this one, "First match wins". The first rule that matches a test will be the one that applies, Any test which does not match a rule will be run in sequence at the end of the run, The existence of a rule does not imply selecting a test. You must still specify the tests to run, Specifying a rule to allow tests to run in parallel does not make the run in parallel. You still need specify the number of parallel "jobs" in your Harness object Instance Methods TAP::Parser::Scheduler::Job - A single testing job. VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods Attributes TAP::Parser::Scheduler::Spinner - A no-op job. VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods SEE ALSO TAP::Parser::Source - a TAP source & meta data about it VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods AUTHORS SEE ALSO TAP::Parser::SourceHandler - Base class for different TAP source handlers VERSION SYNOPSIS DESCRIPTION METHODS Class Methods SUBCLASSING Example AUTHORS SEE ALSO TAP::Parser::SourceHandler::Executable - Stream output from an executable TAP source VERSION SYNOPSIS DESCRIPTION METHODS Class Methods SUBCLASSING Example SEE ALSO TAP::Parser::SourceHandler::File - Stream TAP from a text file. VERSION SYNOPSIS DESCRIPTION METHODS Class Methods CONFIGURATION SUBCLASSING SEE ALSO TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle or a GLOB. VERSION SYNOPSIS DESCRIPTION METHODS Class Methods SUBCLASSING SEE ALSO TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable VERSION SYNOPSIS DESCRIPTION METHODS Class Methods SUBCLASSING Example SEE ALSO TAP::Parser::SourceHandler::RawTAP - Stream output from raw TAP in a scalar/array ref. VERSION SYNOPSIS DESCRIPTION METHODS Class Methods SUBCLASSING SEE ALSO TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods AUTHOR SEE ALSO COPYRIGHT TAP::Parser::YAMLish::Writer - Write YAMLish data VERSION SYNOPSIS DESCRIPTION METHODS Class Methods Instance Methods a reference to a scalar to append YAML to, the handle of an open file, a reference to an array into which YAML will be pushed, a code reference AUTHOR SEE ALSO COPYRIGHT Term::ANSIColor - Color screen output using ANSI escape sequences SYNOPSIS DESCRIPTION Supported Colors Function Interface color(ATTR[, ATTR ...]), colored(STRING, ATTR[, ATTR ...]), colored(ATTR-REF, STRING[, STRING...]), uncolor(ESCAPE), colorstrip(STRING[, STRING ...]), colorvalid(ATTR[, ATTR ...]), coloralias(ALIAS[, ATTR ...]) Constant Interface The Color Stack Supporting CLICOLOR DIAGNOSTICS Bad color mapping %s, Bad escape sequence %s, Bareword "%s" not allowed while "strict subs" in use, Cannot alias standard color %s, Cannot alias standard color %s in %s, Invalid alias name %s, Invalid alias name %s in %s, Invalid attribute name %s, Invalid attribute name %s in %s, Name "%s" used only once: possible typo, No comma allowed after filehandle, No name for escape sequence %s ENVIRONMENT ANSI_COLORS_ALIASES, ANSI_COLORS_DISABLED, NO_COLOR COMPATIBILITY RESTRICTIONS NOTES AUTHORS COPYRIGHT AND LICENSE SEE ALSO Term::Cap - Perl termcap interface SYNOPSIS DESCRIPTION METHODS Tgetent, OSPEED, TERM Tpad, $string, $cnt, $FH Tputs, $cap, $cnt, $FH Tgoto, $cap, $col, $row, $FH Trequire EXAMPLES COPYRIGHT AND LICENSE AUTHOR SEE ALSO Term::Complete - Perl word completion module SYNOPSIS DESCRIPTION , ^D, ^U, , DIAGNOSTICS BUGS AUTHOR Term::ReadLine - Perl interface to various "readline" packages. If no real package is found, substitutes stubs instead of basic functions. SYNOPSIS DESCRIPTION Minimal set of supported functions "ReadLine", "new", "readline", "addhistory", "IN", "OUT", "MinLine", "findConsole", Attribs, "Features" Additional supported functions "tkRunning", "event_loop", "ornaments", "newTTY" EXPORTS ENVIRONMENT Test - provides a simple framework for writing test scripts SYNOPSIS DESCRIPTION QUICK START GUIDE Functions plan(...), "tests => number", "todo => [1,5,14]", "onfail => sub { ... }", "onfail => \&some_sub" _to_value ok(...) "skip(skip_if_true, args...)" TEST TYPES NORMAL TESTS, SKIPPED TESTS, TODO TESTS ONFAIL BUGS and CAVEATS ENVIRONMENT NOTE SEE ALSO AUTHOR Test2 - Framework for writing test tools that all work together. DESCRIPTION WHAT IS NEW? Easier to test new testing tools, Better diagnostics capabilities, Event driven, More complete API, Support for output other than TAP, Subtest implementation is more sane, Support for threading/forking GETTING STARTED Test2, This describes the namespace layout for the Test2 ecosystem. Not all the namespaces listed here are part of the Test2 distribution, some are implemented in Test2::Suite. Test2::Tools:: Test2::Plugin:: Test2::Bundle:: Test2::Require:: Test2::Formatter:: Test2::Event:: Test2::Hub:: Test2::IPC:: Test2::Util:: Test2::API:: Test2:: SEE ALSO CONTACTING US SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API - Primary interface for writing Test2 based testing tools. ***INTERNALS NOTE*** DESCRIPTION SYNOPSIS WRITING A TOOL TESTING YOUR TOOLS OTHER API FUNCTIONS MAIN API EXPORTS context(...) $ctx = context(), $ctx = context(%params), level => $int, wrapped => $int, stack => $stack, hub => $hub, on_init => sub { ... }, on_release => sub { ... } release($;$) release $ctx;, release $ctx, ...; context_do(&;@) no_context(&;$) no_context { ... };, no_context { ... } $hid; intercept(&) run_subtest(...) $NAME, \&CODE, $BUFFERED or \%PARAMS, 'buffered' => $bool, 'inherit_trace' => $bool, 'no_fork' => $bool, @ARGS, Things not effected by this flag, Things that are effected by this flag, Things that are formatter dependant OTHER API EXPORTS STATUS AND INITIALIZATION STATE $bool = test2_init_done(), $bool = test2_load_done(), test2_set_is_end(), test2_set_is_end($bool), $bool = test2_get_is_end(), $stack = test2_stack(), $bool = test2_is_testing_done(), test2_ipc_disable, $bool = test2_ipc_diabled, test2_ipc_wait_enable(), test2_ipc_wait_disable(), $bool = test2_ipc_wait_enabled(), $bool = test2_no_wait(), test2_no_wait($bool), $fh = test2_stdout(), $fh = test2_stderr(), test2_reset_io() BEHAVIOR HOOKS test2_add_callback_exit(sub { ... }), test2_add_callback_post_load(sub { ... }), test2_add_callback_testing_done(sub { ... }), test2_add_callback_context_acquire(sub { ... }), test2_add_callback_context_init(sub { ... }), test2_add_callback_context_release(sub { ... }), test2_add_callback_pre_subtest(sub { ... }), @list = test2_list_context_acquire_callbacks(), @list = test2_list_context_init_callbacks(), @list = test2_list_context_release_callbacks(), @list = test2_list_exit_callbacks(), @list = test2_list_post_load_callbacks(), @list = test2_list_pre_subtest_callbacks(), test2_add_uuid_via(sub { ... }), $sub = test2_add_uuid_via() IPC AND CONCURRENCY $bool = test2_has_ipc(), $ipc = test2_ipc(), test2_ipc_add_driver($DRIVER), @drivers = test2_ipc_drivers(), $bool = test2_ipc_polling(), test2_ipc_enable_polling(), test2_ipc_disable_polling(), test2_ipc_enable_shm(), test2_ipc_set_pending($uniq_val), $pending = test2_ipc_get_pending(), $timeout = test2_ipc_get_timeout(), test2_ipc_set_timeout($timeout) MANAGING FORMATTERS $formatter = test2_formatter, test2_formatter_set($class_or_instance), @formatters = test2_formatters(), test2_formatter_add($class_or_instance) OTHER EXAMPLES SEE ALSO MAGIC SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API::Breakage - What breaks at what version DESCRIPTION FUNCTIONS %mod_ver = upgrade_suggested(), %mod_ver = Test2::API::Breakage->upgrade_suggested(), %mod_ver = upgrade_required(), %mod_ver = Test2::API::Breakage->upgrade_required(), %mod_ver = known_broken(), %mod_ver = Test2::API::Breakage->known_broken() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API::Context - Object to represent a testing context. DESCRIPTION SYNOPSIS CRITICAL DETAILS you MUST always use the context() sub from Test2::API, You MUST always release the context when done with it, You MUST NOT pass context objects around, You MUST NOT store or cache a context for later, You SHOULD obtain your context as soon as possible in a given tool METHODS $ctx->done_testing;, $clone = $ctx->snapshot(), $ctx->release(), $ctx->throw($message), $ctx->alert($message), $stack = $ctx->stack(), $hub = $ctx->hub(), $dbg = $ctx->trace(), $ctx->do_in_context(\&code, @args);, $ctx->restore_error_vars(), $! = $ctx->errno(), $? = $ctx->child_error(), $@ = $ctx->eval_error() EVENT PRODUCTION METHODS $event = $ctx->pass(), $event = $ctx->pass($name), $true = $ctx->pass_and_release(), $true = $ctx->pass_and_release($name), my $event = $ctx->fail(), my $event = $ctx->fail($name), my $event = $ctx->fail($name, @diagnostics), my $false = $ctx->fail_and_release(), my $false = $ctx->fail_and_release($name), my $false = $ctx->fail_and_release($name, @diagnostics), $event = $ctx->ok($bool, $name), $event = $ctx->ok($bool, $name, \@on_fail), $event = $ctx->note($message), $event = $ctx->diag($message), $event = $ctx->plan($max), $event = $ctx->plan(0, 'SKIP', $reason), $event = $ctx->skip($name, $reason);, $event = $ctx->bail($reason), $event = $ctx->send_ev2(%facets), $event = $ctx->build_e2(%facets), $event = $ctx->send_ev2_and_release($Type, %parameters), $event = $ctx->send_event($Type, %parameters), $event = $ctx->build_event($Type, %parameters), $event = $ctx->send_event_and_release($Type, %parameters) HOOKS INIT HOOKS RELEASE HOOKS THIRD PARTY META-DATA SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum , Kent Fredric COPYRIGHT Test2::API::Instance - Object used by Test2::API under the hood DESCRIPTION SYNOPSIS $pid = $obj->pid, $obj->tid, $obj->reset(), $obj->load(), $bool = $obj->loaded, $arrayref = $obj->post_load_callbacks, $obj->add_post_load_callback(sub { ... }), $hashref = $obj->contexts(), $arrayref = $obj->context_acquire_callbacks, $arrayref = $obj->context_init_callbacks, $arrayref = $obj->context_release_callbacks, $arrayref = $obj->pre_subtest_callbacks, $obj->add_context_init_callback(sub { ... }), $obj->add_context_release_callback(sub { ... }), $obj->add_pre_subtest_callback(sub { ... }), $obj->set_exit(), $obj->set_ipc_pending($val), $pending = $obj->get_ipc_pending(), $timeout = $obj->ipc_timeout;, $obj->set_ipc_timeout($timeout);, $drivers = $obj->ipc_drivers, $obj->add_ipc_driver($DRIVER_CLASS), $bool = $obj->ipc_polling, $obj->enable_ipc_polling, $obj->disable_ipc_polling, $bool = $obj->no_wait, $bool = $obj->set_no_wait($bool), $arrayref = $obj->exit_callbacks, $obj->add_exit_callback(sub { ... }), $bool = $obj->finalized, $ipc = $obj->ipc, $obj->ipc_disable, $bool = $obj->ipc_disabled, $stack = $obj->stack, $formatter = $obj->formatter, $bool = $obj->formatter_set(), $obj->add_formatter($class), $obj->add_formatter($obj), $obj->set_add_uuid_via(sub { ... }), $sub = $obj->add_uuid_via() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API::InterceptResult - Representation of a list of events. DESCRIPTION SYNOPSIS METHODS CONSTRUCTION $events = Test2::API::InterceptResult->new(@EVENTS), $events = Test2::API::InterceptResult->new_from_ref(\@EVENTS), $clone = $events->clone() NORMALIZATION @events = $events->event_list, $hub = $events->hub, $state = $events->state, $new = $events->upgrade, $events->upgrade(in_place => $BOOL), $new = $events->squash_info, $events->squash_info(in_place => $BOOL) FILTERING in_place => $BOOL, args => \@ARGS, $events->grep($CALL, %PARAMS), $events->asserts(%PARAMS), $events->subtests(%PARAMS), $events->diags(%PARAMS), $events->notes(%PARAMS), $events->errors(%PARAMS), $events->plans(%PARAMS), $events->causes_fail(%PARAMS), $events->causes_failure(%PARAMS) MAPPING $arrayref = $events->map($CALL, %PARAMS), $arrayref = $events->flatten(%PARAMS), $arrayref = $events->briefs(%PARAMS), $arrayref = $events->summaries(%PARAMS), $arrayref = $events->subtest_results(%PARAMS), $arrayref = $events->diag_messages(%PARAMS), $arrayref = $events->note_messages(%PARAMS), $arrayref = $events->error_messages(%PARAMS) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API::InterceptResult::Event - Representation of an event for use in testing other test tools. DESCRIPTION SYNOPSIS METHODS !!! IMPORTANT NOTES ON DESIGN !!! ATTRIBUTES $hashref = $event->facet_data, $class = $event->result_class DUPLICATION $copy = $event->clone CONDENSED MULTI-FACET DATA $bool = $event->causes_failure, $bool = $event->causes_fail, STRING_OR_EMPTY_LIST = $event->brief, $hashref = $event->flatten, $hashref = $event->flatten(include_subevents => 1), always present, Present if the event has a trace facet, If an assertion is present, If a plan is present:, If amnesty facets are present, If Info (note/diag) facets are present, If error facets are present, Present if the event is a subtest, If a bail-out is being requested, $hashref = $event->summary() DIRECT ARBITRARY FACET ACCESS @list_of_facets = $event->facet($name), $undef_or_facet = $event->the_facet($name) TRACE FACET @list_of_facets = $event->trace, $undef_or_hashref = $event->the_trace, $undef_or_arrayref = $event->frame, $undef_or_string = $event->trace_details, $undef_or_string = $event->trace_package, $undef_or_string = $event->trace_file, $undef_or_integer = $event->trace_line, $undef_or_string = $event->trace_subname, $undef_or_string = $event->trace_tool, $undef_or_string = $event->trace_signature ASSERT FACET $bool = $event->has_assert, $undef_or_hashref = $event->the_assert, @list_of_facets = $event->assert, EMPTY_LIST_OR_STRING = $event->assert_brief SUBTESTS (PARENT FACET) $bool = $event->has_subtest, $undef_or_hashref = $event->the_subtest, @list_of_facets = $event->subtest, EMPTY_LIST_OR_OBJECT = $event->subtest_result CONTROL FACET (BAILOUT, ENCODING) $bool = $event->has_bailout, $undef_hashref = $event->the_bailout, EMPTY_LIST_OR_HASHREF = $event->bailout, EMPTY_LIST_OR_STRING = $event->bailout_brief, EMPTY_LIST_OR_STRING = $event->bailout_reason PLAN FACET $bool = $event->has_plan, $undef_or_hashref = $event->the_plan, @list_if_hashrefs = $event->plan, EMPTY_LIST_OR_STRING $event->plan_brief AMNESTY FACET (TODO AND SKIP) $event->has_amnesty, $event->the_amnesty, $event->amnesty, $event->amnesty_reasons, $event->has_todos, $event->todos, $event->todo_reasons, $event->has_skips, $event->skips, $event->skip_reasons, $event->has_other_amnesty, $event->other_amnesty, $event->other_amnesty_reasons ERROR FACET (CAPTURED EXCEPTIONS) $event->has_errors, $event->the_errors, $event->errors, $event->error_messages, $event->error_brief INFO FACET (DIAG, NOTE) $event->has_info, $event->the_info, $event->info, $event->info_messages, $event->has_diags, $event->diags, $event->diag_messages, $event->has_notes, $event->notes, $event->note_messages, $event->has_other_info, $event->other_info, $event->other_info_messages SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API::InterceptResult::Hub - Hub used by InterceptResult. SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API::InterceptResult::Squasher - Encapsulation of the algorithm that squashes diags into assertions. DESCRIPTION SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::API::Stack - Object to manage a stack of Test2::Hub instances. ***INTERNALS NOTE*** DESCRIPTION SYNOPSIS METHODS $stack = Test2::API::Stack->new(), $hub = $stack->new_hub(), $hub = $stack->new_hub(%params), $hub = $stack->new_hub(%params, class => $class), $hub = $stack->top(), $hub = $stack->peek(), $stack->cull, @hubs = $stack->all, $stack->clear, $stack->push($hub), $stack->pop($hub) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event - Base class for events DESCRIPTION SYNOPSIS METHODS GENERAL $trace = $e->trace, $bool_or_undef = $e->related($e2), $e->add_amnesty({tag => $TAG, details => $DETAILS});, $uuid = $e->uuid, $class = $e->load_facet($name), @classes = $e->FACET_TYPES(), @classes = Test2::Event->FACET_TYPES() NEW API $hashref = $e->common_facet_data();, $hashref = $e->facet_data(), $hashref = $e->facets(), @errors = $e->validate_facet_data();, @errors = $e->validate_facet_data(%params);, @errors = $e->validate_facet_data(\%facets, %params);, @errors = Test2::Event->validate_facet_data(%params);, @errors = Test2::Event->validate_facet_data(\%facets, %params);, require_facet_class => $BOOL, about => {...}, assert => {...}, control => {...}, meta => {...}, parent => {...}, plan => {...}, trace => {...}, amnesty => [{...}, ...], errors => [{...}, ...], info => [{...}, ...] LEGACY API $bool = $e->causes_fail, $bool = $e->increments_count, $e->callback($hub), $num = $e->nested, $bool = $e->global, $code = $e->terminate, $msg = $e->summary, ($count, $directive, $reason) = $e->sets_plan(), $bool = $e->diagnostics, $bool = $e->no_display, $id = $e->in_subtest, $id = $e->subtest_id THIRD PARTY META-DATA SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Bail - Bailout! DESCRIPTION SYNOPSIS METHODS $reason = $e->reason SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Diag - Diag event type DESCRIPTION SYNOPSIS ACCESSORS $diag->message SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Encoding - Set the encoding for the output stream DESCRIPTION SYNOPSIS METHODS $encoding = $e->encoding SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Exception - Exception event DESCRIPTION SYNOPSIS METHODS $reason = $e->error CAVEATS SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Fail - Event for a simple failed assertion DESCRIPTION SYNOPSIS SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Generic - Generic event type. DESCRIPTION SYNOPSIS METHODS $e->facet_data($data), $data = $e->facet_data, $e->callback($hub), $e->set_callback(sub { ... }), $bool = $e->causes_fail, $e->set_causes_fail($bool), $bool = $e->diagnostics, $e->set_diagnostics($bool), $bool_or_undef = $e->global, @bool_or_empty = $e->global, $e->set_global($bool_or_undef), $bool = $e->increments_count, $e->set_increments_count($bool), $bool = $e->no_display, $e->set_no_display($bool), @plan = $e->sets_plan, $e->set_sets_plan(\@plan), $summary = $e->summary, $e->set_summary($summary_or_undef), $int_or_undef = $e->terminate, @int_or_empty = $e->terminate, $e->set_terminate($int_or_undef) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Note - Note event type DESCRIPTION SYNOPSIS ACCESSORS $note->message SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Ok - Ok event type DESCRIPTION SYNOPSIS ACCESSORS $rb = $e->pass, $name = $e->name, $b = $e->effective_pass SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Pass - Event for a simple passing assertion DESCRIPTION SYNOPSIS SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Plan - The event of a plan DESCRIPTION SYNOPSIS ACCESSORS $num = $plan->max, $dir = $plan->directive, $reason = $plan->reason SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Skip - Skip event type DESCRIPTION SYNOPSIS ACCESSORS $reason = $e->reason SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Subtest - Event for subtest types DESCRIPTION ACCESSORS $arrayref = $e->subevents, $bool = $e->buffered SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::TAP::Version - Event for TAP version. DESCRIPTION SYNOPSIS METHODS $version = $e->version SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::V2 - Second generation event. DESCRIPTION SYNOPSIS USING A CONTEXT USING THE CONSTRUCTOR METHODS $fd = $e->facet_data(), $about = $e->about(), $trace = $e->trace() MUTATION $e->add_amnesty({...}), $e->add_hub({...}), $e->set_uuid($UUID), $e->set_trace($trace) LEGACY SUPPORT METHODS causes_fail, diagnostics, global, increments_count, no_display, sets_plan, subtest_id, summary, terminate THIRD PARTY META-DATA SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Event::Waiting - Tell all procs/threads it is time to be done DESCRIPTION SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet - Base class for all event facets. DESCRIPTION METHODS $key = $facet_class->facet_key(), $bool = $facet_class->is_list(), $clone = $facet->clone(), $clone = $facet->clone(%replace) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::About - Facet with event details. DESCRIPTION FIELDS $string = $about->{details}, $string = $about->details(), $package = $about->{package}, $package = $about->package(), $bool = $about->{no_display}, $bool = $about->no_display(), $uuid = $about->{uuid}, $uuid = $about->uuid(), $uuid = $about->{eid}, $uuid = $about->eid() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Amnesty - Facet for assertion amnesty. DESCRIPTION NOTES FIELDS $string = $amnesty->{details}, $string = $amnesty->details(), $short_string = $amnesty->{tag}, $short_string = $amnesty->tag(), $bool = $amnesty->{inherited}, $bool = $amnesty->inherited() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Assert - Facet representing an assertion. DESCRIPTION FIELDS $string = $assert->{details}, $string = $assert->details(), $bool = $assert->{pass}, $bool = $assert->pass(), $bool = $assert->{no_debug}, $bool = $assert->no_debug(), $int = $assert->{number}, $int = $assert->number() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Control - Facet for hub actions and behaviors. DESCRIPTION FIELDS $string = $control->{details}, $string = $control->details(), $bool = $control->{global}, $bool = $control->global(), $exit = $control->{terminate}, $exit = $control->terminate(), $bool = $control->{halt}, $bool = $control->halt(), $bool = $control->{has_callback}, $bool = $control->has_callback(), $encoding = $control->{encoding}, $encoding = $control->encoding(), $phase = $control->{phase}, $phase = $control->phase() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Error - Facet for errors that need to be shown. DESCRIPTION NOTES FIELDS $string = $error->{details}, $string = $error->details(), $short_string = $error->{tag}, $short_string = $error->tag(), $bool = $error->{fail}, $bool = $error->fail() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Hub - Facet for the hubs an event passes through. DESCRIPTION FACET FIELDS $string = $trace->{details}, $string = $trace->details(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Info - Facet for information a developer might care about. DESCRIPTION NOTES FIELDS $string_or_structure = $info->{details}, $string_or_structure = $info->details(), $structure = $info->{table}, $structure = $info->table(), $short_string = $info->{tag}, $short_string = $info->tag(), $bool = $info->{debug}, $bool = $info->debug(), $bool = $info->{important}, $bool = $info->important SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Info::Table - Intermediary representation of a table. DESCRIPTION SYNOPSIS ATTRIBUTES $header_aref = $t->header(), $rows_aref = $t->rows(), $bool = $t->collapse(), $aref = $t->no_collapse(), $str = $t->as_string(), $href = $t->as_hash(), %args = $t->info_args() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Meta - Facet for meta-data DESCRIPTION METHODS AND FIELDS $anything = $meta->{anything}, $anything = $meta->anything() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Parent - Facet for events contains other events DESCRIPTION FIELDS $string = $parent->{details}, $string = $parent->details(), $hid = $parent->{hid}, $hid = $parent->hid(), $arrayref = $parent->{children}, $arrayref = $parent->children(), $bool = $parent->{buffered}, $bool = $parent->buffered() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Plan - Facet for setting the plan DESCRIPTION FIELDS $string = $plan->{details}, $string = $plan->details(), $positive_int = $plan->{count}, $positive_int = $plan->count(), $bool = $plan->{skip}, $bool = $plan->skip(), $bool = $plan->{none}, $bool = $plan->none() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Render - Facet that dictates how to render an event. DESCRIPTION FIELDS $string = $render->[#]->{details}, $string = $render->[#]->details(), $string = $render->[#]->{tag}, $string = $render->[#]->tag(), $string = $render->[#]->{facet}, $string = $render->[#]->facet(), $mode = $render->[#]->{mode}, $mode = $render->[#]->mode(), calculated, replace SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::EventFacet::Trace - Debug information for events DESCRIPTION SYNOPSIS FACET FIELDS $string = $trace->{details}, $string = $trace->details(), $frame = $trace->{frame}, $frame = $trace->frame(), $int = $trace->{pid}, $int = $trace->pid(), $int = $trace->{tid}, $int = $trace->tid(), $id = $trace->{cid}, $id = $trace->cid(), $uuid = $trace->{uuid}, $uuid = $trace->uuid(), ($pkg, $file, $line, $subname) = $trace->call, @caller = $trace->full_call, $warning_bits = $trace->warning_bits DISCOURAGED HUB RELATED FIELDS $hid = $trace->{hid}, $hid = $trace->hid(), $huuid = $trace->{huuid}, $huuid = $trace->huuid(), $int = $trace->{nested}, $int = $trace->nested(), $bool = $trace->{buffered}, $bool = $trace->buffered() METHODS $trace->set_detail($msg), $msg = $trace->detail, $str = $trace->debug, $trace->alert($MESSAGE), $trace->throw($MESSAGE), ($package, $file, $line, $subname) = $trace->call(), $pkg = $trace->package, $file = $trace->file, $line = $trace->line, $subname = $trace->subname, $sig = trace->signature SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Formatter - Namespace for formatters. DESCRIPTION CREATING FORMATTERS The number of tests that were planned, The number of tests actually seen, The number of tests which failed, A boolean indicating whether or not the test suite passed, A boolean indicating whether or not this call is for a subtest SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Formatter::TAP - Standard TAP formatter DESCRIPTION SYNOPSIS METHODS $bool = $tap->no_numbers, $tap->set_no_numbers($bool), $arrayref = $tap->handles, $tap->set_handles(\@handles);, $encoding = $tap->encoding, $tap->encoding($encoding), $tap->write($e, $num) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum , Kent Fredric COPYRIGHT Test2::Hub - The conduit through which all events flow. SYNOPSIS DESCRIPTION COMMON TASKS SENDING EVENTS ALTERING OR REMOVING EVENTS LISTENING FOR EVENTS POST-TEST BEHAVIORS SETTING THE FORMATTER METHODS $hub->send($event), $hub->process($event), $old = $hub->format($formatter), $sub = $hub->listen(sub { ... }, %optional_params), $hub->unlisten($sub), $sub = $hub->filter(sub { ... }, %optional_params), $sub = $hub->pre_filter(sub { ... }, %optional_params), $hub->unfilter($sub), $hub->pre_unfilter($sub), $hub->follow_op(sub { ... }), $sub = $hub->add_context_acquire(sub { ... });, $hub->remove_context_acquire($sub);, $sub = $hub->add_context_init(sub { ... });, $hub->remove_context_init($sub);, $sub = $hub->add_context_release(sub { ... });, $hub->remove_context_release($sub);, $hub->cull(), $pid = $hub->pid(), $tid = $hub->tid(), $hud = $hub->hid(), $uuid = $hub->uuid(), $ipc = $hub->ipc(), $hub->set_no_ending($bool), $bool = $hub->no_ending, $bool = $hub->active, $hub->set_active($bool) STATE METHODS $hub->reset_state(), $num = $hub->count, $num = $hub->failed, $bool = $hub->ended, $bool = $hub->is_passing, $hub->is_passing($bool), $hub->plan($plan), $plan = $hub->plan, $bool = $hub->check_plan THIRD PARTY META-DATA SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Hub::Interceptor - Hub used by interceptor to grab results. SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Hub::Interceptor::Terminator - Exception class used by Test2::Hub::Interceptor SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Hub::Subtest - Hub used by subtests DESCRIPTION TOGGLES $bool = $hub->manual_skip_all, $hub->set_manual_skip_all($bool) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::IPC - Turn on IPC for threading or forking support. SYNOPSIS DISABLING IT EXPORTS cull() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::IPC::Driver - Base class for Test2 IPC drivers. SYNOPSIS METHODS $self->abort($msg), $self->abort_trace($msg) LOADING DRIVERS WRITING DRIVERS METHODS SUBCLASSES MUST IMPLEMENT $ipc->is_viable, $ipc->add_hub($hid), $ipc->drop_hub($hid), $ipc->send($hid, $event);, $ipc->send($hid, $event, $global);, @events = $ipc->cull($hid), $ipc->waiting() METHODS SUBCLASSES MAY IMPLEMENT OR OVERRIDE $ipc->driver_abort($msg) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::IPC::Driver::Files - Temp dir + Files concurrency model. DESCRIPTION SYNOPSIS ENVIRONMENT VARIABLES T2_KEEP_TEMPDIR=0, T2_TEMPDIR_TEMPLATE='test2-XXXXXX' SEE ALSO SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Tools::Tiny - Tiny set of tools for unfortunate souls who cannot use Test2::Suite. DESCRIPTION USE Test2::Suite INSTEAD EXPORTS ok($bool, $name), ok($bool, $name, @diag), is($got, $want, $name), is($got, $want, $name, @diag), isnt($got, $do_not_want, $name), isnt($got, $do_not_want, $name, @diag), like($got, $regex, $name), like($got, $regex, $name, @diag), unlike($got, $regex, $name), unlike($got, $regex, $name, @diag), is_deeply($got, $want, $name), is_deeply($got, $want, $name, @diag), diag($msg), note($msg), skip_all($reason), todo $reason => sub { ... }, plan($count), done_testing(), $warnings = warnings { ... }, $exception = exception { ... }, tests $name => sub { ... }, $output = capture { ... } SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Transition - Transition notes when upgrading to Test2 DESCRIPTION THINGS THAT BREAK Test::Builder1.5/2 conditionals Replacing the Test::Builder singleton Directly Accessing Hash Elements Subtest indentation DISTRIBUTIONS THAT BREAK OR NEED TO BE UPGRADED WORKS BUT TESTS WILL FAIL Test::DBIx::Class::Schema, Device::Chip UPGRADE SUGGESTED Test::Exception, Data::Peek, circular::require, Test::Module::Used, Test::Moose::More, Test::FITesque, Test::Kit, autouse NEED TO UPGRADE Test::SharedFork, Test::Builder::Clutch, Test::Dist::VersionSync, Test::Modern, Test::UseAllModules, Test::More::Prefix STILL BROKEN Test::Aggregate, Test::Wrapper, Test::ParallelSubtest, Test::Pretty, Net::BitTorrent, Test::Group, Test::Flatten, Log::Dispatch::Config::TestLog, Test::Able MAKE ASSERTIONS -> SEND EVENTS LEGACY TEST2 ok($bool, $name), diag(@messages), note(@messages), subtest($name, $code) WRAP EXISTING TOOLS LEGACY TEST2 USING UTF8 LEGACY TEST2 AUTHORS, CONTRIBUTORS AND REVIEWERS Chad Granum (EXODIST) SOURCE MAINTAINER Chad Granum COPYRIGHT Test2::Util - Tools used by Test2 and friends. DESCRIPTION EXPORTS ($success, $error) = try { ... }, protect { ... }, CAN_FORK, CAN_REALLY_FORK, CAN_THREAD, USE_THREADS, get_tid, my $file = pkg_to_file($package), $string = ipc_separator(), $string = gen_uid(), ($ok, $err) = do_rename($old_name, $new_name), ($ok, $err) = do_unlink($filename), ($ok, $err) = try_sig_mask { ... }, SIGINT, SIGALRM, SIGHUP, SIGTERM, SIGUSR1, SIGUSR2 NOTES && CAVEATS Devel::Cover SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum , Kent Fredric COPYRIGHT Test2::Util::ExternalMeta - Allow third party tools to safely attach meta-data to your instances. DESCRIPTION SYNOPSIS WHERE IS THE DATA STORED? EXPORTS $val = $obj->meta($key), $val = $obj->meta($key, $default), $val = $obj->get_meta($key), $val = $obj->delete_meta($key), $obj->set_meta($key, $val) META-KEY RESTRICTIONS SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Util::Facets2Legacy - Convert facet data to the legacy event API. DESCRIPTION SYNOPSIS AS METHODS AS FUNCTIONS NOTE ON CYCLES EXPORTS $bool = $e->causes_fail(), $bool = causes_fail($f), $bool = $e->diagnostics(), $bool = diagnostics($f), $bool = $e->global(), $bool = global($f), $bool = $e->increments_count(), $bool = increments_count($f), $bool = $e->no_display(), $bool = no_display($f), ($max, $directive, $reason) = $e->sets_plan(), ($max, $directive, $reason) = sets_plan($f), $id = $e->subtest_id(), $id = subtest_id($f), $string = $e->summary(), $string = summary($f), $undef_or_int = $e->terminate(), $undef_or_int = terminate($f), $uuid = $e->uuid(), $uuid = uuid($f) SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Util::HashBase - Build hash based classes. SYNOPSIS DESCRIPTION THIS IS A BUNDLED COPY OF HASHBASE METHODS PROVIDED BY HASH BASE $it = $class->new(%PAIRS), $it = $class->new(\%PAIRS), $it = $class->new(\@ORDERED_VALUES) HOOKS $self->init() ACCESSORS READ/WRITE foo(), set_foo(), FOO() READ ONLY set_foo() DEPRECATED SETTER set_foo() NO SETTER NO READER CONSTANT ONLY SUBCLASSING GETTING A LIST OF ATTRIBUTES FOR A CLASS @list = Test2::Util::HashBase::attr_list($class), @list = $class->Test2::Util::HashBase::attr_list() SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test2::Util::Trace - Legacy wrapper fro Test2::EventFacet::Trace. DESCRIPTION SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test::Builder - Backend for building test libraries SYNOPSIS DESCRIPTION Construction new, create, subtest, name, reset Setting up tests plan, expected_tests, no_plan, done_testing, has_plan, skip_all, exported_to Running tests ok, is_eq, is_num, isnt_eq, isnt_num, like, unlike, cmp_ok Other Testing Methods BAIL_OUT, skip, todo_skip, skip_rest Test building utility methods maybe_regex, is_fh Test style level, use_numbers, no_diag, no_ending, no_header Output diag, note, explain, output, failure_output, todo_output, reset_outputs, carp, croak Test Status and Info no_log_results, current_test, is_passing, summary, details, todo, find_TODO, in_todo, todo_start, "todo_end", caller EXIT CODES THREADS MEMORY EXAMPLES SEE ALSO INTERNALS LEGACY EXTERNAL AUTHORS MAINTAINERS Chad Granum COPYRIGHT Test::Builder::Formatter - Test::Builder subclass of Test2::Formatter::TAP DESCRIPTION SYNOPSIS SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test::Builder::IO::Scalar - A copy of IO::Scalar for Test::Builder DESCRIPTION COPYRIGHT and LICENSE Construction new [ARGS...] open [SCALARREF] opened close Input and output flush getc getline getlines print ARGS.. read BUF, NBYTES, [OFFSET] write BUF, NBYTES, [OFFSET] sysread BUF, LEN, [OFFSET] syswrite BUF, NBYTES, [OFFSET] Seeking/telling and other attributes autoflush binmode clearerr eof seek OFFSET, WHENCE sysseek OFFSET, WHENCE tell use_RS [YESNO] setpos POS getpos sref WARNINGS VERSION AUTHORS Primary Maintainer Principal author Other contributors SEE ALSO Test::Builder::Module - Base class for test modules SYNOPSIS DESCRIPTION Importing Builder SEE ALSO Test::Builder::Tester - test testsuites that have been built with Test::Builder SYNOPSIS DESCRIPTION Functions test_out, test_err test_fail test_diag test_test, title (synonym 'name', 'label'), skip_out, skip_err line_num color BUGS AUTHOR MAINTAINERS Chad Granum NOTES SEE ALSO Test::Builder::Tester::Color - turn on colour in Test::Builder::Tester SYNOPSIS DESCRIPTION AUTHOR BUGS SEE ALSO Test::Builder::TodoDiag - Test::Builder subclass of Test2::Event::Diag DESCRIPTION SYNOPSIS SOURCE MAINTAINERS Chad Granum AUTHORS Chad Granum COPYRIGHT Test::Harness - Run Perl standard test scripts with statistics VERSION SYNOPSIS DESCRIPTION FUNCTIONS runtests( @test_files ) execute_tests( tests => \@test_files, out => \*FH ) EXPORT ENVIRONMENT VARIABLES THAT TAP::HARNESS::COMPATIBLE SETS "HARNESS_ACTIVE", "HARNESS_VERSION" ENVIRONMENT VARIABLES THAT AFFECT TEST::HARNESS "HARNESS_PERL_SWITCHES", "HARNESS_TIMER", "HARNESS_VERBOSE", "HARNESS_OPTIONS", "j", "c", "a", "fPackage-With-Dashes", "HARNESS_SUBCLASS", "HARNESS_SUMMARY_COLOR_SUCCESS", "HARNESS_SUMMARY_COLOR_FAIL" Taint Mode SEE ALSO BUGS AUTHORS LICENCE AND COPYRIGHT Test::More - yet another framework for writing test scripts SYNOPSIS DESCRIPTION I love it when a plan comes together done_testing Test names I'm ok, you're not ok. ok is, isnt like unlike cmp_ok can_ok isa_ok new_ok subtest pass, fail Module tests require_ok use_ok Complex data structures is_deeply Diagnostics diag, note explain Conditional tests SKIP: BLOCK TODO: BLOCK, todo_skip When do I use SKIP vs. TODO? Test control BAIL_OUT Discouraged comparison functions eq_array eq_hash eq_set Extending and Embedding Test::More builder EXIT CODES COMPATIBILITY subtests, done_testing(), cmp_ok(), new_ok() note() and explain() CAVEATS and NOTES utf8 / "Wide character in print", Overloaded objects, Threads HISTORY SEE ALSO ALTERNATIVES ADDITIONAL LIBRARIES OTHER COMPONENTS BUNDLES AUTHORS MAINTAINERS Chad Granum BUGS SOURCE COPYRIGHT Test::Simple - Basic utilities for writing tests. SYNOPSIS DESCRIPTION ok EXAMPLE CAVEATS NOTES HISTORY SEE ALSO Test::More AUTHORS MAINTAINERS Chad Granum COPYRIGHT Test::Tester - Ease testing test modules built with Test::Builder SYNOPSIS DESCRIPTION HOW TO USE (THE EASY WAY) HOW TO USE (THE HARD WAY) TEST RESULTS ok, actual_ok, name, type, reason, diag, depth SPACES AND TABS COLOUR EXPORTED FUNCTIONS HOW IT WORKS CAVEATS SEE ALSO AUTHOR LICENSE Test::Tester::Capture - Help testing test modules built with Test::Builder DESCRIPTION AUTHOR LICENSE Test::Tester::CaptureRunner - Help testing test modules built with Test::Builder DESCRIPTION AUTHOR LICENSE Test::Tutorial - A tutorial about writing really basic tests DESCRIPTION Nuts and bolts of testing. Where to start? Names Test the manual Sometimes the tests are wrong Testing lots of values Informative names Skipping tests Todo tests Testing with taint mode. FOOTNOTES AUTHORS MAINTAINERS Chad Granum COPYRIGHT Test::use::ok - Alternative to Test::More::use_ok SYNOPSIS DESCRIPTION SEE ALSO MAINTAINER Chad Granum CC0 1.0 Universal Text::Abbrev - abbrev - create an abbreviation table from a list SYNOPSIS DESCRIPTION EXAMPLE Text::Balanced - Extract delimited text sequences from strings. SYNOPSIS DESCRIPTION General Behaviour in List Contexts [0], [1], [2] General Behaviour in Scalar and Void Contexts A Note About Prefixes Functions "extract_delimited", "extract_bracketed", "extract_variable", [0], [1], [2], "extract_tagged", "reject => $listref", ignore => $listref, "fail => $str", [0], [1], [2], [3], [4], [5], "gen_extract_tagged", "extract_quotelike", [0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], "extract_quotelike", [0], [1], [2], [3], [4], [5], [6], [7..10], "extract_codeblock", "extract_multiple", "gen_delimited_pat", "delimited_pat" DIAGNOSTICS C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C, C EXPORTS Default Exports, Optional Exports, Export Tags, ":ALL" KNOWN BUGS FEEDBACK AVAILABILITY INSTALLATION AUTHOR COPYRIGHT LICENCE VERSION DATE HISTORY Text::ParseWords - parse text into an array of tokens or array of arrays SYNOPSIS DESCRIPTION true, false, "delimiters" EXAMPLES 0, 1, 2, 3, 4, 5 SEE ALSO AUTHORS COPYRIGHT AND LICENSE Text::Tabs - expand and unexpand tabs like unix expand(1) and unexpand(1) SYNOPSIS DESCRIPTION EXPORTS expand, unexpand, $tabstop EXAMPLE BUGS LICENSE Text::Wrap - line wrapping to form simple paragraphs SYNOPSIS DESCRIPTION OVERRIDES EXAMPLES SEE ALSO AUTHOR LICENSE Thread - Manipulate threads in Perl (for old code only) DEPRECATED HISTORY SYNOPSIS DESCRIPTION FUNCTIONS $thread = Thread->new(\&start_sub), $thread = Thread->new(\&start_sub, LIST), lock VARIABLE, async BLOCK;, Thread->self, Thread->list, cond_wait VARIABLE, cond_signal VARIABLE, cond_broadcast VARIABLE, yield METHODS join, detach, equal, tid, done DEFUNCT lock(\&sub), eval, flags SEE ALSO Thread::Queue - Thread-safe queues VERSION SYNOPSIS DESCRIPTION Ordinary scalars, Array refs, Hash refs, Scalar refs, Objects based on the above QUEUE CREATION ->new(), ->new(LIST) BASIC METHODS ->enqueue(LIST), ->dequeue(), ->dequeue(COUNT), ->dequeue_nb(), ->dequeue_nb(COUNT), ->dequeue_timed(TIMEOUT), ->dequeue_timed(TIMEOUT, COUNT), ->pending(), ->limit, ->end() ADVANCED METHODS ->peek(), ->peek(INDEX), ->insert(INDEX, LIST), ->extract(), ->extract(INDEX), ->extract(INDEX, COUNT) NOTES LIMITATIONS SEE ALSO MAINTAINER LICENSE Thread::Semaphore - Thread-safe semaphores VERSION SYNOPSIS DESCRIPTION METHODS ->new(), ->new(NUMBER), ->down(), ->down(NUMBER), ->down_nb(), ->down_nb(NUMBER), ->down_force(), ->down_force(NUMBER), ->down_timed(TIMEOUT), ->down_timed(TIMEOUT, NUMBER), ->up(), ->up(NUMBER) NOTES SEE ALSO MAINTAINER LICENSE Tie::Array - base class for tied arrays SYNOPSIS DESCRIPTION TIEARRAY classname, LIST, STORE this, index, value, FETCH this, index, FETCHSIZE this, STORESIZE this, count, EXTEND this, count, EXISTS this, key, DELETE this, key, CLEAR this, DESTROY this, PUSH this, LIST, POP this, SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST CAVEATS AUTHOR Tie::File - Access the lines of a disk file via a Perl array SYNOPSIS DESCRIPTION "recsep" "autochomp" "mode" "memory" "dw_size" Option Format Public Methods "flock" "autochomp" "defer", "flush", "discard", and "autodefer" "offset" Tying to an already-opened filehandle Deferred Writing Autodeferring CONCURRENT ACCESS TO FILES CAVEATS SUBCLASSING WHAT ABOUT "DB_File"? AUTHOR LICENSE WARRANTY THANKS TODO Tie::Handle - base class definitions for tied handles SYNOPSIS DESCRIPTION TIEHANDLE classname, LIST, WRITE this, scalar, length, offset, PRINT this, LIST, PRINTF this, format, LIST, READ this, scalar, length, offset, READLINE this, GETC this, CLOSE this, OPEN this, filename, BINMODE this, EOF this, TELL this, SEEK this, offset, whence, DESTROY this MORE INFORMATION COMPATIBILITY Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for tied hashes SYNOPSIS DESCRIPTION TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this, SCALAR this Inheriting from Tie::StdHash Inheriting from Tie::ExtraHash "SCALAR", "UNTIE" and "DESTROY" MORE INFORMATION Tie::Hash::NamedCapture - Named regexp capture buffers SYNOPSIS DESCRIPTION SEE ALSO Tie::Memoize - add data to hash when needed SYNOPSIS DESCRIPTION Inheriting from Tie::Memoize EXAMPLE BUGS AUTHOR Tie::RefHash - Use references as hash keys VERSION SYNOPSIS DESCRIPTION EXAMPLE THREAD SUPPORT STORABLE SUPPORT SEE ALSO SUPPORT AUTHORS CONTRIBUTORS COPYRIGHT AND LICENCE Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars SYNOPSIS DESCRIPTION TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this Tie::Scalar vs Tie::StdScalar MORE INFORMATION Tie::StdHandle - base class definitions for tied handles SYNOPSIS DESCRIPTION Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing SYNOPSIS DESCRIPTION CAVEATS Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers SYNOPSIS DESCRIPTION gettimeofday (), usleep ( $useconds ), nanosleep ( $nanoseconds ), ualarm ( $useconds [, $interval_useconds ] ), tv_interval, time (), sleep ( $floating_seconds ), alarm ( $floating_seconds [, $interval_floating_seconds ] ), setitimer ( $which, $floating_seconds [, $interval_floating_seconds ] ), getitimer ( $which ), clock_gettime ( $which ), clock_getres ( $which ), clock_nanosleep ( $which, $nanoseconds, $flags = 0), clock(), stat, stat FH, stat EXPR, lstat, lstat FH, lstat EXPR, utime LIST EXAMPLES C API DIAGNOSTICS useconds or interval more than ... negative time not invented yet internal error: useconds < 0 (unsigned ... signed ...) useconds or uinterval equal to or more than 1000000 unimplemented in this platform CAVEATS SEE ALSO AUTHORS COPYRIGHT AND LICENSE Time::Local - Efficiently compute time from local and GMT time VERSION SYNOPSIS DESCRIPTION FUNCTIONS timelocal_posix() and timegm_posix() timelocal_modern() and timegm_modern() timelocal() and timegm() timelocal_nocheck() and timegm_nocheck() Year Value Interpretation Limits of time_t Ambiguous Local Times (DST) Non-Existent Local Times (DST) Negative Epoch Values IMPLEMENTATION AUTHORS EMERITUS BUGS SOURCE AUTHOR CONTRIBUTORS COPYRIGHT AND LICENSE Time::Piece - Object Oriented time objects SYNOPSIS DESCRIPTION USAGE Local Locales Date Calculations Truncation Date Comparisons Date Parsing YYYY-MM-DDThh:mm:ss Week Number Global Overriding CAVEATS Setting $ENV{TZ} in Threads on Win32 Use of epoch seconds AUTHOR COPYRIGHT AND LICENSE SEE ALSO BUGS Time::Seconds - a simple API to convert seconds to other date values SYNOPSIS DESCRIPTION METHODS AUTHOR COPYRIGHT AND LICENSE Bugs Time::gmtime - by-name interface to Perl's built-in gmtime() function SYNOPSIS DESCRIPTION NOTE AUTHOR Time::localtime - by-name interface to Perl's built-in localtime() function SYNOPSIS DESCRIPTION NOTE AUTHOR Time::tm - internal object used by Time::gmtime and Time::localtime SYNOPSIS DESCRIPTION AUTHOR UNIVERSAL - base class for ALL classes (blessed references) SYNOPSIS DESCRIPTION "$obj->isa( TYPE )", "CLASS->isa( TYPE )", "eval { VAL->isa( TYPE ) }", "TYPE", $obj, "CLASS", "VAL", "$obj->DOES( ROLE )", "CLASS->DOES( ROLE )", "$obj->can( METHOD )", "CLASS->can( METHOD )", "eval { VAL->can( METHOD ) }", "VERSION ( [ REQUIRE ] )" WARNINGS EXPORTS Unicode::Collate - Unicode Collation Algorithm SYNOPSIS DESCRIPTION Constructor and Tailoring UCA_Version, alternate, backwards, entry, hangul_terminator, highestFFFF, identical, ignoreChar, ignoreName, ignore_level2, katakana_before_hiragana, level, long_contraction, minimalFFFE, normalization, overrideCJK, overrideHangul, overrideOut, preprocess, rearrange, rewrite, suppress, table, undefChar, undefName, upper_before_lower, variable Methods for Collation "@sorted = $Collator->sort(@not_sorted)", "$result = $Collator->cmp($a, $b)", "$result = $Collator->eq($a, $b)", "$result = $Collator->ne($a, $b)", "$result = $Collator->lt($a, $b)", "$result = $Collator->le($a, $b)", "$result = $Collator->gt($a, $b)", "$result = $Collator->ge($a, $b)", "$sortKey = $Collator->getSortKey($string)", "$sortKeyForm = $Collator->viewSortKey($string)" Methods for Searching "$position = $Collator->index($string, $substring[, $position])", "($position, $length) = $Collator->index($string, $substring[, $position])", "$match_ref = $Collator->match($string, $substring)", "($match) = $Collator->match($string, $substring)", "@match = $Collator->gmatch($string, $substring)", "$count = $Collator->subst($string, $substring, $replacement)", "$count = $Collator->gsubst($string, $substring, $replacement)" Other Methods "%old_tailoring = $Collator->change(%new_tailoring)", "$modified_collator = $Collator->change(%new_tailoring)", "$version = $Collator->version()", UCA_Version(), Base_Unicode_Version() EXPORT INSTALL CAVEATS Normalization, Conformance Test AUTHOR, COPYRIGHT AND LICENSE SEE ALSO Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), The conformance test for the UCA, Hangul Syllable Type, Unicode Normalization Forms - UAX #15, Unicode Locale Data Markup Language (LDML) - UTS #35 Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs for Unicode::Collate SYNOPSIS DESCRIPTION SEE ALSO CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs for Unicode::Collate SYNOPSIS DESCRIPTION CAVEAT SEE ALSO CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for Unicode::Collate SYNOPSIS DESCRIPTION SEE ALSO Unicode::Collate, Unicode::Collate::Locale Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs for Unicode::Collate SYNOPSIS DESCRIPTION SEE ALSO CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs for Unicode::Collate SYNOPSIS DESCRIPTION CAVEAT SEE ALSO CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs for Unicode::Collate SYNOPSIS DESCRIPTION CAVEAT SEE ALSO CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale Unicode::Collate::CJK::Zhuyin - weighting CJK Unified Ideographs for Unicode::Collate SYNOPSIS DESCRIPTION CAVEAT SEE ALSO CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup Language (LDML) - UTS #35, Unicode::Collate, Unicode::Collate::Locale Unicode::Collate::Locale - Linguistic tailoring for DUCET via Unicode::Collate SYNOPSIS DESCRIPTION Constructor Methods "$Collator->getlocale", "$Collator->locale_version" A list of tailorable locales A list of variant codes and their aliases INSTALL CAVEAT Tailoring is not maximum, Collation reordering is not supported Reference AUTHOR SEE ALSO Unicode Collation Algorithm - UTS #10, The Default Unicode Collation Element Table (DUCET), Unicode Locale Data Markup Language (LDML) - UTS #35, CLDR - Unicode Common Locale Data Repository, Unicode::Collate, Unicode::Normalize Unicode::Normalize - Unicode Normalization Forms SYNOPSIS DESCRIPTION Normalization Forms "$NFD_string = NFD($string)", "$NFC_string = NFC($string)", "$NFKD_string = NFKD($string)", "$NFKC_string = NFKC($string)", "$FCD_string = FCD($string)", "$FCC_string = FCC($string)", "$normalized_string = normalize($form_name, $string)" Decomposition and Composition "$decomposed_string = decompose($string [, $useCompatMapping])", "$reordered_string = reorder($string)", $composed_string = compose($string), ($processed, $unprocessed) = splitOnLastStarter($normalized), "$processed = normalize_partial($form, $unprocessed)", "$processed = NFD_partial($unprocessed)", $processed = NFC_partial($unprocessed), "$processed = NFKD_partial($unprocessed)", "$processed = NFKC_partial($unprocessed)" Quick Check "$result = checkNFD($string)", "$result = checkNFC($string)", $result = checkNFKD($string), "$result = checkNFKC($string)", $result = checkFCD($string), "$result = checkFCC($string)", "$result = check($form_name, $string)" Character Data "$canonical_decomposition = getCanon($code_point)", "$compatibility_decomposition = getCompat($code_point)", "$code_point_composite = getComposite($code_point_here, $code_point_next)", "$combining_class = getCombinClass($code_point)", "$may_be_composed_with_prev_char = isComp2nd($code_point)", "$is_exclusion = isExclusion($code_point)", $is_singleton = isSingleton($code_point), $is_non_starter_decomposition = isNonStDecomp($code_point), $is_Full_Composition_Exclusion = isComp_Ex($code_point), "$NFD_is_NO = isNFD_NO($code_point)", "$NFC_is_NO = isNFC_NO($code_point)", $NFC_is_MAYBE = isNFC_MAYBE($code_point), "$NFKD_is_NO = isNFKD_NO($code_point)", "$NFKC_is_NO = isNFKC_NO($code_point)", $NFKC_is_MAYBE = isNFKC_MAYBE($code_point) EXPORT CAVEATS Perl's version vs. Unicode version, Correction of decomposition mapping, Revised definition of canonical composition AUTHOR LICENSE SEE ALSO , , , , , Unicode::UCD - Unicode character database SYNOPSIS DESCRIPTION code point argument charinfo() code, name, category, combining, bidi, decomposition, decimal, digit, numeric, mirrored, unicode10, comment, upper, lower, title, block, script charprop() Block, Decomposition_Mapping, Name_Alias, Numeric_Value, Script_Extensions charprops_all() charblock() charscript() charblocks() charscripts() charinrange() general_categories() bidi_types() compexcl() casefold() code, full, simple, mapping, status, * If you use this "I" mapping, * If you exclude this "I" mapping, turkic all_casefolds() casespec() code, lower, title, upper, condition namedseq() num() prop_aliases() prop_values() prop_value_aliases() prop_invlist() prop_invmap() "s", "sl", "correction", "control", "alternate", "figment", "abbreviation", "a", "al", "ae", "ale", "ar", "n", "ad" search_invlist() Unicode::UCD::UnicodeVersion Blocks versus Scripts Matching Scripts and Blocks Old-style versus new-style block names Use with older Unicode versions AUTHOR User::grent - by-name interface to Perl's built-in getgr*() functions SYNOPSIS DESCRIPTION NOTE AUTHOR User::pwent - by-name interface to Perl's built-in getpw*() functions SYNOPSIS DESCRIPTION System Specifics NOTE AUTHOR HISTORY March 18th, 2000 XSLoader - Dynamically load C libraries into Perl code VERSION SYNOPSIS DESCRIPTION Migration from "DynaLoader" Backward compatible boilerplate Order of initialization: early load() The most hairy case DIAGNOSTICS "Can't find '%s' symbol in %s", "Can't load '%s' for module %s: %s", "Undefined symbols present after loading %s: %s" LIMITATIONS KNOWN BUGS BUGS SEE ALSO AUTHORS COPYRIGHT & LICENSE AUXILIARY DOCUMENTATION Here should be listed all the extra programs' documentation, but they don't all have manual pages yet: h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp AUTHOR Larry Wall , with the help of oodles of other folks. perl v5.38.2 2024-02-11 PERLTOC(1perl)