[LWN Logo]

Subject: REVIEW: "Learning Perl", Randal L. Schwartz/Tom Christiansen
From: rslade@sprint.ca (Rob Slade, doting grandpa of Ryan and Trevor)
Date: Tue, 05 Jan 1999 18:07:15 GMT

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

-- 
======================
rslade@vcn.bc.ca  rslade@sprint.ca  robertslade@usa.net  p1@canada.com
Subscribe to techbooks mailing list at techbooks-subscribe@egroups.com
       or via the Web at http://www.eGroups.com/list/techbooks/
Robert Slade's Guide to Computer Viruses, 0-387-94663-2 (800-SPRINGER)