Jonathan Hagey


CONTENTS

Introduction

Chapter 1   An Introduction to Perl

Chapter 2   Principles of General Text Processing-The Backbone of Perl

Chapter 3   Programming with Perl

Chapter 4   HTML and Perl

Chapter 5   Perl Scripts for Windows NT

Chapter 6   Simple Tasks for Perl

Chapter 7   Advanced Tasks for Perl

Chapter 8   System Administration Applications

Chapter 9   Debugging

Chapter 10   The Common Gateway Interface

Chapter 11   The CGI and Networks

Chapter 12   Perl/CGI Libraries and Databases

Chapter 13   Web Sites and Perl

Chapter 14   Perl and Tracking

Appendix   A

Appendix   B

Appendix   C

Appendix   D

Appendix   E

Appendix   F

Appendix G   About the CD ROM

Glossary

Credits


HTML conversion by :
    M/s. LeafWriters (India) Pvt. Ltd.
    Website : http://leaf.stpn.soft.net
    e-mail : leafwriters@leaf.stpn.soft.net


Acquisitions EditorSuzanne Anthony
Development EditorPaula Hardin
Copy EditorsMargo Hill/Kayla Sussell
Project CoordinatorAmi Knox
Technical ReviewerAdam Evans
Cover Design and IllustrationMegan Gandt
Book DesignPaper Crane Graphics, Berkeley
Word ProcessingHoward Blechman
Page LayoutJanet Piercy
IndexerValerie Robbins


Copyright © 1996 by Macmillan Computer Publishing USA. All rights reserved.

PART OF A CONTINUING SERIES

All other product names and services identified throughout this book are trademarks or registered trademarks of their respective companies. They are used throughout this book in editorial fashion only and for the benefit of such companies. No such uses, or the use of any trade name, is intended to convey endorsement or other affiliation with the book.

No part of this publication may be reproduced in any form, or stored in a database or retrieval system, or transmitted or distributed in any form by any means, electronic, mechanical photocopying, recording, or otherwise, without the prior written permission of Macmillan Computer Publishing USA, except as permitted by the Copyright Act of 1976, and the End-User License Agreement at the back of this book, and except that program listings may be entered, stored, and executed in a computer system.

EXCEPT FOR THE LIMITED WARRANTY COVERING THE PHYSICAL DISK(S) PACKAGED WITH THIS BOOK AS PROVIDED IN THE END-USER LICENSE AGREEMENT AT THE BACK OF THIS BOOK, THE INFORMATION AND MATERIAL CONTAINED IN THIS BOOK ARE PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY WARRANTY CONCERNING THE ACCURACY, ADEQUACY, OR COMPLETENESS OF SUCH INFORMATION OR MATERIAL OR THE RESULTS TO BE OBTAINED FROM USING SUCH INFORMATION OR MATERIAL. NEITHER MACMILLAN COMPUTER PUBLISHING USA NOR THE AUTHOR SHALL BE RESPONSIBLE FOR ANY CLAIMS ATTRIBUTABLE TO ERRORS, OMISSIONS, OR OTHER INACCURACIES IN THE INFORMATION OR MATERIAL CONTAINED IN THIS BOOK, AND IN NO EVENT SHALL MACMILLAN COMPUTER PUBLISHING USA OR THE AUTHOR BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF SUCH INFORMATION OR MATERIAL.

ISBN 1-56276-420-9


Acknowledgments

There are several people I wish to thank and acknowledge as critical in making this book possible. Without their efforts I would have had nothing to write about-so thank you all, very much.

Thanks to Larry Wall for creating Perl, Clark Williams and Dean Troyer for porting Perl 4 to Windows NT, Dick Hardt, Doug Lankshear, Greg Lypowy, and Wei-Yuen Tan for porting Perl 5 to Windows NT, Ziff-Davis Press for taking a chance on a first time author (from Canada even!), Hewlett-Packard for lending me a Netserver 5/100 LF to test the scripts for this book, Microsoft for getting me Windows NT Server 3.51, Netscape for the use of their browser, Navigator, Crombie Machines Inc., Suzanne Anthony and Paula Hardin (two very appreciated publishing princesses), Salmon Nensi, for his quick mind and nerves of steel, Margo Hill and Kayla Sussell, for their quick fingers, Bettina Hagey, for her patience, love and understanding, Jonathan Appavoo and Christopher Davedson, for moral support, Adam Evans, for being the right person in the right place at the right time, Larry Waterhouse, Magdalene and Xavier, for not sticking their grilled cheese sandwiches in the CD-ROM drive, and finally my parents, Donald and Nancy Hagey, for making sure I was fed while I wrote this book.


Introduction

Before we get right into Perl I want to tell you a little story about myself.

Back in high school I was on the wrestling team. I liked wrestling practice, but I didn't really like the competitions, and I would get this terrible attack of butterflies in my stomach the day of each and every match. I would suffer through them, telling myself that over time I would get used to the feeling, and maybe they would eventually go away altogether. Then, before yet another match when my insides felt like I was on a roller coaster, I asked the most experienced member of the team if he had ever had these nervous attacks. He told me that he had been wrestling for seven years, and if anything, his anxiety before a match had gotten worse. Needless to say I stopped my wrestling career the next day, and started in on computers full time.

I tell you this little anecdote because often we in the computer industry are learning new things. And even though it's not wrestling, that nervous "twitch" can come back.

The first reaction I experience when I have to learn something new (especially when it comes to computers) is usually fear. Even though I've been working in the computer industry for years, and have mastered some pretty tricky applications and operating systems, I get that little queasy feeling when I have to learn something new. I'm still afraid of looking stupid; of feeling lost (again); of not being able to find the information I need to get my work done on time. This is a common reaction that many of you may share with me when it comes to learning new material. That is why I have tried in this book to take what anxiety I can out of learning Perl for CGI.

This panicky feeling is also one of the reactions the creators of Perl took into account when designing and refining their programming language. Perl is a powerful computer language that is accessible for use by a wide range of people. While this may not have been the original aim of Perl, it clearly could have been.

Take your time with this book, gather other books and resources that will inform you about your system, network, and software. Only with an informed, full picture will you truly achieve your programming goals.

-Jonathan Hagey,
Paris, 1996