Errata

Advanced Perl Programming

Errata for Advanced Perl Programming

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 xiv
para. -1, line 2

changed "Guido Van Rossum" to "Guido van Rossum"

Anonymous    Feb 01, 2000
Printed
Page xiv

At the top, did read:

http://www.sunlabs.com/people/john.ousterhout
now reads:
http://www.scriptics.com/people/john.ousterhout/

Anonymous    Feb 01, 2000
Printed
Page xxii
Clay Irving's Perl Reference web site has a new home at

http://reference.perl.com/ .

Also added updated contact info to "We'd Like to Hear From You" section.

Anonymous    Feb 01, 2000
Printed
Page xxiii
Moved the second-to-last para ("To all my friends ...")

to the end, as, "Finally, to all my friends, ...."
Also added comma after "encouraging words"

Anonymous    Feb 01, 2000
Printed
Page index
Additions

Brian Kernighan - p. xiv
MethodMaker - p. 132
query processing - p. 182

Anonymous    Feb 01, 2000
Printed
Page index
Changes

"malloc command" to "malloc function"
"nonnblocking" to "nonblocking"

Anonymous    Feb 01, 2000
Printed
Page xi
line 1:

An extra space between "two" and "goals" HAS BEEN DELETED.

Anonymous    Mar 01, 2004
Printed
Page xiv
line -2:

")." NOW READS ".)"

Anonymous    Mar 01, 2004
Printed
Page xv
bullet item 2:

A comma HAS BEEN INSERTED after "The Perl interpreter."

Anonymous    Mar 01, 2004
Printed
Page 2
para. 4, line 4:

"procedures" now reads "functions".

Anonymous    Nov 01, 2000
Printed
Page 2
para. 5, line 1:

"As we saw earlier, you" now reads "You."

Anonymous    Nov 01, 2000
Printed
Page 3
line 21:

"...we'll the study the..." NOW READS "...we'll study the..."

Anonymous    Mar 01, 2004
Printed
Page 5
last code example, line 4

changed "[$i]" to "[1]"

Anonymous    Feb 01, 2000
Printed
Page 6
code example 3, line 1: changed "$rh" to "$rhash"

Anonymous    Oct 01, 1997
Printed
Page 7
line 4: made the last "}" the correct font; also, in the last

line on the page, changed "x$rarray" to "$rarray"

Anonymous    Oct 01, 1997
Printed
Page 8
para. 3, line 2: changed "deference" to "dereference"

Anonymous    Dec 01, 1997
Printed
Page 9
both pieces of code:

The lines "sub AddArrays" and "sub GetNextLine" are not indented. Also, the
8-space tabs were changed to 4-space tabs.

Anonymous    Nov 01, 2000
Printed
Page 10
First code example: Changed comment to

# Call GetNextLine 100 times, and time it.

Anonymous    Feb 01, 2000
Printed
Page 11
Second code example from below.: Changed comment in 3rd line to

# reference to a reference to $a's value

Anonymous    Feb 01, 2000
Printed
Page 14
first para. after heading "Final Shortcut ...":

"identical" NOW READS "equivalent"

Anonymous    Mar 01, 2004
Printed
Page 15
line -4: changed "one of these string" to "one of these strings"

Anonymous    Sep 01, 1997
Printed
Page 21
line 5 under the header "Tcl":

"such as Perl's symbolic references" NOW READS "equivalent to Perl's symbolic references."

Anonymous    Mar 01, 2004
Printed
Page 22
line 3: changed "copies" to "copy"

Anonymous    Oct 01, 1997
Printed
Page 22
4th para., line 2: changed "reminiscent to" to "reminiscent of"

Anonymous    Sep 01, 1997
Printed
Page 26
The dot inside the formula is now a centered dot.

Anonymous    Nov 01, 2000
Printed
Page 26
line 3 in Example 2-2


my ($r_product); # Returing product by reference

now reads

my ($r_product); # Returning product by reference

Anonymous    Nov 01, 2000
Printed
Page 27
Last line of first paragraph, second to last line of paragraph 4, first line of paragraph 5:

Badly formatted arrows after "$r_mat" HAVE BEEN CORRECTED.

