NAME
CONFIG::Hash - Class to read 2-column files into a hash
SYNOPSIS
use CONFIG::Hash;
my $file = CONFIG::Hash->new($filename, \%config);
$hash_ref = $file->get();
$value = $file->get($key);
DESCRIPTION
Parses a two-column formated file into a hash. The module uses the CONFIG::Plain class so you can use all features of the Plain module.
METHODS
new - parse file (read via CONFIG::Plain) into hash
Configuration Options:
-> all described in CONFIG::Plain are known
KEYREGEXP
Scalar holding a regular expression which must match every key.
DEFAULT: "^(\\S+)"
HINT: Since the first character of a line has to be a non-white-space
character it is possible to make multi-line values.
Have a look at the examples.
HASHREGEXP
Scalar holding a regular expression which matches the content.
DEFAULT: "\\s+(.*)\$"
SUBSTITUTENEWLINE
If defined all NewLine characters in the value will be substituted
with this scalar.
DEFAULT: "\n"
REQUIRE
Reference to a Array which holds list of required variables.
DEFAULT: []
DEFAULT
Reference to Hash holding default Values.
DEFAULT: {}
ALLOWREDEFINE
Scalar switch to suppress error messages if the same key is
redefined at a later point in file.
DEFAULT: 1
CASEINSENSITIVE
All keys are convertet into lower case if this option was defined.
DEFAULT: undef
get - get a reference to the hash or a specified field
$hash_ref = $file->get();
Returns a reference to the hash holding all data from file.
$value = $file->get($key);
Returns the value to the specified key.
get_line - get the linenumber where this key was found
$line_nr = $file->get_line($key);
Returns a scalar holding the line number. Call often to get
include path.
get_file - get the filename where this key was found
$filename = $file->get_file($key);
Returns a scalar holding the filename. Call often to get
include path.
EXAMPLES
Assumes default configuration
>KEY This is a very stupid text
> but it shows the functionality \
> of this module
Will get into
'KEY' => "This is a very stupid text\nbut it shows the functionality of this module"
With the config setting 'SUBSTITUTENEWLINE' => ' '
>INSERT insert into
> table dummy
> (col1, col2, col3)
> values
> (1, "value", "value2");
Will get into
'INSERT' => 'insert into table dummy (col1, col2, col3) values (1, "value", "value2");'
SEE ALSO
CONFIG::Plain(3pm)
The CONFIG:: Guide at http://www.fatalmind.com/programs/CONFIG/
COPYRIGHT
Copyright (C) 1999, 2000 by Markus Winand <mws@fatalmind.com>
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.