- 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.6 F

In Perl, any value that would look like "" or "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).
fatal error
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.
file descriptor
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 $filename to 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_CREAT and O_EXCL flags used in sysopen ( )).
floating point
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.
formal arguments
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 are $ARGV[0], $ARGV[1], and so on. Similarly, the formal arguments to a Perl subroutine are $_[0], $_[1], 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.
freely available
Means you don't have to pay money to get it, but the copyright on it may still belong to someone else (like Larry).
freely redistributable
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).
funny character
Someone like Larry, or one of his peculiar friends. Also refers to the strange prefixes that Perl requires as noun markers on its variables.
garbage collection
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 9781906966027Perl Language Reference ManualSee the print edition