Home > Store

Perl by Example, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

Perl by Example, 3rd Edition


  • Sorry, this book is no longer in print.
Not for Sale



  • NEW - CGI for Web development coverage expanded—Including CGI.pm and database integration with DBI.
    • Shows students how to program dynamic web sites. Ex.___

  • NEW - New exercises and examples in every chapter—Addressing UNIX, Linux, Windows (Win32), and Macintosh.
    • Provides students with examples in the new and improved pedagogical format introduced in the Second Edition. Ex.___

  • NEW - Revised and updated for Perl 5.6.0.
    • Provides students with the most current references to the latest software versions. Ex.___

  • NEW - MacPerl Mac and Windows NT installation.
    • Enables students with knowledge of either operating system to use the reference. Ex.___

  • Proven methodology and sample programs.
    • Provides students with a tried and true presentation of the subject. Ex.___

  • Basic to advanced programming.
    • Takes students from their first program to highly sophisticated Perl scripting. Ex.___

  • Tutorial and reference.
    • Provides students with step-by-step guidelines that they can refer back to in the future. Ex.___

  • Utilities substitute.
    • Shows students how Perl can be a convenient substitute for grep, awk, sed, tr, shells and C. Ex.___

  • Perl development—Names and operators, regular expression, file handles, libraries, references, reporting, scripting for complex networking and interprocess communications tasks.
    • Provides students with insight into every aspect of Perl. Ex.___


  • Copyright 2002
  • Edition: 3rd
  • Book
  • ISBN-10: 0-13-028251-0
  • ISBN-13: 978-0-13-028251-4

The grand-daddy of all Perl guides-now updated for Perl on all key platforms.

  • All new edition of the classic hands-on guide to Perl
  • Extensive new coverage of CGI for Web development
  • Now with full cross-platform coverage, including Linux, UNIX, Windows NT, and Macintosh
  • Packed with examples, all on the enclosed CD-ROM, along with up-to-date Perl software for Windows users
  • Best-selling author Ellie Quigley is Silicon Valley's leading Perl instructor!

The Perl tutorial and reference that started it all is now available in a thoroughly revised edition that covers all flavors of Perl and all system and Web applications. Best-selling author Ellie Quigley combines her deep background and UNIX chops with up-to-the-minute experience teaching Perl and shell programming on all platforms. This translates into hands-on examples that all users can put straight to work whether scripting Web applications or managing networks.

Filled with practical information on Perl development, Perl by Example, Third Edition covers names and operators, regular expressions, file handles, libraries, references, reporting, and more.

Highlights include:

  • Support for Perl on Unix, Linux, Windows, and Macintosh
  • CGI Web development with CGI.pm
  • Database integration with Perl DBI

The user-friendly style offers one-to-one comparisons with other popular languages and utilities and a massive reference section for easy look-up. The hands-on tutorials are great for beginners, but also offer handy refreshers for experienced programmers looking to update their skills.

About the CD-ROM

The CD-ROM includes all source code from the book, plus new Perl distributions for Windows.

Sample Content

Table of Contents



1. The Practical Extraction and Report Language.

What Is Perl? Who Uses Perl? Which Perl? Where to Get Perl. What Is CPAN? Perl Documentation.

2. Perl Scripts.

Perl at the Command Line. Script Setup. The Script. Exercise 1: Getting with It Syntactically.

3. Getting a Handle on Printing.

The Filehandle. Words. The print Function. The printf Function. Exercise 2: A String of Perls.

4. What's in a Name.

About Perl Variables. Scalars, Arrays, and Hashes. Reading from STDIN. Array Functions. Hash (Associative Array) Functions. More Hashes. Exercise 3: The Funny Characters.

5. Where's the Operator?

About Perl Operators. Mixing Data Types. Precedence and Associativity. Exercise 4: Operator, Operator.

6. If Only, Unconditionally, Forever.

Control Structures, Blocks, and Compound Statements. Decision Making-Conditional Constructs. Loops. Exercise 5: What Are Your Conditions?

7. Regular Expressions-Pattern Matching.

What Is a Regular Expression? Expression Modifiers and Simple Statements. Regular Expression Operators. Exercise 6: Is it sed, awk, or grep? Give Perl a Whirl!

8. Getting Control-Regular Expression Metacharacters.

Regular Expression Metacharacters. Unicode. Exercise 7: Is it sed, awk, or grep? Give Perl Another Whirl!

9. Getting a Handle on Files.

The User-Defined Filehandle. Passing Arguments. File Testing. Exercise 8: Getting a Handle on Things.

10. How Do Subroutines Function?

Subroutines/Functions. Exercise 9: I Can't Seem to Function Without Subroutines.

11. Modularize It, Package It, and Send It to the Library!

Packages and Modules. The Standard Perl Library. Exercise 10: I Hid All My Perls in a Package. Exercise 11: Pack It up and Take It to the Library.

12. Does This Job Require a Reference?

What Is a Reference? Exercise 12: It's Not Polite to Point!

13. Bless Those Things! (Object-Oriented Perl)

The OOP Paradigm. Classes, Objects, and Methods. Inheritance. Public User Interface-Documenting Classes. Using Objects from the Perl Library. Exercise 13: What's the Object of This Lesson? Exercise 14: Perls in a Pod.

14. Those Magic Ties, DBM Stuff, and the Database Hooks.

Tying Variables to a Class. DBM Files.

15. Introduction to Perl Database Programming.

