Вот примерчик:
#!/usr/bin/perl 
use CGI qw(:standard); 
use CGI::Carp qw(fatalsToBrowser); 
$ip = $ENV{\'REMOTE_ADDR\'}; 
$q=$ENV{\'QUERY_STRING\'}; 
if(!$q){ 
print "Content-Type: text/html\\n\\n"; 
print qq# 
<html> 
<head> 
<title>Оставьте свои координаты</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body bgcolor="#FFFFFF"> 
<form method="post" action="send.cgi"> 
<table width="100%" border="0"> 
<tr> 
<td>Имя:</td> 
<td> 
<input type="text" name="name"> 
</td> 
</tr> 
<tr> 
<td>Мыло:</td> 
<td> 
<input type="text" name="email"> 
</td> 
</tr> 
<tr> 
<td>Аська:</td> 
<td> 
<input type="text" name="icq"> 
</td> 
</tr> 
<tr> 
<td>УРЛ:</td> 
<td> 
<input type="text" name="url"> 
</td> 
</tr> 
</table> 
<p>Ваш IP: $ip </p> 
<p> 
<input type="submit" name="Submit" value="Отправить"> 
<input type="reset" name="Reset" value="Очистить"> 
</p> 
<p> 
<input type="hidden" name="hiddenip" value="$ip"> 
</p> 
</form> 
</body> 
</html> 
#; 
} 
if(param()){&insert_data(1);} 
sub insert_data{ 
my $name=param(\'name\'); 
my $email=param(\'email\'); 
my $icq=param(\'icq\'); 
my $url=param(\'url\'); 
my $log_vars="|$name|$email|$icq|$ip|$url|"; 
open (LOG, ">>data.txt"); 
print LOG "$log_vars\\n"; 
close (LOG); 
print "<h2>Вы ввели следующие данные:
 $log_vars</h2>"; 
};
Данные "вставляются" в data.txt
Что туда писать, надеюсь, сам подставишь...