All pastes #512061 Raw Edit

Someone

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