There are many ways to learn a programming language but only a few yield positive results. One of the most effective solutions is to learn how to use a particular language to solve real-world problems, and this is precisely the approach that Martin C. Brown chose to help the reader of his excellent Perl Annotated Archives book learn the language that powers hundreds of thousands of Internet and intranet servers around the world. Instead of a series of dry lessons found in many Perl textbooks, with Perl AA you can start writing and experimenting with the source code right after you open this book. This makes it an ideal book for both teachers of the Perl programming language and for their students who want to see how theory they learn works in practice.
Perl is not an easy language to learn and the lack of commented code samples is what discourages a lot of people from learning it. Martin C. Brown does an excellent job of teaching not only how to write useful applications but also how to keep your code simple, clean and easy to maintain which is no mean feat considering how easy it is to write cryptic code in Perl. So, the first star is for what's between the covers.
I'm sure that many people who tried to learn a programming language from a book will agree that it is not enough to just dump the best ideas and code onto paper--they must be presented in a way that helps the reader to quickly find any little bit of information he/she needs. I found nothing to complain about in that department and I agree with my students who often praise this book for its ease of use and the ease of access to the information contained inside it. The second star is therefore for the presentation of the material.
How about the accuracy of the text and the source code? Well, it is *very* high and does not contain any serious errors. This has been confirmed by my students who have been using this book for the last six months and found very little errors or omissions. Those that were spotted are not fatal and can be quite easily fixed by the readers themselves. That's why the third star is for the accuracy of the material.
The fourth star is for the CD-ROM disc sold with the book. Although the CD-ROM disc is an almost essential companion to a computer book, it rarely is utilized in a way that justifies it's additional cost. However, what I found on the disc sold with Perl AA made me very happy. I love it when I can copy, paste and customize *full* source code and not only short examples. You can use it as a source of ready-made solutions and a great learning/teaching tool.
The last, fifth star is for Martin C. Brown's reader support. His Web site is a treasure chest for those who are looking for free code (Martin makes tons of code available for free), updates or error corrections (not that Martin makes a lot of mistakes he needs to correct). Rarely you will find an author who offers such support and that's something you should consider if you expect more from an author.
In short, Perl AA is an excellent book for those who learn, teach and use Perl in real world. This book is a safe investment with a very *high* return.