ansible-tools/siteconf.pm
2022-09-07 02:35:53 +02:00

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: