Rechercher une page de manuel
Config::Model::Loader.3pm
Langue: en
Version: 2010-06-11 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAME
Config::Model::Loader - Load serialized data into config treeVERSION
version 1.205SYNOPSIS
use Config::Model ; # create your config model my $model = Config::Model -> new ; $model->create_config_class( ... ) ; # create instance my $inst = $model->instance (root_class_name => 'FooBar', instance_name => 'test1'); # create root of config my $root = $inst -> config_root ; # put some data in config tree my $step = 'std_id:ab X=Bv - std_id:bc X=Av - a_string="toto tata"'; $root->load( step => $step ) ;
DESCRIPTION
This module is used directly by Config::Model::Node to load serialized configuration data into the configuration tree.Serialized data can be written by the user or produced by Config::Model::Dumper while dumping data from a configuration tree.
CONSTRUCTOR
new ( )
No parameter. The constructor should be used only by Config::Model::Node.load string syntax
The string is made of the following items separated by spaces:- -
- Go up one node
- !
- Go to the root node of the configuration tree.
- xxx
- Go down using "xxx" element. (For "node" type element)
- xxx:yy
- Go down using "xxx" element and id "yy" (For "hash" or "list" element with "node" cargo_type)
- xxx=~/yy/
- Go down using "xxx" element and loop over the ids that match the regex. (For "hash")
For instance, with OpenSsh model, you could do
Host=~/.*.debian.org/ user='foo-guest'
to set ``foo-user'' users for all your debian accounts.
- xxx~yy
- Delete item referenced by "xxx" element and id "yy". For a list, this is equivalent to "splice xxx,yy,1". This command does not go down in the tree (since it has just deleted the element). I.e. a '"-"' is generally not needed afterwards.
- xxx=zz
- Set element "xxx" to value "yy". load also accepts to set elements with a quoted string. (For "leaf" element)
For instance "foo="a quoted string"". Note that you cannot embed double quote in this string. I.e "foo="a \"quoted\" string"" will fail.
"foo=''" will set foo to "undef".
- xxx=z1,z2,z3
- Set list element "xxx" to list "z1,z2,z3". Use ",," for undef values, and "" for empty values.
I.e, for a list "('a',undef,'','c')", use "a,,"",c".
- xxx:yy=zz
- For "hash" element containing "leaf" cargo_type. Set the leaf identified by key "yy" to value "zz".
Using "xxx=~/yy/=zz" is also possible.
- xxx.=zzz
- Will append "zzz" value to current values (valid for "leaf" elements).
- xxx#zzz or xxx:yyy#zzz
- Element annotation. Can be quoted or not quoted.
Methods
load ( ... )
Load data into the node tree (from the node passed with "node") and fill values as we go following the instructions passed with "step". ("step" can also be an array ref).Parameters are:
- node
- node ref of the root of the tree (of sub-root) to start the load from.
- step
- A string or an array ref containing the steps to load. See above for a description of the string.
- experience
- Specify the experience level used during the load (default: "master"). The experience can be "intermediate advanced master". The load will raise an exception if the step of the load string tries to access an element with experience higher than user's experience.
AUTHOR
Dominique Dumont, (ddumont at cpan dot org)SEE ALSO
Config::Model,Config::Model::Node,Config::Model::DumperContenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre