YAPC: Modules

Sat Jul 2 2005 09:24 MDT #

So here's a list of modules I collect over my time at YAPC NA 2005. Some pretty cool stuff!

Development Aids:

  • Module::Starter a replacement for h2xs, et all.

    module-starter --module=Foo::Bar,Foo::Bat \ --author="Andy Lester" --email=andy@petdance.com

    And you are off and running with a new module. Templatized, with a dot file for preferences, this thing was the most hyped thing at the con. Also I've been using it for a while now and loving it.

  • CPAN::Mini::Inject - Inject your modules into the local cpan repo you created using CPAN::Mini* Devel::Refactor - Refactor perl, useing perl tools. Plugs in to Eclipse/EPIC .
  • Devel::Size - track the size of your constructs in ram, helps you find a memory leak or just see what is eating space.
  • Devel::Command - write new commands for the perldebugger. Embrace and Extend I say :)

  • Apache::Test - A Harness for testing apache - brings it up, and down and runs tests against- very nice for mod_perl moudule development.

  • Test::TAP::Model and Test::TAP::HTMLMatrix - produce clean easy to read results for very large Test Suites. Probably useless for small numbers of test but once you get to 1000 tests in a system something needs to be done, and this looks like a good thing to do.
  • Test::MockObject and Test::Mock* these modules let you fake out perl. Very useful for testing things that consume resources from Database, networks etc. Fake thase resurces , and you can run your tests with out the Net. And so easy to use that you'll save time by doing it. Very nice.
  • Devel::Cover - Coverage metrics!!!

To get a job down:

  • Readonly - a much better "use constant".
  • Spiffy - a base class, with utilties for code cleanliness, mixins, and appropriate exporting.
  • Module::Refresh - Does as Apache::StatINC, but for your own long running server. Nice
  • WWW::Mechanize::Pluggable - Plugin to Mech, screw with anything. I think of it as Greasemonkey for mech, but it has infinite uses.

Utilities:

  • DBI::Shell - a database shell for any database. I should not that I tried this out maybe a year ago -and was less than thrilled. But things change, and it looks like I'll be trying it again.
  • Pod::Webserver - Browse your local installed modules perldoc's in a webbrowser. Reduce search.cpan.orgs bandwidth bills.
  • SQL::Translator - Translate MySQL sql to Oracle sql and back, or any number of other dbs, (sqllite, postgress. etc) as well as ouput to Diagrams and HTML. Apparently works wonders. Schemas only - no inserts, deletes, etc.

Add your comments