Michal Špaček > Config-Utils-0.05 > Config::Utils

Download:
Config-Utils-0.05.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.05   Source  

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.
 Affected variables from $self:
 - set_conflicts - Flag, then control conflicts.
 - stack - Reference to array with actual '$key' key position.
 Returns undef or fatal error.
hash($self, $key_ar, $val)
 Create record to hash.
 Affected variables from $self:
 - config - Actual configuration in hash reference.
 - set_conflicts - Flag, then control conflicts.
 - stack - Reference to array with actual '$key' key position.
 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.
 Affected variables from $self:
 - config - Actual configuration in hash reference.
 - set_conflicts - Flag, then control conflicts.
 - stack - Reference to array with actual '$key' key position.
 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

EXAMPLE4 ^

 # Pragmas.
 use strict;
 use warnings;

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

 # Object.
 my $self = {
         'callback' => sub {
                 my ($key_ar, $value) = @_;
                 return uc($value);
         },
         '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)
 #    'callback' => CODE(0x8405c40)
 #       -> &CODE(0x8405c40) in ???
 #    '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.05

syntax highlighting: