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 |
---|---|---|---|---|---|
Printed | Page xvi In the first paragraph, Andi Karrer was added to the alphabetical list |
of reviewers. |
Anonymous | Jan 01, 2000 | |
Printed | Page xv Remove the word "usually" from the first line of the second paragraph. |
|
Anonymous | ||
Printed | Page xv 3rd paragraph |
This section points readers to ftp://ftp.oreilly.com/pub/examples/perl/algorithm/ |
Anonymous | ||
Printed | Page xvi 1st Paragraph |
In the first paragraph, add Andi Karrer to the alphabetical list of reviewers; many of the mistakes below |
Anonymous | ||
Printed | Page 2 First full paragraph, line 8: change "an $" to "a $". |
Anonymous | |||
Printed | Page 12 Changed forloop(0, 1) to bruteforce(0, 1) |
Changed 0.6180334 to 0.618034 |
Anonymous | Jan 01, 2000 | |
Printed | Page 12 formula |
In the quadratic formula, the "2a" in the denominator needs to be enclosed in |
Anonymous | ||
Printed | Page 14 Third line: inserted "sometimes" between "can" and "manipulate". |
In the second-to-last line of the second-to-last paragraph, changed |
Anonymous | Jan 01, 2000 | |
Printed | Page 17 Fifth line from bottom: |
Change |
Anonymous | ||
Printed | Page 21 IN PRINT: Second code sample, second line |
"return sqrt (1.5707963267949..." |
Anonymous | ||
Printed | Page 30 Changed "For lists of lists and lists of hashes," to "For the list |
of lists and the hash of lists below, " |
Anonymous | Jan 01, 2000 | |
Printed | Page 34,35,36 Inserted a . immediately before the in the print() statements. |
Anonymous | Jan 01, 2000 | ||
Printed | Page 34 To clarify, add # in square miles after area => 130119, |
Anonymous | |||
Printed | Page 36 In the footnote, changed "Srinam" to "Sriram". |
Anonymous | Jan 01, 2000 | ||
Printed | Page 38 In the eighth line from the bottom, changed "thousand bytes" to |
"kilobytes" |
Anonymous | Jan 01, 2000 | |
Printed | Page 38 Eight line from the bottom |
change "thousand bytes" to "kilobytes" |
Anonymous | ||
Printed | Page 50 Figure 3-3: Changed $nine->[0] and $sixteen->[0] |
to $nine->[NEXT] and $sixteen->[NEXT]. |
Anonymous | Jan 01, 2000 | |
Printed | Page 53 In the last block of code, changed |
$tail = ${$node->[NEXT]}; |
Anonymous | Jan 01, 2000 | |
Printed | Page 55 Changed |
$tail = ${$line->[NEXT]}; |
Anonymous | Jan 01, 2000 | |
Printed | Page 57 Changed |
for ($pred=$list; $elem = $$pred; $pred = ${$elem->[NEXT]}) { |
Anonymous | Jan 01, 2000 | |
Printed | Page 60 In the third-to-last paragraph, changed "A deque implemented as a list" |
and "the list is long" to "A deque implemented as an array" and |
Anonymous | Jan 01, 2000 | |
Printed | Page 64 Figure 3-7: changed the first "(count 2)" to a "(count 1)". |
Anonymous | Jan 01, 2000 | ||
Printed | Page 65 In the seventh to last line, change "before or after" to |
"after or before" |
Anonymous | ||
Printed | Page 66,67,68 As the program is explained, the text snippets explaining the |
code follow the code; they should precede the code instead. |
Anonymous | Jan 01, 2000 | |
Printed | Page 68, 70 Changed double::->new to double->new (3 occurrences) |
Anonymous | Jan 01, 2000 | ||
Printed | Page 71 Under "Infinite Lists", changed "The Perl Journal, Issue #6" to |
"The Perl Journal, Issue #7". |
Anonymous | Jan 01, 2000 | |
Printed | Page 74 First full paragraph: changed "(about 5,000 names)" to "(about 50,000 |
names)". In the eighth to last line: changed "book for 100,000 people" |
Anonymous | Jan 01, 2000 | |
Printed | Page 77 In the first line of the second comment for basic_tree_del(), |
changed # tree_link has to be made to # $tree_link has to be made |
Anonymous | Jan 01, 2000 | |
Printed | Page 79 First line after figure: change "so it is completely" to "so they are |
completely" |
Anonymous | ||
Printed | Page 84,85,87 Move all the code snippets on these pages four spaces to the left. |
Anonymous | |||
Printed | Page 87 In set_height(), changed both instances of $lh = $p->{height} to just |
$p->{height}. |
Anonymous | Jan 01, 2000 | |
Printed | Page 88 Top of page: changed "the two granchildren under node L" to "the two |
grandchildren under node R". |
Anonymous | Jan 01, 2000 | |
Printed | Page 96 Changed "It compares the starting element with the larger of its |
children (or with its only child if there is only one) and moves |
Anonymous | Jan 01, 2000 | |
Printed | Page 96 In heapify_array_up(), changed $#$array to @$array |
Anonymous | Jan 01, 2000 | ||
Printed | Page 99 In revsortheap(), replaced the two lines |
my $i = $#$array and |
Anonymous | Jan 01, 2000 | |
Printed | Page 99 Changed the subhead from "The Heaps Module" to "The Heap Modules". |
Anonymous | Jan 01, 2000 | ||
Printed | Page 115 IN PRINT: Upper half of page, program output |
"pa svenska: Mayer |
Anonymous | ||
Printed | Page 118 Sixth line from bottom: changed |
%torn_books = sort %hash; |
Anonymous | Jan 01, 2000 | |
Printed | Page 119 Footnote: The "?" should be "?". |
Anonymous | Jan 01, 2000 | ||
Printed | Page 121 Everything is correct, but since the code works on strings, |
changed @array = (8, 4, 7, 1, 0, 3, 6, 2, 5, 9); to |
Anonymous | Jan 01, 2000 | |
Printed | Page 129 At the code snippet at the bottom of the page, inserted a comment after |
second line saying: |
Anonymous | Jan 01, 2000 | |
Printed | Page 134 In the first line of code on this page, inserted a left parenthesis |
before the first $_[0] and a right parenthesis before the ;. |
Anonymous | Jan 01, 2000 | |
Printed | Page 135 Change "halving N elements takes Theta(N) rounds" to "halving N |
elements takes Theta(log N) rounds". ("Theta" should be the |
Anonymous | ||
Printed | Page 135 |
Change "halving N elements takes Theta(N) rounds" to "halving N elements takes Theta(log N) rounds". |
Anonymous | ||
Printed | Page 136 Inserted this line immediately above sub heapify |
use integer;. |
Anonymous | Jan 01, 2000 | |
Printed | Page 139 Halfway down the page: in the quicksort_recurse() subroutine, |
changed the line: |
Anonymous | Jan 01, 2000 | |
Printed | Page 140 Seventh line from top: changed "and then use the last one" to |
"and then use the middle one". |
Anonymous | Jan 01, 2000 | |
Printed | Page 147 In the counting_sort() subroutine, removed the -1 from the end |
of the second line. Changed $max to ($max+1) in the third line. |
Anonymous | Jan 01, 2000 | |
Printed | Page 155 In the figure, "oredered" should be spelled "ordered". |
Anonymous | |||
Printed | Page 156 In Table 4-2, in the "shell" line, add a right parenthesis after the superscript. |
Anonymous | |||
Printed | Page 160 End of second paragraph: changed "slower sorting function" to "slower |
searching function" |
Anonymous | Jan 01, 2000 | |
Printed | Page 163 Changed my ($low, $high) = (0, @$array) to |
my ($low, $high) = (0,scalar(@$array)) |
Anonymous | Jan 01, 2000 | |
Printed | Page 163 Changed the three lines beginning $array->[$cur] lt $target to |
if ($array->[$cur] lt $target) { |
Anonymous | Jan 01, 2000 | |
Printed | Page 165 Changed the long string of Courier hyphens to a horizontal line. |
Anonymous | Jan 01, 2000 | ||
Printed | Page 214 |
At the bottom of the page, changed the line that reads: |
Anonymous | Jan 01, 2000 | |
Printed | Page 215 There were two one-line snippets in the middle of this page |
removed keys from both. |
Anonymous | Jan 01, 2000 | |
Printed | Page 220 In the difference() subroutine, there were two occurrences of shift. |
Changed each to shift(). |
Anonymous | Jan 01, 2000 | |
Printed | Page 228 At the bottom of the page, changed both simpsons to dinos. |
Anonymous | Jan 01, 2000 | ||
Printed | Page 241 In footnote, changed |
Just as this book was going into press, Michael Wallace |
Anonymous | Jan 01, 2000 | |
Printed | Page 244 Change introductory quote to |
|
Anonymous | ||
Printed | Page 248 |
Add this sentence to the end of the paragraph immediately before the subhead "Adding a Constant to a Matrix", |
Anonymous | ||
Printed | Page 258 Near the bottom of the page, there are two code lines beginning with $a and $b. |
Add a semicolon to the end of each of those lines. |
Anonymous | ||
Printed | Page 259 In Figure 7-11, |
the leftmost vertex of the triangle is off. It should be at (-0.7, 0.7), not (-0.7, -0.7). |
Anonymous | ||
Printed | Page 262 |
Last full text paragraph: change "of one of" to "of certain of". |
Anonymous | ||
Printed | Page 270 |
Third paragraph: Replace "That's called" with "This is an approximation to". |
Anonymous | ||
Printed | Page 271 |
In the middle of the page, the word orders appears in a line of code. It should be parens. |
Anonymous | ||
Printed | Page 277 |
Middle of page: the sentence following "This displays an ASCII representation" should be a-b,b-c,c-d. |
Anonymous | ||
Printed | Page 311 |
The first sentence of the third paragraph terminates prematurely: it should end with "can be odd." |
Anonymous | ||
Printed | Page 311 2nd paragraph |
In the first sentence, change "would passes" to "would pass" |
Anonymous | ||
Printed | Page 320 IN PRINT: "Biconnectivity" section, third paragraph, last sentence |
"...there must not be no single point of failure." |
Anonymous | ||
Printed | Page 320 4th paragraph |
In my printing (August 1999, First Edition), there's a bunch of extra whitespace in |
Anonymous | ||
Printed | Page 359, 360 |
On each of these pages, the line print naive_string_matcher( "abcdefgh", "def" ), should be changed to print naive_string_matcher( "abcdefgh", "def" ), " ", |
Anonymous | ||
Printed | Page 361 |
To add the space shown in the output, add " ", to the end of the line print naive_sequence_matcher( @a, @b ),. |
Anonymous | ||
Printed | Page 364 |
Second prose paragraph: change "This trick is the Horner's rule." to "This trick is Horner's rule." |
Anonymous | ||
Printed | Page 380 |
In the shift_ADD() subroutine, replace use integer; with |
Anonymous | ||
Printed | Page 390 |
Halfway through the find_word() subroutine, add a semicolon to the end of my $line = <WORDS>. |
Anonymous | ||
Printed | Page 403 |
There are serious problems with the top down parsing code. A fixed version is available at ftp://ftp.media.mit.edu/pub/orwant/wolf/ch09.tar.gz. |
Anonymous | ||
Printed | Page 406 |
At the bottom of page (in the Parse::Lex example code) change $token->getstring to $token->text. |
Anonymous | ||
Printed | Page 417 |
On this page, change: node->left to node->{left}, node->right to node->{right}, and node->value to node->{value}. |
Anonymous | ||
Printed | Page 428 |
In the formula at the bottom of the page, change the line below the big summation sign from "k = 1" to "i = 1". |
Anonymous | ||
Printed | Page 430 Figure change: in Figure 10-3, the equation |
A=sqrt[(s-a)(s-b)(s-c)] |
Anonymous | ||
Printed | Page 432 |
The results of the first invocation of polygon_area() should be 5. |
Anonymous | ||
Printed | Page 433 IN PRINT: "Direction" section, first paragraph, first sentence |
"...(counterclockwise), this is useful..." |
Anonymous | ||
Printed | Page 436 |
Immediately after sub line_intersection {, insert the line use constant epsilon => 1e-14;, |
Anonymous | ||
Printed | Page 442 range_check_tree implementation |
The implementation of range_check_tree is buggy: $horizontal_hi should be [ |
Anonymous | ||
Printed | Page 449 |
After the last Perl statement, add another one: |
Anonymous | ||
Printed | Page 450 1st paragraph |
The last sentence reads, "Three bounding boxes are shown in Figure 10-16," |
Anonymous | ||
Printed | Page 460 |
In the center of the page, change C<__closest_points_recurse> to C<_closest_points_recurse>. |
Anonymous | ||
Printed | Page 465 |
At the end of the program, replace print GIF $gif; with print GIF $gif->gif;. |
Anonymous | ||
Printed | Page 471 middle of the page, |
change the nine instances of "e6" to "e3" |
Anonymous | ||
Printed | Page 474 |
Change the two lines that begin sub floor and sub ceil to: |
Anonymous | ||
Printed | Page 486-487 |
The fractal program and image are correct, but the image is squashed a little bit because |
Anonymous | ||
Printed | Page 491 |
In the last line of the first prose paragraph after the Roman Numerals subhead, |
Anonymous | ||
Printed | Page 493 |
In the first prose paragraph after The Fibonacci Sequence subhead, |
Anonymous | ||
Printed | Page 506 Line 33 of the code |
$high = $mid -1 |
Anonymous | ||
Printed | Page 507 line 11 |
if ($ci < $#primes) |
Anonymous | ||
Printed | Page 510 4th line |
delete: |
Anonymous | ||
Printed | Page 522 |
In the third prose paragraph of Unsolved Problems, |
Anonymous | ||
Printed | Page 529 "Hardware eavesdropping" section; |
The second sentence contains a typo. Instead of "eavesdopper", it should read |
Anonymous | ||
Printed | Page 530 |
Change the line that reads #!/bin/perl -nle to #!/usr/bin/perl -nl. |
Anonymous | ||
Printed | Page 536 |
Change the line that reads use SSLeah; to use SSLeay;. |
Anonymous | ||
Printed | Page 541 |
Change the line that reads $val = tr/a-zA-Z/n-za-mN-ZA-M/; |
Anonymous | ||
Printed | Page 543 last paragraph |
. . . NIST (National Institute fo Standards . . . |
Anonymous | ||
Printed | Page 550-551 |
In the printkey() subroutine at the bottom of the page, change the line |
Anonymous | ||
Printed | Page 553 Third line from top: |
change "cannot encrypt with the public key instead" |
Anonymous | ||
Printed | Page 568 |
Now reads: |
Anonymous | ||
Printed | Page 583 Top of page: |
change the line |
Anonymous | ||
Printed | Page 583 Bottom of page: |
change the line |
Anonymous | ||
Printed | Page 584 Middle of page. |
Change this loop: |
Anonymous | ||
Printed | Page 587 Middle of page: |
Change the line |
Anonymous | ||
Printed | Page 589 Bottom of page: Immediately below "Sample output:", |
there are a list of two-character items. Insert " of " between the two characters. |
Anonymous | ||
Printed | Page 602 Middle of page: |
Delete the prose paragraph beginning "You can also write" and the four lines of code after the paragraph. |
Anonymous | ||
Printed | Page 606 Bottom formula: |
change z to zi. |
Anonymous | ||
Printed | Page 613 Middle of page: |
Remove one of the right parentheses after $expected_mean. |
Anonymous | ||
Printed | Page 616 Top of page, in the three lines after the prose sentence, |
change: |
Anonymous | ||
Printed | Page 618,620 |
The program is correct, but so that the (made up) data forms a significant example, change |
Anonymous | ||
Printed | Page 622 2nd paragraph |
In the correlation sub, the following line is present: |
Anonymous | ||
Printed | Page 623 First line, |
change x-intercept to y-intercept. |
Anonymous | ||
Printed | Page 623, 624 |
In Figures 15-3 and 15-4, the first number on the x-axis should be 0, not 2500. |
Anonymous | ||
Printed | Page 624 |
Immediately before the first line of code, add: |
Anonymous | ||
Printed | Page 628 Second prose paragraph from bottom: |
change both occurrences of 1.2 to 1.4 |
Anonymous | ||
Printed | Page 629 In the code example at the top of the page (after "Now we can call deriv()..."), |
make the following changes: |
Anonymous | ||
Printed | Page 631 In the line beginning @jacobian, |
replace [&f, &g] with [&f, &g, &h]. |
Anonymous | ||
Printed | Page 635 Middle of page: |
in the prose paragraph beginning "The roots will then be", change c/a to c/q. |
Anonymous | ||
Printed | Page 640 First prose paragraph (beginning "Suppose your company's revenues"): |
change the first occurrence of log($x) to 100*log($x) and change x3-log(x) to x3-100log(x). |
Anonymous | ||
Printed | Page 641 Top of page: |
Remove the # in front of sub solve, and remove $error_var, from the line beginning my ($i, .... |
Anonymous | ||
Printed | Page 643 |
In the third line of sub poly_fit, change: |
Anonymous | ||
Printed | Page 651 |
First entry of Other References: change "Gary" to "Garey". |
Anonymous | ||
Printed | Page 657 |
Change "# for hash names" to "% for hash names". |
Anonymous | ||
Printed | Page 678 |
Add entry for "Sarathy, Gurusamy", duplicating the index entry for "Gurusamy, Sarathy". |
Anonymous |