ๆ—ฅๆœฌ่ชž English

JQ::Lite

A lightweight jq-compatible engine written entirely in Pure Perl. Query and transform JSON or YAML even in restricted environments.

๐Ÿชถ Pure Perl ๐Ÿ” jq-style filters ๐Ÿ’ป CLI & module โœ… Supports Perl 5.14+ ๐ŸŒ Works offline

Highlights

๐Ÿชถ Pure Perl implementation

No XS or C compiler required. If Perl runs, JQ::Lite runs โ€” even on legacy servers and air-gapped networks.

๐Ÿ” jq-style queries

.users[].name and select(.age > 25) work just like jq. Chain conditions, mapping, and complex filters with familiar syntax.

๐Ÿงฐ CLI & library

Use it as the jq-lite command-line tool or embed it as a Perl module. Automate JSON transformations inside your scripts.

Installation

From CPAN

cpanm JQ::Lite

Install from CPAN to get started fast. All dependencies are resolved for you.

Homebrew (macOS)

brew tap kawamurashingo/jq-lite
brew install --HEAD jq-lite

macOS users can install via Homebrew. The HEAD build lets you try the latest features.

Portable installer

./download.sh [-v <version>] [-o /path/to/usb]
./install.sh [-p <prefix>] [--skip-tests] path/to/JQ-Lite.tar.gz

Fetch artifacts online and deploy offline. Perfect for air-gapped or locked-down environments.

Usage

As a Perl module

use JQ::Lite;

my $jq = JQ::Lite->new;
my @names = $jq->run_query(
  '{"users":[{"name":"Alice"}]}',
  '.users[].name'
);
print join "\n", @names;

From the CLI

jq-lite '.users[].name' users.json
jq-lite '.users[] | select(.age > 25)' users.json
jq-lite --yaml '.users[].name' users.yaml

Interactive mode

jq-lite users.json

Pass an input file and explore JSON interactively while trying out filters.

Use cases

Locked-down servers

Install without compilers or root access. As long as Perl is available, you're ready to go.

CI/CD pipelines

Inspect and transform JSON without shipping extra binaries. Keep automation scripts self-contained.

Data exploration & transformation

Feels natural to engineers who already know jq. Built-in 100+ functions handle even complex workflows.

Contact

Send us your questions or requests via the form below. The development team will get back to you shortly.

Submitting opens your email client with a message addressed to perl.jq.lite@gmail.com.