|Perl Language Reference Manual|
by Larry Wall and others
Paperback (6"x9"), 724 pages
RRP £29.95 ($39.95)
Sales of this book support The Perl Foundation! Get a printed copy>>>
- A method used to indirectly inspect or update an object's state (its instance variables).
The scalar values that you supply to a function
or subroutine when you call it. For instance, when you call
power("puff"), the string
"puff"is the actual argument. See also argument and formal arguments.
- Some languages work directly with the memory addresses of values, but this can be like playing with fire. Perl provides a set of asbestos gloves for handling all memory management. The closest to an address operator in Perl is the backslash operator, but it gives you a hard reference, which is much safer than a memory address.
- A well-defined sequence of steps, clearly enough explained that even a computer could do them.
A nickname for something, which behaves in all ways as though you'd
used the original name instead of the nickname. Temporary aliases are
implicitly created in the loop variable for
foreachloops, in the
$_variable for map ( ) or grep ( ) operators, in
$bduring sort ( )'s comparison function, and in each element of
@_for the actual arguments of a subroutine call. Permanent aliases are explicitly created in packages by importing symbols or by assignment to typeglobs. Lexically scoped aliases for package variables are explicitly created by the our ( ) declaration.
A list of possible choices from which you may select only one, as in
"Would you like door A, B, or C?" Alternatives in regular expressions
are separated with a single vertical bar:
|. Alternatives in normal Perl expressions are separated with a double vertical bar:
||. Logical alternatives in Boolean expressions are separated with either
- Used to describe a referent that is not directly accessible through a named variable. Such a referent must be indirectly accessible through at least one hard reference. When the last hard reference goes away, the anonymous referent is destroyed without pity.
- The kind of computer you're working on, where one "kind" of computer means all those computers sharing a compatible machine language. Since Perl programs are (typically) simple text files, not executable images, a Perl program is much less sensitive to the architecture it's running on than programs in other languages, such as C, that are compiled into machine code. See also platform and operating system.
- A piece of data supplied to a program, subroutine, function, or method to tell it what it's supposed to do. Also called a "parameter".
The name of the array containing the argument vector from the
command line. If you use the empty
<>operator, ARGV is the name of both the filehandle used to traverse the arguments and the scalar containing the name of the current input file.
A symbol such as
/that tells Perl to do the arithmetic you were supposed to learn in grade school.
- An ordered sequence of values, stored such that you can easily access any of the values using an integer subscript that specifies the value's offset in the sequence.
- An archaic expression for what is more correctly referred to as list context.
- The American Standard Code for Information Interchange (a 7-bit character set adequate only for poorly representing English text). Often used loosely to describe the lowest 128 values of the various ISO-8859-X character sets, a bunch of mutually incompatible 8-bit codes sometimes described as half ASCII. See also Unicode.
- A component of a regular expression that must be true for the pattern to match but does not necessarily match any characters itself. Often used specifically to mean a zero width assertion.
- An operator whose assigned mission in life is to change the value of a variable.
Either a regular assignment, or a compound operator composed
of an ordinary assignment and some other operator, that changes the
value of a variable in place, that is, relative to its old value. For
$a += 2adds
- See hash. Please.
Determines whether you do the left operator first or the right
operator first when you have "A operator B operator C" and
the two operators are of the same precedence. Operators like
+are left associative, while operators like
**are right associative. See 7 for a list of operators and their associativity.
- Said of events or activities whose relative temporal ordering is indeterminate because too many things are going on at once. Hence, an asynchronous event is one you didn't know when to expect.
- A regular expression component potentially matching a substring containing one or more characters and treated as an indivisible syntactic unit by any following quantifier. (Contrast with an assertion that matches something of zero width and may not be quantified.)
- When Democritus gave the word "atom" to the indivisible bits of matter, he meant literally something that could not be cut: a- (not) + tomos (cuttable). An atomic operation is an action that can't be interrupted, not one forbidden in a nuclear-free zone.
A new feature that allows the declaration of variables
and subroutines with modifiers as in
sub foo : locked method. Also, another name for an instance variable of an object.
- A feature of operator overloading of objects, whereby the behavior of certain operators can be reasonably deduced using more fundamental operators. This assumes that the overloaded operators will often have the same relationships as the regular operators. See 7.
To add one to something automatically, hence the name of the
++operator. To instead subtract one from something automatically is known as an "autodecrement".
- To load on demand. (Also called "lazy" loading.) Specifically, to call an AUTOLOAD ( 8.11) subroutine on behalf of an undefined subroutine.
- To split a string automatically, as the -a switch does when running under -p or -n in order to emulate awk. (See also the "Split a package for autoloading" (AutoSplit) in the Perl Library Reference Manual (Volume 2) module, which has nothing to do with the -a switch, but a lot to do with autoloading.)
A Greco-Roman word meaning "to bring oneself to life". In Perl,
storage locations (lvalues) spontaneously generate
themselves as needed, including the creation of any hard reference
values to point to the next level of storage. The assignment
$a = "quintet"potentially creates five scalar storage locations, plus four references (in the first four scalar locations) pointing to four new anonymous arrays (to hold the last four scalar locations). But the point of autovivification is that you don't have to worry about it.
- Short for "array value", which refers to one of Perl's internal data types that holds an array. The AV type is a subclass of SV.
- Descriptive editing term--short for "awkward". Also coincidentally refers to a venerable text-processing language from which Perl derived some of its high-level ideas.
|ISBN 9781906966027||Perl Language Reference Manual||See the print edition|