]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - lib/CGI/Ex/Conf.pm
CGI::Ex 2.27
[chaz/p5-CGI-Ex] / lib / CGI / Ex / Conf.pm
index 3af42e552e0d200d6174fbd9dc976ce888d5439b..0fd0199bdc41cb9a34c7ba12f0ce5084a51127e8 100644 (file)
@@ -29,7 +29,7 @@ use vars qw($VERSION
             );
 @EXPORT_OK = qw(conf_read conf_write in_cache);
 
-$VERSION = '2.16';
+$VERSION = '2.27';
 
 $DEFAULT_EXT = 'conf';
 
@@ -134,7 +134,7 @@ sub conf_read {
 
   ### don't die if the file is not found - do die otherwise
   if (! -e $file) {
-      eval { die "Conf file $file not found" };
+      eval { die "Conf file $file not found\n" };
       warn "Conf file $file not found" if ! $args->{'no_warn_on_fail'} && ! $NO_WARN_ON_FAIL;
       return;
   }
@@ -262,7 +262,9 @@ sub read_handler_json {
   open (IN, $file) || die "Couldn't open $file: $!";
   CORE::read(IN, my $text, -s $file);
   close IN;
-  return scalar JSON::jsonToObj($text);
+  require JSON;
+  my $decode = JSON->VERSION > 1.98 ? 'decode' : 'jsonToObj';
+  return scalar JSON->new->$decode($text);
 }
 
 sub read_handler_storable {
@@ -544,7 +546,15 @@ sub write_handler_json {
   my $file = shift;
   my $ref  = shift;
   require JSON;
-  my $str = JSON::objToJson($ref, {pretty => 1, indent => 2});
+  my $str;
+  if (JSON->VERSION > 1.98) {
+      my $j = JSON->new;
+      $j->canonical(1);
+      $j->pretty;
+      $str = $j->encode($ref);
+  } else {
+      $str = JSON->new->objToJSon($ref, {pretty => 1, indent => 2});
+  }
   local *OUT;
   open (OUT, ">$file") || die $!;
   print OUT $str;
This page took 0.025118 seconds and 4 git commands to generate.