
Games, Diversions & Perl Culture
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Table of Contents
- Preface
- Finding Perl Resources
- Conventions Used in This Book
- Comments and Questions
- Acknowledgments
- Introduction
- Part I
- Wherefore Art, Thou?
- Music to My Ears
- TPJ Cover Art: From Camels to Spam
- TPJ #1: The Camel
- TPJ #2: The Pearl
- TPJ #3: RSA on Greenbar
- TPJ #4: Etch-a-Sketch.
- TPJ #5: Commodities
- TPJ #6: Scrabble
- TPJ #7: Spiderball
- TPJ #8: The Coffee Cup Fiasco
- TPJ #9: Drummer/Coder Wanted
- TPJ #10: The Underwood Typewriter
- TPJ #11: The Conspiracy
- TPJ #12: The Atari Perl Cartridge
- TPJ #13: Dance Remixes
- TPJ #14: Outlook Not So Good
- TPJ #15: Braille blocks
- TPJ #16: e. e. cummings' Gravestone
- TPJ #17: Napster
- TPJ #18: Spam
- TPJ #19: Monopoly Money
- TPJ #20: WAP
- Perl Style
- Background
- Existing Measures
- The Basic Units
- The Tool
- Usage
- Why This Should Be Hard To Do
- The Perl Compiler to the Rescue
- Future Directions
- Acknowledgments
- Home Automation with MisterHouse
- HA! Perl?
- MisterHouse
- Objects in the Home
- Talking and Listening
- A Smart TV Guide
- Whole House CallerID
- Squeaky Stairs
- You Have Mail
- Say What?
- Give Your House a Brain
- Home Automation: The X10 Nitty-Gritty
- Simple Output Commands: The CM17
- The ControlX10::CM17 and ControlX10::CM11 Modules
- What's in a Command?
- Timing Issues
- Bidirectional I/O with the CM11
- A Few More Considerations
- A Day in the Life of comp.lang.perl.misc
- A Little History
- How the "Day in the Life" Was Done
- The Raw Statistics
- The Day's Weather Report
- Netiquette Nits
- The Regulars
- The Future of comp.lang.perl.misc
- Part II
- Perl-fect Sundials
- Building Your Own
- Genetic Algorithms
- The Genetic Code
- Assembling an Organism
- Survival of the Fittest
- Sex and Mutation
- The Terrifying Results
- Other Applications
- Going Further
- Other Fitness Functions
- Resources
- How Perl Saved the Human Genome Project
- Bioinformatics and Perl
- Other Uses for Perl
- Problems with Perl
- PDL: The Perl Data Language
- The perldl Shell
- Listing of a Few PDL Functions
- Where Are We Now?
- Part III
- Chatbot::Eliza
- How It Works
- What Now?
- References
- Infobots and Purl
- IRC
- Bots and Infobots
- So What?
- Are You Spongeworthy?
- You Can't Do That in Public!
- What Are You Thinking?
- Idiot Savant
- A Sense of Play
- What? We Ordered No Pizzas!
- Future Directions
- Where to Get It
- Acknowledgments
- References
- Speech Synthesis
- Pre-Recorded Sentences
- Lexical Synthesis in One s///
- The Out-of-Vocabulary Problem: Synthesis in One s///e
- Text-to-Phoneme Conversion
- More Context: Two Substitutions
- What Else?
- References
- Lazy Text Formatting
- Text::Autoformat
- Paragraphs
- Quoting
- Lists
- Quotations
- Widows
- Justification and Sentencing
- Future Features
- Perl and MIDI: Simple Languages, Easy Music
- Hard Things Possible
- Approach 1: A Novel Language
- Approach 2: An Extensional Language
- Easy Things Easy
- Behold MIDI::Simple!
- "Relative" Notes
- Percussion, Uniformity, and noop
- The Object-Oriented Interface
- Using synch, and Some Actual Music
- Mod, Canons, and Rounds
- Future Features
- References
- Braille Contractions and Regular Expressions
- Braille and Contractions
- Sample Text in Braille
- Linguistic Rule Systems
- Generativity Systems
- Optimality Systems
- Regex Replacement as a First Hack
- Contexts in Regular Expressions
- Embedding Code in Regular Expressions
- Rules as Exceptions
- Testing It
- It's Alive!
- Hypernyms, Hyponyms, Pertainyms, and Other Word Relationships
- Concepts in Wordnet
- Converting the Data
- Installing Lingua::Wordnet
- Basic Usage
- Movin' It Up a Level
- Other Word Relationships
- Other Useful Functions
- What's Next?
- Parsing Natural Language
- I See a Pattern Developing
- Link Grammar
- Lingua::LinkParser
- Irregular Regular Expressions, Overloaded
- What Sucks? What Rocks?
- What Sucks, Regex Style
- The What-Sucks-Ometer
- There's Lots More Here
- References
- A Full Lingua::LinkParser Example
- Word Morphology
- Morphology: Word Form and Structure
- Morphological Analysis and Perl
- Constructing a Word Frequency List
- Morphological Inflections and Derivations
- Representing a Single Rule
- Representing Many Rules
- Telling Good from Bad
- The Key Insight!
- Implementing It
- Applying the Derivation Process to All Tokens
- Summary
- Future Work
- Smart Matching for Human Names
- Installing the Modules
- Module Contents
- Using the Modules
- What They Do
- Matching Nicknames
- Conclusion
- Localizing Your Perl Programs
- A Localization Horror Story: It Could Happen to You
- The Linguistic View
- Breaking gettext
- Replacing gettext
- Buzzwords: Abstraction and Encapsulation
- Buzzword: Isomorphism
- Buzzword: Inheritance
- Buzzword: Concision
- The Devil in the Details
- Proof in the Pudding: Localizing Web Sites
- References
- Internationalized Sorting
- Default sort Versus "Normal" English Sorting
- Locale-Based Sorting
- Spanish: Cana y Caña
- Spanish: Chorizo, Chimichangas, Chicharrones, y Churros
- Bi-Level Sorting to the Rescue
- English: Résumé and Resume
- Optimizing with Memoization
- Sorting it All Out
- Simulating Typos with Perl
- Simulating the Typos
- How to Identify Words
- Typos in Other Languages
- Results
- References
- Correcting Typos with Perl
- Why Was It Written?
- How Does It Work?
- The Sub::Approx Module
- The Symbol::Approx::Sub Module
- Future Plans
- Afterword
- Learning Japanese with an HTML Filter
- The Web
- Dictionary Database
- The CGI Script
- Taking It a Step Further
- Conclusion
- wwwkan.pl
- Part IV
- Games in Perl
- Strategy Games
- Cards
- Dice
- Word Games
- Twitch Games
- The Prisoner's Dilemma
- The Iterated Prisoner's Dilemma
- The Three-Way Prisoner's Dilemma
- The Prisoner's Dilemma Programming Contest
- Results of the Contest
- The Rezrov Infocom Game Interpreter
- Resurrecting the Z-Machine
- Enter the Camel
- What's It Do?
- The Joy of vec
- Tinkering with the Z-Machine
- Teleport
- Bamf
- Pilfer
- Universal Command Set
- Interface Abstraction
- Performance Considerations
- Quantity Is Job One
- A Plea for Inlining
- Conclusion
- References
- Tktk: A Perl/Tk Solitaire Game
- The Rules
- A First Cut
- Shuffling
- Layout
- Show the Tableau!
- Would You Like to Play a Game?
- Making the Moves
- Laying the Base
- Pickup Lines
- Oops!
- Finishing Touches
- The First Perl/Internet Quiz Show
- Toss-up Questions
- Bonus Questions
- The Answers
- Toss-up Answers
- Bonus Answers
- The Second Perl/Internet Quiz Show
- Sample Questions
- Toss-up Questions
- Bonus Questions
- The Answers
- Toss-up Answers
- The Third Perl/Internet Quiz Show
- Toss-up Questions
- Bonus Questions
- Toss-up Answers
- Bonus Answers
- The Fourth Perl/Internet Quiz Show
- Toss-up Questions
- Bonus Questions
- Toss-up Answers
- Bonus Answers
- The Perl Whirl Quiz Show
- Toss-up Questions
- Bonus Questions
- Toss-up Answers
- Bonus Answers
- The Perl Wizard's Quiz
- Answers
- Part V
- Just Another Perl Haiku
- The Tao of Haiku
- Haiku Online
- Artificial Haiku
- The Coy Module
- A Note About the Name
- Inside the Coy Module
- Mere Words
- Random Harvesting
- Filling in the Blanks
- The Other Type of Grammar
- Counting the Beat
- But Does the Bear Dance?
- Extending the Module
- Is There a Poet in the House?
- It Seemed Like a Good Idea at the Time
- Searching for Rhymes with Perl
- Where to Look
- Preparing the Data
- Searching the Prepared Data
- Counting Syllables
- Coping with (Syllabic) Stress
- A Simple mpron Searcher
- Accommodating Another Notation
- The Perl Poetry Contest
- The Categories
- The Results
- Best Poem Port
- Haiku
- A Perl Program That Generates Poetry
- Obfuscated Poetry?
- Best of Show
- Part VI
- Pairwise Voting
- The Preference Ballot
- Impossibility Theorems
- The Borda Method
- The Hare Method
- Pairwise Election Methods
- Condorcet's Method
- Smith's Method
- Copeland's Method
- The Algorithms
- The Pairwise Engine
- Using CGI to Spit It All Out
- Random Thoughts
- References
- Sites
- Secure Internet Voting
- About Secure Elections
- The Database Schema
- Generating VRNs
- The E-Ballot
- The vote Program
- Lines 0-4: Load Modules
- Lines 5-7: Define Constants and Globals
- Lines 8-9: Connect to the Database
- Lines 10-20: Start the Page
- Lines 21-22: Initialize Globals
- Lines 23-26: Handle a Submitted Ballot
- Lines 27-30: Generate a New Ballot
- Lines 31-34: Finish up
- Lines 40-60: get_globals Subroutine
- Lines 61-71: The generate_ballot Subroutine
- Lines 72-104: The voting_matrix Subroutine
- Lines 105-116: The registration_number Subroutine
- Lines 117-123: The vote Subroutine
- Lines 124-165: The validate Subroutine
- Lines 166-205: The enter_ballot Subroutine
- Lines 209-223: Utility Subroutines
- Tallying the Votes
- Perl and Nuclear Weapons Don't Mix
- A Little Rocket Science
- Red Alert!
- Part VII
- The Zeroth Annual Obfuscated Perl Contest
- The Categories
- How It Works
- Hints and Suggestions
- So There You Have It
- Results
- Best Four-Line Signature
- Most Powerful
- Most Creative
- Best "The Perl Journal"
- The First Obfuscated Perl Contest
- Results
- Most Powerful
- Most Creative
- Best "The Perl Journal"
- Best Year 2000 Error
- Best of Show
- The Third Obfuscated Perl Contest
- Most Powerful
- Most Creative
- Best "The Perl Journal"
- Best of Show
- The Fourth Obfuscated Perl Contest
- Results
- The First Circle: Print "The Perl Journal"
- The Second Circle: Do Something Powerful
- The Third Circle: Be Creative
- The Fourth Circle: Make Believe You're Another Language
- The Fifth Obfuscated Perl Contest
- Results
- Create a Diversion
- World Wide Wasteland
- Inner Beauty
- The Old Standby
- One-Liners
- Useful One-Liners
- How to Use the Perl Debugger as a Command-Line Interpreter
- Picking Random Elements from an Array
- Evaluating Expressions Inside Double Quotes
- Little-Known Magic Scalar Variables
- A Demonstration of Perl/Tk Widgets
- Using Perl from Emacs
- Using Perl from vi
- Finding Substrings
- Simple Numeric Tests
- Adding a Long List of Numbers on the Command Line
- Printing Perl's Include Path
- Extracting Unique Elements from a List
- Extracting, Sorting, and Printing Unique Words from a File
- Counting the Number of Lines in a File
- Counting Pod and Code Lines
- Separating the Header and Body of a Mail Message
- Sleeping for Less Than a Second
- Listing Installed Modules
- Another Way to List Installed Modules
- Preserving Case in a Substitution
- Finding the Longest Common Prefix and Suffix
- DeMorgan's Rule
- Uuencoding Attachments
- When to Split and When to m//g
- Transposing a Two-Dimensional Array
- Suppressing Backquote Interpolation
- Stripping the Eighth Bits from a String
- Replacing Tabs with Spaces
- A Cheap Alarm Clock
- Primality Testing with a Regular Expression
- Factoring Numbers
- Little-Known Facts About qr
- Halving an Array
- Daylight Savings Time
- Tracking File Progress
- Timing Your Program
- Stringifying Data Structures
- Indenting a Here Document
- Printing All Capitalized Words
- Generating Randomly-Colored xterms
- Extracting PostScript from Windows-Generated PCL Files
- Graphing a Bent Torus with PDL
- Detecting Unbalanced Parentheses, Brackets, and Braces
- Extracting Parenthetical Contents
- Converting a GIF Image to an HTML Table
- Identifying CVS Files That Aren't Up To Date
- Displaying All Perl's Error Messages
- How to Patch Your Netscape Binary to Enable Strong Encryption
- A Little-Known Way to Create References
- Not So Useful One-Liners
- Regular Expression Epigram
- Avoiding Asteroids with Perl
- Maze Generation
- The Pontifex Cryptosystem
- Perl in Sphere, the Movie
- An Absurd Way to Convert from Decimal to Binary
- Swatch Internet Time
- The Game of Life
- Ransom Notes
- Triggering the F00F Pentium Bug
- Magic Cards
- Perl Poem: down.pl
- Perl Poem: 143
- Perl Poem: If Dr. Seuss Were a Perl Programmer
- Perl Poem: Object-Oriented Perl
- Happy Birthday!
- About the Authors
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.