Config::Model::TreeSearcher(3pm)

Config::Model::TreeSearcher3pm

Search tree for match in value, description...

Usage

 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

Version

version 2.155

Overview

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

Parameters: "(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 elements. See "grab" in Config::Model::Role::Grab for details on the path syntax.

Releases

7 releases since Debian 7 (Wheezy); the text changed 6 times.

  1. 7
  2. 8
  3. 9
  4. 10
  5. 11
  6. 12
  7. 13

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

From libconfig-model-perl 2.155-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.