my $meetingFile="meeting.ini";
GetOptions ('m=s' => \$meetingFile, 'p=s' => \$participantsFile, 'h' => \$help, 'v' => \$verbose);
my %rawMeeting = readMeetingData($meetingFile);
#######################################
sub readMeetingData {
{ local $| = 1; print "Reading meeting data from $meetingFile... "; }
my ($meetingFile) = @_;
print $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");
}
my @neededKeys = ('aantalhuisjes','aantalinvalidenhuisjes','personenperhuis');
foreach $key (@neededKeys) {
if (exists $tmeeting{$key}) {
print "Found key: $key.\n" if $verbose;
} else {
die "Couldn't find $key, stopped";
}
}
my $numkeys = scalar keys %meeting;
if ($numkeys != 3) {
warn("\nUnexpected number of keys ($numkeys) in $meetingFile, expected 3, warning");
} else {
print " found 3 keys, done.\n";
}
return %meeting;
}