NAME

Config::Utils - Common config utilities.

SYNOPSIS

use Config::Utils qw(conflict hash hash_array);
conflict($self, {'key' => 1}, 'key');
hash($self, ['one', 'two'], $val);
hash_array($self, ['one', 'two'], $val);

SUBOUTINES

conflict($self, $config_hr, $key)
Check conflits.
Returns undef or fatal error.
hash($self, $key_ar, $val)
Create record to hash.
Returns undef or fatal error.
hash_array($self, $key_ar, $val)
Create record to hash.
If exists more value record for one key, then create array of values.
Returns undef or fatal error.

ERRORS

conflict():
        Conflict in '%s'.

hash():
        Conflict in '%s'.

hash_array():
        Conflict in '%s'.

EXAMPLE1

# Pragmas.
use strict;
use warnings;

# Modules.
use Config::Utils qw(conflict);

# Object.
my $self = {
        'set_conflicts' => 1,
        'stack' => [],
};

# Conflict.
conflict($self, {'key' => 'value'}, 'key');

# Output:
# ERROR: Conflict in 'key'.

EXAMPLE2

# Pragmas.
use strict;
use warnings;

# Modules.
use Config::Utils qw(hash);
use Dumpvalue;

# Object.
my $self = {
        'config' => {},
        'set_conflicts' => 1,
        'stack' => [],
};

# Add records.
hash($self, ['foo', 'baz1'], 'bar');
hash($self, ['foo', 'baz2'], 'bar');

# Dump.
my $dump = Dumpvalue->new;
$dump->dumpValues($self);

# Output:
# 0  HASH(0x955f3c8)
#    'config' => HASH(0x955f418)
#       'foo' => HASH(0x955f308)
#          'baz1' => 'bar'
#          'baz2' => 'bar'
#    'set_conflicts' => 1
#    'stack' => ARRAY(0x955cc38)
#         empty array 

EXAMPLE3

# Pragmas.
use strict;
use warnings;

# Modules.
use Config::Utils qw(hash_array);
use Dumpvalue;

# Object.
my $self = {
        'config' => {},
        'set_conflicts' => 1,
        'stack' => [],
};

# Add records.
hash_array($self, ['foo', 'baz'], 'bar');
hash_array($self, ['foo', 'baz'], 'bar');

# Dump.
my $dump = Dumpvalue->new;
$dump->dumpValues($self);

# Output:
# 0  HASH(0x8edf890)
#    'config' => HASH(0x8edf850)
#       'foo' => HASH(0x8edf840)
#          'baz' => ARRAY(0x8edf6d0)
#             0  'bar'
#             1  'bar'
#    'set_conflicts' => 1
#    'stack' => ARRAY(0x8edf6e0)
#         empty array

DEPENDENCIES

Error::Pure, Exporter, Readonly.

SEE ALSO

Config::Dot.

AUTHOR

Michal Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

BSD license.

VERSION

0.02