Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


Softpanorama Bookshelf: Perl Books

(A slightly skeptical alternative to Camel Critiques)

News

Reviews

See also

Open

Top Books

Introductory

Advanced

Reference

Algorithms
and Data Structures

Web/CGI

Win32

Perl/Tk

Windows
administration

Unix Administration

Humor Etc

Contrary to the popular opinion, the introductory O'Reilly books on Perl are no longer the best. I really do no not recommend buying Learning Perl or Programming Perl as your first books.

At the same time Learning Perl on Win32 is simply junk "make money fast" book, not a good book as Camel Critique suggested. Beware all second editions of Perl books from O'Reilly ;-). Paradoxically most of them are disappointing (BTW Learning Perl is more than disappointing -- it's simply weak and only the first edition has, mostly historical now, value). A reader can  save money by getting other better books instead.

There is an excellent open book Beginning Perl (for those who already know at least one programmer language). And it is not from O'Reilly.  Similarly Perl Developer's Guide (more basic intro book),  Perl 5 Interactive Course : Certified Edition (the main problem with it is that it overstresses regular expression, at least more than I like in the beginner-oriented book)) and Perl Black Book are not from O'Reilly and any of them is probably a better choice for majority of people as an introductory books. See more information below.

If you know some HTML and want to learn Perl then you probably will be better off with a CGI book like CGI Programming 101 (see also  cgi101.com ; the first six chapters of CGI Programming 101 are available free on this site) or for those who like illustrated books Perl and CGI for the World Wide Web Visual QuickStart Guide, Second Edition

Although the core of the language is very stable, Perl 5 is still a moving target and for non-introductory books the age of the book still matter. The current version is 5.8 and the book should cover it as it is better then previous versions (5.6 and 5.0). There soon will be 5.10 version that among other things introduces switch statement into the language.

Also a major revision of the language (version 6.0) is in works, but due to overcomplexity and errors in language design chances of  displacing of version 5 are pretty slim. I think that  version 6 is at least two years away from implementation; that means that buying a 5.6-5.8 oriented book is a pretty safe bet. In general, I recommend the books that are less than five years old. Please note that CGI-related books not included in this section. They are covered elsewhere.

The books that have e-text freely available or at least have it on accompanying CD have a better value and you can put with some minor shortcomings due to the advantages of having full e-text (for example that value of index is less  important -- one can search e-text instead). Old David Till's book (see below  open books ) was a good introductory book that was freely available from the http://www.informit.com/ -- Macmillan online library and might still be found somewhere on the Internet...

Although the quality is very uneven and the CD lucks any good intro book, older, cheaper versions of Perl CD Bookshelf from O'Reilly might be an interesting alternative to buying printed version of Cookbook from O'Reilly as it is a reference. It's more convenient to have it in HTML than in a printed edition...

There are also some underestimated books on Perl. Personally I like Perl Programming Companion by Nigel Chapman. This is not very popular book among Amazon.com readers, but I think that here (like in some other cases) they are wrong ;-).  "Lemming effect" quite pronounced in reviews of Learning Perl on Win32   and several other horrible but highly praised by conformists O'Reilly books probably is present here but with a negative sign. Programmers with experience in any other language can definitely benefit from this nice book.

Please note that Camel Critiques --  Tom Christiansen's reviews of Perl book are biased and from my point of view reviews are unfair to non-O'Reilly authors. Please take them with a grain of salt -- even with disclaimer that he has a vested interest in promoting O'Reilly books. Here is my (slightly skeptical ;-) opinion about on one of  books that was highly praised  by Tom Christiansen in Camel Critiques -- Learning Perl on Win32.

Amazon.com readers reviews can provide you with a balanced opinion if you can understand that extremes meet and some people trash books just to prove themselves -- for the same reason as other people overevaluate books for religious or loyalty reasons like happened with Learning Perl, Programming Perl, etc. I recommend discarding too positive and too negative opinions unless a reviewer provides facts that substantiate his/her point of view.

And last but not least -- please question my own reviews too. My background and priorities can be different from yours and I learned Perl after several other languages. That means that books that are optimal for me can be sub-optimal for you. Moreover I can confess that my opinion about books are changing as I use them in teaching Perl courses, sometimes substantially.

Dr. Nikolai Bezroukov


Search Amazon by keywords:

 You can use Honor System to make a contribution, supporting this site

P.S. Here I would like to reproduce One Minute Perl Book Reviews -- pretty entertaining and educating test for Perl Books ;-). If a large number of elements in array test fail that the book is really highly suspect. I am not sure about the value of positive results (actually most of elements discussed in the test are probably absent in any introductory book). For the actual marks of a number of book including Medinets' book  see the paper.

"Its not about the acid in the paper, its about the Crack in the author."

Seems like everyone is writing a Perl book. The most disturbing part is that they're being written by people who have nothing to do with Perl. How to decide what's crap and what's not?

Worry no more! After many mirth-filled hours of flipping through many an awful Perl book, I have come up with a simple one-minute litmus test to determine if the book you're holding is worth the tree its printed on.

Historical Note This page was written back in 1999 when the flood of Perl books hit the market.

The Perl Book Litmus Test

Remember, the point of this test is to find bad books and there can only be negative results with this test. A book which passes all the tests put forth here CAN STILL SUCK.

The following tests check the five things books and beginning Perl programmers most commonly screw up. Its by no means intended to be cannonical, just a quick way to look for read flags. So flip to the index. Look up the following tidbits and answer the questions.  

localtime
Due to localtime's ahem "vintage" interface, date generation is usually botched in Perl. Its important that a book has a good discussion of localtime and its caveats. Does it state that it returns the number of years since 1900? Does it mention that when used in scalar context it returns a nicely formated date? Does it avoid things like `date`?
open || die $!
"Why doesn't $line = <FILE> work?" is one of the most common newbie questions. Its extremely important that a book drills it into the reader's head that all system calls should be checked and proper error messages returned. This means putting some sort of error checking on all system calls (not just open()), using and discussing $! and other good error messages.
srand
Not a common problem, but something often gotten wrong. If a book does drag out srand(), it often fails to point out that it should be called only once. (If srand is never mentioned, that's okay.)
array size
Does it clearly say that an array will return its number of elements in scalar context, or does it use/imply $num = $#array + 1;
flock
Any CGI program writing to a file is going to run into file corruption issues pretty fast. If the book covers topics which will lead to concurrent file acces, it should talk about flock(). Does it discuss and use flock instead of lockfiles? (ie. setting some .lock file instead of using flock()).
Portable Constants
When performing flocking, socket operations or sysopens does it use the constants defined by Perl (LOCK_SH and friends), or do they define their own unportable constants? If the subject never comes up that's ok.


Search Amazon by keywords:

 You can use Honor System to make a contribution, supporting this site

Softpanorama Reviews


Old News ;-)

Amazon.com Intermediate Perl Randal L. Schwartz,Tom Phoenix,brian d foy Books

  • Paperback: 278 pages
  • Publisher: O'Reilly Media, Inc.; 2nd ed. edition (March 8, 2006)
  • Language: English
  • ISBN-10: 0596102062
  • ISBN-13: 978-0596102067

 

Amazon.com Learning Perl Objects, References, and Modules Randal L. Schwartz,Tom Phoenix Books

  • Paperback: 224 pages
  • Publisher: O'Reilly Media, Inc. (June 9, 2003)
  • Language: English
  • ISBN-10: 0596004788
  • ISBN-13: 978-0596004781
