BKLRNPRL.RVW 981024 "Learning Perl", Randal L. Schwartz/Tom Christiansen, 1997, 1-56592-284-0, U$29.95/C$42.95 %A Randal L. Schwartz %A Tom Christiansen %C 103 Morris Street, Suite A, Sebastopol, CA 95472 %D 1997 %G 1-56592-284-0 %I O'Reilly & Associates, Inc. %O U$29.95/C$42.95 800-998-9938 fax: 707-829-0104 nuts@ora.com %P 302 p. %T "Learning Perl, second edition" One of the advantages of the Apple II computer (Yes, son, I *am* old enough to remember that. Now put that lollipop down and listen) was the Applesoft tutorial on the BASIC computer language. With a steady pace, interesting examples, some wit, and a reasonable curriculum, it taught tens, perhaps even hundreds of thousands of people, how to program. It taught them BASIC, of course, which was a fatal flaw, but you can't have everything. The loss of the tutorial book, in the IIg and Mac lines, was a regrettable happening. "Learning Perl" may not take its place entirely, but it comes close. The humour is definitely there, starting even before the book does, in the foreword. Sometimes it is devious and subtle, as in the program which asks for "any last request" ... and then discards the input before informing the hapless user that the request cannot be performed. The pacing is realistic, as are the examples, although perhaps a bit slow to come to something useful, or likely to grab immediate attention. However, this book is not going to make many converts from the non- programming crowd. While chapter one is a very careful, step-by-step, approach to input and output, with some manipulations of text for error checking, chapter two immediately plunges into scalar variable and all operators, while three deals with arrays. Not that the sections are written poorly, by any means, but they would be a tad intimidating for the novice. Other topics covered include control structures, hashes, basic I/O, regular expressions, functions, miscellaneous control structures, filehandles and file tests, formats, directory access, file and directory manipulation, process management, other data transformation, system database access, user database manipulation, converting other languages to Perl, and CGI programming. For those who are truly keen to learn Perl (such as the legions of Webmasters needing to collect and manipulate data from forms) this is a good introduction. There are questions at the end of each chapter, and an appendix with the answers. Appendix B lists libraries and modules, C gives a brief introduction to networking topics in Perl, and D covers other topics. The foreword promotes Perl as a general purpose computer language. If that is so, then it is a very complex tool and one cannot expect much of a tutorial. On the other hand, references to Perl tend to stress its capacity for building "quick and dirty" tools for text manipulation, primarily mail. If this is so, then some simple but real-life examples, such as a rot13 reader or a program to extract articles from electronic digests, would have improved the work. copyright Robert M. Slade, 1993, 1998 BKLRNPRL.RVW 981024