NAME

  LTSV::LINQ - LINQ-style query interface for LTSV files

SYNOPSIS

    use LTSV::LINQ;
    
    # Read LTSV file and query
    my @results = LTSV::LINQ->FromLTSV("access.log")
        ->Where(sub { $_[0]{status} eq '200' })
        ->Select(sub { $_[0]{url} })
        ->Distinct()
        ->ToArray();
    
    # DSL syntax for simple filtering
    my @errors = LTSV::LINQ->FromLTSV("access.log")
        ->Where(status => '404')
        ->ToArray();

DESCRIPTION

LTSV::LINQ provides a LINQ-style query interface for LTSV
(Labeled Tab-Separated Values) files.

ABOUT LINQ

LINQ (Language Integrated Query) is a technology developed by
Microsoft Corporation for the .NET Framework. LINQ(R) is a registered
trademark of Microsoft Corporation.

This module is inspired by LINQ and brings similar query capabilities
to LTSV data processing in Perl. We are grateful to Microsoft for
pioneering this elegant programming pattern.

This module is not affiliated with, endorsed by, or sponsored by
Microsoft Corporation.

WHAT IS LTSV?

LTSV (Labeled Tab-Separated Values) is a format for structured logs.
Each line contains tab-separated key:value pairs.

Example:

    time:2026-02-13T10:00:00	status:200	url:/index.html	bytes:1024

For more information, see:
    http://ltsv.org/

INSTALLATION

To install this module type the following:

    perl Makefile.PL
    make
    make test
    make install

Or using pmake.bat (Windows):

    pmake.bat test
    pmake.bat install

COMPATIBILITY

This module works with Perl 5.005_03 and later.

COPYRIGHT AND LICENSE

Copyright (c) 2026 INABA Hitoshi <ina@cpan.org>

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
