All pastes #511728 Raw Edit

Stuff

public text v1 · immutable
#511728 ·published 2007-05-26 16:37 UTC
rendered paste body
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;
}