An easier way is to let DBI do the escaping automatically for you with placeholders. Try this:
my $sth = $dbh->prepare(
"INSERT INTO member (nickname, password, first_name, last_name, email,
+ country, homepage, im_type, im_id, info)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$sth->execute($nickname, $pass1, $firstname, $lastname, $email, $count
+ry, $homepage, $imtype, $imid, $info)
or die "execute failed: $DBI::errstr\n";
I suspect you have an undef value in one of your variables that's throwing off your INSERT. This way you shouldn't have to worry about it.
Gary Blackburn
Trained Killer