The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.029 - 2017-08-16

  • Fixed
    • We now give better error messages when accidentally trying to insert hashrefs or arrayrefs into a column using the `ysql` `--insert` helper. SQL::Abstract does not allow this and instead gives an untrappable warning (instead of throwing an exception, which is potentially earmarked for SQL::Abstract v2)
  • Added
    • yq's filter language now allows `$.` to refer to the initial document even if the current document (`.`) is something else. This way one can traverse the document using `|` filters and still get to the original.
    • yq's filter language now allows assigning values to filters, so you can modify documents in-place.
    • yq's filter language now has an `each()` function to iterate over hashes/arrays
    • yq's filter language now allows function calls on either side of binary operators (assignment operator and comparison operators). This means we can filter based on the output of a function (like find all arrays with more than 5 elements) or assign the output of a function to a place in the document (like replace an array with its length).

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
Utility functions for Yertl modules