in reply to dbi 500 error

It's a little OT, because doing this wouldn't have helped fix the particular problem, but I'd encourage you to use error checking in DBI, that is, add the folloing or statements so that if your DBI calls fail the script will stop and give you some useful info.
$dbh = DBI->Connect("DBI:mysql:strossus:localhost","strossus","passwor +d") or die $DBI::errstr; my $table = $dbh->prepare qq' CREATE TABLE players (realname CHAR(20), = gold CHAR(40))') or die $dbh->errstr;
I'd also encourage use of
use CGI::Carp qw(fatalsToBrowser warningsToBrowser); print header; warningsToBrowser(1);
at the top of the script, so that this useful information gets dumped to your screen right away.

And of course (this is probably the most useful part of my post, and I commend it out of much pain through not following such good advice myself) use strict and warnings

§ George Sherston