#!perl $temp=$ENV{'QUERY_STRING'}; @pairs=split(/&/,$temp); foreach $item(@pairs) { ($key,$content)=split (/=/,$item,2); $content=~tr/+/ /; $content=~ s/%(..)/pack("c",hex($1))/ge; $fields{$key}=$content; } ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $user = $fields{'name'}; if ($user) { &PrintResponsePage; &WriteOut; } else { &NoName; } # subroutines sub PrintResponsePage { print <Music 190W Chapter 3 Quiz Response

Music 190W Chapter 3 Quiz Results

Hi there, $fields{'name'}, whose e-mail address is <$fields{'email'}>.

ENDPRINT $q = 0; # number of questions answered correctly $t = 21; # total number of questions $score = 0; # score on the test to be converted into percent $x = 1; # the question number $a = 0; # the answer number # be sure to update answer key for each new week @ans = ("c","a","d","a","b","c","d","a","c","b","e","c","a","c","b","b","b","b","c","b","c"); while ($x != 22) { if ($fields{$x} eq @ans[$a]) { print "Question $x is correct.

\n"; ++$q; } else { print "Question $x is incorrect.

\n"; } ++$x; ++$a; } $score = $q / $t; $score = $score * 100; print "Your score on this quiz is $score%.\n"; if ($score != 100) { print <Please review the questions you missed and try this quiz again in order to reach the writing assignment prompts.

Use Netscape's Back button to return to your quiz.

E-mail Prof. Murphy if you have questions

ENDPRINT } else { print < Choose one prompt and write a 1-page essay, which will be due at your class meeting in week 4.

Essays must be typed, with 1 inch margins on all sides and no extra lines between paragraphs.

The prompts for week 3:

  1. Which terms for elements of music did you have the most trouble understanding? Identify those terms and use the textbook and glossary to clarify them. Write about what you learned.

  2. Compare the ways music creates tension and release with the way tension and release are created in movies. Use a specific piece of music and a specific movie to focus your writing.

  3. Compare the way form is created in music with the way form is handled in a TV sitcom or a movie: do principles like departure and return apply to TV shows and movies? If so, how?

  4. If none of these writing prompts suits you, make one of your own, check it with me by e-mail, and write on it.

E-mail Prof. Murphy if you have questions

ENDPRINT } print "\n"; } sub NoName { print <No Name Entered

You can take the quiz as many times as you like.

I do ask, however, that you enter your name at the top of the quiz form.

Netscape's Back button will return you to your quiz.

Prof. Murphy

ENDPRINT print "\n"; } sub WriteOut { $when = localtime(time); open(OUTFILE, ">>$fields{'name'}.wk3log") || die "Sorry, I couldn't open that file for writing\n"; print OUTFILE "$fields{'name'}, whose SSN is $fields{'ssn'}, has taken the chapter 3 quiz at $when.\n"; &PrintOutResponse; close(OUTFILE); open(REPORTFILE,">>quiz3log.txt") || die "Sorry, I couldn't open the log file.\n"; print REPORTFILE "$fields{'name'} | $score% | $when | $ENV{'HTTP_USER_AGENT'}\n"; close REPORTFILE; } sub PrintOutResponse { $q = 0; # number of questions answered correctly $t = 21; # total number of questions $score = 0; # score on the test to be converted into percent $x = 1; # the question number $a = 0; # the answer number @ans = ("c","a","d","a","b","c","d","a","c","b","e","c","a","c","b","b","b","b","c","b","c"); while ($x != 22) { if ($fields{$x} eq @ans[$a]) { print OUTFILE "Question $x is correct.\n"; ++$q; } else { print OUTFILE "Question $x is incorrect.\n"; } ++$x; ++$a; } $score = $q / $t; $score = $score * 100; print OUTFILE "The score on this quiz is $score%.\n\n"; }