Commits

Toby Inkster committed 996333d

general update

  • Participants
  • Parent commits 957501b

Comments (0)

Files changed (18)

Changes

-############################################################################
-## Changes #################################################################
-############################################################################
-
-JSON-Path
-=========
-
-Created:      2010-07-28
-Home page:    <https://metacpan.org/release/JSON-Path>
-Bug tracker:  <http://rt.cpan.org/Dist/Display.html?Queue=JSON-Path>
-Maintainer:   Toby Inkster <mailto:tobyink@cpan.org>
-
-0.101 [2011-09-29]
- - (Bugfix) Fix retrieval of zeroth array element.
- - (Packaging) Add more test cases.
-
-0.100 [2010-08-25]
- - Minor documentation improvements.
- - (Update) Support for JSON::JOM.
-
-0.080_01 [2010-07-29]
- - (Bugfix) Fix license metadata in distribution.
-
-0.080_00 [2010-07-28] # Ported from PHP.
-

Changes.ttl

-#############################################################
-
-@prefix :        <http://usefulinc.com/ns/doap#> .
-@prefix dcs:     <http://ontologi.es/doap-changeset#> .
-@prefix dc:      <http://purl.org/dc/terms/> .
-@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
-@prefix my:      <http://purl.org/NET/cpan-uri/dist/JSON-Path/> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix toby:    <http://tobyinkster.co.uk/#> .
-@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
-
-#############################################################
-
-<>
-
-	dc:title         "Changes" ;
-	dc:description   "Revision history for Perl extension JSON::Path."@en ;
-	dc:subject       my:project ;
-	dc:creator       toby:i .
-
-#############################################################
-
-my:v_0-080_00
-
-	a               :Version ;
-	dc:issued       "2010-07-28"^^xsd:date ;
-	:revision       "0.080_00"^^xsd:string ;
-	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.080_00.tar.gz> ;
-	rdfs:label      "Ported from PHP."@en .
-
-my:v_0-080_01
-
-	a               :Version ;
-	dc:issued       "2010-07-29"^^xsd:date ;
-	:revision       "0.080_01"^^xsd:string ;
-	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.080_01.tar.gz> ;
-	dcs:changeset [
-		dcs:versus my:v_0-080_00 ;
-		dcs:item   [ rdfs:label "Fix license metadata in distribution."@en ; a dcs:Bugfix ]
-		] .
-
-my:v_0-100
-
-	a               :Version ;
-	dc:issued       "2010-08-25"^^xsd:date ;
-	:revision       "0.100"^^xsd:string ;
-	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.100.tar.gz> ;
-	dcs:changeset [
-		dcs:versus my:v_0-080_01 ;
-		dcs:item   [ rdfs:label "Support for JSON::JOM."@en ; a dcs:Update ] ;
-		dcs:item   [ rdfs:label "Minor documentation improvements."@en ] ;
-		] .
-
-my:v_0-101
-
-	a               :Version ;
-	dc:issued       "2011-09-29"^^xsd:date ;
-	:revision       "0.101"^^xsd:string ;
-	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.101.tar.gz> ;
-	dcs:changeset [
-		dcs:versus my:v_0-100 ;
-		dcs:item   [ rdfs:label "Fix retrieval of zeroth array element."@en ; a dcs:Bugfix ] ;
-		dcs:item   [ rdfs:label "Add more test cases."@en ; a dcs:Packaging ] ;
-		] .
-
-#############################################################
-
-my:project
-
-	a               :Project ;
-	:name           "JSON-Path" ;
-	:shortdesc      "search nested hashref/arrayref structures using JSONPath"@en ;
-	:programming-language  "Perl" ;
-	:homepage       <https://metacpan.org/release/JSON-Path> ;
-	:download-page  <https://metacpan.org/release/JSON-Path> ;
-	:bug-database   <http://rt.cpan.org/Dist/Display.html?Queue=JSON-Path> ;
-	:repository     [ a :SVNRepository ; :browse <http://goddamn.co.uk/svn-web/perlmods/browse/JSON-Path/> ] ;
-	:maintainer     toby:i ;
-	:developer      toby:i ;
-	:documenter     toby:i ;
-	:tester         toby:i ;
-	:created        "2010-07-28"^^xsd:date ;
-	:license        <http://opensource.org/licenses/mit-license.php> ;
-	:release        my:v_0-080_00 , my:v_0-080_01 , my:v_0-100 , my:v_0-101 .
-
-#############################################################
-
-toby:i
-
-	a               foaf:Person ;
-	foaf:name       "Toby Inkster" ;
-	foaf:homepage   <http://tobyinkster.co.uk/> ;
-	foaf:page       <https://metacpan.org/author/TOBYINK> ;
-	foaf:mbox       <mailto:tobyink@cpan.org> ;
-	<http://www.w3.org/2002/07/owl#sameAs> <http://purl.org/NET/cpan-uri/person/tobyink> .
-
-#############################################################

Changes.xml

-<?xml version="1.0" encoding="utf-8"?>
-<rdf:RDF xmlns:dbug="http://ontologi.es/doap-bugs#" xmlns:dc="http://purl.org/dc/terms/" xmlns:dcs="http://ontologi.es/doap-changeset#" xmlns:doap="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er0">
-	<dcs:item rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er1"/>
-	<dcs:versus rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-080_00"/>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er1">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Bugfix"/>
-	<rdfs:label xml:lang="en">Fix license metadata in distribution.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er2">
-	<dcs:item rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er3"/>
-	<dcs:item rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er4"/>
-	<dcs:versus rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-080_01"/>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er3">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Update"/>
-	<rdfs:label xml:lang="en">Support for JSON::JOM.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er4">
-	<rdfs:label xml:lang="en">Minor documentation improvements.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er5">
-	<dcs:item rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er6"/>
-	<dcs:item rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er7"/>
-	<dcs:versus rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-100"/>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er6">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Bugfix"/>
-	<rdfs:label xml:lang="en">Fix retrieval of zeroth array element.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er7">
-	<rdf:type rdf:resource="http://ontologi.es/doap-changeset#Packaging"/>
-	<rdfs:label xml:lang="en">Add more test cases.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er8">
-	<doap:browse rdf:resource="http://goddamn.co.uk/svn-web/perlmods/browse/JSON-Path/"/>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#SVNRepository"/>
-</rdf:Description>
-<rdf:Description rdf:about="file:///home/tai/src/perlmods/JSON-Path/Changes.ttl">
-	<dc:creator rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<dc:description xml:lang="en">Revision history for Perl extension JSON::Path.</dc:description>
-	<dc:subject rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/project"/>
-	<dc:title>Changes</dc:title>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Path/project">
-	<doap:bug-database rdf:resource="http://rt.cpan.org/Dist/Display.html?Queue=JSON-Path"/>
-	<doap:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-07-28</doap:created>
-	<doap:developer rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<doap:documenter rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<doap:download-page rdf:resource="https://metacpan.org/release/JSON-Path"/>
-	<doap:homepage rdf:resource="https://metacpan.org/release/JSON-Path"/>
-	<doap:license rdf:resource="http://opensource.org/licenses/mit-license.php"/>
-	<doap:maintainer rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<doap:name>JSON-Path</doap:name>
-	<doap:programming-language>Perl</doap:programming-language>
-	<doap:release rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-080_00"/>
-	<doap:release rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-080_01"/>
-	<doap:release rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-100"/>
-	<doap:release rdf:resource="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-101"/>
-	<doap:repository rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er8"/>
-	<doap:shortdesc xml:lang="en">search nested hashref/arrayref structures using JSONPath</doap:shortdesc>
-	<doap:tester rdf:resource="http://tobyinkster.co.uk/#i"/>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Project"/>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-080_00">
-	<dc:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-07-28</dc:issued>
-	<doap:file-release rdf:resource="http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.080_00.tar.gz"/>
-	<doap:revision rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.080_00</doap:revision>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Version"/>
-	<rdfs:label xml:lang="en">Ported from PHP.</rdfs:label>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-080_01">
-	<dcs:changeset rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er0"/>
-	<dc:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-07-29</dc:issued>
-	<doap:file-release rdf:resource="http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.080_01.tar.gz"/>
-	<doap:revision rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.080_01</doap:revision>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Version"/>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-100">
-	<dcs:changeset rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er2"/>
-	<dc:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-08-25</dc:issued>
-	<doap:file-release rdf:resource="http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.100.tar.gz"/>
-	<doap:revision rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.100</doap:revision>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Version"/>
-</rdf:Description>
-<rdf:Description rdf:about="http://purl.org/NET/cpan-uri/dist/JSON-Path/v_0-101">
-	<dcs:changeset rdf:nodeID="rF3FEE226EAE611E0B3B6F40AF9AC504Er5"/>
-	<dc:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2011-09-29</dc:issued>
-	<doap:file-release rdf:resource="http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.101.tar.gz"/>
-	<doap:revision rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.101</doap:revision>
-	<rdf:type rdf:resource="http://usefulinc.com/ns/doap#Version"/>
-</rdf:Description>
-<rdf:Description xmlns:ns1="http://www.w3.org/2002/07/owl#" rdf:about="http://tobyinkster.co.uk/#i">
-	<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-	<ns1:sameAs rdf:resource="http://purl.org/NET/cpan-uri/person/tobyink"/>
-	<foaf:homepage rdf:resource="http://tobyinkster.co.uk/"/>
-	<foaf:mbox rdf:resource="mailto:tobyink@cpan.org"/>
-	<foaf:name>Toby Inkster</foaf:name>
-	<foaf:page rdf:resource="https://metacpan.org/author/TOBYINK"/>
-</rdf:Description>
-</rdf:RDF>

MANIFEST.SKIP

-^MANIFEST.bak$
-^Makefile.old$
-^Makefile$
-^blib/
-^pm_to_blib
-^blibdirs
-\.svn
-^example.*\.pl$
-^[^/]+\.(tar\.gz|tar\.bz2|tgz|tbz2|tbz|zip|tar)$
-^MYMETA.yml

META.yml

----
-abstract: 'search nested hashref/arrayref structures using JSONPath'
-author:
-  - 'Toby Inkster <tobyink@cpan.org>'
-build_requires:
-  ExtUtils::MakeMaker: 6.42
-  Test::More: 0.61
-configure_requires:
-  ExtUtils::MakeMaker: 6.42
-distribution_type: module
-generated_by: 'Module::Install version 1.00'
-license: mit
-meta-spec:
-  url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
-name: JSON-Path
-no_index:
-  directory:
-    - inc
-    - t
-requires:
-  Error: 0
-  JSON: 0
-  Scalar::Util: 0
-  common::sense: 0
-  perl: 5.8.0
-resources:
-  bugtracker: http://rt.cpan.org/Dist/Display.html?Queue=JSON-Path
-  homepage: https://metacpan.org/release/JSON-Path
-  license: http://opensource.org/licenses/mit-license.php
-  repository: http://goddamn.co.uk/svn-web/perlmods/browse/JSON-Path/
-version: 0.101
-use strict;
-use warnings;
+use inc::Module::Package 'RDF 0.009';
 
-use inc::Module::Install;
-
-my $dist = 'JSON-Path';
-my $fn   = "lib/$dist.pm"; $fn =~ s#-#/#g;
-
-name                $dist;
-perl_version_from   $fn;
-version_from        $fn;
-abstract_from       $fn;
-readme_from         $fn;
-author              'Toby Inkster <tobyink@cpan.org>';
-license             'mit';
-
-requires            'common::sense'      => 0;
-requires            'Error'              => 0;
-requires            'JSON'               => 0;
-requires            'Scalar::Util'       => 0;
-test_requires       'Test::More'         => '0.61';
-
-resources(
-	'homepage'   => "https://metacpan.org/release/$dist",
-	'repository' => "http://goddamn.co.uk/svn-web/perlmods/browse/$dist/",
-	'bugtracker' => "http://rt.cpan.org/Dist/Display.html?Queue=$dist",
-	);
-	
-write_doap_changes;
-write_doap_changes_xml;
-auto_license;
-auto_manifest;
-
-auto_install;
-WriteAll(
-	'meta' => 1,
-	'sign' => 1,
-	);

README

-NAME
-    JSON::Path - search nested hashref/arrayref structures using JSONPath
-
-SYNOPSIS
-     my $data = {
-      "store" => {
-        "book" => [ 
-          { "category" =>  "reference",
-            "author"   =>  "Nigel Rees",
-            "title"    =>  "Sayings of the Century",
-            "price"    =>  8.95,
-          },
-          { "category" =>  "fiction",
-            "author"   =>  "Evelyn Waugh",
-            "title"    =>  "Sword of Honour",
-            "price"    =>  12.99,
-          },
-          { "category" =>  "fiction",
-            "author"   =>  "Herman Melville",
-            "title"    =>  "Moby Dick",
-            "isbn"     =>  "0-553-21311-3",
-            "price"    =>  8.99,
-          },
-          { "category" =>  "fiction",
-            "author"   =>  "J. R. R. Tolkien",
-            "title"    =>  "The Lord of the Rings",
-            "isbn"     =>  "0-395-19395-8",
-            "price"    =>  22.99,
-          },
-        ],
-        "bicycle" => [
-          { "color": "red",
-            "price": 19.95,
-          },
-        ],
-      },
-     };
- 
-     # All authors of books in the store
-     my $jpath   = JSON::Path->new('$.store.book[*].author');
-     my @authors = $jpath->values($data);
- 
-     # The author of the last (by order) book
-     my $jpath     = JSON::Path->new('$..book[-1:]');
-     my ($tolkien) = $jpath->values($data);
-
-DESCRIPTION
-    This module implements JSONPath, an XPath-like language for searching
-    JSON-like structures.
-
-    JSONPath is described at <http://goessner.net/articles/JsonPath/>.
-
-    This module is JSON::JOM-compatible.
-
-  Constructor
-    "JSON::Path->new($string)"
-        Given a JSONPath expression $string, returns a JSON::Path object.
-
-  Methods
-    "values($object)"
-        Evaluates the JSONPath expression against an object. The object
-        $object can be either a nested Perl hashref/arrayref structure, or a
-        JSON string capable of being decoded by JSON::from_json.
-
-        Returns a list of structures from within $object which match against
-        the JSONPath expression.
-
-        This method will sometimes throw an error using the Error module.
-
-    "paths($object)"
-        As per "values" but instead of returning structures which match the
-        expression, returns paths that point towards those structures.
-
-    "to_string"
-        Returns the original JSONPath expression as a string.
-
-        This method is usually not needed, as the JSON::Path should
-        automatically stringify itself as appropriate. i.e. the following
-        works:
-
-         my $jpath = JSON::Path->new('$.store.book[*].author');
-         print "I'm looking for: " . $jpath . "\n";
-
-PERL SPECIFICS
-    JSONPath is intended as a cross-programming-language method of searching
-    nested object structures. There are however, some things you need to
-    think about when using JSONPath in Perl...
-
-  JSONPath Embedded Perl Expressions
-    JSONPath expressions may contain subexpressions that are evaluated using
-    the native host language. e.g.
-
-     $..book[?($_->{author} =~ /tolkien/i)]
-
-    The stuff between "?(" and ")" is a Perl expression that must return a
-    boolean, used to filter results. As arbitrary Perl may be used, this is
-    clearly quite dangerous unless used in a controlled environment. Thus,
-    it's disabled by default. To enable, set:
-
-     $JSON::Path::Safe = 0;
-
-    There are some differences between the JSONPath spec and this
-    implementation.
-
-    *   JSONPath uses a variable '$' to refer to the root node. This is not
-        a legal variable name in Perl, so '$root' is used instead.
-
-    *   JSONPath uses a variable '@' to refer to the current node. This is
-        not a legal variable name in Perl, so '$_' is used instead.
-
-  Blessed Objects
-    Blessed objects are generally treated as atomic values; JSON::Path will
-    not follow paths inside them. The exception to this rule are blessed
-    objects where:
-
-      Scalar::Util::blessed($object)
-      && $object->can('typeof')
-      && $object->typeof =~ /^(ARRAY|HASH)$/
-
-    which are treated as an unblessed arrayref or hashref appropriately.
-
-BUGS
-    Please report any bugs to <http://rt.cpan.org/>.
-
-SEE ALSO
-    Specification: <http://goessner.net/articles/JsonPath/>.
-
-    Implementations in PHP, Javascript and C#:
-    <http://code.google.com/p/jsonpath/>.
-
-    Related modules: JSON, JSON::JOM, JSON::T, JSON::GRDDL, JSON::Hyper,
-    JSON::Schema.
-
-    Similar functionality: Data::Path, Data::DPath, Data::SPath, Hash::Path,
-    Path::Resolver::Resolver::Hash, Data::Nested, Data::Hierarchy... yes,
-    the idea's not especially new. What's different is that JSON::Path uses
-    a vaguely standardised syntax with implementations in at least three
-    other programming languages.
-
-AUTHOR
-    Toby Inkster <tobyink@cpan.org>.
-
-    This module is pretty much a straight line-by-line port of the PHP
-    JSONPath implementation (version 0.8.x) by Stefan Goessner. See
-    <http://code.google.com/p/jsonpath/>.
-
-COPYRIGHT AND LICENCE
-    Copyright 2007 Stefan Goessner.
-
-    Copyright 2010-2011 Toby Inkster.
-
-    This module is tri-licensed. It is available under the X11 (a.k.a. MIT)
-    licence; you can also redistribute it and/or modify it under the same
-    terms as Perl itself.
-
-  a.k.a. "The MIT Licence"
-    Permission is hereby granted, free of charge, to any person obtaining a
-    copy of this software and associated documentation files (the
-    "Software"), to deal in the Software without restriction, including
-    without limitation the rights to use, copy, modify, merge, publish,
-    distribute, sublicense, and/or sell copies of the Software, and to
-    permit persons to whom the Software is furnished to do so, subject to
-    the following conditions:
-
-    The above copyright notice and this permission notice shall be included
-    in all copies or substantial portions of the Software.
-
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-

TODO

-* no known things to do.
-* Add keywords to Makefile.PL

example1.pl

-use 5.010;
-use lib "lib";
-use lib "../JSON-JOM/lib";
-use JSON::JOM qw[from_json to_json uplift];
-use JSON::Path;
-use Scalar::Util qw[blessed];
-
-my $object = uplift(from_json(<<'JSON'));
-{ "store": {
-    "book": [ 
-      { "category": "reference",
-        "author": "Nigel Rees",
-        "title": "Sayings of the Century",
-        "price": 8.95
-      },
-      { "category": "fiction",
-        "author": "Evelyn Waugh",
-        "title": "Sword of Honour",
-        "price": 12.99
-      },
-      { "category": "fiction",
-        "author": "Herman Melville",
-        "title": "Moby Dick",
-        "isbn": "0-553-21311-3",
-        "price": 8.99
-      },
-      { "category": "fiction",
-        "author": "J. R. R. Tolkien",
-        "title": "The Lord of the Rings",
-        "isbn": "0-395-19395-8",
-        "price": 22.99
-      }
-    ],
-    "bicycle": {
-      "color": "red",
-      "price": 19.95
-    }
-  }
-}
-JSON
-
-$JSON::Path::Safe = 0;
-
-foreach ('$.store.book[0].title', '$.store.book[*].author', '$..author', '$..book[-1:]',
-	'$..book[?($_->{author} =~ /tolkien/i)]')
-{
-	my $jpath = JSON::Path->new($_);
-	say $jpath;
-	say to_json([$jpath->values($object)], {pretty=>1});
-	say to_json([$jpath->paths($object)], {pretty=>1});
-	say [$jpath->values($object)]->[0]->nodePath
-		if blessed([$jpath->values($object)]->[0]);
-	say '-' x 40; 
-}
+use 5.010;
+use lib "lib";
+use lib "../JSON-JOM/lib";
+use JSON::JOM qw[from_json to_json to_jom];
+use JSON::Path;
+use Scalar::Util qw[blessed];
+
+my $object = to_jom(from_json(<<'JSON'));
+{ "store": {
+    "book": [ 
+      { "category": "reference",
+        "author": "Nigel Rees",
+        "title": "Sayings of the Century",
+        "price": 8.95
+      },
+      { "category": "fiction",
+        "author": "Evelyn Waugh",
+        "title": "Sword of Honour",
+        "price": 12.99
+      },
+      { "category": "fiction",
+        "author": "Herman Melville",
+        "title": "Moby Dick",
+        "isbn": "0-553-21311-3",
+        "price": 8.99
+      },
+      { "category": "fiction",
+        "author": "J. R. R. Tolkien",
+        "title": "The Lord of the Rings",
+        "isbn": "0-395-19395-8",
+        "price": 22.99
+      }
+    ],
+    "bicycle": {
+      "color": "red",
+      "price": 19.95
+    }
+  }
+}
+JSON
+
+$JSON::Path::Safe = 0;
+
+foreach ('$.store.book[0].title', '$.store.book[*].author', '$..author', '$..book[-1:]',
+	'$..book[?($_->{author} =~ /tolkien/i)]')
+{
+	my $jpath = JSON::Path->new($_);
+	say $jpath;
+	say to_json([$jpath->values($object)], {pretty=>1});
+	say to_json([$jpath->paths($object)], {pretty=>1});
+	say [$jpath->values($object)]->[0]->nodePath
+		if blessed([$jpath->values($object)]->[0]);
+	say '-' x 40; 
+}
 package JSON::Path;
 
 use 5.008;
-use common::sense;
+use strict qw(vars subs);
 use overload '""' => \&to_string;
+no warnings;
 
-our $VERSION = '0.101';
+our $VERSION = '0.200';
 our $Safe    = 1;
 
-use Error qw[:try];
+use Carp;
 use JSON qw[from_json];
 
 sub new
 package JSON::Path::Helper;
 
 use 5.008;
-use common::sense;
+use strict qw(vars refs);
+no warnings;
 
-use Error qw[:try];
+use Carp;
 use Scalar::Util qw[blessed];
 
-our $VERSION = '0.101';
+our $VERSION = '0.200';
 
 sub new
 {
 	
 	else
 	{
-		throw Error::Simple('walk called on non hashref/arrayref value.');
+		croak('walk called on non hashref/arrayref value, died');
 	}
 }
 
 {
 	my ($self, $x, $v, $vname) = @_;
 	
-	throw Error::Simple('non-safe evaluation.')
-		if $JSON::Path::Safe;
+	croak('non-safe evaluation, died') if $JSON::Path::Safe;
 		
 	my $expr = $x;
 	$expr =~ s/\$root/\$self->{'obj'}/g;
 	
 	if ($@)
 	{
-		throw Error::Simple("eval failed: $expr");
+		croak("eval failed: `$expr`, died");
 	}
 	
 	return $res;
 Returns a list of structures from within $object which match against the
 JSONPath expression.
 
-This method will sometimes throw an error using the L<Error> module.
-
 =item C<<  paths($object)  >>
 
 As per C<values> but instead of returning structures which match

meta/changes.pret

+# This file acts as the project's changelog.
+
+@prefix :        <http://usefulinc.com/ns/doap#> .
+@prefix my:      <http://purl.org/NET/cpan-uri/dist/JSON-Path/> .
+
+my:v_0-080_00
+	a               :Version ;
+	dc:issued       "2010-07-28"^^xsd:date ;
+	:revision       "0.080_00"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.080_00.tar.gz> ;
+	rdfs:label      "Ported from PHP."@en .
+
+my:v_0-080_01
+	a               :Version ;
+	dc:issued       "2010-07-29"^^xsd:date ;
+	:revision       "0.080_01"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.080_01.tar.gz> ;
+	dcs:changeset [
+		dcs:versus my:v_0-080_00 ;
+		dcs:item   [ rdfs:label "Fix license metadata in distribution."@en ; a dcs:Bugfix ]
+		] .
+
+my:v_0-100
+	a               :Version ;
+	dc:issued       "2010-08-25"^^xsd:date ;
+	:revision       "0.100"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.100.tar.gz> ;
+	dcs:changeset [
+		dcs:versus my:v_0-080_01 ;
+		dcs:item   [ rdfs:label "Support for JSON::JOM."@en ; a dcs:Update ] ;
+		dcs:item   [ rdfs:label "Minor documentation improvements."@en ] ;
+		] .
+
+my:v_0-101
+	a               :Version ;
+	dc:issued       "2011-09-29"^^xsd:date ;
+	:revision       "0.101"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/JSON-Path-0.101.tar.gz> ;
+	dcs:changeset [
+		dcs:versus my:v_0-100 ;
+		dcs:item   [ rdfs:label "Fix retrieval of zeroth array element."@en ; a dcs:Bugfix ] ;
+		dcs:item   [ rdfs:label "Add more test cases."@en ; a dcs:Packaging ] ;
+		] .
+
+my:project :release my:v_0-080_00, my:v_0-080_01, my:v_0-100, my:v_0-101.
+
+# Pretdsl below here...
+
+`JSON-Path 0.200 cpan:TOBYINK`
+	issued  2012-09-12;
+	changeset [
+		item "Switch from Error.pm exceptions to Carp::croak."^^Update;
+		item "Drop dependency on common::sense."^^Packaging;
+		item "Modernize."^^Packaging;
+	].
+
+# This file contains general metadata about the project.
+
+@prefix : <http://usefulinc.com/ns/doap#>.
+
+`JSON-Path`
+	:programming-language "Perl" ;
+	:shortdesc            "search nested hashref/arrayref structures using JSONPath";
+	:homepage             <https://metacpan.org/release/JSON-Path>;
+	:download-page        <https://metacpan.org/release/JSON-Path>;
+	:bug-database         <http://rt.cpan.org/Dist/Display.html?Queue=JSON-Path>;
+	:repository           [ a :HgRepository; :browse <https://bitbucket.org/tobyink/p5-json-path> ];
+	:created              2010-07-28;
+	:license              <http://opensource.org/licenses/mit-license.php>;
+	:maintainer           cpan:TOBYINK;
+	:developer            cpan:TOBYINK.
+
+<http://dev.perl.org/licenses/>
+	dc:title  "the same terms as the perl 5 programming language system itself".
+
+cpan:TOBYINK
+	foaf:name  "Toby Inkster";
+	foaf:mbox  <mailto:tobyink@cpan.org>.
+

meta/makefile.pret

+# This file provides instructions for packaging.
+
+`JSON-Path`
+	perl_version_from m`JSON::Path`;
+	version_from      m`JSON::Path`;
+	readme_from       m`JSON::Path`;
+	requires          p`JSON 2.00`;
+	test_requires     p`Test::More 0.61`;
+.
+
+use Test::More;
+eval "use Test::Pod 1.00";
+plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+all_pod_files_ok();
+

xt/02pod_coverage.t

+use Test::More;
+use Test::Pod::Coverage;
+
+my @modules = qw(JSON::Path);
+pod_coverage_ok($_, "$_ is covered") for @modules;
+done_testing(scalar @modules);
+

xt/03meta_uptodate.t

+use Test::More tests => 1;
+use Test::RDF::DOAP::Version;
+doap_version_ok('JSON-Path', 'JSON::Path');
+
+use Test::EOL;
+all_perl_files_ok();