#!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 12 Quiz Response

Music 190W Chapter 12 Quiz Results

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

ENDPRINT $q = 0; # number of questions answered correctly $t = 20; # 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 = ("b","d","c","b","c","b","d","c","c","a","b","a","c","b","c","a","b","b","b","b"); while ($x != 21) { 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 = int $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 13.

Remember to bring a question about chapter 12 to class during week 12 for one point extra credit.

The prompts for week 12:

  1. How can you identify a Classical period piece by listening? Choose one of the pieces from chapter 12 and use it as an example of the features you focus on to identify the style as Classical.

  2. Classical music is related to the ideas of the Enlightenment, but chapter 12 doesn't stress this connection. In one paragraph, explain what the Enlightenment was. In the second paragraph, identify several ways in which music was affected by Enlightenment ideas. (The first chapter in the Classical music section of the textbook by Joseph Kerman, Listen, which is on reserve in the Music Library for another section of Music 190, explains the Enlightenment clearly.)

  3. Compare one Baroque piece we've studied and one Classical piece we've studied on the basis of 1) what people in that time period thought the purpose of music was; and 2) how the music sounds.

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'}.wk12log") || die "Sorry, I couldn't open that file for writing\n"; print OUTFILE "$fields{'name'}, whose SSN is $fields{'ssn'}, has taken the chapter 12 quiz at $when.\n"; &PrintOutResponse; close(OUTFILE); open(REPORTFILE,">>quiz12log.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 = 20; # 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 = ("b","d","c","b","c","b","d","c","c","a","b","a","c","b","c","a","b","b","b","b"); while ($x != 21) { 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 = int $score * 100; print OUTFILE "The score on this quiz is $score%.\n\n"; }