Why not adopt me?
NAME
IRC::Indexer::Conf - Handle Indexer configuration files
SYNOPSIS
my $cfhash = IRC::Indexer::Conf->parse_conf($path);
## Recursively read server spec files:
my $nethash = IRC::Indexer::Conf->parse_nets($specfile_dir);
DESCRIPTION
Handles IRC::Indexer configuration files in YAML format.
This module can also generate example configuration files.
METHODS
Methods can be called as either class or object methods.
parse_conf
Takes either a file path or a previously-opened filehandle.
Read and parse a specified YAML configuration file, returning the deserialized contents.
parse_conf will croak() if the path cannot be read or does not contain YAML.
YAML::XS will throw an exception if the YAML is not valid.
parse_nets
Takes either a directory or an array reference containing a previously-discovered list of server spec files.
Calls "find_nets" to discover server spec files.
IRC::Indexer::Conf->parse_nets($spec_dir);
IRC::Indexer::Conf->parse_nets(\@specfiles);
Returns a hash with the following structure:
$NETWORK => {
$ServerA => $spec_file_hash,
}
find_nets
Locate .server
spec files recursively under a specified directory.
my @specfiles = IRC::Indexer::Conf->find_nets($spec_dir);
Returns an array in list context or an array reference in scalar context.
get_example_cf
Returns the raw YAML for an example configuration file.
IRC::Indexer::Conf->get_example_cf('httpd');
Valid types, as of this writing, are:
httpd
spec
write_example_cf
Writes an example configuration file to a specified path.
IRC::Indexer::Conf->write_example_cf('httpd', $path);
## From a shell, perhaps:
$ perl -MIRC::Indexer::Conf -e \
'IRC::Indexer::Conf->write_example_cf("httpd", "myhttpd.cf")'
See "get_example_cf" for a list of valid types.
AUTHOR
Jon Portnoy <avenj@cobaltirc.org>