Súbor: [Platon] / iotta / iotta.pl (stiahnutie)
Revízia 1.4, Sat Apr 5 16:30:11 2003 UTC (21 years, 9 months ago) by yenar
Zmeny od 1.3: +1 -1
[lines]
bugfix: use iotta.cf as default config like before [iotta.pl]
|
#!/usr/bin/perl
require Iotta::Ctrl;
use strict;
use Getopt::Long;
my (%cfg);
#sub init_mods {
# my ($mods, $pre, $fname);
#
# $fname = $cfg{"init/mods"};
# $fname = "iotta.mods" unless $fname;
#
# open (INPUT, $fname) || return 1;
# while (<INPUT>) { $mods.=$_; }
# close (INPUT);
#
# for (split (/\n/, $mods)) {
# my $b = $_;
# s/::/\//g;
# print STDERR "loading $b ($_.pm)\n";
# require "$_.pm" unless /^[ \t]*#.*$/;
# }
#}
sub init_conf {
my @confs;
my ($conf, $key, $val, @fname);
&Getopt::Long::Configure ("pass_through");
&GetOptions ("conf=s" => \@confs, "conffile=s" => \@fname);
$conf = join ("\n", @confs);
push @fname, "iotta.cf" if (!scalar @fname);
for my $fname (@fname) {
print STDERR "loading configuration file $fname...\n";
open (CF, $fname); #|| die "couldn't open configuration file $fname\n";
while (<CF>) { $conf .= $_; };
close CF;
}
$conf =~ s/^#.*//;
for (split (/\n/, $conf)) {
($key,$val) = split (/=/, $_);
$cfg{$key}=$val;
}
}
sub start_control {
my ($ctrl, $ctrln, $retval);
$ctrln = $cfg{"ctrl"};
$ctrln = "Iotta::Ctrl" if (!$ctrln);
print STDERR "starting control module: $ctrln...\n";
my $req = $ctrln;
$req =~ s/::/\//g;
require "$req.pm";
$ctrl = $ctrln->new;
$ctrl->config(\%cfg);
$retval = $ctrl->main;
exit ($retval);
}
&init_conf (@ARGV);
#&init_mods ();
&start_control ();
exit (0);
Platon Group <platon@platon.sk> http://platon.sk/
|