contains a lot of little bug fixes, so I thought I'd blog about it.
I hope I didn't break anything but you should be aware that chances are a bit
higher than usual. Please test!
At the Perl Toolchain Summit
I decided to work on trailing comments for YAML.pm, and then I felt like digging a bit deeper
into other bugs.
YAML::Syck has a
option to disable loading objects. This is important
when loading YAML from an untrusted source. I added this to YAML::XS last year, and now also YAML.pm
has this option.
See PR 197
See myreport on the
summit where I described the changes.
You should be aware that a trailing
became part of the content
previously. Make sure you put quotes around such data now.
Mapping keys starting with
Such keys weren't loaded correctly because they were mistaken as special
See PR 194
must be quoted
is a special default key. When dumping a hash with such a key, it must
be quoted to be interpreted as normal content.
See PR 202
Multiple regexp roundtrip does not grow
When loading and dumping regexes multiple times, it would grow by putting
around it every time. This bug had been fixed in YAML::XS a while ago.
See PR 203
Fix loading strings with multiple spaces
Top level scalars on the
line would lose multiple spaces previously:
--- a text with multiple spaces --- "also spaces in quotes were lost"
See PR 172
Support reverse order of block scalar indicators
Previously, only this was allowed:
--- literal: |-1 text folded: >-1 text
Now, according to the spec, also the reverse order is allowed:
--- literal: |1- text folded: >1- text
See PR 205
Add support for compact nested block sequences
In YAML, you can nest block sequences on one line. Previously, with YAML.pm
you had to use this format:
--- - - - a - b
Now you can use this:
--- - - - a - b
See PR 204
Allow more characters in anchor name
See PR 196
Support nested mappings in sequences
YAML.pm supported this partially. What has been working is this:
--- - a: 1 b: 2
But the following did not work as expected:
--- - .: 1 # was loaded as the string ".: 1"
Also, you can now use explicit keys on the same line:
--- - ? | key : > value
See PR 206
Fix parsing of quoted strings
I changed the parsing because the previously used regex was problematic under
I actually forgot to add this to the Changes file.