The Essential Perl Books
Perl has become one of the most important languages in the Unix/Internet world and is by far the most popular choice for CGI scripts on the World Wide Web. It is still growing rapidly and spreading to new applications. Perl is even making headway in non-Unix environments—a fact well attested to by the Microsoft NT presentations at the first Perl Conference, held August 19-21, 1997, in San Jose under the auspices of O'Reilly and Associates.
If you don't yet know Perl, learning it would be a good idea. For many kinds of end-user and system-administration applications (especially those involving text processing or the gluing together of several standard Unix tools), Perl is beyond price. Of the major interpretive Unix languages (shell, Tcl, Python, Emacs Lisp) only Python is truly competitive with Perl over Perl's entire range of applications, and even Python cannot match Perl's facilities for regular-expression-based text handling (though on the other hand Python probably scales up to very large and complex projects better).
Learning Perl (familiarly known as “the llama book”) is the introductory volume. It aims to teach elementary Perl quickly and appears to be targeted at people with little programming experience. While it does an excellent job of covering the basics, it omits a number of advanced topics including references and Perl's object system. It includes many exercises and could profitably be used as a textbook.
Programming Perl (well known as “the camel book”) is the intermediate-level volume and the best self-contained exposition of Perl. It describes the entire Perl language but provides only teasers on various Perl extensions (such as Perl/Tk for GUI programming) and the techniques for embedding Perl in C applications.
If you've seen the first edition of Programming Perl, you'll note many changes in the second edition besides just the coverage of the new Perl 5 features. The rather bizarre and haphazard organization of the first edition has been fixed—a huge plus. On the other hand, most of the whole-program Perl examples have been removed in the interest of keeping the book's page count below 700. (Tom Christiansen confirmed at the San Jose conference that he is working on a separate Perl cookbook.)
Advanced Perl Programming is a tome of esoterica for experienced Perl-heads. (It's fair to say you must be thoroughly versed in the material of the camel book to benefit from this “panther book”.) Within the language, it offers in-depth coverage of references, the Perl object system, typeglobs, eval, closures, modules and persistent-object techniques. It also covers the use of Perl/Tk to construct GUIs. The last three chapters cover extending Perl, embedding Perl and Perl's internals, each in detail.
The author of Advanced Perl Programming illuminates Perl by connecting it to an impressively broad range of issues in computer science and programming language design. At the same time, his discussion of the way Perl does things is refreshingly concrete. His diagrams of Perl's internal data structures do much to demystify such knotty topics as typeglobs. The end-of-chapter sections systematically comparing Perl features to analogs in other languages are extremely valuable. Finally, though Mr. Srinivasan clearly loves Perl, he is not afraid to point out its uglinesses and occasional design shortcomings. As a specialist in computer language design myself, I found his comments uniformly intelligent, incisive and tasteful.
The only flaw I detect in this book is a couple of chapters that describe favorite Perl hacks of the author's in a way not strongly motivated by the rest of the text. Even so, Advanced Perl Programming is an astonishingly sustained tour de force and, if not the best book of the three, certainly the most intellectually stimulating.
All three books are well written, lucid and (in the best hacker tradition) quite witty and funny as well. If you are going to buy only one Perl book, it should be Programming Perl, which serves quite well as a desk reference for the language. Serious programmers will find a rich feast in Advanced Perl Programming. Learning Perl serves as a satisfactory and nonthreatening introduction for those who lack the hacker nature.
All three books also do an excellent job of transmitting the Perl culture—the attitude, the jokes, the sense of mission, the deep connection to Unix tradition and the free-software culture. As with Linux, Perl's true strength is the collective talents of its enthusiasts, and those are well on display in these books.
Indeed, as Perl continues to spread to NT and Windows environments, it's not too much to hope that the spread of Perl culture will imply a lot of quiet subversion that prepares people for the Linux way. Even if these books were not excellent in many other ways, they would earn a warm welcome in LJ's pages on that account.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Petros Koutoupis' RapidDisk
- ServersCheck's Thermal Imaging Camera Sensor
- The Italian Army Switches to LibreOffice
- Linux Mint 18
- Oracle vs. Google: Round 2
- The FBI and the Mozilla Foundation Lock Horns over Known Security Hole
- Privacy and the New Math
- Varnish Software's Varnish Massive Storage Engine
Until recently, IBM’s Power Platform was looked upon as being the system that hosted IBM’s flavor of UNIX and proprietary operating system called IBM i. These servers often are found in medium-size businesses running ERP, CRM and financials for on-premise customers. By enabling the Power platform to run the Linux OS, IBM now has positioned Power to be the platform of choice for those already running Linux that are facing scalability issues, especially customers looking at analytics, big data or cloud computing.
￼Running Linux on IBM’s Power hardware offers some obvious benefits, including improved processing speed and memory bandwidth, inherent security, and simpler deployment and management. But if you look beyond the impressive architecture, you’ll also find an open ecosystem that has given rise to a strong, innovative community, as well as an inventory of system and network management applications that really help leverage the benefits offered by running Linux on Power.Get the Guide