5.0 out of 5 stars Important Note - Discontinued, May 4, 2006
New editions of this book are no longer in the works, as this title is being discontinued. O'Reilly's "Intermediate Perl" by the same authors (Randal L. Schwartz, brian d foy, and Tom Phoenix) is the new edition of this book. The first edition of "Intermediate Perl" was released March 2006. So if you're thinking about purchasing this book, purchase "Intermediate Perl" instead. It includes the same material (albeit updated) by the same authors. Once again, this title has been discontinued.

 

Perl Medic Transforming Legacy Code

by Peter J. Scott

One of the best Perl books out there, June 24, 2004
 
Reviewer: David Cross "davorg" (London, UK) - See all my reviews
 
A quote on the front cover of this book says "if you code in Perl then you need to read this book". That's a pretty bold claim to make. It made me think of the hyperbole on covers of books that claim to teach you to program in Perl in just a few days. But this book is published by Addison Wesley, who are a well respected technical publisher of technical books and the quote is from Adam Turoff who certainly knows what he's talking about when it comes to Perl programming. So in this case the claim isn't hyperbole. The book really is one that I want every Perl programmer to read.

Perl gets a lot of bad press from people who claim that it encourages people to write unreadable code. Whilst there's certainly a lot of very bad Perl code out there I think that's more a sign that it's used by a lot of people who don't know how to program than a reflection on the language itself. And that's where this book comes in. It assumes that you are familiar with the syntax of Perl but that you've never really been shown how to use it effectively. Which is a situation that many Perl programmers find themselves in.

Perl Medic is actually targetted at people who have to maintain older Perl code written by someone else, but I think that the information it contains is just as useful to anyone coding in Perl. Peter Scott has a lot of experience in writing Perl and in training other people to write Perl and the distillation of that experience and knowledge into these 300-odd pages mean that there are few Perl programmers who won't pick up something useful from this book.

The main emphasis in the book is on increasing the maintainability of code. The techniques are wide-ranging. I particularly enjoyed the examples of refactoring programs and the coverage of using modules from CPAN. Two other very good sections are the one on antipatterns in chapter 4 and the one on cargo cult programming in chapter 6. Together these sections give a programmer a number of easy to recognise quick wins when improving existing code and a checklist of things not to do when writing new code.

There are a couple of niggles. I've already mentioned that I think the book has been slightly mis-targetted and that it should have been aimed at anyone writing Perl code. The other problem that I had was that the medic analogy that runs through the book gets a bit strained at times. But these are only minor and they shouldn't prevent you from adding this book to your library.

In fact, all in all, the quote on the front cover is pretty accurate.

A good book with a misleading title, May 18, 2004
Reviewer: A reader
While the "medic" metaphor recurs throughout the book, most of the material isn't directly related to repairing old code. Instead, this is a collection of best practices for new code. (The author recommends rewriting existing code if at all possible.) It ends up resembling another excellent Perl title, Joseph Hall's Effective Perl Programming. Good company to keep. Perl Medic has the advantage of being newer, and of covering a bit more material. The writing style is very easy to read, and the order of presentation works well. An excellent title for any intermediate-level Perl programmer.

One of the best Perl Books out there, April 24, 2004
 

Reviewer: David Cross "davorg" (London, UK) - See all my reviews
(REAL NAME)  
A quote on the front cover of this book says "if you code in Perl then you need to read this book". That's a pretty bold claim to make. It made me think of the hyperbole on covers of books that claim to teach you to program in Perl in just a few days. But this book is published by Addison Wesley, who are a well respected technical publisher of technical books and the quote is from Adam Turoff who certainly knows what he's talking about when it comes to Perl programming. So in this case the claim isn't hyperbole. The book really is one that I want every Perl programmer to read.

Perl gets a lot of bad press from people who claim that it encourages people to write unreadable code. Whilst there's certainly a lot of very bad Perl code out there I think that's more a sign that it's used by a lot of people who don't know how to program than a reflection on the language itself. And that's where this book comes in. It assumes that you are familiar with the syntax of Perl but that you've never really been shown how to use it effectively. Which is a situation that many Perl programmers find themselves in.

Perl Medic is actually targetted at people who have to maintain older Perl code written by someone else, but I think that the information it contains is just as useful to anyone coding in Perl. Peter Scott has a lot of experience in writing Perl and in training other people to write Perl and the distillation of that experience and knowledge into these 300-odd pages mean that there are few Perl programmers who won't pick up something useful from this book.

The main emphasis in the book is on increasing the maintainability of code. The techniques are wide-ranging. I particularly enjoyed the examples of refactoring programs and the coverage of using modules from CPAN. Two other very good sections are the one on antipatterns in chapter 4 and the one on cargo cult programming in chapter 6. Together these sections give a programmer a number of easy to recognise quick wins when improving existing code and a checklist of things not to do when writing new code.

There are a couple of niggles. I've already mentioned that I think the book has been slightly mis-targetted and that it should have been aimed at anyone writing Perl code. The other problem that I had was that the medic analogy that runs through the book gets a bit strained at times. But these are only minor and they shouldn't prevent you from adding this book to your library.

In fact, all in all, the quote on the front cover is pretty accurate.

Writing CGI Applications with Perl

????? Perl Core Language Little Black Book The Essentials of the Perl Language

by Steven Holzner

It's very rare for a book to have 17 five-star reviews. Might really be good book.

5 out of 5 stars PERL for programmers only, February 1, 2001
 
  Reviewer: Paul Cotter (see more about me) from Miami, Fl United States
