What’s Perl Good For?

Perl has the advantage of being easy to learn if you just want to write simple scripts—thus its appeal to the ever-impatient system administrator and the deadline-driven CGI developer. However, as you become more ambitious, Perl lets you act on those ambitions. Chapter 2 covers how to get and install Perl, and Chapter 3 through Chapter 6 cover the basics of the Perl language, its functions, and how to use the Perl debugger.

On top of the Perl language itself, however, are the Perl modules. You can think of modules as add-ons to the Perl language that allow you to streamline tasks by providing a consistent API. Perl itself is fun to use, but the modules lend Perl even more flexibility and enormous power. Furthermore, anyone can write and distribute a Perl module. Some modules are deemed important enough or popular enough to be distributed with Perl itself, but very few are actually written by the core Perl developers themselves. Chapter 7 introduces you to Perl modules, and Chapter 8 covers the standard modules that are distributed with Perl itself.

The most popular Perl module is CGI.pm, which gives a simple interface to developing common gateway interface (CGI) applications in Perl. While Perl itself is indispensable for many different tasks, its text-manipulation features make it perfect for CGI development on the Web. In fact, the resurgence of Perl over the past few years must be credited to its popularity as a CGI language. Chapter 10 and Chapter 11 talk about using Perl for CGI, including mod_perl, which merges Perl into the Apache web server.

Database interconnectivity is one of the most important functions of any programming language today, and Perl is no exception. DBI is a suite of modules that provide a consistent database-independent interface for Perl. Chapter 12 covers both DBI and DBM (the more primitive but surprisingly effective database interface built directly into Perl).

The eXtensible Markup Language (XML) is quickly becoming the de facto way to store electronic information of any kind. Chapter 13 covers the modules designed for Perl and XML processing, and Chapter 14 covers using Perl for managing web services with the XML-based protocol SOAP.

The Internet doesn’t start and stop at CGI. Network programming is another of Perl’s strengths, with a robust sockets interface and several modules for writing clients and servers for all sorts of Internet services—not only the Web, but also email, news, FTP, LDAP, etc. Chapter 15 through Chapter 19 cover the modules for developing fully functional Internet applications in Perl.

The World Wide Web, of course, is the “killer app” of the Internet. LWP is a library of modules devoted to web programming. Chapter 20 covers the LWP library.

Perl programs are traditionally command line-based, but the Perl/Tk extension can provide Perl programs with graphical user interfaces, for both Unix and Microsoft Windows. Chapter 21 gives a complete reference to Perl/Tk.

Finally, although Perl is primarily developed for Unix, recent releases of Perl for Windows 95 and Windows NT are gaining popularity, both for CGI and system administration tasks. Chapter 21 through Chapter 24 cover the Win32 modules for Perl.

As you may have noticed, Section 1.1 has sneakily become a description of the contents of this book. This book aims at being a general-purpose reference to all things Perl.

Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.