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 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. 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