This is a combination of reference and learning. I would not advise this for a person trying to learn PERL as their first language, but if you already have a grasp of C++, Java, VB, Python or some other complex scripting language then this is ideal. So we do not have the first three chapters explaining what a program is. There is a useful rip-out card with most of the syntax. PERL is full of obscure symbols and patterns such as $_[0] or $] or even /^((\((\d{3}\))? ?\d{3}-\d{4},? *)+$/ (which locates a telephone number). The book explains them concisely and provides reference tables which are useful after you have mastered the fundamentals. If you want a more gentle entry then something like "PERL and CGI for the World Wide Web" by Castro will lead you in a more 'human' way. It's excellent, but after you have been through it it will be placed on the shelf - it's not a reference document. If you want lots of complex examples so you can play round with pre-existing code then look at "Mastering PERL 5".

PCLLBB (plus the rip-out card) is the book I keep within arm's length. The blank pages at the back I have written in as a secondary index to the tables. Incidentally the index is good. The only problem (as with all indexes) is if you do not know what you are looking for. For example, to remove a line feed you use chomp() and you can look up truncate, line feed, substring etc and not find it. This is where you need your own index!

5 out of 5 stars The best way of learning Perls..., February 21, 2002
 
  Reviewer: rarmente from West New York, NJ - United States
In a line, buy this book if you want to start programming in perl

I started reading this book 5 days ago, and I already consider myself a perl programmer. I am a computer engineering student at Stevens Institute of Tech and my main focus of study is network security from a programmer standpoint. After a couple of days reading this book, I could already create simple client/server applications. In addition, I learned how to handle files in numerous ways, and how to work with their content "you will be amazed how easy this is done in Perl" and even formating text, creating DBM Database files etc. Object oriented programming is very well explained and finally CGI scrips are also very well presented "with lots of security warnings." I would give this book six stars if I could since it does its job VERY well! My extensive programming experienced really helped me in the reading process, but the language and examples are so clear that even newbies in programming could assimilate the content easily!!! You can contact me at rarmente@stevens-tech.edu if you have further questions.

Perl for C Programmers

Steve Oualline
5 out of 5 stars Speak Perl with a C Accent, April 30, 2003
 
  Reviewer: Noah Green (see more about me) from New York, NY USA
After years of trying, I've finally learned Perl. And it's all thanks to this book.

My biggest obstacles to learning Perl have always been: the language's twisted, almost willfully obscure syntax, and the chattiness, annoying humor, and equally obscure tone of the language's leading book for beginners, which I will leave nameless (hint: there's an animal on the cover.) It often seems as if both the book and the language take a perverse pride in being so arbitrary, riddled with exceptions and special cases, and overly complex. I'm sure most Perl people will disagree with me, but most Java and C/C++ folks I know would not. We are really past the point in history where it's funny or cute for a language to be so difficult and obscure. More than ever, time is money, the latter of which is in far shorter supply since the dot-com crash. We (and our bosses) just want to get things done. Not everyone wants to be a funny hacker with a funny t-shirt who thinks it's funny when no one else can understand their code. Unfortunately, while Perl is the champion of the heavy-lifting in text processing, its extremely flexible and often counter-intuitive syntax can make these benefits inaccessible to many programmers. Furthermore, the unnamed introductory book has a chatty folksy, verbose tone that seems to deepen and celebrate these faults.

Oualline's book turns out to be the antidote. Using a brief, business-like tone, the author brings the logic and organization of the C language to bear in his approach to teaching and using Perl. Here's a quote from the book that sums up Oualline's mindset: "Perl's designers have stated that their philosophy in designing Perl is 'There's more than one way to do it.' My philosophy is a little different: 'There is only one clearest way to do it.'" Basically, by taking a single, C-flavored route through Perl's syntax, shunning its more confusing and counter-intuitive elements, Oualline provides you with an empowering, working knowledge of the language. Once he gets you there, you finally see just how awesome a language Perl can be, particularly for reporting and system administration.

In short, Oualline teaches you to speak Perl with a C accent.

One example of this is the way he recommends that you write Perl subroutines. Contrary to nearly every published piece of Perl documentation, he tells you to declare all of them with parameter specifications. That is, if you are writing a subroutine called "do_it" that will always accept two scalar parameters, write: 

"sub do_it ($$) { . . . }" instead of "sub_doit { . . . }".

Sure, this is less fun and less flexible than not specifying parameters, which Perl will allow you to do. But in Oualline's opinion, "[that] form of parameter passing should be avoided. By using a parameter specification, you give Perl the capability to do valuable parameter checking. Leave out the parameter specification, and you invite chaos." Like I said, this goes against all conventional Perl wisdom, but for people who are used to mainstream, highly-structured, strongly-typed languages, it definitely makes thinking about Perl much easier.

The book has a few flaws and omissions. For example, while stressing that we should specify parameters, Oualline forgets to mention that this means we must either put subroutine declarations at the beginning of a progam, or use forward references. Given his emphasis on parameter specification, he should have mentioned this. Also, his discussion of parameter passing is incomplete - he does not explain how directly accessing the @_ array in a subroutine will alter the caller's copy of the parameters. Then again, the other introductory book I mentioned doesn't cover these facts, either. I had to dig through perldoc to figure all this stuff out. Finally, a chapter on accessing databases from Perl would have been nice.

This book is not for everyone. If you want to learn Perl in all its gory details, and, more importantly, if you want to adopt the style and mindset of the Perl programmer, then you probably will want to look to another beginner book. Ditto if you're the kind of programmer who's more interested in playing syntactical games than in designing an effective architecture. However, if you are a programmer of C/C++, Java, or a similar language, who just wants to get things done effectively, clearly, and quickly, then this is the best route to go down.

Win32 Perl Scripting The Administrator's Handbook

5 out of 5 stars Well written, concise, pragmatic, and lots of exemplary code, December 14, 2000

Reviewer: C. Garrett Goebel (see more about me) from Mission, KS USA

If you need to automate administrative tasks, ignore the O'Reilly Perl-Admin books, this one has a lot more substance and a very little fluff.

Dave Roth is a prolific author of many very popular Perl modules for 32 bit Windows operating systems: Win32::Daemon, Win32::Perms, Win32::ODBC, Win32::AdminMisc, and many others. He is also an active participant in the Perl WinNT Admin mailing list

This guy has a lot of real world experience with Perl and Win32. He's solved a lot of difficult problems. More than that, he does a great job of regularly taking the time to document and convey that knowledge on to others. The book is a great distillation of that knowledge.

5 out of 5 stars A must have, November 25, 2000

Reviewer: Witold Batorowicz (see more about me) from London, Ontario Canada

Majority of Perl books deals with UNIX. However in a real world, whether you like it or not, most IS departments have to deal with Windows NT/2000 servers. These departments also require knowledgeable administrators to take care of this environment. Here is where this book comes in handy. The author, also known from his previous book (WIN32 PERL Programming. The standard extensions) shows us how we can use Perl to do day to day tasks on Windows Servers. The book offers many ready to use scripts and also explains the rationale for using techniques, the way it was used in this book. I rated this book 5 stars because not only it enriched my knowledge but also it saved me many hours of trying to write similar scripts on my own. In essence: A must have!

4 out of 5 stars Hope for Perl UNIX Programmers on Windows, October 24, 2003

Reviewer: rdwaters (see more about me) from Twin Lakes, WI United States

Recently I was given the task of writing some Perl scripts to manipulate processes on a Windows server. I've been writing Perl scripts on Solaris and Linux for some time, but had no idea where to start on Windows.

One of the scripts needed to find a process by name. If the process wasn't running the script needed to start a new instance and send out an e-mail to notify the support team. Using Roth's book I was up and running in a matter of hours. Prior to that I had spent days combing the Internet looking for tips on digging into the bowels of Windows (not a pleasant image) with Perl.

Roth gives you multiple ways to tackle a problem, but voices his opinion on why you might want to choose one method over another. However, at times he makes assumptions about your knowledge of Windows which can lead to frustration. His section on WMI (Windows Management Instrumentation) is very brief for such a complex subject for example.

I wouldn't recommend this book for someone new to Perl, but if you are familiar with Perl and need to write scripts for Windows you will find Roth's book useful indeed.

oreilly.com -- Online Catalog Learning Perl Objects, References & Modules

Sample Chapter

Best of The Perl Journal 

Edited by Jon Orwant 
0-596-00310-2,
600 pages,
$39.95 US (est.)

The first of three volumes from the archives of The Perl Journal that O'Reilly has exclusive rights to distribute, this book is a compilation of the best from TPJ: 71 articles providing a comprehensive tour of how experts implement computer science concepts in the real world, with code walkthroughs, case studies, and explanations of difficult techniques that can't be found in any other book. [Full Description]

Perl & XML is aimed at Perl programmers who need to work with XML documents and data. This book gives a complete, comprehensive tour of the landscape of Perl and XML, making sense of the myriad of modules, terminology, and techniques. The last two chapters of Perl and XML give complete examples of XML applications, pulling together all the tools at your disposal.

Mysql and Perl for the Web

by Paul DuBois
List Price: $44.99
Paperback - 552 pages 1 Ed edition (August 3, 2001)
New Riders Publishing; ISBN: 0735710546 ; Dimensions (in inches): 1.15 x 9.03 x 7.03

Amazon.com Sales Rank: 14,492
Average Customer Review: 4.0 out of 5 stars Based on 13 reviews.

???? Professional Perl Programming

Peter Wainwright, Aldo Calpini, Arthur Corliss, Simon Cozens, JJ Merelo-Guervos, Aalhad Saraf, Chris Nandor
Our Price: $47.99

Mass Market Paperback - 1214 pages 1st edition (February 2001)
Wrox Press Inc; ISBN: 1861004494 ; Dimensions (in inches): 1.68 x 9.09 x 7.22

Amazon.com Sales Rank: 40,991
Avg. Customer Rating: 4.0 out of 5 stars
Number of Reviews: 1

???? Network Programming with Perl

Lincoln D. Stein
Our Price: $44.95
Paperback - 576 pages 1st edition (December 29, 2000)
Addison-Wesley Pub Co; ISBN: 0201615711 ; Dimensions (in inches): 1.42 x 9.23 x 7.37
Amazon.com Sales Rank: 3,132
Avg. Customer Rating: 5.0 out of 5 stars
Number of Reviews: 5

*** Data Munging with Perl

by David Cross
Amazon Price: $29.56
Paperback - 300 pages 1st edition (January 15, 2001)
Manning Publications Company; ISBN: 1930110006 ; Dimensions (in inches): 0.65 x 9.23 x 7.36
Amazon.com Sales Rank: 3,530
Avg. Customer Rating: 4.7 out of 5 stars
Number of Reviews: 3

This is a pretty weak introductory book, not a professional one. I found nothing special in it and the presentation is rather boring and superficial. Even those topics that are (generally) well studied like processing formatted data (each book on Perl has a chapter on this topic) are not covered in depth and lack refinement.  I would recommend Perl for System Administration  instead.
 

4 of 5 stars Good for data-processing *beginners*, July 6, 2001
Reviewer: Goldin Evgeny (see more about me) from Israel

It's a guide. David takes you through the different "data munging" tasks ( record oriented data ? binary data ? fixed-width data ? XML ? ) and shows you his proper ways of dealing with them ( or, at least, thinking about them ). It's not an encyclopedia of "data munging", the book is 300 pages and many of them ( too many, may be ) are detailed descriptions of useful CPAN modules ( which I wasn't reading as careful as the rest of the book, since POD was always enough ), so it covers only a usual data processing tasks letting you to go deeper by yourself for more advanced topics. After you'll finish it much less "data sources" will scare you - the solutions and references are inside.

As I said, it may be good for data-processing beginners, but Perl experts will hardly find lot's of new information in it.

P.S. I trust him and therefore follow his advices in every script I start to think of ( especially the one about "UNIX filter model" ).

***+ Perl for System Administration

          By David N. Blank-Edelman

1st Edition July 2000,
ISBN 1-56592-609-9, 400 pages, $34.95
 
Some good ideas and good examples of parsing system files in Unix. The author tries to cover both Unix and NT and this make readers who are mostly interested in one OS disappointed ;-). Unix is covered very superficially. But generally this is good book, better than Data Mangling with Perl.
???? Debugging Perl Troubleshooting for Programmers

Martin Brown
Paperback - 425 pages 1st edition (January 15, 2000)
Computing McGraw-Hill; ISBN: 0072126760 ; Dimensions (in inches): 1.11 x 9.16 x 7.50
Amazon.com Sales Rank: 35,093
Avg. Customer Rating: 5.0 out of 5 stars
Number of Reviews: 1
**** McGraw-Hill Betabooks Instant Perl Modules
Douglas Sparling
$49.99
007212962X

***+ Cross-Platform Perl  (no e-text available)
Eric Johnson
Amazon Price: $31.99
Paperback - 500 pages 2nd Bk&cdr edition (September 2000)
IDG Books Worldwide; ISBN: 0764547291
See also his book Perl Modules
The book has a web site at http://www.pconline.com/~erc/perlbook.htm, but it's not very useful for Perl (but contains a good links for Linux).
**** Perl Developer's Guide 
New edition of old book. Decent intro to intermeduate book. Some Perl 5.6 elements are covered (return of an array in subroutines, etc.). See information below  
****  Beginning Perl by Simon Cozens. A very good, may be the best introductory book. see information below.
???? CGI Programming with Perl, 2nd Edition by Scott Guelich, et al. Paperback (July 2000)
***+ Programming Perl (Nutshell Handbook)  (e-text on Perl CD only; manpages contain a lot of similar material)
by Larry Wall, Tom Christiansen, Jon Orwant
Our Price: $39.96
Paperback - 1067 pages 3rd edition (July 2000)
O'Reilly & Associates; ISBN: 0596000278 ; Dimensions (in inches): 1.70 x 9.21 x 7.04
Avg. Customer Review: 5 out of 5 stars

**** Perl Power! A Jumpstart Guide to Programming in Perl 5 A good introductory book. See information below
???? Perl Programmer's Interactive Workbook ~ Usually ships in 24 hours
Vincent Lowe / Textbook Binding / Published 1999
Amazon price: $33.99 ~ You Save: $6.00 (15%)

Probably a decent introduction but just introduction
Textbook Binding - 656 pages 1 edition (July 7, 1999)
Prentice Hall; ISBN: 013020868X ; Dimensions (in inches): 1.73 x 9.20 x 7.03
Amazon.com Sales Rank: 263,698
Avg. Customer Review:  Number of Reviews: 1
 
 
Programming the Perl Dbi : Database Programming for Perl and Cgi
Alligator Descartes, Tim Bunce / Paperback / Published 2000
Amazon price: $27.96 ~ You Save: $6.99 (20%) (Not Yet Published -- On Order)
 
***+ Object Oriented Perl by Damian Conway. A  rather good book, not usual OO-junk book.
 

Top Books Bookshelf

**** Perl Cd Bookshelf  -- 6 books including Perl Cookbook
O'Reilly, Inc. Associates (Editor) / Software / Published 1999
Amazon price: $47.96 ~ You Save: $11.99 (20%) 
 

Six O'Reilly books on one CD-ROM in HTML format. Only one book is really good (cookbook). Advanced Perl can be useful too. CD includes:

Perl in a Nutshell; Programming Perl, 2nd Edition; Perl Cookbook (very good); Advanced Perl Programming(good); Learning Perl(outdated and weak); and Learning Perl on Win32 Systems (this is just a bad joke). As a bonus, the almost useless printed version of Perl in a Nutshell is also included.

**** Advanced Perl Programming (Nutshell Handbook)  -- included in Perl CD bookshelf
Sriram Srinivasan / Paperback / Published 1997
 
A very good book on advanced topics. One chapter is even devoted to the programming Tetris in Perl ;-). Examples and corrections (this is the first edition) are available from O'Reilly web site. Should not be your first or only book on Perl and probably one should first read Effective Perl Programming. But I do recommend you to read or at least browse this book. In my opinion this is one of the best book that explains the namescapes in Perl more or less well. That also means that you can understand what modules in Perl are really about and do no need rely of superficial hype of some other books ;-) I Also like the author style.  He really  understands a lot about software engineering not only about Perl and that colors the book.
 
 
**** Perl Cookbook -- included in Perl CD booksheld
Tom Christiansen, et al / Paperback / Published 1998
**** Effective Perl Programming: Writing Better Programs With Perl -- Highly recommended
Joseph N. Hall, Randal L. Schwartz / Paperback / Published 1998
****  Object Oriented Perl
Damian Conway, Randal L. Schwartz (Foreword) / Paperback / Published 1999
Amazon price: $25.77 ~ You Save: $17.18 (40%)
Average Customer Review: *****
This book not a usual junk OO book it cut thou OO hype and reveal how to make components ;-)

