Build a Perl/CGI Voting System
By Allan Peda
2005-07-05
Resources
"Manage Perl persistence with Pixie" (developerWorks, March 2003) takes a more flexible approach to interfacing your Perl project with a relational database.
"Secure programmer: Prevent race conditions" (developerWorks, October 2004) shows how to handle common race conditions on UNIX-like systems, including how to create lock files correctly, use alternatives to lock files, handle the file system, and handle shared directories.
Download the source code (15 KB zip file) for this article.
The Apache Foundation provides extensive information on configuring and securing the Apache Web server.
Apache mod_perl documentation offers excellent advice on file locking, race conditions, and other gotchas.
The The World Wide Web Consortium has legacy links to the National Center for Supercomputing Applications and provides a simple and functional definition of CGI.
Lincoln Stein's home page offers excellent hints and links to reference material regarding the use of the Perl CGI module.
Damien Conway's excellent text on Object Oriented Perl (Manning, January 2000) presents a terrific introduction to the details of object-oriented programming with Perl.
Do you trust electronic or Internet-based voting systems? Read Rebecca Mercuri's thought-provoking Electronic Voting, a criticism of any voting system that doesn't provide indisputable paper ballots.
The Netscape Cookie Specification offers a concise description of the features afforded by their use.
The Comprehensive Perl Archive Network provides access to a mind-boggling list of useful Perl modules.
The Dynamic DNS Website provides resolvable domain names to servers with dynamically assigned IP addresses. This service works for both Win32, Mac, UNIX, and GNU/Linux.
The O'Reilly text CGI Programming with Perl (O'Reilly, July 2000) gives a good, albeit dated overview of the tips, tricks, and potential pitfalls encountered when writing CGI applications.
A useful essay, GET considered harmful; Sometimes offers advice on writing CGI applications that rely on POST and GET methods.
Find more resources for Linux developers in the developerWorks Linux zone.
Get involved in the developerWorks community by participating in developerWorks blogs.
Purchase Linux books at discounted prices in the Linux section of the Developer Bookstore.
Order the no-charge SEK for Linux, a two-DVD set containing the latest IBM trial software for Linux from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Innovate your next Linux development project with IBM trial software, available for download directly from developerWorks.
Tutorial Pages:
»
Using locked DBM files with CGI-driven forms saves client data without DBMS overkill
»
CGI considerations: Simplicity vs. complexity
»
Functional design considerations
»
Details: Hash keys
»
Details: E-mail gotchas
»
Details: Not-so-secret ballots
»
Details: File layout
»
Details: Static vs. dynamic DNS
»
Details: Is GET harmful?
»
Other possible improvements
»
Conclusion
» Resources
First published by IBM DeveloperWorks
|

|
|