# NAME Config::PL - Using '.pl' file as a configuration # SYNOPSIS use Config::PL; my $config = config_do 'config.pl'; my %config = config_do 'config.pl'; # DESCRIPTION Config::PL is a utility module for using '.pl' file as a configuration. This module provides `config_do` function for loading '.pl' file. Using '.pl' file which returns HashRef as a configuration is good idea. We can write flexible and DRY configuration by it. (But, sometimes it becomes too complicated :P) `do "$file"` idiom is often used for loading configuration. But, there is some problems and [Config::PL](http://search.cpan.org/perldoc?Config::PL) cares these problems. ## Ensure returns HashRef `do EXPR` function of Perl core is not sane because it does not die when the file contains parse error or is not found. `config_do` function croaks errors and ensures that the returned value is HashRef. ## Expected file loading `do "$file"` searches files in `@INC`. It sometimes causes intended file loading. `config_do` function limits the search path only in `cwd` and `basename(__FILE__)`. You can easily load another configuration file in the config files as follows. # config.pl use Config:PL; config_do "$ENV{PLACK_ENV}.pl"; You need not write `do File::Spec->catfile(File::Basename::dirname(__FILE__), 'config.pl') ...` any more! You can add search path by specifying path as follows. (EXPERIMENTAL) use Config::PL ':path' => 'path/config/dir'; __THIS SOFTWARE IS IN ALPHA QUALITY. IT MAY CHANGE THE API WITHOUT NOTICE.__ # FUNCTION ## `my ($conf|%conf) = config_do $file_name;` Loading configuration from '.pl' file. # LICENSE Copyright (C) Masayuki Matsuki. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. # AUTHOR Masayuki Matsuki <y.songmu@gmail.com>