Open Books

****+ Beginning Perl Perl Cd Bookshelf Teach Yourself Perl 5 in 21 Days Perl 5 Interactive Course : Certified Edition Perl by Example

I would like to name this type of publishing "parallel publishing" and it has several very important advantages over pure electronic e-text or pure paper publishing. First it's much more than "try before you buy" although the best introductory book depends on your background and it's worth to shop about for the best match.  Still the availability of a regular "paper" book is much for convenient for studying as you cannot compare the resolution and quality of text on the paper with that on the screen. Actually the cost of printing it a sizable book on the laser printer exceeds the cost of buying a printed version (if we assume 3 cents per page price). But availability of electronic version is very important: it is more convenient for reference.

Note: Extensive (and more up-to-date) list on open Perl books can be found at The perl.org Online Library - perl.org . Unfortunately it lists both junk and really good books.

****+ Beginning Perl - One of the best introductory books on Perl ever published.

*** Web Client Programming with Perl - O'Reilly book

*** Practical mod_perl - Apache module tutorial.

??? Learning Perl the Hard Way - too much OO.

Perl for the Web

Perl for the Web is a book I wrote that was published by New Riders in August 2001. It provides tools and strategies to improve the performance of existing Web applications in Perl. It also provides principles and ideas that help Web programmers create an extensible framework for future growth.

