Changes for version 1.09 - 2026-05-17

  • Pre-release fix:
  • lib/LTSV/LINQ.pm: SEE ALSO now includes L<JSON::LINQ> and L<CSV::LINQ>
  • Features:
  • lib/LTSV/LINQ.pm: ToLTSV now accepts label_order => \@labels and headers => \@labels options to control the output order of LTSV fields. label_order specifies which labels appear first and in what order; labels present in the record but not listed are appended in sorted order. headers is an alias for label_order, provided for interoperability with CSV-LINQ (which uses headers as the primary option name on ToCSV).
  • t/0003-ltsv-file.t: 6 new tests (15-20) covering headers order, label_order alias, and absent-label skipping; plan updated from 14 to 20.
  • Fix:
  • lib/LTSV/LINQ.pm: FromLTSV and ToLTSV on Perl 5.005_03 now use a unique numbered package glob per call (LTSV::LINQ::FH::H1, LTSV::LINQ::FH::H2, ...) instead of \do{local *_}, which always resolves to *main::_ and caused IO slot collision when two iterators were open concurrently (e.g. Join or GroupJoin with two FromLTSV sources).
  • lib/LTSV/LINQ.pm: $_fh_seq added to use vars.
  • lib/LTSV/LINQ.pm: POD FromLTSV section updated to document concurrent-use safety on all supported Perl versions.
  • Tests:
  • t/0014-concurrent-fh.t: new test (26 tests) covering concurrent FromLTSV in Join, GroupJoin, Concat+Join, and ToLTSV round-trip.

Documentation

Modules

LINQ-style query interface for LTSV files

Provides

in lib/LTSV/LINQ.pm