|
NAMEConfig::Model::DumpAsData - Dump configuration content as a perl data structure VERSIONversion 2.155 SYNOPSIS use Config::Model ;
use Data::Dumper ;
# 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 ;
# put some data in config tree the hard way
$root->fetch_element('foo')->store('yada') ;
$root->fetch_element('bar')->store('bla bla') ;
$root->fetch_element('baz')->fetch_with_id('en')->store('hello') ;
# put more data the easy way
my $steps = 'baz:fr=bonjour baz:hr="dobar dan"';
$root->load( steps => $steps ) ;
print Dumper($root->dump_as_data);
# $VAR1 = {
# 'bar' => 'bla bla',
# 'baz' => {
# 'en' => 'hello',
# 'fr' => 'bonjour',
# 'hr' => 'dobar dan'
# },
# 'foo' => 'yada'
# };
DESCRIPTIONThis module is used directly by Config::Model::Node to dump the content of a configuration tree in perl data structure. The perl data structure is a hash of hash. Only CheckList content is stored in an array ref. User can pass a sub reference to apply to values of boolean type. This sub can be used to convert the value to an object representing a boolean like boolean. (since 2.129) Note that undefined values are skipped for list element. I.e. if a list element contains "('a',undef,'b')", the data structure then contains 'a','b'. CONSTRUCTORnewNo parameter. The constructor should be used only by Config::Model::Node. Methodsdump_as_dataReturn a perl data structure Parameters are:
Methodsdump_annotations_as_podReturn a string formatted in pod (See perlpod) with the annotations. Parameters are:
AUTHORDominique Dumont, (ddumont at cpan dot org) SEE ALSOConfig::Model,Config::Model::Node,Config::Model::ObjTreeScanner AUTHORDominique Dumont COPYRIGHT AND LICENSEThis 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
|