From: Chris 'BinGOs' Williams Date: Sat, 9 Jun 2012 11:27:09 +0000 (+0100) Subject: Updated perlfaq to CPAN version 5.0150040 X-Git-Tag: v5.17.1~163 X-Git-Url: https://perl5.git.perl.org/perl5.git/commitdiff_plain/c716620072a2a924157c74219f6e6a9b5c3a8d46 Updated perlfaq to CPAN version 5.0150040 [DELTA] 5.0150040 Sat 9 Jun 2012 12:02:27 +0100 * perlglossary provided by Tom C. from Camel 4 * remove prototypes and & for subroutine (mauke) * Grammar from patch [RT #113492] * utf8 in Email::MIME (wchristian) --- diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 4841bd6..b8cd6cc 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -749,7 +749,7 @@ use File::Glob qw(:case); 'perlfaq' => { 'MAINTAINER' => 'perlfaq', - 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150039.tar.gz', + 'DISTRIBUTION' => 'LLAP/perlfaq-5.0150040.tar.gz', 'FILES' => q[cpan/perlfaq], 'EXCLUDED' => [ qw( t/release-pod-syntax.t diff --git a/cpan/perlfaq/lib/perlfaq.pm b/cpan/perlfaq/lib/perlfaq.pm index 1d5b4e4..163c599 100644 --- a/cpan/perlfaq/lib/perlfaq.pm +++ b/cpan/perlfaq/lib/perlfaq.pm @@ -1,6 +1,6 @@ package perlfaq; { - $perlfaq::VERSION = '5.0150039'; + $perlfaq::VERSION = '5.0150040'; } 0; # not is it supposed to be loaded diff --git a/cpan/perlfaq/lib/perlfaq5.pod b/cpan/perlfaq/lib/perlfaq5.pod index 60bd083..d03ca9f 100644 --- a/cpan/perlfaq/lib/perlfaq5.pod +++ b/cpan/perlfaq/lib/perlfaq5.pod @@ -1373,7 +1373,7 @@ numeric descriptor as with C above. But if you really have to, you may be able to do this: require 'sys/syscall.ph'; - my $rc = syscall(&SYS_close, $fd + 0); # must force numeric + my $rc = syscall(SYS_close(), $fd + 0); # must force numeric die "can't sysclose $fd: $!" unless $rc == -1; Or, just use the fdopen(3S) feature of C: diff --git a/cpan/perlfaq/lib/perlfaq6.pod b/cpan/perlfaq/lib/perlfaq6.pod index 40c2b07c..db10643 100644 --- a/cpan/perlfaq/lib/perlfaq6.pod +++ b/cpan/perlfaq/lib/perlfaq6.pod @@ -231,7 +231,7 @@ properties of bitwise xor on ASCII strings. And here it is as a subroutine, modeled after the above: - sub preserve_case($$) { + sub preserve_case { my ($old, $new) = @_; my $mask = uc $old ^ $old; @@ -271,7 +271,7 @@ the case of the last character is used for the rest of the substitution. # Original by Nathan Torkington, massaged by Jeffrey Friedl # - sub preserve_case($$) + sub preserve_case { my ($old, $new) = @_; my $state = 0; # 0 = no change; 1 = lc; 2 = uc diff --git a/cpan/perlfaq/lib/perlfaq7.pod b/cpan/perlfaq/lib/perlfaq7.pod index 35c9330..099ed6b 100644 --- a/cpan/perlfaq/lib/perlfaq7.pod +++ b/cpan/perlfaq/lib/perlfaq7.pod @@ -414,7 +414,7 @@ Here's an example of how to pass in a string and a regular expression for it to match against. You construct the pattern with the C operator: - sub compare($$) { + sub compare { my ($val1, $regex) = @_; my $retval = $val1 =~ /$regex/; return $retval; @@ -868,7 +868,7 @@ comments). You end the comment with C<=cut>, ending the Pod section: The quick-and-dirty method only works well when you don't plan to leave the commented code in the source. If a Pod parser comes along, -you're multiline comment is going to show up in the Pod translation. +your multiline comment is going to show up in the Pod translation. A better way hides it from Pod parsers as well. The C<=begin> directive can mark a section for a particular purpose. diff --git a/cpan/perlfaq/lib/perlfaq8.pod b/cpan/perlfaq/lib/perlfaq8.pod index 1c7793e..fd9b201 100644 --- a/cpan/perlfaq/lib/perlfaq8.pod +++ b/cpan/perlfaq/lib/perlfaq8.pod @@ -585,7 +585,7 @@ Perl source with L. Historically, these would be generated by the L tool, part of the standard perl distribution. This program converts C directives in C header files to files containing subroutine definitions, like -C<&SYS_getitimer>, which you can use as arguments to your functions. +C, which you can use as arguments to your functions. It doesn't work perfectly, but it usually gets most of the job done. Simple files like F, F, and F were fine, but the hard ones like F nearly always need to be hand-edited. diff --git a/cpan/perlfaq/lib/perlfaq9.pod b/cpan/perlfaq/lib/perlfaq9.pod index b42755e..41b9f06 100644 --- a/cpan/perlfaq/lib/perlfaq9.pod +++ b/cpan/perlfaq/lib/perlfaq9.pod @@ -295,7 +295,7 @@ Use the L and L modules, like so: ], attributes => { encoding => 'quoted-printable', - charset => 'ISO-8859-1', + charset => 'utf-8', }, body_str => "Happy birthday to you!\n", ); diff --git a/cpan/perlfaq/lib/perlglossary.pod b/cpan/perlfaq/lib/perlglossary.pod index 5adef04..c173def 100644 --- a/cpan/perlfaq/lib/perlglossary.pod +++ b/cpan/perlfaq/lib/perlglossary.pod @@ -1,13 +1,21 @@ + +=encoding utf8 + =head1 NAME perlglossary - Perl Glossary =head1 DESCRIPTION -A glossary of terms (technical and otherwise) used in the Perl documentation. -Other useful sources include the Free On-Line Dictionary of Computing -L, the Jargon File -L, and Wikipedia L. +A glossary of terms (technical and otherwise) used in the Perl +documentation, derived from the Glossary of I, Fourth Edition. Words or phrases in bold are defined elsewhere in +this glossary. + +Other useful sources include the Unicode Glossary L, +the Free On-Line Dictionary of Computing L, +the Jargon File L, +and Wikipedia L. =head2 A @@ -15,215 +23,231 @@ L, and Wikipedia L. =item accessor methods -A L used to indirectly inspect or update an L's -state (its L). +A BXmethod> used to +indirectly inspect or update an B’s state (its B). =item actual arguments -The L that you supply to a L -or L when you call it. For instance, when you call -C, the string C<"puff"> is the actual argument. See -also L and L. +The BXscalar values> that you supply +to a B or B when you call it. For instance, when you +call C, the string C<"puff"> is the actual argument. See also +B and B. =item address operator -Some languages work directly with the memory addresses of values, but -this can be like playing with fire. Perl provides a set of asbestos -gloves for handling all memory management. The closest to an address -operator in Perl is the backslash operator, but it gives you a L, which is much safer than a memory address. +Some X
languages work directly with the memory addresses of +values, but this can be like playing with fire. Perl provides a set of +asbestos gloves for handling all memory management. The closest to an +address operator in Perl is the backslash operator, but it gives you a +B, which is much safer than a memory address. =item algorithm -A well-defined sequence of steps, clearly enough explained that even a -computer could do them. +A Xwell-defined sequence of steps, explained clearly +enough that even a computer could do them. =item alias -A nickname for something, which behaves in all ways as though you'd -used the original name instead of the nickname. Temporary aliases are -implicitly created in the loop variable for C loops, in the -C<$_> variable for L or L -operators, in C<$a> and C<$b> during L's -comparison function, and in each element of C<@_> for the L of a subroutine call. Permanent aliases are explicitly -created in L by L symbols or by -assignment to L. Lexically scoped aliases for -package variables are explicitly created by the L -declaration. +A Xnickname for something, which behaves in all ways as +though you’d used the original name instead of the nickname. Temporary +aliases are implicitly created in the loop variable for C loops, in +the C<$_> variable for C or C operators, in C<$a> and C<$b> +during C’s comparison function, and in each element of C<@_> for the +B of a subroutine call. Permanent aliases are explicitly +created in B by B symbols or by assignment to +B. Lexically scoped aliases for package variables are explicitly +created by the C declaration. + +=item alphabetic + +The Xsort of characters we put into words. In Unicode, this +is all letters including all ideographs and certain diacritics, letter +numbers like Roman numerals, and various combining marks. =item alternatives -A list of possible choices from which you may select only one, as in -"Would you like door A, B, or C?" Alternatives in regular expressions -are separated with a single vertical bar: C<|>. Alternatives in -normal Perl expressions are separated with a double vertical bar: -C<||>. Logical alternatives in L expressions are separated +A Xlist of possible choices from which you may +select only one, as in, “Would you like door A, B, or C?” Alternatives in +regular expressions are separated with a single vertical bar: C<|>. +Alternatives in normal Perl expressions are separated with a double vertical +bar: C<||>. Logical alternatives in B expressions are separated with either C<||> or C. =item anonymous -Used to describe a L that is not directly accessible -through a named L. Such a referent must be indirectly -accessible through at least one L. When the last -hard reference goes away, the anonymous referent is destroyed without -pity. +Used to XXdescribe a B +that is not directly accessible through a named B. Such a referent +must be indirectly accessible through at least one B. When +the last hard reference goes away, the anonymous referent is destroyed +without pity. + +=item application + +A Xbigger, fancier sort of B with a fancier +name so people don’t realize they are using a program. =item architecture -The kind of computer you're working on, where one "kind" of computer -means all those computers sharing a compatible machine language. +The kind of Xcomputer you’re working on, where one “kind” of +computer means all those computers sharing a compatible machine language. Since Perl programs are (typically) simple text files, not executable -images, a Perl program is much less sensitive to the architecture it's -running on than programs in other languages, such as C, that are -compiled into machine code. See also L and L. +images, a Perl program is much less sensitive to the architecture it’s +running on than programs in other languages, such as C, that are B +into machine code. See also B and B. =item argument -A piece of data supplied to a L, -L, L, or L to tell it what it's -supposed to do. Also called a "parameter". +A Xpiece of data supplied to a B, +B, B, or B to tell it what it’s supposed to +do. Also called a “parameter”. =item ARGV -The name of the array containing the L L from the -command line. If you use the empty C<< EE >> operator, L is -the name of both the L used to traverse the arguments and -the L containing the name of the current input file. +The name of the Xarray containing the B B +from the command line. If you use the empty CE> operator, C +is the name of both the B used to traverse the arguments and the +B containing the name of the current input file. =item arithmetical operator -A L such as C<+> or C that tells Perl to do the arithmetic -you were supposed to learn in grade school. +A Bsymbol> such as C<+> or C that tells +Perl to do the arithmetic you were supposed to learn in grade school. =item array -An ordered sequence of L, stored such that you can -easily access any of the values using an integer L -that specifies the value's L in the sequence. +An Xordered sequence of B, stored such that you can +easily access any of the values using an I that specifies +the value’s B in the sequence. =item array context -An archaic expression for what is more correctly referred to as -L. +An archaic Xexpression for what is more correctly referred to +as B. + +=item Artistic License + +The open Xsource license that XLarry Wall +created for Perl, maximizing Perl’s usefulness, availability, and +modifiability. The current version is 2. (L). =item ASCII -The American Standard Code for Information Interchange (a 7-bit -character set adequate only for poorly representing English text). -Often used loosely to describe the lowest 128 values of the various -ISO-8859-X character sets, a bunch of mutually incompatible 8-bit -codes sometimes described as half ASCII. See also L. +The XXAmerican Standard Code for +Information Interchange (a 7-bit character set adequate only for poorly +representing English text). Often used loosely to describe the lowest 128 +values of the various ISO-8859-X character sets, a bunch of mutually +incompatible 8-bit codes best described as half ASCII. See also B. =item assertion -A component of a L that must be true for the -pattern to match but does not necessarily match any characters itself. -Often used specifically to mean a L assertion. +A XXcomponent of a B that must be true for the pattern to +match but does not necessarily match any characters itself. Often used +specifically to mean a B assertion. =item assignment -An L whose assigned mission in life is to change the value -of a L. +An XB whose assigned mission in life is to +change the value of a B. =item assignment operator -Either a regular L, or a compound L composed -of an ordinary assignment and some other operator, that changes the -value of a variable in place, that is, relative to its old value. For -example, C<$a += 2> adds C<2> to C<$a>. +Either a Xregular B or a compound +B composed of an ordinary assignment and some other operator, that +changes the value of a variable in place; that is, relative to its old +value. For example, C<$a += 2> adds C<2> to C<$a>. =item associative array -See L. Please. +See B. XPlease. The term associative array is the +old Perl 4 term for a B. Some languages call it a dictionary. =item associativity -Determines whether you do the left L first or the right -L first when you have "A L B L C" and -the two operators are of the same precedence. Operators like C<+> are -left associative, while operators like C<**> are right associative. -See L for a list of operators and their associativity. +Determines Xwhether you do the left B first or the +right B first when you have “A B B B C”, and +the two operators are of the same precedence. Operators like C<+> are left +associative, while operators like C<**> are right associative. See Camel +chapter 3, “Unary and Binary Operators” for a list of operators and their +associativity. =item asynchronous -Said of events or activities whose relative temporal ordering is -indeterminate because too many things are going on at once. Hence, an -asynchronous event is one you didn't know when to expect. +Said of Xevents or activities whose relative +temporal ordering is indeterminate because too many things are going on at +once. Hence, an asynchronous event is one you didn’t know when to expect. =item atom -A L component potentially matching a -L containing one or more characters and treated as an -indivisible syntactic unit by any following L. (Contrast -with an L that matches something of L and may -not be quantified.) +A Bexpression> component potentially matching a +B containing one or more characters and treated as an indivisible +syntactic unit by any following B. (Contrast with an +B that matches something of B and may not be quantified.) =item atomic operation -When Democritus gave the word "atom" to the indivisible bits of -matter, he meant literally something that could not be cut: I -(not) + I (cuttable). An atomic operation is an action that -can't be interrupted, not one forbidden in a nuclear-free zone. +When XDemocritus gave the word “atom” to the indivisible +bits of matter, he meant literally something that could not be cut: I<ἀ-> +(not) + I<-τομος> (cuttable). An atomic operation is an action that can’t be +interrupted, not one forbidden in a nuclear-free zone. =item attribute -A new feature that allows the declaration of L -and L with modifiers as in C. Also, another name for an L of an -L
. +A new Xfeature that allows the declaration of +B and B with modifiers, as in C. Also another name for an B of an B. =item autogeneration -A feature of L of L, whereby -the behavior of certain L can be reasonably -deduced using more fundamental operators. This assumes that the -overloaded operators will often have the same relationships as the -regular operators. See L. +A Xfeature of B of B, +whereby the behavior of certain B can be reasonably deduced using +more fundamental operators. This assumes that the overloaded operators will +often have the same relationships as the regular operators. See Camel +chapter 13, “Overloading”. =item autoincrement -To add one to something automatically, hence the name of the C<++> -operator. To instead subtract one from something automatically is -known as an "autodecrement". +To Xadd one to something automatically, hence the name +of the C<++> operator. To instead subtract one from something automatically +is known as an “autodecrement”. =item autoload -To load on demand. (Also called "lazy" loading.) Specifically, to -call an L subroutine on behalf of an -undefined subroutine. +To Xload on demand. (Also called “lazy” loading.) +Specifically, to call an C subroutine on behalf of an undefined +subroutine. =item autosplit -To split a string automatically, as the B<-a> L does when -running under B<-p> or B<-n> in order to emulate L. (See also -the L module, which has nothing to do with the B<-a> -switch, but a lot to do with autoloading.) +To Xsplit a string automatically, as the I<–a> B +does when running under I<–p> or I<–n> in order to emulate B. (See also +the CX module, which has nothing to do with the +C<–a> switch but a lot to do with autoloading.) =item autovivification -A Greco-Roman word meaning "to bring oneself to life". In Perl, -storage locations (L) spontaneously generate -themselves as needed, including the creation of any L -values to point to the next level of storage. The assignment -C<$a[5][5][5][5][5] = "quintet"> potentially creates five scalar -storage locations, plus four references (in the first four scalar -locations) pointing to four new anonymous arrays (to hold the last -four scalar locations). But the point of autovivification is that you -don't have to worry about it. +A XGraeco-Roman word meaning “to bring oneself to life”. +In Perl, storage locations (B) spontaneously generate themselves as +needed, including the creation of any B values to point to +the next level of storage. The assignment C<$a[5][5][5][5][5] = "quintet"> +potentially creates five scalar storage locations, plus four references (in +the first four scalar locations) pointing to four new anonymous arrays (to +hold the last four scalar locations). But the point of autovivification is +that you don’t have to worry about it. =item AV -Short for "array value", which refers to one of Perl's internal data -types that holds an L. The L type is a subclass of -L. +Short XXXfor “array +value”, which refers to one of Perl’s internal data types that holds an +B. The C type is a subclass of B. =item awk -Descriptive editing term--short for "awkward". Also coincidentally -refers to a venerable text-processing language from which Perl derived -some of its high-level ideas. +Descriptive Xediting term—short for “awkward”. Also +coincidentally refers to a venerable text-processing language from which +Perl derived some of its high-level ideas. =back @@ -233,185 +257,187 @@ some of its high-level ideas. =item backreference -A substring L by a subpattern within -unadorned parentheses in a L, also referred to as a capture group. The -sequences (C<\g1>, C<\g2>, etc.) later in the same pattern refer back to -the corresponding subpattern in the current match. Outside the pattern, -the numbered variables (C<$1>, C<$2>, etc.) continue to refer to these -same values, as long as the pattern was the last successful match of -the current dynamic scope. C<\g{-1}> can be used to refer to a group by -relative rather than absolute position; and groups can be also be named, and -referred to later by name rather than number. See L. +A XXsubstring B +by a subpattern within unadorned parentheses in a B. Backslashed +decimal numbers (C<\1>, C<\2>, etc.) later in the same pattern refer back to +the corresponding subpattern in the current match. Outside the pattern, the +numbered variables (C<$1>, C<$2>, etc.) continue to refer to these same +values, as long as the pattern was the last successful match of the current +B. =item backtracking -The practice of saying, "If I had to do it all over, I'd do it -differently," and then actually going back and doing it all over -differently. Mathematically speaking, it's returning from an -unsuccessful recursion on a tree of possibilities. Perl backtracks -when it attempts to match patterns with a L, and -its earlier attempts don't pan out. See L. +The Xpractice of saying, “If I had to do it all over, I’d do +it differently,” and then actually going back and doing it all over +differently. Mathematically speaking, it’s returning from an unsuccessful +recursion on a tree of possibilities. Perl backtracks when it attempts to +match patterns with a B, and its earlier attempts don’t +pan out. See the section “The Little Engine That /Couldn(n’t)” in Camel +chapter 5, “Pattern Matching”. =item backward compatibility -Means you can still run your old program because we didn't break any -of the features or bugs it was relying on. +Means Xyou can still run your old program +because we didn’t break any of the features or bugs it was relying on. =item bareword -A word sufficiently ambiguous to be deemed illegal under L. In the absence of that stricture, a -bareword is treated as if quotes were around it. +A word Xsufficiently ambiguous to be deemed illegal under +C. In the absence of that stricture, a bareword is +treated as if quotes were around it. =item base class -A generic L type; that is, a L from which other, more -specific classes are derived genetically by L. Also -called a "superclass" by people who respect their ancestors. +A XXgeneric B type; that is, a B +from which other, more specific classes are derived genetically by +B. Also called aXX +“superclass” by people who respect their ancestors. =item big-endian -From Swift: someone who eats eggs big end first. Also used of -computers that store the most significant L of a word at a -lower byte address than the least significant byte. Often considered -superior to little-endian machines. See also L. +From XXSwift: someone who +eats eggs big end first. Also used of computers that store the most +significant B of a word at a lower byte address than the least +significant byte. Often considered superior to little-endian machines. See +also B. =item binary -Having to do with numbers represented in base 2. That means there's -basically two numbers, 0 and 1. Also used to describe a "non-text -file", presumably because such a file makes full use of all the binary -bits in its bytes. With the advent of L, this distinction, -already suspect, loses even more of its meaning. +Having Xto do with numbers represented in base 2. That means +there’s basically two numbers: 0 and 1. Also used to describe a file of +“nontext”, presumably because such a file makes full use of all the binary +bits in its bytes. With the advent of B, this distinction, already +suspect, loses even more of its meaning. =item binary operator -An L that takes two L. +An Boperator> that takes two B. =item bind -To assign a specific L to a L. +To Xassign a specific B to a B. =item bit -An integer in the range from 0 to 1, inclusive. The smallest possible -unit of information storage. An eighth of a L or of a dollar. -(The term "Pieces of Eight" comes from being able to split the old -Spanish dollar into 8 bits, each of which still counted for money. -That's why a 25-cent piece today is still "two bits".) +An Xinteger in the range from 0 to 1, inclusive. The smallest +possible unit of information storage. An eighth of a B or of a dollar. +(The term “Pieces of Eight” comes from being able to split the old Spanish +dollar into 8 bits, each of which still counted for money. That’s why a 25- +cent piece today is still “two bits”.) =item bit shift -The movement of bits left or right in a computer word, which has the -effect of multiplying or dividing by a power of 2. +The Xmovement of bits left or right in a +computer word, which has the effect of multiplying or dividing by a +power of 2. =item bit string -A sequence of L that is actually being thought of as a +A Xsequence of B that is actually being thought of as a sequence of bits, for once. =item bless -In corporate life, to grant official approval to a thing, as in, "The -VP of Engineering has blessed our WebCruncher project." Similarly in -Perl, to grant official approval to a L so that it can -function as an L, such as a WebCruncher object. See -L. +In XXcorporate life, to grant official +approval to a thing, as in, “The VP of Engineering has blessed our +WebCruncher project.” Similarly, in Perl, to grant official approval to a +B so that it can function as an B, such as a WebCruncher +object. See the C function in Camel chapter 27, “Functions”. =item block -What a L does when it has to wait for something: "My process -blocked waiting for the disk." As an unrelated noun, it refers to a -large chunk of data, of a size that the L likes to -deal with (normally a power of two such as 512 or 8192). Typically -refers to a chunk of data that's coming from or going to a disk file. +What Xa B does when it has to wait for something: +“My process blocked waiting for the disk.” As an unrelated noun, it refers +to a large chunk of data, of a size that the B likes to +deal with (normally a power of 2 such as 512 or 8192). Typically refers to +a chunk of data that’s coming from or going to a disk file. =item BLOCK -A syntactic construct consisting of a sequence of Perl -L that is delimited by braces. The C and -C statements are defined in terms of L, for instance. -Sometimes we also say "block" to mean a lexical scope; that is, a -sequence of statements that act like a L, such as within an -L or a file, even though the statements aren't -delimited by braces. +A XXsyntactic construct +consisting of a sequence of Perl B that is delimited by braces. +The C and C statements are defined in terms of I>s, for +instance. Sometimes we also say “block” to mean a lexical scope; that is, a +sequence of statements that acts like a I>, such as within an +C or a file, even though the statements aren’t delimited by braces. =item block buffering -A method of making input and output efficient by passing one L -at a time. By default, Perl does block buffering to disk files. See -L and L. +A XXmethod of making input and output +efficient by passing one B at a time. By default, Perl does block +buffering to disk files. See B and B. =item Boolean -A value that is either L or L. +A XXvalue that is either B or +B. =item Boolean context -A special kind of L used in conditionals to decide -whether the L returned by an expression is L or -L. Does not evaluate as either a string or a number. See -L. +A XXspecial kind of B used in conditionals to decide whether the B returned +by an expression is B or B. Does not evaluate as either a +string or a number. See B. =item breakpoint -A spot in your program where you've told the debugger to stop -L so you can poke around and see whether anything -is wrong yet. +A Xspot in your program where you’ve told the debugger +to stop B so you can poke around and see whether anything is +wrong yet. =item broadcast -To send a L to multiple destinations simultaneously. +To Xsend a B to multiple destinations +simultaneously. =item BSD -A psychoactive drug, popular in the 80s, probably developed at -U. C. Berkeley or thereabouts. Similar in many ways to the -prescription-only medication called "System V", but infinitely more -useful. (Or, at least, more fun.) The full chemical name is -"Berkeley Standard Distribution". +A XXpsychoactive drug, popular in the ’80s, probably developed at UC +Berkeley or thereabouts. Similar in many ways to the prescription-only +medication called “System V”, but infinitely more useful. (Or, at least, +more fun.) The full chemical name is “Berkeley Standard Distribution”. =item bucket -A location in a L containing (potentially) multiple -entries whose keys "hash" to the same hash value according to its hash -function. (As internal policy, you don't have to worry about it, -unless you're into internals, or policy.) +A Xlocation in a B containing (potentially) +multiple entries whose keys “hash” to the same hash value according to its +hash function. (As internal policy, you don’t have to worry about it unless +you’re into internals, or policy.) =item buffer -A temporary holding location for data. L means that the data is passed on to its destination -whenever the buffer is full. L means -that it's passed on whenever a complete line is received. L means that it's passed every time you do -a L command (or equivalent). If your output is -unbuffered, the system processes it one byte at a time without the use -of a holding area. This can be rather inefficient. +A Xtemporary holding location for data. Data that are +B means that the data is passed on to its destination +whenever the buffer is full. B means that it’s passed on +whenever a complete line is received. B means that it’s +passed every time you do a C command (or equivalent). If your output +is unbuffered, the system processes it one byte at a time without the use of +a holding area. This can be rather inefficient. =item built-in -A L that is predefined in the language. Even when hidden -by L, you can always get at a built-in function by -L its name with the C pseudo-package. +A Bfunction> that is predefined in the +language. Even when hidden by B, you can always get at a built- +in function by B its name with the C pseudopackage. =item bundle -A group of related modules on L. (Also, sometimes refers to a -group of command-line switches grouped into one L.) +A Xgroup of related modules on B. (Also sometimes +refers to a group of command-line switches grouped into one B.) =item byte -A piece of data worth eight L in most places. +A Xpiece of data worth eight B in most places. =item bytecode -A pidgin-like language spoken among 'droids when they don't wish to -reveal their orientation (see L). Named after some similar -languages spoken (for similar reasons) between compilers and -interpreters in the late 20th century. These languages are -characterized by representing everything as a -non-architecture-dependent sequence of bytes. +A pidgin-like lingo spoken among ’droids when they don’t wish to reveal +their orientation (see B). Named after some similar languages spoken +(for similar reasons) between compilers and interpreters in the late 20ᵗʰ +century. These languages are characterized by representing everything as a +nonarchitecture-dependent sequence of bytes. =back @@ -421,312 +447,362 @@ non-architecture-dependent sequence of bytes. =item C -A language beloved by many for its inside-out L definitions, -inscrutable L rules, and heavy L of the -function-call mechanism. (Well, actually, people first switched to C -because they found lowercase identifiers easier to read than upper.) -Perl is written in C, so it's not surprising that Perl borrowed a few -ideas from it. +A Xlanguage beloved by many for its inside-out B +definitions, inscrutable B rules, and heavy B of +the function-call mechanism. (Well, actually, people first switched to C +because they found lowercase identifiers easier to read than upper.) Perl is +written in C, so it’s not surprising that Perl borrowed a few ideas from it. -=item C preprocessor +=item cache -The typical C compiler's first pass, which processes lines beginning -with C<#> for conditional compilation and macro definition and does -various manipulations of the program text based on the current -definitions. Also known as I(1). +A Xdata repository. Instead of computing expensive answers +several times, compute it once and save the result. -=item call by reference +=item callback -An L-passing mechanism in which the L -refer directly to the L, and the L can -change the actual arguments by changing the formal arguments. That -is, the formal argument is an L for the actual argument. See -also L. +A Bhandler> that you register with some other part of your +program in the hope that the other part of your program will B your +handler when some event of interest transpires. -=item call by value +=item call by reference -An L-passing mechanism in which the L -refer to a copy of the L, and the L -cannot change the actual arguments by changing the formal arguments. -See also L. +An B-passing XXmechanism in which the B refer directly to the +B, and the B can change the actual arguments +by changing the formal arguments. That is, the formal argument is an +B for the actual argument. See also B. -=item callback +=item call by value -A L that you register with some other part of your program -in the hope that the other part of your program will L your -handler when some event of interest transpires. +An Bargument>-passing mechanism in which the B refer to a copy of the B, and the +B cannot change the actual arguments by changing the formal +arguments. See also B. =item canonical -Reduced to a standard form to facilitate comparison. +Reduced Xto a standard form to facilitate comparison. -=item capture buffer, capture group +=item capture variables -These two terms are synonymous: -a L by a regex subpattern. +The XXvariables—such as C<$1> and +C<$2>, and C<%+> and C<%– >—that hold the text remembered in a pattern +match. See Camel chapter 5, “Pattern Matching”. =item capturing -The use of parentheses around a L in a L to store the matched L as a L -or L. -(Captured strings are also returned as a list in L.) +The XXXuse of parentheses around a B in a +B to store the matched B as a +B. (Captured strings are also returned as a list in B.) See Camel chapter 5, “Pattern Matching”. + +=item cargo cult + +Copying Xand pasting code without understanding it, while +superstitiously believing in its value. This term originated from +preindustrial cultures dealing with the detritus of explorers and colonizers +of technologically advanced cultures. See I. + +=item case + +A XXproperty of certain +characters. Originally, typesetter stored capital letters in the upper of +two cases and small letters in the lower one. Unicode recognizes three +cases: B (B C<\p{lower}>), B +(C<\p{title}>), and B (C<\p{upper}>). A fourth casemapping called +B is not itself a distinct case, but it is used internally to +implement B. Not all letters have case, and some nonletters +have case. + +=item casefolding + +Comparing Xor matching a string case-insensitively. In Perl, it +is implemented with the C pattern modifier, the C function, and the +C<\F> double-quote translation escape. + +=item casemapping + +The Xprocess of converting a string to one of the four Unicode +B; in Perl, it is implemented with the C, C, C, +and C functions. =item character -A small integer representative of a unit of orthography. -Historically, characters were usually stored as fixed-width integers -(typically in a byte, or maybe two, depending on the character set), -but with the advent of UTF-8, characters are often stored in a -variable number of bytes depending on the size of the integer that -represents the character. Perl manages this transparently for you, -for the most part. +The Xsmallest individual element of a string. Computers +store characters as integers, but Perl lets you operate on them as text. The +integer used to represent a particular character is called that character’s +B. =item character class -A square-bracketed list of characters used in a L -to indicate that any character of the set may occur at a given point. -Loosely, any predefined set of characters so used. +A XXsquare-bracketed list of +characters used in a B to indicate that any character +of the set may occur at a given point. Loosely, any predefined set of +characters so used. =item character property -A predefined L matchable by the C<\p> -L. Many standard properties are defined for L. +A Xpredefined B matchable by the C<\p> +or C<\P> B. B defines hundreds of standard properties +for every possible codepoint, and Perl defines a few of its own, too. =item circumfix operator -An L that surrounds its L, like the angle -operator, or parentheses, or a hug. +An XB that surrounds its B, like the +angle operator, or parentheses, or a hug. =item class -A user-defined L, implemented in Perl via a L that -provides (either directly or by inheritance) L (that -is, L) to handle L of -the class (its L). See also L. +A Xuser-defined B, implemented in Perl via a +B that provides (either directly or by inheritance) B +(that is, B) to handle B of the class (its +B). See also B. =item class method -A L whose L is a L name, not an -L reference. A method associated with the class as a whole. +A BXmethod> whose B is a +B name, not an B reference. A method associated with the +class as a whole. Also see B. =item client -In networking, a L that initiates contact with a L -process in order to exchange data and perhaps receive a service. - -=item cloister - -A L used to restrict the scope of a L. +In XXnetworking, a B that +initiates contact with a B process in order to exchange data and +perhaps receive a service. =item closure -An L subroutine that, when a reference to it is generated -at run time, keeps track of the identities of externally visible -L even after those lexical -variables have supposedly gone out of L. They're called -"closures" because this sort of behavior gives mathematicians a sense -of closure. +An BXanonymous> subroutine +that, when a reference to it is generated at runtime, keeps track of the +identities of externally visible B, even after those +lexical variables have supposedly gone out of B. They’re called +“closures” because this sort of behavior gives mathematicians a sense of +closure. =item cluster -A parenthesized L used to group parts of a L into a single L. +A XXparenthesized B +used to group parts of a B into a single B. =item CODE -The word returned by the L function when you apply -it to a reference to a subroutine. See also L. +The XXword returned by the C +function when you apply it to a reference to a subroutine. See also B. =item code generator -A system that writes code for you in a low-level language, such as -code to implement the backend of a compiler. See Lsystem that writes code for you in a low-level +language, such as code to implement the backend of a compiler. See B. -=item code point - -The position of a character in a character set encoding. The character -C is almost certainly at the zeroth position in all character -sets, so its code point is 0. The code point for the C -character in the ASCII character set is 0x20, or 32 decimal; in EBCDIC -it is 0x40, or 64 decimal. The L function returns -the code point of a character. +=item codepoint -"code position" and "ordinal" mean the same thing as "code point". +The Xinteger a computer uses to represent a given +character. ASCII codepoints are in the range 0 to 127; Unicode codepoints +are in the range 0 to 0x1F_FFFF; and Perl codepoints are in the range 0 to +2³²−1 or 0 to 2⁶⁴−1, depending on your native integer size. In Perl Culture, +sometimes called B. =item code subpattern -A L subpattern whose real purpose is to execute -some Perl code, for example, the C<(?{...})> and C<(??{...})> -subpatterns. +A BXregular expression> subpattern +whose real purpose is to execute some Perl code—for example, the C<(?{...})> +and C<(??{...})> subpatterns. =item collating sequence -The order into which L sort. This is used by -L comparison routines to decide, for example, where in this -glossary to put "collating sequence". +The XXorder into which B +sort. This is used by B comparison routines to decide, for example, +where in this glossary to put “collating sequence”. + +=item co-maintainer + +A Xperson with permissions to index a B in +B. Anyone can upload any namespace, but only primary and +co-maintainers get their contributions indexed. + +=item combining character + +Any XXcharacter with the +General Category of Combining Mark (C<\p{GC=M}>), which may be spacing or +nonspacing. Some are even invisible. A sequence of combining characters +following a grapheme base character together make up a single user-visible +character called a B. Most but not all diacritics are combining +characters, and vice versa. =item command -In L programming, the syntactic combination of a program name -and its arguments. More loosely, anything you type to a shell (a -command interpreter) that starts it doing something. Even more -loosely, a Perl L, which might start with a L and -typically ends with a semicolon. +In B Xprogramming, the syntactic combination of a +program name and its arguments. More loosely, anything you type to a shell +(a command interpreter) that starts it doing something. Even more loosely, a +Perl B, which might start with a B, in the case of L) -that is currently being compiled. +The XB (or B, in the case of C) that +is currently being B. -=item compile phase +=item compile -Any time before Perl starts running your main program. See also -L. Compile phase is mostly spent in L, but -may also be spent in L when C blocks, -L declarations, or constant subexpressions are being -evaluated. The startup and import code of any L -declaration is also run during compile phase. +The process of turning source code into a machine-usable form. See B. -=item compile time +=item compile phase -The time when Perl is trying to make sense of your code, as opposed to -when it thinks it knows what your code means and is merely trying to -do what it thinks your code says to do, which is L. +Any Xtime before Perl starts running your main +program. See also B. Compile phase is mostly spent in B, but may also be spent in B when C blocks, C or +C declarations, or constant subexpressions are being evaluated. The +startup and import code of any C declaration is also run during +compile phase. =item compiler -Strictly speaking, a program that munches up another program and spits -out yet another file containing the program in a "more executable" -form, typically containing native machine instructions. The I -program is not a compiler by this definition, but it does contain a -kind of compiler that takes a program and turns it into a more -executable form (L) within the I -process itself, which the L then interprets. There are, -however, extension L to get Perl to act more like a -"real" compiler. See L. +Strictly Xspeaking, a program that munches +up another program and spits out yet another file containing the program in +a “more executable” form, typically containing native machine instructions. +The I program is not a compiler by this definition, but it does +contain a kind of compiler that takes a program and turns it into a more +executable form (B) within the I process itself, which +the B then interprets. There are, however, extension B +to get Perl to act more like a “real” compiler. See Camel chapter 16, +“Compiling”. + +=item compile time + +The Xtime when Perl is trying to make sense of your +code, as opposed to when it thinks it knows what your code means and is +merely trying to do what it thinks your code says to do, which is B. =item composer -A "constructor" for a L that isn't really an L, -like an anonymous array or a hash (or a sonata, for that matter). For -example, a pair of braces acts as a composer for a hash, and a pair of -brackets acts as a composer for an array. See L. +A “constructor” Xfor a B that isn’t really an +B, like an anonymous array or a hash (or a sonata, for that matter). +For example, a pair of braces acts as a composer for a hash, and a pair of +brackets acts as a composer for an array. See the section “Creating +References” in Camel chapter 8, “References”. =item concatenation -The process of gluing one cat's nose to another cat's tail. Also, a -similar operation on two L. +The XXprocess of gluing one +cat’s nose to another cat’s tail. Also a similar operation on two +B. =item conditional -Something "iffy". See L. +SomethingX “iffy”. See B. =item connection -In telephony, the temporary electrical circuit between the caller's -and the callee's phone. In networking, the same kind of temporary -circuit between a L and a L. +In Xtelephony, the temporary electrical circuit between +the caller’s and the callee’s phone. In networking, the same kind of +temporary circuit between a B and a B. =item construct -As a noun, a piece of syntax made up of smaller pieces. As a -transitive verb, to create an L using a L. +As a Xnoun, a piece of syntax made up of smaller +pieces. As a transitive verb, to create an B using a B. =item constructor -Any L, instance L, or L -that composes, initializes, blesses, and returns an L. -Sometimes we use the term loosely to mean a L. +AnyX B, B, or B +that composes, initializes, blesses, and returns an B. Sometimes we +use the term loosely to mean a B. =item context -The surroundings, or environment. The context given by the -surrounding code determines what kind of data a particular -L is expected to return. The three primary contexts are -L, L, and L. Scalar -context is sometimes subdivided into L, L, L, and L. There's also a -"don't care" scalar context (which is dealt with in Programming Perl, -Third Edition, Chapter 2, "Bits and Pieces" if you care). +The Xsurroundings or environment. The context given by the +surrounding code determines what kind of data a particular B is +expected to return. The three primary contexts are B, +B, and B. Scalar context is sometimes subdivided into +B, B, B, and B. There’s also a “don’t care” context (which is dealt with in Camel +chapter 2, “Bits and Pieces”, if you care). =item continuation -The treatment of more than one physical L as a single logical -line. L lines are continued by putting a backslash before -the L. Mail headers as defined by RFC 822 are continued by -putting a space or tab I the newline. In general, lines in -Perl do not need any form of continuation mark, because L -(including newlines) is gleefully ignored. Usually. +The Xtreatment of more than one physical B as a +single logical line. B lines are continued by putting a backslash +before the B. Mail headers, as defined by XRFC 822, are +continued by putting a space or tab I the newline. In general, lines +in Perl do not need any form of continuation mark, because B +(including newlines) is gleefully ignored. Usually. =item core dump -The corpse of a L, in the form of a file left in the -L of the process, usually as a result of certain -kinds of fatal error. +The Xcorpse of a B, in the form of a file left in the +B of the process, usually as a result of certain kinds +of fatal errors. =item CPAN -The Comprehensive Perl Archive Network. (See L). +The XXComprehensive Perl Archive Network. (See the Camel Preface +and Camel chapter 19, “CPAN” for details.) + +=item C preprocessor + +The Xtypical C compiler’s first pass, which processes lines +beginning with C<#> for conditional compilation and macro definition, and +does various manipulations of the program text based on the current +definitions. Also known as I(1). =item cracker -Someone who breaks security on computer systems. A cracker may be a -true L or only a L. +Someone Xwho breaks security on computer systems. A cracker may +be a true B or only a B