eval { require JSON::Syck; };
if ( $@ ) {
require JSON;
- return JSON::jsonToObj( $content );
+ eval { JSON->VERSION( 2 ); };
+ return $@ ? JSON::jsonToObj( $content ) : JSON::from_json( $content );
}
else {
return JSON::Syck::Load( $content );
}
}
+=head2 is_supported( )
+
+Returns true if either L<JSON::Syck> or L<JSON> is available.
+
+=cut
+
+sub is_supported {
+ eval { require JSON::Syck; };
+ return 1 unless $@;
+ eval { require JSON; };
+ return $@ ? 0 : 1;
+}
+
=head1 AUTHOR
Brian Cassidy E<lt>bricas@cpan.orgE<gt>