Hi. I need to create 3 pages. Page 1 requests the number of elements the user wants to add and average. Page 2 asks the user for the numbers. Page 3 adds and averages the numbers and displays them. I can't create a separate page 3 to do this. Page 3 shows the contents of page 2 in addition to the contents of page 3. How do I get only the contents on page 3 to display separately? Everything works so I'm just asking how to do this. Any feedback would be appreciated. Thanks in advance. Here is my code:
Code:
#!/usr/bin/perl
BEGIN
{
open(STDERR, ">&STDOUT");
select(STDERR); $| = 1;
select(STDOUT); $| = 1;
print "Content-type: text/html\n\n";
}
if($ENV{'QUERY_STRING'} eq "")
{
&page1;
exit;
}
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if($buffer eq "")
{
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair(@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if($FORM{$name} eq "")
{
$FORM{$name} = $value;
}
else
{
$FORM{$name} .= " " . $value;
#$FORM{$name} /= " " . $value;
}
}
$num = $FORM{"num"};
sub page1
{
print <<ENDHTML;
<title>Assignment #4 (CS Credit)</title>
<body text="white" bgcolor="blue">
<font face="arial" size="4">
<div align="center">
<form method="get" action="/~westj2/cgi-bin/assignment4_CS_credit.cgi">
<br>
Enter the number of elements to add and average:
<input type="text" name="num" value="3"><br><br>
<input type="submit" name="sub" value="Submit">
<input type="reset" name="res" value="Reset">
ENDHTML
}
print <<ENDHTML;
<title>Assignment #4 (CS Credit)</title>
<body text="white" bgcolor="blue">
<font face="arial" size="4">
<div align="center">
<form method="get" action="/~westj2/cgi-bin/assignment4_CS_credit.cgi">
Enter elements you want to add and average:<br><br>
ENDHTML
for($i = 1; $i <= $num; $i++)
{
print "Element #$i: ";
print "<input type='text' name=$i value=$i><br>";
}
print <<ENDHTML;
<br><input type="submit" name="calc" value="Submit">
<input type="reset" name="res" value="Reset">
<input type="hidden" name="num" value=$FORM{"num"}>
ENDHTML
my @queue;
for($i = 1; $i <= $num; $i++)
{
unshift(@queue, $FORM{"$i"});
}
my @elements = @queue;
print "You entered: ";
for($i = 1; $i <= $num; $i++)
{
print(pop(@queue));
print " ";
}
my $sum;
for($i = 0; $i < $num; $i++)
{
$sum = $sum + @elements[$i];
}
print "<br>Sum: $sum";
my $avg = $sum / $num;
print "<br>Average: $avg";
Comment