if ("[stores_0_solved]" eq 'excused') { 'excused'; } elsif (M0) { if(K0) { if (K0 == M0) { "correct"; } elsif (K0 < M0) { K0.'/'.M0.' correct'; } else { 'correct'; } } else { "incorrect"; } } else { ''; } 'Tries:' if (M0) { [&EXPANDSUM(PART;stores_PART_tries)]/M0; } else { ''; } 'Timestamp:' [timestamp] if ([timestamp]>100000000) { $tmp = localtime([timestamp]); $tmp =~ s/\s/ /g; $tmp; } else { ''; } 'Due Date:' [parameter_0_duedate] if ([parameter_0_duedate]>100000000) { $tmp = localtime([parameter_0_duedate]); $tmp =~ s/\s/ /g; $tmp; } else { ''; } 'Attempted Parts:' [&EXPANDSUM(PART;(stores_PART_solved !~ /^(\W?excused\W?|)$/ ?1:0))] 'Solved Parts:' [&EXPANDSUM(PART;(stores_PART_awarded?1:0))] 'Available Points:' if ("[stores_0_solved]" eq 'excused') { 0 } else { [&EXPANDSUM(PART;parameter_PART_weight*(stores_PART_solved !~ /^\W?excused\W?$/ ? 1 : 0))]; } 'Awarded Points:' if ("[stores_0_solved]" eq 'excused') { 0 } else { [&EXPANDSUM(PART;parameter_PART_weight*stores_PART_awarded)] }