By Jon Orwant Publisher: O'Reilly Media Released: March 2003 Pages: 448
In its first five years of existence, The Perl Journal (TPJ) became the voice of the Perl community. Every serious Perl programmer subscribed to it, and every notable Perl guru jumped at the opportunity to write for it. TPJ explained critical Perl topics and demonstrated Perl's utility for fields as diverse as astronomy, biology, economics, AI, and games. Back issues were hoarded, or swapped like trading cards. No longer in print format, The Perl Journal remains a proud and timeless achievement of Perl during one of its most exciting periods of development. Web, Graphics & Perl/Tk is the second volume of The Best of the Perl Journal, compiled and re-edited by the original editor and publisher of The Perl Journal, Jon Orwant. In this series, we've taken the very best (and still relevant) articles published in TPJ over its five years of publication and immortalized them into three volumes. The forty articles included in this volume are simply some of the best Perl articles ever written on the subjects of graphics, the Web, and Perl/Tk, by some of the best Perl authors and coders. Much of Perl's success is due to its capabilities for developing web sites; the Web section covers popular topics such as CGI programs, mod_perl, spidering, HTML parsing, security, and content management. The Graphics section is a grab bag of techniques, ranging from simple graph generation to ray tracing and real-time video digitizing. The Perl/Tk section shows you how to use the popular Perl/Tk toolkit for developing graphical applications that work on both Unix/Linux and Windows without a single change. Written by twenty-three of the most prominent and prolific members of the closely-knit Perl community, including Lincoln Stein, Mark-Jason Dominus, Alligator Descartes, and Dan Brian, this anthology does what no other book can, giving unique insight into the real-life applications and powerful techniques made possible by Perl. |
-
Chapter 1 Introduction -
Web -
Chapter 2 CGI Programming - CGI Programming Without CGI.pm
- The CGI.pm Module
-
Chapter 3 Saving CGI State - State in CGI Scripts
- A Sample State-Maintaining CGI Script
-
Chapter 4 Cookies - Creating Cookies
- Retrieving Cookies
- A Sample Cookie Program
-
Chapter 5 mod_perl - Transaction Handlers
- A Typical Content Handler
- Apache::Registry
- A Typical Non-Content Handler
- Getting Fancy: A Stately Script
- Impaled by the Fork
- Other mod_perl Features
-
Chapter 6 Creating mod_perl Applications - So, What Is This mod_perl Thing, Anyhow?
- Developing with mod_perl
- Apache::Registry
- Embperl
- Writing Your Own Handler
- Performance
- Our Sample Application
- Components
- DBI and Apache::DBI
- Apache::AuthDBI
- Apache::Sandwich
- Writing the Application Code
- Putting It All Together
-
Chapter 7 Proxying with mod_perl - Why Proxy?
- How the Proxy Protocol Works
- Identifying Ads
-
Chapter 8 Authentication with mod_perl - Access Control
- Authentication
- Authorization
- Conclusion
-
Chapter 9 Navigation Bars with mod_perl - The Configuration File
- Activating the Navigation Bar
- Generating the Navigation Bar
- A Foundation to Build On
-
Chapter 10 Scripting the Web with LWP -
Chapter 11 Five Quick Hacks: Downloading web Pages - Downloading Currency Exchange Rates
- Downloading Weather Information
- Downloading News Stories
- Completing U.S. Postal Addresses
- Downloading Stock Quotes
- Conclusion
- Afterword
-
Chapter 12 Downloading Web Pages Through a Proxy Server - Afterword
-
Chapter 13 HTML::Parser - Getting Started
- The Identity Parser
- The HTML Tag Stripper
- Another Example: HTML Summaries
- Another Fictional Example
- Using HTML::Parser Version 3
- Acknowledgments
-
Chapter 14 Scanning HTML - HTML::Parser, HTML::TreeBuilder, and HTML::Element
- Scanning HTML Trees
- Complex Criteria in Tree Scanning
- A Case Study: Scanning Yahoo! News
- Regardez, Duvet!
-
Chapter 15 A Web Spider in One Line - Callbacks and Closures
- Cascading Arrows
- Using Modules with One-Liners
- The End
-
Chapter 16 Webpluck - Similar Tools
- How to Use webpluck
- How webpluck Works
- The Dark Side of the Force
-
Chapter 17 Torture-Testing Web Servers and CGI Scripts - The Code
- Wrapping Up
-
Chapter 18 Securing Your CGI Scripts - The Example Script
- Designing the Script
- The chat2.pl Library
- Oops
- The CGI Script
- The Rest of the Script
- Caveats
-
Chapter 19 Building Web Sites with Mason - What Is Mason?
- Installation
- Building a Dynamic Site
- What Now?
-
Chapter 20 Surreal HTML - How It Works
- Prompting the User
- Fetching the Document
- Running the Travesty Algorithm
- Printing the Mangled Document
-
Chapter 21 Web Page Tastefulness - How It Works
- The <BASE> Tag
- For Extra Credit
-
Chapter 22 Summarizing Web Pages with HTML::Summary - CS-Web: A Search Engine for Canon’s Web Space
- META Tags
- Basic Summarization Methods
- HTML::Summary
- The Summarization Algorithm
- Sentence Splitting
- Conclusion
- Afterword: Truncating Japanese Text
-
Chapter 23 Wireless Surfing with WAP and WML - A Quick Look at WAP
- Enabling WAP on Apache
- WML Basics
- WAP Cards
- Developing WAP Applications
- CGI::WML
- A Small File Browser with CGI::WML and mod_perl
- Generating WML with HTML::Mason
- A WML Phone Directory with Mason
- WML with Straight Perl
- A Remote Control for Home Automation
- Creating a Personal Portal
-
Graphics -
Chapter 24 Web Plots with Gnuplot - Using Gnuplot
- Parsing Log Files
- Putting It All Together
- Simple Things Made Easy
-
Chapter 25 GD-Graph3d - Using GD-Graph3d
- What the Future Holds
- Installing GD
-
Chapter 26 GD and L-Systems - GD
- L-Systems
- Turtles
- A Turtle Draws a Tree
- Putting L-Systems to Work
- Leaves
- Flowers
- Bringing It All Together
- Resources
-
Chapter 27 OpenGL - Back to Basics
- Graphical Primitives
- Drawing on the Screen
- Introduction to OpenGL
- OpenGL and Perl
- Drawing Objects
- Resources
- References
- Acknowledgments
-
Chapter 28 Ray Tracing - Technique
- Make It Faster
- Mathematics
- The Program
- The Input
- The Output
- Internals
- Other Directions
-
Chapter 29 Perl and the Gimp - Using the Gimp
- Getting the Tools
- Using the Gimp Module
- Moving On
-
Chapter 30 Glade - GTK+/Gnome
- Perl and GTK+/Gnome
- Glade
- Installation
- Designing an Interface
- Adding Code
- Saving and Building the Project
- Writing the Signal Handler Code
- Inheritance as a GUI Development Tool
- Further Exploration
- More Information
-
Chapter 31 Gnome Panel Applets - Gnome
- Program Overview
- Initialization
- The Callbacks
- Conclusion
- Afterword
-
Chapter 32 Capturing Video in Real Time - Video::Capture::V4l
- Part I: Video Capturing
- Capturing Frames in a Loop
- Channels, Tuners, and Audio and Picture Settings
- Magic Constants for Frequencies?
- Example: Image Sequence Detection
- Example: Real Time Video Capturing
- Part II: The Vertical Blanking Interval
- Standards
- Decoding VPS
- The Autotune Script
- Decoding Videotext
- References
-
Perl/Tk -
Chapter 33 A Perl/Tk Roadmap - Understand the Basics
- Ignore What You Don’t Need
-
Chapter 34 Getting Started with Perl/Tk - Perl/Tk Programming
- A Sample Perl/Tk Program: plop
- Improving plop
-
Chapter 35 Scoreboard: A 15-Minute Perl/Tk Application - The Need
- The Design
- The Implementation
-
Chapter 36 The Mouse Odometer - Measuring Distance
- Menus
- The ColorEditor Widget
- Composite Widgets
-
Chapter 37 Events - Timer Events
- I/O Events
- Idle Events
- Pong
- Miscellaneous Event Commands
-
Chapter 38 The Pack and Grid Geometry Managers - A Brief Look at the Packer
- The Gridder
-
Chapter 39 Drawing on a Canvas - Our Mower Is Programmable!
- A Canvas Widget Is the Lawn
- Defining the Perl Mowing Module
- Zero Turning Radius, Take One
- The Canvas Line Item Type
- Zero Turning Radius, Take Two
- Rotating Simple Objects in Canvas Space
- The Canvas Rectangle and Text Item Types
- The Canvas Arc Item Type
- Nonzero Turning Radius, Take One
- Canvas Tags
- Scaling Canvas Items
- The Real World Is Uncertain
-
Chapter 40 Displaying Databases with the Tree Widget - Using Databases from Perl
- Overview of the tkdb Application
- Building the Graphical Interface
- Creating a Tree View of a Database
- Making Changes to a Database
- The Tk::Error Subroutine
-
Colophon |
- Title:
- Web, Graphics & Perl/Tk Programming
- Edited By:
- Jon Orwant
- Publisher:
- O'Reilly Media
- Formats:
-
- Print
- Ebook
- Safari Books Online
- Print:
- March 2003
- Ebook:
- October 2010
- Pages:
- 448
- Print ISBN:
- 978-0-596-00311-1
- | ISBN 10:
- 0-596-00311-0
- Ebook ISBN:
- 978-1-4493-0170-5
- | ISBN 10:
- 1-4493-0170-3
|
Colophon Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Web, Graphics, and Perl/Tk: Best of the Perl Journal is an emu (Dromaius novaehollandiae). This large, flightless bird is found throughout the Australian bush steppes. The emu is one of the largest birds in existence, second only to its cousin, the ostrich. Adult emus stand about 5 feet high and weigh up to 120 pounds. The grayish-brown emu's small wings contain only six or seven feathers. They are hidden by the long, hairlike rump plumage. Emus have extremely long legs, which they use as defensive and offensive weapons when fighting. A human limb can be broken by a kick from an emu. Their powerful legs make emus strong swimmers and fast runners; they can reach speeds of up to 50 kilometers per hour. Male emus, which are slightly smaller than females, tend to the incubation of eggs and the raising of the young. An emu nest contains as many as fifteen to twenty-five deep green eggs, laid by several hens. Incubation of the eggs takes from twenty-five to sixty days. The large discrepancy in incubation time occurs because the male needs to leave the nest periodically to find food and drink. The length of time he is away affects the time for incubation. Newly hatched emus weigh about 15 ounces. They are fully grown at two to three years. The relationship between emus and Australian farmers has always been adversarial; three coastal subspecies of emu have been exterminated. Because emus can jump over high fences, it is difficult to keep them out of fields, where they eat and trample crops. In the arid Australian bush, emus also compete with cattle and sheep for grass and water. On the other hand, emus eat many insects that would otherwise eat crops. In 1932, Australian farmers declared war on the emus, making an all-out effort to eradicate them. Fortunately, the effort failed. The battle between emus and farmers continues to this day. Colleen Gorman was the production editor and the copyeditor for Web, Graphics, and Perl/Tk: Best of the Perl Journal. Claire Cloutier, Genevieve d'Entremont, and Jane Ellin provided quality control. Tom Dinse wrote the index. Hanna Dyer and Ellie Volckhausen designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from Johnson's Natural History II. Emma Colby produced the cover layout with Quark-XPress 4.1 using Adobe's ITC Garamond font. David Futato designed the interior layout. Erik Ray, Mike Sierra, and Neil Walls converted the files from pod to FrameMaker 5.5.6. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Clairemarie Fisher O'Leary. |
|
Description
|
Table of Contents
|
Product Details
|
Colophon
|
 |
|
 |
|
|
|
Recommended for You
|
Recently Viewed
|
 |
|
By Simson Garfinkel, Gene Spafford
June 1991
By Cricket Liu, Adrian Nye, Jerry Peek, Bryan Buus, Russ Jones
October 1994
|
Customer Reviews
By PerlWriter from New Mexico
|
|
|