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

accessor methods
A method used to indirectly inspect or update an object's state (its instance variables).
actual arguments
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.
address operator
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 foreach loops, in the $_ variable for map ( ) or grep ( ) operators, in $a and $b during 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 || or or.
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.
arithmetical operator
A symbol such as + or / 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.
array context
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.
assignment operator
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 example, $a += 2 adds 2 to $a.
associative array
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.)
atomic operation
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[5][5][5][5][5] = "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 9781906966027Perl Language Reference ManualSee the print edition