]> 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 489c6b1fe7ed67b9931a8b2fc3bd34343beeab7b..0fd0199bdc41cb9a34c7ba12f0ce5084a51127e8 100644 (file)
@@ -7,7 +7,7 @@ CGI::Ex::Conf - Conf Reader/Writer for many different data format types
 =cut
 
 ###----------------------------------------------------------------###
-#  Copyright 2006 - Paul Seamons                                     #
+#  Copyright 2007 - Paul Seamons                                     #
 #  Distributed under the Perl Artistic License without warranty      #
 ###----------------------------------------------------------------###
 
@@ -25,10 +25,11 @@ use vars qw($VERSION
             %CACHE
             $HTML_KEY
             @EXPORT_OK
+            $NO_WARN_ON_FAIL
             );
 @EXPORT_OK = qw(conf_read conf_write in_cache);
 
-$VERSION = '2.06';
+$VERSION = '2.27';
 
 $DEFAULT_EXT = 'conf';
 
@@ -133,8 +134,8 @@ 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" };
-      warn "Conf file $file not found" if ! $args->{'no_warn_on_fail'};
+      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;
   }
 
@@ -261,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 {
@@ -543,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;
@@ -803,7 +814,7 @@ conf_read and conf_write method calls.
 
 =head1 FUNCTIONS
 
-=over4
+=over 4
 
 =item conf_read
 
@@ -908,13 +919,13 @@ without even opening the file.
 
 Make a similar write method that handles immutability.
 
-=head1 AUTHOR
-
-Paul Seamons
-
 =head1 LICENSE
 
 This module may be distributed under the same terms as Perl itself.
 
+=head1 AUTHOR
+
+Paul Seamons <perl at seamons dot com>
+
 =cut
 
This page took 0.02568 seconds and 4 git commands to generate.