Errata

Perl in a Nutshell

Errata for Perl in a Nutshell

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 xv
Chapter 3 used to be listed in the Preface as being in Part I,

but it's now listed in Part II.

Anonymous    Oct 01, 1999
Printed
Page 7
1st bullet

http://www.perl.com/perl/faq now reads http://language.perl.com//faq/.

Anonymous    Sep 01, 2000
Printed
Page 8
The section entitiled "The Perl Institute" has been removed.

"published by John Orwant" now reads "edited by John Orwant."

Under "Perl Conferences," the section now reads:

For years, Usenix has devoted tracks of its conferences
to Perl. However, starting in 1997, O'Reilly & Associates
has been hosting conferences dedicated entirely to Perl
(http://conferences.oreilly.com/). And Yet Another Perl
onference (YAPC) made its debut in 1999 (http://www.yapc.
org/).

Anonymous    Sep 01, 2000
Printed
Page 20
last sentence before list

"The following is a listing of the interactive CPAN modules:"

now reads

"The following is a synopsis of the commands that you can
execute from the CPAN shell:"

Anonymous    Sep 01, 2000
Printed
Page 36
In the -n entry, the code has been changed to

LINE: while (<>) {
... # your script goes here
}

In the -p entry, the code has been changed to:

LINE: while (<>) {
... # your script goes here
} continue {
print;
}

Anonymous    Sep 01, 2000
Printed
Page 45
Table 4-2, "Quoting Syntax in Perl" was changed to match

the table in Programming Perl (41). The table now reads:

Customary Generic Meaning Interpolates

'' q// Literal No
"" qq// Literal Yes
`` qx// Command Yes
() qw// Word list No
// m// Pattern match Yes
s/// s/// Substitution Yes
y/// tr/// Translation No


Anonymous    May 01, 1999
Printed
Page 47
Removed the code line

$now = localtime();

Anonymous    Mar 01, 2001
Printed
Page 47

sentence after first line of code now reads:

'But in a scalar context, localtime displays the date
like "Fri Aug 18 08:22:16 2000".'

Anonymous    Sep 01, 2000
Printed
Page 48
Code near bottom of page

comma removed after "OUTFILE."

Anonymous    Sep 01, 2000
Printed
Page 50

second code block now reads:

LINE: while (<SCRIPT>) {
next LINE if /^#/; #discard comments
print:
}

Anonymous    Sep 01, 2000
Printed
Page 55

Under "$digit," the 2nd sentence now reads:

"For example, $1 contains whatever text matches the
first set of parentheses in the previous regular
expression."

Anonymous    Sep 01, 2000
Printed
Page 56
Item 4

"The last bracket" now reads "The last parantheses."

Anonymous    Sep 01, 2000
Printed
Page 65
last sentence on page

"modifier" now reads "quantifier".

Anonymous    Sep 01, 2000
Printed
Page 67
line of code at top of page now reads "... : # matches ..."

Anonymous    Sep 01, 2000
Printed
Page 69
"(?<!=...)" now reads "(?<!...)". In the example, "/(?<!=bad)boy/" now

reads "/(?<!bad)boy/".

Anonymous    Sep 01, 2000
Printed
Page 71
At the bottom of the page, an ellipsis has been added between

the lines of code. It now reads:

"sub addem ($$) {
...
}"

Anonymous    Oct 01, 1999
Printed
Page 75
first code block, last line

"|| die" now reads "or die".

Anonymous    Sep 01, 2000
Printed
Page 95
Under heading "endprotoent"


/etc/prototypes

now reads

/etc/protocols

Anonymous    Sep 01, 2000
Printed
Page 102
Under heading "getpriority"

"who" now reads "id."

Anonymous    Sep 01, 2000
Printed
Page 125
Under heading "setnetent"

"(usually /etc/group)" now reads "(usually /etc/networks)."

Anonymous    Sep 01, 2000
Printed
Page 126
Under heading "setpwent"

"group" now reads "password" (2x).

Anonymous    Sep 01, 2000
Printed
Page 151
Under heading "||"

Everything starting from "Often used with ..." was moved to the entry for "|"
above.

Anonymous    Sep 01, 2000
Printed
Page 173
Invocation line under B::CC


xperl -MO=C[,options] program
^
now reads CC.

Anonymous    Sep 01, 2000
Printed
Page 177
In the section "base", in the first code block, the single line of code

now reads:

use base qw(Foo Bar);

Anonymous    Sep 01, 2000
Printed
Page 232

last code block under "File::DosGlob" now reads:


C:> perlglob ...


Anonymous    Sep 01, 2000
Printed
Page 259
Math::BigFloat, 2nd bullet

changed sentence so it reads:

"All methods ... expect and return a number string ..., with embedded
whitespace ignored in the input."

Also, last bullet was removed.

Anonymous    Sep 01, 2000
Printed
Page 260
fdiv

"scale" now reads "n" (italic).

Anonymous    Sep 01, 2000
Printed
Page 262
bcmp

