Checking links, batch editing HTML files, tracking users, and writing CGI scripts--these are the often tedious daily tasks that can be done much more easily with Perl, the scripting language that runs on almost all computing platforms. If you're more interested in streamlining your web activities than in learning a new programming language, Perl for Web Site Management is for you: it's not so much about learning Perl as it is about using Perl to do common web chores more efficiently.
The secret is that, although becoming a Perl expert may be hard, most Perl scripts are relatively simple. Using Perl and other open source tools, you'll learn how to:
- Incorporate a simple search engine
- Write a simple CGI gateway
- Convert multiple text files into HTML
- Monitor log files
- Track users as they navigate your site
Even if you don't have any programming background, this book will get you quickly past Perl's seemingly forbidding barrier of chops and chomps, execs and elsifs. You'll be able to put an end to using clunky tools, editing files tediously by hand, or relying on programmers and system administrators to do "the hard stuff" for you. Sure, you might learn a little bit about programming as well, and perhaps something about the role of open source tools on the Web. But the purpose of Perl for Web Site Management isn't to educate you--it's to empower you. Whether you're a developer, a designer, or simply a dabbler on the Web, this book is the plain-English, hands-on introduction to Perl you've been waiting for.
Preface 1. Getting Your Tools in Order Open Source Versus Proprietary Software Evaluating a Hosting Provider Web Hosting Alternatives Getting Started with SSH/Telnet Meet the Unix Shell Network Troubleshooting A Suitable Text Editor 2. Getting Started with Perl Finding Perl on Your System Creating the "Hello, world!" Script The Dot Slash Thing Unix File Permissions Running (and Debugging) the Script Perl Documentation Perl Variables A Bit More About Quoting "Hello, world!" as a CGI Script 3. Running a Form-to-Email Gateway Checking for CGI.pm Creating the HTML Form The Tag's ACTION Attribute The mail_form.cgi Script Warnings via Perl's -w Switch The Configuration Section Invoking CGI.pm foreach Loops if Statements Filehandles and Piped Output die Statements Outputting the Message Testing the Script 4. Power Editing with Perl Being Careful Renaming Files Modifying HREF Attributes Writing the Modified Files Back to Disk 5. Parsing Text Files The "Dirty Data" Problem Required Features Obtaining the Data Parsing the Data Outputting Sample Data Making the Script Smarter Parsing the Category File Testing the Script Again 6. Generating HTML The Modified make_exhibit.plx Script Changes to &parse_exhibitor Adding Categories to the Company Listings Creating Directories Generating the HTML Pages Generating the Top-level Page 7. Regular Expressions Demystified Delimiters Trailing Modifiers The Search Pattern Taking It for a Spin Thinking Like a Computer 8. Parsing Web Access Logs Log File Structure Converting IP Addresses The Log-Analysis Script Different Log File Formats Storing the Data The "Visit" Data Structure 9. Date Arithmetic Date/Time Conversions Using the Time::Local Module Caching Date Conversions Scoping via Anonymous Blocks Using a BEGIN Block 10. Generating a Web Access Report The &new_visit and &add_to_visit Subroutines Generating the Report Showing the Details of Each Visit Reporting the Most Popular Pages Fancier Sorting Mailing the Report Using cron 11. Link Checking Maintaining Links Finding Files with File::Find Looking for Links Extracting Putting It All Together Using CPAN Checking Remote Links A Proper Link Checker 12. Running a CGI Guestbook The Guestbook Script Taint Mode Guestbook Preliminaries Untainting with Backreferences File Locking Guestbook File Permissions 13. Running a CGI Search Tool Downloading and Compiling SWISH-E Indexing with SWISH-E Running SWISH-E from the Command Line Running SWISH-E via a CGI Script 14. Using HTML Templates Using Templates Reading Fillings Back In Rewriting an Entire Site 15. Generating Links The Docbase Concept The CyberFair Site's Architecture The Script's Data Structure Using Data::Dumper Creating Anonymous Hashes and Arrays Automatically Generating Links Inserting the Links 16. Writing Perl Modules A Simple Module Template Installing the Module The Cyberfair::Page Module 17. Adding Pages via CGI Script Why Add Pages with a CGI Script? A Script for Creating HTML Documents Controlling a Multistage CGI Script Using Parameterized Links Building a Form Posting Pages from the CGI Script Running External Commands with system and Backticks Race Conditions File Locking Adding Link Checking 18. Monitoring Search Engine Positioning Installing WWW::Search A Single-Search Results Tool A Multisearch Results Tool The map Function 19. Keeping Track of Users Stateless Transactions Identifying Individual Users Basic Authentication Automating User Registration Storing Data on the Server The Register Script The Verification Script 20. Storing Data in DBM Files Data Storage Options The tie Function A DBM Example Script Blocking Versus Nonblocking Behavior Storing Multilevel Data in DBM Files An MLDBM-Using Registration Script An MLDBM-Using Verification Script 21. Where to Go Next Unix System Administration Programming Apache Server Administration and mod_perl Relational Databases Advocacy Index