Programming Perl, 3rd Edition by Larry Wall, Tom Christiansen and Jon Orwant The following changes were made in the 12/00 reprint: (15) 3rd complete paragraph: "download it and know how to say" now reads "download whatever module you like and say." After the code block, "and then use" now reads "Then you can use". (99-100) All of the "if" clauses were indented to align with the "if" in print "Executable\n" if -x _; (104) first paragraph: "that operand implicitly compared" now reads "that operand *is* implicitly compared." {104} 1st code block: # skip header lines now reads # skip header lines of a message and # quote body now reads # quote body of a message (118) In the third paragraph, "foreach" was hyphenated as "fore-ach". To fix this, "foreach" and the following "for" were swapped. (123) last paragraph: "do{}" now reads "do {}." (149) In the second code example ("Find duplicate words ..."), the closing parenthesis on the inner "while" was moved one space to the right. (328) second paragraph before last: "you won't be able to use UNIVERAL::can on a method name ..." now reads "UNIVERSAL::can." (329) 3rd paragraph: "They show up in a UNIVERAL::can check, and ..." now reads "They show up in a UNIVERSAL::can ..." (491) middle of the page: The MacPerl shell, or MPW now reads MPW, which can be used as a shell for MacPerl (516) last line before "Miscellaneous Commands" section: "sawwho" now reads "saywho." {537} 3rd paragraph: returns 0 if the number is even, or 1 if the number is odd now reads returns 1 if the number is even, or 0 if the number is odd {560} 10th line: $oldpath = $ENV{PATH}; # $oldpath is tainted (due to $ENV) now reads $oldpath = $ENV{PATH}; # $oldpath is tainted (due to %ENV) {560} two-thirds down the page: open(OOF,"-|", "echo", $arg # Same as previous, likewise OKish now reads open(OOF,"-|", "echo", $arg) # Same as previous, likewise OKish {587} first bullet: your $1, $2... variables, as well as $`, $& and $'. now reads your $1, $2... variables, as well as $`, $&, $', and friends. (587) 5th bullet: All [1] indexes were changed to [0]. Before 5th bullet another bullet was added saying, "Using $foo[1] when you mean $foo[0]. Perl arrays begin at zero by default. [588] first bulleted paragraph: comment on last line of example now reads: # Scalar contexxt; $x is set to 3 (the array length) {599} last bullet point was replaced with To cache function results, use the Memoize module on CPAN. {667} @+ paragraph: The @+ variable is now labeled [DYN,RO] (similar to @-). {684} 3rd paragraph: "Timer::HiRes" now reads "Time::HiRes."