Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
Other Digital Version | N/A eBook |
Reads "Perl 9 tries to fill the gap", but should read "Perl tries to fill the gap". This was reported before, but it shows-up still in my mobi eBook version... Note from the Author or Editor: |
Andrew Staley | May 09, 2011 | |
Printed | Page 4 Fifth paragraph, first sentence |
Reads "Perl 9 tries to fill the gap", but should read "Perl tries to fill the gap". The 9 did not show up in the original sources or the QCs, but is in the book. Go figure. |
brian d foy |
Jul 13, 2008 | Oct 01, 2008 |
Printed | Page 4 Fifth paragraph, first sentence |
Reads "Perl 9 tries to fill the gap", but should read "Perl tries to fill the gap". The 9 did not show up in the original sources or the QCs, but is in the book. |
Anonymous | Feb 01, 2009 | |
7.2.3 3rd code example |
Error only visible when using HTML view. Earlier page 111 correction left off the \n in the print statement. Note from the Author or Editor: |
Anonymous | Jun 13, 2010 | ||
9.5.1 9th paragraph (using Safari) |
Note from the Author or Editor: |
Anonymous | Jul 03, 2008 | Sep 01, 2009 | |
Printed | Page 12 2nd paragraph (end) |
Instead of Note from the Author or Editor: |
Eckhard Stein | Jun 11, 2012 | |
13.14 Exercise #1 |
The last clause in the paragraph states: "but don't try show the contents." Note from the Author or Editor: |
Anonymous | Jul 03, 2008 | Feb 01, 2009 | |
14.5 Exercise 1, sample data |
HTML view: Note from the Author or Editor: |
Anonymous | Jun 24, 2010 | ||
Printed | Page 27 last paragraph of Subsection "Scalar Variables" |
The first is on page 27, last paragraph of Subsection "Scalar Note from the Author or Editor: |
Anonymous | Jul 29, 2008 | Oct 01, 2008 |
Printed | Page 27 4th paragraph |
"Scalar variables in Perl are always referenced with the leading $&." Note from the Author or Editor: |
Anonymous | Oct 01, 2008 | Oct 01, 2008 |
Printed | Page 27 last paragraph of Subsection "Scalar Variables" |
The first is on page 27, last paragraph of Subsection "Scalar Note from the Author or Editor: |
Anonymous | Feb 01, 2009 | |
Printed | Page 30 the small example |
page 30, the small example. Note from the Author or Editor: |
Anonymous | Jul 29, 2008 | Oct 01, 2008 |
Printed | Page 30 the small example |
If $meat has never recieved a variable, then $barney in Note from the Author or Editor: |
Anonymous | Feb 01, 2009 | |
Printed | Page 41 Beginning of first sentence after heading, "List Literals". |
"An array (the way you..." should read, "A list literal (the way you..." Note from the Author or Editor: |
boB Stepp | Sep 24, 2010 | Dec 01, 2010 |
Printed | Page 69 2nd code example |
Hello, Note from the Author or Editor: |
jirib | Oct 10, 2012 | |
Printed | Page 85 2nd footnote |
``use 5.6'' should read: ``use 5.006'' Note from the Author or Editor: |
Anonymous | Sep 12, 2008 | Sep 01, 2009 |
Printed | Page 95 paragraph 7, first sentence |
``http://www.stonehenge.com'' is not a hostname, ``www.stonehenge.com'' is... Note from the Author or Editor: |
Anonymous | Sep 12, 2008 | Sep 01, 2009 |
Printed | Page 105 The csh example of setting an environment variable |
the setenv example should not have an = for csh. Note from the Author or Editor: |
Anonymous | Aug 21, 2008 | Dec 01, 2010 |
Printed | Page 111 2nd code snippet |
A copy/paste error from the 1st snippet on the same page: Note from the Author or Editor: |
Anonymous | Sep 17, 2008 | Sep 01, 2009 |
Printed | Page 112 last code example, right above "Alternatives" section heading |
Change Note from the Author or Editor: |
brian d foy |
Sep 19, 2008 | Sep 01, 2009 |
Printed | Page 112 Last pattern-match code snippet |
The pattern /(.)(.)\g{-1}11/ will not be matched from the string "aa11bb". Note from the Author or Editor: |
Duane Klaming | Mar 05, 2009 | Sep 01, 2009 |
Printed | Page 126 Complete "Named Captures" section (pages 126-128) |
"Coding conventions" that seem to apply to the rest of the book are not followed in section "Named Captures", i.e closing braces in examples are all indented wrong, tab is 4 whitespaces instead of 2, and no space in between if and opening parenthesis and added single white space after opening parenthesis and before closing parenthesis, e.g. Note from the Author or Editor: |
Anonymous | Dec 05, 2010 | |
Printed | Page 127 Last footnote |
Last footnote reads: Note from the Author or Editor: |
Anonymous | Dec 05, 2010 | |
Printed | Page 128 last paragraph, second sentence |
``This may seem familiar, and for good reason: these automatic memory variables are what the pattern test program (from Chapter 7) was using in its line of "mystery" code, [...]'' Note from the Author or Editor: |
Anonymous | Sep 12, 2008 | Sep 01, 2009 |
Printed | Page 130 f. chapter ``Precedence'' |
The first paragraph talks about four levels of precedence. But then five levels are listed in the table and in the enumeration following it. Both level 4 and 5 are said to be "the lowest level" there... Note from the Author or Editor: |
Anonymous | Sep 12, 2008 | Sep 01, 2009 |
131 3rd comment |
? And check out YAPE::Regexp::Explain in CPAN as a regular-expression-to-English translator. Note from the Author or Editor: |
chenfengyuan | Feb 11, 2010 | ||
Printed | Page 133 Exercise 5 |
If the input string says "I saw Wilma yesterday", the up-to-five characters are " yest" - including the blank. Note from the Author or Editor: |
Mark Galeck | Jun 06, 2010 | |
Printed | Page 139 2nd code snippet from bottom |
fooglue, should be "foo glue" or just glue Note from the Author or Editor: |
Mark Galeck | Jun 06, 2010 | |
Printed | Page 142 First substitution example |
The example of a "greedy" star substitution (right after "But what's wrong with it?") is shown as: Note from the Author or Editor: |
Anonymous | Apr 21, 2010 | |
Printed | Page 142 4th paragraph, it's the first regex on the page. |
In the latest edition(5th) on this page, the example provided is: Note from the Author or Editor: |
Anonymous | Aug 18, 2008 | Sep 01, 2009 |
Printed | Page 145 4th paragraph |
In the paragraph starting with "Some folks", the last sentence says "...(see the multiple-file rename example in Chapter 14).". Note from the Author or Editor: |
Anonymous | Feb 09, 2010 | |
Printed | Page 165 second to last code example |
Change Note from the Author or Editor: |
brian d foy |
Sep 19, 2008 | Sep 01, 2009 |
Printed | Page 172 first code snippet |
should be semicolon at end: Note from the Author or Editor: |
Mark Galeck | Jun 12, 2010 | |
Printed | Page 175 2nd paragraph |
'... rather than the double colon we used with moreinfo="none">File::Basename' includes the extraneous markup 'moreinfo="none">'. Note from the Author or Editor: |
Anonymous | Sep 21, 2008 | Sep 01, 2009 |
Printed | Page 176 last code example |
Change Note from the Author or Editor: |
brian d foy |
Sep 19, 2008 | Sep 01, 2009 |
Printed | Page 188 3rd paragraph |
On lines 3, 4 and 5, the text "The bitwise operator you'll need to use the bitwise operators. These are the operators that perform binary math operations on values." is interpolated and should be deleted. Note from the Author or Editor: |
Anonymous | Aug 16, 2008 | Oct 01, 2008 |
Printed | Page 188 chapter "Bitwise Operators", first paragraph |
Sentences 2 and 4 are identical; sentence 3 is a mixture of sentences 5 and 1. Thus sentences 2 and 3 (or sentences 3 and 4) need to be deleted. Note from the Author or Editor: |
Anonymous | Sep 16, 2008 | Feb 01, 2009 |
Printed | Page 201 4th paragraph, first line |
There is a missing space in "ln-s"; it should be "ln -s". Note from the Author or Editor: |
Anonymous | Aug 16, 2008 | Oct 01, 2008 |
Printed | Page 202 first paragraph, last sentence |
"it's a symlink, but it doesn't exist" Note from the Author or Editor: |
Anonymous | Sep 17, 2008 | Sep 01, 2009 |
Printed | Page 204 4th paragraph, second line |
"on directory per call" should be "one directory per call". Note from the Author or Editor: |
Anonymous | Aug 16, 2008 | Oct 01, 2008 |
Printed | Page 204 4th paragraph |
"... it can only remove *one* directory per call:" Note from the Author or Editor: |
Anonymous | Sep 21, 2008 | Feb 01, 2009 |
Printed | Page 206 first paragraph, last line |
The text 'moreinfo="none">' at the beginning of the line appears to have been interpolated and should be deleted. Possibly this is a markup command with its leading "<" missing. Note from the Author or Editor: |
Anonymous | Aug 16, 2008 | Oct 01, 2008 |
Printed | Page 206 1st paragraph |
'... same type of values returned from the moreinfo="none">stat function ...' includes the extraneous markup 'moreinfo="none">'. Note from the Author or Editor: |
Anonymous | Sep 21, 2008 | Feb 01, 2009 |
Printed | Page 206 section 13.14, Exercise #1 |
The last clause in the paragraph states: "but don't try show the contents" instead of "try to show" |
Anonymous | Feb 01, 2009 | |
Printed | Page 219 Code above Exercises |
The code doesn't sort correctly. In it family_name 'a' is compared to itself, and personal_name 'a' is being compared to family_name 'b'. Note from the Author or Editor: |
Rose Roberts | May 19, 2009 | Sep 01, 2009 |
Printed | Page 227 Example, bottom of page |
When discussing fallthroughs in given/when statements, it appears the bottom example on p227 does not behave as expected. e.g. if the program is run as Note from the Author or Editor: |
Martin Jackson | May 24, 2009 | |
Printed | Page 227 bottom example |
As Michael already stated in his unconfirmed errata, running the bottom example with Frederick as argument does a fall-through right down to the default case. This happens since the argument begins with Fred and the check is continued after matching to both fred and ^Fred, Frederick isn't equal to Fred so we continue to the default. Note from the Author or Editor: |
Tarik Ku | Sep 10, 2009 | |
Printed | Page 228 bottom code example |
Code example bottom of page 228 Leaning Perl 5th edition printing July 2008. The text "say 'Not a number!'" indicates that the first "when" statement is intended to catch input that is not a number while the next three statements indicate that a number is greater than 10, less than 10, or equal to 10. I am confused by the pattern used as this appears to verify that the input is a number. I suspect that negation should have been used, in which case the "#smart" comment would no longer be correct I think. I am a Perl Novice, so perhaps I am failing to completely understand this. Note from the Author or Editor: |
Dale Mosby | Feb 23, 2010 | |
Printed | Page 229 second when statement on the second example |
The books says Note from the Author or Editor: |
Anonymous | Sep 19, 2008 | Sep 01, 2009 |
231 Exercise 4 |
The code example does not match with the same subroutine given in the Appendix. The $_ in the loop should be changed to a $number. Note from the Author or Editor: |
zmughal | May 17, 2010 | ||
Printed | Page 231 code sample in exercise 4 |
Change the line with foreach, which is missing a parenthesis. The new line should be have a left parenthesis after the .. Note from the Author or Editor: |
brian d foy |
Sep 19, 2008 | Sep 01, 2009 |
Page 234 5th paragraph |
It says that the shell doesn't get involved in the earlier commands as in Note from the Author or Editor: |
Anonymous | Nov 22, 2010 | ||
Printed | Page 271 answer to exercise 6 |
"+" quantifier is unneeded in /\s+$/ expression because Note from the Author or Editor: |
Ivan Goncharov | Aug 06, 2010 | |
Printed | Page 272 Line 6 |
Says: "we put the longer value in $longer." Note from the Author or Editor: |
Eric Hosey | Mar 16, 2010 | |
Printed | Page 275 Exercise 2 |
In the solution to Ch. 9, exercise 2: |
Anonymous | Apr 21, 2010 | |
278 last paragraph |
$ENV{$key} ? $ENV{$key} : "(undefined)"; Note from the Author or Editor: |
chenfengyuan | Feb 12, 2010 | ||
Page 286 answer for exercises 3 of chapter 14 |
The answer program in Appendix A for exercises 3 of chapter 14 is under here: Note from the Author or Editor: |
Will Sun | Mar 29, 2011 | ||
Printed | Page 289 answer to excercise 2 (chapter 15) |
The excercise asks to print "Fizz", "Bin" and "Sausage", but the answer prints "fizz", "buzz" and "sausage" (Bin vs buzz, and also note the case...). Note from the Author or Editor: |
Anonymous | Sep 22, 2008 | Sep 01, 2009 |
Printed | Page 290 United States |
In Learning Perl 5th Edition, the example answer for chapter 15 exercise 5 gives wrong results. Note from the Author or Editor: |
Michael Nelson | Nov 11, 2011 | |
Printed | Page 295 2nd paragraph line 3 and 3rd paragraph line 1 |
"also know as" instead of "also known as" Note from the Author or Editor: |
Tarik Ku | Sep 12, 2009 |