Well i did put a link to all of the work in the script,
here it is anyway:
#!/usr/bin/perl
use vars qw(%config %form);
use strict;
#-###########################################################################
# This website designed by ZigWebDesign.co.uk
#
#-###########################################################################
#-#############################################
# Configuration Section
# Edit these variables!
local %config;
# The Base Directory. We need an
# absolute path for the base directory.
# Include the trailing slash. THIS SHOULD
# NOT BE WEB-ACCESSIBLE!
$config{'basepath'} = '../
# Image Dir
# This is where images are stored.
$config{'imagedir'} = '../images';
# Files Directory
# This is where other files are stored.
$config{'filedir'} = 'files';
# You can configure your own header which will
# be appended to the top of each page.
$config{'header'} =<<"EOF";
<html>
<head>
<meta http-equiv=Content-Type
content=text/html; charset=iso-8859-1>
<meta name=GENERATOR content=Microsoft FrontPage Express 2.0>
<title>Zig Web Design</title>
<style type=text/css>
<!--
a{text-decoration:none}
.menu:hover{color:#9767C7; }
.menu { font-size: 14px;
color: #000000;
font-weight: bold;
font-family: arial;
-->
</style>
</head>
<body bgcolor=#FFFFFF link=#000000 vlink=#000000>
<div align=center><center>
<table border=0 cellpadding=0 cellspacing=0 width=670>
<tr>
<td><p align=right><MAP NAME=FrontPageMap0><AREA SHAPE=RECT COORDS=10, 68, 42, 81 HREF=$ENV{'SCRIPT_NAME'} TARGET=_self><AREA SHAPE=RECT COORDS=49, 68, 88, 81 HREF=$ENV{'SCRIPT_NAME'}?action=contact TARGET=_self><AREA SHAPE=RECT COORDS=94, 68, 127, 81 HREF=$ENV{'SCRIPT_NAME'}?action=about TARGET=_self></MAP><img src=$config{'imagedir'}/1.gif border=0 width=134 height=85 usemap=#FrontPageMap0></p>
</td>
<td><img src=$config{'imagedir'}/2.gif width=534 height=85></td>
</tr>
<tr>
<td valign=top background=$config{'imagedir'}/3a.gif><br>
<p align=center><a href=$ENV{'SCRIPT_NAME'}?action=portfolio class=menu title=Portfolio><b><font face=Arial size=2>Portfolio</font></b></a></p>
<p align=center><a href=$ENV{'SCRIPT_NAME'}?action=banner class=menu title=Banner Design><b><font face=Arial size=2>Banner Design</font></b></a></p>
<p align=center><a href=$ENV{'SCRIPT_NAME'}?action=prices class=menu title=Pricing Info><b><font face=Arial size=2>Pricing</font></b></a></p>
<p align=center><img src=\"$config{'imagedir'}/dots.gif\" border=\"0\"></p>
<p align=center><font face=Arial><strong></strong></font> </p>
<p align=center><font face=Arial><strong></strong></font> </p>
<p align=center><font face=Arial><strong></strong></font> </p>
</td>
<td valign=top>
EOF
# You can configure your own footer which will
# be appended to the bottom of each page.
# Although not required, a link back to
# everysoft.com will help to support future
# development.
$config{'footer'} =<<"EOF";
</td>
</tr>
<tr>
<td> </td>
<td><div align=center><center><table border=0
cellpadding=0 cellspacing=0 width=80\%>
<tr>
<td width=100\%><p align=center><font size=1
face=Arial>Copyright \© 2001 Zig Web Design</font></p>
</td>
</tr>
</table>
</center></div></td>
</tr>
</table>
</center></div>
</body>
</html>
EOF
#-#############################################
# Main Program
# You do not need to edit anything below this
# line.
#-#############################################
# Print The Page Header
#
print $config{'header'};
#
#-#############################################
local %form = &get_form_data;
if ($form{'action'} eq 'about') { &about; }
elsif ($form{'action'} eq 'banner') { &banner; }
elsif ($form{'action'} eq 'contact') { &contact; }
elsif ($form{'action'} eq 'portfolio') { &portfolio; }
elsif ($form{'action'} eq 'prices') { &prices; }
else { &index; }
#-#############################################
# Print The Page Footer
#
print $config{'footer'};
#
#-#############################################
#-#############################################
# Sub: index
#
sub index {
print <<"EOF";
<div align=center><center><table
border=0 cellpadding=5 cellspacing=0 width=80\%>
<tr>
<td rowspan=2 colspan=2 width=100\%><p
align=center><font color=#400080 size=3
face=Arial><strong><u>Home</u></strong></font></p>
<p><font size=2 face=Arial><strong>As a web
design and construction company it is our aim to
provide you, the customer, with the best website
that we are capable of making, at sensible
prices.</strong></font></p>
<p><font size=2 face=Arial>I am an individual
targeting my services at small businesses and
websites.<br>
Prices will be low as I am using this opportunity
for experience.</font></p>
<p><font size=2 face=Arial>Your website is
open to millions of users around the world, 24
hours a day, 7 days a week and in competition
with the increasing numbers of websites popping
up everyday on the Web. <br>
Therefore it is necessary for it to be both user
friendly and aesthetically pleasing.</font></p>
<p><font size=2 face=Arial>The sheer speed
and convenience of the Internet makes information
grabbing and shopping increasingly popular
through the age range.</font></p>
</td>
</tr>
</table>
</center></div>
EOF
}
#-#############################################
# Sub: about
#
sub about {
print <<EOF";
<div align=center><center><table
border=0 cellpadding=4 cellspacing=0 width=80\%>
<tr>
<td width=100\%><p align=center><font
color=#400080 size=3 face=Arial><strong><u>About
us</u></strong></font></p>
<p><font size=2 face=Arial>This is a one
manned company, based in the UK, targeting my
services at small businesses and websites.</font></p>
<p><font size=2 face=Arial>I can provide
proffesionally designed and crafted website
templates but will also provide website
maintenance for a cheap hourly based fee. <br>
I am able to write in html, provide graphic
design and can install and edit javascript, dhtml
and cgi programs.</font></p>
<p><font size=2 face=Arial>As a customer you
will recieve help and answers about the website
that you have purchased as long as we stay open.</font></p>
<p><font size=2 face=Arial>Our services are
priced sensibly and very affordable.</font></p>
</td>
</tr>
</table>
</center></div>
EOF
}
#-#############################################
# Sub: Banner Design
#
sub banner {
print <<"EOF";
<div align=center><center><table
border=0 cellpadding=4 cellspacing=0 width=80\%>
<tr>
<td width=100\%><p align=center><font
color=#400080 size=3 face=Arial><strong><u>About
us</u></strong></font></p>
<p><font size=2 face=Arial>This is a one
manned company, based in the UK, targeting my
services at small businesses and websites.</font></p>
<p><font size=2 face=Arial>I can provide
proffesionally designed and crafted website
templates but will also provide website
maintenance for a cheap hourly based fee. <br>
I am able to write in html, provide graphic
design and can install and edit javascript, dhtml
and cgi programs.</font></p>
<p><font size=2 face=Arial>As a customer you
will recieve help and answers about the website
that you have purchased as long as we stay open.</font></p>
<p><font size=2 face=Arial>Our services are
priced sensibly and very affordable.</font></p>
</td>
</tr>
</table>
</center></div>
EOF
}
#-#############################################
# Sub: Contact
#
sub contact {
print <<"EOF";
<div align=center><center><table
border=0 cellpadding=4 cellspacing=0 width=80\%>
<tr>
<td width=100\%><p align=center><font
color=#400080 size=3 face=Arial><strong><u>Contact</u></strong></font></p>
<p align=center><font size=2 face=Arial><strong>general
enquiries : : </strong></font><a
href=info@zigwebdesign.co.uk class=menu><font
size=2 face=Arial><strong>info@zigwebdesign.co.uk</strong></font></a></p>
<p align=center><font size=2 face=Arial><strong>sales
enquiries : : </strong></font><a
href=mailto:sales@zigwebdesign.co.uk
class=menu><font size=2 face=Arial><strong>sales@zigwebdesign.co.uk</strong></font></a></p>
<p align=center><font size=2 face=Arial>I will get back to you as soon as possible.</font></p>
</td>
</tr>
</table>
</center></div>
EOF
}
#-#############################################
# Sub: Portfolio
#
sub portfolio {
print <<"EOF";
<div align=center><center><table
border=0 cellpadding=4 cellspacing=0 width=80\%>
<tr>
<td width=100\%><p align=center><font
color=#400080 size=3 face=Arial><strong><u>Contact</u></strong></font></p>
<p align=center><font size=2 face=Arial><strong>general
enquiries : : </strong></font><a
href=info@zigwebdesign.co.uk class=menu><font
size=2 face=Arial><strong>info@zigwebdesign.co.uk</strong></font></a></p>
<p align=center><font size=2 face=Arial><strong>sales
enquiries : : </strong></font><a
href=mailto:sales@zigwebdesign.co.uk
class=menu><font size=2 face=Arial><strong>sales@zigwebdesign.co.uk</strong></font></a></p>
<p align=center><font size=2 face=Arial>I will get back to you as soon as possible.</font></p>
</td>
</tr>
</table>
</center></div>
EOF
}
#-#############################################
# Sub: Prices
#
sub prices {
print <<"EOF";
<div align=center><center><table
border=0 cellpadding=4 cellspacing=0 width=80\%>
<tr>
<td width=100\%><p align=center><font
color=#400080 size=3 face=Arial><strong><u>Pricing
Information</u></strong></font></p>
<p align=left><font size=2 face=Arial>My
services are currently very cheap as I am using
this opportunity to build up my experience.</font></p>
<p align=left><font size=2 face=Arial>Prices
are as listed in the following tables.</font></p>
<table border=0 cellspacing=3 width=100\%>
<tr>
<td bgcolor=#808080><font size=2
face=Arial><strong>Item</strong></font></td>
<td bgcolor=#808080><font size=2
face=Arial><strong>Price</strong></font></td>
</tr>
<tr>
<td valign=top><font size=2
face=Arial>One website</font></td>
<td valign=top><p align=left><font
size=2 face=Arial>\£100 deposit. This
is refundable if you are not satisfied
with the finished designs.<br>
<br>
\£20 per hour<br>
This is graduated in 15 minute
increments.</font></p>
</td>
</tr>
<tr>
<td valign=top><font size=2
face=Arial>Domain registration and
webspace</font></td>
<td valign=top><font size=2
face=Arial>This can be purchased from </font><a
href=
class=link
target=_blank><font size=2
face=Arial>
size=2 face=Arial> or any other
place.<br>
Your designed site can then be uploaded
to this webspace.</font></td>
</tr>
<tr>
<td valign=top><font size=2
face=Arial>Uploading to existing web
server</font></td>
<td valign=top><font size=2
face=Arial>no extra charge.</font></td>
</tr>
<tr>
<td valign=top><font size=2
face=Arial>Maintenance<br>
(done on request)</font></td>
<td valign=top><font size=2
face=Arial>\£20 per hour<br>
This is graduated in 15 minute
increments.<br>
If a change only takes a moment then this
is free of charge.</font></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><font size=2 face=Arial>Banner
design</font></td>
<td><font size=2 face=Arial>\£5 per
banner</font></td>
</tr>
</table>
</td>
</tr>
</table>
</center></div>
EOF
}
#-#############################################
# Sub: Get Form Data
# This gets data from a post.
sub get_form_data {
my $temp;
my $buffer;
my @data;
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
foreach $temp (split(/&|=/,$buffer)) {
$temp =~ tr/+/ /;
$temp =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
$temp =~ s/[\r\n]/ /g;
push @data, $temp;
}
foreach $temp (split(/&|=/,$ENV{'QUERY_STRING'})) {
$temp =~ tr/+/ /;
$temp =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
$temp =~ s/[\r\n]/ /g;
push @data, $temp;
}
return @data;
}
#-#############################################
# Sub: Oops!
# This generates an error message and dies.
sub oops {
print "<P><HR SIZE=1 NOSHADE><FONT COLOR=#FF0000><B>Error:</B></FONT><BR>$_[0]<P>Please hit the back browser on your browser to try again or contact <A HREF=\"mailto:$config{'admin_address'}\">the auction administrator</A> if you belive this to be a server problem.<HR SIZE=1 NOSHADE>\n";
print $config{'footer'};
die "Error: $_[0]\n";
}