perldoc CONFIG::Hash |
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
COPYRIGHT
Copyright (C) 1999, 2000 by Markus Winand <>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.