#!/usr/bin/env perl use 5.012; use warnings; use re '/msx'; use JSON; our $VERSION = '1.00'; our %get; while (@ARGV) { $ARGV[0] =~ s/^--// or last; # --flag my ($name, $val) = split /=/, shift, 2 or last; # set until empty $get{$name} = $val // 1; } my $file = shift or die "Usage: $0 [--options] \n"; my $jsonify = JSON->new->utf8->canonical; $jsonify->pretty if $get{pretty}; my $data = do "./$file" or die $@; print $jsonify->encode($data) =~ s{\[ \K\n ([^][]+) (?=\])}{$1 =~ s/(?:\A|\n) \s*//gr}reg;