Archived
1
0
This repository has been archived on 2021-10-08. You can view files and clone it, but cannot push or open issues or pull requests.
ACU/grades/generate.pl
Mercier Pierre-Olivier e243e7bbcf Rename common to ACU
2013-09-02 19:11:17 +02:00

59 lines
1.0 KiB
Perl

#! /usr/bin/env perl
use v5.10.1;
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
BEGIN {
push @INC, "../common";
}
use Grading;
use Trace;
# Parse arguments
our $debug;
my $input; my $format;
my $help; my $man;
GetOptions ("help|h|?" => \$help,
"man" => \$man,
"format|F" => \$format,
"debug|d" => \$debug,
"" => \$input)
or pod2usage(2);
pod2usage(1) if $help;
pod2usage(-exitval => 0, -verbose => 2) if $man;
my $xmlgrading;
if ($#ARGV == -1) {
pod2usage(1);
}
else {
open $xmlgrading, "<", shift or die $!;
}
binmode $xmlgrading;
my $grade = Grading->new($xmlgrading);
close $xmlgrading;
do {
my $xmltrace;
if (defined $input || $#ARGV == -1) {
$xmltrace = *STDIN;
}
else {
open $xmltrace, "<", shift or die $!;
}
binmode $xmltrace;
my $trace = Trace->new($xmltrace);
close $xmltrace unless $xmltrace eq *STDIN;
$grade->fill($trace->getIds);
say $trace->getFirstWho().",".$grade->compute();
} while ($#ARGV >= 0);