@GRADES = qw( E D- D D+ C- C C+ B- B B+ A- A ); @BRACKETS = ( 60,64,67,70,74,77,80,84,87,90,95 ); if ($possible) { $average = sprintf("%2.2f", ($earned / $possible) * 100); $grade = 0; foreach (@BRACKETS) { $grade++ if ($average >= $_); } $grade = $GRADES[$grade]; } else { $grade = $average = $earned = $possible = "?"; }