- 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.12 L

A name you give to a statement so that you can talk about that statement elsewhere in the program.
The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris.
left shift
A bit shift that multiplies the number by some power of 2.
leftmost longest
The preference of the regular expression engine to match the leftmost occurrence of a pattern, then given a position at which a match will occur, the preference for the longest match (presuming the use of a greedy quantifier). See 11 for much more on this subject.
Fancy term for a token.
Fancy term for a tokener.
lexical analysis
Fancy term for tokenizing.
lexical scoping
Looking at your Oxford English Dictionary through a microscope. (Also known as static scoping, because dictionaries don't change very fast.) Similarly, looking at variables stored in a private dictionary (namespace) for each scope, which are visible only from their point of declaration down to the end of the lexical scope in which they are declared. --Syn. static scoping. --Ant. dynamic scoping.
lexical variable
A variable subject to lexical scoping, declared by my ( ). Often just called a "lexical". (The our ( ) declaration declares a lexically scoped name for a global variable, which is not itself a lexical variable.)
Generally, a collection of procedures. In ancient days, referred to a collection of subroutines in a .pl file. In modern times, refers more often to the entire collection of Perl modules on your system.
Last In, First Out. See also FIFO. A LIFO is usually called a stack.
In Unix, a sequence of zero or more non-newline characters terminated with a newline character. On non-Unix machines, this is emulated by the C library even if the underlying operating system has different ideas.
line buffering
Used by a standard I/O output stream that flushes its buffer after every newline. Many standard I/O libraries automatically set up line buffering on output that is going to the terminal.
line number
The number of lines read previous to this one, plus 1. Perl keeps a separate line number for each source or input file it opens. The current source file's line number is represented by __LINE__. The current input line number (for the file that was most recently read via <FH>) is represented by the $. ($INPUT_LINE_NUMBER) variable. Many error messages report both values, if available.
Used as a noun, a name in a directory, representing a file. A given file can have multiple links to it. It's like having the same phone number listed in the phone directory under different names. As a verb, to resolve a partially compiled file's unresolved symbols into a (nearly) executable image. Linking can generally be static or dynamic, which has nothing to do with static or dynamic scoping.
A syntactic construct representing a comma-separated list of expressions, evaluated to produce a list value. Each expression in a LIST is evaluated in list context and interpolated into the list value.
An ordered set of scalar values.
list context
The situation in which an expression is expected by its surroundings (the code calling it) to return a list of values rather than a single value. Functions that want a LIST of arguments tell those arguments that they should produce a list value. See also context.
list operator
An operator that does something with a list of values, such as join ( ) or grep ( ). Usually used for named built-in operators (such as print ( ), unlink ( ), and system ( )) that do not require parentheses around their argument list.
list value
An unnamed list of temporary scalar values that may be passed around within a program from any list-generating function to any function or construct that provides a list context.
A token in a programming language such as a number or string that gives you an actual value instead of merely representing possible values as a variable does.
From Swift: someone who eats eggs little end first. Also used of computers that store the least significant byte of a word at a lower byte address than the most significant byte. Often considered superior to big-endian machines. See also big-endian.
Not meaning the same thing everywhere. A global variable in Perl can be localized inside a dynamic scope via the local ( ) operator.
logical operator
Symbols representing the concepts "and", "or", "xor", and "not".
An assertion that peeks at the string to the right of the current match location.
An assertion that peeks at the string to the left of the current match location.
A construct that performs something repeatedly, like a roller coaster.
loop control statement
Any statement within the body of a loop that can make a loop prematurely stop looping or skip an iteration. Generally you shouldn't try this on roller coasters.
loop label
A kind of key or name attached to a loop (or roller coaster) so that loop control statements can talk about which loop they want to control.
Able to serve as an lvalue.
Term used by language lawyers for a storage location you can assign a new value to, such as a variable or an element of an array. The "l" is short for "left", as in the left side of an assignment, a typical place for lvalues. An lvaluable function or expression is one to which a value may be assigned, as in pos($x) = 10.
lvalue modifier
An adjectival pseudofunction that warps the meaning of an lvalue in some declarative fashion. Currently there are three lvalue modifiers: my ( ), our ( ), and local ( ).
ISBN 9781906966027Perl Language Reference ManualSee the print edition