sub readMeetingData {
print "Reading meeting data from $meetingFile... ";
my $meeting = new Config::Abstract::Ini($meetingFile) || die("\$!, stopped");
my %meeting = $meeting->get_entry('meeting');
# We're expecting 1 section (see meeting.ini specs). If there's more, we
# ignore it, as long as the one we really want is there. We just ignore it
# very, very loudly.
my %testmeeting = $meeting->get_all_settings;
my $numsections = scalar keys %testmeeting; # How many keys (=sections) did we find?
if ($numsections != 1) {
warn("Meetings file contains more sections ($numkeys) than expected, warning");
}
# We're expecting 3 keys (see meeting.ini specs). If we don't get them, we
# check if the keys we want are there. If not, we die loudly, if they are,
# we simply complain.
my $numkeys = scalar keys %meeting;
if ($numkeys != 3) {
warn("Unexpected number of keys ($numkeys) in $meetingFile, expected 3, warning");
print("Checking if we have the right keys anyway...\n");
@neededKeys = ('aantalhuisjes','aantalinvalidenhuisjes','personenperhuis');
foreach $key (@neededKeys) {
if (exists $testmeeting{$key}) {
print "Found $key.\n"
} else {
die "Couldn't find $key, stopped";
}
}
} else {
print " found 3 keys, done.\n";
}
return %meeting;
}