Changes for version 2.08 - 2026-01-11

  • Updated match() to return jq-compatible match objects instead of booleans. The result now includes:
    • offset — start position of the match
    • length — length of the matched substring
    • string — the full matched text
    • captures — array of capture group objects (offset, length, string)
  • match() now returns null when the regular expression does not match, aligning behavior with jq.
  • This enables jq-style regex introspection such as accessing capture groups (e.g. match("(...)(...)").captures[1].string).

Documentation

minimal jq-style JSON filter (pure Perl)

Modules

jq-compatible JSON query engine in pure Perl (no external binaries)

Provides

in lib/JQ/Lite/Expression.pm
in lib/JQ/Lite/Filters.pm
in lib/JQ/Lite/Parser.pm
in lib/JQ/Lite/Util.pm
in lib/JQ/Lite/Util/Parsing.pm
in lib/JQ/Lite/Util/Paths.pm
in lib/JQ/Lite/Util/Transform.pm