Config::Model::Describe - Provide a description of a node element
version 2.112
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:
fstab
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.
ll
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.
undef
''
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-2017 by Dominique Dumont.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999
To install Config::Model, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Config::Model
CPAN shell
perl -MCPAN -e shell install Config::Model
For more information on module installation, please visit the detailed CPAN module installation guide.