Programming Perl

Errata for Programming Perl

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.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date Submitted
PDF Page v-xiv, 1009-1070
Entire index and TOC

Hi There is no "linking" in this book. You can't click an entry in the TOC or the index to jump to a particular page. This is such a pity. The index is absolutely brilliant, but is unusable without the linking. This is a feature that is pretty standard in PDF books. If this can't be corrected, then it should be highlighted before people buy the book. What about including some indicator to show the level of linking that has been included e.g. 0 for none, 1 for TOC, 2 for TOC and Index, 3 for everywhere possible. Cheers Mark

Mark Berger  Aug 25, 2010 
Printed Page 1

The errata pages for this product have suddenly been reset so they say there are no errata. That is simply not true. There is no new printing listed that would have justified this change. I tried to submit something using the short form on the book page, but it caused my firefox 3 browser to display html source instead, so that component of your web pages is broken as well

Karl Williamson  Sep 19, 2009 
Printed Page 88
2nd paragraph

The text refers to "our finger example above" but there is no finger example thus far nor for the remainder of the chapter.

John  Aug 07, 2013 
Printed Page 117

On page 117, there is code that looks like this: for ($i = 0, $bit = 0; $i < 32; $i++, $bit <<= 1) { print "Bit $i is set\n" if $mask & $bit; } #the values in $i and $bit persist past the loop This was an excellent example of how global declarations work, as it was intended. The only problem is that $bit is initialized to 0, so the loop will never produce any output because $mask & $bit will always evaluate to 0.

Anonymous  Dec 21, 2011 
Printed Page 226

You have the following entry in the table: declared as: sub mysplice (\@$$@) called as: mysplice @array, @array, 0, @pushme But actually I think it should be: declared as: sub mysplice (\@$$@) called as: mysplice @array, $offset, $length, @pushme or something like that. I'm not sure about this, but I think that would help it align with the splice function better. More importantly, the 2nd item right now correlates @array with $, which seems to be wrong.

Stephen Dewey  Aug 17, 2010 
Printed Page 257
2nd @reflist statement in the middle of page

A comma is missing (a space printed instead) after @a in the line @reflist = \($s, @a %h, &f); # Same thing

Bernhard Bodenstorfer  Feb 12, 2010 
Printed Page 314
5th line from bottom

"be be equivalent", is like "=="? :-)

Anonymous  Jul 26, 2009 
Safari Books Online 432
Example code

Provided code example doesn't compile. The following select((select(TO_CHILD), $| = 1))[0]); #autoflush select((select(TO_PARENT), $| = 1))[0]); #autoflush should be select((select(TO_CHILD), ($| = 1))[0]); #autoflush select((select(TO_PARENT), ($| = 1))[0]); #autoflush

Leonardo Herrera  Sep 19, 2011 
PDF Page 432
1st and 2nd paragraph

in "Alternate Method Searching": You said that perl search for methods by browsing the @INC array. I think you meant the @ISA array, not @INC. Thanks for the book, because I never understood OOP like I did now.

Anonymous  Oct 31, 2012 
Printed Page 508
4th Paragraph, starting "To look at a windown of source code..."

It is stated that the w command will list a "window of code" around the current breakpoint. This is incorrect. The w command sets watches on variables. It maybe that the author is trying to show is the use of the l command. The example code following also shows the wrong command being used.

Anonymous  Oct 28, 2008 
Printed Page 512
Section on Tracing, explanation of W

The description of the W command says that this sets or deletes watches. This is an error. Lowercase w sets watches while uppercase W deletes them.

Anonymous  Oct 28, 2008 
Printed Page 805
substr entry

For your Larry and Moe examples, you say: "To prepend ... to the current value of $_ ..." and "To instead replace the first character of $_ with ..." but $_ should be replaced with $var in those statements.

Stephen Dewey  Sep 23, 2010 
Printed Page 805
substr, 3rd paragraph

The text above the first code example of using substr as a lvalue mentions prepending "Larry" to the current value of $_. In fact, the prepending is done to $var. The next example features the same error, whereas the third and final one is correct.

Marin Rukavina  May 12, 2015 
Printed Page 1048
left column

__PACKAGE__ does not appear in the index. Other "double-underscore" keywords do appear (e.g. __DATA__, __FILE__, etc).

Anonymous  Mar 24, 2009 
Printed Page 1052
5th line

This is the index entry entitled recursion of subroutines and there is no page number given.

Anonymous  Mar 27, 2010