I learned Perl 4 from the first edition of this book years ago. I recently read the third edition to get up to speed with Perl 5 and found this book covers nearly every aspect of Perl I've used over the years. Perl is a complex language, and any introductory book on Perl needs to restrict itself to a subset of the language to prevent the reader from becoming overwhelmed. The authors did an excellent job of presenting a subset that is large enough to cover most everyday Perl tasks, yet small enough to remain accessible to the Perl novice. The exercises at the end of each chapter solidify most of the core concepts and syntax of each chapter. There were some shortcomings to the book, however. The book is oriented heavily towards Unix systems, and programmers working on Windows systems will have a hard time getting started and completing some of the exercises. The authors should have provided instructions for downloading ActiveState Perl, a free professional Windows port of Perl, and provided more assistance on the Unix-oriented exercises. Additionally, some basic language features were not covered, such as the peculiarities of do blocks and using chr and ord to convert between characters and their numeric codes. Most importantly, the book does not cover two-dimensional arrays. They are mentioned only in two paragraphs in Appendix B, which refer the reader to four different perldoc sections. This topic is complicated and important enough to warrant its own chapter. In summary, this book is an excellent introduction to Perl for programmers who are experienced in other languages already. It's not so good for beginning programmers because basic programming concepts are not explained. The major shortcoming is that readers, especially those using Windows, will be frustrated at not being able to easily do what they want to do and will too often need to wade through the documentation.