With the advent of more things speaking JSON, I thought perhaps we might want to re-enable the json_pp script that normally ships with perl, but OpenBSD doesn't install. It's not terribly useful as it is mostly just a "pretty printer", although it does also allow converting to Data::Dumper format if you find a use for that. The name does actually mean "json pure perl" not "json pretty print", so it's just a happy coincidence. It can also "unpretty" with "--json_opt pretty=0".
You can read the documentation on the MetaCPAN https://metacpan.org/pod/json_pp Comments, OK? $ echo '{"foo":{"bar":"baz","qux":[1,2,3]}}' | json_pp { "foo" : { "bar" : "baz", "qux" : [ 1, 2, 3 ] } } Index: distrib/sets/lists/base/mi =================================================================== RCS file: /cvs/src/distrib/sets/lists/base/mi,v retrieving revision 1.987 diff -u -p -r1.987 mi --- distrib/sets/lists/base/mi 25 Apr 2020 14:17:04 -0000 1.987 +++ distrib/sets/lists/base/mi 10 May 2020 00:19:01 -0000 @@ -427,6 +427,7 @@ ./usr/bin/ipcs ./usr/bin/join ./usr/bin/jot +./usr/bin/json_pp ./usr/bin/kdump ./usr/bin/keynote ./usr/bin/ktrace Index: distrib/sets/lists/man/mi =================================================================== RCS file: /cvs/src/distrib/sets/lists/man/mi,v retrieving revision 1.1581 diff -u -p -r1.1581 mi --- distrib/sets/lists/man/mi 28 Apr 2020 10:49:37 -0000 1.1581 +++ distrib/sets/lists/man/mi 10 May 2020 00:19:02 -0000 @@ -126,6 +126,7 @@ ./usr/share/man/man1/ipcs.1 ./usr/share/man/man1/join.1 ./usr/share/man/man1/jot.1 +./usr/share/man/man1/json_pp.1 ./usr/share/man/man1/kdump.1 ./usr/share/man/man1/keynote.1 ./usr/share/man/man1/kill.1 Index: gnu/usr.bin/perl/Makefile.bsd-wrapper1 =================================================================== RCS file: /cvs/src/gnu/usr.bin/perl/Makefile.bsd-wrapper1,v retrieving revision 1.39 diff -u -p -r1.39 Makefile.bsd-wrapper1 --- gnu/usr.bin/perl/Makefile.bsd-wrapper1 9 Apr 2020 02:54:54 -0000 1.39 +++ gnu/usr.bin/perl/Makefile.bsd-wrapper1 10 May 2020 00:19:02 -0000 @@ -64,6 +64,7 @@ _quick3p= h2xs 1 utils/h2xs \ instmodsh 1 utils/instmodsh \ Internals 1 lib/Internals.pod \ + json_pp 1 utils/json_pp \ libnetcfg 1 utils/libnetcfg \ PACKAGING 1 PACKAGING \ perl 1 pod/perl.pod \ Index: gnu/usr.bin/perl/utils.lst =================================================================== RCS file: /cvs/src/gnu/usr.bin/perl/utils.lst,v retrieving revision 1.24 diff -u -p -r1.24 utils.lst --- gnu/usr.bin/perl/utils.lst 30 Dec 2019 02:15:16 -0000 1.24 +++ gnu/usr.bin/perl/utils.lst 10 May 2020 00:19:02 -0000 @@ -10,6 +10,7 @@ utils/encguess utils/h2ph utils/h2xs utils/instmodsh +utils/json_pp utils/libnetcfg utils/perlbug utils/perldoc Index: gnu/usr.bin/perl/t/porting/dual-life.t =================================================================== RCS file: /cvs/src/gnu/usr.bin/perl/t/porting/dual-life.t,v retrieving revision 1.17 diff -u -p -r1.17 dual-life.t --- gnu/usr.bin/perl/t/porting/dual-life.t 30 Dec 2019 02:15:18 -0000 1.17 +++ gnu/usr.bin/perl/t/porting/dual-life.t 10 May 2020 00:19:02 -0000 @@ -26,8 +26,6 @@ use File::Spec::Functions; my $not_installed = qr{^(?: \.\./cpan/Archive-Tar/bin/ptar.* | - \.\./cpan/JSON-PP/bin/json_pp - | \.\./cpan/IO-Compress/bin/zipdetails | \.\./cpan/Encode/bin/u(?:cm(?:2table|lint|sort)|nidump) Index: gnu/usr.bin/perl/utils/Makefile.PL =================================================================== RCS file: /cvs/src/gnu/usr.bin/perl/utils/Makefile.PL,v retrieving revision 1.14 diff -u -p -r1.14 Makefile.PL --- gnu/usr.bin/perl/utils/Makefile.PL 30 Dec 2019 02:15:18 -0000 1.14 +++ gnu/usr.bin/perl/utils/Makefile.PL 10 May 2020 00:19:02 -0000 @@ -35,9 +35,9 @@ print $fh <<'EOT'; # Files to be built with variable substitution after miniperl is # available. Dependencies handled manually below (for now). -pl = corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL splain.PL libnetcfg.PL piconv.PL enc2xs.PL encguess.PL xsubpp.PL pod2html.PL -plextract = corelist cpan h2ph h2xs instmodsh perlbug perldoc perlivp pl2pm prove splain libnetcfg piconv enc2xs encguess xsubpp pod2html -plextractexe = ./corelist ./cpan ./h2ph ./h2xs ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./splain ./libnetcfg ./piconv ./enc2xs ./encguess ./xsubpp ./pod2html +pl = corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL json_pp.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL splain.PL libnetcfg.PL piconv.PL enc2xs.PL encguess.PL xsubpp.PL pod2html.PL +plextract = corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc perlivp pl2pm prove splain libnetcfg piconv enc2xs encguess xsubpp pod2html +plextractexe = ./corelist ./cpan ./h2ph ./h2xs ./json_pp ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./splain ./libnetcfg ./piconv ./enc2xs ./encguess ./xsubpp ./pod2html all: $(plextract) @@ -53,6 +53,8 @@ h2ph: h2ph.PL ../config.sh h2xs: h2xs.PL ../config.sh instmodsh: instmodsh.PL ../config.sh + +json_pp: json_pp.PL ../config.sh perlbug: perlbug.PL ../config.sh ../patchlevel.h