CONFIG_DATA(1)

πŸ“¦ version 0.423400, in opensuse-leap 16.0

okay so bestie, this is CONFIG_DATA(1) from the User Contributed Perl Documentation β€” yes, the whole manual page, and we're gonna get you comfy with config_data πŸ’–

πŸŽ€ NAME πŸŽ€

config_data β€” Query or change configuration of Perl modules. slay. ✨

🌸 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 πŸ¦‹

okay so config_data gives you a command-line interface to the configuration of Perl modules. When we say β€œconfiguration,” we mean something like β€œuser preferences” or β€œlocal settings.” This tool 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) developed independently. iconic lineage, honestly. πŸ‘‘

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 (and yes, I would have called it Foo::Config, but that name 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. no cap. πŸ’…

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. that's the whole mood. πŸ¦‹

✨ 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, --module β€” Specifies the name of the module to configure. It is required. ✨
  • feature, --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, --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, --set_feature β€” Sets the given β€œfeature” to the given boolean value. Specify the value as either 1 or 0. πŸ”₯
  • set_config, --set_config β€” Sets the given β€œconfig” entry to the given value. πŸ’…
  • eval, --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. 😭 it's giving β€œknow your limits,” fr fr.
  • help, --help β€” Prints a help message, including a few examples, and exits. 🫢

πŸ‘‘ AUTHOR πŸ‘‘

Ken Williams, kwilliams@cpan.org. author icon behavior. 🌟

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). go read those too, bestie. πŸ¦‹


mwah πŸ’‹ that's the whole page β€” it's perl v5.42.0, dated 2023-04-29, and the manual is CONFIG_DATA(1). periodt. 🫢

πŸ“¦ where this page comes from