Config(3pm)

πŸ“¦ version 2.1.1, in arch rolling

πŸ’» Config(3pm) β€” Lire::Config πŸ’…

okay so this is Config(3pm) from LogReport's Lire Documentation, and it's literally the module that lets perl slurp up your Lire configuration variables. bestie, it's giving "plumbing but make it cute" ✨


🌸 NAME 🌸

Lire::Config β€” the vibe is: import Lire configuration variables into perl 🫢


✨ SYNOPSIS ✨

use Lire::Config;

Lire::Config->init();

my $cfg->value = Lire::Config->get( 'lr_schemas_path' );

my $var = Lire::Config->get_var( 'lr_schemas_path' );

like, that's the whole mood. no cap πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

This package hands you the API for accessing the Lire configuration. that's it, that's the job, and it does it slayfully πŸ‘‘


πŸŽ€ METHODS πŸŽ€

so here's the tea: these methods can be called directly on a Lire::Config instance or on the Lire::Config package itself. and in that second case? it's literally the same thing as calling the method on the object returned by the instance() method. same energy, different door 🌈

⭐ instance()

Returns the singleton Lire::Config object β€” the one main character πŸ’… β€” from which configuration can be queried.

⭐ config_spec()

Returns the configuration specification used by the current configuration.

⭐ config_spec_path()

Returns a list of directories which will be searched for configuration specification files. by default, configuration specifications are only looked for in <datadir/lire/config-spec>. that's the default, ok, don't come for me πŸ™ˆ

⭐ add_config_spec_path_dir( $dir )

Adds a directory to the list of directories that is used to search for configuration specification files. more places to look = more chances to find your fave πŸ“

⭐ del_config_spec_path_dir( $dir )

Removes a directory from the list of directories that is used to search for configuration specification files. bye bestie πŸ‘‹

⭐ config_files()

Returns the list of configuration files that will be used for this configuration.

⭐ add_config_path( $path )

Adds configuration files to the list of files that are part of the configuration. oh and heads up β€” directories will be scanned recursively πŸ‘€

⭐ add_config_file( $file )

Adds a configuration file to the list of files that will be parsed to initialize the configuration.

⭐ del_config_file( $file )

Removes a configuration file from the list of files that are part of the configuration.

⭐ get_config_file($file)

Get a parsed configuration file object from the list of files.

⭐ init()

This method loads and parses the configuration files. it should be called prior to using the get() method to obtain configuration data β€” like, do this first, fr fr.

⚠️ real talk: this method will throw an exception in case there is an invalid parameter in the configuration. so like... handle it 😭

⭐ get( $varname )

Returns the configuration value for the $varname configuration variable. init() should have been called to load the configuration data before using this method. it will croak() otherwise β€” yes, croak, as in it will not be chill about it πŸ’€

If the $varname is unknown, an exception will also be thrown. unknown var = no vibes = error 🌸

⭐ get_var( $varname )

Returns the configuration value for the $varname configuration variable as the configuration object. init() should have been called to load the configuration data before using this method, and it will croak() otherwise.

If the $varname is unknown, an exception will also be thrown. same rules, same drama πŸŽ€


πŸ”₯ DEBUGGING πŸ”₯

you can call this module direct from the commandline, e.g. for debugging purposes, by doing something like:

perl -e 'use lib "/path/to/your/share/perl5"; use Lire::Config; \
 use Lire::Program; print Lire::Config->get( "lr_mail_from" ), "\n"'

or

perl -e 'use Lire::Config; use Lire::Program; \
 $a = Lire::Config->get( lr_converters_init_path );  print "@$a\n"; '

.

(that lone period is part of the original, iykyk 😌)


🌈 SEE ALSO 🌈

go read those too, they're iconic πŸ‘‘


πŸ’œ AUTHORS πŸ’œ

  • Wessel Dankers <wsl@logreport.org>
  • Francis J. Lacoste <flacoste@logreport.org>
  • Joost van Baal <joostvb@logreport.org>

three absolute legends, we stan 🫢


🧚 VERSION 🧚

$Id: Config.pm,v 1.47 2006/07/23 13:16:28 vanbaal Exp $

Copyright (C) 2001-2004 Stichting LogReport Foundation LogReport@LogReport.org

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html.


πŸ’– and that's the whole page bestie! ok so this was Config(3pm), part of Lire 2.1.1, dated 2025-09-28 β€” mwah, go touch some config files, ily, bye! πŸ’…βœ¨πŸŽ€
πŸ“¦ where this page comes from