Narada::Config - manage project configuration
This document describes Narada::Config version v2.3.8
use Narada::Config; my $version = get_config_line("version"); my $exclude = get_config("backup/exclude"); set_config("log/output", "/dev/stderr"); my $db = get_db_config(); my $dbh = DBI->connect($db->{dsn}, $db->{login}, $db->{pass});
Project's configuration kept in files under directory 'config/' in project root directory. Usually single file contain value for single variable (variable name is file name itself).
While it's possible to manage project configuration with reading/writing to these files, this module provide easier way to do this.
$value = get_config( $name );
$name must contain only [/A-Za-z0-9._-]. It must not contain "./" or "../".
Return: contents of file 'config/$name' as scalar.
$value = get_config_line( $name );
Suitable for reading files which contain single string (with/without \n at end).
Return: contents of file 'config/$name' as scalar without last \n (if any). Raise exception if file contain more than one line.
$db_config = get_db_config();
Helper for reading database configuration from config/db/*.
config/db/*
Return: nothing if database not configured, or HASHREF with keys:
{db} contents of config/db/db {login} contents of config/db/login {pass} contents of config/db/pass {host} contents of config/db/host {port} contents of config/db/port {dsn_nodb} 'dbi:mysql:;host=$host;port=$port' {dsn} 'dbi:mysql:;host=$host;port=$port;database=$db'
set_config( $name, $value );
See limitation for $name above.
Atomically write $value (scalar) to file 'config/$name'. If 'config/$name' doesn't exist it will be created (including parent directories if needed).
Return: nothing.
bad config: %s
Thrown by set_config() and get_config() on wrong VARIABLE_NAME.
Narada::Config requires configuration files and directories provided by Narada framework.
Please report any bugs or feature requests through the issue tracker at https://github.com/powerman/Narada/issues. You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for public review and contribution under the terms of the license. Feel free to fork the repository and submit pull requests.
https://github.com/powerman/Narada
git clone https://github.com/powerman/Narada.git
MetaCPAN Search
https://metacpan.org/search?q=Narada
CPAN Ratings
http://cpanratings.perl.org/dist/Narada
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Narada
CPAN Testers Matrix
http://matrix.cpantesters.org/?dist=Narada
CPANTS: A CPAN Testing Service (Kwalitee)
http://cpants.cpanauthors.org/dist/Narada
Alex Efros <powerman@cpan.org>
This software is Copyright (c) 2008- by Alex Efros <powerman@cpan.org>.
This is free software, licensed under:
The MIT (X11) License
To install Narada, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Narada
CPAN shell
perl -MCPAN -e shell install Narada
For more information on module installation, please visit the detailed CPAN module installation guide.