Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Alias (5735)

  (email not shown publicly)

Journal of Alias (5735)

Tuesday June 05, 2007
01:01 AM

YAML::Tiny getting closer to full CPAN support

[ #33430 ]

Half a dozen releases of YAML::Tiny has seen most of the rough edges removed and now my tinderbox run only fails 119 of 36,000 tests.

Less than a third of these are YAML::Tiny failing, most are or YAML::Syck comparison tests crashing/erroring when parsing the META.yaml files (i.e. it's them breaking, not me)

So now YAML::Tiny can tick the following boxes:

* A single pure Perl .pm file (i.e. easily embedable)
* 5.004 compatible (I think) with no non-core dependencies
* 100% leak free
* Almost as little memory overhead as YAML::Syck
* Almost as fast as YAML::Syck
* Much more accurate than YAML::Syck
* Much faster and lighter than
* Slightly more accurate than (on the spec subset)
* The most likely module to parse the META.yaml files on CPAN

As far as I can tell, the only META.yaml cases that YAML::Tiny CAN'T handle now are ones where Module::Build has made the META.yaml file look like this.

name: File-RandomLine
version: !!perl/hash:Module::Build::Version
    original: 0.18
        - 0
        - 180

And I assume these cases will slowly go away as those authors do point releases with newer versions of Module::Build.

So things are looking pretty good for committing configure_depends: to the META.yaml spec and upgrading the CPAN clients to always use it, because we have a nice small embeddable YAML parser.

Actually, seeing as YAML::Tiny has BOTH a YAML parser and generator in it, I'm tempted to go further and do seperate YAML::Tiny::Parser to hold an even more stripped down version that just has the minumum amount of code necesary to parse (discarding the object structure and generation).

I'm going to start cleaning up YAML::Tiny for a stable release now, basically just error handling tweaks and a testing on more environments (anyone got 5.005 and 5.004 boxes handy?).

If anyone wants to try out the tinderboxing for themselves, it's in my repository at

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.