Anonymous    Mar 01, 2004
Printed
Page 29
first Code after "Representation"

Changed Name "Garibaldi" to "E. F. Schumacher"

Anonymous    Feb 01, 2000
Printed
Page 31
code 1: added a new line after line 9 ("# by adding in the

day's "base hour" ...") that reads as follows:

$to = 19 if $to == 7;

also on 31: in what is now line 14 of the 1st code example, changed
"24" to "12" and "31" to "21"; in the second code example, line 8:
changed "office_hourse" to "office_hours"; finally, re-broke line 3 of
the first code example so that it breaks at the equals sign and line 4
begins with "($day_hours"

Anonymous    Oct 01, 1997
Printed
Page 31
example 2-4, line 12

changed
for $j ($i .. $#{$rl_courses}) {
to
for $j ($i+1 .. $#{$rl_courses}) {

Anonymous    Feb 01, 2000
Printed
Page 31
line -11 of example 2-4: changed "hourse" to "hours"

Anonymous    Sep 01, 1997
Printed
Page 33
First line of code

... die "Could not open database: $:";
Changed "$:" to "$!"

Anonymous    Feb 01, 2000
Printed
Page 37

Resources: #1 http site now reads:

Available at
http://language.perl.com/info/documentation.html

Anonymous    Feb 01, 2000
Printed
Page 39
In Figure 3.1,

Changed the symbol table entry from "Foo::" to "spud"

Anonymous    Feb 01, 2000
Printed
Page 39
Fig 3.1:

symbol table entry should be "spud" not "spud::"

Anonymous   
Printed
Page 40
next-to-last para.:

"A" was changed to Roman font.

Anonymous    Nov 01, 2000
Printed
Page 41
line 1:

"create new variable" NOW READS "create a new variable."

Anonymous    Mar 01, 2004
Printed
Page 42

code 2: last line now reads:

print @potato, "
"; # prints "idaho russet"

Anonymous    Dec 01, 1997
Printed
Page 47
The sample code fragment contained two comments erroneously

referring to '$&rs()'
now reads '&$rs()'

Anonymous    Feb 01, 2000
Printed
Page 49
para. 1:

"The simple answer to this solution is..." now reads "The simple solution to
this problem is..."

Anonymous    Nov 01, 2000
Printed
Page 50
line 1

"A #include" NOW READS "An #include".

Anonymous    Mar 01, 2004
Printed
Page 53
line 7

changed
$rsub->(10);
to
$rs->(10);

Anonymous    Feb 01, 2000
Printed
Page 55
para after first code block.

changed
"INT is a reserved string and"
to
"INT is a special string that"

Anonymous    Feb 01, 2000
Printed
Page 55
Last para, line 5

Changed "crash the system" to "crash the program"

Anonymous    Feb 01, 2000
Printed
Page 56
"Expression Plotting" is now a B-Head

Anonymous    Feb 01, 2000
Printed
Page 56
2nd line before Closures

changed "...procedures;" to "...procedure"

Anonymous    Feb 01, 2000
Printed
Page 56
2nd line after Closures

changed "...any other ways" to "...any other way"

Anonymous    Feb 01, 2000
Printed
Page 57
para. 2, line -2

The quotes around "$greeting" were mismatched. They HAVE BEEN CHANGED so that both are double quotes.

Anonymous    Mar 01, 2004
Printed
Page 61
top of page:

$rs = sub {

now reads:

my $rs = sub {

Anonymous    Nov 01, 2000
Printed
Page 62
line 10: changed "Even" to "Odd"

Anonymous    Oct 01, 1997
Printed
Page 63
example before heading "Closures Versus Objects"

changed
"$random_iter1()" and "$random_iter2()"
to
"&$random_iter1()" and "&$random_iter2()"

Anonymous    Feb 01, 2000
Printed
Page 66
first line:

48K NOW READS 32K.

Anonymous    Mar 01, 2004
Printed
Page 69
The first piece of code

Added quote at end of comment "Illegal division ...."

Anonymous    Feb 01, 2000
Printed
Page 69
Last para, last line: "eval" is now in Courier.

Anonymous    Feb 01, 2000
Printed
Page 75
2nd para from bottom

changed
If @patterns contains the three strings "^abc", "ghi", "efg$",
to
If @patterns contains the three strings "^foo", "bar$", "ghi",

Anonymous    Feb 01, 2000
Printed
Page 86
line line of 1st para.: changed "$::x." (quotes are in the

text) to "$::x"

Anonymous    Oct 01, 1997
Printed
Page 88
under "Load Path"

"Perl first looks for the file given to use or require in
the current directory and then looks up the @INC built-in
array to search the include paths."

now reads:

"Perl looks for the file given to use or require in the list
of directories specified in the built-in array, @INC."

Anonymous    Nov 01, 2000
Printed
Page 89
Last code block

changed
"Create a variable subroutine and subroutine..."
to
"Create a variable and a subroutine..."

Anonymous    Feb 01, 2000
Printed
Page 91
changed all instances of "Account" to "BankAccount" (2 in

code, one in text)

Anonymous    Oct 01, 1997
Printed
Page 91
second para:

"The BankAccount class can be" now reads "The BankAccount package can be."

Anonymous    Nov 01, 2000
Printed
Page 91
under "Importing Symbols", near the end of the section

"If the module uses @EXPORT instead of @EXPORT_OK, the user
gets all the exported symbols, regardless of whether they
were mentioned in the import list or not."

now reads:

"If the module uses @EXPORT instead of @EXPORT_OK, the user
gets all the exported symbols by default, unless the import
list specifies one or more symbols."

Anonymous    Nov 01, 2000
Printed
Page 92
line before Example 6-1:

"Example 6-1 shows one way to do write this subroutine."

NOW READS:
"Example 6-1 shows one way to write this subroutine."

Anonymous    Mar 01, 2004
Printed
Page 93
last line

changed
"The double colon gets translated to a filename"
to
"The double colon gets translated to a pathname"

Anonymous    Feb 01, 2000
Printed
Page 94
para. after first code block:

"Test::func" is now typeset in Courier.

Anonymous    Nov 01, 2000
Printed
Page 95
next-to-last para., line 2: changed "property is in" to

"property in"

Anonymous    Oct 01, 1997
Printed
Page 100
Line 3: "Nicklaus" is now "Niklaus"

Anonymous    Feb 01, 2000
Printed
Page 103
Line 5: "Not" is now "Note"

Anonymous    Feb 01, 2000
Printed
Page 103
paragraph after first code block

changed
"of the an object"
to
"of a class"

Anonymous    Feb 01, 2000
Printed
Page 106
Para after second code block

changed
"it is the Regular-Employee"
to
"it is RegularEmployee"

Anonymous    Feb 01, 2000
Printed
Page 106
In para. 5,

sentences 1 and 2 did read:
Both the :: and -> notations are in fact permissible, unlike in C++.
The first one is more flexible because Perl figures out the class at
run time, while the latter is faster because the function to be called
is known at compile time."
now read:
Both the -> and :: notations are in fact
permissible, unlike in C++.
(deleted sentence 2)

Anonymous    Feb 01, 2000
Printed
Page 108
First code line: "$record" is now "$details"

Anonymous    Feb 01, 2000
Printed
Page 114
"Can (function name)" had the open paren. in code and the close paren.

in body text; the situation was reversed at the top of page 115.
All the parens HAVE BEEN CHANGED and now all appear in code format.

134) line 7 in the second code example reads
# Strip it off its leading package name...

NOW READS:
# Strip off its leading package name...

Anonymous    Mar 01, 2004
Printed
Page 116
Last para

changed
"design is to use case analysis"
to
"design is to use Use Case Analysis"

Anonymous    Feb 01, 2000
Printed
Page 117
Figure 7-1:

"Moniter" should be "Monitor."

Anonymous   
Printed
Page 118
line 14 (from the bottom)

changed
: $obj->{_price} - $obj->_rebate}
to
: $obj->{_price} - $obj->{_rebate}

Anonymous    Feb 01, 2000
Printed
Page 119
line 2:

"CDROM" was changed to bold.

Anonymous    Nov 01, 2000
Printed
Page 120
para about Tcl, last sentence: "incr Tcl" is now "[incr Tcl]"

Anonymous    Feb 01, 2000
Printed
Page 125
#2: line -2 of code

changed
$r_employee->position...
to
$emp->position...

Anonymous    Feb 01, 2000
Printed
Page 126
"'J'Joe'" is now "'Joe'"

Anonymous    Feb 01, 2000
Printed
Page 127
2nd line under figure: "@free" is now "@_free"

Anonymous    Feb 01, 2000
Printed
Page 127
next to last line on page: "@color" is now "@_color"

Anonymous    Feb 01, 2000
Printed
Page 128
First line of text after code

"@_ATTRIBUTES" is now "@_ATTRIBUTES_"

Anonymous    Feb 01, 2000
Printed
Page 129
first line after code (at top of page):

$$_[0] was fixed to it doesn't split across lines.

Anonymous    Nov 01, 2000
Printed
Page 130
Code at top of page: second line

now reads:
# Or, $obj->set_attributes (['age', 'name'], [23, "sriram"])
sub set_attributes {

Anonymous    Feb 01, 2000
Printed
Page 130
code line 2: deleted AE ligature

Anonymous    Sep 01, 1997
Printed
Page 131
line 8 of first code example

changed
local(*attributes) = *{"${pkg}::_ATTRIBUTES_"};
to
local (@attributes) = get_attribute_names($pkg);

Anonymous    Feb 01, 2000
Printed
Page 139
para. -3, line 2:

The -> NOW APPEARS in constant width font.

Anonymous    Mar 01, 2004
Printed
Page 139

(139): footnote: changed "alternate" to "alternating"

Anonymous    Sep 01, 1997
Printed
Page 140
middle column, first item: changed "TIE-SCALAR" to

"TIESCALAR", and in the third item of the same column, changed "65" to
"20"

Anonymous    Oct 01, 1997
Printed
Page 141
4th line from the bottom:

"Time::HiRes" NOW APPEARS in constant width font.

Anonymous    Mar 01, 2004
Printed
Page 141
last line:

"the Win32::Timer call" NOW READS "the Win32::Timer package."

Anonymous    Mar 01, 2004
Printed
Page 144
first para. after code:

This para. is redundant (although correct in intention) because STORE has not
been implemented in the preceding example.

Anonymous   
Printed
Page 148
line 12: made "TIESCALAR" bold

Anonymous    Oct 01, 1997
Printed
Page 154
Serialization item, parenthetical at end:

"(making the structures cyclic ...)" now reads "(possibly making the
structures cyclic ...)"

Anonymous    Nov 01, 2000
Printed
Page 154
para. 1, line 4:

"in a slightly greater detail"

The "a" HAS BEEN DELETED.

Anonymous    Mar 01, 2004
Printed
Page 159
Para after "Record-Oriented Approach"

changed
"DBM is a disk-based hash table"
to
"DBM is a disk-based hash table library"

Anonymous    Feb 01, 2000
Printed
Page 160
code example 2, line 2: changed "fcntl" to "Fnctl"; also in

the 2nd line of the next-to-last text para., changed "multiwny" to
"multiway"

Anonymous    Oct 01, 1997
Printed
Page 162
Second para after first code block: "$DBI::err" and

"$DBI::errstr" are now typeset in Courier.

Anonymous    Feb 01, 2000
Printed
Page 162
Last piece of code

changed
$sth = $dbh->prepare('insert into emptable (name, age)
values (? , ?)';);
to
$sth = $dbh->prepare('insert into emptable (id, name, age)
values (?, ? , ?)';);

Anonymous    Feb 01, 2000
Printed
Page 162
changed

http://www.hermetica.com/technologia/DBI/
to
http://www.symbolstone.org/technology/perl/index.html

Anonymous    Feb 01, 2000
Printed
Page 166
line 2:

"select" is now in CW font with no italics.

Anonymous    Nov 01, 2000
Printed
Page 169
page header:

The page header just reads "f".

Anonymous   
Printed
Page 170
first footnote:

"select clause" now reads "select command."

Anonymous    Nov 01, 2000
Printed
Page 171
Code after figure 11-1, line 5 and 9

changed
@ATTRIBUTES = qw(....);
to
attributes qw(....);

Anonymous    Feb 01, 2000
Printed
Page 171
Code at the bottom of page

changed
[Employee]
attributes = _id, name, age,
...
to
%g_attr_names = (
"Employee" => [qw(name age)]
"Department" => [qw(name address)]
);

Anonymous    Feb 01, 2000
Printed
Page 175
3rd line from bottom

Changed
"get/set_attributes"
to
"{get,set}_attributes"

Anonymous    Feb 01, 2000
Printed
Page 180
1st para. under "Storing objects":

"flush" NOW READS "flush()".

Anonymous    Mar 01, 2004
Printed
Page 181
3rd para, last line: "Retrieving Objects" is now a heading.

Anonymous    Feb 01, 2000
Printed
Page 184
last code block:

subroutine name "store" now typeset in bold.

Anonymous    Nov 01, 2000
Printed
Page 186
last code block:

subroutine name "retrieve_where" now typeset in bold.

Anonymous    Nov 01, 2000
Printed
Page 189
2nd para.: changed "Tannenbaum" to "Tanenbaum"

Anonymous    Oct 01, 1997
Printed
Page 192
first para., line 2:

"LocalHost" and "LocalPort" are now typeset in Courier.

Anonymous    Nov 01, 2000
Printed
Page 193
code example 1, line 2: changed "PeerHost" to "PeerAddr"

Anonymous    Oct 01, 1997
Printed
Page 193
code line 4

changed
... Proto => 'tcp',
to
... Proto => 'tcp'

Anonymous    Feb 01, 2000
Printed
Page 193
code line 9, after

print $sock "Msg $_ : How are you?
";
inserted the line
$sock->flush();

Anonymous    Feb 01, 2000
Printed
Page 193
Section "Sender", last line: Changed "sending ports" to "sending

sockets"

Anonymous    Feb 01, 2000
Printed
Page 194
Fourth para: Changed "a specified socket" to "any socket"

Anonymous    Feb 01, 2000
Printed
Page 194
#3: Changed "Make these calls nonblocking" to

"Make these sockets nonblocking"

Anonymous    Feb 01, 2000
Printed
Page 194
line 10 of code: Changed "unless ($sock)" to

"unless ($main_sock)"

Anonymous    Feb 01, 2000
Printed
Page 196
last code, lines 8 and 9

changed
($new_readable) = IO:Select->select($readable_handles,
undef, undef, 0);
to
($new_readable) = IO:Select->select($readable_handles,
undef, undef, undef);

Anonymous    Feb 01, 2000
Printed
Page 196
last code, line 11: Changed "to read from or write to" to

"to read from"

Anonymous    Feb 01, 2000
Printed
Page 197
first para, first parenthetical stmt:

"(or has an error" NOW READS "(or there's been an error".

Anonymous    Mar 01, 2004
Printed
Page 202
#2 in list at bottom: changed "Tannenbaum" to "Tanenbaum"

Anonymous    Oct 01, 1997
Printed
Page 206
second line of table, 2nd column:

"rcv_callback" now reads "rcv_cb" to match left hand side.

Anonymous    Nov 01, 2000
Printed
Page 206
Table 13-1, 2nd column

"rcv_callback" NOW READS "rcv_cb."

Anonymous    Mar 01, 2004
Printed
Page 208
list of attributes, description of "sock" is now

"The socket object (of the class IO::Socket::INET class)"

Anonymous    Feb 01, 2000
Printed
Page 208
Last entry in list

changed
"and bytes_to_read contains the bytes still expected"
to
"and bytes_to_read contains the number of bytes still expected"

Anonymous    Feb 01, 2000
Printed
Page 209
last code block, first large comment chunk:

"return only if there's an error" now reads "return immediately if there's an
error".

Anonymous    Nov 01, 2000
Printed
Page 212
line 10 of code

changed
$offset = length($msg) - 1;
to
$offset = length($msg);

Anonymous    Feb 01, 2000
Printed
Page 213
first paragraph, first word: changed "_read" to "_rcv"

Anonymous    Feb 01, 2000
Printed
Page 214
In lines 3 and 10

fcntl($_[0], ......)

NOW READS:
my $conn = shift;
fcntl($conn->{sock}, ......)

Anonymous    Mar 01, 2004
Printed
Page 214
last paragraph, last line:

"run" NOW APPEARS in Courier instead of Italic.

Anonymous    Mar 01, 2004
Printed
Page 217
Code under comment "Server stuff", and again at bottom of page.

changed
RPC->new_rpc_server
to
RPC->new_server

Anonymous    Feb 01, 2000
Printed
Page 217
last paragraph, last line:

"1" should be typeset in Courier.

Anonymous   
Printed
Page 224-225
footnote marker on page 224 HAS BEEN MOVED and now appears on page 225.

Anonymous    Mar 01, 2004
Printed
Page 225
para. 2, line 1:

"contains the resize handles" now reads "is surrounded by the resize handles".

Anonymous    Nov 01, 2000
Printed
Page 227
last para:

"Once Perl/Tk is ported to the Windows and Mac" now reads "On Windows and the
Mac".

Anonymous    Nov 01, 2000
Printed
Page 231
code example 1, line 5: put single quotes around "line"

Anonymous    Oct 01, 1997
Printed
Page 232
code:

The code now says pi radians = 180 degrees.

Anonymous    Nov 01, 2000
Printed
Page 233
lines 2-3: "Guido Von Rossum" is now "Guide van Rossum"

Anonymous    Feb 01, 2000
Printed
Page 233
Section "Inserting text at absolute positions"

"column 5" is now "column 6".

Anonymous    Feb 01, 2000
Printed
Page 233,234
All code snippets involving insert(): The insert method on

the text widget requires the index to be the first parameter and then
the text. The code examples illustrating insert show the first and
second parameters in the reverse order.

So, each of these lines did read:

$t->insert ("Sample", "2.5")

$t->insert ("Sample", "end")

$t->insert ("Sample", "insert + 5")

$t->insert ("Sample", "insert linestart")

$t->insert('Sample', '3.5', 'foo');

and now reads:

$t->insert ("2.5", "Sample")

$t->insert ("end", "Sample")

$t->insert ("insert + 5", "Sample")

$t->insert ("insert linestart", "Sample")

$t->insert('3.5', 'Sample', 'foo');

Anonymous    Feb 01, 2000
Printed
Page 234
Third para from bottom: "and apply a section" is now "and

apply formatting"

Anonymous    Feb 01, 2000
Printed
Page 240
line 4: "[N$scrollbar]" is now "[$scrollbar]"

Anonymous    Feb 01, 2000
Printed
Page 240
Figure 14-7:

"Maserati" spelled wrongly

Anonymous   
Printed
Page 241
Fig 14-8, caption:

"Celsuis" now reads "Celsius".

Anonymous    Nov 01, 2000
Printed
Page 241
line 12 of code:

The "." at the end of the line was removed.

Anonymous    Nov 01, 2000
Printed
Page 245
Figure 14-10:

The bottom-left annotation should read "...it expands the label to..."

Anonymous   
Printed
Page 248
second para:

"bind" now typeset in Courier.

Anonymous    Nov 01, 2000
Printed
Page 250
The first code block, line 3

changed
my $key = shift
to:
my $key = pop

Anonymous    Feb 01, 2000
Printed
Page 251
4th line from bottom of code:

A missing close paren after !!!" HAS BEEN ADDED.

Anonymous    Mar 01, 2004
Printed
Page 256
First para, second line

"nullifies %block" is now "nullifies @block_cells"

Anonymous    Feb 01, 2000
Printed
Page 256
first paragraph: "addtag" is now typeset in Courier.

Anonymous    Feb 01, 2000
Printed
Page 256
first para, second line:

"nullifies %block_cells" NOW READS "nullifies @block_cells".

Anonymous    Mar 01, 2004
Printed
Page 260
code sample 2, line 2

changed
$w_top = MainWindow->new('Tetris - Perl/Tk');
to
$w_top = MainWindow->new(-title => 'Tetris - Perl/Tk');

Anonymous    Feb 01, 2000
Printed
Page 261
last paragraph:

"man perl" now typeset in Courier.

Anonymous    Nov 01, 2000
Printed
Page 274
line 9

changed
Employee *Create();
to
static Employee* Create();

Anonymous    Feb 01, 2000
Printed
Page 277
line before example 7-2 starts: changed "template files" to

"template file"

Anonymous    Oct 01, 1997
Printed
Page 278
Figure 17-2:

"parser()" should be "parse()" (2 instances).

Anonymous   
Printed
Page 278
Figure 17-2:

"add_prop_list" should be "add_prop_list()".

Anonymous   
Printed
Page 279
third para. from bottom, last line: changed "Sockets" to

"IO::Socket"

Anonymous    Oct 01, 1997
Printed
Page 280
first full para, first line:

"Ast::visit" NOW APPEARS in Courier font.

Anonymous    Mar 01, 2004
Printed
Page 282
table:

table mentions @IF @ELSE ... but code does not implement it.

Anonymous   
Printed
Page 284
para. 2:

"open_file" NOW APPEARS in Courier instead of Italic font.

Anonymous    Mar 01, 2004
Printed
Page 285
3rd line from bottom: changed "-onlyIfDifferent" to

"-only_if_different"

Anonymous    Oct 01, 1997
Printed
Page 285
last line:

"foo" NOW APPEARS in Italic and not in Courier (it's a filename).

Anonymous    Mar 01, 2004
Printed
Page 289

Resource #1 now reads:

1. Berkeley yacc for Perl, available from CPAN under
src/misc/perl-byacc.tar.Z

Anonymous    Feb 01, 2000
Printed
Page 292
first para, next-to-last line:

"appropriate function deletes the memory" now reads "appropriate function
frees the memory".

Anonymous    Nov 01, 2000
Printed
Page 295
The title of Example 18-1 now reads "mandel.h" instead of "Mandel.h".

Anonymous    Nov 01, 2000
Printed
Page 296

line 4 of the last code example now reads:

'LIBS' => ['-L/usr/local/lib -lgd'], # Custom libraries to link with

Anonymous    Feb 01, 2000
Printed
Page 297
third para under "Fractals Using XS":

"OBJECT and LIB" now reads "OBJECT and LIBS".

Anonymous    Nov 01, 2000
Printed
Page 310
Last line under "Using the scripting language's power": last

sentence now reads:

The embedded interpreter approach is taken by the Apache Web
server [2].

Anonymous    Feb 01, 2000
Printed
Page 311
line 2 of last text para.:

"Unix" now reads "UNIX".

Anonymous    Nov 01, 2000
Printed
Page 315
paragraph before second code block, last line:

"nice_number" now typeset in Courier.

Anonymous    Nov 01, 2000
Printed
Page 316

first code line: "main()" now reads:

int main(int argc, char **argv, char **env)

Anonymous    Feb 01, 2000
Printed
Page 316
Example 19-3 has the wrong comment format.

Anonymous   
Printed
Page 316
last statement in code:

Change call to perl_close() to:

perl_destruct(my_perl);
perl_free(my_perl);
return 0;

Anonymous   
Printed
Page 317
last line: the final sentence now ends with

"www.apache.org/." (removed rest of sentence, as that URL
is obsolete. Note addition of final "/".)

Anonymous    Oct 01, 1997
Printed
Page 321
Figure 20-1:

Change "Symbol tabels" to "Symbol tables."

Anonymous   
Printed
Page 321
first line after the header "Architecture":

"shaded rectangles" should be "dark shaded rectangles."

Anonymous   
Printed
Page 322
last paragraph:

"there are other stacks to track temporary...and so on" now reads:

there are other stacks to track temporary variables
generated during computations, values for local variables,
loop iterators, the next opcode to execute on encountering last,
redo or return, and so on.

The words "last", "redo", and "return" are in Courier.

Anonymous    Nov 01, 2000
Printed
Page 324
first para of "Inside Opcodes":

"structure called op" now reads "structure called OP."

Anonymous    Nov 01, 2000
Printed
Page 328
last line before heading "Executor":

"denial of resource" now reads "denial of service."

Anonymous    Nov 01, 2000
Printed
Page 330
Table 20-1:

"SVTYPE" now reads "SvTYPE".

Anonymous    Nov 01, 2000
Printed
Page 330
description for "sv_isa":

"sv_isa" now typeset in Courier.

Anonymous    Nov 01, 2000
Printed
Page 332

line -5 of code: the call to create_envt_vars() now reads:

create_envt_vars(env);

Anonymous    Feb 01, 2000
Printed
Page 338
The entry for hv_iterinit is wrong. It says that hv_iterinit returns the

number of entries, but it only returns xhv_fill.

Anonymous   
Printed
Page 339
Figure 20-5:

xhv_keys should have "5" next to it, not "6".

Anonymous   
Printed
Page 343
table 20-5, Description for perl_get_cv: the second sentence

now reads:
You should always set create to FALSE, because a TRUE value
automatically creates a blank CV if the subroutine is not present,
which is useless to an application writer.

Anonymous    Feb 01, 2000
Printed
Page 343
table 20-5, Description for perl_call_sv

changed
"(Yes, you'll need to cast the CV to an SV.)"
to
"(Yes, you'll need to cast the CV* to an SV*.)"

Anonymous    Feb 01, 2000
Printed
Page 347
sub new() near bottom of page:

not really a bug, but a matter of style (unnecessarily using global variables)

Insert

my ($rs_increment, $rs_abc);

after the line:

my $abc = 10;

Anonymous   
Printed
Page 349
last line: inner set of parens was deleted, to make

MAGIC *m = mg_find(sv,'~');

Anonymous    Feb 01, 2000
Printed
Page 354
description of XSRETURN_NO:

"undef" now typeset in Courier.

Anonymous    Nov 01, 2000
Printed
Page 359
First para after code, line 3

changed
"would not be an issue for ANSI C or C++ compilers"
to
"would not be an issue for C++ compilers"

Anonymous    Feb 01, 2000
Printed
Page 359
Last piece of code,

changed
for (; *ret; ret++, i++) {
XPUSHs (sv_2mortal(newSVpv(*ret, 0)));
}
free (ret);

to
char **p = ret;
for (; *p; p++, i++) {
XPUSHs (sv_2mortal(newSVpv(*p, 0)));
}
free(p)

Anonymous    Feb 01, 2000
Printed
Page 366
last line:

"SWIG" now typeset in default font.

Anonymous    Nov 01, 2000
Printed
Page 371
#4: Deleted the sentence "Works only on Unix".

Anonymous    Feb 01, 2000
Printed
Page 371
final paragraph

The Tolkien poem is missing the second verse:

"The road goes ever on and on
Down from the door where it began
Now far ahead the road has gone[...]"

INDEX:

"variables/Varable suicide" should be "variables/Variable suicide"


"stores procedures" should be "stored procedures."



Anonymous   
Printed
Page 374-375
Button/command, Radiobutton/command, and Checkbutton/command:

"is released over the button" now reads "is clicked over the button" in all
three instances.

Anonymous    Nov 01, 2000
Printed
Page 379
Entry/sel.first:

"Indicates the first and last character of a tag"

NOW READS:
"Indicates the first and last character of the selection range."

Anonymous    Mar 01, 2004
Printed
Page 383
Table A-11 caption: Removed "(in addition to Table 8-1)"

Anonymous    Feb 01, 2000
Printed
Page 386
#2, Array References, line 2

changed
"# reference to anon. scalar"
to
"# reference to anonymous array"

Anonymous    Feb 01, 2000
Printed
Page 389
#17, line 3 of code

changed
create(String n, int age): _name(n), _age ......
to
Employee(String n, int age): _name(n), _age ......

Anonymous    Feb 01, 2000
Printed
Page 390
#18, line 2 of code

"Employee->new" is now "Employee->create"

Anonymous    Feb 01, 2000
Printed
Page 391
last line, comment: "if it supports method "foo"" is now

"if it supports method "bar""

Anonymous    Feb 01, 2000