NAME
CGI::Builder::Conf - Add user editable configuration files to your WebApp
SYNOPSIS
use CGI::Builder
qw| CGI::Builder::Conf
| ;
# in the instance script
$webapp = My::WebApp->new( conf_file => '/path/to/conf_file.mml' )
$webapp = My::WebApp->new( conf_file => [ '/path/to/conf_file.mml',
'/other_conf_file.mml' ]
, conf_mml_options => .... )
# optionally in the CBB
My::WebApp->conf_mml_options ( .... ); # IO::Util::load_mml options
DESCRIPTION
This Extension adds another way to pass arguments to the new method: a user editable MML file (see "Minimal Markup Language (MML)" in IO::Util). This is useful when you want to give to other people (e.g. your client) the possibility to configure their own application instance, but you don't want to give them the possibility to edit and run a potentially unsecure perl script.
You can do so by passing to the new method the full path to a list of conf_file
; the mixed structure of their data will be loaded as the default arguments for that instance (see "OPTIONS" in Class::constr).
Important Note: Please notice that the data contained in the conf_file
is tainted however, so treat that with care (e.g. as they were query parameters).
PROPERTY AND GROUP ACCESSORS
conf_file
This property access and sets the full path to the MML configuration files. You can pass a single path or a list of paths: in that case the data in the next file will override the previous one. You will usually set it with the new()
method or by overriding the property.
conf_mml_options
This is a Class property group accessor, which allows you to define the IO::Util::load_mml
options used to load the conf_file
. By default it has a true optional
option (i.e. it won't croak for missing conf_file
), and a 'TRIM_BLANKS' filter.
conf_options
Deprecated alias for conf_mml_options
.
SUPPORT
See "SUPPORT" in CGI::Builder.
AUTHOR and COPYRIGHT
© 2004 by Domizio Demichelis.
All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 104:
Non-ASCII character seen before =encoding in '©'. Assuming CP1252