Dieser Titel ist vergriffen und nicht mehr lieferbar!
Weitere Informationen zu diesem Buch
Errata | Grußwort | Beispielskripten per FTP |
Errata
Hinweis: Die erste Zahl bezeichnet die Seite, die zweite Zahl den Absatz, die dritte Zahl die Zeile.
2. Nachdruck, März 2000
5.2.1 Komma nach "m//" weg 58 erstes Code-Bsp., 9. Zeile: 1 ); am Zeilenende wird ersetzt durch 1 || $w == 0); 85 erstes Code-Bsp., 3. Zeile: ; am Zeilenende wird zu ); 132 zweites Code-Bsp., 2. Zeile: Zeile beginnt auf gleicher Höhe wie Zeile davor 170 erstes Code-Bsp., ersetzt duch: % echo longest | perl -ne 'print "$&\n" if / (long|longer|longest)+/' long 170 zweites Code-Bsp., ersetzt durch: $ echo longest | awk 'match($0, /(long|longer|longest)+/)\ { print substr($0, RSTART, RLENGTH) } ' longest 203.3.-2 zwischen "mit" und "effizient" ein zweites Leerzeichen einfügen 211.3.3 "/" nach "(?=^.*?bell)(?=^.*?lab)" streichen 229. Code in der drittletzten Zeile m/(\w+)\s*=\s*(.*)\s*$/ wird zu m/(\w+)\s*=\s*(.*?)\s*$/ 230 im Code unter "IP-Adresse" in der ersten und der zweiten Zeile: jeweils zweimal pro Zeile ([ ersetzen durch ( \d | [ Code ist jetzt: m{ ^ ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) $ }x 299 im zweiten Code-Bsp., zweite Zeile wird zu: @ARGV = ('/usr/share/games/fortune') unless @ARGV; 312 im ersten Code-Bsp., in der 4. Zeile wird file eingefügt zwischen $0 und adr 321 im ersten Code-Bsp., in der 11. Zeile: usage tee wird zu usage $0 im gleichen Code, in der 20.Zeile wird } um 4 Zeichen nach links verschoben 332. im dritten Code-Bsp., 4. Zeile: move("datafile.new", "datafile.dat") wird zu move("datafile.dat", "datafile.new") 341 im zweiten Code-Bsp. (9-4) wird die 5. Zeile 4 Zeichen nach links verschoben (dann wie 4. Zeile) 388 in Abbildung 11-3 werden die beiden letzten Zeilen zu: print "$$a\n"; 3 412.2.4. Poker::Deck::shuffle(23) wird zu Cards::Poker::shuffle(23) 468.7.3ff der Schluß des Abschnitts ab "und die Objektmethoden, ..." wird ersetzt durch "es ist oft nützlich, Objektmethoden zu verwenden, die selbst neue Objekte zurückliefern, wie Sie in Rezept 13.6 sehen können." 471.7.-3ff der Schluß des Abschnitts ab "auf ein Objekt, (das ..." wird ersetzt durch "auf ein Objekt oder eine Objektmethode (die eine Referenz erwartet) auf eine Klasse anwenden, sollten in dem Fall aber keine vernünftigen Ergebnisse erwarten." 484. im zweiten Code-Bsp. werden geschweifte Klammern eingefügt: struct Card => map { $_ => '$' } qw(name color cost type release text); wird zu: struct Card => { map { $_ => '$' } qw(name color cost type release text) }; 488.1.1 $obj2 wird zu $obj_target 503. im ersten Code-Bsp., in der zweitletzten Zeile O wird ersetzt durch RotSchwarzRotSchwarzRotSchwarz 504. in ersten Code-Bsp., (13-1) in Zeile 16 und 21 werden Klammern eingefügt return StrNum $inverted ? ($s2 . $s1) : ($s1 . $s2); wird zu: return StrNum($inverted ? ($s2 . $s1) : ($s1 . $s2)); und return StrNum $inverted ? ($s2 x $s1) : ($s1 x $s2); wird zu: return StrNum($inverted ? ($s2 x $s1) : ($s1 x $s2)); 520 im zweiten Code-Bsp., in der letzten Zeile: %hash; wird zu %HASH; 522 im zweiten Code-Bsp., in der letzten Zeile: %hash; wird zu %HASH; 545 im zweiten Code-Bsp., in der letzten Zeile: # --output=string wird zu: # --output string 611 im zweiten Code-Bsp., die zweite Zeile print _POSIX_PIPE_BUF wird zu: print PIPE_BUF. 639.-1.1+2 Die ersten eineinhalb Zeilen (bis "... IP-Adresse beschränken,") werden ersetzt durch "Haben Sie mehrere Netzwerkschnittstellen, wird basierend auf dem aktuellen Routing vom Kernel die zu verwendende ausgewählt. Wenn Sie diese Voreinstellung ändern wollen," 689 im zweiten Code-Bsp. werden zwei geschweifte Klammern eingefügt und die ' vor den => gestrichen: $mailer->open( 'From' => 'Nathan Torkington
', 'To' => 'Tom Chritiansen ', 'Subject' => 'The Perl Cookbook' ); wird zu: $mailer->open( { From => 'Nathan Torkington ', To => 'Tom Chritiansen ', Subject => 'The Perl Cookbook' } ); 724. erstes Code-Bsp., das Ende der zweiten Zeile: "|-")); wird zu "-|")); 724. im letzten Code-Bsp., wird die erste Zeile gestrichen und das Ende der dritten Zeile: "|-")); wird zu "-|")); 773.3.2 "index.html" wird ersetzt durch "scooby.html" 1. Nachdruck, Oktober 1999
Impressum in 1. Zeile löschen: "und die CD-ROM" xxxiv.-1.-1 Punkt ergänzen: "herunterladen." 2.3.4 "Die Zahlen 0, 0.00" wird zu "Die Zahlen 0., 0.00" 5.2.1 "zusammen mit den Operatoren s///, m//, oder tr/// verwenden" wird zu "und die Operatoren s///, m// oder tr/// zusammen mit substr verwenden" 10.1.1 "perlop" wird zu "perldata" 18. 1. Code-Bsp.: # Einfaches Quoting wird zu # Wie einfaches Quoting 21.4.1 "Sie können auch verwendet werden" wird zu "Sie können auch ihre funktionalen Formen verwenden" 31. letztes Code-Bsp.: Zeilen -4 bis -7 um 4 Zeichen nach links verschieben 32.4.3 letzter Satz muß lauten: "Wir entfernen führende und anhängende Whitespaces in der getnum-Funktion in Rezept 1.1." (Rest des Satzes streichen) 33.2.3 Code: quoteword wird zu quotewords 35. Tabelle, 3. Zeile: "lorrie" wird zu "lorry" 39. 5. Codezeile: s wird zu % 53.2.1 "das $x..$y" wird zu "das $X .. $Y" 56.-1.1 "perlfunc(1) und in Kapitel" wird zu "perlfunc(1); Kapitel" 67.-1.-2 "Perl; sysopen wird in Rezept 7.1 behandelt." wird zu "Perl." 69. 1. Code-Bsp.: $time == 1 ? "" : "n" ; $time == 1 ? "ist" : "sind" ; ersetzen durch $time == 1 ? "" : "n" , $time == 1 ? "ist" : "sind" ; 71.2.1 "Primzahlen" wird zu "Integerzahlen" 71. letztes Code-Bsp., vorletzt Zeile: my ($n, $root, %factors, $factor); wird zu my($n, %factors, $factor); 72. 1. Code-Bsp., 2. Zeile: "bignum" wird zu "bigfact" 74. Fußnote: URL lautet jetzt: http://sciastro.astronomy.net/sci.astro.3.FAQ 79. in ersten beiden Code-Beispielen jeweils in 2. Zeile ersetzen: $TIME durch $time (insg. 3 x) 81.-1.1 "DMYMHS" ersetzten durch "DMYHMS" 82.-3.2 "gibt den Unterschied in Tagen" wird zu "gibt die Anzahl von Tagen" 82. letztes Code-Bsp., letzte zwei Zeilen: jeweils "Bree" und "Nat" austauschen ("Bree" wird zu "Nat", "Nat" wird zu "Bree") 88. 1. Code-Bsp., letzte Zeile: # Sekunden zwischen $t1 und $t2 repräsentiert wird zu # Sekunden zwischen $t0 und $t1 repräsentiert 88. letztes Code-Bsp., 8. Zeile: syscall(&SYS_gettimeofday, $start, 0)) != -1 wird zu syscall(&SYS_gettimeofday, $start, 0) != -1 90.4.1 "Time::HiRes" wird zu "Das Modul Time::HiRes" 99. letztes Code-Bsp., 3. Zeile: print "Ich habe @array Murmeln\n."; wird zu print "Ich habe @array Murmeln.\n"; 102.-3.1 "Der Eintrag $#ARRAY in" wird zu "Die Besprechung der $#ARRAY-Schreibweise in" 105. 2. Code-Bsp., 5. Zeile: print "@array"; wird zu print @array\n"; 105. 2. Code-Bsp., 9.-12. Zeile: foreach $item (@a, @b) { $item *= 7; print "$item "; } wird zu foreach $item (@a, @b) { $item *= 7; } print "@a @b\n"; 108. letztes Code-Bsp., 2. Zeile: @unique wird zu @uniq 113.-3 Letzter Satz wird geändert zu: "Die Elemente der Ausgabearrays liegen nicht in der gleichen Reihenfolge vor wie die Elemente der Eingabearrays." 120. 1. Code-Bsp.: @MATCHING = (); foreach (@LIST) { push (@MATCHING, $_) if TEST ($_); wird zu @matching = (); foreach (@list) { push (@matching, $_) if TEST ($_); 121. 1. Code-Bsp.: @Sorted = sort { $a <=> $b } Unsorted; wird zu @sorted = sort { $a <=> $b } @unsorted; 121.3.2 "Vergleichsroutine" wird zu "Vergleichs-Subroutine" 126.5 "das temporäre Array" wird zu "die temporären Arrays" 130.-2.2 "die längste vorkommende Zeile" wird ersetzt durch "die Länge der längsten vorkommenden Zeile" 130.-2.3 "den längsten gefundenen Datensatz" wird ersetzt durch "die Länge des längsten gefundenen Datensatzes" 134. Code-Bsp., Zeile -4: "S Objekten" wird zu "$len Objekten" 137.4.2 "Closures im Abschnitt 'Private Variables via my()' von perlsub(1)" wird zu "Closures in perlsub(1)" 152. letztes Code-Bsp.: foreach $food (sort { $food_color{$a} cmp $food_color{$b} } ) keys %food_color) { print "$food is $food_color{$food}.\n"; } wird zu foreach $food (sort { $food_color{$a} cmp $food_color{$b} } keys %food_color) { print "$food ist $food_color{$food}.\n"; } 153.-2-2 "%MERGED" wird zu "%merged" 153. letzte Code-Zeile: "%ingested_colors" ersetzen durch "%ingested_color" 156.2.1 "Die Erläuterung von Hash Slices in perldata(1) und den Abschnitt" ersetzen durch "Den Abschnitt" 156. letztes Code-Bsp., letzte Zeile: "%HASH" ersetzen durch "%hash" 161. 2. Code-Bsp., 8. Zeile: next unless /^\s*#\s+include\s+<([^>]+)>/; wird zu next unless /^\s*#\s*include\s*<([^>]+)>/; 161.4.1 "Hier werden alle Dateien ausgegeben, die keine anderen einbinden:" wird ersetzt durch "Hier werden alle Dateien ohne include-Anweisungen ausgegeben, die nicht in anderen Dateien eingebunden sind:" 161.-1.1 "cookbook" wird ersetzt durch "pcb" 162.-2.-2 "no" wird zu "not" 164.-3.1 folgenden Satzteil löschen: "eine Referenz auf ein anonymes Array mit den Werten" 164.-3.-1 "pcb/rev/no" wird zu "pcb/rev/not" 165. Code-Bsp., Zeile 13: i} wird zu } 238. letztes Code-Bsp., Zeile 3: $sink = IO::File->new("> $filename") wird zu $fh = IO::File->new("> $filename") 238. letztes Code-Bsp., Zeile 7: "Leserechten" wird zu "Schreibrechten" 250.1.-1 "Rezept 16.15" wird zu "Rezept 16.6" 300. Code-Bsp. unten, Zeile 5: @reordered = shuffle(@lines); wird zu fisher_yates_shuffle(\@lines); 302. letztes Code-Bsp., Zeile 3: $tie = tie(@lines, $FILE, O_RDWR, 0666, $DB_RECNO) or die wird zu $tie = tie(@lines, "DB_File", $FILE, O_RDWR, 0666, $DB_RECNO) or die 339. letztes Code-Bsp., Zeile 5: return if defined $age && $age > -M; wird zu return if defined $age && $age > (stat($_))[9]; 340.1.-1 "eher" streichen 359.1.-2 "viele ineinander verschachtelte Subroutinenaufrufe Sie" wird zu "viele Frames (ineinander verschachtelte Subroutinenaufrufe) Sie" 370.4.2 "wurde" ersetzen durch "wird" 391. vorletztes Code-Bsp.: $sliceref = \@{$pie}[3..5]; # FALSCH! wird zu $sliceref = \@{$kuchen}[3..5]; # FALSCH! 393. unter "Siehe auch", Zeile 2: das Beispiel "Erstelle wird zu "Tie-Beispiel: Erstelle 406. zweites Code-Bsp., 3. Zeile: my @felder = { split /^([^:]+):\s*/m }; wird zu my @felder = split /^([^:]+):\s*/m; 406. ebenfalls zweites Code-Bsp., 5. Zeile: push(@Array_von_Records, { @felder }); wird zu push(@Array_von_Records, { map /(.*)/, @fields }); 414. erstes Code-Bsp., Zeile 6: while ($n++ < 20) { einfuegen($wurzel, int(rand(1000)) } wird zu while ($n++ < 20) { einfuegen($wurzel, int(rand(1000))) } 470. zweites Code-Bsp., 2. Und 3. Zeile: 2 x "$object" ersetzen durch "$lector" 486. zweites Code-Bsp., 7. Zeile: if (@ISA && $proto->SUPER::can('new') { wird zu if (@ISA && $proto->SUPER::can('new')) { 504.1.1 sub StrNum($) { wird zu sub StrNum { 511. zweites Code-Bsp., 9. Zeile: push @{$self->{key}}, $value; wird zu push @{$self->{$key}}, $value; 520. in Code-Bsp. (Zeilen 4, 5, 6, 9, und -2, -5, -6, -7) 8 x "KEY" durch "$KEY" ersetzen 525.-3.1 "GDBM" durch "NDBM" ersetzen 524. im Code-Bsp. folgenden Zeile nach Zeile 9 einfügen (auf selber Höhe wie chop-Zeile): next unless defined $href && defined $binary_time; 549. unter "Siehe auch", 2. Zeile: "Kapitel 3" durch "Kapitel 2" ersetzen 589. im Code (Zeile 1 und 6) 2 x jeweils ein Leerzeichen einfügen: programmargumente wird zu programm argumente 590. 2. Code-Bsp., 1. Zeile: gleiche Korrektur wie auf Seite 589 638. letztes Code-Bsp., 3. Zeile: socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp')); wird zu socket(TO_SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp')); 642. letztes Code-Bsp., Zeile 2 und 4: "$SERVER" wird jeweils zu "SERVER" 642.-1.-2 der URL lautet richtig: http://www.ecst.csuchico.edu/~beej/guide/net 665. Code, Zeile 15 und 16: if ($rv == length $outbuffer{$client} || {$! == POSIX::EWOULDBLOCK) { wird zu if ($rv == length $outbuffer{$client} || $! == POSIX::EWOULDBLOCK) { 687. Code, Zeile 2: $mailer = Mail::Mailer->new(); wird zu $mailer = Mail::Mailer->new("sendmail"); 761. Code, Zeile -9: my($anf, $ant); wird zu my($ant);
Zurück zu Perl Kochbuch
