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
 

Reply via email to