|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>>>
In Perl, any value that would look like
"0"if evaluated in a string context. Since undefined values evaluate to
"", all undefined values are false, but not all false values are undefined.
- Frequently Asked Question (although not necessarily frequently answered, especially if the answer appears in the Perl FAQ shipped standard with Perl).
An uncaught exception, which causes termination of the process
after printing a message on your standard error stream. Errors
that happen inside an eval ( ) are not fatal. Instead,
the eval ( ) terminates after placing the exception
message in the
$EVAL_ERROR) variable. You can try to provoke a fatal error with the die ( ) operator (known as throwing or raising an exception), but this may be caught by a dynamically enclosing eval ( ). If not caught, the die ( ) becomes a fatal error.
- A single piece of numeric or string data that is part of a longer string, record, or line. Variable-width fields are usually split up by separators (so use split ( ) to extract the fields), while fixed-width fields are usually at fixed positions (so use unpack ( )). Instance variables are also known as fields.
- First In, First Out. See also LIFO. Also, a nickname for a named pipe.
- A named collection of data, usually stored on disk in a directory in a filesystem. Roughly like a document, if you're into office metaphors. In modern filesystems, you can actually give a file more than one name. Some files have special properties, like directories and devices.
- The little number the operating system uses to keep track of which opened file you're talking about. Perl hides the file descriptor inside a standard I/O stream and then attaches the stream to a filehandle.
file test operator
A built-in unary operator that you use to determine whether something
is true about a file, such as
-o $filenameto test whether you're the owner of the file.
- A "wildcard" match on filenames. See the glob ( ) function.
- An identifier (not necessarily related to the real name of a file) that represents a particular instance of opening a file until you close it. If you're going to open and close several different files in succession, it's fine to open each of them with the same filehandle, so you don't have to write out separate code to process each file.
- One name for a file. This name is listed in a directory, and you can use it in an open ( ) to tell the operating system exactly which file you want to open, and associate the file with a filehandle which will carry the subsequent identity of that file in your program, until you close it.
- A set of directories and files residing on a partition of the disk. Sometimes known as a "partition". You can change the file's name or even move a file around from directory to directory within a filesystem without actually moving the file itself, at least under Unix.
- A program designed to take a stream of input and transform it into a stream of output.
We tend to avoid this term because it means so many things. It may
mean a command-line switch that takes no argument
itself (such as Perl's -n and -p
flags) or, less frequently, a single-bit indicator (such as the
O_EXCLflags used in sysopen ( )).
- A method of storing numbers in "scientific notation", such that the precision of the number is independent of its magnitude (the decimal point "floats"). Perl does its numeric work with floating-point numbers (sometimes called "floats"), when it can't get away with using integers. Floating-point numbers are mere approximations of real numbers.
- The act of emptying a buffer, often before it's full.
- Far More Than Everything You Ever Wanted To Know. An exhaustive treatise on one narrow topic, something of a super-FAQ. See Tom for far more.
- To create a child process identical to the parent process at its moment of conception, at least until it gets ideas of its own. A thread with protected memory.
The generic names by which a subroutine knows its
arguments. In many languages, formal arguments are
always given individual names, but in Perl, the formal arguments are
just the elements of an array. The formal arguments to a Perl program
$ARGV, and so on. Similarly, the formal arguments to a Perl subroutine are
$_, and so on. You may give the arguments individual names by assigning the values to a my ( ) list. See also actual arguments.
- A specification of how many spaces and digits and things to put somewhere so that whatever you're printing comes out nice and pretty.
- Means you don't have to pay money to get it, but the copyright on it may still belong to someone else (like Larry).
- Means you're not in legal trouble if you give a bootleg copy of it to your friends and we find out about it. In fact, we'd rather you gave a copy to all your friends.
Historically, any software that you give away, particularly if you
make the source code available as well. Now often called
open source software. Recently there has been a trend to use the term in contradistinction to open source software, to refer only to free software released under the Free Software Foundation's GPL (General Public License), but this is difficult to justify etymologically.
- Mathematically, a mapping of each of a set of input values to a particular output value. In computers, refers to a subroutine or operator that returns a value. It may or may not have input values (called arguments).
- Someone like Larry, or one of his peculiar friends. Also refers to the strange prefixes that Perl requires as noun markers on its variables.
- A misnamed feature--it should be called, "expecting your mother to pick up after you". Strictly speaking, Perl doesn't do this, but it relies on a reference-counting mechanism to keep things tidy. However, we rarely speak strictly and will often refer to the reference-counting scheme as a form of garbage collection. (If it's any comfort, when your interpreter exits, a "real" garbage collector runs to make sure everything is cleaned up if you've been messy with circular references and such.)
|ISBN 9781906966027||Perl Language Reference Manual||See the print edition|