logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Config::Model::Backend::ShellVar - Read and write config as a "SHELLVAR" data structure

Author

       Dominique Dumont

Constructor

new
       Parameters: "( node => $node_obj, name => 'shellvar' )"

       Inherited from Config::Model::Backend::Any. The constructor is called by Config::Model::BackendMgr.

   read
       Of all parameters passed to this read call-back, only "file_path" is used.

       When a file is read, "read" returns 1.

   write
       Of all parameters passed to this write call-back, only "file_path" is used.

       "write" returns 1.

Description

       This module is used directly by Config::Model to read or write the content of a configuration tree
       written with "SHELLVAR" syntax in "Config::Model" configuration tree.

       Note that undefined values are skipped for list element. I.e. if a list element contains
       "('a',undef,'b')", the data structure contains 'a','b'.

Name

       Config::Model::Backend::ShellVar - Read and write config as a "SHELLVAR" data structure

See Also

       Config::Model, Config::Model::BackendMgr, Config::Model::Backend::Any,

Synopsis

        use Config::Model;

        my $model = Config::Model->new;
        $model->create_config_class (
           name    => "MyClass",
           element => [
               [qw/foo bar/] => {qw/type leaf value_type string/}
           ],

          rw_config  => {
            backend => 'ShellVar',
            config_dir => '/tmp',
            file  => 'foo.conf',
            auto_create => 1,
          }
        );

        my $inst = $model->instance(root_class_name => 'MyClass' );
        my $root = $inst->config_root ;

        $root->load('foo=FOO1 bar=BAR1' );

        $inst->write_back ;

       File "foo.conf" now contains:

        ## This file was written by Config::Model
        ## You may modify the content of this file. Configuration
        ## modifications will be preserved. Modifications in
        ## comments may be mangled.
        ##
        foo="FOO1"

        bar="BAR1"

Version

       version 2.155

See Also