| | Copyright |
| | About the Author |
| | Acknowledgments |
| | We Want to Hear from You! |
| | Reader Services |
| | Introduction |
| | | How to Use This Book |
| | | Conventions Used in This Book |
| | Part I. Perl Fundamentals |
| | | Hour 1. Getting Started with Perl |
| | | Installing Perl |
| | | Documentation |
| | | Your First Program |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 2. Perl's Building Blocks: Numbers and Strings |
| | | Literals |
| | | Scalar Variables |
| | | Expressions and Operators |
| | | More Operators |
| | | Exercise: Interest Calculator |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 3. Controlling the Program's Flow |
| | | Blocks |
| | | The if Statement |
| | | Looping |
| | | Other Flow Control Tools |
| | | Exercise: Finding Primes |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 4. Stacking Building Blocks: Lists and Arrays |
| | | Putting Things into Lists and Arrays |
| | | Getting Elements Out of an Array |
| | | Manipulating Arrays |
| | | Exercise: Playing a Little Game |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 5. Working with Files |
| | | Opening Files |
| | | Reading |
| | | Writing |
| | | Free Files, Testing Files, and Binary Data |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 6. Pattern Matching |
| | | Simple Patterns |
| | | The Metacharacters |
| | | Substitution |
| | | Exercise: Cleaning Up Input Data |
| | | Pattern Matching Odds and Ends |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 7. Hashes |
| | | Filling Your Hash |
| | | Getting Data Out of a Hash |
| | | Lists and Hashes |
| | | Hash Odds and Ends |
| | | Useful Things to Do with a Hash |
| | | Exercise: Creating a Simple Customer Database with Perl |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 8. Functions |
| | | Creating and Calling Subroutines |
| | | Scope |
| | | Exercise: Statistics |
| | | Function Footnotes |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | Part II. Advanced Features |
| | | Hour 9. More Functions and Operators |
| | | Searching Scalars |
| | | Transliteration, Not Substitution |
| | | A Better Way to print |
| | | Exercise: A Formatted Report |
| | | New Ways with Arrays |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 10. Files and Directories |
| | | Getting a Directory Listing |
| | | Exercise: The Unix grep |
| | | Directories |
| | | Unix Stuff |
| | | Everything You Ever Wanted to Know About THAT File |
| | | Exercise: Renaming Files En Masse |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 11. System Interaction |
| | | The system() Function |
| | | Capturing Output |
| | | Pipes |
| | | First Lesson in Portability |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 12. Using Perl's Command-Line Tools |
| | | What Is the Debugger? |
| | | Exercise: Finding the Bug |
| | | Other Command-Line Stuff |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 13. References and Structures |
| | | Reference Basics |
| | | Recipes for Structures |
| | | Exercise: Another Game, Maze |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 14. Using Modules |
| | | A Gentle Introduction |
| | | A Quick Tour |
| | | Full List of Standard Modules |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 15. Finding Permanence |
| | | DBM Files |
| | | Exercise: A Free-Form Memo Pad |
| | | Text Files as Databases |
| | | Random File Access |
| | | Locking |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 16. The Perl Community |
| | | What's Perl All About, Anyway? |
| | | The Comprehensive Perl Archive Network (CPAN) |
| | | Your Next Steps |
| | | Other Resources |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | Part III. Applying Perl |
| | | Hour 17. Writing Modules |
| | | Building a Module |
| | | Scoping Revisited |
| | | Another statement: our |
| | | Example: A Module to Handle Common File Information Requests |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 18. Object Primer |
| | | Classes, Properties, and Methods |
| | | Example: Implementation of Car in Perl |
| | | Example: File Information Class |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 19. Data Processing |
| | | How to Look at Data |
| | | Dealing with Table Data |
| | | XML Data |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 20. Perl as a Glue Language |
| | | Weather Station |
| | | Presenting Data as PDF |
| | | Reading and Writing Excel Spreadsheets |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 21. Introduction to CGI |
| | | Browsing the Web |
| | | Don't Skip This Section |
| | | Your First CGI Program |
| | | What to Do When Your CGI Program Doesn't Work |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 22. Basic Forms |
| | | How Forms Work |
| | | Passing Information to Your CGI Program |
| | | Web Security 101 |
| | | A Guestbook |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 23. Complex Forms |
| | | The Stateless Web |
| | | Hidden Fields |
| | | A Multipage Survey |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Hour 24. Manipulating HTTP and Cookies |
| | | The HTTP Conversation |
| | | More Details on Calling CGI Programs |
| | | Cookies |
| | | Long Term Cookies |
| | | Problems with Cookies |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | Part IV. Appendixes |
| | | Appendix A. Installing Modules |
| | | Picking the Right Module |
| | | Installing the Modules Under |
| | | What to Do When You're Not Allowed to Install Modules |
| | Index |