No offence but I don't want to sign up. Can you not just tell us what error appears in your error log?
Just from looking I would think this is part of the problem:
my $UserData;
@$UserData{'RealName'}=$RealName;
@$UserData{'Password'}=$Password1;
@$UserData{'RecoverPassword'}=$RecoverPasswordAddr if($RecoverPasswordAddr);
Why all the @'s?.....also you are using UserData as a hash but declare it as a scalar.
Just from looking I would think this is part of the problem:
my $UserData;
@$UserData{'RealName'}=$RealName;
@$UserData{'Password'}=$Password1;
@$UserData{'RecoverPassword'}=$RecoverPasswordAddr if($RecoverPasswordAddr);
Why all the @'s?.....also you are using UserData as a hash but declare it as a scalar.