| | | 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 |