Learning Perl on Win32 Systems by Randal Schwartz, Erik Olson, and Tom Christiansen This errata page lists errors outstanding in the most recent printing. If you have technical questions or error reports, you can send them to booktech@oreilly.com. Please specify the printing date of your copy. This page was last modified on January 9, 2000. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification Confirmed errors: (28) The first footnote starts: "Perl for Win32 programmers will encounter this mail comand issue frequently...." "comand" should be "command." {41} The list of double-quoted string escapes is incomplete. The backslash-dollar sign (\$) sequence prevents substition of variable names by their values. {56} The double-dot expander in all examples should yield integers, not decimals. {236} Chapter 14, Exercise 1 solution: The source code yields a script that doesn't execute properly on my system (WinNT 4.0 SP5). It appears that \ escaping occurs in a scalar enclosed in ``. Here's the an example of me running the script and the output: C:\Learning_PERL\LP-W32>perl 14-1.plx \Learning_PERL\LP-W32\foo \Learning_PERL\LP-W32\bar File not found - Learning_PERLLP-W32foo One solution to this problem is: my ($src, $trg) = @ARGV; die "$src is not a directory" unless -d $src; die "$trg is not a directory" unless -d $trg; $from =~ s/\\/\\\\/g; # <------- Insert these substitution lines $to =~ s/\\/\\\\/g; # <------/ `xcopy /s /e $src $trg`; INDEX: (271) should include "bail", 199 (273) should include "flock", 199 (275) Remove the "local()" entry. (276) Add "my()", 105, 131, 229.