small medium large xlarge

The latest version of the book is P1.0, released over 1 year ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (02-Aug-16)
#80566
Paper page: 9

"My" should not be bolded in: say if /My name is/;
(towards the top of the page)--Wayne Stewart

  • Reported in: P1.0 (02-Aug-16)
#80567
Paper page: 11
("readline" discussion at the top of the page) "What's more readable, glob '*.html' to <*.html>?" should be: "What's more readable, glob '*.html' o...more...
  • Reported in: P1.0 (02-Aug-16)
#80568
Paper page: 16
I believe it is considered bad form to wrap a line such that the continuation begins with a punctuation character. '.' in 3rd paragraph ',' in 5th ...more...
  • Reported in: P1.0 (04-Nov-15)
#79114
PDF page: 19
Text says # with use utf8; enabled package Ingy::d&ouml;::Net; Should say package Ingy::döt::Net; With "ö" being the utf8 character in qu...more...
  • Reported in: P1.0 (03-Aug-16)
#80569
Paper page: 20
The bolding of the variable names "keys", "values", & "array" on pgs. 20, 21, 23, etc. is confusing to the reader. It is not obvious why these appea...more...
  • Reported in: P1.0 (20-Dec-15)
#79380
Paper page: 29
This falls between 'typo' and 'technical error' -- under "Unicode in Your Programs" a pound/yen conversion example is given to show the use of Unicode...more...
  • Reported in: P1.0 (21-Jun-16)
#80452
Paper page: 31
Another two charset encoding errors as per errata #79114 and #79380: "my $hello = "iexclHola, ";" The "iexcl" almost certainly is meant to be a si...more...
  • Reported in: P1.0 (13-Oct-16)
#80807
PDF page: 33
Wait, does 64-bit perl store 32-bit integers? Or is it a typo and that's supposed to be (2**63)-1 instead of (2**31)-1 ? Even better: add sample code ...more...
  • Reported in: P1.0 (21-Oct-15)
#79038
PDF page: 33
The "Numeric Size Limits" note references a 64-bit build, but provides 32-bit limits. It seems to automatically support signed and unsigned 64-bit ...more...
  • Reported in: P1.0 (03-Aug-16)
#80570
Paper page: 38
In the "Ternary Conditional Operator" example, since the point being made is equivalence, it would probably be best to use either the call to the bu...more...
  • Reported in: P1.0 (01-Nov-16)
#80844
Paper page: 53

this:
isnt $i, 'pig' , '$i overwritten with a number';
I suppose is intended to be
#$i is overwritten with a number.

  • Reported in: P1.0 (06-Aug-16)
#80581
Paper page: 55
"Almost no one uses these return values." at the bottom of the page should probably read "Almost on one uses the return values from 'push' and 'unshi...more...
  • Reported in: P1.0 (20-Jul-16)
#80532
PDF page: 63
Second to last paragraph: "In a boolean scalar context, this ratio evaluates to a false value, so remember that instead of the ratio details." T...more...
  • Reported in: P1.0 (24-May-16)
#80358
Paper page: 73
At the bottom of the page, where there's my @cards = qw( K Q J 10 9 8 7 6 5 4 3 2 A ); The "Q" in that line of code is bold as if it's the q...more...
  • Reported in: P1.0 (24-May-16)
#80359
Paper page: 75
In discussion of hash references, it states "assigning an anonymous hash to a standard hash produces a warning about an odd number of elements in the ...more...
  • Reported in: P1.0 (20-Jul-16)
#80533
PDF page: 80
The associated excerpt: You can also use for’s implicit aliasing to avoid the use of an intermediate reference (though note the lack of my): ($...more...
  • Reported in: P1.0 (24-Dec-15)
#79421
Paper page: 81

The output of Dumper shows:

'meals' => {

It should show:

'objects' => {

--Yuni Kim

  • Reported in: P1.0 (29-Mar-17)
#81310
PDF page: 88
This is in the paragraph talking about numeric operators that impose numeric context on their operands. The last paragraph here names the operators in...more...
  • Reported in: P1.0 (14-Dec-15)
#79336
PDF page: 88
The discussion of numeric operators seems to have replaced literal '<' and '>' characters with 'lt' and 'gt' characters. For example, the spaceship op...more...
  • Reported in: P1.0 (17-Dec-15)
#79344
PDF page: 88
In the section starting "Several comparison operators impose numeric contexts upon their operands. These are numeric equality (==), numeric inequality...more...
  • Reported in: P1.0 (23-Dec-15)
#79408
PDF page: 94
In the equivalent version of greet_one the conditions on the two die statements are backwards. @_ < 1 should go with "too few arguments" and @_ > 1 sh...more...
  • Reported in: P1.0 (21-Jun-16)
#80453
Paper page: 100

"a new call frame, an data structure"
should be "a data structure"
--tcordes

  • Reported in: P1.0 (21-Jun-16)
#80461
Paper page: 110
There are copious boldface formatting flaws throughout the book where letters and words that denote perl builtin functions and operators are being use...more...
  • Reported in: P1.0 (21-Jun-16)
#80454
Paper page: 123

$AUTOLOAD =~ /::(\w+)$/;>

The > at the end is spurious and erroneous.
--tcordes

  • Reported in: P1.0 (21-Jun-16)
#80455
Paper page: 127
"'caat' matches/" Spurious /. Perhaps meant to specify the whole regex as per line above it. Alternatively, all 4 lines of the example here could...more...
  • Reported in: P1.0 (21-Jun-16)
#80456
Paper page: 134
"alternations always include the entire fragment to the nearest regex delimiter, whether the start or end of the pattern, an enclosing parenthesis, an...more...
  • Reported in: P1.0 (21-Jun-16)
#80457
Paper page: 136
$safe_feline and the second $disastrous_feline have the same definition. Almost certainly, the second $disastrous_feline should instead match the fir...more...
  • Reported in: P1.0 (21-Jun-16)
#80458
Paper page: 137

"The multiline operator, /m"
Technically in perl jargon, as per perlre, /m is a modifier, not an operator.--tcordes

  • Reported in: P1.0 (11-Aug-16)
#80608
Paper page: 180
(top of page) "The feature is working to your satisfaction, run the entire test suite ..." should read: "When the feature is working to your satisf...more...
  • Reported in: P1.0 (11-Aug-16)
#80609
Paper page: 183
(middle of page) "... any custom warnings you or the libraries you use will also be fatal ..." should read: "... any custom warnings emitted by you...more...
  • Reported in: P1.0 (21-Jun-16)
#80459
Paper page: 192
"You've seen functions, classes, and data structure used to..." Perhaps change to "data structures". Even if you assume data is plural here, it makes...more...
  • Reported in: P1.0 (21-Jun-16)
#80460
Paper page: 232
say 'They're equal, whatever that means!' if numeric_equality @nums, 10; That single quote in the string needs to be escaped somehow. Also, after ...more...