Errata

Mastering Perl

Errata for Mastering Perl, Second Edition

Submit your own errata for this product.

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 7
2nd code sample

Duplicated "#!/usr/bin/perl" at start of program. Also occurs in two code blocks on page 8. All other program examples before and around it (correctly) have only one pound-bang line.

Note from the Author or Editor:
Change as noted. Remove the lines that say "#!/usr/local/perls/perl-5.18.1/bin/perl" from the start of those programs. The first line should be "#!/usr/bin/perl".

tcordes  Feb 16, 2014 
Printed
Page 21
first (non-code) paragraph

From previous page, regex is /\bPerl[^6]\b/

First input and output line is
Perl6 comes after Perl 5.

There are two problems with the claim:
"... in the first line of output, the match still works because it matches the Perl 5
at the end, which is Perl, a space, a 5 (a word character), and then the word boundary at the end of the line."

First, it implies that there is always a word boundary at the end of a line.
False: Perl! will not match because the exclamation point is not a word character, and therefore, no \b (word boundary) exists between it and the end of the string

Second, the explanation as a whole is wrong
The line matches because the near-end consists of
a space (a non-word character)
(a word boundary)
Perl
a space (a non-word character that is not 6)
(a word boundary)
5 (a word character)

Note from the Author or Editor:
Change to "a word boundary after the 5."

Gregory Sherman  Aug 03, 2017