O'Reilly logo

Perl for Web Site Management by John Callender

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 4. Power Editing with Perl

This chapter presents an example of how powerful Perl is at automating repetitive tasks. It features a pair of scripts designed to rename, and then make minor editing changes to, a collection of HTML pages. Along the way, this chapter discusses how to use the shell’s globbing feature to create a list of filenames matching a wildcard pattern, how to read and manipulate a file’s contents from within a Perl script, and how to write a modified version of a file back out to disk. It also gives you your first detailed look at Perl’s pattern matching and substitution operators, and the powerful regular expressions that are at their heart.

Being Careful

Science-fiction author and programmer Neal Stephenson has written a great essay called “In the Beginning Was the Command Line” (http://www.cryptonomicon.com/beginning.html). The most memorable part of the essay is Stephenson’s description of the Hole Hawg, a drill made by the Milwaukee Tool Company. The Hole Hawg is strictly for professionals; it apparently is capable of boring a hole through almost anything, and bears the same relation to the standard homeowner’s electric drill that such a tool bears to a preschooler’s plastic toy. In Stephenson’s metaphor, the Hole Hawg represents Unix, the operating system that does exactly what you tell it to, swiftly and mercilessly, regardless of whether you know what you’re doing.

Perl takes this principle even further, which is where its characterization as the “Swiss Army chainsaw” of programming comes from. In this early phase of your work with Unix and Perl, try to remember that you’re working with the Hole Hawg and the Swiss Army chainsaw. To the extent that you can cultivate some healthy paranoia, you’ll save yourself lots of trouble later on. Look carefully at the command you are about to execute before you press the Enter key. As you are building your programs, have them start small, doing simple, nondestructive things, and do your best to verify that they actually are doing what you intended them to do, before you unleash their full power.

Another piece of advice that bears repeating is: keep good backups. Using the techniques described in this chapter without having a recent backup on hand is like doing a high-wire act without a net: definitely not recommended, especially for beginners.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required