Config::Model::TreeSearcher(3) Search tree for match in value, description...

VERSION

version 2.087

SYNOPSIS


use Config::Model ;
# define configuration tree object
my $model = Config::Model->new ;
$model ->create_config_class (
name => "MyClass",
element => [
[qw/foo bar/] => {
type => 'leaf',
value_type => 'string'
},
baz => {
type => 'hash',
index_type => 'string' ,
cargo => {
type => 'leaf',
value_type => 'string',
},
},

],
) ;
my $inst = $model->instance(root_class_name => 'MyClass' );
my $root = $inst->config_root ;
my $steps = 'baz:fr=bonjour baz:hr="dobar dan" foo="journalled"';
$root->load( steps => $steps ) ;
my @result = $root->tree_searcher(type => 'value')->search('jour');
print join("\n",@result),"\n" ;
# print
# baz:fr
# foo

DESCRIPTION

This class provides a way to search the content of a configuration tree. Given a keyword or a pattern, the search method scans the tree to find a value, a description or anything that match the given pattern (or keyword).

Constructor

new (type => [ value | description ... ] )

Creates a new searcher object. The "type" parameter can be:
element
value
key
summary
description
help
all
Search in all the items above

Methods

search(keyword)

Search the keyword or pattern in the tree. The search is done in a case insensitive manner. Returns a list of path pointing to the matching tree element. See ``grab(...)'' in Config::Model::AnyThing for details on the path syntax.

BUGS

Creating a class with just one search method may be overkill. OTOH, it may be extended later to provide iterative search.

AUTHOR

Dominique Dumont, (ddumont at cpan dot org)

AUTHOR

Dominique Dumont

COPYRIGHT AND LICENSE

This software is Copyright (c) 2005-2016 by Dominique Dumont.

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999