***+ Perl CD Bookshelf, Version 4.0

Six HTML based electronic books on one CD: the second editions of Perl in a Nutshell, and Mastering Regular Expressions; the third editions of Learning Perl and Programming Perl; and two new titles: Learning Perl Objects, References, and Modules, and the long-awaited second edition of Perl Cookbook.

A paperback version of Perl in a Nutshell is included too

*** The Perl Cd Bookshelf, Version 3.0- 7 Bestselling Books on Cd-Rom

The electronic versions of 7 pretty average Perl books (only Cookbook is decent):  the second edition of Perl in a Nutshell (paperback version included), the third editions of Learning Perl and Programming Perl, the Perl Cookbook, and 3 new titles: Perl & XML, Perl & LWP, and Mastering Perl/Tk.

Overpriced and with bad selections, buy previous version or version 4.0 instead.

Perl Design Patterns Book

This project is not part of the GNU Project.

Perl Design Patterns documents Perl style and design/analysis.
Design Patterns are a hands-on, pragmatic object oriented approach,
in contrast to the vague, theory ridden texts IT is plagued with.
We cover dynamic programming, lambda abstraction, and other techniques
with the same approach.
Moderate through advanced experience level. Similar to "Design Pattern" books
for Java, C++, influenced heavily by "A Pattern Language", Christopher
Alexander.

At the time of this writing, approximately 100 pages worth of content exist, entirely covering the traditional, expected patterns. A snapshot can be fetched from http://wiki.slowass.net/assemble.cgi?PerlDesignPatterns.
Browsing the Wiki directly at http://wiki.slowass.net/?PerlDesignPatterns directly has the advantage of allowing you submit questions, corrections,
ideas, and amendments directly, as well as browse non-linearly. CVS access is
available as well, in some cases.

Embedding Perl in HTML with Mason

Mason is a tool for embedding the Perl programming language into text, in order to create text dynamically, most often in HTML. But Mason does not simply stop at HTML. It can just as easily create XML, WML, POD, configuration files, or the complete works of Shakespeare.

*** The Perl CD Bookshelf

This is an old hat now, but you bac buy it really cheap.  Six O'Reilly books on one CD-ROM in HTML format. Only one book is really good (cookbook). Advanced Perl can be useful too. CD includes:

Perl in a Nutshell; Programming Perl, 2nd Edition; Perl Cookbook(very good); Advanced Perl Programming(good); Learning Perl(outdated and weak); and Learning Perl on Win32 Systems(this is just a bad joke). As a bonus, the almost useless printed version of Perl in a Nutshell is also included.

***Teach Yourself Perl 5 in 21 Days

by David Till

Paperback, 870 pages,/ Published by Sams 16-May-1996 (second edition)

ISBN: 0672308940 ;

This tutorial assumes no prior programming knowledge or experience. It starts with basic concepts, and then builds upon them. Each chapter contains a Q&A section, summary, quiz, and a series of exercises which allow the reader to practice using the language features which were just learned.

Teach Yourself Perl 5 in 21 Days, Second Edition is the ideal book for beginning - and intermediate - level users who want to gain a solid understanding of this programming language. Using step-by-step tutorials and the easy-to-follow approach, you can Teach yourself Perl 5 in 21 Days! Through various teaching elements, you'll learn everything you need to know about this popular programming language. You'll discover how to manipulate text, generate reports, and perform system tasks. Through practical, hands-on instructions, logically organized lessons, and helpful Q & A sections, you'll master Perl functions and concepts and be developing robust programs in no time. Plus, Do/Don't boxes show you how to avoid potential programming pitfalls, illustrations explain constructs such as associative arrays, and tables serve as handy references.

This well-structured book is actually both a good introductory text and a reference. For more obscure example one can use some examples form the David Medinets' book. It  assumes that you are familiar with the basics of using the UNIX operating system. It is good for Linux users but will be extremely useful for Windows users too. Contains exercises after each chapter, "Do and Don't" boxes and unlike other books it does contain a chapter on Perl debugger !

Avg. Customer Review: ***+ Number of Reviews: 38

From Amazon readers reviews: 

A reader from San Diego, CA , January 28, 1999 *****
The Best PERL Book Available!
This is both an excellent way to learn Perl and a great reference book. The book is easy to read, really teaches the essentials of the language, and has a great index for reference (although not as good as the previous Perl 4 version of the book)...

***   Perl 5 By Example  (ecopy from David Medinets Web site is available and contains corrections.)
David Medinets./ Que's October 1996/658 pages/CD-ROM/ISBN: 0789708663 Paperback - 658 pages Bk&Cd-Rom edition (October 1996)
Que Corp; ISBN: 0789708663 ; Dimensions (in inches): 1.74 x 9.04 x 7.37

Currently it's probably the secondary choice among the open introductory books on Perl. I do not recommend it as an introductory book. Simon cozens and David Till's  books  are a better introductory books and I realized it hard way -- by teaching a class using Perl5 by Example.  My experience suggests that it should not be used in the university environment but probably can be OK for self-study, especially if one have some experience with other languages. As an introductory book it's pretty weak -- the author uses too much obscure Perl idioms and many examples are weak and poorly thought out. In case you decided to use it, the book probably should be used only as a reference with Teach Yourself Perl 5 in 21 Days  as a primary text.

The main advantage of the book is that the full text is available both on the CD-ROM and online from the Web(for example here  Perl 5 by Example -- try to search Yahoo! for the mirror nearest to you; ).

See also the author interview

David Medinets "... has been programming since 1980, when he starting with a Radio Shack Model 1.". He has written also Visual Basic Script Quick Reference, and HTML Quick Reference, 2nd Edition for Que and also co-authored books on such topics as Lotus Notes, C++, Visual Basic, and Microsoft Office. In past he used REXX that probably is an advantage for any Perl programmer/writer as REXX (although a weaker scripting language)  has some features that are difficult to program in Perl. This seems to be his first scripting language book. He is also a co-author of Using Lotus Notes 4 (1996). The book is conveniently structured into four parts:
Part I: Basic Perl
Part II: Intermediate Perl
Part III: Advanced Perl
Part IV: Perl and the Internet
There are also 5 appendixes:
A - Review Questions
B - Glossary
C - Function List
D - The Windows Registry
E - What's On the CD?
 
Strangely enough most of readers reviews in the Amazon.com website are quite positive. Here is one example:davepamn@ieighty.net from Utah , January 30, 1999 ******

The Best Perl Book I've studied
Perl 5 by example is the best Perl book I've studied. I use the Perl 5 book along with the 'CGI For Windows' book to teach an internet/multimedia class, at an University level. 'Perl 5 by example' has an excellent teaching format: Definition, explanation, and hundreds of sample code fragments, to illustrate the point. 'Perl 5 by example' combines beginning concepts, intermediate, and advance Perl programming practices. One of the most valuable sections in 'Perl 5 by example' is the creating reports section. The second most valuable section is the regular expression explanation. I keep the 'Perl 5 by example' book close as a valuable language reference. Database is also a key interest for me. Combining Perl with Sybase and using the reporting capability helps students start learning how to create enterprise wide solutions. Write to me for details on some of the Perl projects that were created using the book. Upon studying this book and reader should have the knowledge to write numerous cgi scripts, create Perl modules, and understand at an intermediate level the Perl language.

