then you'll love this one
=============================================
#!/usr/local/bin/perl
# NEED Cgi.pm
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard); # Saves loads of work
$q = new CGI;
$a = param('action');
$n = $q->param('Mul');
$m = $q->param('Mult');
$final = $n * $m;
print $q->header;
print $q->start_html;
if ($a eq "mul"){
&main;
}
if ($a eq ""){
&here;
}
sub here{
print $q->start_form;
print "
n";
print $q->textfield(-name=>'Mul');
print " x ";
print $q->textfield(-name=>'Mult');
print " ",$q->submit;
}
sub main{
&here;
print "
$n x $m = $final ";
}
print $q->end_form;
######################
$an = $q->param('aMul');
$am = $q->param('aMult');
$afinal = $an - $am;
if ($a eq "amul"){
&amain;
}
if ($a eq ""){
&ahere;
}
sub ahere{
print $q->start_form;
print "
n";
print $q->textfield(-name=>'aMul');
print " - ";
print $q->textfield(-name=>'aMult');
print " ",$q->submit;
}
sub amain{
&ahere;
print "
$an - $am = $afinal ";
}
print $q->end_form;
########################
$bn = $q->param('bMul');
$bm = $q->param('bMult');
$bo = $q->param('boMult');
$final = $bn * $bm - $bo;
if ($a eq "bmul"){
&bmain;
}
if ($a eq ""){
&bhere;
}
sub bhere{
print $q->start_form;
print "
n";
print $q->textfield(-name=>'bMul');
print " x ";
print $q->textfield(-name=>'bMult');
print " - ";
print $q->textfield(-name=>'boMult');
print " ",$q->submit;
}
sub bmain{
&bhere;
print "
$bn x $bm - $bo = $bfinal ";
}
print $q->end_form;
######################
print $q->end_html;
=============================================