Chapter Overview. Perl Database Programming. Perl Programming with an RDBMS. Accessing MSS Using ADO and DBI. Accessing Oracle Using ADO and DBI. Exercises: Non-Programming. Exercise 15: Introduction to Using MSS. Exercise 16: Executing persons.sql in MSS. Exercise 17: Introduction to Using Oracle. Exercise 18: Executing persons.sql in Oracle. References.

16. Interfacing with the System.

System Calls. Processes. Other Ways to Interface with the Operating System. Error Handling. Signals.

17. Report Writing with Pictures.

The Template.

18. Send It Over the Net and Sock It To 'Em!

Networking and Perl. Client/Server Model. Network Protocols (TCP/IP). Network Addressing. Sockets. Client/Server Programs. The Socket.pm Module.

19. CGI and Perl: The Hyper Dynamic Duo.

What Is CGI? Internet Communication Between Client and Server. Creating a Web Page with HTML. How HTML and CGI Work Together. Log Files. Where to Find CGI Applications. Getting Information Into and Out of the CGI Script. Processing Forms with CGI. The CGI.pm Module. Exercise 19: Surfing for Perls. Exercise 20: Let's Use CGI.pm.

Appendix A: Perl Built-Ins, Pragmas, Modules, and the Debugger.

Perl Functions. Special Variables. Perl Pragmas. Perl Modules. Command Line Switches. Debugger.

Appendix B: Some Helpful Scripts.

taintperl Script by Mark Houser. maxpstat by John J. Nouveaux. randomize by John J. Nouveaux.

Appendix C: An Object-Oriented Perl/CGI Program.

The analyze.cgi Program and Associated Files.

Appendix D: HTML Documents: A Basic Introduction.

Intro to the Intro. What Is HTML? HTML Tags. The Minimal HTML Document. Character Formatting. Linking. Adding Comments. Case Sensitivity. Graphics and Images. Troubleshooting. Metatags, Cascading Style Sheets, and Java. Looking Behind the Scenes (or, What Did We Do Before the Right-Click?). What About Frames? Some Final Thoughts.




Last week, I was teaching Perl at the UCSC extension in Santa Clara, California to a group of professionals coming from all around the Bay Area. I always ask at the beginning of the class, "and so why do you want to learn Perl?". The responses vary from, "Our company has an auction site on the Web and I'm the webmaster. I need to maintain the CGI programs that process our orders, " or "I work in a genetics research group at Stanford and have to deal with tons of data . . . we're looking for the gene that causes arteriosclerosis . . . oh and I heard that if I learn Perl, I won't have to depend on programmers to do this," or "I work at a local bank and we use Perl to interface with our big Oracle databases," or "I'm a UNIX/NT system administrator and our boss has decided that all future admin scripts should be written in Perl," or "I'm designing a Web page for my wife who wants to do Taro card readings for profit," or "I just got laid off and heard that it's an absolute must to have Perl on my resume." And I am always amazed at the variety of people who show up: engineers, scientists, geneticists, meteorologists, managers, salespeople, programmers, techies, hardware guys, students, stockbrokers, administrators of all kinds, librarians, authors, bankers, artists-you name it. Perl does not exclude anyone. Perl is for everyone and it runs on everything.

No matter who you are, I think you'll agree, a picture is worth a thousand words, and so is a good example. Perl by Example is organized to teach you Perl from scratch with examples of complete succinct programs. Each line of a script example is numbered, and important lines are highlighted in bold. The output of the program is then displayed with line numbers corresponding to the script line numbers. Following the output is a separate explanation for each of the numbered lines. The examples are small and to the point for the topic at hand. Since the backbone of this book was used as a student guide to a Perl course, the topics are modularized. Each chapter builds on the previous one with a minimum of forward referencing and a logical progression from one topic to the next. There are exercises at the end of the chapters. You will find all of the examples on the CD at the back of the book. They have been thoroughly tested on a number of major platforms.

Perl by Example is not just a beginner's guide, but a complete guide to Perl. It covers many aspects of what Perl can do, from regular expression handling, to formatting reports, to interprocess communication. It will teach you about Perl and, in the process, a lot about UNIX and Windows. Since Perl was originally written on and for UNIX systems, some UNIX knowledge will greatly accelerate your learning path, but it is not assumed that you are by any means a guru. Anyone reading, writing, or just maintaining Perl programs can greatly profit from this text. Topics such as networking, system calls, IPC, and CGI are designed to save the time it takes to figure out how the functions work, what libraries are needed, the correct syntax, etc. This third edition also covers Perl objects, references, and CGI, as well as a new chapter to show you how to use the popular CGI.pm module by Lincoln Stein.

Perl has a rich variety of functions for handling strings, arrays, the system interface, networking, and more. In order to understand how these functions work, background information concerning the hows, whys, and what fors is provided before demonstrating functional sample programs. This eliminates constantly wading through manual pages and other books to understand what is going on, what the arguments mean, and what the function actually does.

The appendices contain a complete list of functions and definitions, command line switches, special variables, popular modules, the Perl debugger; a fully functional, object-oriented CGI program; some other helpful scripts; and a helpful HTML tutorial.

I have been teaching now for the past 30 years and am committed to understanding how people learn. Having taught Perl now for over eight years, all over the world, I find that many new Perlers get frustrated when trying to teach themselves how to program. I found that most people learn best from succinct little examples and practice. So I wrote a book to help myself learn and to help my students, and now to help you. As Perl has grown, so have my books. This latest third edition, includes information for those using Windows as well as different flavors of UNIX. In my book you will not only learn Perl, you will also save yourself a great deal of time. At least that's what my students and readers have told me. You be the judge.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership