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 |
---|---|---|---|---|---|
Safari Books Online | ch 7 throughout is-reverse sub, including answers |
I only have the Safari version and don't know how to view page numbers, but throughout the is-reverse subroutine (both versions in chapter 7, and in the answer key), the second substr() is calling $word1 when it should be calling $word2. Note from the Author or Editor: |
Jeff McClelland | Aug 29, 2017 | |
Printed | Page 56 First code snippet immediately after first paragraph |
The fist code snippet has a $ character missing at the beginning of the $minutes variable. The code snippet should read: > my $remainder = $minutes % 60; 45 Note from the Author or Editor: |
Laurent Rosenfeld | Aug 18, 2017 | |
Page 65 First paragraph after code samples. |
I believe you should change "if" to "it" in the following sentence on page 65: The syntax with the & sigil has the benefit that if will provide a better error message |
Anonymous | Feb 13, 2017 | May 05, 2017 | |
Page 74 2nd Paragraph |
I believe you meant to say "used" instead of "use" in the following line describing the modulo operator: This is commonly use(d), for example, with a divisor equal to 2 in order to determine...... |
Anonymous | Feb 15, 2017 | May 05, 2017 | |
Page 83 2nd Paragraph, 3rd Line |
You should change "a" to "an" in the following line: mentioning it. Also, $_ is a(n) implicit argument to methods called without an |
Anonymous | Feb 16, 2017 | May 05, 2017 | |
Page 122 First paragraph of the "Quantifiers" subsection |
This code sample: say ~$/ if 'Bond 007' ~~ /\w\D\s\d\+/; # -> "nd 007" has a spurious "\" in the regex pattern (before the + character). It should be replaced with this corrected code line: say ~$/ if 'Bond 007' ~~ /\w\D\s\d+/; # -> "nd 007" Note from the Author or Editor: |
Laurent Rosenfeld | May 27, 2017 | ||
Printed | Page 130 First code snippet in the page |
There is an extra = sign in the first line of the first code snippet on that page. The code should read: my $octet = rx/\d ** 1..3/; say ~$/ if $string ~~ /([<$octet> \.] ** 3 <$octet>)/; Note from the Author or Editor: |
Laurent Rosenfeld | Aug 18, 2017 | |
Page 135 Second paragraph from bottom of page, third line |
I suggest changing this phrase: "...some of which still in wide use today..." to: "...some of which still remain in wide use today..." Note from the Author or Editor: |
Anonymous | May 19, 2017 | ||
Page 136 Second paragraph, second line |
I suggest changing: and report a success to: and reports a success Note from the Author or Editor: |
Anonymous | May 19, 2017 | ||
Printed | Page 167 First code snippet after the "Mapping a list to another list" subtitle |
In the first code snippet after the "Mapping a list to another list" subtitle, the first line of that code sample should be:* sub capitalize_all(@words) { (i.e. the line should end with an opening curly brace, instead of a colon). Note from the Author or Editor: |
Laurent Rosenfeld | Oct 06, 2017 | |
Printed | Page 319 Paragraph immediately after the second code snippet |
This sentence at the beginning of the paragraph: Here, the @lazylist array is originally lazy. should be replaced with this: Here, @lazyarray is originally lazy. |
![]() Laurent Rosenfeld |
Aug 22, 2017 | |
Printed | Page 328 Bottom, third bullet point |
The third bullet point should read: Merge the sorted sublists thus generated. (i.e. the word "sublists" should be plural, not singular.) |
Laurent Rosenfeld | Jul 17, 2017 | |
Printed | Page 373 First and second code example |
The results displayed in the comments for the first and the second code samples have been switched (5 and 5 instead of 4 and 5). The last line of the first code sample near the top of that page should read: say count_index "When in the Course of human events...", "n"; # -> 4 And the last line of the second code sample should be: say count_substr "I have a dream that one day...", "a"; # -> 5 Note from the Author or Editor: |
Laurent Rosenfeld | Aug 22, 2017 | |
Page 405 bottom of page in "is-square" code section |
The line currently reads: my $sq = sqtr $num; sqtr should be sqrt Note from the Author or Editor: |
Anonymous | May 29, 2017 | ||
Mobi | Page 1553 Integer division and modulo, 6th paragraph |
The $dividend %% $divisor expression returns a true value if $divisor % $dividend is equal to 0, => The $dividend %% $divisor expression returns a true value if $dividend % $divisor is equal to 0, |
kamimura | Feb 22, 2017 | May 05, 2017 |
Mobi | Page 2809 Exercise 7-2. |
sub is-lower(Str $input) { return so $char ~~ /^<[a..z]>$/; } => sub is-lower(Str $input) { return so $input ~~ /^<[a..z]>$/; } or sub is-lower(Str $char) { return so $char ~~ /^<[a..z]>$/; } Note from the Author or Editor: |
kamimura | May 06, 2017 | |
Mobi | Page 5059 The Pixel Class, code |
printf \tAbscissa: …"; => printf "\tAbscissa: …"; Note from the Author or Editor: |
kamimura | Jun 05, 2017 |