"$f" now reads "$i".

Anonymous    Sep 01, 2000
Printed
Page 269
The getprotobyname and getprotobynumber entries at the top of the page

now read:

getprotobyname
getprotobyname (protocolname)
Returns information about a protocol given its name.

getprotobynumber
getprotobynumber (protocolnumber)
Returns information about a protocol given its number.

Anonymous    Sep 01, 2000
Printed
Page 292
Under "strict," an ellipsis has been added between the lines

of code. It now reads:

"use strict 'vars';
...
no strict 'vars';"

Anonymous    Oct 01, 1999
Printed
Page 297
TAB

"completion_list" now reads "array".

Anonymous    Sep 01, 2000
Printed
Page 325
1st paragraph under code

"HTTP protocol" now reads "HTTP server".

Anonymous    Sep 01, 2000
Printed
Page 327
line 2 of the Perl script

now reads:

print << EOF

In the same example, "<BR>" was removed from the end of the five lines in which
it appeared.

Anonymous    Sep 01, 2000
Printed
Page 329
The comment now reads:

"Use $key as index for %parameters hash, ..."

Anonymous    Sep 01, 2000
Printed
Page 331
Table 10-1

The table now reads as follows:

start_html Generates start of an HTML document.
end_html Generates end of an HTML document.

Anonymous    Sep 01, 2000
Printed
Page 331-332
Table 10-1 under "Handling Environment Variables"

user_agent line -- USER_AGENT now reads HTTP_USER_AGENT. Removed the word
"header" at the end of 2nd column.

path_info line -- EXTRA_PATH_INFO now reads PATH_INFO. Removed the word
"header" at the end of 2nd column.

next four lines -- removed the word "header" at the end of 2nd column.

referer line -- REFERER now reads HTTP_REFERER. Removed the word "header" at
the end of 2nd column.

next two lines -- removed the word "header" at the end of 2nd column.

last line (on p. 332) -- removed the word "header" at the end of 2nd column.

Anonymous    Sep 01, 2000
Printed
Page 335
In the first and second code blocks, the lines that start "% test ..."

now read "% show_birthday ..."

Anonymous    Sep 01, 2000
Printed
Page 338
Under -expires, "nY" now reads "ny".

Anonymous    Sep 01, 2000
Printed
Page 339
Under "delete_all", text now reads "Deletes all parameters."

Under filefield, "for Netscape browsers" now reads removed.

Anonymous    Sep 01, 2000
Printed
Page 345
radio_group, synopsis line and list term

"\%label" now reads "\%labelhash".

Anonymous    Sep 01, 2000
Printed
Page 347

Under "scrolling_list", "selected" item in the variable list now reads :

"default".

Anonymous    Sep 01, 2000
Printed
Page 348
\%labelhash, syntax code, line 2

"@listarray" now reads "@list".

Anonymous    Sep 01, 2000
Printed
Page 349
Under -meta, the text for "copyright" now reads "Copyright for this

document description.". The following entry was added after copyright:

description
Description for this document.

Anonymous    Sep 01, 2000
Printed
Page 350
start_multipart_form, 1st sentence of description

now reads "Generates a <FORM> tag."

Anonymous    Sep 01, 2000
Printed
Page 355
Removed entire last paragraph under "Installing mod_perl".

Anonymous    Sep 01, 2000
Printed
Page 356
Table, 3rd line from bottom

"Post-request stage" now reads "Post-read stage".

Anonymous    Sep 01, 2000
Printed
Page 357
1st paragraph after code, last sentence

"standard Apache header" now reads "standard Apache directive."

Anonymous    Sep 01, 2000
Printed
Page 368
Second section, Database Handles and Statement Handles

The lines:

$db_handle = DBI->connect(dbi:mSQL:bookdb, undef, undef)
|| die("Connect error: $DBI::errstr");

now read

$db_handle = DBI->connect("dbi:mSQL:bookdb", undef, undef)
|| die("Connect error: $DBI::errstr");

Note the quotes naming the database.

Anonymous    Sep 01, 2000
Printed
Page 369

In the first block of code the third line read:

}) || die db_handle->errstr;

It now reads

}) || die $db_handle->errstr;

Anonymous    Sep 01, 2000
Printed
Page 373

Under the "fetchrow_array" heading, it used to read:

"$array = $st_handle->fetchrow_array"

It now reads:

"@array = $st_handle->fetchrow_array"


Anonymous    Oct 01, 1999
Printed
Page 382
2nd paragraph from bottom

"The filehandle $FH" now reads "The filehandle FH".

Anonymous    Sep 01, 2000
Printed
Page 392
last line

"Net:SMTP" now reads "Net::SMTP".

Anonymous    Sep 01, 2000
Printed
Page 393
datasend

"remote server" now reads "remote mail server."

Anonymous    Sep 01, 2000
Printed
Page 396
last line before list (Net:POP3)

"Net:SMTP" now reads "Net::SMTP".

Anonymous    Sep 01, 2000
Printed
Page 408
next_labeled_message

