All the Perl that's Practical to Extract and Report

Navigation

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Without JavaScript enabled, you might want to
use the classic discussion system instead. If you login, you can remember this preference.

Perl doesn't have a formal spec, either, yet it seems to acquire its fair share of bugs:).

YAML::Tiny has a perfectly decent (informal, implicit) spec:

if write_string is passed any Perl data structure consisting only of unmagical scalars, arrays and hashes, produce a spec-compliant YAML document representing it which can be parsed by YAML::Tiny or any more complete YAML parser;

if write_string is passed any other Perl data structure, report an error saying so;

if read_string is passed any spec-compliant YAML document, either

parse that document correctly and return the corresponding Perl data structure, or

report an error that this document is unsupported and a more complete parser should be used;

if read_string is passed anything that isn't a spec-compliant YAML document, report an error saying so.

Any other behaviour, such as Adam has just fixed, is a bug. The only thing that might be useful is documentation of which cases get 3.1 and which get 3.2.

The YAML specification is huge. Really, really huge. It contains all the functionality of XML, except with flexibility and choice, which makes it easier to read, but with a formal specification that is more complex than XML.

The original pure-Perl implementation YAML costs just over 4 megabytes of memory to load. Just like with Windows.ini files (3 meg to load) and CSS (3