SYNOPSIS
use Data::Seek;
my $hash = {...};
my $seeker = Data::Seek->new(data => $hash);
my $result = $seeker->search('*');
$result->data;
DESCRIPTION
Data::Seek is a module for traversing complex data structures. This
module allows you to select specific node(s) in a hierarchical data
structure using a criteria. A criteria is an expression consisting of
one or more criterion. A criterion is the part of the criteria that is
used to select node(s) to be returned in the result. Data::Seek is akin
to Data::Dpath but with fewer features and a simple node selection
syntax. Data::Seek node traversal is extremely fast, and it can throw
exception objects which explain, in detail, why a search failed. This
is very useful internally, and externally when processing foreign data
structures where you need to provide detailed errors explaining how to
resolve the missing or malformed data nodes. For more information on
the underlying concepts, please see Data::Seek::Concepts.
$seeker->cache;
$seeker->cache(1);
Encode the data structure and cache the result. Allows multiple queries
to execute faster. Caching is disabled by default.
$seeker->data;
$seeker->data(Data::Seek::Data->new(...));
The data structure to be introspected, must be a hash reference,
blessed or not, which defaults to or becomes a Data::Seek::Data object.
$seeker->ignore;
$seeker->ignore(1);
Bypass exceptions thrown when a criterion finds an unknown or invalid
node in the data structure.
my @criteria = ('id', 'person.name.*');
my $result = $seeker->search(@criteria);
Prepare a search object to use the supplied criteria and return a
result object. Introspection is triggered when the result object is
enacted. See Data::Seek::Search::Result for usage information.
POD ERRORS
Hey! The above document had some coding errors, which are explained
below:
Around line 27:
Unknown directive: =attr
Around line 35:
Unknown directive: =attr
Around line 43:
Unknown directive: =attr
Around line 51:
Unknown directive: =method