in reply to JSON::XS and blessings

Maybe you have an old, buggy version of JSON::XS on one of the hosts. Add this to the code to see what versions you're using:
print "$JSON::XS::VERSION $]\n";

Replies are listed 'Best First'.
Re^2: JSON::XS and blessings
by cshavit (Novice) on Oct 13, 2015 at 19:57 UTC
    Both servers run the latest. The printf prints 3.01 5.018002

    The thing that puzzles me if how could two virtual servers run *anything* different. Wouldn't "use ABC; load the same ABC on both?

    I'm asking because evidently *something* is different.

      true is the problem but I don't know why it's a problem. It roundtrips fine for me with 2.26. :|

        Indeed. Likewise false has a similar problem. Turns out that the other special case, null roundtrips just fine.

        And like I said, everything works fine from a shell command line, and in one of the virtual hosts. It's the other VirtualHost that causes problems.

      I'm asking because evidently *something* is different.
      Some other ideas for checking differences...
      use Data::Dumper; $Data::Dumper::Sortkeys=1; print Dumper(\%ENV); system 'uname -a';

      The code is XS, which means that it requires a C compiler (which may be different).

        Thanks! The environment vars are slightly different (by design) but none of the differences should matter (yeah, I know, famous last words...). The uname is the same.

        The two virtual servers are run by one Apache server, on one machine, under the same username. Yes, JSON::XS is compiled, but the two virtual servers use the same identical binaries.