Module? no but maybe something like this?
#!/usr/bin/perl
use strict;
my $conffile = "ldirector.conf";
my %chash;
my $key = "";
my $value = "";
my $virtual = "";
open(CONF, "< $conffile")
or die "Couldn't open $conffile for reading: $!\n";
while(<CONF>) {
chomp();
($key,$value) = split(/=/);
if ($key eq "virtual") {
$virtual = $value;
}
elsif ($key =~ s/^\s+(.*)/$1/) {
$chash{'virtual'}{$virtual}{$key}=$value;
}
else {
$chash{$key}=$value;
}
}
Caveats: This code was thrown together in mere minutes. so no responsibility taken if it accientally wipes your hard drive and stuff ;) It should read your config file though and put your variables into a hash with the part before the = as key and the part after the = as the value. Saves the virtual value if it encounters one and add every line that follows as a key value pair to $chash{'virtual'}{$lastvirtualencountered}{$key} = $value pairs
So make sure that there is NO intendet line before the first virtual or else this code will not work correctly.
--
"WHAT CAN THE HARVEST HOPE FOR IF NOT THE CARE OF THE REAPER MAN"
-- Terry Pratchett, "Reaper Man"