PERLTOC(1) | Perl Programmers Reference Guide | PERLTOC(1) |
NAME¶
perltoc - perl documentation table of contents
DESCRIPTION¶
This page provides a brief table of contents for the rest of the Perl documentation set. It is meant to be scanned quickly or grepped through to locate the proper section you're looking for.
BASIC DOCUMENTATION¶
perl - The Perl 5 language interpreter¶
- 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 , -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 , :win32 , PERLIO_DEBUG , PERLLIB , PERL5DB , PERL5DB_THREADED , PERL5SHELL (specific to the Win32 port) , PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port) , PERL_DEBUG_MSTATS , PERL_DESTRUCT_LEVEL , PERL_DL_NONLAZY , PERL_ENCODING , PERL_HASH_SEED , PERL_PERTURB_KEYS , PERL_HASH_SEED_DEBUG , PERL_MEM_LOG , PERL_ROOT (specific to the VMS port) , PERL_SIGNALS , PERL_UNICODE , PERL_USE_UNSAFE_INC , SYS$LOGIN (specific to the VMS port) , PERL_INTERNAL_RAND_SEED
- ORDER OF APPLICATION
- -I, -M, the PERL5LIB environment variable, combinations of -I, -M and PERL5LIB, the PERL5OPT environment variable, Other complications, arch and version subdirs, sitecustomize.pl
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
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 strict"
- DEBUGGING
- CODE EXAMPLES
- ARRAYS OF ARRAYS
- Database Ties
- SEE ALSO
- AUTHOR
perllol - Manipulating Arrays of Arrays in Perl¶
- DESCRIPTION
- SEE ALSO
- AUTHOR
perlrequick - Perl regular expressions quick start¶
- DESCRIPTION
- The Guide
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
- 0. Start with the first letter in the string 'a',
1. Try the first alternative in the first group
'abd', 2. Match 'a'
followed by 'b'. So far so good, 3.
'd' in the regexp doesn't match
'c' in the string - a dead end. So backtrack two
characters and pick the second alternative in the first group
'abc', 4. Match 'a'
followed by 'b' followed by
'c'. We are on a roll and have satisfied the first
group. Set $1 to 'abc', 5
Move on to the second group and pick the first alternative
'df', 6 Match the 'd', 7.
'f' in the regexp doesn't match
'e' in the string, so a dead end. Backtrack one
character and pick the second alternative in the second group
'd', 8.
'd' matches. The second grouping is satisfied, so set $2 to 'd', 9. We are at the end of the regexp, so we are done! We have matched 'abcd' out of the string "abcde" - Extracting matches
- Backreferences
- Relative backreferences
- Named backreferences
- Alternative capture group numbering
- Position information
- Non-capturing groupings
- Matching repetitions
- 0. Start with the first letter in the string 't', 1. The first quantifier '.*' starts out by matching the whole string ""the cat in the hat"", 2. 'a' in the regexp element 'at' doesn't match the end of the string. Backtrack one character, 3. 'a' in the regexp element 'at' still doesn't match the last letter of the string 't', so backtrack one more character, 4. Now we can match the 'a' and the 't', 5. Move on to the third element '.*'. Since we are at the end of the string and '.*' can match 0 times, assign it the empty string, 6. We are done!
- Possessive quantifiers
- Building a regexp
- Using regular expressions in Perl
- 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
perlootut - Object-Oriented Programming in Perl Tutorial¶
- DATE
- DESCRIPTION
- OBJECT-ORIENTED FUNDAMENTALS
- 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
perlperf - Perl Performance and Optimization Techniques¶
- DESCRIPTION
- OVERVIEW
- AUTHOR
perlstyle - Perl style guide¶
- DESCRIPTION
perlcheat - Perl 5 Cheat Sheet¶
- DESCRIPTION
- ACKNOWLEDGEMENTS
- AUTHOR
- SEE ALSO
perltrap - Perl traps for the unwary¶
- DESCRIPTION
perldebtut - Perl debugging tutorial¶
perlfaq - Frequently asked questions about Perl¶
- VERSION
- DESCRIPTION
- TABLE OF CONTENTS
- perlfaq1 - General Questions About Perl, perlfaq2 - Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 - Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System Interaction, perlfaq9 - Web, Email and Networking
- THE QUESTIONS
- perlfaq1: General Questions About Perl
- perlfaq2: Obtaining and Learning about Perl
- perlfaq3: Programming Tools
- perlfaq4: Data Manipulation
- perlfaq5: Files and Formats
- perlfaq6: Regular Expressions
- perlfaq7: General Perl Language Issues
- perlfaq8: System Interaction
- perlfaq9: Web, Email and Networking
- CREDITS
- AUTHOR AND COPYRIGHT
perlfaq1 - General Questions About Perl¶
- VERSION
- DESCRIPTION
- What is Perl?
- Who supports Perl? Who develops it? Why is it free?
- Which version of Perl should I use?
- What are Perl 4, Perl 5, or Raku (Perl 6)?
- What is Raku (Perl 6)?
- How stable is Perl?
- How often are new versions of Perl released?
- Is Perl difficult to learn?
- How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
- Can I do [task] in Perl?
- When shouldn't I program in Perl?
- What's the difference between "perl" and "Perl"?
- What is a JAPH?
- How can I convince others to use Perl?
- <http://www.perl.org/about.html>, <http://perltraining.com.au/whyperl.html>
- AUTHOR AND COPYRIGHT
perlfaq2 - Obtaining and Learning about Perl¶
- VERSION
- DESCRIPTION
- What machines support Perl? Where do I get it?
- How can I get a binary version of Perl?
- I don't have a C compiler. How can I build my own Perl interpreter?
- I copied the Perl binary from one machine to another, but scripts don't work.
- I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
- What modules and extensions are available for Perl? What is CPAN?
- Where can I get information on Perl?
- <http://www.perl.org/>, <http://perldoc.perl.org/>, <http://learn.perl.org/>
- What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
- <http://www.perl.org/>, <http://learn.perl.org/>, <http://jobs.perl.org/>, <http://lists.perl.org/>
- Where can I post questions?
- Perl Books
- Which magazines have Perl content?
- Which Perl blogs should I read?
- What mailing lists are there for Perl?
- Where can I buy a commercial version of Perl?
- Where do I send bug reports?
- AUTHOR AND COPYRIGHT
perlfaq3 - Programming Tools¶
- VERSION
- DESCRIPTION
- How do I do (anything)?
- Basics, perldata - Perl data types, perlvar - Perl pre-defined variables, perlsyn - Perl syntax, perlop - Perl operators and precedence, perlsub - Perl subroutines, Execution, perlrun - how to execute the Perl interpreter, perldebug - Perl debugging, Functions, perlfunc - Perl builtin functions, Objects, perlref - Perl references and nested data structures, perlmod - Perl modules (packages and symbol tables), perlobj - Perl objects, perltie - how to hide an object class in a simple variable, Data Structures, perlref - Perl references and nested data structures, perllol - Manipulating arrays of arrays in Perl, perldsc - Perl Data Structures Cookbook, Modules, perlmod - Perl modules (packages and symbol tables), perlmodlib - constructing new Perl modules and finding existing ones, Regexes, perlre - Perl regular expressions, perlfunc - Perl builtin functions>, perlop - Perl operators and precedence, perllocale - Perl locale handling (internationalization and localization), Moving to perl5, perltrap - Perl traps for the unwary, perl, Linking with C, perlxstut - Tutorial for writing XSUBs, perlxs - XS language reference manual, perlcall - Perl calling conventions from C, perlguts - Introduction to the Perl API, perlembed - how to embed perl in your C program, Various
- How can I use Perl interactively?
- How do I find which modules are installed on my system?
- How do I debug my Perl programs?
- How do I profile my Perl programs?
- How do I cross-reference my Perl programs?
- Is there a pretty-printer (formatter) for Perl?
- Is there an IDE or Windows Perl Editor?
- Eclipse, Enginsite, IntelliJ IDEA, Kephra, Komodo, Notepad++, Open Perl IDE, OptiPerl, Padre, PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs, Jed, Vim, Vile, MultiEdit, SlickEdit, ConTEXT, bash, zsh, BBEdit and TextWrangler
- Where can I get Perl macros for vi?
- Where can I get perl-mode or cperl-mode for emacs?
- How can I use curses with Perl?
- How can I write a GUI (X, Tk, Gtk, etc.) in Perl?
- Tk, Wx, Gtk and Gtk2, Win32::GUI, CamelBones, Qt, Athena
- How can I make my Perl program run faster?
- How can I make my Perl program take less memory?
- Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk
- Is it safe to return a reference to local or lexical data?
- How can I free an array or hash so my program shrinks?
- How can I make my CGI script more efficient?
- How can I hide the source for my Perl program?
- How can I compile my Perl program into byte code or C?
- How can I get "#!perl" to work on [MS-DOS,NT,...]?
- Can I write useful Perl programs on the command line?
- Why don't Perl one-liners work on my DOS/Mac/VMS system?
- Where can I learn about CGI or Web programming in Perl?
- Where can I learn about object-oriented Perl programming?
- Where can I learn about linking C with Perl?
- I've read perlembed, perlguts, etc., but I can't embed perl in my C program; what am I doing wrong?
- When I tried to run my script, I got this message. What does it mean?
- What's MakeMaker?
- AUTHOR AND COPYRIGHT
perlfaq4 - Data Manipulation¶
- VERSION
- DESCRIPTION
- Data: Numbers
- Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?
- Why is int() broken?
- Why isn't my octal data interpreted correctly?
- Does Perl have a round() function? What about ceil() and floor()? Trig functions?
- How do I convert between numeric representations/bases/radixes?
- How do I convert hexadecimal into decimal, How do I convert from decimal to hexadecimal, How do I convert from octal to decimal, How do I convert from decimal to octal, How do I convert from binary to decimal, How do I convert from decimal to binary
- Why doesn't & work the way I want it to?
- How do I multiply matrices?
- How do I perform an operation on a series of integers?
- How can I output Roman numerals?
- Why aren't my random numbers random?
- How do I get a random number between X and Y?
- 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?
- How do I validate input?
- How do I unescape a string?
- How do I remove consecutive pairs of characters?
- How do I expand function calls in a string?
- How do I find matching/nesting anything?
- How do I reverse a string?
- How do I expand tabs in a string?
- How do I reformat a paragraph?
- How can I access or change N characters of a string?
- How do I change the Nth occurrence of something?
- How can I count the number of occurrences of a substring within a string?
- How do I capitalize all the words on one line?
- How can I split a [character]-delimited string except when inside [character]?
- How do I strip blank space from the beginning/end of a string?
- How do I pad a string with blanks or pad a number with zeroes?
- How do I extract selected columns from a string?
- How do I find the soundex value of a string?
- How can I expand variables in text strings?
- Does Perl have anything like Ruby's #{} or Python's f string?
- What's wrong with always quoting "$vars"?
- Why don't my <<HERE documents work?
- There must be no space after the << part, There (probably) should be a semicolon at the end of the opening token, You can't (easily) have any space in front of the tag, There needs to be at least a line separator after the end token
- What is the difference between a list and an array?
- What is the difference between $array[1] and @array[1]?
- How can I remove duplicate elements from a list or array?
- How can I tell whether a certain element is contained in a list or array?
- How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
- How do I test whether two arrays or hashes are equal?
- How do I find the first array element for which a condition is true?
- How do I handle linked lists?
- How do I handle circular lists?
- How do I shuffle an array randomly?
- How do I process/modify each element of an array?
- How do I select a random element from an array?
- How do I permute N elements of a list?
- How do I sort an array by (anything)?
- How do I manipulate arrays of bits?
- Why does defined() return true on empty arrays and hashes?
- How do I process an entire hash?
- How do I merge two hashes?
- What happens if I add or remove keys from a hash while iterating over it?
- How do I look up a hash element by value?
- How can I know how many entries are in a hash?
- How do I sort a hash (optionally by value instead of key)?
- How can I always keep my hash sorted?
- What's the difference between "delete" and "undef" with hashes?
- Why don't my tied hashes make the defined/exists distinction?
- How do I reset an each() operation part-way through?
- How can I get the unique keys from two hashes?
- How can I store a multidimensional array in a DBM file?
- How can I make my hash remember the order I put elements into it?
- Why does passing a subroutine an undefined element in a hash create it?
- How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
- How can I use a reference as a hash key?
- How can I check if a key exists in a multilevel hash?
- How can I prevent addition of unwanted keys into a hash?
- How do I handle binary data correctly?
- How do I determine whether a scalar is a number/whole/integer/float?
- How do I keep persistent data across program calls?
- How do I print out or copy a recursive data structure?
- How do I define methods for every class/object?
- How do I verify a credit card checksum?
- How do I pack arrays of doubles or floats for XS code?
- AUTHOR AND COPYRIGHT
perlfaq5 - Files and Formats¶
- VERSION
- DESCRIPTION
- How do I flush/unbuffer an output filehandle? Why must I do this?
- How do I change, delete, or insert a line in a file, or append to the beginning of a file?
- How do I count the number of lines in a file?
- How do I delete the last N lines from a file?
- How can I use Perl's "-i" option from within a program?
- How can I copy a file?
- How do I make a temporary file name?
- How can I manipulate fixed-record-length files?
- How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?
- How can I use a filehandle indirectly?
- How can I open a filehandle to a string?
- How can I set up a footer format to be used with write()?
- How can I write() into a string?
- How can I output my numbers with commas added?
- How can I translate tildes (~) in a filename?
- How come when I open a file read-write it wipes it out?
- Why do I sometimes get an "Argument list too long" when I use <*>?
- How can I open a file named with a leading ">" or trailing blanks?
- How can I reliably rename a file?
- How can I lock a file?
- Why can't I just open(FH, ">file.lock")?
- I still don't get locking. I just want to increment the number in the file. How can I do this?
- All I want to do is append a small amount of text to the end of a file. Do I still have to use locking?
- How do I randomly update a binary file?
- How do I get a file's timestamp in perl?
- How do I set a file's timestamp in perl?
- How do I print to more than one file at once?
- How can I read in an entire file all at once?
- How can I read in a file by paragraphs?
- How can I read a single character from a file? From the keyboard?
- How can I tell whether there's a character waiting on a filehandle?
- How do I do a "tail -f" in perl?
- How do I dup() a filehandle in Perl?
- How do I close a file descriptor by number?
- Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?
- Why doesn't glob("*.*") get all the files?
- Why does Perl let me delete read-only files? Why does "-i" clobber protected files? Isn't this a bug in Perl?
- How do I select a random line from a file?
- Why do I get weird spaces when I print an array of lines?
- How do I traverse a directory tree?
- How do I delete a directory tree?
- How do I copy an entire directory?
- AUTHOR AND COPYRIGHT
perlfaq6 - Regular Expressions¶
- VERSION
- DESCRIPTION
- How can I hope to use regular expressions without creating illegible and unmaintainable code?
- Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
- I'm having trouble matching over more than one line. What's wrong?
- How can I pull out lines between two patterns that are themselves on different lines?
- How do I match XML, HTML, or other nasty, ugly things with a regex?
- I put a regular expression into $/ but it didn't work. What's wrong?
- How do I substitute case-insensitively on the LHS while preserving case on the RHS?
- How can I make "\w" match national character sets?
- How can I match a locale-smart version of "/[a-zA-Z]/"?
- How can I quote a variable to use in a regex?
- What is "/o" really for?
- How do I use a regular expression to strip C-style comments from a file?
- Can I use Perl regular expressions to match balanced text?
- What does it mean that regexes are greedy? How can I get around it?
- How do I process each word on each line?
- How can I print out a word-frequency or line-frequency summary?
- How can I do approximate matching?
- How do I efficiently match many regular expressions at once?
- Why don't word-boundary searches with "\b" work for me?
- Why does using $&, $`, or $' slow my program down?
- What good is "\G" in a regular expression?
- Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
- What's wrong with using grep in a void context?
- How can I match strings with multibyte characters?
- How do I match a regular expression that's in a variable?
- AUTHOR AND COPYRIGHT
perlfaq7 - General Perl Language Issues¶
- VERSION
- DESCRIPTION
- Can I get a BNF/yacc/RE for the Perl language?
- What are all these $@%&* punctuation signs, and how do I know when to use them?
- Do I always/never have to quote my strings or use semicolons and commas?
- How do I skip some return values?
- How do I temporarily block warnings?
- What's an extension?
- Why do Perl operators have different precedence than C operators?
- How do I declare/create a structure?
- How do I create a module?
- How do I adopt or take over a module already on CPAN?
- How do I create a class?
- How can I tell if a variable is tainted?
- What's a closure?
- What is variable suicide and how can I prevent it?
- How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}?
- Passing Variables and Functions, Passing Filehandles, Passing Regexes, Passing Methods
- How do I create a static variable?
- What's the difference between dynamic and lexical (static) scoping? Between local() and my()?
- How can I access a dynamic variable while a similarly named lexical is in scope?
- What's the difference between deep and shallow binding?
- Why doesn't "my($foo) = <$fh>;" work right?
- How do I redefine a builtin function, operator, or method?
- What's the difference between calling a function as &foo and foo()?
- How do I create a switch or case statement?
- How can I catch accesses to undefined variables, functions, or methods?
- Why can't a method included in this same file be found?
- How can I find out my current or calling package?
- How can I comment out a large block of Perl code?
- How do I clear a package?
- How can I use a variable as a variable name?
- What does "bad interpreter" mean?
- Do I need to recompile XS modules when there is a change in the C library?
- AUTHOR AND COPYRIGHT
perlfaq8 - System Interaction¶
- VERSION
- DESCRIPTION
- How do I find out which operating system I'm running under?
- How come exec() doesn't return?
- How do I do fancy stuff with the keyboard/screen/mouse?
- Keyboard, Screen, Mouse
- How do I print something out in color?
- How do I read just one key without waiting for a return key?
- How do I check whether input is ready on the keyboard?
- How do I clear the screen?
- How do I get the screen size?
- How do I ask the user for a password?
- How do I read and write the serial port?
- lockfiles, open mode, end of line, flushing output, non-blocking input
- How do I decode encrypted password files?
- How do I start a process in the background?
- STDIN, STDOUT, and STDERR are shared, Signals, Zombies
- How do I trap control characters/signals?
- How do I modify the shadow password file on a Unix system?
- How do I set the time and date?
- How can I sleep() or alarm() for under a second?
- How can I measure time under a second?
- How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
- Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?
- How can I call my system's unique C functions from Perl?
- Where do I get the include files to do ioctl() or syscall()?
- Why do setuid perl scripts complain about kernel problems?
- How can I open a pipe both to and from a command?
- Why can't I get the output of a command with system()?
- How can I capture STDERR from an external command?
- Why doesn't open() return an error when a pipe open fails?
- What's wrong with using backticks in a void context?
- How can I call backticks without shell processing?
- Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?
- How can I convert my shell script to perl?
- Can I use perl to run a telnet or ftp session?
- How can I write expect in Perl?
- Is there a way to hide perl's command line from programs such as "ps"?
- I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible?
- Unix
- How do I close a process's filehandle without waiting for it to complete?
- How do I fork a daemon process?
- How do I find out if I'm running interactively or not?
- How do I timeout a slow event?
- How do I set CPU limits?
- How do I avoid zombies on a Unix system?
- How do I use an SQL database?
- How do I make a system() exit on control-C?
- How do I open a file without blocking?
- How do I tell the difference between errors from the shell and perl?
- How do I install a module from CPAN?
- What's the difference between require and use?
- How do I keep my own module/library directory?
- How do I add the directory my program lives in to the module/library search path?
- How do I add a directory to my include path (@INC) at runtime?
- the "PERLLIB" environment variable, the "PERL5LIB" environment variable, the "perl -Idir" command line flag, the "lib" pragma:, the local::lib module:
- Where are modules installed?
- What is socket.ph and where do I get it?
- AUTHOR AND COPYRIGHT
perlfaq9 - Web, Email and Networking¶
- VERSION
- DESCRIPTION
- Should I use a web framework?
- Which web framework should I use?
- Catalyst, Dancer2, Mojolicious, Web::Simple
- What is Plack and PSGI?
- How do I remove HTML from a string?
- How do I extract URLs?
- How do I fetch an HTML file?
- How do I automate an HTML form submission?
- How do I decode or create those %-encodings on the web?
- How do I redirect to another page?
- How do I put a password on my web pages?
- How do I make sure users can't enter values into a form that causes my CGI script to do bad things?
- How do I parse a mail header?
- How do I check a valid mail address?
- How do I decode a MIME/BASE64 string?
- How do I find the user's mail address?
- How do I send email?
- Email::Sender::Transport::Sendmail, Email::Sender::Transport::SMTP
- How do I use MIME to make an attachment to a mail message?
- How do I read email?
- How do I find out my hostname, domainname, or IP address?
- How do I fetch/put an (S)FTP file?
- How can I do RPC in Perl?
- AUTHOR AND COPYRIGHT
perlsyn - Perl syntax¶
- DESCRIPTION
- Declarations
- Comments
- Simple Statements
- Statement Modifiers
- Compound Statements
- Loop Control
- For Loops
- Foreach Loops
- Try Catch Exception Handling
- Basic BLOCKs
- 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
perlop - Perl operators and precedence¶
- DESCRIPTION
- Operator Precedence and Associativity
- Terms and List Operators (Leftward)
- The Arrow Operator
- Auto-increment and Auto-decrement
- Exponentiation
- Symbolic Unary Operators
- Binding Operators
- Multiplicative Operators
- Additive Operators
- Shift Operators
- Named Unary Operators
- Relational Operators
- Equality Operators
- Class Instance Operator
- Smartmatch Operator
- 1. Empty hashes or arrays match, 2. That is, each element smartmatches the element of the same index in the other array.[3], 3. If a circular reference is found, fall back to referential equality, 4. Either an actual number, or a string that looks like one
- Bitwise And
- Bitwise Or and Exclusive Or
- C-style Logical And
- C-style Logical Or
- Logical Defined-Or
- Range Operators
- Conditional Operator
- Assignment Operators
- Comma Operator
- List Operators (Rightward)
- Logical Not
- Logical And
- Logical or and Exclusive Or
- C Operators Missing From Perl
- unary &, unary *, (TYPE)
- Quote and Quote-like Operators
- [1], [2], [3], [4], [5], [6], [7], [8]
- Regexp Quote-Like Operators
- "qr/STRING/msixpodualn"
,
"m/PATTERN/msixpodualngc"
, "/PATTERN/msixpodualngc", The empty pattern "//", Matching in list context, "\G assertion", "m?PATTERN?msixpodualngc"
, "s/PATTERN/REPLACEMENT/msixpodualngcer" - Quote-Like Operators
- "q/STRING/"
,
'STRING',
"qq/STRING/"
,
"STRING",
"qx/STRING/"
,
"`STRING`",
"qw/STRING/"
,
"tr/SEARCHLIST/REPLACEMENTLIST/cdsr"
, "y/SEARCHLIST/REPLACEMENTLIST/cdsr", "<<EOF" , Double Quotes, Single Quotes, Backticks, Indented Here-docs - Gory details of parsing quoted constructs
- Finding the end, Interpolation , "<<'EOF'", "m''", the pattern of "s'''", '', "q//", "tr'''", "y'''", the replacement of "s'''", "tr///", "y///", "", "``", "qq//", "qx//", "<file*glob>", "<<"EOF"", the replacement of "s///", "RE" in "m?RE?", "/RE/", "m/RE/", "s/RE/foo/",, parsing regular expressions , Optimization of regular expressions
- I/O Operators
- Constant Folding
- No-ops
- Bitwise String Operators
- Integer Arithmetic
- Floating-point Arithmetic
- Bigger Numbers
perlsub - Perl subroutines¶
- SYNOPSIS
- DESCRIPTION
- documented later in this document, documented in perlmod, documented in perlobj, documented in perltie, documented in PerlIO::via, documented in perlfunc, documented in UNIVERSAL, documented in perldebguts, undocumented, used internally by the overload feature
- Signatures
- Private Variables via my()
- Persistent Private Variables
- Temporary Values via local()
- Lvalue subroutines
- Lexical Subroutines
- Passing Symbol Table Entries (typeglobs)
- When to Still Use local()
- Pass by Reference
- Prototypes
- Constant Functions
- Overriding Built-in Functions
- Autoloading
- Subroutine Attributes
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, break, caller EXPR , caller, chdir EXPR , chdir FILEHANDLE, chdir DIRHANDLE, chdir, chmod LIST , chomp VARIABLE , chomp( LIST ), chomp, chop VARIABLE , chop( LIST ), chop, chown LIST
, chr NUMBER , chr, chroot FILENAME , chroot, close FILEHANDLE , close, closedir DIRHANDLE , connect SOCKET,NAME , continue BLOCK , continue, cos EXPR
, cos, crypt PLAINTEXT,SALT
, dbmclose HASH , dbmopen HASH,DBNAME,MASK , defined EXPR
, defined, delete EXPR , die LIST
, do BLOCK , do EXPR , dump LABEL , dump EXPR, dump, each HASH , each ARRAY , eof FILEHANDLE , eof (), eof, eval EXPR, eval BLOCK, eval, String eval, Under the "unicode_eval" feature, Outside the "unicode_eval" feature, Block eval, evalbytes EXPR , evalbytes, exec LIST , exec PROGRAM LIST, exists EXPR , exit EXPR
, exit, exp EXPR
, exp, fc EXPR
, fc, fcntl FILEHANDLE,FUNCTION,SCALAR , __FILE__ , fileno FILEHANDLE , fileno DIRHANDLE, flock FILEHANDLE,OPERATION , fork , format , formline PICTURE,LIST , getc FILEHANDLE , getc, getlogin
, getpeername SOCKET , getpgrp PID , getppid , getpriority WHICH,WHO , getpwnam NAME
, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent, endprotoent, endservent, getsockname SOCKET , getsockopt SOCKET,LEVEL,OPTNAME , glob EXPR
, glob, gmtime EXPR
, gmtime, goto LABEL , goto EXPR, goto &NAME, grep BLOCK LIST , grep EXPR,LIST, hex EXPR
, hex, import LIST , index STR,SUBSTR,POSITION , index STR,SUBSTR, int EXPR , int, ioctl FILEHANDLE,FUNCTION,SCALAR , join EXPR,LIST , keys HASH
, keys ARRAY, kill SIGNAL, LIST, kill SIGNAL , last LABEL , last EXPR, last, lc EXPR , lc, If "use bytes" is in effect:, Otherwise, if "use locale" for "LC_CTYPE" is in effect:, Otherwise, If EXPR has the UTF8 flag set:, Otherwise, if "use feature 'unicode_strings'" or "use locale ':not_characters'" is in effect:, Otherwise:, lcfirst EXPR , lcfirst, length EXPR , length, __LINE__ , link OLDFILE,NEWFILE , listen SOCKET,QUEUESIZE , local EXPR , localtime EXPR , localtime, lock THING , log EXPR , log, lstat FILEHANDLE , lstat EXPR, lstat DIRHANDLE, lstat, m//, map BLOCK LIST , map EXPR,LIST, mkdir FILENAME,MODE
, mkdir FILENAME, mkdir, msgctl ID,CMD,ARG , msgget KEY,FLAGS , msgrcv ID,VAR,SIZE,TYPE,FLAGS , msgsnd ID,MSG,FLAGS , my VARLIST , my TYPE VARLIST, my VARLIST : ATTRS, my TYPE VARLIST : ATTRS, next LABEL , next EXPR, next, no MODULE VERSION LIST , no MODULE VERSION, no MODULE LIST, no MODULE, no VERSION, oct EXPR , oct, open FILEHANDLE,MODE,EXPR , open FILEHANDLE,MODE,EXPR,LIST, open FILEHANDLE,MODE,REFERENCE, open FILEHANDLE,EXPR, open FILEHANDLE, Working with files, Simple examples, About filehandles, About modes, Checking the return value, Specifying I/O layers in MODE, Using "undef" for temporary files, Opening a filehandle into an in-memory scalar, Opening a filehandle into a command, Duping filehandles, Legacy usage, Specifying mode and filename as a single argument, Calling "open" with one argument via global variables, Assigning a filehandle to a bareword, Other considerations, Automatic filehandle closure, Automatic pipe flushing, Direct versus by-reference assignment of filehandles, Whitespace and special characters in the filename argument, Invoking C-style "open", Portability issues, opendir DIRHANDLE,EXPR , ord EXPR , ord, our VARLIST , our TYPE VARLIST, our VARLIST : ATTRS, our TYPE VARLIST : ATTRS, pack TEMPLATE,LIST , package NAMESPACE, package NAMESPACE VERSION
, package NAMESPACE BLOCK, package NAMESPACE VERSION BLOCK , __PACKAGE__ , pipe READHANDLE,WRITEHANDLE , pop ARRAY , pop, pos SCALAR , pos, print FILEHANDLE LIST , print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST , printf FILEHANDLE, printf FORMAT, LIST, printf, prototype FUNCTION , prototype, push ARRAY,LIST , q/STRING/, qq/STRING/, qw/STRING/, qx/STRING/, qr/STRING/, quotemeta EXPR , quotemeta, rand EXPR , rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET , read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE , readline EXPR, readline , readlink EXPR , readlink, readpipe EXPR, readpipe , recv SOCKET,SCALAR,LENGTH,FLAGS , redo LABEL , redo EXPR, redo, ref EXPR , ref, rename OLDNAME,NEWNAME , require VERSION , require EXPR, require, reset EXPR , reset, return EXPR , return, reverse LIST , rewinddir DIRHANDLE , rindex STR,SUBSTR,POSITION , rindex STR,SUBSTR, rmdir FILENAME , rmdir, s///, say FILEHANDLE LIST , say FILEHANDLE, say LIST, say, scalar EXPR , seek FILEHANDLE,POSITION,WHENCE , seekdir DIRHANDLE,POS , select FILEHANDLE , select, select RBITS,WBITS,EBITS,TIMEOUT , semctl ID,SEMNUM,CMD,ARG , semget KEY,NSEMS,FLAGS , semop KEY,OPSTRING , send SOCKET,MSG,FLAGS,TO , send SOCKET,MSG,FLAGS, setpgrp PID,PGRP
, setpriority WHICH,WHO,PRIORITY
, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL , shift ARRAY , shift, shmctl ID,CMD,ARG , shmget KEY,SIZE,FLAGS , shmread ID,VAR,POS,SIZE , shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW , sin EXPR , sin, sleep EXPR , sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL , socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL , sort SUBNAME LIST , sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST , splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT , split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST , format parameter index, flags, vector flag, (minimum) width, precision, or maximum width , size, order of arguments, sqrt EXPR , sqrt, srand EXPR , srand, stat FILEHANDLE
, stat EXPR, stat DIRHANDLE, stat, state VARLIST , state TYPE VARLIST, state VARLIST : ATTRS, state TYPE VARLIST : ATTRS, study SCALAR , study, sub NAME BLOCK , sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, __SUB__ , substr EXPR,OFFSET,LENGTH,REPLACEMENT
, substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE , syscall NUMBER, LIST , sysopen FILEHANDLE,FILENAME,MODE , sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET , sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE , system LIST , system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET , syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell FILEHANDLE , tell, telldir DIRHANDLE , tie VARIABLE,CLASSNAME,LIST , tied VARIABLE , time , times , tr///, truncate FILEHANDLE,LENGTH , truncate EXPR,LENGTH, uc EXPR , uc, ucfirst EXPR , ucfirst, umask EXPR , umask, undef EXPR , undef, unlink LIST
, unlink, unpack TEMPLATE,EXPR , unpack TEMPLATE, unshift ARRAY,LIST , untie VARIABLE , use Module VERSION LIST , use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST , values HASH , values ARRAY, vec EXPR,OFFSET,BITS , wait , waitpid PID,FLAGS , wantarray , warn LIST
, write FILEHANDLE , write EXPR, write, y/// - Non-function Keywords by Cross-reference
- __DATA__, __END__, BEGIN, CHECK, END, INIT, UNITCHECK, DESTROY, and, cmp, eq, ge, gt, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elsif, for, foreach, if, unless, until, while, elseif, default, given, when
perlopentut - simple recipes for opening files and pipes in Perl¶
- DESCRIPTION
- OK, HANDLE, MODE, PATHNAME
- Opening Text Files
- SEE ALSO
- AUTHOR and COPYRIGHT
perlpacktut - tutorial on "pack" and "unpack"¶
- DESCRIPTION
- The Basic Principle
- Packing Text
- Packing Numbers
- Template Grouping
- Lengths and Widths
- String Lengths
- Dynamic Templates
- Counting Repetitions
- Intel HEX
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", "=over indentlevel"
, "=item stuff...", "=back", "=cut" , "=pod" , "=begin formatname"
, "=end formatname", "=for formatname text...", "=encoding encodingname" - Formatting Codes
- "I<text>" -- italic text ,
"B<text>" -- bold text
, "C<code>" -- code text
, "L<name>" -- a hyperlink , "E<escape>" -- a character escape
, "F<filename>" -- used for filenames , "S<text>" -- text contains non-breaking spaces
, "X<topic name>" -- an index entry
, "Z<>" -- a null (zero-effect) formatting code - The Intent
- Embedding Pods in Perl Modules
- Hints for Writing Pod
- SEE ALSO
- AUTHOR
perlpodspec - Plain Old Documentation: format specification and notes¶
- DESCRIPTION
- Pod Definitions
- Pod Commands
- "=head1", "=head2", "=head3", "=head4", "=pod", "=cut", "=over", "=item", "=back", "=begin formatname", "=begin formatname parameter", "=end formatname", "=for formatname text...", "=encoding encodingname"
- Pod Formatting Codes
- "I<text>" -- italic text, "B<text>" -- bold text, "C<code>" -- code text, "F<filename>" -- style for filenames, "X<topic name>" -- an index entry, "Z<>" -- a null (zero-effect) formatting code, "L<name>" -- a hyperlink, "E<escape>" -- a character escape, "S<text>" -- text contains non-breaking spaces
- Notes on Implementing Pod Processors
- About L<...> Codes
- First:, Second:, Third:, Fourth:, Fifth:, Sixth:
- About =over...=back Regions
- About Data Paragraphs and "=begin/=end" Regions
- SEE ALSO
- AUTHOR
perldocstyle - A style guide for writing Perl's documentation¶
- DESCRIPTION
- 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
perllexwarn - Perl Lexical Warnings¶
- DESCRIPTION
perldebug - Perl debugging¶
- DESCRIPTION
- The Perl Debugger
- Calling the Debugger
- perl -d program_name, perl -d -e 0, perl -d:ptkdb program_name, perl -dt threaded_program_name
- Debugger Commands
- h , h [command], h h, p expr , x [maxdepth] expr , V [pkg [vars]] , X
[vars] , y [level [vars]] , T , s [expr] , n [expr] , r , <CR>, c
[line|sub] , l , l min+incr, l min-max, l line, l subname, - , v [line] ,
. , f filename , /pattern/, ?pattern?, L [abw] , S [[!]regex] , t [n] , t
[n] expr , b , b [line] [condition] , b [file]:[line] [condition] , b
subname [condition] , b postpone subname [condition] , b load filename
, b compile subname , B line , B *
, disable [file]:[line]
, disable [line]
, enable [file]:[line]
, enable [line]
, a [line] command , A line , A * , w expr , W expr , W * , o , o booloption ... , o anyoption? ... , o option=value ... , < ? , < [ command ] , < * , << command , > ? , > command , > * , >> command , { ? , { [ command ], { * , {{ command , ! number , ! -number , ! pattern , !! cmd , source file , H -number , q or ^D , R , |dbcmd , ||dbcmd , command, m expr , M , man [manpage] - Configurable Options
- "recallCommand",
"ShellBang" ,
"pager" ,
"tkRunning" ,
"signalLevel",
"warnLevel",
"dieLevel"
, "AutoTrace" , "LineInfo" , "inhibit_exit" , "PrintRet" , "ornaments" , "frame" , "maxTraceLen" , "windowSize" , "arrayDepth", "hashDepth" , "dumpDepth" , "compactDump", "veryCompact" , "globPrint" , "DumpDBFiles" , "DumpPackages" , "DumpReused" , "quote", "HighBit", "undefPrint"
, "UsageOnly" , "HistFile" , "HistSize" , "TTY" , "noTTY" , "ReadLine" , "NonStop" - Debugger Input/Output
- Prompt, Multiline commands, Stack backtrace , Line Listing Format, Frame listing
- Debugging Compile-Time Statements
- Debugger Customization
- Readline Support / History in the Debugger
- Editor Support for Debugging
- The Perl Profiler
perlvar - Perl predefined variables¶
- DESCRIPTION
- General Variables
- $ARG, $_ ,
@ARG, @_ ,
$LIST_SEPARATOR, $" ,
$PROCESS_ID, $PID, $$ ,
$PROGRAM_NAME, $0 ,
$REAL_GROUP_ID, $GID, $(
, $EFFECTIVE_GROUP_ID, $EGID, $) , $REAL_USER_ID, $UID, $< , $EFFECTIVE_USER_ID, $EUID, $> , $SUBSCRIPT_SEPARATOR, $SUBSEP, $; , $a, $b , %ENV , $OLD_PERL_VERSION, $] , $SYSTEM_FD_MAX, $^F
, @F , @INC , %INC , $INPLACE_EDIT, $^I , @ISA , $^M , $OSNAME, $^O , %SIG , $BASETIME, $^T , $PERL_VERSION, $^V , ${^WIN32_SLOPPY_STAT} , $EXECUTABLE_NAME, $^X - Variables related to regular expressions
- $<digits> ($1, $2, ...) , @{^CAPTURE}
, $MATCH, $& , ${^MATCH} , $PREMATCH, $` , ${^PREMATCH} , $POSTMATCH, $'
, ${^POSTMATCH} , $LAST_PAREN_MATCH, $+ , $LAST_SUBMATCH_RESULT, $^N , @LAST_MATCH_END, @+ , %{^CAPTURE}, %LAST_PAREN_MATCH, %+
, @LAST_MATCH_START, @- , "$`" is the same as "substr($var, 0, $-[0])", $& is the same as "substr($var, $-[0], $+[0] - $-[0])", "$'" is the same as "substr($var, $+[0])", $1 is the same as "substr($var, $-[1], $+[1] - $-[1])", $2 is the same as "substr($var, $-[2], $+[2] - $-[2])", $3 is the same as "substr($var, $-[3], $+[3] - $-[3])", %{^CAPTURE_ALL} , %- , $LAST_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 , ${^ENCODING} , ${^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
- $# , $* , $[
perlre - Perl regular expressions¶
- DESCRIPTION
- The Basics
- Modifiers
- "m" ,
"s" ,
"i" ,
"x" and
"xx" ,
"p" ,
"a",
"d",
"l", and
"u"
, "n" , Other Modifiers - Regular Expressions
- [1], [2], [3], [4], [5], [6], [7], [8]
- Quoting metacharacters
- Extended Patterns
- "(?#text)"
, "(?adlupimnsx-imnsx)",
"(?^alupimnsx)" ,
"(?:pattern)"
,
"(?adluimnsx-imnsx:pattern)",
"(?^aluimnsx:pattern)"
,
"(?|pattern)"
, Lookaround Assertions ,
"(?=pattern)",
"(*pla:pattern)",
"(*positive_lookahead:pattern)"
, "(?!pattern)", "(*nla:pattern)", "(*negative_lookahead:pattern)"
, "(?<=pattern)", "\K", "(*plb:pattern)", "(*positive_lookbehind:pattern)", "(?<!pattern)", "(*nlb:pattern)", "(*negative_lookbehind:pattern)"
, "(?<NAME>pattern)", "(?'NAME'pattern)"
, "\k<NAME>", "\k'NAME'", "\k{NAME}", "(?{ code })" , "(??{ code })" , "(?PARNO)" "(?-PARNO)" "(?+PARNO)" "(?R)" "(?0)", "(?&NAME)" , "(?(condition)yes-pattern|no-pattern)" , "(?(condition)yes-pattern)", an integer in parentheses, a lookahead/lookbehind/evaluate zero-width assertion;, a name in angle brackets or single quotes, the special symbol "(R)", "(1)" "(2)" .., "(<NAME>)" "('NAME')", "(?=...)" "(?!...)" "(?<=...)" "(?<!...)", "(?{ CODE })", "(R)", "(R1)" "(R2)" .., "(R&NAME)", "(DEFINE)", "(?>pattern)", "(*atomic:pattern)"
, "(?[ ])"
- Backtracking
- Script Runs
- Special Backtracking Control Verbs
- Verbs, "(*PRUNE)"
"(*PRUNE:NAME)"
, "(*SKIP)"
"(*SKIP:NAME)"
,
"(*MARK:NAME)"
"(*:NAME)"
, "(*THEN)" "(*THEN:NAME)", "(*COMMIT)" "(*COMMIT:arg)" , "(*FAIL)" "(*F)" "(*FAIL:arg)" , "(*ACCEPT)" "(*ACCEPT:arg)" - Warning on "\1" Instead of $1
- Repeated Patterns Matching a Zero-length Substring
- Combining RE Pieces
- "ST", "S|T", "S{REPEAT_COUNT}", "S{min,max}", "S{min,max}?", "S?", "S*", "S+", "S??", "S*?", "S+?", "(?>S)", "(?=S)", "(?<=S)", "(?!S)", "(?<!S)", "(??{ EXPR })", "(?PARNO)", "(?(condition)yes-pattern|no-pattern)"
- Creating Custom RE Engines
- Embedded Code Execution Frequency
- PCRE/Python Support
- "(?P<NAME>pattern)", "(?P=NAME)", "(?P>NAME)"
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
perlref - Perl references and nested data structures¶
- NOTE
- DESCRIPTION
perlform - Perl formats¶
- DESCRIPTION
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
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
perldbmfilter - Perl DBM Filters¶
- SYNOPSIS
- DESCRIPTION
- filter_store_key, filter_store_value, filter_fetch_key, filter_fetch_value
- 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
- 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
- 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
- A Complete Example
- Different implementations of threads
- Performance considerations
- Process-scope Changes
- Thread-Safety of System Libraries
- Conclusion
- SEE ALSO
- Bibliography
- 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
- 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.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
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
- SECURITY
- ENVIRONMENT
- PERL_SKIP_LOCALE_INIT, PERL_BADLANG, DPKG_RUNNING_VERSION, "LC_ALL", "LANGUAGE", "LC_CTYPE", "LC_COLLATE", "LC_MONETARY", "LC_NUMERIC", "LC_TIME", "LANG"
- Unicode and UTF-8
- BUGS
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
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] Perl has "\d" "\D" "\s" "\S" "\w" "\W" "\X" "[:prop:]" "[:^prop:]", plus all the properties specified by <https://www.unicode.org/reports/tr18/#Compatibility_Properties>. These are described above in "Other Properties", [4], Regular expression lookahead, [5] "\b" "\B" meet most, but not all, the details of this requirement, but "\b{wb}" and "\B{wb}" do, as well as the stricter R2.3, [6], [7], [8] UTF-8/UTF-EBDDIC used in Perl allows not only "U+10000" to "U+10FFFF" but also beyond "U+10FFFF", [9] Unicode has rewritten this portion of UTS#18 to say that getting canonical equivalence (see UAX#15 "Unicode Normalization Forms" <https://www.unicode.org/reports/tr15>) is basically to be done at the programmer level. Use NFD to write both your regular expressions and text to match them against (you can use Unicode::Normalize), [10] Perl has "\X" and "\b{gcb}". Unicode has retracted their "Grapheme Cluster Mode", and recently added string properties, which Perl does not yet support, [11] see UAX#29 "Unicode Text Segmentation" <https://www.unicode.org/reports/tr29>,, [12] see "Wildcards in Property Values" above, [13] Perl supports all the properties in the Unicode Character Database (UCD). It does not yet support the listed properties that come from other Unicode sources, [14] The only optional property that Perl supports is Named Sequence. None of these properties are in the UCD
- Unicode Encodings
- Noncharacter code points
- Beyond Unicode code points
- Security Implications of Unicode
- Unicode in Perl on EBCDIC
- Locales
- When Unicode Does Not Happen
- The "Unicode Bug"
- Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
- Using Unicode in XS
- Hacking Perl to work on earlier Unicode versions (for very serious hackers only)
- Porting code from perl-5.6.X
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"?
- 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 13.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, NormTest.txt, CJKRadicals.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
- OPERATOR DIFFERENCES
- FUNCTION DIFFERENCES
- "chr()", "ord()", "pack()", "print()", "printf()", "sort()", "sprintf()", "unpack()"
- REGULAR EXPRESSION DIFFERENCES
- SOCKETS
- SORTING
- 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¶
- 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
perlsecpolicy - Perl security report handling policy¶
- 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
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
perlmodlib - constructing new Perl modules and finding existing ones¶
- Pragmatic Modules
- attributes, autodie, autodie::exception, autodie::exception::system, autodie::hints, autodie::skip, autouse, base, bigint, bignum, bigrat, blib, bytes, charnames, constant, deprecate, diagnostics, encoding, encoding::warnings, experimental, feature, fields, filetest, if, integer, less, lib, locale, mro, ok, open, ops, overload, overloading, parent, re, sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, vmsish, warnings, warnings::register
- Standard Modules
- Amiga::ARexx, Amiga::Exec, AnyDBM_File, App::Cpan, App::Prove, App::Prove::State, App::Prove::State::Result, App::Prove::State::Result::Test, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Deparse, B::Op_private, B::Showlex, B::Terse, B::Xref, Benchmark, "IO::Socket::IP", "Socket", CORE, CPAN, CPAN::API::HOWTO, CPAN::Debug, CPAN::Distroprefs, CPAN::FirstTime, CPAN::HandleConfig, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter, CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::History::Meta_1_0, CPAN::Meta::History::Meta_1_1, CPAN::Meta::History::Meta_1_2, CPAN::Meta::History::Meta_1_3, CPAN::Meta::History::Meta_1_4, CPAN::Meta::Merge, CPAN::Meta::Prereqs, CPAN::Meta::Requirements, CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox, CPAN::Plugin, CPAN::Plugin::Specfile, CPAN::Queue, CPAN::Tarzip, CPAN::Version, Carp, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config, Config::Extensions, Config::Perl::V, Cwd, DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows, ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Constant::Base, ExtUtils::Constant::Utils, ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_Darwin, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_OS390, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Locale, ExtUtils::MakeMaker::Tutorial, ExtUtils::Manifest, ExtUtils::Miniperl, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::PL2Bat, ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants, ExtUtils::ParseXS::Eval, ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps, ExtUtils::Typemaps::Cmd, ExtUtils::Typemaps::InputMap, ExtUtils::Typemaps::OutputMap, ExtUtils::Typemaps::Type, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec, File::Spec::AmigaOS, File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long, Getopt::Std, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash, I18N::Collate, I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List, I18N::Langinfo, IO, IO::Compress::Base, IO::Compress::Bzip2, IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip, IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress, IO::Uncompress::Base, IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem, IPC::SysV, Internals, JSON::PP, JSON::PP::Boolean, List::Util, List::Util::XS, Locale::Maketext, Locale::Maketext::Cookbook, Locale::Maketext::Guts, Locale::Maketext::GutsLoader, Locale::Maketext::Simple, Locale::Maketext::TPJ13, MIME::Base64, MIME::QuotedPrint, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigInt::FastCalc, Math::BigInt::Lib, Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, Module::CoreList, Module::CoreList::Utils, Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata, NDBM_File, NEXT, Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::FTP::dataconn, Net::NNTP, Net::Netrc, Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, 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::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
- Africa
- South Africa, Uganda, Zimbabwe
- Asia
- Bangladesh, China, India, Indonesia, Iran, Israel, Japan, Kazakhstan, Philippines, Qatar, Republic of Korea, Singapore, Taiwan, Turkey, Viet Nam
- Europe
- Austria, Belarus, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Moldova, Netherlands, Norway, Poland, Portugal, Romania, Russian Federation, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland, Ukraine, United Kingdom
- North America
- Canada, Costa Rica, Mexico, United States, Alabama, Arizona, California, Idaho, Illinois, Indiana, Kansas, Massachusetts, Michigan, New Hampshire, New Jersey, New York, North Carolina, Oregon, Pennsylvania, South Carolina, Texas, Utah, Virginia, Washington, Wisconsin
- Oceania
- Australia, New Caledonia, New Zealand
- South America
- Argentina, Brazil, Chile
- RSYNC Mirrors
perlmodstyle - Perl module style guide¶
- 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
- 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
- Version numbering
- Pre-requisites
- Testing
- Packaging
- Licensing
- SEE ALSO
- perlstyle, perlnewmod, perlpod, podchecker, Packaging Tools, Testing tools, <https://pause.perl.org/>, Any good book on software engineering
- AUTHOR
perlmodinstall - Installing CPAN Modules¶
- DESCRIPTION
- PREAMBLE
- DECOMPRESS the file, UNPACK the file into a directory, BUILD the module (sometimes unnecessary), INSTALL the module
- PORTABILITY
- HEY
- AUTHOR
- COPYRIGHT
perlnewmod - preparing a new module for distribution¶
- DESCRIPTION
- Warning
- What should I make into a module?
- Step-by-step: Preparing the ground
- Look around, Check it's new, Discuss the need, Choose a name, Check again
- Step-by-step: Making the module
- Start with module-starter or h2xs, Use strict and warnings, Use Carp, Use Exporter - wisely!, Use plain old documentation, Write tests, Write the README, Write Changes
- Step-by-step: Distributing your module
- Get a CPAN user ID, "perl Makefile.PL; make test; make distcheck; make dist", 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
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
- 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"
perlxstut - Tutorial for writing XSUBs¶
- DESCRIPTION
- SPECIAL NOTES
- make
- Version caveat
- Dynamic Loading versus Static Loading
- Threads and PERL_NO_GET_CONTEXT
- 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
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
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
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
- 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)", SAVESPTR(s), SAVEPPTR(p), "SAVEFREESV(SV *sv)", "SAVEMORTALIZESV(SV *sv)", "SAVEFREEOP(OP *op)", SAVEFREEPV(p), "SAVECLEARSV(SV *sv)", "SAVEDELETE(HV *hv, char *key, I32 length)", "SAVEDESTRUCTOR(DESTRUCTORFUNC_NOCONTEXT_t f, void *p)", "SAVEDESTRUCTOR_X(DESTRUCTORFUNC_t f, void *p)", "SAVESTACK_POS()", "SV* save_scalar(GV *gv)", "AV* save_ary(GV *gv)", "HV* save_hash(GV *gv)", "void save_item(SV *item)", "void save_list(SV **sarg, I32 maxsarg)", "SV* save_svref(SV **sptr)", "void save_aptr(AV **aptr)", "void save_hptr(HV **hptr)"
- 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
- 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
- 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
- Introduction to the context stack
- Pushing contexts
- Popping contexts
- Redoing contexts
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
- 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¶
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
- "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"
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"
- 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
- Unicode and Localisation Support
- Base Structures
- "offsets", "regstclass", "data", "program"
- SEE ALSO
- AUTHOR
- LICENCE
- REFERENCES
perlapi - autogenerated documentation for the perl public API¶
- DESCRIPTION
- "AV Handling", "Callback Functions", "Casting", "Character case changing", "Character classification", "Compiler and Preprocessor information", "Compiler directives", "Compile-time scope hooks", "Concurrency", "COP Hint Hashes", "Custom Operators", "CV Handling", "Debugging", "Display functions", "Embedding and Interpreter Cloning", "Errno", "Exception Handling (simple) Macros", "Filesystem configuration values", "Floating point configuration values", "Formats", "General Configuration", "Global Variables", "GV Handling", "Hook manipulation", "HV Handling", "Input/Output", "Integer configuration values", "Lexer interface", "Locales", "Magic", "Memory Management", "MRO", "Multicall Functions", "Numeric Functions", "Optree construction", "Optree Manipulation Functions", "Pack and Unpack", "Pad Data Structures", "Password and Group access", "Paths to system commands", "Prototype information", "REGEXP Functions", "Signals", "Site configuration", "Sockets configuration values", "Source Filters", "Stack Manipulation Macros", "String Handling", "SV Flags", "SV Handling", "Time", "Typedef names", "Unicode Support", "Utility Functions", "Versioning", "Warning and Dieing", "XS", "Undocumented elements"
- AV Handling
- "AV", "AvARRAY" , "av_clear" , "av_count" , "av_create_and_push" , "av_create_and_unshift_one" , "av_delete" , "av_exists" , "av_extend" , "av_fetch" , "AvFILL" , "av_fill" , "av_len" , "av_make" , "av_pop" , "av_push" , "av_shift" , "av_store" , "av_tindex", "av_top_index" , "av_undef" , "av_unshift" , "get_av" , "newAV" , "Nullav"
- Callback Functions
- "call_argv" , "call_method" , "call_pv" , "call_sv" , "ENTER" , "ENTER_with_name" , "eval_pv" , "eval_sv" , "FREETMPS" , "G_ARRAY", "G_DISCARD", "G_EVAL", "GIMME" , "GIMME_V" , "G_KEEPERR", "G_NOARGS", "G_SCALAR", "G_VOID", "LEAVE" , "LEAVE_with_name" , "PL_errgv", "SAVETMPS"
- Casting
- "cBOOL" , "I_32" , "INT2PTR", "I_V" , "Perl_cpeep_t", "PTR2IV", "PTR2nat", "PTR2NV", "PTR2ul", "PTR2UV", "PTRV", "U_32" , "U_V" , "XOP"
- Character case changing
- "toFOLD" , "toFOLD_utf8", "toFOLD_utf8_safe" , "toFOLD_uvchr" , "toLOWER", "toLOWER_A", "toLOWER_L1", "toLOWER_LATIN1", "toLOWER_LC", "toLOWER_uvchr", "toLOWER_utf8", "toLOWER_utf8_safe" , "toTITLE" , "toTITLE_utf8", "toTITLE_utf8_safe" , "toTITLE_uvchr" , "toUPPER" , "toUPPER_utf8", "toUPPER_utf8_safe" , "toUPPER_uvchr"
- Character classification
- "isALPHA",
"isALPHA_A",
"isALPHA_L1",
"isALPHA_uvchr",
"isALPHA_utf8_safe",
"isALPHA_utf8",
"isALPHA_LC",
"isALPHA_LC_uvchr",
"isALPHA_LC_utf8_safe" ,
"isALPHANUMERIC",
"isALPHANUMERIC_A",
"isALPHANUMERIC_L1",
"isALPHANUMERIC_uvchr",
"isALPHANUMERIC_utf8_safe",
"isALPHANUMERIC_utf8",
"isALPHANUMERIC_LC",
"isALPHANUMERIC_LC_uvchr",
"isALPHANUMERIC_LC_utf8_safe",
"isALNUMC",
"isALNUMC_A",
"isALNUMC_L1",
"isALNUMC_LC",
"isALNUMC_LC_uvchr" ,
"isASCII",
"isASCII_A",
"isASCII_L1",
"isASCII_uvchr",
"isASCII_utf8_safe",
"isASCII_utf8",
"isASCII_LC",
"isASCII_LC_uvchr",
"isASCII_LC_utf8_safe" ,
"isBLANK",
"isBLANK_A",
"isBLANK_L1",
"isBLANK_uvchr",
"isBLANK_utf8_safe",
"isBLANK_utf8",
"isBLANK_LC",
"isBLANK_LC_uvchr",
"isBLANK_LC_utf8_safe" ,
"isCNTRL",
"isCNTRL_A",
"isCNTRL_L1",
"isCNTRL_uvchr",
"isCNTRL_utf8_safe",
"isCNTRL_utf8",
"isCNTRL_LC",
"isCNTRL_LC_uvchr",
"isCNTRL_LC_utf8_safe" ,
"isDIGIT",
"isDIGIT_A",
"isDIGIT_L1",
"isDIGIT_uvchr",
"isDIGIT_utf8_safe",
"isDIGIT_utf8",
"isDIGIT_LC",
"isDIGIT_LC_uvchr",
"isDIGIT_LC_utf8_safe" ,
"isGRAPH",
"isGRAPH_A",
"isGRAPH_L1",
"isGRAPH_uvchr",
"isGRAPH_utf8_safe",
"isGRAPH_utf8",
"isGRAPH_LC",
"isGRAPH_LC_uvchr",
"isGRAPH_LC_utf8_safe" ,
"isIDCONT",
"isIDCONT_A",
"isIDCONT_L1",
"isIDCONT_uvchr",
"isIDCONT_utf8_safe",
"isIDCONT_utf8",
"isIDCONT_LC",
"isIDCONT_LC_uvchr",
"isIDCONT_LC_utf8_safe"
, "isIDFIRST", "isIDFIRST_A", "isIDFIRST_L1", "isIDFIRST_uvchr", "isIDFIRST_utf8_safe", "isIDFIRST_utf8", "isIDFIRST_LC", "isIDFIRST_LC_uvchr", "isIDFIRST_LC_utf8_safe" , "isLOWER", "isLOWER_A", "isLOWER_L1", "isLOWER_uvchr", "isLOWER_utf8_safe", "isLOWER_utf8", "isLOWER_LC", "isLOWER_LC_uvchr", "isLOWER_LC_utf8_safe" , "isOCTAL", "isOCTAL_A", "isOCTAL_L1" , "isPRINT", "isPRINT_A", "isPRINT_L1", "isPRINT_uvchr", "isPRINT_utf8_safe", "isPRINT_utf8", "isPRINT_LC", "isPRINT_LC_uvchr", "isPRINT_LC_utf8_safe" , "isPSXSPC", "isPSXSPC_A", "isPSXSPC_L1", "isPSXSPC_uvchr", "isPSXSPC_utf8_safe", "isPSXSPC_utf8", "isPSXSPC_LC", "isPSXSPC_LC_uvchr", "isPSXSPC_LC_utf8_safe"
, "isPUNCT", "isPUNCT_A", "isPUNCT_L1", "isPUNCT_uvchr", "isPUNCT_utf8_safe", "isPUNCT_utf8", "isPUNCT_LC", "isPUNCT_LC_uvchr", "isPUNCT_LC_utf8_safe" , "isSPACE", "isSPACE_A", "isSPACE_L1", "isSPACE_uvchr", "isSPACE_utf8_safe", "isSPACE_utf8", "isSPACE_LC", "isSPACE_LC_uvchr", "isSPACE_LC_utf8_safe" , "isUPPER", "isUPPER_A", "isUPPER_L1", "isUPPER_uvchr", "isUPPER_utf8_safe", "isUPPER_utf8", "isUPPER_LC", "isUPPER_LC_uvchr", "isUPPER_LC_utf8_safe" , "isWORDCHAR", "isWORDCHAR_A", "isWORDCHAR_L1", "isWORDCHAR_uvchr", "isWORDCHAR_utf8_safe", "isWORDCHAR_utf8", "isWORDCHAR_LC", "isWORDCHAR_LC_uvchr", "isWORDCHAR_LC_utf8_safe", "isALNUM", "isALNUM_A", "isALNUM_LC", "isALNUM_LC_uvchr" , "isXDIGIT", "isXDIGIT_A", "isXDIGIT_L1", "isXDIGIT_uvchr", "isXDIGIT_utf8_safe", "isXDIGIT_utf8", "isXDIGIT_LC", "isXDIGIT_LC_uvchr", "isXDIGIT_LC_utf8_safe"
- Compiler and Preprocessor information
- "CPPLAST" , "CPPMINUS" , "CPPRUN" , "CPPSTDIN" , "HASATTRIBUTE_ALWAYS_INLINE" , "HASATTRIBUTE_DEPRECATED" , "HASATTRIBUTE_FORMAT" , "HASATTRIBUTE_NONNULL" , "HASATTRIBUTE_NORETURN" , "HASATTRIBUTE_PURE" , "HASATTRIBUTE_UNUSED" , "HASATTRIBUTE_WARN_UNUSED_RESULT" , "HAS_BUILTIN_ADD_OVERFLOW" , "HAS_BUILTIN_CHOOSE_EXPR" , "HAS_BUILTIN_EXPECT" , "HAS_BUILTIN_MUL_OVERFLOW" , "HAS_BUILTIN_SUB_OVERFLOW" , "HAS_C99_VARIADIC_MACROS" , "HAS_STATIC_INLINE" , "MEM_ALIGNBYTES" , "PERL_STATIC_INLINE" , "U32_ALIGNMENT_REQUIRED"
- Compiler directives
- "ASSUME" , "dNOOP" , "END_EXTERN_C" , "EXTERN_C" , "LIKELY" , "NOOP" , "PERL_UNUSED_ARG" , "PERL_UNUSED_CONTEXT" , "PERL_UNUSED_DECL" , "PERL_UNUSED_RESULT" , "PERL_UNUSED_VAR" , "PERL_USE_GCC_BRACE_GROUPS" , "START_EXTERN_C" , "STATIC", "STMT_START", "STMT_END" , "UNLIKELY" , "__ASSERT_"
- Compile-time scope hooks
- "BhkDISABLE" , "BhkENABLE" , "BhkENTRY_set" , "blockhook_register"
- Concurrency
- "aTHX", "aTHX_", "CPERLscope" , "dTHR", "dTHX", "dTHXa" , "dTHXoa" , "dVAR" , "GETENV_PRESERVES_OTHER_THREAD" , "HAS_PTHREAD_ATFORK" , "HAS_PTHREAD_ATTR_SETSCOPE" , "HAS_PTHREAD_YIELD" , "HAS_SCHED_YIELD" , "I_MACH_CTHREADS" , "I_PTHREAD" , "MULTIPLICITY" , "OLD_PTHREADS_API" , "OLD_PTHREAD_CREATE_JOINABLE" , "pTHX", "pTHX_", "SCHED_YIELD" , "SVf", "SVfARG"
- COP Hint Hashes
- "cop_fetch_label" , "CopFILE" , "CopFILEAV" , "CopFILEGV" , "CopFILEGV_set" , "CopFILE_set" , "CopFILESV" , "cophh_2hv" , "cophh_copy" , "cophh_delete_pv" , "cophh_delete_pvn" , "cophh_delete_pvs" , "cophh_delete_sv" , "cophh_exists_pv" , "cophh_exists_pvn" , "cophh_exists_pvs" , "cophh_exists_sv" , "cophh_fetch_pv" , "cophh_fetch_pvn" , "cophh_fetch_pvs" , "cophh_fetch_sv" , "cophh_free" , "cophh_new_empty" , "cophh_store_pv" , "cophh_store_pvn" , "cophh_store_pvs" , "cophh_store_sv" , "cop_hints_2hv" , "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" , "CopLABEL" , "CopLABEL_len" , "CopLABEL_len_flags" , "CopLINE" , "CopSTASH" , "CopSTASH_eq" , "CopSTASHPV" , "CopSTASHPV_set" , "CopSTASH_set" , "cop_store_label" , "PERL_SI"
- Custom Operators
- "custom_op_desc" , "custom_op_name" , "custom_op_register" , "Perl_custom_op_xop" , "XopDISABLE" , "XopENABLE" , "XopENTRY" , "XopENTRYCUSTOM" , "XopENTRY_set" , "XopFLAGS"
- CV Handling
- "caller_cx" , "CvGV" , "CvSTASH" , "find_runcv" , "get_cv", "get_cvs", "get_cvn_flags" , "Nullcv"
- Debugging
- "dump_all" , "dump_c_backtrace" , "dump_packsubs" , "get_c_backtrace_dump" , "HAS_BACKTRACE" , "op_class" , "op_dump" , "sv_dump"
- Display functions
- "form", "form_nocontext" , "mess", "mess_nocontext" , "mess_sv" , "pv_display" , "pv_escape" , "pv_pretty" , "vform" , "vmess"
- Embedding and Interpreter Cloning
- "cv_clone" , "cv_name" , "cv_undef" , "find_rundefsv" , "find_rundefsvoffset" , "intro_my" , "load_module" , "load_module_nocontext" , "my_exit" , "newPADNAMELIST" , "newPADNAMEouter" , "newPADNAMEpvn" , "nothreadhook" , "pad_add_anon" , "pad_add_name_pv" , "pad_add_name_pvn" , "pad_add_name_sv" , "pad_alloc" , "pad_findmy_pv" , "pad_findmy_pvn" , "pad_findmy_sv" , "padnamelist_fetch" , "padnamelist_store" , "pad_tidy" , "perl_alloc" , "PERL_ASYNC_CHECK", "perl_clone" , "perl_construct" , "perl_destruct" , "perl_free" , "perl_parse" , "perl_run" , "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_perl_destruct_level" , 0 - none, 1 - full, 2 or greater - full with checks, "require_pv" , "UVf" , "vload_module"
- Errno
- "sv_string_from_errnum"
- Exception Handling (simple) Macros
- "dXCPT" , "JMPENV_JUMP", "JMPENV_PUSH", "PL_restartop", "XCPT_CATCH" , "XCPT_RETHROW" , "XCPT_TRY_END" , "XCPT_TRY_START"
- Filesystem configuration values
- "DIRNAMLEN" , "DOSUID" , "EOF_NONBLOCK" , "FCNTL_CAN_LOCK" , "FFLUSH_ALL" , "FFLUSH_NULL" , "FILE_base" , "FILE_bufsiz" , "FILE_cnt" , "FILE_ptr" , "FLEXFILENAMES" , "HAS_DIR_DD_FD" , "HAS_DUP2" , "HAS_DUP3" , "HAS_FAST_STDIO" , "HAS_FCHDIR" , "HAS_FCNTL" , "HAS_FDCLOSE" , "HAS_FPATHCONF" , "HAS_FPOS64_T" , "HAS_FSTATFS" , "HAS_FSTATVFS" , "HAS_GETFSSTAT" , "HAS_GETMNT" , "HAS_GETMNTENT" , "HAS_HASMNTOPT" , "HAS_LSEEK_PROTO" , "HAS_MKDIR" , "HAS_OFF64_T" , "HAS_OPEN3" , "HAS_OPENAT" , "HAS_POLL" , "HAS_READDIR" , "HAS_READDIR64_R" , "HAS_REWINDDIR" , "HAS_RMDIR" , "HAS_SEEKDIR" , "HAS_SELECT" , "HAS_SETVBUF" , "HAS_STDIO_STREAM_ARRAY" , "HAS_STRUCT_FS_DATA" , "HAS_STRUCT_STATFS" , "HAS_STRUCT_STATFS_F_FLAGS" , "HAS_TELLDIR" , "HAS_USTAT" , "I_FCNTL" , "I_SYS_DIR" , "I_SYS_FILE" , "I_SYS_NDIR" , "I_SYS_STATFS" , "LSEEKSIZE" , "RD_NODATA" , "READDIR64_R_PROTO" , "STDCHAR" , "STDIO_CNT_LVALUE" , "STDIO_PTR_LVALUE" , "STDIO_PTR_LVAL_NOCHANGE_CNT" , "STDIO_PTR_LVAL_SETS_CNT" , "STDIO_STREAM_ARRAY" , "ST_INO_SIGN" , "ST_INO_SIZE" , "VAL_EAGAIN" , "VAL_O_NONBLOCK" , "VOID_CLOSEDIR"
- Floating point configuration values
- "CASTFLAGS" , "CASTNEGFLOAT" , "DOUBLE_HAS_INF" , "DOUBLE_HAS_NAN" , "DOUBLE_HAS_NEGATIVE_ZERO" , "DOUBLE_HAS_SUBNORMALS" , "DOUBLEINFBYTES" , "DOUBLEKIND" , "DOUBLEMANTBITS" , "DOUBLENANBYTES" , "DOUBLESIZE" , "DOUBLE_STYLE_CRAY" , "DOUBLE_STYLE_IBM" , "DOUBLE_STYLE_IEEE" , "DOUBLE_STYLE_VAX" , "HAS_ATOLF" , "HAS_CLASS" , "HAS_FINITE" , "HAS_FINITEL" , "HAS_FPCLASS" , "HAS_FPCLASSIFY" , "HAS_FPCLASSL" , "HAS_FPGETROUND" , "HAS_FP_CLASS" , "HAS_FP_CLASSIFY" , "HAS_FP_CLASSL" , "HAS_FREXPL" , "HAS_ILOGB" , "HAS_ISFINITE" , "HAS_ISFINITEL" , "HAS_ISINF" , "HAS_ISINFL" , "HAS_ISNAN" , "HAS_ISNANL" , "HAS_ISNORMAL" , "HAS_J0" , "HAS_J0L" , "HAS_LDBL_DIG" , "HAS_LDEXPL" , "HAS_LLRINT" , "HAS_LLRINTL" , "HAS_LLROUNDL" , "HAS_LONG_DOUBLE" , "HAS_LRINT" , "HAS_LRINTL" , "HAS_LROUNDL" , "HAS_MODFL" , "HAS_NAN" , "HAS_NEXTTOWARD" , "HAS_REMAINDER" , "HAS_SCALBN" , "HAS_SIGNBIT" , "HAS_SQRTL" , "HAS_STRTOD_L" , "HAS_STRTOLD" , "HAS_STRTOLD_L" , "HAS_TRUNC" , "HAS_UNORDERED" , "I_FENV" , "I_QUADMATH" , "LONGDBLINFBYTES" , "LONGDBLMANTBITS" , "LONGDBLNANBYTES" , "LONG_DOUBLEKIND" , "LONG_DOUBLESIZE" , "LONG_DOUBLE_STYLE_IEEE" , "LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE" , "LONG_DOUBLE_STYLE_IEEE_EXTENDED" , "LONG_DOUBLE_STYLE_IEEE_STD" , "LONG_DOUBLE_STYLE_VAX" , "NVMANTBITS" , "NV_OVERFLOWS_INTEGERS_AT" , "NV_PRESERVES_UV" , "NV_PRESERVES_UV_BITS" , "NVSIZE" , "NVTYPE" , "NV_ZERO_IS_ALLBITS_ZERO"
- Formats
- "IVdf" , "NVef" , "NVff" , "NVgf" , "PERL_PRIeldbl" , "PERL_PRIfldbl" , "PERL_PRIgldbl" , "PERL_SCNfldbl" , "PRINTF_FORMAT_NULL_OK" , "UTF8f", "UTF8fARG", "UVof" , "UVuf" , "UVXf" , "UVxf"
- General Configuration
- "BYTEORDER" , "CHARBITS" , "DB_VERSION_MAJOR_CFG" , "DB_VERSION_MINOR_CFG" , "DB_VERSION_PATCH_CFG" , "DEFAULT_INC_EXCLUDES_DOT" , "DLSYM_NEEDS_UNDERSCORE" , "EBCDIC" , "HAS_CSH" , "HAS_GETHOSTNAME" , "HAS_GNULIBC" , "HAS_LGAMMA" , "HAS_LGAMMA_R" , "HAS_PRCTL_SET_NAME" , "HAS_PROCSELFEXE" , "HAS_PSEUDOFORK" , "HAS_REGCOMP" , "HAS_SETPGID" , "HAS_SIGSETJMP" , "HAS_STRUCT_CMSGHDR" , "HAS_STRUCT_MSGHDR" , "HAS_TGAMMA" , "HAS_UNAME" , "HAS_UNION_SEMUN" , "I_DIRENT" , "I_POLL" , "I_SYS_RESOURCE" , "LIBM_LIB_VERSION" , "NEED_VA_COPY" , "OSNAME" , "OSVERS" , "PHOSTNAME" , "PROCSELFEXE_PATH" , "PTRSIZE" , "RANDBITS" , "SELECT_MIN_BITS" , "SETUID_SCRIPTS_ARE_SECURE_NOW"
- List of capability "HAS_foo" symbols
- List of "#include" needed symbols
- Global Variables
- "PL_check" , "PL_keyword_plugin" , "PL_phase"
- GV Handling
- "gv_autoload4" , "GvAV" , "gv_const_sv" , "GvCV" , "gv_fetchfile", "gv_fetchfile_flags" , "gv_fetchmeth" , "gv_fetchmethod" , "gv_fetchmethod_autoload" , "gv_fetchmeth_autoload" , "gv_fetchmeth_pv" , "gv_fetchmeth_pvn" , "gv_fetchmeth_pvn_autoload" , "gv_fetchmeth_pv_autoload" , "gv_fetchmeth_sv" , "gv_fetchmeth_sv_autoload" , "gv_fetchpv", "gv_fetchpvn", "gv_fetchpvn_flags", "gv_fetchpvs", "gv_fetchsv", "gv_fetchsv_nomg" X <gv_fetchsv_nomg>, "GvHV" , "gv_init" , "gv_init_pv" , "gv_init_pvn" , "gv_init_sv" , "gv_stashpv" , "gv_stashpvn" , "gv_stashpvs" , "gv_stashsv" , "GvSV" , "GvSVn" , "save_gp" , "setdefout"
- Hook manipulation
- "wrap_op_checker"
- HV Handling
- "get_hv" , "HEf_SVKEY" , "HeHASH" , "HeKEY" , "HeKLEN" , "HePV" , "HeSVKEY" , "HeSVKEY_force" , "HeSVKEY_set" , "HeUTF8" , "HeVAL" , "HV", "hv_assert" , "hv_bucket_ratio" , "hv_clear" , "hv_clear_placeholders" , "hv_copy_hints_hv" , "hv_delete" , "hv_delete_ent" , "HvENAME" , "HvENAMELEN" , "HvENAMEUTF8" , "hv_exists" , "hv_exists_ent" , "hv_fetch" , "hv_fetchs" , "hv_fetch_ent" , "HvFILL" , "hv_fill" , "hv_iterinit" , "hv_iterkey" , "hv_iterkeysv" , "hv_iternext" , "hv_iternextsv" , "hv_iternext_flags" , "hv_iterval" , "hv_magic" , "HvNAME" , "HvNAMELEN" , "HvNAMEUTF8" , "hv_scalar" , "hv_store" , "hv_stores" , "hv_store_ent" , "hv_undef" , "MGVTBL", "newHV" , "Nullhv" , "PERL_HASH", "PERL_MAGIC_arylen", "PERL_MAGIC_arylen_p", "PERL_MAGIC_backref", "PERL_MAGIC_bm", "PERL_MAGIC_checkcall", "PERL_MAGIC_collxfrm", "PERL_MAGIC_dbfile", "PERL_MAGIC_dbline", "PERL_MAGIC_debugvar", "PERL_MAGIC_defelem", "PERL_MAGIC_env", "PERL_MAGIC_envelem", "PERL_MAGIC_ext", "PERL_MAGIC_fm", "PERL_MAGIC_hints", "PERL_MAGIC_hintselem", "PERL_MAGIC_isa", "PERL_MAGIC_isaelem", "PERL_MAGIC_lvref", "PERL_MAGIC_nkeys", "PERL_MAGIC_nonelem", "PERL_MAGIC_overload_table", "PERL_MAGIC_pos", "PERL_MAGIC_qr", "PERL_MAGIC_regdata", "PERL_MAGIC_regdatum", "PERL_MAGIC_regex_global", "PERL_MAGIC_rhash", "PERL_MAGIC_shared", "PERL_MAGIC_shared_scalar", "PERL_MAGIC_sig", "PERL_MAGIC_sigelem", "PERL_MAGIC_substr", "PERL_MAGIC_sv", "PERL_MAGIC_symtab", "PERL_MAGIC_taint", "PERL_MAGIC_tied", "PERL_MAGIC_tiedelem", "PERL_MAGIC_tiedscalar", "PERL_MAGIC_utf8", "PERL_MAGIC_uvar", "PERL_MAGIC_uvar_elem", "PERL_MAGIC_vec", "PERL_MAGIC_vstring", "PL_modglobal"
- Input/Output
- "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_findFILE", "PerlIO_flush", "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_getc", "PerlIO_getpos", "PerlIO_get_base", "PerlIO_get_bufsiz", "PerlIO_get_cnt", "PerlIO_get_ptr", "PerlIO_has_base", "PerlIO_has_cntptr", "PerlIO_importFILE", "PERLIO_K_BUFFERED", "PERLIO_K_CANCRLF", "PERLIO_K_FASTGETS", "PERLIO_K_MULTIARG", "PERLIO_K_RAW", "PerlIO_open", "PerlIO_printf", "PerlIO_putc", "PerlIO_puts", "PerlIO_read", "PerlIO_releaseFILE", "PerlIO_reopen", "PerlIO_rewind", "PerlIO_seek", "PerlIO_setlinebuf", "PerlIO_setpos", "PerlIO_set_cnt", "PerlIO_set_ptrcnt", "PerlIO_stderr", "PerlIO_stdin", "PerlIO_stdout", "PerlIO_stdoutf", "PerlIO_tell", "PerlIO_ungetc", "PerlIO_vprintf", "PerlIO_write", "PL_maxsysfd"
- Integer configuration values
- "CASTI32" , "HAS_INT64_T" , "HAS_LONG_LONG" , "HAS_QUAD" , "HE", "I8", "I16", "I32", "I64", "IV", "I32SIZE" , "I32TYPE" , "I64SIZE" , "I64TYPE" , "I16SIZE" , "I16TYPE" , "INT16_C", "INT32_C", "INT64_C" , "INTMAX_C" , "INTSIZE" , "I8SIZE" , "I8TYPE" , "IV_MAX" , "IV_MIN" , "IVSIZE" , "IVTYPE" , "line_t" , "LONGLONGSIZE" , "LONGSIZE" , "memzero" , "NV", "PERL_INT_FAST8_T", "PERL_INT_FAST16_T", "PERL_UINT_FAST8_T", "PERL_UINT_FAST16_T" , "PERL_INT_MAX", "PERL_INT_MIN", "PERL_LONG_MAX", "PERL_LONG_MIN", "PERL_SHORT_MAX", "PERL_SHORT_MIN", "PERL_UCHAR_MAX", "PERL_UCHAR_MIN", "PERL_UINT_MAX", "PERL_UINT_MIN", "PERL_ULONG_MAX", "PERL_ULONG_MIN", "PERL_USHORT_MAX", "PERL_USHORT_MIN", "PERL_QUAD_MAX", "PERL_QUAD_MIN", "PERL_UQUAD_MAX", "PERL_UQUAD_MIN" , "SHORTSIZE" , "STRLEN", "U8", "U16", "U32", "U64", "UV", "U32SIZE" , "U32TYPE" , "U64SIZE" , "U64TYPE" , "U16SIZE" , "U16TYPE" , "UINT16_C", "UINT32_C", "UINT64_C" , "UINTMAX_C" , "U8SIZE" , "U8TYPE" , "UV_MAX" , "UV_MIN" , "UVSIZE" , "UVTYPE" , "WIDEST_UTYPE"
- Lexer interface
- "lex_bufutf8" , "lex_discard_to" , "lex_grow_linestr" , "lex_next_chunk" , "lex_peek_unichar" , "lex_read_space" , "lex_read_to" , "lex_read_unichar" , "lex_start" , "lex_stuff_pv" , "lex_stuff_pvn" , "lex_stuff_pvs" , "lex_stuff_sv" , "lex_unstuff" , "parse_arithexpr" , "parse_barestmt" , "parse_block" , "parse_fullexpr" , "parse_fullstmt" , "parse_label" , "parse_listexpr" , "parse_stmtseq" , "parse_subsignature" , "parse_termexpr" , "PL_parser" , "PL_parser->bufend" , "PL_parser->bufptr" , "PL_parser->linestart" , "PL_parser->linestr" , "wrap_keyword_plugin"
- Locales
- "DECLARATION_FOR_LC_NUMERIC_MANIPULATION" , "foldEQ_locale" , "HAS_DUPLOCALE" , "HAS_FREELOCALE" , "HAS_LC_MONETARY_2008" , "HAS_LOCALECONV" , "HAS_LOCALECONV_L" , "HAS_NEWLOCALE" , "HAS_NL_LANGINFO" , "HAS_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" , "Perl_langinfo" , "Perl_setlocale" , "RESTORE_LC_NUMERIC" , "SETLOCALE_ACCEPTS_ANY_LOCALE_NAME" , "STORE_LC_NUMERIC_FORCE_TO_UNDERLYING" , "STORE_LC_NUMERIC_SET_TO_NEEDED" , "STORE_LC_NUMERIC_SET_TO_NEEDED_IN" , "switch_to_global_locale" , POSIX::localeconv, I18N::Langinfo, items "CRNCYSTR" and "THOUSEP", "Perl_langinfo" in perlapi, items "CRNCYSTR" and "THOUSEP", "sync_locale" , "WITH_LC_NUMERIC_SET_TO_NEEDED" , "WITH_LC_NUMERIC_SET_TO_NEEDED_IN"
- Magic
- "mg_clear" , "mg_copy" , "mg_find" , "mg_findext" , "mg_free" , "mg_freeext" , "mg_free_type" , "mg_get" , "mg_length" , "mg_magical" , "mg_set" , "SvTIED_obj"
- Memory Management
- "HASATTRIBUTE_MALLOC" , "HAS_MALLOC_GOOD_SIZE" , "HAS_MALLOC_SIZE" , "I_MALLOCMALLOC" , "MYMALLOC" , "Newx" , "Newxc" , "Newxz" , "PERL_MALLOC_WRAP" , "Renew" , "Renewc" , "Safefree" , "safesyscalloc" , "safesysfree" , "safesysmalloc" , "safesysrealloc"
- MRO
- "HvMROMETA", "mro_get_linear_isa" , "MRO_GET_PRIVATE_DATA", "mro_method_changed_in" , "mro_register" , "mro_set_private_data"
- Multicall Functions
- "dMULTICALL" , "MULTICALL" , "POP_MULTICALL" , "PUSH_MULTICALL"
- Numeric Functions
- "Drand01" , "Gconvert" , "grok_bin" , "grok_hex" , "grok_infnan" , "grok_number" , "grok_number_flags" , "GROK_NUMERIC_RADIX" , "grok_numeric_radix" , "grok_oct" , "isinfnan" , "my_atof" , "my_strtod" , "PERL_ABS" , "Perl_acos", "Perl_asin", "Perl_atan", "Perl_atan2", "Perl_ceil", "Perl_cos", "Perl_cosh", "Perl_exp", "Perl_floor", "Perl_fmod", "Perl_frexp", "Perl_isfinite", "Perl_isinf", "Perl_isnan", "Perl_ldexp", "Perl_log", "Perl_log10", "Perl_modf", "Perl_pow", "Perl_sin", "Perl_sinh", "Perl_sqrt", "Perl_tan", "Perl_tanh" X <Perl_isinf>X <Perl_pow>, "Perl_signbit" , "PL_hexdigit" , "READ_XDIGIT" , "scan_bin" , "scan_hex" , "scan_oct" , "seedDrand01" , "Strtod" , "Strtol" , "Strtoul"
- Optree construction
- "newASSIGNOP" , "newBINOP" , "newCONDOP" , "newDEFSVOP" , "newFOROP" , "newGIVENOP" , "newGVOP" , "newLISTOP" , "newLOGOP" , "newLOOPEX" , "newLOOPOP" , "newMETHOP" , "newMETHOP_named" , "newNULLLIST" , "newOP" , "newPADOP" , "newPMOP" , "newPVOP" , "newRANGE" , "newSLICEOP" , "newSTATEOP" , "newSVOP" , "newTRYCATCHOP" , "newUNOP" , "newUNOP_AUX" , "newWHENOP" , "newWHILEOP" , "PL_opfreehook" , "PL_peepp" , "PL_rpeepp"
- Optree Manipulation Functions
- "alloccopstash" , "block_end" , "block_start" , "ck_entersub_args_list" , "ck_entersub_args_proto" , "ck_entersub_args_proto_or_list" , "cv_const_sv" , "cv_get_call_checker" , "cv_get_call_checker_flags" , "cv_set_call_checker" , "cv_set_call_checker_flags" , "LINKLIST" , "newATTRSUB" , "newCONSTSUB" , "newCONSTSUB_flags" , "newSUB" , "newXS" , "op_append_elem" , "op_append_list" , "OP_CLASS" , "op_contextualize" , "op_convert_list" , "OP_DESC" , "op_free" , "OpHAS_SIBLING" , "OpLASTSIB_set" , "op_linklist" , "op_lvalue" , "OpMAYBESIB_set" , "OpMORESIB_set" , "OP_NAME" , "op_null" , "op_parent" , "op_prepend_elem" , "op_scope" , "OpSIBLING" , "op_sibling_splice" , "OP_TYPE_IS" , "OP_TYPE_IS_OR_WAS" , "rv2cv_op_cv"
- Pack and Unpack
- "pack_cat" , "packlist" , "unpack_str" , "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" , "PadnameSV" , "PadnameUTF8" , "pad_new" , "PL_comppad" , "PL_comppad_name" , "PL_curpad"
- Password and Group access
- "GRPASSWD" , "HAS_ENDGRENT" , "HAS_ENDGRENT_R" , "HAS_ENDPWENT" , "HAS_ENDPWENT_R" , "HAS_GETGRENT" , "HAS_GETGRENT_R" , "HAS_GETPWENT" , "HAS_GETPWENT_R" , "HAS_SETGRENT" , "HAS_SETGRENT_R" , "HAS_SETPWENT" , "HAS_SETPWENT_R" , "PWAGE" , "PWCHANGE" , "PWCLASS" , "PWCOMMENT" , "PWEXPIRE" , "PWGECOS" , "PWPASSWD" , "PWQUOTA"
- Paths to system commands
- "CSH" , "LOC_SED" , "SH_PATH"
- Prototype information
- "CRYPT_R_PROTO" , "CTERMID_R_PROTO" , "DRAND48_R_PROTO" , "ENDGRENT_R_PROTO" , "ENDHOSTENT_R_PROTO" , "ENDNETENT_R_PROTO" , "ENDPROTOENT_R_PROTO" , "ENDPWENT_R_PROTO" , "ENDSERVENT_R_PROTO" , "GDBMNDBM_H_USES_PROTOTYPES" , "GDBM_NDBM_H_USES_PROTOTYPES" , "GETGRENT_R_PROTO" , "GETGRGID_R_PROTO" , "GETGRNAM_R_PROTO" , "GETHOSTBYADDR_R_PROTO" , "GETHOSTBYNAME_R_PROTO" , "GETHOSTENT_R_PROTO" , "GETLOGIN_R_PROTO" , "GETNETBYADDR_R_PROTO" , "GETNETBYNAME_R_PROTO" , "GETNETENT_R_PROTO" , "GETPROTOBYNAME_R_PROTO" , "GETPROTOBYNUMBER_R_PROTO" , "GETPROTOENT_R_PROTO" , "GETPWENT_R_PROTO" , "GETPWNAM_R_PROTO" , "GETPWUID_R_PROTO" , "GETSERVBYNAME_R_PROTO" , "GETSERVBYPORT_R_PROTO" , "GETSERVENT_R_PROTO" , "GETSPNAM_R_PROTO" , "HAS_DBMINIT_PROTO" , "HAS_DRAND48_PROTO" , "HAS_FLOCK_PROTO" , "HAS_GETHOST_PROTOS" , "HAS_GETNET_PROTOS" , "HAS_GETPROTO_PROTOS" , "HAS_GETSERV_PROTOS" , "HAS_MODFL_PROTO" , "HAS_SBRK_PROTO" , "HAS_SETRESGID_PROTO" , "HAS_SETRESUID_PROTO" , "HAS_SHMAT_PROTOTYPE" , "HAS_SOCKATMARK_PROTO" , "HAS_SYSCALL_PROTO" , "HAS_TELLDIR_PROTO" , "NDBM_H_USES_PROTOTYPES" , "RANDOM_R_PROTO" , "READDIR_R_PROTO" , "SETGRENT_R_PROTO" , "SETHOSTENT_R_PROTO" , "SETLOCALE_R_PROTO" , "SETNETENT_R_PROTO" , "SETPROTOENT_R_PROTO" , "SETPWENT_R_PROTO" , "SETSERVENT_R_PROTO" , "SRAND48_R_PROTO" , "SRANDOM_R_PROTO" , "STRERROR_R_PROTO" , "TMPNAM_R_PROTO" , "TTYNAME_R_PROTO"
- REGEXP Functions
- "pregcomp", "pregexec", "re_dup_guts" , "regmatch_info" , "SvRX" , "SvRXOK"
- 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" , "Sigjmp_buf" , "Siglongjmp" , "SIG_NAME" , "SIG_NUM" , "Sigsetjmp" , "SIG_SIZE" , "whichsig", "whichsig_pv", "whichsig_pvn", "whichsig_sv"
- Site configuration
- "ARCHLIB" , "ARCHLIB_EXP" , "ARCHNAME" , "BIN" , "BIN_EXP" , "INSTALL_USR_BIN_PERL" , "MULTIARCH" , "PERL_INC_VERSION_LIST" , "PERL_OTHERLIBDIRS" , "PERL_RELOCATABLE_INC" , "PERL_TARGETARCH" , "PERL_USE_DEVEL" , "PERL_VENDORARCH" , "PERL_VENDORARCH_EXP" , "PERL_VENDORLIB_EXP" , "PERL_VENDORLIB_STEM" , "PRIVLIB" , "PRIVLIB_EXP" , "SITEARCH" , "SITEARCH_EXP" , "SITELIB" , "SITELIB_EXP" , "SITELIB_STEM" , "STARTPERL" , "USE_64_BIT_ALL" , "USE_64_BIT_INT" , "USE_BSD_GETPGRP" , "USE_BSD_SETPGRP" , "USE_CPLUSPLUS" , "USE_CROSS_COMPILE" , "USE_C_BACKTRACE" , "USE_DTRACE" , "USE_DYNAMIC_LOADING" , "USE_FAST_STDIO" , "USE_ITHREADS" , "USE_KERN_PROC_PATHNAME" , "USE_LARGE_FILES" , "USE_LONG_DOUBLE" , "USE_MORE_BITS" , "USE_NSGETEXECUTABLEPATH" , "USE_PERLIO" , "USE_QUADMATH" , "USE_REENTRANT_API" , "USE_SEMCTL_SEMID_DS" , "USE_SEMCTL_SEMUN" , "USE_SITECUSTOMIZE" , "USE_SOCKS" , "USE_STAT_BLOCKS" , "USE_STDIO_BASE" , "USE_STDIO_PTR" , "USE_STRICT_BY_DEFAULT" , "USE_THREADS"
- Sockets configuration values
- "HAS_SOCKADDR_IN6" , "HAS_SOCKADDR_SA_LEN" , "HAS_SOCKADDR_STORAGE" , "HAS_SOCKATMARK" , "HAS_SOCKET" , "HAS_SOCKETPAIR" , "HAS_SOCKS5_INIT" , "I_SOCKS" , "I_SYS_SOCKIO"
- Source Filters
- "filter_add", "filter_read"
- Stack Manipulation Macros
- "BHK", "BINOP", "DESTRUCTORFUNC_NOCONTEXT_t", "DESTRUCTORFUNC_t", "dMARK" , "dORIGMARK" , "dSP" , "dTARGET" , "EXTEND" , "LISTOP", "LOGOP", "LOOP", "MARK" , "mPUSHi" , "mPUSHn" , "mPUSHp" , "mPUSHs" , "mPUSHu" , "mXPUSHi" , "mXPUSHn" , "mXPUSHp" , "mXPUSHs" , "mXPUSHu" , "newXSproto" , "OP", "ORIGMARK" , "peep_t", "PL_runops", "PMOP", "POPi" , "POPl" , "POPn" , "POPp" , "POPpbytex" , "POPpx" , "POPs" , "POPu" , "POPul" , "PUSHi" , "PUSHMARK" , "PUSHmortal" , "PUSHn" , "PUSHp" , "PUSHs" , "PUSHu" , "PUTBACK" , "save_aptr", "save_ary", "SAVEBOOL", "SAVEDELETE", "SAVEDESTRUCTOR", "SAVEDESTRUCTOR_X", "SAVEFREEOP", "SAVEFREEPV", "SAVEFREESV", "save_hash", "save_hptr", "SAVEI8", "SAVEI32", "SAVEI16", "SAVEINT", "save_item", "SAVEIV", "save_list", "SAVELONG", "SAVEMORTALIZESV", "SAVEPPTR", "save_scalar", "SAVESPTR", "SAVESTACK_POS", "save_svref", "SP" , "SPAGAIN" , "TARG" , "UNOP", "XPUSHi" , "XPUSHmortal" , "XPUSHn" , "XPUSHp" , "XPUSHs" , "XPUSHu" , "XS_APIVERSION_BOOTCHECK" , "XSRETURN" , "XSRETURN_EMPTY" , "XSRETURN_IV" , "XSRETURN_NO" , "XSRETURN_NV" , "XSRETURN_PV" , "XSRETURN_UNDEF" , "XSRETURN_UV" , "XSRETURN_YES" , "XST_mIV" , "XST_mNO" , "XST_mNV" , "XST_mPV" , "XST_mUNDEF" , "XST_mUV" , "XST_mYES" , "XS_VERSION" , "XS_VERSION_BOOTCHECK"
- String Handling
- "CAT2" , "Copy" , "CopyD" , "delimcpy" , "fbm_compile" , "fbm_instr" , "foldEQ" , "ibcmp" , "ibcmp_locale" , "ibcmp_utf8" , "instr" , "memCHRs" , "memEQ" , "memEQs" , "memNE" , "memNEs" , "Move" , "MoveD" , "my_snprintf" , "my_sprintf" , "my_strlcat" , "my_strlcpy" , "my_strnlen" , "my_vsnprintf" , "ninstr" , "Nullch" , "rninstr" , "savepv" , "savepvn" , "savepvs" , "savesharedpv" , "savesharedpvn" , "savesharedpvs" , "savesharedsvpv" , "savesvpv" , "strEQ" , "strGE" , "strGT" , "STRINGIFY" , "strLE" , "strLT" , "strNE" , "strnEQ" , "strnNE" , "STR_WITH_LEN" , "Zero" , "ZeroD"
- SV Flags
- "SVt_IV" , "SVt_NULL" , "SVt_NV" , "SVt_PV" , "SVt_PVAV" , "SVt_PVCV" , "SVt_PVFM" , "SVt_PVGV" , "SVt_PVHV" , "SVt_PVIO" , "SVt_PVIV" , "SVt_PVLV" , "SVt_PVMG" , "SVt_PVNV" , "SVt_REGEXP" , "svtype"
- SV Handling
- Arena allocator API Summary
- "boolSV" ,
"croak_xs_usage" ,
"DEFSV" ,
"DEFSV_set" ,
"get_sv" ,
"isGV_with_GP" ,
"looks_like_number" ,
"MUTABLE_PTR",
"MUTABLE_AV",
"MUTABLE_CV",
"MUTABLE_GV",
"MUTABLE_HV",
"MUTABLE_IO",
"MUTABLE_SV" ,
"newRV",
"newRV_inc" ,
"newRV_noinc" ,
"newSV" ,
"newSVhek" ,
"newSViv" ,
"newSVnv" ,
"newSVpadname" ,
"newSVpv" ,
"newSVpvf" ,
"newSVpvf_nocontext" ,
"newSVpvn" ,
"newSVpvn_flags" ,
"newSVpvn_share" ,
"newSVpvn_utf8" ,
"newSVpvs" ,
"newSVpvs_flags" ,
"newSVpv_share" ,
"newSVpvs_share" ,
"newSVrv" ,
"newSVsv",
"newSVsv_nomg",
"newSVsv_flags" ,
"newSV_type" ,
"newSVuv" ,
"Nullsv" ,
"PL_na" ,
"PL_sv_no" ,
"PL_sv_undef" ,
"PL_sv_yes" ,
"PL_sv_zero" ,
"SAVE_DEFSV" ,
"sortsv" ,
"sortsv_flags" ,
"SV",
"sv_2cv" ,
"sv_2io" ,
"sv_2iv_flags" ,
"sv_2mortal" ,
"sv_2nv_flags" ,
"sv_2pvbyte" ,
"sv_2pvutf8" ,
"sv_2uv_flags" ,
"sv_backoff" ,
"sv_bless" ,
"sv_catpv",
"sv_catpv_flags",
"sv_catpv_mg",
"sv_catpv_nomg" ,
"sv_catpvf",
"sv_catpvf_nocontext",
"sv_catpvf_mg",
"sv_catpvf_mg_nocontext" ,
"sv_catpvn",
"sv_catpvn_flags",
"sv_catpvn_mg",
"sv_catpvn_nomg" ,
"sv_catpvs" ,
"sv_catpvs_flags" ,
"sv_catpvs_mg" ,
"sv_catpvs_nomg" ,
"sv_catsv",
"sv_catsv_flags",
"sv_catsv_mg",
"sv_catsv_nomg" ,
"sv_chop" ,
"sv_clear" ,
"sv_cmp" ,
"sv_cmp_flags" ,
"sv_cmp_locale" ,
"sv_cmp_locale_flags" ,
"sv_collxfrm" ,
"sv_collxfrm_flags" ,
"sv_copypv",
"sv_copypv_nomg",
"sv_copypv_flags" ,
"SvCUR" ,
"SvCUR_set" ,
"sv_dec",
"sv_dec_nomg" ,
"sv_derived_from" ,
"sv_derived_from_pv" ,
"sv_derived_from_pvn" ,
"sv_derived_from_sv" ,
"sv_does" ,
"sv_does_pv" ,
"sv_does_pvn" ,
"sv_does_sv" ,
"SvEND" ,
"sv_eq" ,
"sv_eq_flags" ,
"sv_force_normal" ,
"sv_force_normal_flags" ,
"sv_free" ,
"SvGAMAGIC" ,
"SvGETMAGIC" ,
"sv_gets" ,
"sv_get_backrefs" ,
"SvGROW" ,
"sv_inc",
"sv_inc_nomg" ,
"sv_insert" ,
"sv_insert_flags" ,
"SvIOK" ,
"SvIOK_notUV" ,
"SvIOK_off" ,
"SvIOK_on" ,
"SvIOK_only" ,
"SvIOK_only_UV" ,
"SvIOKp" ,
"SvIOK_UV" ,
"sv_isa" ,
"sv_isa_sv" ,
"SvIsCOW" ,
"SvIsCOW_shared_hash" ,
"sv_isobject" ,
"SvIV",
"SvIVx",
"SvIV_nomg" ,
"SvIV_set" ,
"SvIVX" ,
"SvLEN" ,
"sv_len" ,
"SvLEN_set" ,
"sv_len_utf8" ,
"SvLOCK" ,
"sv_magic" ,
"sv_magicext" ,
"SvMAGIC_set" ,
"sv_mortalcopy" ,
"sv_mortalcopy_flags" ,
"sv_newmortal" ,
"SvNIOK" ,
"SvNIOK_off" ,
"SvNIOKp" ,
"SvNOK" ,
"SvNOK_off" ,
"SvNOK_on" ,
"SvNOK_only" ,
"SvNOKp" ,
"sv_nolocking" ,
"sv_nounlocking" ,
"SvNV",
"SvNVx",
"SvNV_nomg" ,
"SvNV_set" ,
"SvNVX" ,
"SvOK" ,
"SvOOK" ,
"SvOOK_off" ,
"SvOOK_offset" ,
"SvPOK" ,
"SvPOK_off" ,
"SvPOK_on" ,
"SvPOK_only" ,
"SvPOK_only_UTF8" ,
"SvPOKp" ,
"sv_pos_b2u" ,
"sv_pos_b2u_flags" ,
"sv_pos_u2b" ,
"sv_pos_u2b_flags" ,
"SvPV",
"SvPVx",
"SvPV_nomg",
"SvPV_nolen",
"SvPVx_nolen",
"SvPV_nomg_nolen",
"SvPV_mutable",
"SvPV_const",
"SvPVx_const",
"SvPV_nolen_const",
"SvPVx_nolen_const",
"SvPV_nomg_const",
"SvPV_nomg_const_nolen",
"SvPV_flags",
"SvPV_flags_const",
"SvPV_flags_mutable",
"SvPVbyte",
"SvPVbyte_nomg",
"SvPVbyte_nolen",
"SvPVbytex_nolen",
"SvPVbytex",
"SvPVbyte_or_null",
"SvPVbyte_or_null_nomg",
"SvPVutf8",
"SvPVutf8x",
"SvPVutf8_nomg",
"SvPVutf8_nolen",
"SvPVutf8_or_null",
"SvPVutf8_or_null_nomg" ,
"SvPVbyte" ,
"SvPVbyte_force" ,
"SvPVbyte_nolen" ,
"SvPVbyte_nomg" ,
"SvPVbyte_or_null" ,
"SvPVbyte_or_null_nomg" ,
"SvPVCLEAR" ,
"SvPV_force",
"SvPV_force_nolen",
"SvPVx_force",
"SvPV_force_nomg",
"SvPV_force_nomg_nolen",
"SvPV_force_mutable",
"SvPV_force_flags",
"SvPV_force_flags_nolen",
"SvPV_force_flags_mutable",
"SvPVbyte_force",
"SvPVbytex_force",
"SvPVutf8_force",
"SvPVutf8x_force" ,
"SvPV_free" ,
"sv_pvn_force_flags" ,
"SvPV_renew" ,
"SvPV_set" ,
"SvPVutf8" ,
"SvPVutf8_force" ,
"SvPVutf8_nolen" ,
"SvPVutf8_nomg" ,
"SvPVutf8_or_null" ,
"SvPVutf8_or_null_nomg" ,
"SvPVX",
"SvPVXx",
"SvPVX_const",
"SvPVX_mutable" ,
"SvREADONLY" ,
"SvREADONLY_off" ,
"SvREADONLY_on" ,
"sv_ref" ,
"SvREFCNT" ,
"SvREFCNT_dec",
"SvREFCNT_dec_NN" ,
"SvREFCNT_inc",
"SvREFCNT_inc_NN",
"SvREFCNT_inc_void",
"SvREFCNT_inc_void_NN",
"SvREFCNT_inc_simple",
"SvREFCNT_inc_simple_NN",
"SvREFCNT_inc_simple_void",
"SvREFCNT_inc_simple_void_NN"
, "sv_reftype" , "sv_replace" , "sv_report_used" , "sv_reset" , "SvROK" , "SvROK_off" , "SvROK_on" , "SvRV" , "SvRV_set" , "sv_rvunweaken" , "sv_rvweaken" , "sv_setiv", "sv_setiv_mg" , "SvSETMAGIC" , "sv_setnv", "sv_setnv_mg" , "sv_setpv", "sv_setpv_mg" , "sv_setpvf", "sv_setpvf_nocontext", "sv_setpvf_mg", "sv_setpvf_mg_nocontext" , "sv_setpviv", "sv_setpviv_mg" , "sv_setpvn", "sv_setpvn_mg" , "sv_setpvs" , "sv_setpvs_mg" , "sv_setpv_bufsize" , "sv_setref_iv" , "sv_setref_nv" , "sv_setref_pv" , "sv_setref_pvn" , "sv_setref_pvs" , "sv_setref_uv" , "SvSetSV", "SvSetMagicSV", "SvSetSV_nosteal", "SvSetMagicSV_nosteal" , "sv_setsv", "sv_setsv_flags", "sv_setsv_mg", "sv_setsv_nomg" , "sv_setuv", "sv_setuv_mg" , "sv_set_undef" , "SvSHARE" , "SvSHARED_HASH" , "SvSTASH" , "SvSTASH_set" , "SvTAINT" , "SvTAINTED" , "SvTAINTED_off" , "SvTAINTED_on" , "SvTRUE", "SvTRUEx", "SvTRUE_nomg", "SvTRUE_NN", "SvTRUE_nomg_NN" , "SvTYPE" , "SvUNLOCK" , "sv_unmagic" , "sv_unmagicext" , "sv_unref" , "sv_unref_flags" , "SvUOK" , "SvUPGRADE" , "sv_upgrade" , "sv_usepvn" , "sv_usepvn_flags" , "sv_usepvn_mg" , "SvUTF8" , "sv_utf8_decode" , "sv_utf8_downgrade", "sv_utf8_downgrade_flags", "sv_utf8_downgrade_nomg" , "sv_utf8_encode" , "sv_utf8_upgrade", "sv_utf8_upgrade_nomg", "sv_utf8_upgrade_flags", "sv_utf8_upgrade_flags_grow" , "SvUTF8_off" , "SvUTF8_on" , "SvUV", "SvUVx", "SvUV_nomg" , "SvUV_set" , "SvUVX" , "SvUVXx" , "sv_vcatpvf", "sv_vcatpvf_mg" , "sv_vcatpvfn", "sv_vcatpvfn_flags" , "SvVOK" , "sv_vsetpvf", "sv_vsetpvf_mg" , "sv_vsetpvfn" , "SvVSTRING_mg" , "vnewSVpvf"
- Time
- "ASCTIME_R_PROTO" , "CTIME_R_PROTO" , "GMTIME_MAX" , "GMTIME_MIN" , "GMTIME_R_PROTO" , "HAS_ASCTIME64" , "HAS_ASCTIME_R" , "HAS_CTIME64" , "HAS_CTIME_R" , "HAS_DIFFTIME" , "HAS_DIFFTIME64" , "HAS_FUTIMES" , "HAS_GETITIMER" , "HAS_GETTIMEOFDAY" , "HAS_GMTIME64" , "HAS_GMTIME_R" , "HAS_LOCALTIME64" , "HAS_LOCALTIME_R" , "HAS_MKTIME" , "HAS_MKTIME64" , "HAS_NANOSLEEP" , "HAS_SETITIMER" , "HAS_STRFTIME" , "HAS_TIME" , "HAS_TIMEGM" , "HAS_TIMES" , "HAS_TM_TM_GMTOFF" , "HAS_TM_TM_ZONE" , "HAS_TZNAME" , "HAS_USLEEP" , "HAS_USLEEP_PROTO" , "I_TIME" , "I_UTIME" , "LOCALTIME_MAX" , "LOCALTIME_MIN" , "LOCALTIME_R_NEEDS_TZSET" , "LOCALTIME_R_PROTO" , "L_R_TZSET" , "mini_mktime" , "my_strftime"
- Typedef names
- "DB_Hash_t" , "DB_Prefix_t" , "Direntry_t" , "Fpos_t" , "Free_t" , "Gid_t" , "Gid_t_f" , "Gid_t_sign" , "Gid_t_size" , "Groups_t" , "Malloc_t" , "Mmap_t" , "Mode_t" , "Netdb_hlen_t" , "Netdb_host_t" , "Netdb_name_t" , "Netdb_net_t" , "Off_t" , "Off_t_size" , "Pid_t" , "Rand_seed_t" , "Select_fd_set_t" , "Shmat_t" , "Signal_t" , "Size_t" , "Size_t_size" , "Sock_size_t" , "SSize_t" , "Time_t" , "Uid_t" , "Uid_t_f" , "Uid_t_sign" , "Uid_t_size"
- Unicode Support
- "BOM_UTF8" , "bytes_cmp_utf8" , "bytes_from_utf8" , "bytes_to_utf8" , "DO_UTF8" , "foldEQ_utf8" , "is_ascii_string" , "is_c9strict_utf8_string" , "is_c9strict_utf8_string_loc" , "is_c9strict_utf8_string_loclen" , "isC9_STRICT_UTF8_CHAR" , "is_invariant_string" , "isSTRICT_UTF8_CHAR" , "is_strict_utf8_string" , "is_strict_utf8_string_loc" , "is_strict_utf8_string_loclen" , "is_utf8_char" , "is_utf8_char_buf" , "is_utf8_fixed_width_buf_flags" , "is_utf8_fixed_width_buf_loclen_flags" , "is_utf8_fixed_width_buf_loc_flags" , "is_utf8_invariant_string" , "is_utf8_invariant_string_loc" , "is_utf8_string" , "is_utf8_string_flags" , "is_utf8_string_loc" , "is_utf8_string_loclen" , "is_utf8_string_loclen_flags" , "is_utf8_string_loc_flags" , "is_utf8_valid_partial_char" , "is_utf8_valid_partial_char_flags" , "isUTF8_CHAR" , "isUTF8_CHAR_flags" , "LATIN1_TO_NATIVE" , "NATIVE_TO_LATIN1" , "NATIVE_TO_UNI" , "pad_compname_type" , "pv_uni_display" , "REPLACEMENT_CHARACTER_UTF8" , "sv_cat_decode" , "sv_recode_to_utf8" , "sv_uni_display" , "UNICODE_REPLACEMENT" , "UNI_TO_NATIVE" , "utf8n_to_uvchr" , "utf8n_to_uvchr_error" , "UTF8_GOT_PERL_EXTENDED", "UTF8_GOT_CONTINUATION", "UTF8_GOT_EMPTY", "UTF8_GOT_LONG", "UTF8_GOT_NONCHAR", "UTF8_GOT_NON_CONTINUATION", "UTF8_GOT_OVERFLOW", "UTF8_GOT_SHORT", "UTF8_GOT_SUPER", "UTF8_GOT_SURROGATE", "utf8n_to_uvchr_msgs" , "text", "warn_categories", "flag", "UTF8SKIP" , "UTF8_SAFE_SKIP" if you know the maximum ending pointer in the buffer pointed to by "s"; or, "UTF8_CHK_SKIP" if you don't know it, "UTF8_CHK_SKIP" , "utf8_distance" , "utf8_hop" , "utf8_hop_back" , "utf8_hop_forward" , "utf8_hop_safe" , "UTF8_IS_INVARIANT" , "UTF8_IS_NONCHAR" , "UTF8_IS_SUPER" , "UTF8_IS_SURROGATE" , "utf8_length" , "UTF8_MAXBYTES" , "UTF8_MAXBYTES_CASE" , "UTF8_SAFE_SKIP" , "UTF8_SKIP" , "utf8_to_bytes" , "utf8_to_uvchr" , "utf8_to_uvchr_buf" , "UVCHR_IS_INVARIANT" , "UVCHR_SKIP" , "uvchr_to_utf8" , "uvchr_to_utf8_flags" , "uvchr_to_utf8_flags_msgs" , "text", "warn_categories", "flag"
- Utility Functions
- "C_ARRAY_END" , "C_ARRAY_LENGTH" , "getcwd_sv" , "IN_PERL_COMPILETIME" , "IN_PERL_RUNTIME" , "IS_SAFE_SYSCALL" , "is_safe_syscall" , "my_setenv" , "Poison" , "PoisonFree" , "PoisonNew" , "PoisonWith" , "StructCopy" , "sv_destroyable" , "sv_nosharing"
- Versioning
- "new_version" , "PERL_REVISION" , "PERL_SUBVERSION" , "PERL_VERSION" , "PERL_VERSION_EQ", "PERL_VERSION_NE", "PERL_VERSION_LT", "PERL_VERSION_LE", "PERL_VERSION_GT", "PERL_VERSION_GE" , "prescan_version" , "scan_version" , "upg_version" , "vcmp" , "vnormal" , "vnumify" , "vstringify" , "vverify" , The SV is an HV or a reference to an HV, The hash contains a "version" key, The "version" key has a reference to an AV as its value
- Warning and Dieing
- "ckWARN", "ckWARN2", "ckWARN3", "ckWARN4" , "ckWARN_d", "ckWARN2_d", "ckWARN3_d", "ckWARN4_d" , "ck_warner", "ck_warner_d" , "CLEAR_ERRSV" , "croak", "croak_nocontext" , "croak_no_modify" , "croak_sv" , "die" , "die_sv", "die_nocontext" , "ERRSV" , "packWARN", "packWARN2", "packWARN3", "packWARN4" , "PL_curcop" , "PL_curstash" , "PL_defgv" , "SANE_ERRSV" , "vcroak" , "vwarn" , "vwarner" , "warn", "warn_nocontext" , "warner", "warner_nocontext" , "warn_sv"
- XS
- "ax" , "CLASS" , "dAX" , "dAXMARK" , "dITEMS" , "dMY_CXT_SV" , "dUNDERBAR" , "dXSARGS" , "dXSI32" , "items" , "ix" , "RETVAL" , "ST" , "THIS" , "UNDERBAR" , "XS" , "XS_EXTERNAL" , "XS_INTERNAL" , "XSPROTO"
- Undocumented elements
- AUTHORS
- SEE ALSO
perlintern - autogenerated documentation of purely internal Perl functions¶
- DESCRIPTION
- AV Handling
- "AvFILLp"
- Callback Functions
- Casting
- Character case changing
- Character classification
- Compiler and Preprocessor information
- Compiler directives
- Compile-time scope hooks
- "BhkENTRY" , "BhkFLAGS" , "CALL_BLOCK_HOOKS"
- Concurrency
- COP Hint Hashes
- Custom Operators
- "core_prototype"
- CV Handling
- "CvWEAKOUTSIDE" , "docatch"
- Debugging
- "free_c_backtrace" , "get_c_backtrace" , "PL_DBsingle" , "PL_DBsub" , "PL_DBtrace"
- Display functions
- Embedding and Interpreter Cloning
- "cv_dump" , "cv_forget_slab" , "do_dump_pad" , "pad_alloc_name" , "pad_block_start" , "pad_check_dup" , "pad_findlex" , "pad_fixup_inner_anons" , "pad_free" , "pad_leavemy" , "padlist_dup" , "padname_dup" , "padnamelist_dup" , "pad_push" , "pad_reset" , "pad_setsv" , "pad_sv" , "pad_swipe"
- Errno
- "dSAVEDERRNO" , "dSAVE_ERRNO" , "RESTORE_ERRNO" , "SAVE_ERRNO" , "SETERRNO"
- Exception Handling (simple) Macros
- Filesystem configuration values
- Floating point configuration values
- Formats
- General Configuration
- Global Variables
- GV Handling
- "gv_stashsvpvn_cached" , "gv_try_downgrade"
- Hook manipulation
- HV Handling
- "hv_ename_add" , "hv_ename_delete" , "refcounted_he_chain_2hv" , "refcounted_he_fetch_pv" , "refcounted_he_fetch_pvn" , "refcounted_he_fetch_pvs" , "refcounted_he_fetch_sv" , "refcounted_he_free" , "refcounted_he_inc" , "refcounted_he_new_pv" , "refcounted_he_new_pvn" , "refcounted_he_new_pvs" , "refcounted_he_new_sv"
- Input/Output
- "PL_last_in_gv" , "PL_ofsgv" , "PL_rs" , "start_glob"
- Integer configuration values
- Lexer interface
- "validate_proto"
- Locales
- Magic
- "magic_clearhint" , "magic_clearhints" , "magic_methcall" , "magic_sethint" , "mg_localize"
- Memory Management
- MRO
- "mro_get_linear_isa_dfs" , "mro_isa_changed_in" , "mro_package_moved"
- Multicall Functions
- Numeric Functions
- "grok_atoUV" , "isinfnansv"
- Optree construction
- Optree Manipulation Functions
- "finalize_optree" , "newATTRSUB_x" , "newXS_len_flags" , "optimize_optree" , "traverse_op_tree"
- Pack and Unpack
- Pad Data Structures
- "CX_CURPAD_SAVE" , "CX_CURPAD_SV" , "PAD_BASE_SV" , "PAD_CLONE_VARS" , "PAD_COMPNAME_FLAGS" , "PAD_COMPNAME_GEN" , "PAD_COMPNAME_GEN_set" , "PAD_COMPNAME_OURSTASH" , "PAD_COMPNAME_PV" , "PAD_COMPNAME_TYPE" , "PadnameIsOUR" , "PadnameIsSTATE" , "PadnameOURSTASH" , "PadnameOUTER" , "PadnameTYPE" , "PAD_RESTORE_LOCAL" , "PAD_SAVE_LOCAL" , "PAD_SAVE_SETNULLPAD" , "PAD_SETSV" , "PAD_SET_CUR" , "PAD_SET_CUR_NOSAVE" , "PAD_SV" , "PAD_SVl" , "SAVECLEARSV" , "SAVECOMPPAD" , "SAVEPADSV"
- Password and Group access
- Paths to system commands
- Prototype information
- REGEXP Functions
- Signals
- Site configuration
- Sockets configuration values
- Source Filters
- Stack Manipulation Macros
- "djSP" , "LVRET"
- String Handling
- "delimcpy_no_escape" , "quadmath_format_needed" , "quadmath_format_valid"
- SV Flags
- "SVt_INVLIST"
- SV Handling
- "PL_Sv" , "sv_2bool" , "sv_2bool_flags" , "sv_2num" , "sv_2pvbyte_nolen" , "sv_2pvutf8_nolen" , "sv_2pv_flags" , "sv_2pv_nolen" , "sv_add_arena" , "sv_clean_all" , "sv_clean_objs" , "sv_free_arenas" , "sv_grow" , "sv_iv" , "sv_newref" , "sv_nv" , "sv_pv" , "sv_pvbyte" , "sv_pvbyten" , "sv_pvbyten_force" , "sv_pvn" , "sv_pvn_force" , "sv_pvutf8" , "sv_pvutf8n" , "sv_pvutf8n_force" , "sv_taint" , "sv_tainted" , "SvTHINKFIRST" , "sv_true" , "sv_untaint" , "sv_uv"
- Time
- Typedef names
- Unicode Support
- "bytes_from_utf8_loc" , "find_uninit_var" , "isSCRIPT_RUN" , "is_utf8_non_invariant_string" , "report_uninit" , "utf8n_to_uvuni" , "utf8_to_uvuni" , "utf8_to_uvuni_buf" , "uvoffuni_to_utf8_flags" , "uvuni_to_utf8_flags" , "valid_utf8_to_uvchr" , "variant_under_utf8_count"
- Utility Functions
- Versioning
- Warning and Dieing
- "PL_dowarn"
- XS
- Undocumented elements
- AUTHORS
- SEE ALSO
perliol - C API for Perl's implementation of IO in Layers.¶
- SYNOPSIS
- DESCRIPTION
- History and Background
- Basic Structure
- Layers vs Disciplines
- Data Structures
- Functions and Attributes
- Per-instance Data
- Layers in action.
- Per-instance flag bits
- PERLIO_F_EOF, PERLIO_F_CANWRITE, PERLIO_F_CANREAD, PERLIO_F_ERROR, PERLIO_F_TRUNCATE, PERLIO_F_APPEND, PERLIO_F_CRLF, PERLIO_F_UTF8, PERLIO_F_UNBUF, PERLIO_F_WRBUF, PERLIO_F_RDBUF, PERLIO_F_LINEBUF, PERLIO_F_TEMP, PERLIO_F_OPEN, PERLIO_F_FASTGETS
- Methods in Detail
- fsize, name, size, kind, PERLIO_K_BUFFERED, PERLIO_K_RAW, PERLIO_K_CANCRLF, PERLIO_K_FASTGETS, PERLIO_K_MULTIARG, Pushed, Popped, Open, Binmode, Getarg, Fileno, Dup, Read, Write, Seek, Tell, Close, Flush, Fill, Eof, Error, Clearerr, Setlinebuf, Get_base, Get_bufsiz, Get_ptr, Get_cnt, Set_ptrcnt
- Utilities
- Implementing PerlIO Layers
- C implementations, Perl implementations
- Core Layers
- "unix", "perlio", "stdio", "crlf", "mmap", "pending", "raw", "utf8"
- Extension Layers
- ":encoding", ":scalar", ":via"
perlapio - perl's IO abstraction interface.¶
- SYNOPSIS
- DESCRIPTION
- 1. USE_STDIO, 2. USE_PERLIO, PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr(), PerlIO_open(path, mode), PerlIO_fdopen(fd,mode), PerlIO_reopen(path,mode,f), PerlIO_printf(f,fmt,...), PerlIO_vprintf(f,fmt,a), PerlIO_stdoutf(fmt,...), PerlIO_read(f,buf,count), PerlIO_write(f,buf,count), PerlIO_close(f), PerlIO_puts(f,s), PerlIO_putc(f,c), PerlIO_ungetc(f,c), PerlIO_getc(f), PerlIO_eof(f), PerlIO_error(f), PerlIO_fileno(f), PerlIO_clearerr(f), PerlIO_flush(f), PerlIO_seek(f,offset,whence), PerlIO_tell(f), PerlIO_getpos(f,p), PerlIO_setpos(f,p), PerlIO_rewind(f), PerlIO_tmpfile(), PerlIO_setlinebuf(f)
- Co-existence with stdio
- PerlIO_importFILE(f,mode), PerlIO_exportFILE(f,mode), PerlIO_releaseFILE(p,f), PerlIO_findFILE(f)
- "Fast gets" Functions
- PerlIO_fast_gets(f), PerlIO_has_cntptr(f), PerlIO_get_cnt(f), PerlIO_get_ptr(f), PerlIO_set_ptrcnt(f,p,c), PerlIO_canset_cnt(f), PerlIO_set_cnt(f,c), PerlIO_has_base(f), PerlIO_get_base(f), PerlIO_get_bufsiz(f)
- Other Functions
- PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers), '<' read, '>' write, '+' read/write, PerlIO_debug(fmt,...)
perlhack - How to hack on Perl¶
- DESCRIPTION
- SUPER QUICK PATCH GUIDE
- Check out the source repository, Ensure you're following the latest advice, Create a branch for your change, Make your change, Test your change, Commit your change, Send your change to the Perl issue tracker, Thank you, Acknowledgement, Next time
- BUG REPORTING
- PERL 5 PORTERS
- perl-changes mailing list
- #p5p on IRC
- 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
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
- Portability problems
- Problematic System Interfaces
- Security problems
- 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
- lint
- Coverity
- HP-UX cadvise (Code Advisor)
- cpd (cut-and-paste detector)
- gcc warnings
- Warnings of other C compilers
- valgrind
- AddressSanitizer
- -Dcc=clang, -Accflags=-fsanitize=address, -Aldflags=-fsanitize=address, -Alddlflags=-shared\ -fsanitize=address, -fsanitize-blacklist=`pwd`/asan_ignore
- Gprof Profiling
- -a, -b, -e routine, -f routine, -s, -z
- GCC gcov Profiling
- 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?
- The .i Targets
- AUTHOR
perlpolicy - Various and sundry policies and commitments related to the Perl core¶
- DESCRIPTION
- GOVERNANCE
- Terminology
- experimental, deprecated, discouraged, removed
- A Social Contract about Artistic Control
perlgov - Perl Rules of Governance¶
- PREAMBLE
- Mandate
- Definitions
- "Core Team", "Steering Council", "Vote Administrator"
- Core Team Members
- Abhijit Menon-Sen (inactive), Andy Dougherty (inactive), Chad Granum, Chris 'BinGOs' Williams, Craig Berry, Dagfinn Ilmari Mannsåker, Dave Mitchell, David Golden, H. Merijn Brand, Hugo van der Sanden, James E Keenan, Jan Dubois (inactive), Jesse Vincent (inactive), 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
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
perlhist - the Perl history records¶
- DESCRIPTION
- INTRODUCTION
- THE KEEPERS OF THE PUMPKIN
perldelta - 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
- 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
perl5340delta, perldelta - 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
- 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
- Configuration and Compilation
- Testing
- Platform Support
- Platform-Specific Notes
- MacOS (Darwin), Minix
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
- [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
- 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
- Changes to Existing Documentation
- "caller", "__FILE__", "__LINE__", "return", "open"
- Configuration and Compilation
- Discontinued Platforms
- Windows CE
- Platform-Specific Notes
- Linux, NetBSD 8.0, Windows, Solaris, VMS, z/OS
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
perl5302delta - what is new for perl v5.30.2¶
- DESCRIPTION
- Incompatible Changes
- Modules and Pragmata
- Configuration and Compilation
- Testing
- Platform Support
- Platform-Specific Notes
- Windows
perl5301delta - what is new for perl v5.30.1¶
- DESCRIPTION
- Incompatible Changes
- Modules and Pragmata
- Configuration and Compilation
- Testing
- Platform Support
- Platform-Specific Notes
- Win32
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
- 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
- Performance Enhancements
- Modules and Pragmata
- Configuration and Compilation
- Testing
- Platform Support
- Platform-Specific Notes
- HP-UX 11.11, Mac OS X, Minix3, Cygwin, Win32 Mingw, Windows
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
perl5282delta - what is new for perl v5.28.2¶
- DESCRIPTION
- Incompatible Changes
- Modules and Pragmata
- Platform-Specific Notes
- Windows, Mac OS X
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
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}"
- [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
- 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()"
- 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
- Changes to Existing Documentation
- "Variable length lookbehind not implemented in regex m/%s/" in perldiag, "Use of state $_ is experimental" in perldiag
- 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
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
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
- Platform-Specific Notes
- Windows
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
- Platform-Specific Notes
- FreeBSD, Windows
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
- 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
- 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{...}"
- 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
- 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
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
- Configuration and Compilation
- Platform Support
- Platform-Specific Notes
- VMS, Windows
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
perl5241delta - what is new for perl v5.24.1¶
- DESCRIPTION
- Security
- Incompatible Changes
- Modules and Pragmata
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
- 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 "(?[...])".
- 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
- 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
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
perl5223delta - what is new for perl v5.22.3¶
- DESCRIPTION
- Security
- Incompatible Changes
- Modules and Pragmata
perl5222delta - what is new for perl v5.22.2¶
- DESCRIPTION
- Security
- Incompatible Changes
- Modules and Pragmata
- Configuration and Compilation
- Platform Support
- Platform-Specific Notes
- Darwin, OS X/Darwin, ppc64el, Tru64
perl5221delta - what is new for perl v5.22.1¶
- DESCRIPTION
- Incompatible Changes
- Modules and Pragmata
- Configuration and Compilation
- Platform Support
- Platform-Specific Notes
- IRIX
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
- 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
- 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
- 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
perl5203delta - what is new for perl v5.20.3¶
- DESCRIPTION
- Incompatible Changes
- Modules and Pragmata
- Platform-Specific Notes
- Win32
perl5202delta - what is new for perl v5.20.2¶
- DESCRIPTION
- Incompatible Changes
- Modules and Pragmata
- 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
- Configuration and Compilation
- Platform Support
- Platform-Specific Notes
- Android, OpenBSD, Solaris, VMS, Windows
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
- "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
- 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
- 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
perl5184delta - what is new for perl v5.18.4¶
- DESCRIPTION
- Modules and Pragmata
- Platform-Specific Notes
- Win32
perl5182delta - what is new for perl v5.18.2¶
- DESCRIPTION
- Modules and Pragmata
perl5181delta - what is new for perl v5.18.1¶
- DESCRIPTION
- Incompatible Changes
- Modules and Pragmata
- Platform-Specific Notes
- AIX, MidnightBSD
perl5180delta - what is new for perl v5.18.0¶
- DESCRIPTION
- Core Enhancements
- 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
- 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
- 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
- Utility Changes
- Configuration and Compilation
- Testing
- Platform Support
- Discontinued Platforms
- BeOS, UTS Global, VM/ESA, MPE/IX, EPOC, Rhapsody
- Platform-Specific Notes
perl5163delta - what is new for perl v5.16.3¶
- DESCRIPTION
- Core Enhancements
- Security
- Incompatible Changes
- Deprecations
- Modules and Pragmata
perl5162delta - what is new for perl v5.16.2¶
- DESCRIPTION
- Incompatible Changes
- 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
- Incompatible Changes
- Modules and Pragmata
- Configuration and Compilation
- Platform Support
- Platform-Specific Notes
- VMS
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
- 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 $(
- 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
- Utility Changes
- Configuration and Compilation
- Platform Support
- Platform-Specific Notes
- 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
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
- Diagnostics
- Utility Changes
- Configuration and Compilation
- Platform Support
- New Platforms
- Discontinued Platforms
- Platform-Specific Notes
- VMS
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
- 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
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 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
perl5141delta - what is new for perl v5.14.1¶
- DESCRIPTION
- Core Enhancements
- Security
- Incompatible Changes
- Deprecations
- Modules and Pragmata
- Utility Changes
- Configuration and Compilation
- Testing
- Platform Support
- New Platforms
- Discontinued Platforms
- Platform-Specific Notes
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
- 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
- "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
- 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
- New APIs
- C API Changes
- Deprecated C APIs
- "Perl_ptr_table_clear", "sv_compile_2op", "find_rundefsvoffset", "CALL_FPTR" and "CPERLscope"
- Other Internal Changes
- 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
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
- Installation and Configuration Improvements
- Platform Specific Changes
- Mac OS X, NetBSD
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
perl5121delta - what is new for perl v5.12.1¶
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Modules and Pragmata
- Pragmata Changes
- Updated Modules
- Testing Improvements
- Installation and Configuration Improvements
- Configuration improvements
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
- 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
- Selected Performance Enhancements
- Installation and Configuration Improvements
- Internal Changes
- Testing
- Testing improvements
- Parallel tests, Test harness flexibility, Test watchdog
- New Tests
- New Diagnostics
- Changed Diagnostics
- "Illegal character in prototype for %s : %s", "Prototype after '%c' for %s : %s"
- 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
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
- 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
- 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
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
- 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
- Unicode
- PerlIO
- Magic
- Reblessing overloaded objects now works
- "strict" now propagates correctly into string evals
- Other fixes
- Platform Specific Fixes
- Smaller fixes
- 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.
- 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
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
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
- 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
- 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
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
- 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
- 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"
- Tied hashes in scalar context
- Net::Ping 450_service and 510_ping_udp failures
- B::C
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
- 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
- Utility Changes
- New Documentation
- Performance Enhancements
- Installation and Configuration Improvements
- 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
- 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
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
- 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
- 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
- Installation and Configuration Improvements
- <HANDLE> on empty files
- "eval '...'" improvements
- All compilation errors are true errors
- Implicitly closed filehandles are safer
- Behavior of list slices is more consistent
- "(\$)" prototype and $foo{a}
- "goto &sub" and AUTOLOAD
- "-bareword" allowed under "use integer"
- Failures in DESTROY()
- Locale bugs fixed
- Memory leaks
- Spurious subroutine stubs after failed subroutine calls
- Taint failures under "-U"
- END blocks and the "-c" switch
- Potential to leak DATA filehandles
- New or Changed Diagnostics
- "%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number
- New tests
- Incompatible Changes
- Perl Source Incompatibilities
- CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, "undef" fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and "\(%h)", vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, "%@" has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype "(*)" have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results
- C Source Incompatibilities
- "PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC"
- Compatible C Source API Changes
- "PATCHLEVEL" is now "PERL_VERSION"
- Binary Incompatibilities
- Localizing a tied hash element may leak memory
- Known test failures
- EBCDIC platforms not fully supported
- UNICOS/mk CC failures during Configure run
- Arrow operator and arrays
- Experimental features
- Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:
- Obsolete Diagnostics
- Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated
- Reporting Bugs
- SEE ALSO
- HISTORY
perl56delta - what's new for perl v5.6.0¶
- DESCRIPTION
- Core Enhancements
- Interpreter cloning, threads, and concurrency
- Lexically scoped warning categories
- Unicode and UTF-8 support
- Support for interpolating named characters
- "our" declarations
- Support for strings represented as a vector of ordinals
- Improved Perl version numbering system
- New syntax for declaring subroutine attributes
- File and directory handles can be autovivified
- open() with more than two arguments
- 64-bit support
- Large file support
- Long doubles
- "more bits"
- Enhanced support for sort() subroutines
- "sort $coderef @foo" allowed
- File globbing implemented internally
- Support for CHECK blocks
- POSIX character class syntax [: :] supported
- Better pseudo-random number generator
- Improved "qw//" operator
- Better worst-case behavior of hashes
- pack() format 'Z' supported
- pack() format modifier '!' supported
- pack() and unpack() support counted strings
- Comments in pack() templates
- Weak references
- Binary numbers supported
- Lvalue subroutines
- Some arrows may be omitted in calls through references
- Boolean assignment operators are legal lvalues
- exists() is supported on subroutine names
- exists() and delete() are supported on array elements
- Pseudo-hashes work better
- Automatic flushing of output buffers
- Better diagnostics on meaningless filehandle operations
- Where possible, buffered data discarded from duped input filehandle
- eof() has the same old magic as <>
- binmode() can be used to set :crlf and :raw modes
- "-T" filetest recognizes UTF-8 encoded files as "text"
- system(), backticks and pipe open now reflect exec() failure
- Improved diagnostics
- Diagnostics follow STDERR
- More consistent close-on-exec behavior
- syswrite() ease-of-use
- Better syntax checks on parenthesized unary operators
- Bit operators support full native integer width
- Improved security features
- More functional bareword prototype (*)
- "require" and "do" may be overridden
- $^X variables may now have names longer than one character
- New variable $^C reflects "-c" switch
- New variable $^V contains Perl version as a string
- Optional Y2K warnings
- Arrays now always interpolate into double-quoted strings
- @- and @+ provide starting/ending offsets of regex matches
- Modules and Pragmata
- Modules
- attributes, B, Benchmark, ByteLoader, constant, charnames, Data::Dumper, DB, DB_File, Devel::DProf, Devel::Peek, Dumpvalue, DynaLoader, English, Env, Fcntl, File::Compare, File::Find, File::Glob, File::Spec, File::Spec::Functions, Getopt::Long, IO, JPL, lib, Math::BigInt, Math::Complex, Math::Trig, Pod::Parser, Pod::InputObjects, Pod::Checker, podchecker, Pod::ParseUtils, Pod::Find, Pod::Select, podselect, Pod::Usage, pod2usage, Pod::Text and Pod::Man, SDBM_File, Sys::Syslog, Sys::Hostname, Term::ANSIColor, Time::Local, Win32, XSLoader, DBM Filters
- Pragmata
- 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
- Installation and Configuration Improvements
- <HANDLE> on empty files
- "eval '...'" improvements
- All compilation errors are true errors
- Implicitly closed filehandles are safer
- Behavior of list slices is more consistent
- "(\$)" prototype and $foo{a}
- "goto &sub" and AUTOLOAD
- "-bareword" allowed under "use integer"
- Failures in DESTROY()
- Locale bugs fixed
- Memory leaks
- Spurious subroutine stubs after failed subroutine calls
- Taint failures under "-U"
- END blocks and the "-c" switch
- Potential to leak DATA filehandles
- New or Changed Diagnostics
- "%s" variable %s masks earlier declaration in same %s, "my sub" not yet implemented, "our" variable %s redeclared, '!' allowed only after types %s, / cannot take a count, / must be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/: Unrecognized escape \\%c in character class passed through, /%s/ should probably be written as "%s", %s() called too early to check prototype, %s argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY element or slice, %s argument is not a subroutine name, %s package attribute may clash with future reserved word: %s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled substitution pattern, Bad realloc() ignored, Bareword found in conditional, Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem of script "%s", Can't declare class for non-scalar %s in "%s", Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken a nonreference, Character class [:%s:] unknown, Character class syntax [%s] belongs inside character classes, Constant is not %s reference, constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated, defined(%hash) is deprecated, Did not produce a valid header, (Did you mean "local" instead of "our"?), Document contains no data, entering effective %s failed, false [] range "%s" in regexp, Filehandle %s opened only for output, flock() on closed filehandle %s, Global symbol "%s" requires explicit package name, Hexadecimal number > 0xffffffff non-portable, Ill-formed CRTL environ value "%s", Ill-formed message in prime_env_iter: |%s|, Illegal binary digit %s, Illegal binary digit %s ignored, Illegal number of bits in vec, Integer overflow in %s number, Invalid %s attribute: %s, Invalid %s attributes: %s, invalid [] range "%s" in regexp, Invalid separator character %s in attribute list, Invalid separator character %s in subroutine attribute list, leaving effective %s failed, Lvalue subs returning %s not implemented yet, Method %s not permitted, Missing %sbrace%s on \N{}, Missing command in piped open, Missing name in "my sub", No %s specified for -%c, No package name allowed for variable %s in "our", No space allowed after -%c, no UTC offset information; assuming local time is UTC, Octal number > 037777777777 non-portable, panic: del_backref, panic: kid popen errno read, panic: magic_killbackrefs, Parentheses missing around "%s" list, Possible unintended interpolation of %s in string, Possible Y2K bug: %s, pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead, Premature end of script headers, Repeat count in pack overflows, Repeat count in unpack overflows, realloc() of freed memory ignored, Reference is already weak, setpgrp can't take arguments, Strange *+?{} on zero-length expression, switching effective %s is not implemented, This Perl can't reset CRTL environ elements (%s), This Perl can't set CRTL environ elements (%s=%s), Too late to run %s block, Unknown open() mode '%s', Unknown process %x sent message to prime_env_iter: %s, Unrecognized escape \\%c passed through, Unterminated attribute parameter in attribute list, Unterminated attribute list, Unterminated attribute parameter in subroutine attribute list, Unterminated subroutine attribute list, Value of CLI symbol "%s" too long, Version number must be a constant number
- New tests
- Incompatible Changes
- Perl Source Incompatibilities
- CHECK is a new keyword, Treatment of list slices of undef has changed, Format of $English::PERL_VERSION is different, Literals of the form 1.2.3 parse differently, Possibly changed pseudo-random number generator, Hashing function for hash keys has changed, "undef" fails on read only values, Close-on-exec bit may be set on pipe and socket handles, Writing "$$1" to mean "${$}1" is unsupported, delete(), each(), values() and "\(%h)", vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS, Text of some diagnostic output has changed, "%@" has been removed, Parenthesized not() behaves like a list operator, Semantics of bareword prototype "(*)" have changed, Semantics of bit operators may have changed on 64-bit platforms, More builtins taint their results
- C Source Incompatibilities
- "PERL_POLLUTE", "PERL_IMPLICIT_CONTEXT", "PERL_POLLUTE_MALLOC"
- Compatible C Source API Changes
- "PATCHLEVEL" is now "PERL_VERSION"
- Binary Incompatibilities
- Thread test failures
- EBCDIC platforms not supported
- In 64-bit HP-UX the lib/io_multihomed test may hang
- NEXTSTEP 3.3 POSIX test failure
- Tru64 (aka Digital UNIX, aka DEC OSF/1) lib/sdbm test failure with gcc
- UNICOS/mk CC failures during Configure run
- Arrow operator and arrays
- Experimental features
- Threads, Unicode, 64-bit support, Lvalue subroutines, Weak references, The pseudo-hash data type, The Compiler suite, Internal implementation of file globbing, The DB module, The regular expression code constructs:
- Obsolete Diagnostics
- Character class syntax [: :] is reserved for future extensions, Ill-formed logical name |%s| in prime_env_iter, In string, @%s now must be written as \@%s, Probable precedence problem on %s, regexp too big, Use of "$$<digit>" to mean "${$}<digit>" is deprecated
- Reporting Bugs
- SEE ALSO
- HISTORY
perl5005delta - what's new for perl5.005¶
- DESCRIPTION
- About the new versioning system
- Incompatible Changes
- WARNING: This version is not binary compatible with Perl 5.004.
- Default installation structure has changed
- Perl Source Compatibility
- C Source Compatibility
- Binary Compatibility
- Security fixes may affect compatibility
- Relaxed new mandatory warnings introduced in 5.004
- Licensing
- 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
- Modules and Pragmata
- New Modules
- B, Data::Dumper, Dumpvalue, Errno, File::Spec, ExtUtils::Installed, ExtUtils::Packlist, Fatal, IPC::SysV, Test, Tie::Array, Tie::Handle, Thread, attrs, fields, re
- Changes in existing modules
- Benchmark, Carp, CGI, Fcntl, Math::Complex, Math::Trig, POSIX, DB_File, MakeMaker, CPAN, Cwd
- Utility Changes
- Documentation Changes
- New Diagnostics
- Ambiguous call resolved as CORE::%s(), qualify as such or use &, Bad index while coercing array into hash, Bareword "%s" refers to nonexistent package, Can't call method "%s" on an undefined value, Can't check filesystem of script "%s" for nosuid, Can't coerce array into hash, Can't goto subroutine from an eval-string, Can't localize pseudo-hash element, Can't use %%! because Errno.pm is not available, Cannot find an opnumber for "%s", Character class syntax [. .] is reserved for future extensions, Character class syntax [: :] is reserved for future extensions, Character class syntax [= =] is reserved for future extensions, %s: Eval-group in insecure regular expression, %s: Eval-group not allowed, use re 'eval', %s: Eval-group not allowed at run time, Explicit blessing to '' (assuming package main), Illegal hex digit ignored, No such array field, No such field "%s" in variable %s of type %s, Out of memory during ridiculously large request, Range iterator outside integer range, Recursive inheritance detected while looking for method '%s' %s, Reference found where even-sized list expected, Undefined value assigned to typeglob, Use of reserved word "%s" is deprecated, perl: warning: Setting locale failed
- Obsolete Diagnostics
- Can't mktemp(), Can't write to temp file for -e: %s, Cannot open temporary file, regexp too big
- Configuration Changes
- BUGS
- SEE ALSO
- HISTORY
perl5004delta - what's new for perl5.004¶
- DESCRIPTION
- Supported Environments
- Core Changes
- List assignment to %ENV works
- Change to "Can't locate Foo.pm in @INC" error
- Compilation option: Binary compatibility with 5.003
- $PERL5OPT environment variable
- Limitations on -M, -m, and -T options
- More precise warnings
- Deprecated: Inherited "AUTOLOAD" for non-methods
- Previously deprecated %OVERLOAD is no longer usable
- Subroutine arguments created only when they're modified
- Group vector changeable with $)
- Fixed parsing of $$<digit>, &$<digit>, etc.
- Fixed localization of $<digit>, $&, etc.
- No resetting of $. on implicit close
- "wantarray" may return undef
- "eval EXPR" determines value of EXPR in scalar context
- Changes to tainting checks
- No glob() or <*>, No spawning if tainted $CDPATH, $ENV, $BASH_ENV, No spawning if tainted $TERM doesn't look like a terminal name
- New Opcode module and revised Safe module
- Embedding improvements
- Internal change: FileHandle class based on IO::* classes
- Internal change: PerlIO abstraction interface
- New and changed syntax
- $coderef->(PARAMS)
- New and changed builtin constants
- __PACKAGE__
- New and changed builtin variables
- $^E, $^H, $^M
- New and changed builtin functions
- delete on slices, flock, printf and sprintf, keys as an lvalue, my() in Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module VERSION LIST, prototype(FUNCTION), srand, $_ as Default, "m//gc" does not reset search position on failure, "m//x" ignores whitespace before ?*+{}, nested "sub{}" closures work now, formats work right on changing lexicals
- New builtin methods
- isa(CLASS), can(METHOD), VERSION( [NEED] )
- TIEHANDLE now supported
- TIEHANDLE classname, LIST, PRINT this, LIST, PRINTF this, LIST, READ this LIST, READLINE this, GETC this, DESTROY this
- Malloc enhancements
- -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC, -DTWO_POT_OPTIMIZE
- Miscellaneous efficiency enhancements
- Pragmata
- use autouse MODULE => qw(sub1 sub2 sub3), use blib, use blib 'dir', use constant NAME => VALUE, use locale, use ops, use vmsish
- Modules
- C Language API Changes
- "gv_fetchmethod" and "perl_call_sv", "perl_eval_pv", Extended API for manipulating hashes
- Documentation Changes
- perldelta, perlfaq, perllocale, perltoot, perlapio, perlmodlib, perldebug, perlsec
- New Diagnostics
- "my" variable %s masks earlier declaration in same scope, %s argument is not a HASH element or slice, Allocation too large: %lx, Allocation too large, Applying %s to %s will act on scalar(%s), Attempt to free nonexistent shared string, Attempt to use reference as lvalue in substr, Bareword "%s" refers to nonexistent package, Can't redefine active sort subroutine %s, Can't use bareword ("%s") as %s ref while "strict refs" in use, Cannot resolve method `%s' overloading `%s' in package `%s', Constant subroutine %s redefined, Constant subroutine %s undefined, Copy method did not return a reference, Died, Exiting pseudo-block via %s, Identifier too long, Illegal character %s (carriage return), Illegal switch in PERL5OPT: %s, Integer overflow in hex number, Integer overflow in octal number, internal error: glob failed, Invalid conversion in %s: "%s", Invalid type in pack: '%s', Invalid type in unpack: '%s', Name "%s::%s" used only once: possible typo, Null picture in formline, Offset outside string, Out of memory!, Out of memory during request for %s, panic: frexp, Possible attempt to put comments in qw() list, Possible attempt to separate words with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub found while resolving method `%s' overloading `%s' in %s, Too late for "-T" option, untie attempted while %d inner references still exist, Unrecognized character %s, Unsupported function fork, Use of "$$<digit>" to mean "${$}<digit>" is deprecated, Value of %s can be "0"; test with defined(), Variable "%s" may be unavailable, Variable "%s" will not stay shared, Warning: something's wrong, Ill-formed logical name |%s| in prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too long, Process terminated by SIG%s
- BUGS
- SEE ALSO
- HISTORY
perlbook - Books about and related to Perl¶
- DESCRIPTION
- The most popular books
- Programming Perl (the "Camel Book"):, The Perl Cookbook (the "Ram Book"):, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book")
- References
- Perl 5 Pocket Reference, Perl Debugger Pocket Reference, Regular Expression Pocket Reference
- Tutorials
- Beginning Perl, Learning Perl (the "Llama Book"), Intermediate Perl (the "Alpaca Book"), Mastering Perl, Effective Perl Programming
- Task-Oriented
- Writing Perl Modules for CPAN, The Perl Cookbook, Automating System Administration with Perl, Real World SQL Server Administration with Perl
- Special Topics
- Regular Expressions Cookbook, Programming the Perl DBI, Perl Best Practices, Higher-Order Perl, Mastering Regular Expressions, Network Programming with Perl, Perl Template Toolkit, Object Oriented Perl, Data Munging with Perl, Mastering Perl/Tk, Extending and Embedding Perl, Pro Perl Debugging
- Free (as in beer) books
- Other interesting, non-Perl books
- Programming Pearls, More Programming Pearls
- A note on freshness
- Get your book listed
perlcommunity - a brief overview of the Perl community¶
- DESCRIPTION
- Where to Find the Community
- Mailing Lists and Newsgroups
- IRC
- Websites
- <https://perl.com/>, <http://blogs.perl.org/>, <http://perlsphere.net/>, <http://perlweekly.com/>, <https://www.perlmonks.org/>, <https://stackoverflow.com/>, <http://prepan.org/>
- User Groups
- Workshops
- Hackathons
- Conventions
- The Perl Conference, OSCON
- Calendar of Perl Events
- AUTHOR
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, Regular Expression Set Operations, Subroutine signatures, Aliasing via reference, The "const" attribute, use re 'strict';, The <:win32> IO pseudolayer, 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, isa infix operator, try/catch control structure
- 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
- 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"
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
perlamiga - Perl under AmigaOS 4.1¶
- 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
- 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
- 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
perlcygwin - Perl for Cygwin¶
- Stripping Perl Binaries on Cygwin
- Optional Libraries for Perl on Cygwin
- "-lcrypt", "-lgdbm_compat" ("use GDBM_File"), "-ldb" ("use DB_File"), "cygserver" ("use IPC::SysV"), "-lutil"
- Configure-time Options for Perl on Cygwin
- "-Uusedl", "-Dusemymalloc", "-Uuseperlio", "-Dusemultiplicity", "-Uuse64bitint", "-Duselongdouble", "-Uuseithreads", "-Duselargefiles", "-Dmksymlinks"
- Suspicious Warnings on Cygwin
- Win9x and "d_eofnblk", Compiler/Preprocessor defines
- File Permissions on Cygwin
- NDBM_File and ODBM_File do not work on FAT filesystems
- "fork()" failures in io_* tests
- Script Portability on Cygwin
- Pathnames, Text/Binary, PerlIO, .exe, Cygwin vs. Windows process ids, Cygwin vs. Windows errors, rebase errors on fork or system, "chown()", Miscellaneous
- Prebuilt methods:
- "Cwd::cwd", "Cygwin::pid_to_winpid", "Cygwin::winpid_to_pid", "Cygwin::win_to_posix_path", "Cygwin::posix_to_win_path", "Cygwin::mount_table()", "Cygwin::mount_flags", "Cygwin::is_binmount", "Cygwin::sync_winenv"
- INSTALL PERL ON CYGWIN
- MANIFEST ON CYGWIN
- Documentation, Build, Configure, Make, Install, Tests, Compiled Perl Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests
- BUGS ON CYGWIN
- AUTHORS
- HISTORY
perldos - Perl under DOS, W31, W95.¶
- SYNOPSIS
- DESCRIPTION
- Prerequisites for Compiling Perl on DOS
- DJGPP, Pthreads
- Shortcomings of Perl under DOS
- Building Perl on DOS
- Testing Perl on DOS
- Installation of Perl on DOS
- Building Prerequisites for Perl on DOS
- Unpacking CPAN Modules on DOS
- Building Non-XS Modules on DOS
- Building XS Modules on DOS
- AUTHOR
- SEE ALSO
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
perlhurd - Perl version 5 on Hurd¶
- DESCRIPTION
- 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
- AUTHOR
perlmacos - Perl under Mac OS (Classic)¶
- SYNOPSIS
- DESCRIPTION
- 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
perlnetware - Perl for NetWare¶
- DESCRIPTION
- BUILD
- Tools & SDK
- Setup
- SetNWBld.bat, Buildtype.bat
- Make
- Interpreter
- Extensions
perlopenbsd - Perl version 5 on OpenBSD systems¶
- DESCRIPTION
- AUTHOR
perlos2 - Perl under OS/2, DOS, Win0.3*, Win0.95 and WinNT.¶
- SYNOPSIS
- DESCRIPTION
- "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"
- 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
- OS/2 .INF file
- Plain text
- Manpages
- HTML
- GNU "info" files
- PDF files
- "LaTeX" docs
- 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
- "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
- "PERLLIB_PREFIX"
- "PERL_BADLANG"
- "PERL_BADFREE"
- "PERL_SH_DIR"
- "USE_PERL_FLOCK"
- "TMP" or "TEMP"
- 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
perlos390 - building and installing Perl for OS/390 and z/OS¶
- SYNOPSIS
- DESCRIPTION
- Tools
- Unpacking Perl distribution on OS/390
- Setup and utilities for Perl on OS/390
- Configure Perl on OS/390
- Build, Test, Install Perl on OS/390
- Build Anomalies with Perl on OS/390
- Testing Anomalies with Perl on OS/390
- Installation Anomalies with Perl on OS/390
- Usage Hints for Perl on OS/390
- Floating Point Anomalies with Perl on OS/390
- Modules and Extensions for Perl on OS/390
perlos400 - Perl version 5 on OS/400¶
- DESCRIPTION
perlplan9 - Plan 9-specific documentation for Perl¶
- DESCRIPTION
- 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
- 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
- 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
- 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 5
- 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
perlvms - VMS-specific documentation for Perl¶
- DESCRIPTION
- Installation
- Organization of Perl Images
- 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
- Revision date
- AUTHOR
perlvos - Perl for Stratus OpenVOS¶
- TEST STATUS
- SUPPORT STATUS
- AUTHOR
- LAST UPDATE
perlwin32 - Perl under Windows¶
- SYNOPSIS
- DESCRIPTION
- <http://mingw.org>, <http://mingw-w64.org>
- Setting Up Perl on Windows
- Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2008-2019 Express/Community Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, GCC, Intel C++ Compiler
- Building
- Testing Perl on Windows
- Installation of Perl on Windows
- Usage Hints for Perl on Windows
- Environment Variables, File Globbing, Using perl from the command line, Building Extensions, Command-line Wildcard Expansion, Notes on 64-bit Windows
- Running Perl Scripts
- Miscellaneous Things
- BUGS AND CAVEATS
- ACKNOWLEDGEMENTS
- AUTHORS
- Gary Ng <71564.1743@CompuServe.COM>, Gurusamy Sarathy <gsar@activestate.com>, Nick Ing-Simmons <nick@ing-simmons.net>, Jan Dubois <jand@activestate.com>, Steve Hay <steve.m.hay@googlemail.com>
- SEE ALSO
- HISTORY
perlboot - Links to information on object-oriented programming in Perl¶
- DESCRIPTION
perlbot - Links to information on object-oriented programming in Perl¶
- DESCRIPTION
perlrepository - Links to current information on the Perl source repository¶
- DESCRIPTION
perltodo - Link to the Perl to-do list¶
- DESCRIPTION
perltooc - Links to information on object-oriented programming in Perl¶
- DESCRIPTION
perltoot - Links to information on object-oriented programming in Perl¶
- DESCRIPTION
PRAGMA DOCUMENTATION¶
attributes - get/set subroutine or variable attributes¶
- SYNOPSIS
- DESCRIPTION
- What "import" does
- Built-in Attributes
- lvalue, method, prototype(..), const, shared
- Available Subroutines
- get, reftype
- Package-specific Attribute Handling
- FETCH_type_ATTRIBUTES, MODIFY_type_ATTRIBUTES
- Syntax of Attribute Lists
- Default exports
- Available exports
- Export tags defined
autodie - Replace functions with ones that succeed or die with lexical scope¶
- SYNOPSIS
- DESCRIPTION
- EXCEPTIONS
- CATEGORIES
- FUNCTION SPECIFIC NOTES
- 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"
- FEEDBACK
- AUTHOR
- LICENSE
- SEE ALSO
- ACKNOWLEDGEMENTS
autodie::Scope::Guard - Wrapper class for calling subs at end of scope¶
- SYNOPSIS
- DESCRIPTION
- AUTHOR
- LICENSE
autodie::Scope::GuardStack - Hook stack for managing scopes via %^H¶
- SYNOPSIS
- DESCRIPTION
- AUTHOR
- LICENSE
autodie::Util - Internal Utility subroutines for autodie and Fatal¶
- SYNOPSIS
- DESCRIPTION
- 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().¶
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¶
autouse - postpone load of modules until a function is used¶
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
bigint - Transparent BigInteger support for Perl¶
- SYNOPSIS
- DESCRIPTION
- use integer vs. use bigint
- Options
- a or accuracy, p or precision, t or trace, hex, oct, l, lib, try or only, v or version
- Math Library
- Internal Format
- Sign
- Method calls
- Methods
- inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
bignum - Transparent BigNumber support for Perl¶
- SYNOPSIS
- DESCRIPTION
- Options
- a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
- Methods
- Caveats
- inf(), NaN(), e, PI(), bexp(), bpi(), upgrade(), in_effect()
- Math Library
- INTERNAL FORMAT
- SIGN
bigrat - Transparent BigNumber/BigRational support for Perl¶
- SYNOPSIS
- DESCRIPTION
- Modules Used
- Math Library
- Sign
- Methods
- inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
- MATH LIBRARY
- Caveat
- Options
- a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
blib - Use MakeMaker's uninstalled version of a package¶
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¶
constant - Perl pragma to declare constants¶
- List constants
- Defining multiple constants at once
- Magic constants
deprecate - Perl pragma for deprecating the inclusion of a module in core¶
- SYNOPSIS
- DESCRIPTION
- EXPORT
- SEE ALSO
- AUTHOR
- COPYRIGHT AND LICENSE
diagnostics, splain - produce verbose warning diagnostics¶
- SYNOPSIS
- DESCRIPTION
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
- SIDE EFFECTS
- DO NOT MIX MULTIPLE ENCODINGS
- Prior to Perl v5.22
- Prior to Encode version 1.87
- Prior to Perl v5.8.1
- "NON-EUC" doublebyte encodings, "tr///", Legend of characters above
- EXAMPLE - Greekperl
- BUGS
- Thread safety, Can't be used by more than one module in a single program, Other modules using "STDIN" and "STDOUT" get the encoded stream, literals in regex that are longer than 127 bytes, EBCDIC, "format", See also "CAVEATS"
- HISTORY
- SEE ALSO
encoding::warnings - Warn on implicit encoding conversions¶
- 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
experimental - Experimental features made easy¶
- VERSION
- SYNOPSIS
- DESCRIPTION
- "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, "const_attr" - allow the :const attribute on subs, "declared_refs" - enables aliasing via assignment to references, "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, "win32_perlio" - allows the use of the :win32 IO layer
- SEE ALSO
- AUTHOR
- COPYRIGHT AND LICENSE
feature - Perl pragma to enable new features¶
- SYNOPSIS
- DESCRIPTION
- Lexical effect
- "no feature"
- 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.
fields - compile-time class fields¶
filetest - Perl pragma to control the filetest permission operators¶
- SYNOPSIS
- DESCRIPTION
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
locale - Perl pragma to use or avoid POSIX locales for built-in operations¶
mro - Method Resolution Order¶
- SYNOPSIS
- DESCRIPTION
- OVERVIEW
- The C3 MRO
- The original Dylan paper
- "/citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1 &type=pdf" in http:
- Python 2.3 MRO
- <https://www.python.org/download/releases/2.3/mro/>
- Class::C3
- Class::C3
- AUTHOR
ok - Alternative to Test::More::use_ok¶
- SYNOPSIS
- DESCRIPTION
- CC0 1.0 Universal
open - perl pragma to set default PerlIO layers for input and output¶
- SYNOPSIS
- DESCRIPTION
- IMPLEMENTATION DETAILS
- SEE ALSO
ops - Perl pragma to restrict unsafe operations when compiling¶
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
- 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, OFFSETS, OFFSETSDBG, 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
sigtrap - Perl pragma to enable simple signal handling¶
- SIGNAL HANDLERS
- stack-trace, die, handler your-handler
- SIGNAL LISTS
- normal-signals, error-signals, old-interface-signals
- OTHER
- untrapped, any, signal, number
sort - perl pragma to control sort() behaviour¶
strict - Perl pragma to restrict unsafe constructs¶
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)"
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 "parse()" a version
- How to check for a legal version string
- "is_lax()", "is_strict()"
- How to compare version objects
- 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
- Equivalence between Decimal and Dotted-Decimal Versions
- Quoting Rules
- What about v-strings?
- Version Object Internals
- original, qv, alpha, version
- Replacement UNIVERSAL::VERSION
- 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
- 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]
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()
App::Prove - Implements the "prove" command.¶
- 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
App::Prove::State - State storage for the "prove" command.¶
- 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.¶
- Class Methods
- "state_version"
- "test_class"
App::Prove::State::Result::Test - Individual test results.¶
- Class Methods
Archive::Tar - module for manipulations of tar archives¶
- SYNOPSIS
- DESCRIPTION
- Object Methods
- $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->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
- $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¶
- 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
- CAVEATS
- SEE ALSO
- AUTHOR
- COPYRIGHT AND LICENSE
AutoSplit - split a package for autoloading¶
- SYNOPSIS
- DESCRIPTION
- $keep, $check, $modtime
- 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
- SV-RELATED CLASSES
- B::SV Methods
- REFCNT, FLAGS, object_2svref
- B::IV Methods
- IV, IVX, UVX, int_value, needs64bits, packiv
- B::NV Methods
- NV, NVX, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH
- B::RV Methods
- RV
- B::PV Methods
- PV, RV, PVX, CUR, LEN
- B::PVMG Methods
- MAGIC, SvSTASH
- B::MAGIC Methods
- MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX
- B::INVLIST Methods
- prev_index, is_offset, array_len, get_invlist_array
- B::PVLV Methods
- TARGOFF, TARGLEN, TYPE, TARG
- B::BM Methods
- USEFUL, PREVIOUS, RARE, TABLE
- B::REGEXP Methods
- REGEX, precomp, qr_anoncv, compflags
- B::GV Methods
- is_empty, NAME, SAFENAME, STASH, SV, IO, FORM, AV, HV, EGV, CV, CVGEN, LINE, FILE, FILEGV, GvREFCNT, FLAGS, GPFLAGS
- B::IO Methods
- LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV, BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD
- B::AV Methods
- FILL, MAX, ARRAY, ARRAYelt
- B::CV Methods
- STASH, START, ROOT, GV, FILE, DEPTH, PADLIST, OUTSIDE, OUTSIDE_SEQ, XSUB, XSUBANY, CvFLAGS, const_sv, NAME_HEK
- B::HV Methods
- FILL, MAX, KEYS, RITER, NAME, ARRAY
- 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, FLAGS, TYPE, SvSTASH, OURSTASH, PROTOCV, COP_SEQ_RANGE_LOW, COP_SEQ_RANGE_HIGH, PARENT_PAD_INDEX, PARENT_FAKELEX_FLAGS
- $B::overlay
- AUTHOR
B::Concise - Walk Perl syntax tree, printing concise info about ops¶
- 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
- 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¶
B::Terse - Walk Perl syntax tree, printing terse info about ops¶
- SYNOPSIS
- DESCRIPTION
- AUTHOR
B::Xref - Generates cross reference reports for Perl programs¶
Benchmark - benchmark running times of Perl code¶
- SYNOPSIS
- DESCRIPTION
- Methods
- new, debug, iters
- Standard Exports
- timeit(COUNT, CODE), timethis ( COUNT, CODE, [ TITLE, [ STYLE ]] ), timethese ( COUNT, CODEHASHREF, [ STYLE ] ), timediff ( T1, T2 ), timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] )
- Optional Exports
- clearcache ( COUNT ), clearallcache ( ), cmpthese ( COUNT, CODEHASHREF, [ STYLE ] ), cmpthese ( RESULTSHASHREF, [ STYLE ] ), countit(TIME, CODE), disablecache ( ), enablecache ( ), timesum ( T1, T2 )
- :hireswallclock
- Benchmark Object
- cpu_p, cpu_c, cpu_a, real, iters
- NOTES
- EXAMPLES
- INHERITANCE
- CAVEATS
- SEE ALSO
- AUTHORS
- MODIFICATION HISTORY
CORE - Namespace for Perl's core routines¶
- SYNOPSIS
- DESCRIPTION
- OVERRIDING CORE FUNCTIONS
- AUTHOR
- SEE ALSO
CPAN - query, download and build perl modules from CPAN sites¶
- SYNOPSIS
- DESCRIPTION
- CPAN::shell([$prompt, $command]) Starting Interactive Mode
- Searching for authors, bundles, distribution files and modules, "get", "make", "test", "install", "clean" modules or distributions, "readme", "perldoc", "look" module or distribution, "ls" author, "ls" globbing_expression, "failed", Persistence between sessions, The "force" and the "fforce" pragma, Lockfile, Signals
- CPAN::Shell
- autobundle
- hosts
- install_tested, is_tested
- mkmyconfig
- r [Module|/Regexp/]...
- recent ***EXPERIMENTAL COMMAND***
- recompile
- report Bundle|Distribution|Module
- smoke ***EXPERIMENTAL COMMAND***
- upgrade [Module|/Regexp/]...
- The four "CPAN::*" Classes: Author, Bundle, Module, Distribution
- Integrating local directories
- Redirection
- Plugin support ***EXPERIMENTAL***
- CONFIGURATION
- completion support, displaying some help: o conf help, displaying current values: o conf [KEY], changing of scalar values: o conf KEY VALUE, changing of list values: o conf KEY SHIFT|UNSHIFT|PUSH|POP|SPLICE|LIST, reverting to saved: o conf defaults, saving the config: o conf commit
- Config Variables
- "o conf <scalar option>", "o conf <scalar option> <value>", "o conf <list option>", "o conf <list option> [shift|pop]", "o conf <list option> [unshift|push|splice] <list>", interactive editing: o conf init [MATCH|LIST]
- CPAN::anycwd($path): Note on config variable getcwd
- cwd, getcwd, fastcwd, getdcwd, backtickcwd
- Note on the format of the urllist parameter
- The urllist parameter has CD-ROM support
- Maintaining the urllist parameter
- The "requires" and "build_requires" dependency declarations
- Configuration of the allow_installing_* parameters
- Configuration for individual distributions (Distroprefs)
- Filenames
- Fallback Data::Dumper and Storable
- Blueprint
- Language Specs
- comment [scalar], cpanconfig [hash], depends [hash] *** EXPERIMENTAL FEATURE ***, disabled [boolean], features [array] *** EXPERIMENTAL FEATURE ***, goto [string], install [hash], make [hash], match [hash], patches [array], pl [hash], test [hash]
- Processing Instructions
- args [array], commandline, eexpect [hash], env [hash], expect [array]
- Schema verification with "Kwalify"
- Example Distroprefs Files
- PROGRAMMER'S INTERFACE
- expand($type,@things), expandany(@things), Programming Examples
- Methods in the other Classes
- CPAN::Author::as_glimpse(), CPAN::Author::as_string(), CPAN::Author::email(), CPAN::Author::fullname(), CPAN::Author::name(), CPAN::Bundle::as_glimpse(), CPAN::Bundle::as_string(), CPAN::Bundle::clean(), CPAN::Bundle::contains(), CPAN::Bundle::force($method,@args), CPAN::Bundle::get(), CPAN::Bundle::inst_file(), CPAN::Bundle::inst_version(), CPAN::Bundle::uptodate(), CPAN::Bundle::install(), CPAN::Bundle::make(), CPAN::Bundle::readme(), CPAN::Bundle::test(), CPAN::Distribution::as_glimpse(), CPAN::Distribution::as_string(), CPAN::Distribution::author, CPAN::Distribution::pretty_id(), CPAN::Distribution::base_id(), CPAN::Distribution::clean(), CPAN::Distribution::containsmods(), CPAN::Distribution::cvs_import(), CPAN::Distribution::dir(), CPAN::Distribution::force($method,@args), CPAN::Distribution::get(), CPAN::Distribution::install(), CPAN::Distribution::isa_perl(), CPAN::Distribution::look(), CPAN::Distribution::make(), CPAN::Distribution::perldoc(), CPAN::Distribution::prefs(), CPAN::Distribution::prereq_pm(), CPAN::Distribution::readme(), CPAN::Distribution::reports(), CPAN::Distribution::read_yaml(), CPAN::Distribution::test(), CPAN::Distribution::uptodate(), CPAN::Index::force_reload(), CPAN::Index::reload(), CPAN::InfoObj::dump(), CPAN::Module::as_glimpse(), CPAN::Module::as_string(), CPAN::Module::clean(), CPAN::Module::cpan_file(), CPAN::Module::cpan_version(), CPAN::Module::cvs_import(), CPAN::Module::description(), CPAN::Module::distribution(), CPAN::Module::dslip_status(), CPAN::Module::force($method,@args), CPAN::Module::get(), CPAN::Module::inst_file(), CPAN::Module::available_file(), CPAN::Module::inst_version(), CPAN::Module::available_version(), CPAN::Module::install(), CPAN::Module::look(), CPAN::Module::make(), CPAN::Module::manpage_headline(), CPAN::Module::perldoc(), CPAN::Module::readme(), CPAN::Module::reports(), CPAN::Module::test(), CPAN::Module::uptodate(), CPAN::Module::userid()
- Cache Manager
- Bundles
- 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)
- 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
CPAN::API::HOWTO - a recipe book for programming with CPAN.pm¶
CPAN::Debug - internal debugging for CPAN.pm¶
CPAN::Distroprefs -- read and match distroprefs¶
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, 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
CPAN::HandleConfig - internal configuration handling for CPAN.pm¶
- "CLASS->safe_quote ITEM"
- LICENSE
CPAN::Kwalify - Interface between CPAN.pm and Kwalify.pm¶
CPAN::Meta - the distribution metadata for a CPAN dist¶
- Bugs / Feature Requests
- Source Code
CPAN::Meta::Converter - Convert CPAN distribution metadata structures¶
CPAN::Meta::Feature - an optional feature provided by a CPAN distribution¶
CPAN::Meta::History - history of CPAN Meta Spec changes¶
- Version 2
- Version 1.4
- Version 1.3
- Version 1.2
- Version 1.1
- Version 1.0
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
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
- 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
CPAN::Meta::History::Meta_1_3 - Version 1.3 metadata specification for META.yml¶
- meta-spec
- name
- version
- abstract
- 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¶
- meta-spec
- name
- version
- abstract
- 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¶
- MERGE STRATEGIES
- identical, set_addition, uniq_map, improvise
- AUTHORS
- COPYRIGHT AND LICENSE
CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type¶
CPAN::Meta::Requirements - a set of version requirements for a CPAN dist¶
- 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
- Bugs / Feature Requests
- Source Code
CPAN::Meta::Spec - specification for CPAN distribution metadata¶
- VERSION
- SYNOPSIS
- DESCRIPTION
- TERMINOLOGY
- distribution, module, package, consumer, producer, must, should, may, etc
- DATA TYPES
- REQUIRED FIELDS
- version, url, stable, testing, unstable
- OPTIONAL FIELDS
- file, directory, package, namespace, description, prereqs, file, version, homepage, license, bugtracker, repository
- DEPRECATED FIELDS
- Version Formats
- Decimal versions, Dotted-integer versions
- Version Ranges
- Prereq Spec
- configure, build, test, runtime, develop, requires, recommends, suggests, conflicts
- Merging and Resolving Prerequisites
- Extracting Version Numbers from Perl Modules
- Comparing Version Numbers
- Prerequisites for dynamically configured distributions
- Indexing distributions a la PAUSE
CPAN::Meta::Validator - validate CPAN distribution metadata structures¶
CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files¶
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¶
CPAN::Plugin - Base class for CPAN shell extensions¶
- SYNOPSIS
- DESCRIPTION
- AUTHOR
CPAN::Plugin::Specfile - Proof of concept implementation of a trivial CPAN::Plugin¶
- SYNOPSIS
- DESCRIPTION
- AUTHOR
CPAN::Queue - internal queue support for CPAN.pm¶
CPAN::Tarzip - internal handling of tar archives for CPAN.pm¶
CPAN::Version - utility functions to compare CPAN versions¶
Carp - alternative warn and die for modules¶
- SYNOPSIS
- DESCRIPTION
- $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
- ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput;
- $appendOutput, $consumeInput, $small, $limitOutput, $verbosity
- $status = $z->bzinflate($input, $output);
Compress::Raw::Zlib - Low-Level Interface to zlib 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