???? Perl 5 Quick Reference (Quick Reference Series)  -- no longer available from inform.it
Michael O. Foghlu,  / Paperback / Published by Que 1996 / ISBN: 0789708884
Amazon price: $15.99 ~ You Save: $4.00 (20%)

The complete Perl reference - useful for finding the syntax for the most common and obscure Perl commands.

???? Special Edition Using Perl 5 for Web Programming -- no longer available from inform.it
David Harlan, Michael O'Foghlu / Paperback / Published  by Que 16-Oct-1996 /ISBN: 0789706598

Categories: Web Development, Programming, Perl

Covers Perl OOP structure, socket programming, HTML conversions, building Internet search utilities, and more!

???? Web Programming With Perl 5  -- no longer available from inform.it
Bill Middleton, et al / Paperback / Published 11-Mar-1997/ISBN: 1575211122
Amazon price: $23.99 ~ You Save: $6.00 (20%)
 

Introductory books

Beginning Perl
(Covers Perl 5.6)

Perl Developer's Guide
(Covers Perl 5.6)

Perl Black Book

Perl 5 Interactive Course : Certified Edition
(has e-text and support site)

Perl Power! A Jumpstart Guide to Programming in Perl 5

 Elements of Programming With Perl

Finding a decent introductory Perl books is not that difficult as there are several excellent books on the subject. Selecting between them is a little bit more tricky ;-). At the same time probably does not make much sense to buy two introductory books. I recommend Effective Perl Programming as your second book. In no way Learning Perl should be your first Perl book. Perl 5 Interactive Course : Certified Edition has e-text and support site but does not cover Perl 5.6.

****+ [Open] Beginning Perl
by Simon Cozens
Amazon price: $31.99
Paperback - 700 pages 1st edition (May 25, 2000)
Wrox Press Inc; ISBN: 1861003145
Amazon.com Sales Rank: 35,003
Avg. Customer Review: 4 out of 5 stars
Number of Reviews: 1
 
Probably the best Perl into book for those who already know at least one programming language ! From the point of view of the quality of the text and the quality of the examples (see source code) it can well be the best Perl introductory book.  Also 700 pages is not bad for a Perl book ;-)
[Note this is an open book. etext in availbale from http://learn.perl.org/library/beginning_perl
TOC
Introduction	
Chapter 1: First Steps In Perl	
Chapter 2: Working with Simple Values	
Chapter 3: Lists and Hashes	
Chapter 4: Loops and Decisions	
Chapter 5: Regular Expressions	
Chapter 6: Files and Data	
Chapter 7: References	
Chapter 8: Subroutines	
Chapter 9: Running and Debugging Perl	
Chapter 10: Modules	
Chapter 11: Object-Oriented Perl	
Chapter 12: Introduction to CGI	
Chapter 13: Perl and Databases	
Chapter 14: The World of Perl	
Appendix A: Regular Expressions	
Appendix B: Special Variables	
Appendix C: Function Reference	
Appendix D: The Perl Standard Modules	
Appendix E: Command Line Reference	
Appendix F: The ASCII Character Set	
Appendix G: Licenses	
Appendix H: Solutions to Exercises	
Appendix J: Support, Errata and P2P.Wrox.Com	
Index	
****  Perl Developer's Guide
Ed Peschko (Editor), Michele Dewolfe,
Amazon price: $47.99
Paperback - 912 pages (June 8, 2000)
Osborne McGraw-Hill; ISBN: 0072126302
New edition of old book. Some Perl 5.6 elements are covered (return of an array in subroutines, etc.). Here is a very good Amazon Review: 
 
5 out of 5 stars A much better second edition , July 20, 2000
Reviewer: Andrew Fernandez (see more about me) from Boulder, Colorado USA

This book is the much needed update to the first book by Ed and Michelle, published in 1998 that went by a different name, "Perl 5, Complete". The first book came out way too early with too many errors. Ed acknowledges this in his preface to the second edition. I enjoyed his first book, because catching errors made me learn the material better, but the second edition is soo much better.
High points for this second edition include:
 
1) a good tutorial for object-oriented programming starting with creating modules up to full object-oriented programming with perl/tk.
 
2) a great section on data-structures like arrays-of-arrars, and hash or hashes, etc... that are essential if you want to do intermediate or above Perl programming.
 
3) A great chapter on real-world examples using perl/tk and OLE programing with Perl for Microsoft Windows plus other code samples.
 
4) Some great new appendixes for Perl "grammer and structure" that weren't in the first edition. Basically a concise reference for symantics that would benefit anybody.
 
5) A much improved index that was practically non-existent in the first edition.
 
All in all, I would say the second edition would be a good edition to learning and even improving your Perl skills since it is a huge tome of Perl information that can be both used as a reference and as a tutorial.
 
        I have only the first edition that was called Perl 5 Complete. I even wrote the first review about the first edition of the book on Amazon.com. I also used it in one introductory e-commerce class. As usuall, you love a textbook much less after you use it a class -- errors and omissions became more evident :-(.
Still, most my students were able to grasp details of the language from the book, but now the book looks a little bit watery -- each chapter can be compressed into half without losing any useful content. So the number of pages can probably reduced in half. Also examples in the first edition are not that great and somewhat buggy.
 
All-in-all this is a good intro Perl 5 book with some well thought examples and multi-OS coverage.
 
Chapter 9 on regular expressions is not bad and many readers on Amazon like it. I was not impressed, but still I agree that it's OK, especially for novices.
 
Last seven chapters actually constitute a good intermediate book. They contain detailed treatment (with good examples) of interesting topics like PerlTk, interfacing Perl to Win32 applications, databases and more.
 
Attention: CGI coverage is very weak. File operations are much better covered in other books.
 
Even with problems mentioned above it is probably one of the best introductory Perl book. It is more suitable for those who have some programming experience in other language.

For people without programming experience no book can probably help ;-),  but Jon Orwant's book might to be an alternative. The main problem with it is that it overstresses regular expression (at least more than I like in the beginner-oriented book). If you have some experience with other high level languages this book is a  reasonable choice, although nothing is perfect in this world ;-)
 
***+  Perl 5 Interactive Course : Certified Edition (both e-text and support site are available !!!)
Jon Orwant / Paperback, 2-d edition / Published 1997
Paperback - 860 pages Bk&Cd-Rom edition (November 1, 1997)
Waite Group Pr; ISBN: 1571691138 ;
Avg. Customer Review: *****
Number of Reviews: 11
 
Nikolai Bezroukov's review: A very good introductory book with exercises and quizzes.  Slightly outdated (not Perl 5.6).
 
Jon Orwant used to publish Linux Journal. This is second or third edition. Probably should be your first book on Perl, especially if you try to study it by yourself.

