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.