Errata for: Minimal Perl

Sun Jun 10 10:37:50 PDT 2007

Request for Help!

If you discover any mistakes in the book, please report them to the Author Online Forum. The author will investigate all such reports and post corrections here, as appropriate.

Note on E-book Editions

Click Here to learn how to convert the page numbers cited here to the page numbers you'll see in your application (e.g., Acrobat Reader) when viewing the electronic edition (E-book).


Errata


Page xxii, second paragraph, second to last line:

Change:
... Phil Moeck ...
To:
... Phil Mocek ...

Page xxxi, second line on page:

Change:
... arry ...
To:
... Larry ...

Page xxxiii, "About the Authors" section, first paragraph, third line from bottom:

Change:
... serves on the the ...
To:
... serves on the ...

Page 4, below middle of page, in paragraph that starts with "The Traveler", 2nd line:

Change:
... suddenly fells ...
To:
... suddenly feels ...

Page 11, first line:

Change:
... at the end the ...
To:
... at the end of the ...

Page 13, large program in middle of page, first line:

Change:
... -wl
To:
... -w

Page 13, one-line program near page bottom that includes while and file:

Change:
... -wl
To:
... -w

Page 64, middle of page, grep, fgrep, and perl commands:

Change:
... $9
To:
... 89

Page 64, code line above heading 3.6:

Change:
... $9.99 Sale! **\E/' and print'
To:
... 89.99 Sale! **\E/ and print;'

Page 68, first code line may produce incorrect code on cutting/pasting from E-book version:

Change:
... --wnl
To:
... -wnl

Page 77, code line at top of page:

Change:
... and close
To:
... and print and close

Page 81, footnote at bottom of page, first line:

Change:
... of this writing,
To:
... of this writing for the URL usatoday.com/money/front.htm,

Page 115, middle of last line on page:


Van``
should end with a right-handed double quote:
Vann"

Page 145, last code-line on page:

To match the data shown on p. 144 (Listing 5.2),
/^ 2\. P ...
should have two spaces after the backslashed dot:
/^ 2\.  P ...

Page 170, at bottom, end of Listing 5.6:

Add missing line at end of scan4oops script:
$status =~ /E0$/ and print "";

Page 173, Listing 5.7:

Insert missing line after Line 5 of scan4oops2 script:
@ARGV='/var/log/messages'; # set filename argument

Page 176, last paragraph, first line:

should keep in mind that tables 5.6, 5.7, ...
Should be:
should keep in mind that tables 5.7, 5.8, ...

Page 193, paragraph starting with "They say"; 2nd line:

to run, so to should
should be:
to run, so you should

Page 212, mytime script:

See MinimalPerl.com for an improved version.

Page 213, at end of last line on page:

Delete second period.

Page 214, Table 7.4, 3rd example, "Explanation" entry:

Add new clause at end by changing:
... 100.
to
... 100, and $hour starts at 1. ...

Page 215, mytime2 script:

See MinimalPerl.com for an improved version.

Page 228, Table 7.11, 3rd example, "Explanation" entry:

Change
Prints
...
to
Stores in @B
...

Page 249, first line of code:

$ARGV > 0
should be
@ARGV > 0

Page 357, section 10.7.2, show_user script, last comment:

To avoid source-code filtering problems occuring with some combinations of Shell::POSIX::Select and Filter::Simple versions, avoid quote in comment by changing
# Let program's user
to
# Let program user

pAge 372, section 11.2.2, 4letter_word script:

After this line:
use strict;
Insert this missing line:
our $verbose;

Page 384, section 11.4.6, phone_home2 script:

Change closing quote in print statement to match opening one:
print 'Calling phone at: ";
becomes
print 'Calling phone at: ';

Page 384, section 11.4.6, phone_home2 script, get_home_address subroutine:

In $home assignment, change inner parentheses to curly braces:
$home=($name2address($ENV{LOGNAME}) ...
becomes
$home=($name2address{$ENV{LOGNAME}} ...

Page 384, section 11.4.6, after get_home_address subroutine, in 4th line of next paragraph:

To reflect a change needed in unshown code, change:
by declaring $home with my, ...
to
by declaring $home with my, and %name2address with my, ...

Page 385, phone_home3 script:

Change closing quote in print statement to match opening one:
print 'Calling phone at: ";
becomes
print 'Calling phone at: ';

Page 385, phone_home3 script, get_home_address subroutine:

In $home assignment, change inner parentheses to curly braces:
my $home=($name2address($ENV{LOGNAME}) ...
becomes
my $home=($name2address{$ENV{LOGNAME}} ...

Page 386, mytime3 script:

See MinimalPerl.com for an improved version.

Page 403, middle of page, PERL5LIB command:

For the benefit of those using Shells that aren't configured for automatic exporting, change
$ PERL5LIB ...
to
$ export PERL5LIB ...

Page 445, at top of section "A":

Insert:
-a (automatic field-splitting) option 45-46, 131-132, 176, 296
Before:
a2p command

Page 450, index entry under "Featured Characters", for "Yoko":

Change:
Yoko, for fuzzy_match, xxvi
To:
Yoko, for fuzzy_match, xxvi, 85


Calculation of eBook Page Numbers

(excerpted from George Woolley's review)

Note: If you don't get the E-book, this section is irrelevant. Given a page number p in the paper book (e.g. the page numbers in the table of contents, the list of tables and the index), you can easily calculate the corresponding ebook PDF page number e. Just use the following formulas: