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