Books & Videos

Table of Contents

  1. Chapter 1 Introduction

  2. Culture

    1. Chapter 2 Wherefore Art, Thou?

      1. Music to My Ears
    2. Chapter 3 TPJ Cover Art: From Camels to Spam

      1. TPJ #1: The Camel
      2. TPJ #2: The Pearl
      3. TPJ #3: RSA on Greenbar
      4. TPJ #4: Etch-a-Sketch.
      5. TPJ #5: Commodities
      6. TPJ #6: Scrabble
      7. TPJ #7: Spiderball
      8. TPJ #8: The Coffee Cup Fiasco
      9. TPJ #9: Drummer/Coder Wanted
      10. TPJ #10: The Underwood Typewriter
      11. TPJ #11: The Conspiracy
      12. TPJ #12: The Atari Perl Cartridge
      13. TPJ #13: Dance Remixes
      14. TPJ #14: Outlook Not So Good
      15. TPJ #15: Braille blocks
      16. TPJ #16: e. e. cummings’ Gravestone
      17. TPJ #17: Napster
      18. TPJ #18: Spam
      19. TPJ #19: Monopoly Money
      20. TPJ #20: WAP
    3. Chapter 4 Perl Style

      1. Background
      2. Existing Measures
      3. The Basic Units
      4. The Tool
      5. Usage
      6. Why This Should Be Hard To Do
      7. The Perl Compiler to the Rescue
      8. Future Directions
      9. Acknowledgments
    4. Chapter 5 Home Automation with MisterHouse

      1. HA! Perl?
      2. MisterHouse
      3. Objects in the Home
      4. Talking and Listening
      5. A Smart TV Guide
      6. Whole House CallerID
      7. Squeaky Stairs
      8. You Have Mail
      9. Say What?
      10. Give Your House a Brain
    5. Chapter 6 Home Automation: The X10 Nitty-Gritty

      1. Simple Output Commands: The CM17
      2. The ControlX10::CM17 and ControlX10::CM11 Modules
      3. What’s in a Command?
      4. Timing Issues
      5. Bidirectional I/O with the CM11
      6. A Few More Considerations
    6. Chapter 7 A Day in the Life of comp.lang.perl.misc

      1. A Little History
      2. How the “Day in the Life” Was Done
      3. The Raw Statistics
      4. The Day’s Weather Report
      5. Netiquette Nits
      6. The Regulars
      7. The Future of comp.lang.perl.misc
  3. Science

    1. Chapter 8 Perl-fect Sundials

      1. Building Your Own
    2. Chapter 9 Genetic Algorithms

      1. The Genetic Code
      2. Assembling an Organism
      3. Survival of the Fittest
      4. Sex and Mutation
      5. The Terrifying Results
      6. Other Applications
      7. Going Further
      8. Other Fitness Functions
      9. Resources
    3. Chapter 10 How Perl Saved the Human Genome Project

      1. Bioinformatics and Perl
      2. Other Uses for Perl
      3. Problems with Perl
    4. Chapter 11 PDL: The Perl Data Language

      1. The perldl Shell
      2. Listing of a Few PDL Functions
      3. Where Are We Now?
  4. Language

    1. Chapter 12 Chatbot::Eliza

      1. How It Works
      2. What Now?
      3. References
    2. Chapter 13 Infobots and Purl

      1. IRC
      2. Bots and Infobots
      3. So What?
      4. Are You Spongeworthy?
      5. You Can’t Do That in Public!
      6. What Are You Thinking?
      7. Idiot Savant
      8. A Sense of Play
      9. What? We Ordered No Pizzas!
      10. Future Directions
      11. Where to Get It
      12. Acknowledgments
      13. References
    3. Chapter 14 Speech Synthesis

      1. Pre-Recorded Sentences
      2. Lexical Synthesis in One s///
      3. The Out-of-Vocabulary Problem: Synthesis in One s///e
      4. Text-to-Phoneme Conversion
      5. More Context: Two Substitutions
      6. What Else?
      7. References
    4. Chapter 15 Lazy Text Formatting

      1. Text::Autoformat
      2. Paragraphs
      3. Quoting
      4. Lists
      5. Quotations
      6. Widows
      7. Justification and Sentencing
      8. Future Features
    5. Chapter 16 Perl and MIDI: Simple Languages, Easy Music

      1. Hard Things Possible
      2. Approach 1: A Novel Language
      3. Approach 2: An Extensional Language
      4. Easy Things Easy
      5. Behold MIDI::Simple!
      6. “Relative” Notes
      7. Percussion, Uniformity, and noop
      8. The Object-Oriented Interface
      9. Using synch, and Some Actual Music
      10. Mod, Canons, and Rounds
      11. Future Features
      12. References
    6. Chapter 17 Braille Contractions and Regular Expressions

      1. Braille and Contractions
      2. Sample Text in Braille
    7. Chapter 18 Hypernyms, Hyponyms, Pertainyms, and Other Word Relationships

      1. Concepts in Wordnet
      2. Converting the Data
      3. Installing Lingua::Wordnet
      4. Basic Usage
      5. Movin’ It Up a Level
      6. Other Word Relationships
      7. Other Useful Functions
      8. What’s Next?
    8. Chapter 19 Parsing Natural Language

      1. I See a Pattern Developing
      2. Link Grammar
      3. Lingua::LinkParser
      4. Irregular Regular Expressions, Overloaded
      5. What Sucks? What Rocks?
      6. What Sucks, Regex Style
      7. The What-Sucks-Ometer
      8. There’s Lots More Here
      9. References
      10. A Full Lingua::LinkParser Example
    9. Chapter 20 Word Morphology

      1. Morphology: Word Form and Structure
      2. Morphological Analysis and Perl
      3. Constructing a Word Frequency List
      4. Morphological Inflections and Derivations
      5. Representing a Single Rule
      6. Representing Many Rules
      7. Telling Good from Bad
      8. The Key Insight!
      9. Implementing It
      10. Applying the Derivation Process to All Tokens
      11. Summary
      12. Future Work
    10. Chapter 21 Smart Matching for Human Names

      1. Installing the Modules
      2. Module Contents
      3. Using the Modules
      4. What They Do
      5. Matching Nicknames
      6. Conclusion
    11. Chapter 22 Localizing Your Perl Programs

      1. A Localization Horror Story: It Could Happen to You
      2. The Linguistic View
      3. Breaking gettext
      4. Replacing gettext
      5. Buzzwords: Abstraction and Encapsulation
      6. Buzzword: Isomorphism
      7. Buzzword: Inheritance
      8. Buzzword: Concision
      9. The Devil in the Details
      10. Proof in the Pudding: Localizing Web Sites
      11. References
    12. Chapter 23 Internationalized Sorting

      1. Default sort Versus “Normal” English Sorting
      2. Locale-Based Sorting
      3. Spanish: Cana y Caña
      4. Spanish: Chorizo, Chimichangas, Chicharrones, y Churros
      5. Bi-Level Sorting to the Rescue
      6. English: Résumé and Resume
      7. Optimizing with Memoization
      8. Sorting it All Out
    13. Chapter 24 Simulating Typos with Perl

      1. Simulating the Typos
      2. How to Identify Words
      3. Typos in Other Languages
      4. Results
      5. References
    14. Chapter 25 Correcting Typos with Perl

      1. Why Was It Written?
      2. How Does It Work?
      3. The Sub::Approx Module
      4. The Symbol::Approx::Sub Module
      5. Future Plans
      6. Afterword
    15. Chapter 26 Learning Japanese with an HTML Filter

      1. The Web
      2. Dictionary Database
      3. The CGI Script
      4. Taking It a Step Further
      5. Conclusion
      6. wwwkan.pl
  5. Games and Quizzes

    1. Chapter 27 Games in Perl

      1. Strategy Games
      2. Cards
      3. Dice
      4. Word Games
      5. Twitch Games
    2. Chapter 28 The Prisoner’s Dilemma

      1. The Iterated Prisoner’s Dilemma
      2. The Three-Way Prisoner’s Dilemma
      3. The Prisoner’s Dilemma Programming Contest
      4. Results of the Contest
    3. Chapter 29 The Rezrov Infocom Game Interpreter

      1. Resurrecting the Z-Machine
      2. Enter the Camel
      3. What’s It Do?
      4. The Joy of vec
      5. Tinkering with the Z-Machine
      6. Teleport
      7. Bamf
      8. Pilfer
      9. Universal Command Set
      10. Interface Abstraction
      11. Performance Considerations
      12. Quantity Is Job One
      13. A Plea for Inlining
      14. Conclusion
      15. References
    4. Chapter 30 Tktk: A Perl/Tk Solitaire Game

      1. The Rules
      2. A First Cut
      3. Shuffling
      4. Layout
      5. Show the Tableau!
      6. Would You Like to Play a Game?
      7. Making the Moves
      8. Laying the Base
      9. Pickup Lines
      10. Oops!
      11. Finishing Touches
    5. Chapter 31 The First Perl/Internet Quiz Show

      1. Toss-up Questions
      2. Bonus Questions
      3. The Answers
    6. Chapter 32 The Second Perl/Internet Quiz Show

      1. Sample Questions
      2. Toss-up Questions
      3. Bonus Questions
      4. The Answers
    7. Chapter 33 The Third Perl/Internet Quiz Show

      1. Toss-up Questions
      2. Bonus Questions
    8. Chapter 34 The Fourth Perl/Internet Quiz Show

      1. Toss-up Questions
      2. Toss-up Answers
      3. Bonus Answers
    9. Chapter 35 The Perl Whirl Quiz Show

      1. Toss-up Questions
      2. Bonus Questions
      3. Toss-up Answers
      4. Bonus Answers
    10. Chapter 36 The Perl Wizard’s Quiz

      1. Answers
  6. Poetry

    1. Chapter 37 Just Another Perl Haiku

      1. The Tao of Haiku
      2. Haiku Online
      3. Artificial Haiku
      4. The Coy Module
      5. A Note About the Name
      6. Inside the Coy Module
      7. Mere Words
      8. Random Harvesting
      9. Filling in the Blanks
      10. The Other Type of Grammar
      11. Counting the Beat
      12. But Does the Bear Dance?
      13. Extending the Module
      14. Is There a Poet in the House?
      15. It Seemed Like a Good Idea at the Time
    2. Chapter 38 Searching for Rhymes with Perl

      1. Where to Look
      2. Preparing the Data
      3. Searching the Prepared Data
      4. Counting Syllables
      5. Coping with (Syllabic) Stress
      6. A Simple mpron Searcher
      7. Accommodating Another Notation
    3. Chapter 39 The Perl Poetry Contest

      1. The Categories
      2. The Results
  7. Politics

    1. Chapter 40 Pairwise Voting

      1. The Preference Ballot
      2. Impossibility Theorems
      3. The Borda Method
      4. The Hare Method
      5. Pairwise Election Methods
      6. Condorcet’s Method
      7. Smith’s Method
      8. Copeland’s Method
      9. The Algorithms
      10. The Pairwise Engine
      11. Using CGI to Spit It All Out
      12. Random Thoughts
      13. References
      14. Sites
    2. Chapter 41 Secure Internet Voting

      1. About Secure Elections
      2. The Database Schema
      3. Generating VRNs
      4. The E-Ballot
      5. The vote Program
      6. Tallying the Votes
    3. Chapter 42 Perl and Nuclear Weapons Don’t Mix

      1. A Little Rocket Science
      2. Red Alert!
  8. Obfuscated Perl

    1. Chapter 43 The Zeroth Annual Obfuscated Perl Contest

      1. The Categories
      2. How It Works
      3. Hints and Suggestions
      4. So There You Have It
      5. Results
    2. Chapter 44 The First Obfuscated Perl Contest

      1. Results
    3. Chapter 45 The Third Obfuscated Perl Contest

      1. Most Powerful
      2. Most Creative
      3. Best “The Perl Journal”
      4. Best of Show
    4. Chapter 46 The Fourth Obfuscated Perl Contest

      1. Results
    5. Chapter 47 The Fifth Obfuscated Perl Contest

      1. Results
    6. Chapter 48 One-Liners

      1. Useful One-Liners
      2. Not So Useful One-Liners
  1. Colophon