Changes for version 1.01 - 2026-05-03

  • LTSV interoperability.
  • Features:
  • FromLTSV($file) : read LTSV file (streaming, one line at a time) ported from LTSV::LINQ 1.08
  • ToLTSV($file) : write sequence as LTSV file (streaming) ported from LTSV::LINQ 1.08
  • Method count: 63 -> 65
  • POD additions:
    • "LTSV Interoperability" subsection under METHODS
    • "JOIN: JSON (main) with LTSV (sub-table)" example
    • "JOIN: LTSV (main) with JSON (sub-table)" example
    • Updated DIAGNOSTICS to cover FromLTSV/ToLTSV file errors
    • Updated ARCHITECTURE / Memory Characteristics
  • Documentation:
    • 21-language cheat sheets updated with FromLTSV/ToLTSV and the two JOIN patterns
    • README updated
  • Examples:
    • eg/05_json_ltsv_join.pl main JSON x sub-table LTSV
    • eg/06_ltsv_json_join.pl main LTSV x sub-table JSON
  • Tests:
    • t/0007-ltsv-io.t FromLTSV / ToLTSV round-trip
    • t/0008-json-ltsv-join.t the two JOIN patterns
  • Bug fixes:
  • INA_CPAN_Check::end_testing() no longer calls exit(); it sets $? instead and lets the END block unwind naturally. This avoids the "Callback called exit. END failed--cleanup aborted." warning that older Perl harnesses (notably Windows + pmake test) reported as a spurious failure of the next test file.
  • t/9001-load.t END block no longer calls exit() either.
  • INA_CPAN_Check J1 (PREREQ_PM dep version vs module VERSION) now exempts core pragmas (strict, warnings, vars, base, ...). Their pinned baseline versions can legitimately equal the module's own VERSION by coincidence (e.g. strict 1.01 vs JSON::LINQ 1.01), which is not a copy-paste bug. Non-pragma deps remain checked so real copy-paste bugs are still detected. This fixes the J1 failure that surfaced after `pmake.bat dist` regenerated META.yml with the canonical `strict: 1.01` requirement.
  • New checks added to t/9030-distribution.t (Category L):
    • L1 No .t file's END {} block contains a literal `exit`
    • L2 No sub invoked from a .t file's END {} block contains `exit` (transitive scan into t/lib/*.pm) These prevent regressions of the same class.
  • No external dependencies added. Pure Perl, Perl 5.005_03+ compatible.

Documentation

Modules

LINQ-style query interface for JSON and JSONL files

Provides

in lib/JSON/LINQ.pm
in lib/JSON/LINQ.pm