- publishing free software manuals
Perl Language Reference Manual
by Larry Wall and others
Paperback (6"x9"), 724 pages
ISBN 9781906966027
RRP £29.95 ($39.95)

Sales of this book support The Perl Foundation! Get a printed copy>>>

29.16 P

package
A namespace for global variables, subroutines, and the like, such that they can be kept separate from like-named symbols in other namespaces. In a sense, only the package is global, since the symbols in the package's symbol table are only accessible from code compiled outside the package by naming the package. But in another sense, all package symbols are also globals--they're just well-organized globals.
pad
Short for scratchpad.
parameter
See argument.
parent class
See base class.
parse tree
See syntax tree.
parsing
The subtle but sometimes brutal art of attempting to turn your possibly malformed program into a valid syntax tree.
patch
To fix by applying one, as it were. In the realm of hackerdom, a listing of the differences between two versions of a program as might be applied by the patch(1) program when you want to fix a bug or upgrade your old version.
PATH
The list of directories the system searches to find a program you want to execute. The list is stored as one of your environment variables, accessible in Perl as $ENV{PATH}.
pathname
A fully qualified filename such as /usr/bin/perl. Sometimes confused with PATH.
pattern
A template used in pattern matching.
pattern matching
Taking a pattern, usually a regular expression, and trying the pattern various ways on a string to see whether there's any way to make it fit. Often used to pick interesting tidbits out of a file.
permission bits
Bits that the owner of a file sets or unsets to allow or disallow access to other people. These flag bits are part of the mode word returned by the stat ( ) built-in when you ask about a file. On Unix systems, you can check the ls(1) manpage for more information.
Pern
What you get when you do Perl++ twice. Doing it only once will curl your hair. You have to increment it eight times to shampoo your hair. Lather, rinse, iterate.
pipe
A direct connection that carries the output of one process to the input of another without an intermediate temporary file. Once the pipe is set up, the two processes in question can read and write as if they were talking to a normal file, with some caveats.
pipeline
A series of processes all in a row, linked by pipes, where each passes its output stream to the next.
platform
The entire hardware and software context in which a program runs. A program written in a platform-dependent language might break if you change any of: machine, operating system, libraries, compiler, or system configuration. The perl interpreter has to be compiled differently for each platform because it is implemented in C, but programs written in the Perl language are largely platform-independent.
pod
The markup used to embed documentation into your Perl code. See "The Plain Old Documentation format" (perlpod) in the Perl Library Reference Manual (Volume 6).
pointer
A variable in a language like C that contains the exact memory location of some other item. Perl handles pointers internally so you don't have to worry about them. Instead, you just use symbolic pointers in the form of keys and variable names, or hard references, which aren't pointers (but act like pointers and do in fact contain pointers).
polymorphism
The notion that you can tell an object to do something generic, and the object will interpret the command in different ways depending on its type. [<Gk many shapes]
port
The part of the address of a TCP or UDP socket that directs packets to the correct process after finding the right machine, something like the phone extension you give when you reach the company operator. Also, the result of converting code to run on a different platform than originally intended, or the verb denoting this conversion.
portable
Once upon a time, C code compilable under both BSD and SysV. In general, code that can be easily converted to run on another platform, where "easily" can be defined however you like, and usually is. Anything may be considered portable if you try hard enough. See mobile home or London Bridge.
porter
Someone who "carries" software from one platform to another. Porting programs written in platform-dependent languages such as C can be difficult work, but porting programs like Perl is very much worth the agony.
POSIX
The Portable Operating System Interface specification.
postfix
An operator that follows its operand, as in $x++.
pp
An internal shorthand for a "push-pop" code, that is, C code implementing Perl's stack machine.
pragma
A standard module whose practical hints and suggestions are received (and possibly ignored) at compile time. Pragmas are named in all lowercase.
precedence
The rules of conduct that, in the absence of other guidance, determine what should happen first. For example, in the absence of parentheses, you always do multiplication before addition.
prefix
An operator that precedes its operand, as in ++$x.
preprocessing
What some helper process did to transform the incoming data into a form more suitable for the current process. Often done with an incoming pipe. See also C preprocessor.
procedure
A subroutine.
process
An instance of a running program. Under multitasking systems like Unix, two or more separate processes could be running the same program independently at the same time--in fact, the fork ( ) function is designed to bring about this happy state of affairs. Under other operating systems, processes are sometimes called "threads", "tasks", or "jobs", often with slight nuances in meaning.
program generator
A system that algorithmically writes code for you in a high-level language. See also code generator.
progressive matching
Pattern matching that picks up where it left off before.
property
See either instance variable or character property.
protocol
In networking, an agreed-upon way of sending messages back and forth so that neither correspondent will get too confused.
prototype
An optional part of a subroutine declaration telling the Perl compiler how many and what flavor of arguments may be passed as actual arguments, so that you can write subroutine calls that parse much like built-in functions. (Or don't parse, as the case may be.)
pseudofunction
A construct that sometimes looks like a function but really isn't. Usually reserved for lvalue modifiers like my ( ), for context modifiers like scalar ( ), and for the pick-your-own-quotes constructs, q//, qq//, qx//, qw//, qr//, m//, s///, y///, and tr///.
pseudohash
A reference to an array whose initial element happens to hold a reference to a hash. You can treat a pseudohash reference as either an array reference or a hash reference.
pseudoliteral
An operator that looks something like a literal, such as the output-grabbing operator, `command`.
public domain
Something not owned by anybody. Perl is copyrighted and is thus not in the public domain--it's just freely available and freely redistributable.
pumpkin
A notional "baton" handed around the Perl community indicating who is the lead integrator in some arena of development.
pumpking
A pumpkin holder, the person in charge of pumping the pump, or at least priming it. Must be willing to play the part of the Great Pumpkin now and then.
PV
A "pointer value", which is Perl Internals Talk for a char*.
ISBN 9781906966027Perl Language Reference ManualSee the print edition