"msg_number" now reads "msg_num" (compared with syntax line and compared with
the other entries).

Anonymous    Sep 01, 2000
Printed
Page 412
new/Body


"Mail::Internet should attempt"

now reads

"Mail::Internet should not attempt"

Anonymous    Sep 01, 2000
Printed
Page 433
first paragraph, third sentence

now reads "The entries in the list show articles that have been read."

Anonymous    Sep 01, 2000
Printed
Page 441
first sentence on page

"from remote hosts" now reads "from and to remote hosts".

Anonymous    Sep 01, 2000
Printed
Page 441
"and CGI.pm" was inserted after "uses Net::FTP" so it now reads "uses

Net::FTP and CGI.pm to list files".

Anonymous    Sep 01, 2000
Printed
Page 441-442
The example that starts at the bottom of page 441 and goes onto page

442 was removed and replaced with:

#!/usr/bin/perl -w

use CGI qw(:html3);
use Net::FTP;

my $ftp_host = 'cpan.perl.org'; # ftp host
my $ftp_user = 'anonymous'; # username
my $ftp_pass = 'me@my.domain'; # password
my $ftp_dir = '/pub/perl/CPAN';

my $ftp = Net::FTP->new($ftp_host, Debug => 0); # Net::FTP constructor
$ftp->login($ftp_user, $ftp_pass); # login with user/pass

$ftp->cwd($ftp_dir); # set current directory

# Now for the HTML output ...
my $query = CGI->new();

print $query->header;
print $query->start_html, "
";

print $query->h1("FTP dir listing for ftp://$ftp_host$ftp_dir"),"
";
print $query->hr, "
";

foreach my $entry (@{[$ftp->ls()]}) {
print $query->a({href=>"ftp://$ftp_host$ftp_dir/$entry"}, $entry),
print $query->br, "
";
}

print $query->end_html, "
";

$ftp->quit;

Anonymous    Sep 01, 2000
Printed
Page 448
stou

The first "file" (in "but stores file") is now in italic, and ", file" at the
end of the sentence was removed.

Anonymous    Sep 01, 2000
Printed
Page 449
1st paragraph, line 3

macdef name, line2: "FTP" (in "FTP command" and "with FTP") now reads "ftp".

Anonymous    Sep 01, 2000
Printed
Page 459
Under "get_basic_credentials," the synopsis line was changed to

$ua->get_basic_credentials(realm, url, [proxy])

Anonymous    Sep 01, 2000
Printed
Page 463

Used to read:


$req = HTTP::Request->new(GET, $url)

Now reads:

$req = HTTP::Request->new(GET, $url);


Anonymous    May 01, 1999
Printed
Page 466
push_header, 1st sentence

now reads: "Adds a new value to a header field of the object."

Anonymous    Mar 01, 2001
Printed
Page 473
2nd paragraph, last line


"... and any requested file content"

Removed "file".

Anonymous    Mar 01, 2001
Printed
Page 474
send_response, line 2

The second "resplist" now reads "@resplist."

Anonymous    Mar 01, 2001
Printed
Page 484
section title now reads "The URI Modules"


Line 1 now reads "The URI modules contain ..."


Anonymous    Mar 01, 2001
Printed
Page 493
Figure 18-1 previously bore no resemblance to the output that

would result from the script printed above it.

Figure 18-1 used to show a window whose title contained the text that
was supposed to be inside the button in the sample script, and the
button text, "Done," was not scripted anywhere.

Figure 18-1 now shows a window with no text in the title bar and a
button with the text "Hello World."

Anonymous    Oct 01, 1999
Printed
Page 505
The option 'solid' is now included in the value list for the

--relief option.

Anonymous    May 01, 1999
Printed
Page 509

In the section The Label Widget, the last line used to read:


"Button text will change as $variable does."

It now reads:

"Label text will change as $variable does."


Anonymous    May 01, 1999
Printed
Page 509

In the section The Entry Widget, the last line used to read:

"Button text will change as $variable does."

Changed to read:

"Entry widget text will change as $variable does."

Anonymous    May 01, 1999
Printed
Page 559
EVENTLOG_SEEK_READ, line 2

"EVENT_LOG_FORWARDS_READ" now reads "EVENTLOG_FORWARDS_READ".

INDEX:

Anonymous    Apr 01, 2001
Printed
Page 597

{597} Under "Win32::GetNextAvailDrive()", the "" was removed from "d:".

Anonymous    Mar 01, 2001
Printed
Page 639
under "Net modules" and "news"

"Net::News module" now reads "Net::NNTP module".

Anonymous    Apr 01, 2001
Printed
Page 641
under "pack()"

"Mail::Folder folder" now reads "Mail::Folder module".

Anonymous    Apr 01, 2001
Printed
Page 644
This page of the index now includes the entry


"qw, 45, 118"

Anonymous    Oct 01, 1999
Printed
Page 651
under "Usenet news"

"Net::News module" now reads "Net::NNTP module".

Anonymous    Apr 01, 2001