Man page of CONFIG_DATA

CONFIG_DATA

Section: User Contributed Perl Documentation (1p)

Updated: 2014-09-19

Index?action=index Return to Main Contents


NAME

config_data - Query or change configuration of Perl modules

SYNOPSIS

  # Get config/feature values
  config_data --module Foo::Bar --feature bazzable
  config_data --module Foo::Bar --config magic_number

  # Set config/feature values
  config_data --module Foo::Bar --set_feature bazzable=1
  config_data --module Foo::Bar --set_config magic_number=42

  # Print a usage message
  config_data --help

DESCRIPTION

The
 "config_data"
tool provides a command-line interface to the configuration of Perl modules. By ``configuration, we mean something akin to ``user preferences or ``local settings''. This is a formalization and abstraction of the systems that people like Andreas Koenig (
 "CPAN::Config"
), Jon Swartz (
 "HTML::Mason::Config"
), Andy Wardley (
 "Template::Config"
), and Larry Wall (perl's own Config.pm) have developed independently.
The configuration system employed here was developed in the context of
 "Module::Build"
. Under this system, configuration information for a module
 "Foo"
, for example, is stored in a module called
 "Foo::ConfigData"
) (I would have called it
 "Foo::Config"
, but that was taken by all those other systems mentioned in the previous paragraph...). These
 "...::ConfigData"
modules contain the configuration data, as well as publicly accessible methods for querying and setting (yes, actually re-writing) the configuration data. The
 "config_data"
script (whose docs you are currently reading) is merely a front-end for those methods. If you wish, you may create alternate front-ends.
The two types of data that may be stored are called
 "config"
values and
 "feature"
values. A
 "config"
value may be any perl scalar, including references to complex data structures. It must, however, be serializable using
 "Data::Dumper"
. A
 "feature"
is a boolean (1 or 0) value.

USAGE

This script functions as a basic getter/setter wrapper around the configuration of a single module. On the command line, specify which module's configuration you're interested in, and pass options to get or set
 "config"
or
 "feature"
values. The following options are supported:
module
Specifies the name of the module to configure (required).:
feature
When passed the name of a
 "feature"
, shows its value. The value will be 1 if the feature is enabled, 0 if the feature is not enabled, or empty if the feature is unknown. When no feature name is supplied, the names and values of all known features will be shown.:
config
When passed the name of a
 "config"
entry, shows its value. The value will be displayed using
 "Data::Dumper"
(or similar) as perl code. When no config name is supplied, the names and values of all known config entries will be shown.:
set_feature
Sets the given
 "feature"
to the given boolean value. Specify the value as either 1 or 0.:
set_config
Sets the given
 "config"
entry to the given value.:
eval
If the
 "--eval"
option is used, the values in
 "set_config"
will be evaluated as perl code before being stored. This allows moderately complicated data structures to be stored. For really complicated structures, you probably shouldn't use this command-line interface, just use the Perl API instead.:
help
Prints a help message, including a few examples, and exits.:

AUTHOR

Ken Williams, kwilliams@cpan.org

COPYRIGHT

Copyright (c) 1999, Ken Williams. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Module::Build?(3), perl?(1).


Index

NAME

SYNOPSIS

DESCRIPTION

USAGE

AUTHOR

COPYRIGHT

SEE ALSO


More Man Pages