DOKK / manpages / debian 12 / libconfig-model-perl / Config::Model::Describe.3pm.en
Config::Model::Describe(3pm) User Contributed Perl Documentation Config::Model::Describe(3pm)

Config::Model::Describe - Provide a description of a node element

version 2.152

 use Config::Model;
 # define configuration tree object
 my $model = Config::Model->new;
  $model->create_config_class(
    name    => "Foo",
    element => [
        [qw/foo bar/] => {
            type       => 'leaf',
            value_type => 'string'
        },
    ]
 );
 $model ->create_config_class (
    name => "MyClass",
    element => [
        [qw/foo bar/] => {
            type       => 'leaf',
            value_type => 'string'
        },
        hash_of_nodes => {
            type       => 'hash',     # hash id
            index_type => 'string',
            cargo      => {
                type              => 'node',
                config_class_name => 'Foo'
            },
        },
    ],
 ) ;
 my $inst = $model->instance(root_class_name => 'MyClass' );
 my $root = $inst->config_root ;
 # put data
 my $steps = 'foo=FOO hash_of_nodes:fr foo=bonjour -
   hash_of_nodes:en foo=hello ';
 $root->load( steps => $steps );
 print $root->describe ;
 ### prints
 # name          type       value          comment
 # foo           string     FOO
 # bar           string     [undef]
 # hash_of_nodes node hash  <Foo>          keys: "en" "fr"

This module is used directly by Config::Model::Node to describe a node element. This module returns a human readable string that shows the content of a configuration node.

For instance (as shown by "fstab" example:

 name         type         value        comment
 fs_spec      string       [undef]      mandatory
 fs_vfstype   enum         [undef]      choice: auto davfs ext2 ext3 swap proc iso9660 vfat ignore, mandatory
 fs_file      string       [undef]      mandatory
 fs_freq      boolean      0
 fs_passno    integer      0

This module is also used by the "ll" command of Config::Model::TermUI.

No parameter. The constructor should be used only by Config::Model::Node.

Return a description string.

Parameters are:

Reference to a Config::Model::Node object. Mandatory
Describe only this element from the node. Optional. All elements are described if omitted.
Describe the element matching the regexp ref. Example:

 describe => ( pattern => qr/^foo/ )
    
Boolean. Whether to hide empty value (i.e. "undef" or '') or not. Default is false.
Boolean. Display more information with each element. Default is false.

Dominique Dumont, (ddumont at cpan dot org)

Config::Model,Config::Model::Node,Config::Model::ObjTreeScanner

Dominique Dumont

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

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999
2022-07-28 perl v5.34.0