advertisement

O'Reilly Tags

We're experimenting with a folksonomy based on tag data provided by del.icio.us. Follow development in this blog post.


Building Good CPAN Modules (11 tags)
Your code is amazing. It works exactly as you intended. You've decided to give back, to share it with the world by uploading it to the CPAN. Before you do, though, there are a few fiddly details about cross-platform and cross-version compatibility to keep in mind. Rob Kinyon gives several guidelines about writing CPAN modules that will work everywhere they will be useful.

An Introduction to Test::MockDBI (5 tags)
It is a sweet and fitting thing to test your code, but if you're working with non-Perl, you'll likely run into difficult situations. For example, how do you force a database connection failure to test that you can recover? Mark Leighton Fisher has an answer: mock up the database. He explains the design, goals, and use of Test::MockDBI.

Annotating CPAN (5 tags)
Perl has voluminous documentation, both in the core distribution and in thousands of CPAN modules. That doesn't make it all perfect, though, and the amount of documentation can make it daunting to find and recommend changes or clarifications. The Perl Foundation recently sponsored Ivan Tubert-Brohman to fix this; here's how he built AnnoCPAN, an annotation service for module documentation.

Rapid Website Development with CGI::Application (5 tags)
Perl has a wealth of good web frameworks. One of the season's toolkits, CGI::Application, has recently seen a bout of new development to make building web apps faster and much easier. Mark Stosberg demonstrates these new features and how to use them.

Implementing Flood Control (4 tags)
If the load of application relies on incoming events, you may eventually face the happy curse of popularity: too much work to do with your available resources. If you set a limit on how many events you can process within a time period, you can avoid the flood. Vladi Belperchinov-Shabanski explains the algorithm and demonstrates working code.