GradebookPlus::Parser - Parses Gradebook Plus text reports.


NAME

GradebookPlus::Parser - Parses Gradebook Plus text reports.


SYNOPSIS

   use GradebookPlus::Parser;
   # create a new gradbook
   my $gradebook = new GradebookPlus::Parser;
   # parse
   $gradebook->parse($data);
   # do stuff with the methods


DESCRIPTION

Gradebook is a module useful for parsing Gradebook Plus text reports, a program used by many K-12 school districts. Simply go to

   Reports->
   Gradebook of entire Class->(check fancy report, catagory totals, and all grades)->
   Save to disk.

The parser can then parse the contents of this file. Use it how you like; I use it so teachers can put their grades online with minimal effort on their part.


METHODS

parse($report)

Send it a scalar with the report to parse, in one large chunk. The object becomes filled upon using this method. You can access the data using the below methods:

report_name

Returns the name of the report, if you happen want it.

list_students

Returns a list of students in the report. Each element is a reference to an anonymous hash with 3 elements:

   first
   last
   pw

pw is a generated password which you can use, rather than create your own. Remember, this module was developed for use with an online grade report system.

next_student

A counter of the next student in the report. Kinda like an internal foreach loop. Returns the next student.

average_percent

Returns average total percent for the class

average_points

Returns average total points for the class

total_points

Returns total possible points for the class

assignment_*($assignment_name)

Returns * for the given assignment name The exception is assignment_names, which does not take an argument and returns a list of all assignment names.

   List of methods:
   assignment_names
   assignment_possible
   assignment_scores
   assignment_average
catagory_*($catagory_name)

Returns * for the given catagory name The exception is catagory_names, which does not take an argument and returns a list of all catagory names.

   List of methods:
   catagory_names
   catagory_possible
   catagory_scores
   catagory_average
student_*($first, $last)

Returns * for the given student. The exceptions are with student_assignments and student_catagories, which return an array of all scores in the same order as @assignment_names.

   List of methods:
   student_assignments
   student_catagories
   student_total_points
   student_percent
   student_letter


AUTHOR

Joseph F. Ryan, ryan.311@osu.edu