1PERLGLOSSARY(1)        Perl Programmers Reference Guide        PERLGLOSSARY(1)
2
3
4

NAME

6       perlglossary - Perl Glossary
7

DESCRIPTION

9       A glossary of terms (technical and otherwise) used in the Perl
10       documentation.  Other useful sources include the Free On-Line
11       Dictionary of Computing <http://foldoc.doc.ic.ac.uk/foldoc/index.html>,
12       the Jargon File <http://catb.org/~esr/jargon/>, and Wikipedia
13       <http://www.wikipedia.org/>.
14
15   A
16       accessor methods
17           A "method" used to indirectly inspect or update an "object"'s state
18           (its instance variables).
19
20       actual arguments
21           The scalar values that you supply to a "function" or "subroutine"
22           when you call it.  For instance, when you call "power("puff")", the
23           string "puff" is the actual argument.  See also "argument" and
24           "formal arguments".
25
26       address operator
27           Some languages work directly with the memory addresses of values,
28           but this can be like playing with fire.  Perl provides a set of
29           asbestos gloves for handling all memory management.  The closest to
30           an address operator in Perl is the backslash operator, but it gives
31           you a "hard reference", which is much safer than a memory address.
32
33       algorithm
34           A well-defined sequence of steps, clearly enough explained that
35           even a computer could do them.
36
37       alias
38           A nickname for something, which behaves in all ways as though you'd
39           used the original name instead of the nickname.  Temporary aliases
40           are implicitly created in the loop variable for "foreach" loops, in
41           the $_ variable for map or grep operators, in $a and $b during
42           sort's comparison function, and in each element of @_ for the
43           "actual arguments" of a subroutine call.  Permanent aliases are
44           explicitly created in packages by importing symbols or by
45           assignment to typeglobs.  Lexically scoped aliases for package
46           variables are explicitly created by the our declaration.
47
48       alternatives
49           A list of possible choices from which you may select only one, as
50           in "Would you like door A, B, or C?"  Alternatives in regular
51           expressions are separated with a single vertical bar: "|".
52           Alternatives in normal Perl expressions are separated with a double
53           vertical bar: "||".  Logical alternatives in "Boolean" expressions
54           are separated with either "||" or "or".
55
56       anonymous
57           Used to describe a "referent" that is not directly accessible
58           through a named "variable".  Such a referent must be indirectly
59           accessible through at least one "hard reference".  When the last
60           hard reference goes away, the anonymous referent is destroyed
61           without pity.
62
63       architecture
64           The kind of computer you're working on, where one "kind" of
65           computer means all those computers sharing a compatible machine
66           language.  Since Perl programs are (typically) simple text files,
67           not executable images, a Perl program is much less sensitive to the
68           architecture it's running on than programs in other languages, such
69           as C, that are compiled into machine code.  See also "platform" and
70           "operating system".
71
72       argument
73           A piece of data supplied to a program, "subroutine", "function", or
74           "method" to tell it what it's supposed to do.  Also called a
75           "parameter".
76
77       ARGV
78           The name of the array containing the "argument" "vector" from the
79           command line.  If you use the empty "<>" operator, "ARGV" is the
80           name of both the "filehandle" used to traverse the arguments and
81           the "scalar" containing the name of the current input file.
82
83       arithmetical operator
84           A "symbol" such as "+" or "/" that tells Perl to do the arithmetic
85           you were supposed to learn in grade school.
86
87       array
88           An ordered sequence of values, stored such that you can easily
89           access any of the values using an integer "subscript" that
90           specifies the value's "offset" in the sequence.
91
92       array context
93           An archaic expression for what is more correctly referred to as
94           "list context".
95
96       ASCII
97           The American Standard Code for Information Interchange (a 7-bit
98           character set adequate only for poorly representing English text).
99           Often used loosely to describe the lowest 128 values of the various
100           ISO-8859-X character sets, a bunch of mutually incompatible 8-bit
101           codes sometimes described as half ASCII.  See also "Unicode".
102
103       assertion
104           A component of a "regular expression" that must be true for the
105           pattern to match but does not necessarily match any characters
106           itself.  Often used specifically to mean a "zero width" assertion.
107
108       assignment
109           An "operator" whose assigned mission in life is to change the value
110           of a "variable".
111
112       assignment operator
113           Either a regular "assignment", or a compound "operator" composed of
114           an ordinary assignment and some other operator, that changes the
115           value of a variable in place, that is, relative to its old value.
116           For example, "$a += 2" adds 2 to $a.
117
118       associative array
119           See "hash".  Please.
120
121       associativity
122           Determines whether you do the left "operator" first or the right
123           "operator" first when you have "A "operator" B "operator" C" and
124           the two operators are of the same precedence.  Operators like "+"
125           are left associative, while operators like "**" are right
126           associative.  See perlop for a list of operators and their
127           associativity.
128
129       asynchronous
130           Said of events or activities whose relative temporal ordering is
131           indeterminate because too many things are going on at once.  Hence,
132           an asynchronous event is one you didn't know when to expect.
133
134       atom
135           A "regular expression" component potentially matching a "substring"
136           containing one or more characters and treated as an indivisible
137           syntactic unit by any following "quantifier".  (Contrast with an
138           "assertion" that matches something of "zero width" and may not be
139           quantified.)
140
141       atomic operation
142           When Democritus gave the word "atom" to the indivisible bits of
143           matter, he meant literally something that could not be cut: a-
144           (not) + tomos (cuttable).  An atomic operation is an action that
145           can't be interrupted, not one forbidden in a nuclear-free zone.
146
147       attribute
148           A new feature that allows the declaration of variables and
149           subroutines with modifiers as in "sub foo : locked method".  Also,
150           another name for an "instance variable" of an "object".
151
152       autogeneration
153           A feature of "operator overloading" of objects, whereby the
154           behavior of certain operators can be reasonably deduced using more
155           fundamental operators.  This assumes that the overloaded operators
156           will often have the same relationships as the regular operators.
157           See perlop.
158
159       autoincrement
160           To add one to something automatically, hence the name of the "++"
161           operator.  To instead subtract one from something automatically is
162           known as an "autodecrement".
163
164       autoload
165           To load on demand.  (Also called "lazy" loading.)  Specifically, to
166           call an AUTOLOAD subroutine on behalf of an undefined subroutine.
167
168       autosplit
169           To split a string automatically, as the -a "switch" does when
170           running under -p or -n in order to emulate "awk".  (See also the
171           AutoSplit module, which has nothing to do with the -a switch, but a
172           lot to do with autoloading.)
173
174       autovivification
175           A Greco-Roman word meaning "to bring oneself to life".  In Perl,
176           storage locations (lvalues) spontaneously generate themselves as
177           needed, including the creation of any "hard reference" values to
178           point to the next level of storage.  The assignment
179           "$a[5][5][5][5][5] = "quintet"" potentially creates five scalar
180           storage locations, plus four references (in the first four scalar
181           locations) pointing to four new anonymous arrays (to hold the last
182           four scalar locations).  But the point of autovivification is that
183           you don't have to worry about it.
184
185       AV  Short for "array value", which refers to one of Perl's internal
186           data types that holds an "array".  The "AV" type is a subclass of
187           "SV".
188
189       awk Descriptive editing term--short for "awkward".  Also coincidentally
190           refers to a venerable text-processing language from which Perl
191           derived some of its high-level ideas.
192
193   B
194       backreference
195           A substring captured by a subpattern within unadorned parentheses
196           in a "regex".  Backslashed decimal numbers ("\1", "\2", etc.)
197           later in the same pattern refer back to the corresponding
198           subpattern in the current match.  Outside the pattern, the numbered
199           variables ($1, $2, etc.) continue to refer to these same values, as
200           long as the pattern was the last successful match of the current
201           dynamic scope.
202
203       backtracking
204           The practice of saying, "If I had to do it all over, I'd do it
205           differently," and then actually going back and doing it all over
206           differently.  Mathematically speaking, it's returning from an
207           unsuccessful recursion on a tree of possibilities.  Perl backtracks
208           when it attempts to match patterns with a "regular expression", and
209           its earlier attempts don't pan out.  See "Backtracking" in perlre.
210
211       backward compatibility
212           Means you can still run your old program because we didn't break
213           any of the features or bugs it was relying on.
214
215       bareword
216           A word sufficiently ambiguous to be deemed illegal under use strict
217           'subs'.  In the absence of that stricture, a bareword is treated as
218           if quotes were around it.
219
220       base class
221           A generic "object" type; that is, a "class" from which other, more
222           specific classes are derived genetically by "inheritance".  Also
223           called a "superclass" by people who respect their ancestors.
224
225       big-endian
226           From Swift: someone who eats eggs big end first.  Also used of
227           computers that store the most significant "byte" of a word at a
228           lower byte address than the least significant byte.  Often
229           considered superior to little-endian machines.  See also "little-
230           endian".
231
232       binary
233           Having to do with numbers represented in base 2.  That means
234           there's basically two numbers, 0 and 1.  Also used to describe a
235           "non-text file", presumably because such a file makes full use of
236           all the binary bits in its bytes.  With the advent of "Unicode",
237           this distinction, already suspect, loses even more of its meaning.
238
239       binary operator
240           An "operator" that takes two operands.
241
242       bind
243           To assign a specific "network address" to a "socket".
244
245       bit An integer in the range from 0 to 1, inclusive.  The smallest
246           possible unit of information storage.  An eighth of a "byte" or of
247           a dollar.  (The term "Pieces of Eight" comes from being able to
248           split the old Spanish dollar into 8 bits, each of which still
249           counted for money.  That's why a 25-cent piece today is still "two
250           bits".)
251
252       bit shift
253           The movement of bits left or right in a computer word, which has
254           the effect of multiplying or dividing by a power of 2.
255
256       bit string
257           A sequence of bits that is actually being thought of as a sequence
258           of bits, for once.
259
260       bless
261           In corporate life, to grant official approval to a thing, as in,
262           "The VP of Engineering has blessed our WebCruncher project."
263           Similarly in Perl, to grant official approval to a "referent" so
264           that it can function as an "object", such as a WebCruncher object.
265           See "bless" in perlfunc.
266
267       block
268           What a "process" does when it has to wait for something: "My
269           process blocked waiting for the disk."  As an unrelated noun, it
270           refers to a large chunk of data, of a size that the "operating
271           system" likes to deal with (normally a power of two such as 512 or
272           8192).  Typically refers to a chunk of data that's coming from or
273           going to a disk file.
274
275       BLOCK
276           A syntactic construct consisting of a sequence of Perl statements
277           that is delimited by braces.  The "if" and "while" statements are
278           defined in terms of BLOCKs, for instance.  Sometimes we also say
279           "block" to mean a lexical scope; that is, a sequence of statements
280           that act like a "BLOCK", such as within an eval or a file, even
281           though the statements aren't delimited by braces.
282
283       block buffering
284           A method of making input and output efficient by passing one
285           "block" at a time.  By default, Perl does block buffering to disk
286           files.  See "buffer" and "command buffering".
287
288       Boolean
289           A value that is either "true" or "false".
290
291       Boolean context
292           A special kind of "scalar context" used in conditionals to decide
293           whether the "scalar value" returned by an expression is "true" or
294           "false".  Does not evaluate as either a string or a number.  See
295           "context".
296
297       breakpoint
298           A spot in your program where you've told the debugger to stop
299           execution so you can poke around and see whether anything is wrong
300           yet.
301
302       broadcast
303           To send a "datagram" to multiple destinations simultaneously.
304
305       BSD A psychoactive drug, popular in the 80s, probably developed at U.
306           C. Berkeley or thereabouts.  Similar in many ways to the
307           prescription-only medication called "System V", but infinitely more
308           useful.  (Or, at least, more fun.)  The full chemical name is
309           "Berkeley Standard Distribution".
310
311       bucket
312           A location in a "hash table" containing (potentially) multiple
313           entries whose keys "hash" to the same hash value according to its
314           hash function.  (As internal policy, you don't have to worry about
315           it, unless you're into internals, or policy.)
316
317       buffer
318           A temporary holding location for data.  Block buffering means that
319           the data is passed on to its destination whenever the buffer is
320           full.  Line buffering means that it's passed on whenever a complete
321           line is received.  Command buffering means that it's passed every
322           time you do a print command (or equivalent).  If your output is
323           unbuffered, the system processes it one byte at a time without the
324           use of a holding area.  This can be rather inefficient.
325
326       built-in
327           A "function" that is predefined in the language.  Even when hidden
328           by "overriding", you can always get at a built-in function by
329           qualifying its name with the "CORE::" pseudo-package.
330
331       bundle
332           A group of related modules on "CPAN".  (Also, sometimes refers to a
333           group of command-line switches grouped into one "switch cluster".)
334
335       byte
336           A piece of data worth eight bits in most places.
337
338       bytecode
339           A pidgin-like language spoken among 'droids when they don't wish to
340           reveal their orientation (see "endian").  Named after some similar
341           languages spoken (for similar reasons) between compilers and
342           interpreters in the late 20th century.  These languages are
343           characterized by representing everything as a non-architecture-
344           dependent sequence of bytes.
345
346   C
347       C   A language beloved by many for its inside-out "type" definitions,
348           inscrutable "precedence" rules, and heavy "overloading" of the
349           function-call mechanism.  (Well, actually, people first switched to
350           C because they found lowercase identifiers easier to read than
351           upper.)  Perl is written in C, so it's not surprising that Perl
352           borrowed a few ideas from it.
353
354       C preprocessor
355           The typical C compiler's first pass, which processes lines
356           beginning with "#" for conditional compilation and macro definition
357           and does various manipulations of the program text based on the
358           current definitions.  Also known as cpp(1).
359
360       call by reference
361           An "argument"-passing mechanism in which the "formal arguments"
362           refer directly to the "actual arguments", and the "subroutine" can
363           change the actual arguments by changing the formal arguments.  That
364           is, the formal argument is an "alias" for the actual argument.  See
365           also "call by value".
366
367       call by value
368           An "argument"-passing mechanism in which the "formal arguments"
369           refer to a copy of the "actual arguments", and the "subroutine"
370           cannot change the actual arguments by changing the formal
371           arguments.  See also "call by reference".
372
373       callback
374           A "handler" that you register with some other part of your program
375           in the hope that the other part of your program will "trigger" your
376           handler when some event of interest transpires.
377
378       canonical
379           Reduced to a standard form to facilitate comparison.
380
381       capturing
382           The use of parentheses around a "subpattern" in a "regular
383           expression" to store the matched "substring" as a "backreference".
384           (Captured strings are also returned as a list in "list context".)
385
386       character
387           A small integer representative of a unit of orthography.
388           Historically, characters were usually stored as fixed-width
389           integers (typically in a byte, or maybe two, depending on the
390           character set), but with the advent of UTF-8, characters are often
391           stored in a variable number of bytes depending on the size of the
392           integer that represents the character.  Perl manages this
393           transparently for you, for the most part.
394
395       character class
396           A square-bracketed list of characters used in a "regular
397           expression" to indicate that any character of the set may occur at
398           a given point.  Loosely, any predefined set of characters so used.
399
400       character property
401           A predefined "character class" matchable by the "\p" "metasymbol".
402           Many standard properties are defined for "Unicode".
403
404       circumfix operator
405           An "operator" that surrounds its "operand", like the angle
406           operator, or parentheses, or a hug.
407
408       class
409           A user-defined "type", implemented in Perl via a "package" that
410           provides (either directly or by inheritance) methods (that is,
411           subroutines) to handle instances of the class (its objects).  See
412           also "inheritance".
413
414       class method
415           A "method" whose "invocant" is a "package" name, not an "object"
416           reference.  A method associated with the class as a whole.
417
418       client
419           In networking, a "process" that initiates contact with a "server"
420           process in order to exchange data and perhaps receive a service.
421
422       cloister
423           A "cluster" used to restrict the scope of a "regular expression
424           modifier".
425
426       closure
427           An "anonymous" subroutine that, when a reference to it is generated
428           at run time, keeps track of the identities of externally visible
429           lexical variables even after those lexical variables have
430           supposedly gone out of "scope".  They're called "closures" because
431           this sort of behavior gives mathematicians a sense of closure.
432
433       cluster
434           A parenthesized "subpattern" used to group parts of a "regular
435           expression" into a single "atom".
436
437       CODE
438           The word returned by the ref function when you apply it to a
439           reference to a subroutine.  See also "CV".
440
441       code generator
442           A system that writes code for you in a low-level language, such as
443           code to implement the backend of a compiler.  See "program
444           generator".
445
446       code subpattern
447           A "regular expression" subpattern whose real purpose is to execute
448           some Perl code, for example, the "(?{...})" and "(??{...})"
449           subpatterns.
450
451       collating sequence
452           The order into which characters sort.  This is used by "string"
453           comparison routines to decide, for example, where in this glossary
454           to put "collating sequence".
455
456       command
457           In "shell" programming, the syntactic combination of a program name
458           and its arguments.  More loosely, anything you type to a shell (a
459           command interpreter) that starts it doing something.  Even more
460           loosely, a Perl "statement", which might start with a "label" and
461           typically ends with a semicolon.
462
463       command buffering
464           A mechanism in Perl that lets you store up the output of each Perl
465           "command" and then flush it out as a single request to the
466           "operating system".  It's enabled by setting the $| ($AUTOFLUSH)
467           variable to a true value.  It's used when you don't want data
468           sitting around not going where it's supposed to, which may happen
469           because the default on a "file" or "pipe" is to use "block
470           buffering".
471
472       command name
473           The name of the program currently executing, as typed on the
474           command line.  In C, the "command" name is passed to the program as
475           the first command-line argument.  In Perl, it comes in separately
476           as $0.
477
478       command-line arguments
479           The values you supply along with a program name when you tell a
480           "shell" to execute a "command".  These values are passed to a Perl
481           program through @ARGV.
482
483       comment
484           A remark that doesn't affect the meaning of the program.  In Perl,
485           a comment is introduced by a "#" character and continues to the end
486           of the line.
487
488       compilation unit
489           The "file" (or "string", in the case of eval) that is currently
490           being compiled.
491
492       compile phase
493           Any time before Perl starts running your main program.  See also
494           "run phase".  Compile phase is mostly spent in "compile time", but
495           may also be spent in "run time" when "BEGIN" blocks, use
496           declarations, or constant subexpressions are being evaluated.  The
497           startup and import code of any use declaration is also run during
498           compile phase.
499
500       compile time
501           The time when Perl is trying to make sense of your code, as opposed
502           to when it thinks it knows what your code means and is merely
503           trying to do what it thinks your code says to do, which is "run
504           time".
505
506       compiler
507           Strictly speaking, a program that munches up another program and
508           spits out yet another file containing the program in a "more
509           executable" form, typically containing native machine instructions.
510           The perl program is not a compiler by this definition, but it does
511           contain a kind of compiler that takes a program and turns it into a
512           more executable form (syntax trees) within the perl process itself,
513           which the "interpreter" then interprets.  There are, however,
514           extension modules to get Perl to act more like a "real" compiler.
515           See O.
516
517       composer
518           A "constructor" for a "referent" that isn't really an "object",
519           like an anonymous array or a hash (or a sonata, for that matter).
520           For example, a pair of braces acts as a composer for a hash, and a
521           pair of brackets acts as a composer for an array.  See "Making
522           References" in perlref.
523
524       concatenation
525           The process of gluing one cat's nose to another cat's tail.  Also,
526           a similar operation on two strings.
527
528       conditional
529           Something "iffy".  See "Boolean context".
530
531       connection
532           In telephony, the temporary electrical circuit between the caller's
533           and the callee's phone.  In networking, the same kind of temporary
534           circuit between a "client" and a "server".
535
536       construct
537           As a noun, a piece of syntax made up of smaller pieces.  As a
538           transitive verb, to create an "object" using a "constructor".
539
540       constructor
541           Any "class method", instance "method", or "subroutine" that
542           composes, initializes, blesses, and returns an "object".  Sometimes
543           we use the term loosely to mean a "composer".
544
545       context
546           The surroundings, or environment.  The context given by the
547           surrounding code determines what kind of data a particular
548           "expression" is expected to return.  The three primary contexts are
549           "list context", "scalar context", and "void context".  Scalar
550           context is sometimes subdivided into "Boolean context", "numeric
551           context", "string context", and "void context".  There's also a
552           "don't care" scalar context (which is dealt with in Programming
553           Perl, Third Edition, Chapter 2, "Bits and Pieces" if you care).
554
555       continuation
556           The treatment of more than one physical "line" as a single logical
557           line.  "Makefile" lines are continued by putting a backslash before
558           the "newline".  Mail headers as defined by RFC 822 are continued by
559           putting a space or tab after the newline.  In general, lines in
560           Perl do not need any form of continuation mark, because
561           "whitespace" (including newlines) is gleefully ignored.  Usually.
562
563       core dump
564           The corpse of a "process", in the form of a file left in the
565           "working directory" of the process, usually as a result of certain
566           kinds of fatal error.
567
568       CPAN
569           The Comprehensive Perl Archive Network.  (See "What modules and
570           extensions are available for Perl?  What is CPAN?  What does
571           CPAN/src/... mean?" in perlfaq2).
572
573       cracker
574           Someone who breaks security on computer systems.  A cracker may be
575           a true "hacker" or only a "script kiddie".
576
577       current package
578           The "package" in which the current statement is compiled.  Scan
579           backwards in the text of your program through the current lexical
580           scope or any enclosing lexical scopes till you find a package
581           declaration.  That's your current package name.
582
583       current working directory
584           See "working directory".
585
586       currently selected output channel
587           The last "filehandle" that was designated with
588           select("FILEHANDLE"); "STDOUT", if no filehandle has been selected.
589
590       CV  An internal "code value" typedef, holding a "subroutine".  The "CV"
591           type is a subclass of "SV".
592
593   D
594       dangling statement
595           A bare, single "statement", without any braces, hanging off an "if"
596           or "while" conditional.  C allows them.  Perl doesn't.
597
598       data structure
599           How your various pieces of data relate to each other and what shape
600           they make when you put them all together, as in a rectangular table
601           or a triangular-shaped tree.
602
603       data type
604           A set of possible values, together with all the operations that
605           know how to deal with those values.  For example, a numeric data
606           type has a certain set of numbers that you can work with and
607           various mathematical operations that you can do on the numbers but
608           would make little sense on, say, a string such as "Kilroy".
609           Strings have their own operations, such as "concatenation".
610           Compound types made of a number of smaller pieces generally have
611           operations to compose and decompose them, and perhaps to rearrange
612           them.  Objects that model things in the real world often have
613           operations that correspond to real activities.  For instance, if
614           you model an elevator, your elevator object might have an
615           "open_door()" "method".
616
617       datagram
618           A packet of data, such as a "UDP" message, that (from the viewpoint
619           of the programs involved) can be sent independently over the
620           network.  (In fact, all packets are sent independently at the "IP"
621           level, but "stream" protocols such as "TCP" hide this from your
622           program.)
623
624       DBM Stands for "Data Base Management" routines, a set of routines that
625           emulate an "associative array" using disk files.  The routines use
626           a dynamic hashing scheme to locate any entry with only two disk
627           accesses.  DBM files allow a Perl program to keep a persistent
628           "hash" across multiple invocations.  You can tie your hash
629           variables to various DBM implementations--see AnyDBM_File and
630           DB_File.
631
632       declaration
633           An "assertion" that states something exists and perhaps describes
634           what it's like, without giving any commitment as to how or where
635           you'll use it.  A declaration is like the part of your recipe that
636           says, "two cups flour, one large egg, four or five tadpoles..."
637           See "statement" for its opposite.  Note that some declarations also
638           function as statements.  Subroutine declarations also act as
639           definitions if a body is supplied.
640
641       decrement
642           To subtract a value from a variable, as in "decrement $x" (meaning
643           to remove 1 from its value) or "decrement $x by 3".
644
645       default
646           A "value" chosen for you if you don't supply a value of your own.
647
648       defined
649           Having a meaning.  Perl thinks that some of the things people try
650           to do are devoid of meaning, in particular, making use of variables
651           that have never been given a "value" and performing certain
652           operations on data that isn't there.  For example, if you try to
653           read data past the end of a file, Perl will hand you back an
654           undefined value.  See also "false" and "defined" in perlfunc.
655
656       delimiter
657           A "character" or "string" that sets bounds to an arbitrarily-sized
658           textual object, not to be confused with a "separator" or
659           "terminator".  "To delimit" really just means "to surround" or "to
660           enclose" (like these parentheses are doing).
661
662       deprecated modules and features
663           Deprecated modules and features are those which were part of a
664           stable release, but later found to be subtly flawed, and which
665           should be avoided.  They are subject to removal and/or bug-
666           incompatible reimplementation in the next major release (but they
667           will be preserved through maintenance releases).  Deprecation
668           warnings are issued under -w or "use diagnostics", and notices are
669           found in perldeltas, as well as various other PODs. Coding
670           practices that misuse features, such as "my $foo if 0", can also be
671           deprecated.
672
673       dereference
674           A fancy computer science term meaning "to follow a "reference" to
675           what it points to".  The "de" part of it refers to the fact that
676           you're taking away one level of "indirection".
677
678       derived class
679           A "class" that defines some of its methods in terms of a more
680           generic class, called a "base class".  Note that classes aren't
681           classified exclusively into base classes or derived classes: a
682           class can function as both a derived class and a base class
683           simultaneously, which is kind of classy.
684
685       descriptor
686           See "file descriptor".
687
688       destroy
689           To deallocate the memory of a "referent" (first triggering its
690           "DESTROY" method, if it has one).
691
692       destructor
693           A special "method" that is called when an "object" is thinking
694           about destroying itself.  A Perl program's "DESTROY" method doesn't
695           do the actual destruction; Perl just triggers the method in case
696           the "class" wants to do any associated cleanup.
697
698       device
699           A whiz-bang hardware gizmo (like a disk or tape drive or a modem or
700           a joystick or a mouse) attached to your computer, that the
701           "operating system" tries to make look like a "file" (or a bunch of
702           files).  Under Unix, these fake files tend to live in the /dev
703           directory.
704
705       directive
706           A "pod" directive.  See perlpod.
707
708       directory
709           A special file that contains other files.  Some operating systems
710           call these "folders", "drawers", or "catalogs".
711
712       directory handle
713           A name that represents a particular instance of opening a directory
714           to read it, until you close it.  See the opendir function.
715
716       dispatch
717           To send something to its correct destination.  Often used
718           metaphorically to indicate a transfer of programmatic control to a
719           destination selected algorithmically, often by lookup in a table of
720           function references or, in the case of object methods, by
721           traversing the inheritance tree looking for the most specific
722           definition for the method.
723
724       distribution
725           A standard, bundled release of a system of software.  The default
726           usage implies source code is included.  If that is not the case, it
727           will be called a "binary-only" distribution.
728
729       (to be) dropped modules
730           When Perl 5 was first released (see perlhistory), several modules
731           were included, which have now fallen out of common use.  It has
732           been suggested that these modules should be removed, since the
733           distribution became rather large, and the common criterion for new
734           module additions is now limited to modules that help to build,
735           test, and extend perl itself.  Furthermore, the CPAN (which didn't
736           exist at the time of Perl 5.0) can become the new home of dropped
737           modules. Dropping modules is currently not an option, but further
738           developments may clear the last barriers.
739
740       dweomer
741           An enchantment, illusion, phantasm, or jugglery.  Said when Perl's
742           magical "dwimmer" effects don't do what you expect, but rather seem
743           to be the product of arcane dweomercraft, sorcery, or wonder
744           working.  [From Old English]
745
746       dwimmer
747           DWIM is an acronym for "Do What I Mean", the principle that
748           something should just do what you want it to do without an undue
749           amount of fuss.  A bit of code that does "dwimming" is a "dwimmer".
750           Dwimming can require a great deal of behind-the-scenes magic, which
751           (if it doesn't stay properly behind the scenes) is called a
752           "dweomer" instead.
753
754       dynamic scoping
755           Dynamic scoping works over a dynamic scope, making variables
756           visible throughout the rest of the "block" in which they are first
757           used and in any subroutines that are called by the rest of the
758           block.  Dynamically scoped variables can have their values
759           temporarily changed (and implicitly restored later) by a local
760           operator.  (Compare "lexical scoping".)  Used more loosely to mean
761           how a subroutine that is in the middle of calling another
762           subroutine "contains" that subroutine at "run time".
763
764   E
765       eclectic
766           Derived from many sources.  Some would say too many.
767
768       element
769           A basic building block.  When you're talking about an "array", it's
770           one of the items that make up the array.
771
772       embedding
773           When something is contained in something else, particularly when
774           that might be considered surprising: "I've embedded a complete Perl
775           interpreter in my editor!"
776
777       empty subclass test
778           The notion that an empty "derived class" should behave exactly like
779           its "base class".
780
781       en passant
782           When you change a "value" as it is being copied.  [From French, "in
783           passing", as in the exotic pawn-capturing maneuver in chess.]
784
785       encapsulation
786           The veil of abstraction separating the "interface" from the
787           "implementation" (whether enforced or not), which mandates that all
788           access to an "object"'s state be through methods alone.
789
790       endian
791           See "little-endian" and "big-endian".
792
793       environment
794           The collective set of environment variables your "process" inherits
795           from its parent.  Accessed via %ENV.
796
797       environment variable
798           A mechanism by which some high-level agent such as a user can pass
799           its preferences down to its future offspring (child processes,
800           grandchild processes, great-grandchild processes, and so on).  Each
801           environment variable is a "key"/"value" pair, like one entry in a
802           "hash".
803
804       EOF End of File.  Sometimes used metaphorically as the terminating
805           string of a "here document".
806
807       errno
808           The error number returned by a "syscall" when it fails.  Perl
809           refers to the error by the name $! (or $OS_ERROR if you use the
810           English module).
811
812       error
813           See "exception" or "fatal error".
814
815       escape sequence
816           See "metasymbol".
817
818       exception
819           A fancy term for an error.  See "fatal error".
820
821       exception handling
822           The way a program responds to an error.  The exception handling
823           mechanism in Perl is the eval operator.
824
825       exec
826           To throw away the current "process"'s program and replace it with
827           another without exiting the process or relinquishing any resources
828           held (apart from the old memory image).
829
830       executable file
831           A "file" that is specially marked to tell the "operating system"
832           that it's okay to run this file as a program.  Usually shortened to
833           "executable".
834
835       execute
836           To run a program or "subroutine".  (Has nothing to do with the kill
837           built-in, unless you're trying to run a "signal handler".)
838
839       execute bit
840           The special mark that tells the operating system it can run this
841           program.  There are actually three execute bits under Unix, and
842           which bit gets used depends on whether you own the file singularly,
843           collectively, or not at all.
844
845       exit status
846           See "status".
847
848       export
849           To make symbols from a "module" available for "import" by other
850           modules.
851
852       expression
853           Anything you can legally say in a spot where a "value" is required.
854           Typically composed of literals, variables, operators, functions,
855           and "subroutine" calls, not necessarily in that order.
856
857       extension
858           A Perl module that also pulls in compiled C or C++ code.  More
859           generally, any experimental option that can be compiled into Perl,
860           such as multithreading.
861
862   F
863       false
864           In Perl, any value that would look like "" or "0" if evaluated in a
865           string context.  Since undefined values evaluate to "", all
866           undefined values are false, but not all false values are undefined.
867
868       FAQ Frequently Asked Question (although not necessarily frequently
869           answered, especially if the answer appears in the Perl FAQ shipped
870           standard with Perl).
871
872       fatal error
873           An uncaught "exception", which causes termination of the "process"
874           after printing a message on your "standard error" stream.  Errors
875           that happen inside an eval are not fatal.  Instead, the eval
876           terminates after placing the exception message in the $@
877           ($EVAL_ERROR) variable.  You can try to provoke a fatal error with
878           the die operator (known as throwing or raising an exception), but
879           this may be caught by a dynamically enclosing eval.  If not caught,
880           the die becomes a fatal error.
881
882       field
883           A single piece of numeric or string data that is part of a longer
884           "string", "record", or "line".  Variable-width fields are usually
885           split up by separators (so use split to extract the fields), while
886           fixed-width fields are usually at fixed positions (so use unpack).
887           Instance variables are also known as fields.
888
889       FIFO
890           First In, First Out.  See also "LIFO".  Also, a nickname for a
891           "named pipe".
892
893       file
894           A named collection of data, usually stored on disk in a "directory"
895           in a "filesystem".  Roughly like a document, if you're into office
896           metaphors.  In modern filesystems, you can actually give a file
897           more than one name.  Some files have special properties, like
898           directories and devices.
899
900       file descriptor
901           The little number the "operating system" uses to keep track of
902           which opened "file" you're talking about.  Perl hides the file
903           descriptor inside a "standard I/O" stream and then attaches the
904           stream to a "filehandle".
905
906       file test operator
907           A built-in unary operator that you use to determine whether
908           something is "true" about a file, such as "-o $filename" to test
909           whether you're the owner of the file.
910
911       fileglob
912           A "wildcard" match on filenames.  See the glob function.
913
914       filehandle
915           An identifier (not necessarily related to the real name of a file)
916           that represents a particular instance of opening a file until you
917           close it.  If you're going to open and close several different
918           files in succession, it's fine to open each of them with the same
919           filehandle, so you don't have to write out separate code to process
920           each file.
921
922       filename
923           One name for a file.  This name is listed in a "directory", and you
924           can use it in an open to tell the "operating system" exactly which
925           file you want to open, and associate the file with a "filehandle"
926           which will carry the subsequent identity of that file in your
927           program, until you close it.
928
929       filesystem
930           A set of directories and files residing on a partition of the disk.
931           Sometimes known as a "partition".  You can change the file's name
932           or even move a file around from directory to directory within a
933           filesystem without actually moving the file itself, at least under
934           Unix.
935
936       filter
937           A program designed to take a "stream" of input and transform it
938           into a stream of output.
939
940       flag
941           We tend to avoid this term because it means so many things.  It may
942           mean a command-line "switch" that takes no argument itself (such as
943           Perl's -n and -p flags) or, less frequently, a single-bit indicator
944           (such as the "O_CREAT" and "O_EXCL" flags used in sysopen).
945
946       floating point
947           A method of storing numbers in "scientific notation", such that the
948           precision of the number is independent of its magnitude (the
949           decimal point "floats").  Perl does its numeric work with floating-
950           point numbers (sometimes called "floats"), when it can't get away
951           with using integers.  Floating-point numbers are mere
952           approximations of real numbers.
953
954       flush
955           The act of emptying a "buffer", often before it's full.
956
957       FMTEYEWTK
958           Far More Than Everything You Ever Wanted To Know.  An exhaustive
959           treatise on one narrow topic, something of a super-"FAQ".  See Tom
960           for far more.
961
962       fork
963           To create a child "process" identical to the parent process at its
964           moment of conception, at least until it gets ideas of its own.  A
965           thread with protected memory.
966
967       formal arguments
968           The generic names by which a "subroutine" knows its arguments.  In
969           many languages, formal arguments are always given individual names,
970           but in Perl, the formal arguments are just the elements of an
971           array.  The formal arguments to a Perl program are $ARGV[0],
972           $ARGV[1], and so on.  Similarly, the formal arguments to a Perl
973           subroutine are $_[0], $_[1], and so on.  You may give the arguments
974           individual names by assigning the values to a my list.  See also
975           "actual arguments".
976
977       format
978           A specification of how many spaces and digits and things to put
979           somewhere so that whatever you're printing comes out nice and
980           pretty.
981
982       freely available
983           Means you don't have to pay money to get it, but the copyright on
984           it may still belong to someone else (like Larry).
985
986       freely redistributable
987           Means you're not in legal trouble if you give a bootleg copy of it
988           to your friends and we find out about it.  In fact, we'd rather you
989           gave a copy to all your friends.
990
991       freeware
992           Historically, any software that you give away, particularly if you
993           make the source code available as well.  Now often called "open
994           source software".  Recently there has been a trend to use the term
995           in contradistinction to "open source software", to refer only to
996           free software released under the Free Software Foundation's GPL
997           (General Public License), but this is difficult to justify
998           etymologically.
999
1000       function
1001           Mathematically, a mapping of each of a set of input values to a
1002           particular output value.  In computers, refers to a "subroutine" or
1003           "operator" that returns a "value".  It may or may not have input
1004           values (called arguments).
1005
1006       funny character
1007           Someone like Larry, or one of his peculiar friends.  Also refers to
1008           the strange prefixes that Perl requires as noun markers on its
1009           variables.
1010
1011       garbage collection
1012           A misnamed feature--it should be called, "expecting your mother to
1013           pick up after you".  Strictly speaking, Perl doesn't do this, but
1014           it relies on a reference-counting mechanism to keep things tidy.
1015           However, we rarely speak strictly and will often refer to the
1016           reference-counting scheme as a form of garbage collection.  (If
1017           it's any comfort, when your interpreter exits, a "real" garbage
1018           collector runs to make sure everything is cleaned up if you've been
1019           messy with circular references and such.)
1020
1021   G
1022       GID Group ID--in Unix, the numeric group ID that the "operating system"
1023           uses to identify you and members of your "group".
1024
1025       glob
1026           Strictly, the shell's "*" character, which will match a "glob" of
1027           characters when you're trying to generate a list of filenames.
1028           Loosely, the act of using globs and similar symbols to do pattern
1029           matching.  See also "fileglob" and "typeglob".
1030
1031       global
1032           Something you can see from anywhere, usually used of variables and
1033           subroutines that are visible everywhere in your program.  In Perl,
1034           only certain special variables are truly global--most variables
1035           (and all subroutines) exist only in the current "package".  Global
1036           variables can be declared with our.  See "our" in perlfunc.
1037
1038       global destruction
1039           The "garbage collection" of globals (and the running of any
1040           associated object destructors) that takes place when a Perl
1041           "interpreter" is being shut down.  Global destruction should not be
1042           confused with the Apocalypse, except perhaps when it should.
1043
1044       glue language
1045           A language such as Perl that is good at hooking things together
1046           that weren't intended to be hooked together.
1047
1048       granularity
1049           The size of the pieces you're dealing with, mentally speaking.
1050
1051       greedy
1052           A "subpattern" whose "quantifier" wants to match as many things as
1053           possible.
1054
1055       grep
1056           Originally from the old Unix editor command for "Globally search
1057           for a Regular Expression and Print it", now used in the general
1058           sense of any kind of search, especially text searches.  Perl has a
1059           built-in grep function that searches a list for elements matching
1060           any given criterion, whereas the grep(1) program searches for lines
1061           matching a "regular expression" in one or more files.
1062
1063       group
1064           A set of users of which you are a member.  In some operating
1065           systems (like Unix), you can give certain file access permissions
1066           to other members of your group.
1067
1068       GV  An internal "glob value" typedef, holding a "typeglob".  The "GV"
1069           type is a subclass of "SV".
1070
1071   H
1072       hacker
1073           Someone who is brilliantly persistent in solving technical
1074           problems, whether these involve golfing, fighting orcs, or
1075           programming.  Hacker is a neutral term, morally speaking.  Good
1076           hackers are not to be confused with evil crackers or clueless
1077           script kiddies.  If you confuse them, we will presume that you are
1078           either evil or clueless.
1079
1080       handler
1081           A "subroutine" or "method" that is called by Perl when your program
1082           needs to respond to some internal event, such as a "signal", or an
1083           encounter with an operator subject to "operator overloading".  See
1084           also "callback".
1085
1086       hard reference
1087           A "scalar" "value" containing the actual address of a "referent",
1088           such that the referent's "reference" count accounts for it.  (Some
1089           hard references are held internally, such as the implicit reference
1090           from one of a "typeglob"'s variable slots to its corresponding
1091           referent.)  A hard reference is different from a "symbolic
1092           reference".
1093
1094       hash
1095           An unordered association of "key"/"value" pairs, stored such that
1096           you can easily use a string "key" to look up its associated data
1097           "value".  This glossary is like a hash, where the word to be
1098           defined is the key, and the definition is the value.  A hash is
1099           also sometimes septisyllabically called an "associative array",
1100           which is a pretty good reason for simply calling it a "hash"
1101           instead.
1102
1103       hash table
1104           A data structure used internally by Perl for implementing
1105           associative arrays (hashes) efficiently.  See also "bucket".
1106
1107       header file
1108           A file containing certain required definitions that you must
1109           include "ahead" of the rest of your program to do certain obscure
1110           operations.  A C header file has a .h extension.  Perl doesn't
1111           really have header files, though historically Perl has sometimes
1112           used translated .h files with a .ph extension.  See "require" in
1113           perlfunc.  (Header files have been superseded by the "module"
1114           mechanism.)
1115
1116       here document
1117           So called because of a similar construct in shells that pretends
1118           that the lines following the "command" are a separate "file" to be
1119           fed to the command, up to some terminating string.  In Perl,
1120           however, it's just a fancy form of quoting.
1121
1122       hexadecimal
1123           A number in base 16, "hex" for short.  The digits for 10 through 16
1124           are customarily represented by the letters "a" through "f".
1125           Hexadecimal constants in Perl start with "0x".  See also "hex" in
1126           perlfunc.
1127
1128       home directory
1129           The directory you are put into when you log in.  On a Unix system,
1130           the name is often placed into $ENV{HOME} or $ENV{LOGDIR} by login,
1131           but you can also find it with "(getpwuid($<))[7]".  (Some platforms
1132           do not have a concept of a home directory.)
1133
1134       host
1135           The computer on which a program or other data resides.
1136
1137       hubris
1138           Excessive pride, the sort of thing Zeus zaps you for.  Also the
1139           quality that makes you write (and maintain) programs that other
1140           people won't want to say bad things about.  Hence, the third great
1141           virtue of a programmer.  See also "laziness" and "impatience".
1142
1143       HV  Short for a "hash value" typedef, which holds Perl's internal
1144           representation of a hash.  The "HV" type is a subclass of "SV".
1145
1146   I
1147       identifier
1148           A legally formed name for most anything in which a computer program
1149           might be interested.  Many languages (including Perl) allow
1150           identifiers that start with a letter and contain letters and
1151           digits.  Perl also counts the underscore character as a valid
1152           letter.  (Perl also has more complicated names, such as "qualified"
1153           names.)
1154
1155       impatience
1156           The anger you feel when the computer is being lazy.  This makes you
1157           write programs that don't just react to your needs, but actually
1158           anticipate them.  Or at least that pretend to.  Hence, the second
1159           great virtue of a programmer.  See also "laziness" and "hubris".
1160
1161       implementation
1162           How a piece of code actually goes about doing its job.  Users of
1163           the code should not count on implementation details staying the
1164           same unless they are part of the published "interface".
1165
1166       import
1167           To gain access to symbols that are exported from another module.
1168           See "use" in perlfunc.
1169
1170       increment
1171           To increase the value of something by 1 (or by some other number,
1172           if so specified).
1173
1174       indexing
1175           In olden days, the act of looking up a "key" in an actual index
1176           (such as a phone book), but now merely the act of using any kind of
1177           key or position to find the corresponding "value", even if no index
1178           is involved.  Things have degenerated to the point that Perl's
1179           index function merely locates the position (index) of one string in
1180           another.
1181
1182       indirect filehandle
1183           An "expression" that evaluates to something that can be used as a
1184           "filehandle": a "string" (filehandle name), a "typeglob", a
1185           typeglob "reference", or a low-level "IO" object.
1186
1187       indirect object
1188           In English grammar, a short noun phrase between a verb and its
1189           direct object indicating the beneficiary or recipient of the
1190           action.  In Perl, "print STDOUT "$foo\n";" can be understood as
1191           "verb indirect-object object" where "STDOUT" is the recipient of
1192           the print action, and "$foo" is the object being printed.
1193           Similarly, when invoking a "method", you might place the invocant
1194           between the method and its arguments:
1195
1196             $gollum = new Pathetic::Creature "Smeagol";
1197             give $gollum "Fisssssh!";
1198             give $gollum "Precious!";
1199
1200           In modern Perl, calling methods this way is often considered bad
1201           practice and to be avoided.
1202
1203       indirect object slot
1204           The syntactic position falling between a method call and its
1205           arguments when using the indirect object invocation syntax.  (The
1206           slot is distinguished by the absence of a comma between it and the
1207           next argument.) "STDERR" is in the indirect object slot here:
1208
1209             print STDERR "Awake!  Awake!  Fear, Fire,
1210                 Foes!  Awake!\n";
1211
1212       indirection
1213           If something in a program isn't the value you're looking for but
1214           indicates where the value is, that's indirection.  This can be done
1215           with either symbolic references or hard references.
1216
1217       infix
1218           An "operator" that comes in between its operands, such as
1219           multiplication in "24 * 7".
1220
1221       inheritance
1222           What you get from your ancestors, genetically or otherwise.  If you
1223           happen to be a "class", your ancestors are called base classes and
1224           your descendants are called derived classes.  See "single
1225           inheritance" and "multiple inheritance".
1226
1227       instance
1228           Short for "an instance of a class", meaning an "object" of that
1229           "class".
1230
1231       instance variable
1232           An "attribute" of an "object"; data stored with the particular
1233           object rather than with the class as a whole.
1234
1235       integer
1236           A number with no fractional (decimal) part.  A counting number,
1237           like 1, 2, 3, and so on, but including 0 and the negatives.
1238
1239       interface
1240           The services a piece of code promises to provide forever, in
1241           contrast to its "implementation", which it should feel free to
1242           change whenever it likes.
1243
1244       interpolation
1245           The insertion of a scalar or list value somewhere in the middle of
1246           another value, such that it appears to have been there all along.
1247           In Perl, variable interpolation happens in double-quoted strings
1248           and patterns, and list interpolation occurs when constructing the
1249           list of values to pass to a list operator or other such construct
1250           that takes a "LIST".
1251
1252       interpreter
1253           Strictly speaking, a program that reads a second program and does
1254           what the second program says directly without turning the program
1255           into a different form first, which is what compilers do.  Perl is
1256           not an interpreter by this definition, because it contains a kind
1257           of compiler that takes a program and turns it into a more
1258           executable form (syntax trees) within the perl process itself,
1259           which the Perl "run time" system then interprets.
1260
1261       invocant
1262           The agent on whose behalf a "method" is invoked.  In a "class"
1263           method, the invocant is a package name.  In an "instance" method,
1264           the invocant is an object reference.
1265
1266       invocation
1267           The act of calling up a deity, daemon, program, method, subroutine,
1268           or function to get it do what you think it's supposed to do.  We
1269           usually "call" subroutines but "invoke" methods, since it sounds
1270           cooler.
1271
1272       I/O Input from, or output to, a "file" or "device".
1273
1274       IO  An internal I/O object.  Can also mean "indirect object".
1275
1276       IP  Internet Protocol, or Intellectual Property.
1277
1278       IPC Interprocess Communication.
1279
1280       is-a
1281           A relationship between two objects in which one object is
1282           considered to be a more specific version of the other, generic
1283           object: "A camel is a mammal."  Since the generic object really
1284           only exists in a Platonic sense, we usually add a little
1285           abstraction to the notion of objects and think of the relationship
1286           as being between a generic "base class" and a specific "derived
1287           class".  Oddly enough, Platonic classes don't always have Platonic
1288           relationships--see "inheritance".
1289
1290       iteration
1291           Doing something repeatedly.
1292
1293       iterator
1294           A special programming gizmo that keeps track of where you are in
1295           something that you're trying to iterate over.  The "foreach" loop
1296           in Perl contains an iterator; so does a hash, allowing you to each
1297           through it.
1298
1299       IV  The integer four, not to be confused with six, Tom's favorite
1300           editor.  IV also means an internal Integer Value of the type a
1301           "scalar" can hold, not to be confused with an "NV".
1302
1303   J
1304       JAPH
1305           "Just Another Perl Hacker," a clever but cryptic bit of Perl code
1306           that when executed, evaluates to that string.  Often used to
1307           illustrate a particular Perl feature, and something of an ongoing
1308           Obfuscated Perl Contest seen in Usenix signatures.
1309
1310   K
1311       key The string index to a "hash", used to look up the "value"
1312           associated with that key.
1313
1314       keyword
1315           See "reserved words".
1316
1317   L
1318       label
1319           A name you give to a "statement" so that you can talk about that
1320           statement elsewhere in the program.
1321
1322       laziness
1323           The quality that makes you go to great effort to reduce overall
1324           energy expenditure.  It makes you write labor-saving programs that
1325           other people will find useful, and document what you wrote so you
1326           don't have to answer so many questions about it.  Hence, the first
1327           great virtue of a programmer.  Also hence, this book.  See also
1328           "impatience" and "hubris".
1329
1330       left shift
1331           A "bit shift" that multiplies the number by some power of 2.
1332
1333       leftmost longest
1334           The preference of the "regular expression" engine to match the
1335           leftmost occurrence of a "pattern", then given a position at which
1336           a match will occur, the preference for the longest match (presuming
1337           the use of a "greedy" quantifier).  See perlre for much more on
1338           this subject.
1339
1340       lexeme
1341           Fancy term for a "token".
1342
1343       lexer
1344           Fancy term for a "tokener".
1345
1346       lexical analysis
1347           Fancy term for "tokenizing".
1348
1349       lexical scoping
1350           Looking at your Oxford English Dictionary through a microscope.
1351           (Also known as "static scoping", because dictionaries don't change
1352           very fast.)  Similarly, looking at variables stored in a private
1353           dictionary (namespace) for each scope, which are visible only from
1354           their point of declaration down to the end of the lexical scope in
1355           which they are declared.  --Syn. "static scoping".  --Ant. "dynamic
1356           scoping".
1357
1358       lexical variable
1359           A "variable" subject to "lexical scoping", declared by my.  Often
1360           just called a "lexical".  (The our declaration declares a lexically
1361           scoped name for a global variable, which is not itself a lexical
1362           variable.)
1363
1364       library
1365           Generally, a collection of procedures.  In ancient days, referred
1366           to a collection of subroutines in a .pl file.  In modern times,
1367           refers more often to the entire collection of Perl modules on your
1368           system.
1369
1370       LIFO
1371           Last In, First Out.  See also "FIFO".  A LIFO is usually called a
1372           "stack".
1373
1374       line
1375           In Unix, a sequence of zero or more non-newline characters
1376           terminated with a "newline" character.  On non-Unix machines, this
1377           is emulated by the C library even if the underlying "operating
1378           system" has different ideas.
1379
1380       line buffering
1381           Used by a "standard I/O" output stream that flushes its "buffer"
1382           after every "newline".  Many standard I/O libraries automatically
1383           set up line buffering on output that is going to the terminal.
1384
1385       line number
1386           The number of lines read previous to this one, plus 1.  Perl keeps
1387           a separate line number for each source or input file it opens.  The
1388           current source file's line number is represented by "__LINE__".
1389           The current input line number (for the file that was most recently
1390           read via "<FH>") is represented by the $.  ($INPUT_LINE_NUMBER)
1391           variable.  Many error messages report both values, if available.
1392
1393       link
1394           Used as a noun, a name in a "directory", representing a "file".  A
1395           given file can have multiple links to it.  It's like having the
1396           same phone number listed in the phone directory under different
1397           names.  As a verb, to resolve a partially compiled file's
1398           unresolved symbols into a (nearly) executable image.  Linking can
1399           generally be static or dynamic, which has nothing to do with static
1400           or dynamic scoping.
1401
1402       LIST
1403           A syntactic construct representing a comma-separated list of
1404           expressions, evaluated to produce a "list value".  Each
1405           "expression" in a "LIST" is evaluated in "list context" and
1406           interpolated into the list value.
1407
1408       list
1409           An ordered set of scalar values.
1410
1411       list context
1412           The situation in which an "expression" is expected by its
1413           surroundings (the code calling it) to return a list of values
1414           rather than a single value.  Functions that want a "LIST" of
1415           arguments tell those arguments that they should produce a list
1416           value.  See also "context".
1417
1418       list operator
1419           An "operator" that does something with a list of values, such as
1420           join or grep.  Usually used for named built-in operators (such as
1421           print, unlink, and system) that do not require parentheses around
1422           their "argument" list.
1423
1424       list value
1425           An unnamed list of temporary scalar values that may be passed
1426           around within a program from any list-generating function to any
1427           function or construct that provides a "list context".
1428
1429       literal
1430           A token in a programming language such as a number or "string" that
1431           gives you an actual "value" instead of merely representing possible
1432           values as a "variable" does.
1433
1434       little-endian
1435           From Swift: someone who eats eggs little end first.  Also used of
1436           computers that store the least significant "byte" of a word at a
1437           lower byte address than the most significant byte.  Often
1438           considered superior to big-endian machines.  See also "big-endian".
1439
1440       local
1441           Not meaning the same thing everywhere.  A global variable in Perl
1442           can be localized inside a dynamic scope via the local operator.
1443
1444       logical operator
1445           Symbols representing the concepts "and", "or", "xor", and "not".
1446
1447       lookahead
1448           An "assertion" that peeks at the string to the right of the current
1449           match location.
1450
1451       lookbehind
1452           An "assertion" that peeks at the string to the left of the current
1453           match location.
1454
1455       loop
1456           A construct that performs something repeatedly, like a roller
1457           coaster.
1458
1459       loop control statement
1460           Any statement within the body of a loop that can make a loop
1461           prematurely stop looping or skip an "iteration".  Generally you
1462           shouldn't try this on roller coasters.
1463
1464       loop label
1465           A kind of key or name attached to a loop (or roller coaster) so
1466           that loop control statements can talk about which loop they want to
1467           control.
1468
1469       lvaluable
1470           Able to serve as an "lvalue".
1471
1472       lvalue
1473           Term used by language lawyers for a storage location you can assign
1474           a new "value" to, such as a "variable" or an element of an "array".
1475           The "l" is short for "left", as in the left side of an assignment,
1476           a typical place for lvalues.  An "lvaluable" function or expression
1477           is one to which a value may be assigned, as in "pos($x) = 10".
1478
1479       lvalue modifier
1480           An adjectival pseudofunction that warps the meaning of an "lvalue"
1481           in some declarative fashion.  Currently there are three lvalue
1482           modifiers: my, our, and local.
1483
1484   M
1485       magic
1486           Technically speaking, any extra semantics attached to a variable
1487           such as $!, $0, %ENV, or %SIG, or to any tied variable.  Magical
1488           things happen when you diddle those variables.
1489
1490       magical increment
1491           An "increment" operator that knows how to bump up alphabetics as
1492           well as numbers.
1493
1494       magical variables
1495           Special variables that have side effects when you access them or
1496           assign to them.  For example, in Perl, changing elements of the
1497           %ENV array also changes the corresponding environment variables
1498           that subprocesses will use.  Reading the $! variable gives you the
1499           current system error number or message.
1500
1501       Makefile
1502           A file that controls the compilation of a program.  Perl programs
1503           don't usually need a "Makefile" because the Perl compiler has
1504           plenty of self-control.
1505
1506       man The Unix program that displays online documentation (manual pages)
1507           for you.
1508
1509       manpage
1510           A "page" from the manuals, typically accessed via the man(1)
1511           command.  A manpage contains a SYNOPSIS, a DESCRIPTION, a list of
1512           BUGS, and so on, and is typically longer than a page.  There are
1513           manpages documenting commands, syscalls, "library" functions,
1514           devices, protocols, files, and such.  In this book, we call any
1515           piece of standard Perl documentation (like perlop or perldelta) a
1516           manpage, no matter what format it's installed in on your system.
1517
1518       matching
1519           See "pattern matching".
1520
1521       member data
1522           See "instance variable".
1523
1524       memory
1525           This always means your main memory, not your disk.  Clouding the
1526           issue is the fact that your machine may implement "virtual" memory;
1527           that is, it will pretend that it has more memory than it really
1528           does, and it'll use disk space to hold inactive bits.  This can
1529           make it seem like you have a little more memory than you really do,
1530           but it's not a substitute for real memory.  The best thing that can
1531           be said about virtual memory is that it lets your performance
1532           degrade gradually rather than suddenly when you run out of real
1533           memory.  But your program can die when you run out of virtual
1534           memory too, if you haven't thrashed your disk to death first.
1535
1536       metacharacter
1537           A "character" that is not supposed to be treated normally.  Which
1538           characters are to be treated specially as metacharacters varies
1539           greatly from context to context.  Your "shell" will have certain
1540           metacharacters, double-quoted Perl strings have other
1541           metacharacters, and "regular expression" patterns have all the
1542           double-quote metacharacters plus some extra ones of their own.
1543
1544       metasymbol
1545           Something we'd call a "metacharacter" except that it's a sequence
1546           of more than one character.  Generally, the first character in the
1547           sequence must be a true metacharacter to get the other characters
1548           in the metasymbol to misbehave along with it.
1549
1550       method
1551           A kind of action that an "object" can take if you tell it to.  See
1552           perlobj.
1553
1554       minimalism
1555           The belief that "small is beautiful."  Paradoxically, if you say
1556           something in a small language, it turns out big, and if you say it
1557           in a big language, it turns out small.  Go figure.
1558
1559       mode
1560           In the context of the stat syscall, refers to the field holding the
1561           "permission bits" and the type of the "file".
1562
1563       modifier
1564           See "statement modifier", "regular expression modifier", and
1565           "lvalue modifier", not necessarily in that order.
1566
1567       module
1568           A "file" that defines a "package" of (almost) the same name, which
1569           can either "export" symbols or function as an "object" class.  (A
1570           module's main .pm file may also load in other files in support of
1571           the module.)  See the use built-in.
1572
1573       modulus
1574           An integer divisor when you're interested in the remainder instead
1575           of the quotient.
1576
1577       monger
1578           Short for Perl Monger, a purveyor of Perl.
1579
1580       mortal
1581           A temporary value scheduled to die when the current statement
1582           finishes.
1583
1584       multidimensional array
1585           An array with multiple subscripts for finding a single element.
1586           Perl implements these using references--see perllol and perldsc.
1587
1588       multiple inheritance
1589           The features you got from your mother and father, mixed together
1590           unpredictably.  (See also "inheritance", and "single inheritance".)
1591           In computer languages (including Perl), the notion that a given
1592           class may have multiple direct ancestors or base classes.
1593
1594   N
1595       named pipe
1596           A "pipe" with a name embedded in the "filesystem" so that it can be
1597           accessed by two unrelated processes.
1598
1599       namespace
1600           A domain of names.  You needn't worry about whether the names in
1601           one such domain have been used in another.  See "package".
1602
1603       network address
1604           The most important attribute of a socket, like your telephone's
1605           telephone number.  Typically an IP address.  See also "port".
1606
1607       newline
1608           A single character that represents the end of a line, with the
1609           ASCII value of 012 octal under Unix (but 015 on a Mac), and
1610           represented by "\n" in Perl strings.  For Windows machines writing
1611           text files, and for certain physical devices like terminals, the
1612           single newline gets automatically translated by your C library into
1613           a line feed and a carriage return, but normally, no translation is
1614           done.
1615
1616       NFS Network File System, which allows you to mount a remote filesystem
1617           as if it were local.
1618
1619       null character
1620           A character with the ASCII value of zero.  It's used by C to
1621           terminate strings, but Perl allows strings to contain a null.
1622
1623       null list
1624           A "list value" with zero elements, represented in Perl by "()".
1625
1626       null string
1627           A "string" containing no characters, not to be confused with a
1628           string containing a "null character", which has a positive length
1629           and is "true".
1630
1631       numeric context
1632           The situation in which an expression is expected by its
1633           surroundings (the code calling it) to return a number.  See also
1634           "context" and "string context".
1635
1636       NV  Short for Nevada, no part of which will ever be confused with
1637           civilization.  NV also means an internal floating-point Numeric
1638           Value of the type a "scalar" can hold, not to be confused with an
1639           "IV".
1640
1641       nybble
1642           Half a "byte", equivalent to one "hexadecimal" digit, and worth
1643           four bits.
1644
1645   O
1646       object
1647           An "instance" of a "class".  Something that "knows" what user-
1648           defined type (class) it is, and what it can do because of what
1649           class it is.  Your program can request an object to do things, but
1650           the object gets to decide whether it wants to do them or not.  Some
1651           objects are more accommodating than others.
1652
1653       octal
1654           A number in base 8.  Only the digits 0 through 7 are allowed.
1655           Octal constants in Perl start with 0, as in 013.  See also the oct
1656           function.
1657
1658       offset
1659           How many things you have to skip over when moving from the
1660           beginning of a string or array to a specific position within it.
1661           Thus, the minimum offset is zero, not one, because you don't skip
1662           anything to get to the first item.
1663
1664       one-liner
1665           An entire computer program crammed into one line of text.
1666
1667       open source software
1668           Programs for which the source code is freely available and freely
1669           redistributable, with no commercial strings attached.  For a more
1670           detailed definition, see <http://www.opensource.org/osd.html>.
1671
1672       operand
1673           An "expression" that yields a "value" that an "operator" operates
1674           on.  See also "precedence".
1675
1676       operating system
1677           A special program that runs on the bare machine and hides the gory
1678           details of managing processes and devices.  Usually used in a
1679           looser sense to indicate a particular culture of programming.  The
1680           loose sense can be used at varying levels of specificity.  At one
1681           extreme, you might say that all versions of Unix and Unix-
1682           lookalikes are the same operating system (upsetting many people,
1683           especially lawyers and other advocates).  At the other extreme, you
1684           could say this particular version of this particular vendor's
1685           operating system is different from any other version of this or any
1686           other vendor's operating system.  Perl is much more portable across
1687           operating systems than many other languages.  See also
1688           "architecture" and "platform".
1689
1690       operator
1691           A gizmo that transforms some number of input values to some number
1692           of output values, often built into a language with a special syntax
1693           or symbol.  A given operator may have specific expectations about
1694           what types of data you give as its arguments (operands) and what
1695           type of data you want back from it.
1696
1697       operator overloading
1698           A kind of "overloading" that you can do on built-in operators to
1699           make them work on objects as if the objects were ordinary scalar
1700           values, but with the actual semantics supplied by the object class.
1701           This is set up with the overload "pragma".
1702
1703       options
1704           See either switches or "regular expression modifier".
1705
1706       overloading
1707           Giving additional meanings to a symbol or construct.  Actually, all
1708           languages do overloading to one extent or another, since people are
1709           good at figuring out things from "context".
1710
1711       overriding
1712           Hiding or invalidating some other definition of the same name.
1713           (Not to be confused with "overloading", which adds definitions that
1714           must be disambiguated some other way.) To confuse the issue
1715           further, we use the word with two overloaded definitions: to
1716           describe how you can define your own "subroutine" to hide a built-
1717           in "function" of the same name (see "Overriding Built-in Functions"
1718           in perlsub) and to describe how you can define a replacement
1719           "method" in a "derived class" to hide a "base class"'s method of
1720           the same name (see perlobj).
1721
1722       owner
1723           The one user (apart from the superuser) who has absolute control
1724           over a "file".  A file may also have a "group" of users who may
1725           exercise joint ownership if the real owner permits it.  See
1726           "permission bits".
1727
1728   P
1729       package
1730           A "namespace" for global variables, subroutines, and the like, such
1731           that they can be kept separate from like-named symbols in other
1732           namespaces.  In a sense, only the package is global, since the
1733           symbols in the package's symbol table are only accessible from code
1734           compiled outside the package by naming the package.  But in another
1735           sense, all package symbols are also globals--they're just well-
1736           organized globals.
1737
1738       pad Short for "scratchpad".
1739
1740       parameter
1741           See "argument".
1742
1743       parent class
1744           See "base class".
1745
1746       parse tree
1747           See "syntax tree".
1748
1749       parsing
1750           The subtle but sometimes brutal art of attempting to turn your
1751           possibly malformed program into a valid "syntax tree".
1752
1753       patch
1754           To fix by applying one, as it were.  In the realm of hackerdom, a
1755           listing of the differences between two versions of a program as
1756           might be applied by the patch(1) program when you want to fix a bug
1757           or upgrade your old version.
1758
1759       PATH
1760           The list of directories the system searches to find a program you
1761           want to "execute".  The list is stored as one of your environment
1762           variables, accessible in Perl as $ENV{PATH}.
1763
1764       pathname
1765           A fully qualified filename such as /usr/bin/perl.  Sometimes
1766           confused with "PATH".
1767
1768       pattern
1769           A template used in "pattern matching".
1770
1771       pattern matching
1772           Taking a pattern, usually a "regular expression", and trying the
1773           pattern various ways on a string to see whether there's any way to
1774           make it fit.  Often used to pick interesting tidbits out of a file.
1775
1776       permission bits
1777           Bits that the "owner" of a file sets or unsets to allow or disallow
1778           access to other people.  These flag bits are part of the "mode"
1779           word returned by the stat built-in when you ask about a file.  On
1780           Unix systems, you can check the ls(1) manpage for more information.
1781
1782       Pern
1783           What you get when you do "Perl++" twice.  Doing it only once will
1784           curl your hair.  You have to increment it eight times to shampoo
1785           your hair.  Lather, rinse, iterate.
1786
1787       pipe
1788           A direct "connection" that carries the output of one "process" to
1789           the input of another without an intermediate temporary file.  Once
1790           the pipe is set up, the two processes in question can read and
1791           write as if they were talking to a normal file, with some caveats.
1792
1793       pipeline
1794           A series of processes all in a row, linked by pipes, where each
1795           passes its output stream to the next.
1796
1797       platform
1798           The entire hardware and software context in which a program runs.
1799           A
1800            program written in a platform-dependent language might break if
1801           you change any of: machine, operating system, libraries, compiler,
1802           or system configuration.  The perl interpreter has to be compiled
1803           differently for each platform because it is implemented in C, but
1804           programs written in the Perl language are largely platform-
1805           independent.
1806
1807       pod The markup used to embed documentation into your Perl code.  See
1808           perlpod.
1809
1810       pointer
1811           A "variable" in a language like C that contains the exact memory
1812           location of some other item.  Perl handles pointers internally so
1813           you don't have to worry about them.  Instead, you just use symbolic
1814           pointers in the form of keys and "variable" names, or hard
1815           references, which aren't pointers (but act like pointers and do in
1816           fact contain pointers).
1817
1818       polymorphism
1819           The notion that you can tell an "object" to do something generic,
1820           and the object will interpret the command in different ways
1821           depending on its type.  [<Gk many shapes]
1822
1823       port
1824           The part of the address of a TCP or UDP socket that directs packets
1825           to the correct process after finding the right machine, something
1826           like the phone extension you give when you reach the company
1827           operator.  Also, the result of converting code to run on a
1828           different platform than originally intended, or the verb denoting
1829           this conversion.
1830
1831       portable
1832           Once upon a time, C code compilable under both BSD and SysV.  In
1833           general, code that can be easily converted to run on another
1834           "platform", where "easily" can be defined however you like, and
1835           usually is.  Anything may be considered portable if you try hard
1836           enough.  See mobile home or London Bridge.
1837
1838       porter
1839           Someone who "carries" software from one "platform" to another.
1840           Porting programs written in platform-dependent languages such as C
1841           can be difficult work, but porting programs like Perl is very much
1842           worth the agony.
1843
1844       POSIX
1845           The Portable Operating System Interface specification.
1846
1847       postfix
1848           An "operator" that follows its "operand", as in "$x++".
1849
1850       pp  An internal shorthand for a "push-pop" code, that is, C code
1851           implementing Perl's stack machine.
1852
1853       pragma
1854           A standard module whose practical hints and suggestions are
1855           received (and possibly ignored) at compile time.  Pragmas are named
1856           in all lowercase.
1857
1858       precedence
1859           The rules of conduct that, in the absence of other guidance,
1860           determine what should happen first.  For example, in the absence of
1861           parentheses, you always do multiplication before addition.
1862
1863       prefix
1864           An "operator" that precedes its "operand", as in "++$x".
1865
1866       preprocessing
1867           What some helper "process" did to transform the incoming data into
1868           a form more suitable for the current process.  Often done with an
1869           incoming "pipe".  See also "C preprocessor".
1870
1871       procedure
1872           A "subroutine".
1873
1874       process
1875           An instance of a running program.  Under multitasking systems like
1876           Unix, two or more separate processes could be running the same
1877           program independently at the same time--in fact, the fork function
1878           is designed to bring about this happy state of affairs.  Under
1879           other operating systems, processes are sometimes called "threads",
1880           "tasks", or "jobs", often with slight nuances in meaning.
1881
1882       program generator
1883           A system that algorithmically writes code for you in a high-level
1884           language.  See also "code generator".
1885
1886       progressive matching
1887           Pattern matching that picks up where it left off before.
1888
1889       property
1890           See either "instance variable" or "character property".
1891
1892       protocol
1893           In networking, an agreed-upon way of sending messages back and
1894           forth so that neither correspondent will get too confused.
1895
1896       prototype
1897           An optional part of a "subroutine" declaration telling the Perl
1898           compiler how many and what flavor of arguments may be passed as
1899           "actual arguments", so that you can write subroutine calls that
1900           parse much like built-in functions.  (Or don't parse, as the case
1901           may be.)
1902
1903       pseudofunction
1904           A construct that sometimes looks like a function but really isn't.
1905           Usually reserved for "lvalue" modifiers like my, for "context"
1906           modifiers like scalar, and for the pick-your-own-quotes constructs,
1907           "q//", "qq//", "qx//", "qw//", "qr//", "m//", "s///", "y///", and
1908           "tr///".
1909
1910       pseudohash
1911           A reference to an array whose initial element happens to hold a
1912           reference to a hash.  You can treat a pseudohash reference as
1913           either an array reference or a hash reference.
1914
1915       pseudoliteral
1916           An "operator" that looks something like a "literal", such as the
1917           output-grabbing operator, "`""command""`".
1918
1919       public domain
1920           Something not owned by anybody.  Perl is copyrighted and is thus
1921           not in the public domain--it's just "freely available" and "freely
1922           redistributable".
1923
1924       pumpkin
1925           A notional "baton" handed around the Perl community indicating who
1926           is the lead integrator in some arena of development.
1927
1928       pumpking
1929           A "pumpkin" holder, the person in charge of pumping the pump, or at
1930           least priming it.  Must be willing to play the part of the Great
1931           Pumpkin now and then.
1932
1933       PV  A "pointer value", which is Perl Internals Talk for a "char*".
1934
1935   Q
1936       qualified
1937           Possessing a complete name.  The symbol $Ent::moot is qualified;
1938           $moot is unqualified.  A fully qualified filename is specified from
1939           the top-level directory.
1940
1941       quantifier
1942           A component of a "regular expression" specifying how many times the
1943           foregoing "atom" may occur.
1944
1945   R
1946       readable
1947           With respect to files, one that has the proper permission bit set
1948           to let you access the file.  With respect to computer programs, one
1949           that's written well enough that someone has a chance of figuring
1950           out what it's trying to do.
1951
1952       reaping
1953           The last rites performed by a parent "process" on behalf of a
1954           deceased child process so that it doesn't remain a "zombie".  See
1955           the wait and waitpid function calls.
1956
1957       record
1958           A set of related data values in a "file" or "stream", often
1959           associated with a unique "key" field.  In Unix, often commensurate
1960           with a "line", or a blank-line-terminated set of lines (a
1961           "paragraph").  Each line of the /etc/passwd file is a record, keyed
1962           on login name, containing information about that user.
1963
1964       recursion
1965           The art of defining something (at least partly) in terms of itself,
1966           which is a naughty no-no in dictionaries but often works out okay
1967           in computer programs if you're careful not to recurse forever,
1968           which is like an infinite loop with more spectacular failure modes.
1969
1970       reference
1971           Where you look to find a pointer to information somewhere else.
1972           (See "indirection".)  References come in two flavors, symbolic
1973           references and hard references.
1974
1975       referent
1976           Whatever a reference refers to, which may or may not have a name.
1977           Common types of referents include scalars, arrays, hashes, and
1978           subroutines.
1979
1980       regex
1981           See "regular expression".
1982
1983       regular expression
1984           A single entity with various interpretations, like an elephant.  To
1985           a computer scientist, it's a grammar for a little language in which
1986           some strings are legal and others aren't.  To normal people, it's a
1987           pattern you can use to find what you're looking for when it varies
1988           from case to case.  Perl's regular expressions are far from regular
1989           in the theoretical sense, but in regular use they work quite well.
1990           Here's a regular expression: "/Oh s.*t./".  This will match strings
1991           like ""Oh say can you see by the dawn's early light"" and ""Oh
1992           sit!"".  See perlre.
1993
1994       regular expression modifier
1995           An option on a pattern or substitution, such as "/i" to render the
1996           pattern case insensitive.  See also "cloister".
1997
1998       regular file
1999           A "file" that's not a "directory", a "device", a named "pipe" or
2000           "socket", or a "symbolic link".  Perl uses the "-f" file test
2001           operator to identify regular files.  Sometimes called a "plain"
2002           file.
2003
2004       relational operator
2005           An "operator" that says whether a particular ordering relationship
2006           is "true" about a pair of operands.  Perl has both numeric and
2007           string relational operators.  See "collating sequence".
2008
2009       reserved words
2010           A word with a specific, built-in meaning to a "compiler", such as
2011           "if" or delete.  In many languages (not Perl), it's illegal to use
2012           reserved words to name anything else.  (Which is why they're
2013           reserved, after all.)  In Perl, you just can't use them to name
2014           labels or filehandles.  Also called "keywords".
2015
2016       return value
2017           The "value" produced by a "subroutine" or "expression" when
2018           evaluated.  In Perl, a return value may be either a "list" or a
2019           "scalar".
2020
2021       RFC Request For Comment, which despite the timid connotations is the
2022           name of a series of important standards documents.
2023
2024       right shift
2025           A "bit shift" that divides a number by some power of 2.
2026
2027       root
2028           The superuser (UID == 0).  Also, the top-level directory of the
2029           filesystem.
2030
2031       RTFM
2032           What you are told when someone thinks you should Read The Fine
2033           Manual.
2034
2035       run phase
2036           Any time after Perl starts running your main program.  See also
2037           "compile phase".  Run phase is mostly spent in "run time" but may
2038           also be spent in "compile time" when require, do "FILE", or eval
2039           "STRING" operators are executed or when a substitution uses the
2040           "/ee" modifier.
2041
2042       run time
2043           The time when Perl is actually doing what your code says to do, as
2044           opposed to the earlier period of time when it was trying to figure
2045           out whether what you said made any sense whatsoever, which is
2046           "compile time".
2047
2048       run-time pattern
2049           A pattern that contains one or more variables to be interpolated
2050           before parsing the pattern as a "regular expression", and that
2051           therefore cannot be analyzed at compile time, but must be re-
2052           analyzed each time the pattern match operator is evaluated.  Run-
2053           time patterns are useful but expensive.
2054
2055       RV  A recreational vehicle, not to be confused with vehicular
2056           recreation.  RV also means an internal Reference Value of the type
2057           a "scalar" can hold.  See also "IV" and "NV" if you're not confused
2058           yet.
2059
2060       rvalue
2061           A "value" that you might find on the right side of an "assignment".
2062           See also "lvalue".
2063
2064   S
2065       scalar
2066           A simple, singular value; a number, "string", or "reference".
2067
2068       scalar context
2069           The situation in which an "expression" is expected by its
2070           surroundings (the code calling it) to return a single "value"
2071           rather than a "list" of values.  See also "context" and "list
2072           context".  A scalar context sometimes imposes additional
2073           constraints on the return value--see "string context" and "numeric
2074           context".  Sometimes we talk about a "Boolean context" inside
2075           conditionals, but this imposes no additional constraints, since any
2076           scalar value, whether numeric or "string", is already true or
2077           false.
2078
2079       scalar literal
2080           A number or quoted "string"--an actual "value" in the text of your
2081           program, as opposed to a "variable".
2082
2083       scalar value
2084           A value that happens to be a "scalar" as opposed to a "list".
2085
2086       scalar variable
2087           A "variable" prefixed with "$" that holds a single value.
2088
2089       scope
2090           How far away you can see a variable from, looking through one.
2091           Perl has two visibility mechanisms: it does "dynamic scoping" of
2092           local variables, meaning that the rest of the "block", and any
2093           subroutines that are called by the rest of the block, can see the
2094           variables that are local to the block.  Perl does "lexical scoping"
2095           of my variables, meaning that the rest of the block can see the
2096           variable, but other subroutines called by the block cannot see the
2097           variable.
2098
2099       scratchpad
2100           The area in which a particular invocation of a particular file or
2101           subroutine keeps some of its temporary values, including any
2102           lexically scoped variables.
2103
2104       script
2105           A text "file" that is a program intended to be executed directly
2106           rather than compiled to another form of file before execution.
2107           Also, in the context of "Unicode", a writing system for a
2108           particular language or group of languages, such as Greek, Bengali,
2109           or Klingon.
2110
2111       script kiddie
2112           A "cracker" who is not a "hacker", but knows just enough to run
2113           canned scripts.  A cargo-cult programmer.
2114
2115       sed A venerable Stream EDitor from which Perl derives some of its
2116           ideas.
2117
2118       semaphore
2119           A fancy kind of interlock that prevents multiple threads or
2120           processes from using up the same resources simultaneously.
2121
2122       separator
2123           A "character" or "string" that keeps two surrounding strings from
2124           being confused with each other.  The split function works on
2125           separators.  Not to be confused with delimiters or terminators.
2126           The "or" in the previous sentence separated the two alternatives.
2127
2128       serialization
2129           Putting a fancy "data structure" into linear order so that it can
2130           be stored as a "string" in a disk file or database or sent through
2131           a "pipe".  Also called marshalling.
2132
2133       server
2134           In networking, a "process" that either advertises a "service" or
2135           just hangs around at a known location and waits for clients who
2136           need service to get in touch with it.
2137
2138       service
2139           Something you do for someone else to make them happy, like giving
2140           them the time of day (or of their life).  On some machines, well-
2141           known services are listed by the getservent function.
2142
2143       setgid
2144           Same as "setuid", only having to do with giving away "group"
2145           privileges.
2146
2147       setuid
2148           Said of a program that runs with the privileges of its "owner"
2149           rather than (as is usually the case) the privileges of whoever is
2150           running it.  Also describes the bit in the mode word ("permission
2151           bits") that controls the feature.  This bit must be explicitly set
2152           by the owner to enable this feature, and the program must be
2153           carefully written not to give away more privileges than it ought
2154           to.
2155
2156       shared memory
2157           A piece of "memory" accessible by two different processes who
2158           otherwise would not see each other's memory.
2159
2160       shebang
2161           Irish for the whole McGillicuddy.  In Perl culture, a portmanteau
2162           of "sharp" and "bang", meaning the "#!" sequence that tells the
2163           system where to find the interpreter.
2164
2165       shell
2166           A "command"-line "interpreter".  The program that interactively
2167           gives you a prompt, accepts one or more lines of input, and
2168           executes the programs you mentioned, feeding each of them their
2169           proper arguments and input data.  Shells can also execute scripts
2170           containing such commands.  Under Unix, typical shells include the
2171           Bourne shell (/bin/sh), the C shell (/bin/csh), and the Korn shell
2172           (/bin/ksh).  Perl is not strictly a shell because it's not
2173           interactive (although Perl programs can be interactive).
2174
2175       side effects
2176           Something extra that happens when you evaluate an "expression".
2177           Nowadays it can refer to almost anything.  For example, evaluating
2178           a simple assignment statement typically has the "side effect" of
2179           assigning a value to a variable.  (And you thought assigning the
2180           value was your primary intent in the first place!)  Likewise,
2181           assigning a value to the special variable $| ($AUTOFLUSH) has the
2182           side effect of forcing a flush after every write or print on the
2183           currently selected filehandle.
2184
2185       signal
2186           A bolt out of the blue; that is, an event triggered by the
2187           "operating system", probably when you're least expecting it.
2188
2189       signal handler
2190           A "subroutine" that, instead of being content to be called in the
2191           normal fashion, sits around waiting for a bolt out of the blue
2192           before it will deign to "execute".  Under Perl, bolts out of the
2193           blue are called signals, and you send them with the kill built-in.
2194           See "%SIG" in perlvar and "Signals" in perlipc.
2195
2196       single inheritance
2197           The features you got from your mother, if she told you that you
2198           don't have a father.  (See also "inheritance" and "multiple
2199           inheritance".)  In computer languages, the notion that classes
2200           reproduce asexually so that a given class can only have one direct
2201           ancestor or "base class".  Perl supplies no such restriction,
2202           though you may certainly program Perl that way if you like.
2203
2204       slice
2205           A selection of any number of elements from a "list", "array", or
2206           "hash".
2207
2208       slurp
2209           To read an entire "file" into a "string" in one operation.
2210
2211       socket
2212           An endpoint for network communication among multiple processes that
2213           works much like a telephone or a post office box.  The most
2214           important thing about a socket is its "network address" (like a
2215           phone number).  Different kinds of sockets have different kinds of
2216           addresses--some look like filenames, and some don't.
2217
2218       soft reference
2219           See "symbolic reference".
2220
2221       source filter
2222           A special kind of "module" that does "preprocessing" on your script
2223           just before it gets to the "tokener".
2224
2225       stack
2226           A device you can put things on the top of, and later take them back
2227           off in the opposite order in which you put them on.  See "LIFO".
2228
2229       standard
2230           Included in the official Perl distribution, as in a standard
2231           module, a standard tool, or a standard Perl "manpage".
2232
2233       standard error
2234           The default output "stream" for nasty remarks that don't belong in
2235           "standard output".  Represented within a Perl program by the
2236           "filehandle" "STDERR".  You can use this stream explicitly, but the
2237           die and warn built-ins write to your standard error stream
2238           automatically.
2239
2240       standard I/O
2241           A standard C library for doing buffered input and output to the
2242           "operating system".  (The "standard" of standard I/O is only
2243           marginally related to the "standard" of standard input and output.)
2244           In general, Perl relies on whatever implementation of standard I/O
2245           a given operating system supplies, so the buffering characteristics
2246           of a Perl program on one machine may not exactly match those on
2247           another machine.  Normally this only influences efficiency, not
2248           semantics.  If your standard I/O package is doing block buffering
2249           and you want it to "flush" the buffer more often, just set the $|
2250           variable to a true value.
2251
2252       standard input
2253           The default input "stream" for your program, which if possible
2254           shouldn't care where its data is coming from.  Represented within a
2255           Perl program by the "filehandle" "STDIN".
2256
2257       standard output
2258           The default output "stream" for your program, which if possible
2259           shouldn't care where its data is going.  Represented within a Perl
2260           program by the "filehandle" "STDOUT".
2261
2262       stat structure
2263           A special internal spot in which Perl keeps the information about
2264           the last "file" on which you requested information.
2265
2266       statement
2267           A "command" to the computer about what to do next, like a step in a
2268           recipe: "Add marmalade to batter and mix until mixed."  A statement
2269           is distinguished from a "declaration", which doesn't tell the
2270           computer to do anything, but just to learn something.
2271
2272       statement modifier
2273           A "conditional" or "loop" that you put after the "statement"
2274           instead of before, if you know what we mean.
2275
2276       static
2277           Varying slowly compared to something else.  (Unfortunately,
2278           everything is relatively stable compared to something else, except
2279           for certain elementary particles, and we're not so sure about
2280           them.)  In computers, where things are supposed to vary rapidly,
2281           "static" has a derogatory connotation, indicating a slightly
2282           dysfunctional "variable", "subroutine", or "method".  In Perl
2283           culture, the word is politely avoided.
2284
2285       static method
2286           No such thing.  See "class method".
2287
2288       static scoping
2289           No such thing.  See "lexical scoping".
2290
2291       static variable
2292           No such thing.  Just use a "lexical variable" in a scope larger
2293           than your "subroutine".
2294
2295       status
2296           The "value" returned to the parent "process" when one of its child
2297           processes dies.  This value is placed in the special variable $?.
2298           Its upper eight bits are the exit status of the defunct process,
2299           and its lower eight bits identify the signal (if any) that the
2300           process died from.  On Unix systems, this status value is the same
2301           as the status word returned by wait(2).  See "system" in perlfunc.
2302
2303       STDERR
2304           See "standard error".
2305
2306       STDIN
2307           See "standard input".
2308
2309       STDIO
2310           See "standard I/O".
2311
2312       STDOUT
2313           See "standard output".
2314
2315       stream
2316           A flow of data into or out of a process as a steady sequence of
2317           bytes or characters, without the appearance of being broken up into
2318           packets.  This is a kind of "interface"--the underlying
2319           "implementation" may well break your data up into separate packets
2320           for delivery, but this is hidden from you.
2321
2322       string
2323           A sequence of characters such as "He said !@#*&%@#*?!".  A string
2324           does not have to be entirely printable.
2325
2326       string context
2327           The situation in which an expression is expected by its
2328           surroundings (the code calling it) to return a "string".  See also
2329           "context" and "numeric context".
2330
2331       stringification
2332           The process of producing a "string" representation of an abstract
2333           object.
2334
2335       struct
2336           C keyword introducing a structure definition or name.
2337
2338       structure
2339           See "data structure".
2340
2341       subclass
2342           See "derived class".
2343
2344       subpattern
2345           A component of a "regular expression" pattern.
2346
2347       subroutine
2348           A named or otherwise accessible piece of program that can be
2349           invoked from elsewhere in the program in order to accomplish some
2350           sub-goal of the program.  A subroutine is often parameterized to
2351           accomplish different but related things depending on its input
2352           arguments.  If the subroutine returns a meaningful "value", it is
2353           also called a "function".
2354
2355       subscript
2356           A "value" that indicates the position of a particular "array"
2357           "element" in an array.
2358
2359       substitution
2360           Changing parts of a string via the "s///" operator.  (We avoid use
2361           of this term to mean "variable interpolation".)
2362
2363       substring
2364           A portion of a "string", starting at a certain "character" position
2365           ("offset") and proceeding for a certain number of characters.
2366
2367       superclass
2368           See "base class".
2369
2370       superuser
2371           The person whom the "operating system" will let do almost anything.
2372           Typically your system administrator or someone pretending to be
2373           your system administrator.  On Unix systems, the "root" user.  On
2374           Windows systems, usually the Administrator user.
2375
2376       SV  Short for "scalar value".  But within the Perl interpreter every
2377           "referent" is treated as a member of a class derived from SV, in an
2378           object-oriented sort of way.  Every "value" inside Perl is passed
2379           around as a C language "SV*" pointer.  The SV "struct" knows its
2380           own "referent type", and the code is smart enough (we hope) not to
2381           try to call a "hash" function on a "subroutine".
2382
2383       switch
2384           An option you give on a command line to influence the way your
2385           program works, usually introduced with a minus sign.  The word is
2386           also used as a nickname for a "switch statement".
2387
2388       switch cluster
2389           The combination of multiple command-line switches (e.g., -a -b -c)
2390           into one switch (e.g., -abc).  Any switch with an additional
2391           "argument" must be the last switch in a cluster.
2392
2393       switch statement
2394           A program technique that lets you evaluate an "expression" and
2395           then, based on the value of the expression, do a multiway branch to
2396           the appropriate piece of code for that value.  Also called a "case
2397           structure", named after the similar Pascal construct.  Most switch
2398           statements in Perl are spelled "for".  See "Basic BLOCKs and Switch
2399           Statements" in perlsyn.
2400
2401       symbol
2402           Generally, any "token" or "metasymbol".  Often used more
2403           specifically to mean the sort of name you might find in a "symbol
2404           table".
2405
2406       symbol table
2407           Where a "compiler" remembers symbols.  A program like Perl must
2408           somehow remember all the names of all the variables, filehandles,
2409           and subroutines you've used.  It does this by placing the names in
2410           a symbol table, which is implemented in Perl using a "hash table".
2411           There is a separate symbol table for each "package" to give each
2412           package its own "namespace".
2413
2414       symbolic debugger
2415           A program that lets you step through the execution of your program,
2416           stopping or printing things out here and there to see whether
2417           anything has gone wrong, and if so, what.  The "symbolic" part just
2418           means that you can talk to the debugger using the same symbols with
2419           which your program is written.
2420
2421       symbolic link
2422           An alternate filename that points to the real "filename", which in
2423           turn points to the real "file".  Whenever the "operating system" is
2424           trying to parse a "pathname" containing a symbolic link, it merely
2425           substitutes the new name and continues parsing.
2426
2427       symbolic reference
2428           A variable whose value is the name of another variable or
2429           subroutine.  By dereferencing the first variable, you can get at
2430           the second one.  Symbolic references are illegal under use strict
2431           'refs'.
2432
2433       synchronous
2434           Programming in which the orderly sequence of events can be
2435           determined; that is, when things happen one after the other, not at
2436           the same time.
2437
2438       syntactic sugar
2439           An alternative way of writing something more easily; a shortcut.
2440
2441       syntax
2442           From Greek, "with-arrangement".  How things (particularly symbols)
2443           are put together with each other.
2444
2445       syntax tree
2446           An internal representation of your program wherein lower-level
2447           constructs dangle off the higher-level constructs enclosing them.
2448
2449       syscall
2450           A "function" call directly to the "operating system".  Many of the
2451           important subroutines and functions you use aren't direct system
2452           calls, but are built up in one or more layers above the system call
2453           level.  In general, Perl programmers don't need to worry about the
2454           distinction.  However, if you do happen to know which Perl
2455           functions are really syscalls, you can predict which of these will
2456           set the $!  ($ERRNO) variable on failure.  Unfortunately, beginning
2457           programmers often confusingly employ the term "system call" to mean
2458           what happens when you call the Perl system function, which actually
2459           involves many syscalls.  To avoid any confusion, we nearly always
2460           use say "syscall" for something you could call indirectly via
2461           Perl's syscall function, and never for something you would call
2462           with Perl's system function.
2463
2464   T
2465       tainted
2466           Said of data derived from the grubby hands of a user and thus
2467           unsafe for a secure program to rely on.  Perl does taint checks if
2468           you run a "setuid" (or "setgid") program, or if you use the -T
2469           switch.
2470
2471       TCP Short for Transmission Control Protocol.  A protocol wrapped around
2472           the Internet Protocol to make an unreliable packet transmission
2473           mechanism appear to the application program to be a reliable
2474           "stream" of bytes.  (Usually.)
2475
2476       term
2477           Short for a "terminal", that is, a leaf node of a "syntax tree".  A
2478           thing that functions grammatically as an "operand" for the
2479           operators in an expression.
2480
2481       terminator
2482           A "character" or "string" that marks the end of another string.
2483           The $/ variable contains the string that terminates a readline
2484           operation, which chomp deletes from the end.  Not to be confused
2485           with delimiters or separators.  The period at the end of this
2486           sentence is a terminator.
2487
2488       ternary
2489           An "operator" taking three operands.  Sometimes pronounced
2490           "trinary".
2491
2492       text
2493           A "string" or "file" containing primarily printable characters.
2494
2495       thread
2496           Like a forked process, but without "fork"'s inherent memory
2497           protection.  A thread is lighter weight than a full process, in
2498           that a process could have multiple threads running around in it,
2499           all fighting over the same process's memory space unless steps are
2500           taken to protect threads from each other.  See threads.
2501
2502       tie The bond between a magical variable and its implementation class.
2503           See "tie" in perlfunc and perltie.
2504
2505       TMTOWTDI
2506           There's More Than One Way To Do It, the Perl Motto.  The notion
2507           that there can be more than one valid path to solving a programming
2508           problem in context.  (This doesn't mean that more ways are always
2509           better or that all possible paths are equally desirable--just that
2510           there need not be One True Way.)  Pronounced TimToady.
2511
2512       token
2513           A morpheme in a programming language, the smallest unit of text
2514           with semantic significance.
2515
2516       tokener
2517           A module that breaks a program text into a sequence of tokens for
2518           later analysis by a parser.
2519
2520       tokenizing
2521           Splitting up a program text into tokens.  Also known as "lexing",
2522           in which case you get "lexemes" instead of tokens.
2523
2524       toolbox approach
2525           The notion that, with a complete set of simple tools that work well
2526           together, you can build almost anything you want.  Which is fine if
2527           you're assembling a tricycle, but if you're building a
2528           defranishizing comboflux regurgalator, you really want your own
2529           machine shop in which to build special tools.  Perl is sort of a
2530           machine shop.
2531
2532       transliterate
2533           To turn one string representation into another by mapping each
2534           character of the source string to its corresponding character in
2535           the result string.  See "tr/SEARCHLIST/REPLACEMENTLIST/cds" in
2536           perlop.
2537
2538       trigger
2539           An event that causes a "handler" to be run.
2540
2541       trinary
2542           Not a stellar system with three stars, but an "operator" taking
2543           three operands.  Sometimes pronounced "ternary".
2544
2545       troff
2546           A venerable typesetting language from which Perl derives the name
2547           of its $% variable and which is secretly used in the production of
2548           Camel books.
2549
2550       true
2551           Any scalar value that doesn't evaluate to 0 or "".
2552
2553       truncating
2554           Emptying a file of existing contents, either automatically when
2555           opening a file for writing or explicitly via the truncate function.
2556
2557       type
2558           See "data type" and "class".
2559
2560       type casting
2561           Converting data from one type to another.  C permits this.  Perl
2562           does not need it.  Nor want it.
2563
2564       typed lexical
2565           A "lexical variable" that is declared with a "class" type: "my Pony
2566           $bill".
2567
2568       typedef
2569           A type definition in the C language.
2570
2571       typeglob
2572           Use of a single identifier, prefixed with "*".  For example, *name
2573           stands for any or all of $name, @name, %name, &name, or just
2574           "name".  How you use it determines whether it is interpreted as all
2575           or only one of them.  See "Typeglobs and Filehandles" in perldata.
2576
2577       typemap
2578           A description of how C types may be transformed to and from Perl
2579           types within an "extension" module written in "XS".
2580
2581   U
2582       UDP User Datagram Protocol, the typical way to send datagrams over the
2583           Internet.
2584
2585       UID A user ID.  Often used in the context of "file" or "process"
2586           ownership.
2587
2588       umask
2589           A mask of those "permission bits" that should be forced off when
2590           creating files or directories, in order to establish a policy of
2591           whom you'll ordinarily deny access to.  See the umask function.
2592
2593       unary operator
2594           An operator with only one "operand", like "!" or chdir.  Unary
2595           operators are usually prefix operators; that is, they precede their
2596           operand.  The "++" and "--" operators can be either prefix or
2597           postfix.  (Their position does change their meanings.)
2598
2599       Unicode
2600           A character set comprising all the major character sets of the
2601           world, more or less.  See perlunicode and <http://www.unicode.org>.
2602
2603       Unix
2604           A very large and constantly evolving language with several
2605           alternative and largely incompatible syntaxes, in which anyone can
2606           define anything any way they choose, and usually do.  Speakers of
2607           this language think it's easy to learn because it's so easily
2608           twisted to one's own ends, but dialectical differences make tribal
2609           intercommunication nearly impossible, and travelers are often
2610           reduced to a pidgin-like subset of the language.  To be universally
2611           understood, a Unix shell programmer must spend years of study in
2612           the art.  Many have abandoned this discipline and now communicate
2613           via an Esperanto-like language called Perl.
2614
2615           In ancient times, Unix was also used to refer to some code that a
2616           couple of people at Bell Labs wrote to make use of a PDP-7 computer
2617           that wasn't doing much of anything else at the time.
2618
2619   V
2620       value
2621           An actual piece of data, in contrast to all the variables,
2622           references, keys, indexes, operators, and whatnot that you need to
2623           access the value.
2624
2625       variable
2626           A named storage location that can hold any of various kinds of
2627           "value", as your program sees fit.
2628
2629       variable interpolation
2630           The "interpolation" of a scalar or array variable into a string.
2631
2632       variadic
2633           Said of a "function" that happily receives an indeterminate number
2634           of "actual arguments".
2635
2636       vector
2637           Mathematical jargon for a list of scalar values.
2638
2639       virtual
2640           Providing the appearance of something without the reality, as in:
2641           virtual memory is not real memory.  (See also "memory".)  The
2642           opposite of "virtual" is "transparent", which means providing the
2643           reality of something without the appearance, as in: Perl handles
2644           the variable-length UTF-8 character encoding transparently.
2645
2646       void context
2647           A form of "scalar context" in which an "expression" is not expected
2648           to return any "value" at all and is evaluated for its "side
2649           effects" alone.
2650
2651       v-string
2652           A "version" or "vector" "string" specified with a "v" followed by a
2653           series of decimal integers in dot notation, for instance,
2654           "v1.20.300.4000".  Each number turns into a "character" with the
2655           specified ordinal value.  (The "v" is optional when there are at
2656           least three integers.)
2657
2658   W
2659       warning
2660           A message printed to the "STDERR" stream to the effect that
2661           something might be wrong but isn't worth blowing up over.  See
2662           "warn" in perlfunc and the warnings pragma.
2663
2664       watch expression
2665           An expression which, when its value changes, causes a breakpoint in
2666           the Perl debugger.
2667
2668       whitespace
2669           A "character" that moves your cursor but doesn't otherwise put
2670           anything on your screen.  Typically refers to any of: space, tab,
2671           line feed, carriage return, or form feed.
2672
2673       word
2674           In normal "computerese", the piece of data of the size most
2675           efficiently handled by your computer, typically 32 bits or so, give
2676           or take a few powers of 2.  In Perl culture, it more often refers
2677           to an alphanumeric "identifier" (including underscores), or to a
2678           string of nonwhitespace characters bounded by whitespace or string
2679           boundaries.
2680
2681       working directory
2682           Your current "directory", from which relative pathnames are
2683           interpreted by the "operating system".  The operating system knows
2684           your current directory because you told it with a chdir or because
2685           you started out in the place where your parent "process" was when
2686           you were born.
2687
2688       wrapper
2689           A program or subroutine that runs some other program or subroutine
2690           for you, modifying some of its input or output to better suit your
2691           purposes.
2692
2693       WYSIWYG
2694           What You See Is What You Get.  Usually used when something that
2695           appears on the screen matches how it will eventually look, like
2696           Perl's format declarations.  Also used to mean the opposite of
2697           magic because everything works exactly as it appears, as in the
2698           three-argument form of open.
2699
2700   X
2701       XS  An extraordinarily exported, expeditiously excellent, expressly
2702           eXternal Subroutine, executed in existing C or C++ or in an
2703           exciting new extension language called (exasperatingly) XS.
2704           Examine perlxs for the exact explanation or perlxstut for an
2705           exemplary unexacting one.
2706
2707       XSUB
2708           An external "subroutine" defined in "XS".
2709
2710   Y
2711       yacc
2712           Yet Another Compiler Compiler.  A parser generator without which
2713           Perl probably would not have existed.  See the file perly.y in the
2714           Perl source distribution.
2715
2716   Z
2717       zero width
2718           A subpattern "assertion" matching the "null string" between
2719           characters.
2720
2721       zombie
2722           A process that has died (exited) but whose parent has not yet
2723           received proper notification of its demise by virtue of having
2724           called wait or waitpid.  If you fork, you must clean up after your
2725           child processes when they exit, or else the process table will fill
2726           up and your system administrator will Not Be Happy with you.
2727
2729       Based on the Glossary of Programming Perl, Third Edition, by Larry
2730       Wall, Tom Christiansen & Jon Orwant.  Copyright (c) 2000, 1996, 1991
2731       O'Reilly Media, Inc.  This document may be distributed under the same
2732       terms as Perl itself.
2733
2734
2735
2736perl v5.12.4                      2011-06-07                   PERLGLOSSARY(1)
Impressum