e JSON;
use Exporter 'import';
our @EXPORT = qw(jq);
sub jq {
my ($filter, @data) = @_;
my @jq = ('jq', "$filter");
my ($in, $out, $err);
for my $value (@data) {
$in .= JSON:
:encode_json($value) . "\n";
}
run \@jq, \$in, \$out, \$err, timeout(10)
or die "jq: $?, $err";
my $result = JSON::decode_json("[$out]");
return wantarray ? @$result : $result
IPTION
Jq is a data language for querying and manipulating JSON data. It takes JSON
as input; queries and manipulates; and then prints JSON as output.
Jq.pm is a Perl module binding to Jq. It's inpu
ts and outputs are Perl data
abjects that can be represented as JSON.
=head1 STATUS
The current version of Jq uses IPC::Run to invoke your local C<jq> binary.
This is an API compatible workaround un