| … | |
… | |
| 766 | . scalar @answerNames . " $numIncorrectNoun correct, for a score of $scorePercent."; |
766 | . scalar @answerNames . " $numIncorrectNoun correct, for a score of $scorePercent."; |
| 767 | return CGI::table({-class=>"attemptResults"}, CGI::Tr(\@tableRows)) . ($showSummary ? CGI::p({class=>'emphasis'},$summary) : ""); |
767 | return CGI::table({-class=>"attemptResults"}, CGI::Tr(\@tableRows)) . ($showSummary ? CGI::p({class=>'emphasis'},$summary) : ""); |
| 768 | } |
768 | } |
| 769 | sub nbsp { |
769 | sub nbsp { |
| 770 | my $str = shift; |
770 | my $str = shift; |
| 771 | ($str eq '') ? ' ' : $str ; # returns non-breaking space for empty strings |
771 | ($str =~/\S/) ? $str : ' ' ; # returns non-breaking space for empty strings |
|
|
772 | # tricky cases: $str =0; |
|
|
773 | # $str is a complex number |
| 772 | } |
774 | } |
| 773 | sub viewOptions($) { |
775 | sub viewOptions($) { |
| 774 | my $self = shift; |
776 | my $self = shift; |
| 775 | my $displayMode = $self->{displayMode}; |
777 | my $displayMode = $self->{displayMode}; |
| 776 | my %must = %{ $self->{must} }; |
778 | my %must = %{ $self->{must} }; |