NAME¶
INN::Config - Export all the variables an INN Perl script might need
DESCRIPTION¶
This Perl module sets up any and all the variables that an INN Perl script might
need. More particularly, it allows to use
inn.conf variables: they are
all provided by
innconfval, as well as the version of INN (in the
variable $INN::Config::VERSION for its short number form, on in
$INN::Config::version for its complete form). Other useful variables are also
provided (directories, files, programs, masks, parameters). The complete list
can be obtained with the following script that prints them out:
use lib '<pathnews>/lib/perl';
use INN::Config;
use Data::Dumper;
my ($varname, $value);
foreach my $var (@INN::Config::EXPORT_OK) {
if ($var =~ /^\$(.*)$/) {
$varname = "INN::Config::$1";
$value = Dumper($$varname);
$value =~ s/^\$VAR1 = //;
print "\$$varname = $value";
} elsif ($var =~ /^\@(.*)$/) {
$varname = "INN::Config::$1";
$value = Dumper(\@$varname);
$value =~ s/^\$VAR1 = //;
print "\@$varname = $value";
}
}
A local Perl script named
innshellvars.pl.local in
pathetc will be
loaded, if present and executable, at the end of the run of this module. A
typical use is to add or override variables.
You only have to declare the module at the beginning of them:
use lib '<pathnews>/lib/perl';
use INN::Config;
Then, you can for instance use:
print $INN::Config::localmaxartsize;
to print the value of
localmaxartsize as it is set in
inn.conf.
You can also specify a version when you import the module. If you write:
use INN::Config 2.5.0;
only versions of INN superior to 2.5.0 will be able to run the Perl script.
It is also possible to import the variables directly in your namespace if you
specify what you want to import:
use INN::Config qw($localmaxartsize $pathbin);
Note that a legacy
innshellvars.pl is also provided in
pathnews/lib for compatibility reasons with old Perl scripts not
shipped with INN. It was used by versions of INN anterior to 2.5.0. The
corresponding scripts for Shell and Tcl are, however, still in use:
innshellvars and
innshellvars.tcl. They offer the same
capabilities as this module.
HISTORY¶
innshellvars.pl was written by James Brister <brister@vix.com> for
InterNetNews in 1996. It was converted to the INN::Config Perl module by
Julien Elie in 2007.
$Id: Config.pm.in 9568 2013-11-17 20:25:20Z iulius $
SEE ALSO¶
inn.conf(5),
innconfval(1),
perl(1).