....
Well, the whole script is one colossal bug.
I especially found:
$key =
....
I am sorry, I did a partial paste. Here is the interesting bit from
bbs.pl:
if ($psplit2[0] eq $userparam)
{
$key = "$userparam$string$about$string$nick$string$aim$string$icq
$string$hobbies$string$favoritethings$string$webtitle$string
${websiteaddress}private\n" if $privateparam;
$key="$userparam$string$about$string$nick$string$aim$string$icq
$string$hobbies$string$favoritethings$string$webtitle$string
${websiteaddress}\n" if ! $privateparam;
}
Please do not attempt to explain this as the explanation might be even
more painful than looking at the actual code.
No wonder you have spelling errors sprinkled at various points in the
scripts. Who has the ocular dexterity to decipher this?
A couple of recommendations:
* Look into the CGI::Application module (or any of its descendants).
* For my elementary needs, I have found CGI::Application coupled with
CGI::Application::Session, Class:

BI (w/ sqlite) and HTML::Template to
be a wonderful combination.
* And, I cannot stress this enough, please do consider thinking before
programming.
* Do read the documentation for the modules you are using.
* Your code is sprinkled with crap like this:
my $hobbies = param ('fivehobbies');
$hobbies =~ s/>/>/gm;
$hobbies =~ s/</&lt;/gm;
$hobbies =~ s/>/>/mg;
$hobbies =~ s/</</mg;
WTF? Use the HTML::Entities module:
#! /usr/bin/perl
use CGI;
use HTML::Entities;
my $cgi = CGI->new;
if(defined (my $value = $cgi->param('value'))) {
print $cgi->header, encode_entities($value);
} else {
print $cgi->header, <<HTML
<html>
<body>
<form>
<input type="text" size="20" name="value">
<input type="submit">
</form>
</body>
</html>
HTML
;
}
__END__
Sinan.