Listing 2. askquestion.pl
#!/usr/bin/perl -w
# Turn on strict error checking
use strict;
use diagnostics;
# CGI.pm is available from CPAN,
# at http://www.perl.com/CPAN
use CGI;
# Include our object
use QuizQuestions;
# Where should we send answers?
my $answer_cgi = "checkanswer.pl";
# ---------------------------
# Create a new CGI object, and output an initial
# MIME header
my $query = new CGI;
print $query->header("text/html");
# Get the quiz name
my $quiz_name = $query->param("keywords");
# Create a new QuizQuestions object, using
# the name of our quiz
my $quiz = new QuizQuestions($quiz_name);
# Now choose a random question
my ($question, $answerA, $answerB, $answerC,
$answerD, $rightAnswer, $questionNumber) =
$quiz->getRandomQuestion;
# Produce the appropriate HTML
print $query->start_html(-title => "Quiz"), "\n";
print "<P>$question</P>\n";
print "<Form method=\"POST\"
action=\"$answer_cgi?$quiz_name\">\n";
print "<P>A: $answerA<input type=\"radio\"
name=\"answer\" value=\"a\"></P>\n";
print "<P>B: $answerB<input type=\"radio\"
name=\"answer\" value=\"b\"></P>\n";
print "<P>C: $answerC<input type=\"radio\"
name=\"answer\" value=\"c\"></P>\n";
print "<P>D: $answerD<input type=\"radio\"
name=\"answer\" value=\"d\"></P>\n";
print "<P><input type=\"hidden\" name=\"questionNumber\" ";
print "value=\"$questionNumber\">\n";
print "<P><input type=\"submit\" value=\"Check
answer\"></P>\n";
print "<P><input type=\"reset\" value=\"Reset
selection\"></P>\n";
print "</Form>\n";
print $query->end_html;
Copyright © 1994 - 2019 Linux Journal. All rights reserved.