Scroll to navigation

Config::Model::Backend::PlainFile(3pm) User Contributed Perl Documentation Config::Model::Backend::PlainFile(3pm)
 

NAME

Config::Model::Backend::PlainFile - Read and write config as plain file

VERSION

version 2.061

SYNOPSIS

 use Config::Model;
 use Log::Log4perl qw(:easy);
 Log::Log4perl->easy_init($WARN);
 my $model = Config::Model->new;
 my $inst = $model->create_config_class(
    name => "WithPlainFile",
    element => [ 
        [qw/source new/] => { qw/type leaf value_type uniline/ },
    ],
    read_config  => [ 
        { 
            backend => 'plain_file', 
            config_dir => '/tmp',
        },
    ],
 );
 
 my $inst = $model->instance(root_class_name => 'WithPlainFile' );
 my $root = $inst->config_root ;
 $root->load('source=foo new=yes' );
 $inst->write_back ;
Now "/tmp" directory will contain 2 files: "source" and "new" with "foo" and "yes" inside.

DESCRIPTION

This module is used directly by Config::Model to read or write the content of a configuration tree written in several files. Each element of the node is written in a plain file.
This module supports currently only leaf and list elements. In the case of "list" element, each line of the file is a value of the list.

Methods

read_leaf (obj,elt,check,file,args);

Called by read method to read the file of a leaf element. "args" contains the arguments passed to read method.

read_hash (obj,elt,check,file,args);

Like read_leaf for hash elements.

read_list (obj,elt,check,file,args);

Like read_leaf for list elements.

write ( )

"write()" will write a file for each element of the calling class. Works only for leaf and list elements. Other element type are skipped. Always return 1 (unless it died before).

AUTHOR

Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO

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

AUTHOR

Dominique Dumont

COPYRIGHT AND LICENSE

This software is Copyright (c) 2014 by Dominique Dumont.
This is free software, licensed under:
  The GNU Lesser General Public License, Version 2.1, February 1999
2014-09-24 perl v5.20.0