The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.028 - 2016-10-09

  • Added
    • The YAML::Tiny module is now officially supported
    • The YERTL_FORMAT environment variable will set the default format that Yertl uses to communicate. Set it to `json` for Yertl to seamlessly interoperate with other JSON-based tools like `jq` and `recs`.
    • CSV conversion (`yto`/`yfrom`) now allows setting a delimiter so we can parse colon-separated values or esoteric formats
  • Fixed
    • `yq -x` now checks for definedness before trying to print. This silences warnings from Perl about "Uninitialized value in print". In the future, we may re-enable warnings through a `-w` or `-v` switch.
    • If one filter in a pipe returns empty, that empty result is propagated through further filters. This makes the output of something like `select( .foo == 1 ) | .bar` more intuitive: If a document doesn't pass the first part, the result of the second part is `empty`, not `undef` (`--- ~`).
    • The `ysql` helpers and placeholders are now better documented in the ysql guide.
  • Other
    • ygrok tests are now split into more maintainable chunks based on the patterns they are testing.

Documentation

Build YAML from another format (like JSON or CSV)
Build YAML by parsing lines of plain text
Mask a data structure to display only the desired fields
yq
Filter YAML through a command-line program
Query SQL databases in a Yertl workflow
yto
Change YAML to another format (like JSON)
Some recipies for common ETL tasks
A guide to using ysql to work with SQL databases
Prepare a release blog entry for this project

Modules

ETL with a Shell
Read documents from a format like JSON or CSV
Parse lines of text into documents
Filter documents through applying a mask
Filter and construct documents using a mini-language
A Parse::RecDescent-based parser for programs
A Parse::RecDescent-based parser using a parse tree
A regex-based parser for programs
Read and write documents with a SQL database
Write documents to a format like JSON or CSV
CSV read/write support for Yertl
The default format for intra-Yertl communication
JSON read/write support for Yertl
YAML read/write support for Yertl