SH script calls Perl script. Works when I double click, but Perl script fails when I call from terminal
That error indicates your pbmJson.pl is being run by a shell, and not by perl:

$ cat someperlcode
printf "hi\n";
printf "there\n";
use strict;
$ perl someperlcode
hi
there
$ sh someperlcode
hi
there
someperlcode: use: not found
$ use
mksh: use: not found
$ bash
bash-3.2$ use
bash: use: command not found
bash-3.2$ exit
exit
$ 


As written, I see no error in what you've posted:

$ cat code
#! /bin/bash

perl someperlcode &gt; output
$ chmod +x code
$ rm output
$ ./code
$ cat output
hi
there
$ rm output
$ sh code
$ cat output
hi
there
$