I like the illustrations. The book contains very useful quizzes and exercises after each lesson  -- the best of any introductory book I read. Web site www.waite.com/ezone (or http://www.mcp.com/distance_learning/frame_ezone.html )contains e-text, additional materials, quizes that can be graded automatically and the reader can ask questions about the book. Good typographic quality, far superior in comparison with O'Reilly books. e-text and on-line quizzes are available from the support site. This is just great !

Negative points -- the author too much emphasize regular expressions at the expense of more procedural operations on string (substr, index, pack, etc.) and that might be a problem for beginners. Some tests are pretty obscure and actually teach wrong practice (see tests for control structures and subroutines as an example). The book does not provide enough warning about problems with Perl and how to avoid them.


Here are some reviews from amazon.com that probably worth reading:
 
Irina@oven.com from New York, USA , July 15, 1999 *****
It is a great book!

When I read other people's reviews, I always wonder what kind of background these people have in programming. Well, here is my background: I know HTML, JavaScript, C++, a little bit of Java, DHTML, and databases. When I found out that I had to learn Perl, I was scared because, after 4 years of college, that is the first language that I had to learn completely on my own. However, this book made my learning experience as easy as possible. The book provides very good explanations, a lot of examples, and an EXCELLENT reference section. I think this is one of the best programming books I have read so far.
 
A reader from New Jersey , January 30, 1999 *****
A Strong Learning Tool for the Perl Language
As far as books that claim they will teach you Perl in any number of days / lessons, this book is by far the best. The lessons, exercises and on-line quizzes are structured very well to make sure you understand the material in the lesson. The lessons are short and sweet and cover only a few topics at a time, which makes it easy to master a lesson at a time.

The examples in the book are effective and can be used immediately to help you solve those simple real world problems. The book does fall short in helping you easily conquer more complex issues quickly. However, the online resources are great for helping you address these problems.

**** Perl Black Book
Steven Holzner / Paperback / Published 1999
Amazon price: $39.99 ~ You Save: $10.00 (20%)
Average Customer Review: 4 out of 5 stars
4 out of 5 stars A good quick-reference as well as having sufficient depth , April 3, 2000
Reviewer: gooberboy (see more about me) from Australia

As an electrical engineer with a reasonable programming background, I needed a book that would allow me to come up to speed in Perl quickly without having to first plough through endless tutorials or mindless banter that those 'Dummies' books (or similar) offer. The Black Book meets this need using a unique format -- 'quick solutions' to common programming problems, like data storage, flow control, formatting, etc, ordered in a well indexed and logically laid out volume. I found this format facilitated the learning of the language rapidly while I was developing my first Perl applications. The Black Book's only negative aspect is the author's annoying little 'stories' at the beginning of each section involving the reader and fictional characters like the 'Big Boss' and the 'Novice Programmer'. These stories don't suit the otherwise excellent format of the book and only distract. Ignore the first paragraph of each section that contains them and the Perl Black Book is a handy reference you'll certainly keep near your computer.

5 out of 5 stars Ideal Reference Material , July 26, 2000
Reviewer: A reader from Mt. Pleasant, USA

Perl Black Book is probably the best technical book I have ever read. This book will save you time through its organization, concise explanatory style, and content. The "Black Book" enables a programmer to quickly access information, especially keyword syntax. Each chapter begins with an overview of what will be covered including page numbers for "immediate solutions" to those problems you need a quick answer to. I don't know how many times I have spent more time than I would like sifting through pages of text looking for the correct syntax for the 'if' construct, or playing back-and-forth with the glossary trying to locate a specific function to manipulate a string. This book will help you find answers quickly. The book covers nearly every major aspect of beginning/intermediate level Perl programming in a consistent, fluent, and well-organized manner. Regular expressions, cgi programming w/ Perl, OO, and Perl/Tk are all covered. If you have an understanding of the basic elements of programming, this book serves as a valuable reference, and helps to further explain and clarify some of the more difficult aspects of the language without being too verbose. This book does not provide very many references to additional information, however.
 
**** Perl Power! A Jumpstart Guide to Programming in Perl 5
by Michael Schilli
Amazon price: $30.75

Textbook Binding - 438 pages Bk&Cd Rom edition (January 1999)
Addison-Wesley Pub Co; ISBN: 0201360683 ;
Amazon.com Sales Rank: 130,251
Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 6

Another rather short book on Perl ;-). You should be comfortable with general programming concepts to get the best use out of it. Here are some relevant Amazon reviews:

***** Excellent book, well-written with lots of valuable info. October 4, 1999

Reviewer: Michael Tacelosky (see more about me) from Washington, DC

Although my bookshelves are already full of 700-page Perl books of the "Teach Yourself" variety, I was unable to find any good explanations of the LWP module. When I found a chapter devoted to LWP in Perl Power, I was thrilled and immediately bought the book.

What I didn't expect was the bonus of someone finally providing a good explanation of Perl 5 and object-oriented Perl. That section ALSO would have been worth the price of the book.

Even the first chapter had all sorts of insights and explanations I found invaluable. I've been using Perl off and on for about 3 years, mostly writing quick utilities, and I'll credit this book with wanting to make me use Perl more.

*****Perl power December 30, 1999 Reviewer: Dennis Krystowiak from Detroit, Michigan

Excellent book that gets you started with lots of areas of Perl. Most of the code I have tried works fine with Activestates's 523 build and with the Perl development kit 1.2.4. Having code that work is rare with these books especially with Windows. I use 98 and NT and unix. This book is not a definitive guide to Perl but it gives you a good summary in most of the important area's and enough code to get started quickly. It gave me lots of ideas on things I could use Perl for. I also like "Perl 5 complete" for theory, but the code for that book is very buggy and hard to get to work. I like its detailed explanation of how things are suppose to work. "Perl Cookbook" is also excellent for how to solve problems various kinds of problems. These are the best of the Perl books I have.

Bill Frischling (frisch@cais.com) from Arlington, VA , July 20, 1999 *****
A Must-Have Perl Reference

This book is a must have, and an excellent addition to the shelf of any Perl programmer, beginner or otherwise. You should be comfortable with general programming concepts to get the best use out of it. Great use of examples in here, and a very, *very* good read in comparison to other, denser volumes that cover this topic. Writing style does make it far easier to get the gist in this book, and Mr. Schilli does not bore you to tears with geek prose, thank heavens. You get the info you need with a snappy style to boot.
jneely@netten.net from Memphis, TN , February 13, 1999 *****
A "Perl of great worth"!
Somehow the phrase "jump start" seems a little feeble when Schilli's energetic style catapults you into Perl. I didn't expect to be impressed by a "jump start guide" to a language with which I'm already familiar, but a brief thumb-through quickly changed my mind.

The first hundred pages or so provide a lightening-strike introduction to the basics of Perl. Best-suited for a reader with prior programming experience, the first chapter illustrates the most important Perl concepts efficiently, but also includes enough subtleties and effective examples that it's worth a look by a non-beginner.

After equally vigorous introductions to Perl objects and modules, Schilli focuses on two exciting areas where Perl's unique strengths are well-suited, Tk-based graphical user interface development and internet programming. Although Perl has many important uses beyond these two, they make an effective introduction to the breadth and power of the language.

Even the appendices contain a surprising variety of useful information, from the instructions for installing Perl from the included CD, to the quick references to HTML and POD, to the links to a variety of resources available through the 'Net.

Clearly, a "jump start guide" can't cover every detail of a language as eclectic as Perl; nevertheless, Schilli has done a very good job of selecting topics that will get the reader up and running quickly, while leaving them prepared to learn even more. I also consider this book nearly ideal for the reader who is already familiar with Perl as a rapid-development text-processing and scripting language, and who is now ready to move into full-blown application development in Perl.

 
***+ Elements of Programming With Perl
Andrew L. Johnson
Amazon price: $27.96
Average Customer Review: 4 out of 5 stars
Table of Contents
Paperback - 350 pages (October 1999)
Manning Publications Company; ISBN: 1884777805 ; Dimensions (in inches): 0.78 x 9.23 x 7.39
A good book.  It's more about programming in Perl that elements of Perl ;-)  In total number pages it's close to Learning Perl, but quality is higher. This is Perl 5 book, not Perl 4 book like Learning Perl  I think that it's an excellent replacement for the outdated Learning Perl.
 
The author manage to produce very solid introductory programming text that covers a lot of ground but still is accessible for novices. Some points are very realistic like the fact that comments often obscure the text of the program more than they help to comprehend it.  The book covers a lot of introductory material and is less watery than Perl Complete.
 
