#! /usr/bin/perl -w

open (FILE, shift @ARGV) or die "Cannot open data file.";
@filedata = <FILE>;
chomp @filedata;
close FILE or warn "Could not close data file.";

while ( scalar(@filedata) > 0 ) {
	$line = shift @filedata;
	next unless $line;
	if ( length($line) > 60 ) {
		$grade = substr $line, 66, 1;
		$sections{$course}[0]++;  # counts students
		$sections{$course}[1]++ if $grade eq "W";  # counts withdraws
		$sections{$course}[2]++ if $grade =~ m/[DF]/;  # counts failures
		$sections{$course}[3]++ if $grade =~ m/[A-C]/;  # counts pass
		$sections{$course}[4] = 100 * $sections{$course}[3] / $sections{$course}[0];  # calculates percent passed
	} else {
		$course = substr $line, 7, 3;
		$sections{$course} = [0, 0, 0, 0, 0];
	}
}

for (keys %sections) {
	$course = $_;
	print "$course," . join(",", @{$sections{$course}}) . "\n";
}


