Learning Perl on Win32 Systems by Randal L. Schwartz, Erik Olson, and Tom Christiansen Here are the changes from the 4/98 reprint: {24} In the code for sub init_words, line 3 changed to: while (defined ($name = )) { (missing close paren) {29} The init_words() definition: line 6: same change as on p. 24 {35} 3rd line from bottom: same change again {42} Line 2 of last code block: changed "5.1 - 2." to "5.1 - 2.4" {77} next-to-last code line under "Hash Slices": %league{keys %score} = values %score; changed to: @league{keys %score} = values %score; {93} In line 3 of the first code example, changed the 1 (one) to an l (el) **This change was made in the 4/98 reprint; however, it is incorrect. The code should read 1 (one), not l (el). So here's how it should read (letter L capitalized only to emphasize it): $a =~ /(.)\1/; # also true (matches the double L) (95) para. before "Special Read-Only Variables": changed "contstruct" to "construct" (98) line 2 of 2nd code: changed "$fouth" to "$fourth" (98) 3rd block of text: changed "would simply gives" to "would simply give" {121} The last three lines of the second code example used to read: close(IN); || die "can't close $a:$!" close(OUT); || die "can't close $b:$!" } They now read: } close(IN) || die "can't close $a: $!"; close(OUT) || die "can't close $b: $!"; {146} The second line of code changed to: rmdir("gravelpit") || die "cannot rmdir gravelpit: $!"; (229) line -2: added close paren after "-4" (270) left column: changed "AddConnectio" to "AddConnection"