In general this is a solid introduction to the programming in a pretty difficult and large language. I would like to stress the word "programming". Language constructs are not the primary focus of the book and probably one needs an additional reference of tutorial book that focuses on that topic. What is especially good is that the author pays proper attention to the debugging issues.
 
No book is without its flaws, and my  biggest complain would be chapter 2 content and the absence of the introduction of Perl features (the latter can be compensated by using WEB books). The usual "level zero" Perl tutorial section is missing and the author starts to discuss programming issues in Chapter 2 and use complex language constructs like regular expressions  without any warning. This chapter dives in too fast for beginners without explaining little, but very important bits that would aid greatly in achieving a solid foundation. Such an approach might put some people off the book. I recommend to use an additional online book to compensate for this. One may try my Skeptical Introduction to Perl.  Anyway I would have expected a better introduction, given that Perl isn't as well known as C.

My other complaint is that the book is too small for such a huge language. Just 350 pages in comparison with 1K pages in Perl 5 Complete and 860 pages in Perl 5 Interactive Course.
Well, no -- it's just right actually if you want the book that competes with Learning Perl, but the book try to cover so many topics that readers might feel lost and feel that the author should have used a bit more in-depth treatment, or more extended examples. The author might  have felt the same way, since at the end of most chapters, there are pointers to further information, which are usually pretty useful.

 ****  Too much spread out too thin
Reviewer: Andy Lester   from McHenry, IL      April 5, 2000
This book doesn't feel like a Perl book. It feels like Johnson is a C programmer at heart, trying to write a book about Perl.

Worse, it's such a wide survey of Perl as to be incongruous. He's got pages devoted to the thought process behind how to structure a program, which is fine for an introductory text; but then he gets into anonymous hashes and different sorting algorithms. Is this an introductory book or not?

The chart on page 184 of all the regex elements is completely useless. It shows all the elements, but doesn't explain at all what they do.

It sure LOOKS great. I love the visual internal style of all the Manning books.

I haven't seen anything that's incorrect, and he writes clearly enough. It's just poorly organized and feels like it was thrown together.

***** Emphasis on Programming
Reviewer: A reader from Syracuse, NY      April 4, 2000
I came to this book with some experience in Javascript and Lingo, but no foundation in programming concepts and a desire to learn Perl. This book was perfect for me.

It focuses on programming practices from the beginning, using Perl code for examples of major concepts. By the time it deals directly with the language, you're already familiar with the way Perl looks and works.

For me, some of the early material wasn't necessary, but the author's style is transparent enough not to become obsequious. It's refreshingly free of "now let's do ____; but first let's do ____" idioms that insult and baffle simultaneously.

Anyone who wants to learn programming, but doesn't plan to actually use Visual Basic in the future, should consider this book. It makes a primer on programming concepts unnecessary, and it give a solid introduction to a widely useful language.

****  Excellent reading
Reviewer: PHO  1_stripes from USA      January 26, 2000
I am pleased to recommend this book. As another reviewer wrote, I have also read Learning Perl and looked through Programming Perl, but while I was able to learn a fair amount from them, I kept feeling a bit lost when it came to things like how exactly do I use regexes and the types of data structures etc. I took a programming course in Pascal and Fortran too long ago (21 years), I think. At any rate, this book helped me feel a lot more confident with Perl - how to use CPAN, the abundant Perl documentation etc. I don't think that it would be the best book for a first-time programmer without an instructor, but if you have the stamina and perserverance to learn on your own, then this book is a must. Further, the book reads well. In addition, all errata in the first edition can be found at the publishers website, and are generally minor corrections.
***+ Cross-Platform Perl  (no e-text available)
Eric Johnson
Amazon Price: $31.99
Paperback - 500 pages 2nd Bk&cdr edition (September 2000)
IDG Books Worldwide; ISBN: 0764547291
See also his book Perl Modules

The book has a web site at http://www.pconline.com/~erc/perlbook.htm, but it's not very useful for Perl (but contains a good links for Linux).
 
I owned the first edition. The first edition was pretty decent and contained some  examples that you can use in your own development, especially related to Perl/Tk. Parts of Perl like regular expressions are treated superficially and text contains mistakes. For example on page 104 the book states that in construct /pattern/ Perl returns 1 (true) or 0 (false).  That is not true. A simple contra example is a statement like
        ($name, $subject) = /^([^:\s]*):\s+(.*)/; # parse e-mail header
 
See also a review by Donald Bryson in UnixWorld Online. The book does not have a e-text online (or at least beta as Perl 5 Complete).

Eric F. Johnson is a prolific writer and authored several books including:

and a book Perl Modules (1998).

He co-authored a large number of books on Unix(including several on Linux)  and X Windows including:
**+   Learning Perl (Nutshell book)
Randall L. Schwartz, Tom Christiansen / Paperback, 302 pages / O'Reilly, July 1997/ 2-nd edition

 
The main advantage of the book is that it is short.  It covers only Perl 4. The second edition is not much different from the first one and if you like to buy the book you can save some money buying the first edition -- it still can be found 50%-75% off.

Again -- buyer beware it's just an introduction to Perl 4 not to Perl 5. Perl 4 is a reasonable subset of Perl to master at the beginning level, but the the problem is that some Perl 5 features simplify programming of typical algorithms and you learn the wrong language.

The first edition was one of the first books on Perl published and this it has definite historical value.

The second edition is simply disappointing. It's kind of Randall L. Schwartz fiasko. The "Just Another Perl Hacker" as any hacker should be lazy, but probably not to such an extent: the only one new chapter (brief overview of CGI) and one new appendix (listing of standard Perl modules) were added (probably by Tom Christiansen, as the team now includes him). The examples and exercises are identical to the the first edition. You may try Perl Complete instead, if this is your first book. Skip this book if you already have at least one introductory book on Perl.

If you like Randal Schwartz convoluted "hacker" style with excessive emphasis on Perl idioms,  Effective Perl Programming might be a better deal...
 

*** Poorly organized and difficult to use April 8, 1999
Reviewer: A reader from Illinois

As an experienced systems administrator and script writer I was extremely offput by this book. Of course it's an ORA book and thus the quality is there, but I swear I have no idea how the authors got this poorly organized, confusing amalgamation past the editors unless they were simply too baffled to reject it and gave up. For starters, the footnotes often contradict the text which references them. The writing is thick and assumes too much. The authors' sense of humor apparently dictates the presense of smart-alecky and totally irrelevant commentary at random spots, just to make sure that the reader is absolutely lost. And the index! The index references such important aspects of Perl as "Astro [from "the Jetsons"], pronouncing 'Windex'" and "Max Headroom," yet if you look up the keyword "hash" -- which has an entire chapter devoted to it -- there is no listing at all in the entire index. You can look up associative arrays (a deprecated term) though. I found this book to be hostile to the learning process. In fact, I picked it up no fewer than three times trying to learn basic perl from it, only to toss it down in frustration after pulling my hair out. Compare the ORA Korn shell book, which is beautifully instructive, concise and clear, and with a wonderful index with nearly every important function listed. This was the first ORA book I wished I hadn't bothered to purchase. One could argue that perl5 is simply too complex to be gently introduced, yet I learned more about perl from reading Webmonkey's quickie six page tutorial than I did from "Learning Perl." I was quite disappointed with this book. Buy a copy if you must, but plan to use it as a (poor) reference because its teaching abilities are limited.

* Learning Perl on Win32 Systems
Randal L. Schwartz, et al / Paperback / Published 1997
I bought it and had found that it completely  missed the target. Words "W32 Systems" in the title is a joke. Content is essentially the same as in Learning Perl so this book is a self-plagiarism. Do not buy this book unless it is discounted 50% or more.
*** Generic perl topic are OK, Win32 and NT specifics are poor March 30, 1999