One of my many rules of software engineering, born of more than a decade seeing things done the Wrong Way, is that serialization must occur only at the extreme edges of your program. At all other points you should, if possible, deal only with structured data. The lack of it in one crucial area of the Perl MongoDB driver is what made support for Perl 5.8 no longer possible.
Read more about my rationale for this change at my blog here: Structured Data and the Road to Obsolescence.
One of the most common complaints about the Perl MongoDB driver is that it tries to be a little too clever. In the current production release of MongoDB.pm (version 0.46.2 as of this writing), all datetime values retrieved by a query are automatically instantiated as DateTime objects.
The next release of MongoDB.pm will fix this problem, allowing for nearly tenfold speed increases under some circumstances. The details are available on my blog here: Fast datetimes In MongoDB.
After falling in love with Pod::Weaver, I've released two new Pod::Weaver plugins which you may find useful for assembling boilerplate POD sections in your distributions.
The first is Pod::Weaver::Section::Extends which will add a
=head1 EXTENDS section with a list of everything in your
@ISA at compile-time. It should work with any kind of object that modifies
@ISA in a normal way.
The second is Pod::Weaver::Section::Consumes, which does the same thing for Moose roles. It will interrogate any Moose-compatible
meta object for your class to find a list of roles.
Search this blog
- Building Your First App with MongoDB and Perl at MongoDB Boston
- MongoDB drops support for Perl 5.8.
- Fast datetimes in MongoDB
- MongoDB 0.46.1 Released
- Two new Pod::Weaver plugins
- Falling in love with Pod::Weaver
- Announcing namespace::sweep
- A Pink Camel in the wild
- Here's a stupid bug.
- Introducing App::htrepl