---
name: "Config::Model::Backend::Debian::Dpkg"
section: "3pm"
platform: "linux"
package: "libconfig-model-perl"
version: "2.021-3+deb7u1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Config::Model::Backend::Debian::Dpkg"
---

# Config::Model::Backend::Debian::Dpkg(3pm)

Read and write config as plain file

## NAME

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

## VERSION

version 2.021

## 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 => "WithDebian::Dpkg",
    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 => 'WithDebian::Dpkg' );
 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.

## CONSTRUCTOR

### new ( node =\> $node\_obj, name =\> 'plain\_file' ) ;

Inherited from Config::Model::Backend::Any. The constructor will be called by Config::Model::AutoRead.

### read ( io\_handle =\> ... )

Of all parameters passed to this read call-back, only `"io_handle"` is used. This parameter must be IO::File object already opened for read.

It can also be undef. In this case, `"read()"` will return 0.

When a file is read,  `"read()"` will return 1.

### write ( io\_handle =\> ... )

Of all parameters passed to this write call-back, only `"io_handle"` is used. This parameter must be IO::File object already opened for write.

`"write()"` will return 1.

## AUTHOR

Dominique Dumont, (ddumont at cpan dot org)

## SEE ALSO

Config::Model,  Config::Model::AutoRead,  Config::Model::Backend::Any,
