GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

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

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

version 2.149

 use Config::Model;

 my $model = Config::Model->new;

 my $inst = $model->create_config_class(
    name => "WithPlainFile",
    element => [ 
        [qw/source new/] => { qw/type leaf value_type uniline/ },
    ],
    rw_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 contains 2 files: "source" and "new" with "foo" and "yes" inside.

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.

Element values are written in one or several files depending on their type.
leaf
The leaf value is written in one file. This file can have several lines if the leaf type is "string"
list
The list content is written in one file. Each line of the file is a value of the list.
hash
Not supported

By default, the configuration file is named after the element name (like in synopsis above).

The "file" parameter can also be used to specify a file name that take into account the path in the tree using "&index()" and "&element()" functions from Config::Model::Role::ComputeFunction.

For instance, with the following model:

    class_name => "Foo",
    element => [
        string_a => { type => 'leaf', value_type => 'string'}
        string_b => { type => 'leaf', value_type => 'string'}
    ],
    rw_config => {
        backend => 'PlainFile',
        config_dir => 'foo',
        file => '&element(-).&element',
        file_mode => 0644,  # optional
    }

If the configuration is loaded with "example string_a=something string_b=else", this backend writes ""something"" in file "example.string_a" and "else" in file "example.string_b".

"file_mode" parameter can be used to set the mode of the written file. "file_mode" value can be in any form supported by "chmod" in Path::Tiny.

Parameters: "(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.

Like read_leaf for hash elements.

Parameters: "(obj, elt, check, file, args)"

Like read_leaf for list elements.

"write" writes 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).

Dominique Dumont, (ddumont at cpan dot org)

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

Dominique Dumont

This 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
2022-04-07 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.