33 lines
765 B
Perl
Executable File
33 lines
765 B
Perl
Executable File
package siteconf;
|
|
use strict; use warnings;
|
|
use FindBin;
|
|
|
|
my $configuration = "$FindBin::Bin/../site.conf";
|
|
if (!open(FH, '<', $configuration)) {
|
|
die "Could not open configuration file: $configuration\n";
|
|
}
|
|
|
|
my %site_conf;
|
|
sub read {
|
|
my $site;
|
|
while (my $line = <FH>) {
|
|
chomp $line;
|
|
next if $line =~ /^#/;
|
|
next if $line !~ /\S/;
|
|
if ($line =~ /^\[([A-Za-z0-9_-]+)\]/) {
|
|
$site = $1;
|
|
$site_conf{$site} = {};
|
|
} elsif ($line =~ /^([A-Za-z0-9_-]+)\s+(.+)/) {
|
|
$site_conf{$site}->{$1} = $2;
|
|
} else {
|
|
die "invalid line in site_conf: $line\n";
|
|
}
|
|
}
|
|
close(FH);
|
|
return %site_conf;
|
|
}
|
|
|
|
1;
|
|
__END__
|
|
# vim: set tabstop=4 shiftwidth=4 expandtab smarttab:
|