INN::Config(3pm)
π INN::Config β the manual page, but make it make sense
okay so this is from the InterNetNews Documentation set, and it's the INN::Config(3pm) page β aka the Perl module that hands your script literally everything it could ever want. let's get into it π«Ά
β¨ NAME β¨
INN::Config β exports all the variables an INN Perl script might need π
πΈ DESCRIPTION πΈ
okay so here's the vibe: this Perl module sets up any and all the variables that an INN Perl script might need. literally all of them. no cap.
more specifically β and this is the good part β it lets you use inn.conf variables. they're all provided by innconfval, plus the version of INN itself:
$INN::Config::VERSIONβ the short number form of the version$INN::Config::versionβ the complete form
and there's more! other useful variables are also provided β directories, files, programs, masks, parameters. the whole little family π
you can get the complete list with this script that prints them all 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";
}
}
the local script glow-up β¨ β a local Perl script named innshellvars.pl.local in pathetc will get loaded, if it's present and executable, at the end of the run of this module. the typical use case? adding or overriding variables. so cute, so useful π
how to actually use it β you only have to declare the module at the beginning of your scripts, like:
use lib '<pathnews>/lib/perl';
use INN::Config;
then you can, for instance, do:
print $INN::Config::localmaxartsize;
to print the value of localmaxartsize as it's set in inn.conf. iconic behaviour honestly π
version check era π¦ β you can also specify a version when you import the module. if you write:
use INN::Config 2.5.0;
then only versions of INN superior to 2.5.0 will be able to run the Perl script. so like, gatekeeping, but make it responsible β¨
direct import, for the main characters π β it's also possible to import the variables directly into your namespace if you specify what you want to import:
use INN::Config qw($localmaxartsize $pathbin);
π legacy lore drop: a legacyinnshellvars.plis also provided inpathnews/libfor 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:innshellvarsandinnshellvars.tcl. they offer the same capabilities as this module. so they're like the older siblings who still show up to every family dinner π«Ά
π 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 Γlie in 2007. glow-up of the century, fr fr π§
β SEE ALSO β
and that's the page bestie π this was INN 2.7.4, dated 2026-07-24 β go forth and import responsibly πβ¨
π¦ where this page comes from
- epel 10: inn 2.7.4-5.el10_3 Β· ISC AND BSD-3-Clause AND BSD-4-Clause AND FSFAP AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-3.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND MIT AND NTP
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms