.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "Config 3pm" .TH Config 3pm 2025-09-28 "Lire 2.1.1" "LogReport's Lire Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Lire::Config \- import Lire configuration variables to perl .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use Lire::Config; \& \& Lire::Config\->init(); \& \& my $cfg\->value = Lire::Config\->get( \*(Aqlr_schemas_path\*(Aq ); \& \& my $var = Lire::Config\->get_var( \*(Aqlr_schemas_path\*(Aq ); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" This package provides the API to access the Lire configuration. .SH METHODS .IX Header "METHODS" These methods can be called directly on a Lire::Config instance or the Lire::Config package itself. In the last case, it is the same thing as calling the method on the object returned by the \fBinstance()\fR method. .SS \fBinstance()\fP .IX Subsection "instance()" Returns the singleton Lire::Config object from which configuration can be queried. .SS \fBconfig_spec()\fP .IX Subsection "config_spec()" Returns the configuration specification used by the current configuration. .SS \fBconfig_spec_path()\fP .IX Subsection "config_spec_path()" Returns a list of directories which will be searched for configuration specification file. By default, configuration specifications are only looked for in \fI. .ie n .SS "add_config_spec_path_dir( $dir )" .el .SS "add_config_spec_path_dir( \f(CW$dir\fP )" .IX Subsection "add_config_spec_path_dir( $dir )" This method adds a directory to list of directories that will is used to search for configuration specification files. .ie n .SS "del_config_spec_path_dir( $dir )" .el .SS "del_config_spec_path_dir( \f(CW$dir\fP )" .IX Subsection "del_config_spec_path_dir( $dir )" This method removes a directory from the list of directories that is used to search for configuration specification files. .SS \fBconfig_files()\fP .IX Subsection "config_files()" Returns the list of configuration files that will be used for this configuration. .ie n .SS "add_config_path( $path )" .el .SS "add_config_path( \f(CW$path\fP )" .IX Subsection "add_config_path( $path )" Adds configuration files to the list of files that are part of the configuration. Directories will be scanned recursively. .ie n .SS "add_config_file( $file )" .el .SS "add_config_file( \f(CW$file\fP )" .IX Subsection "add_config_file( $file )" Adds a configuration file to the list of files that will be parsed to initialize the configuration. .ie n .SS "del_config_file( $file )" .el .SS "del_config_file( \f(CW$file\fP )" .IX Subsection "del_config_file( $file )" Removes a configuration file from the list of files that are part of the configuration. .SS get_config_file($file) .IX Subsection "get_config_file($file)" Get a parsed configuration file object from the list of files. .SS \fBinit()\fP .IX Subsection "init()" This method loads and parses the configuration files. It should be called prior to using the \fBget()\fR method to obtain configuration data. This method will throw an exception in case there is an invalid parameter in the configuration. .ie n .SS "get( $varname )" .el .SS "get( \f(CW$varname\fP )" .IX Subsection "get( $varname )" Returns the configuration value for the \f(CW$varname\fR configuration variable. \fBinit()\fR should have been called to load the configuration data before using this method. It will \fBcroak()\fR otherwise. If the \&\f(CW$varname\fR is unknown, an exception will also be thrown. .ie n .SS "get_var( $varname )" .el .SS "get_var( \f(CW$varname\fP )" .IX Subsection "get_var( $varname )" Returns the configuration value for the \f(CW$varname\fR configuration variable as the configuration object. \fBinit()\fR should have been called to load the configuration data before using this method. It will \&\fBcroak()\fR otherwise. If the \f(CW$varname\fR is unknown, an exception will also be thrown. .SH DEBUGGING .IX Header "DEBUGGING" One can call this module direct from the commandline, e.g. for debugging purposes, by doing something like: .PP .Vb 2 \& perl \-e \*(Aquse lib "/path/to/your/share/perl5"; use Lire::Config; \e \& use Lire::Program; print Lire::Config\->get( "lr_mail_from" ), "\en"\*(Aq .Ve .PP or .PP .Vb 2 \& perl \-e \*(Aquse Lire::Config; use Lire::Program; \e \& $a = Lire::Config\->get( lr_converters_init_path ); print "@$a\en"; \*(Aq .Ve .PP \&. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBLire::Config::TypeSpec\fR\|(3pm), \fBLire::Config::Value\fR\|(3pm) .SH AUTHORS .IX Header "AUTHORS" Wessel Dankers Francis J. Lacoste Joost van Baal .SH VERSION .IX Header "VERSION" \&\f(CW$Id:\fR Config.pm,v 1.47 2006/07/23 13:16:28 vanbaal Exp $ .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (C) 2001\-2004 Stichting LogReport Foundation LogReport@LogReport.org .PP This file is part of Lire. .PP 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. .PP 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. .PP 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.