new_reg {
my ($domain) = @_;
my ($domain_name, $tld) = split('\.', $domain);
my %state;$state{'Command'} = 'Purchase';
$state{'tld'} = $tld;
$state{'sld'} = $domain_name;
$state{'responsetype'} = 'text';
$state{'NS1'} = $formdata{'ns1_host'};
$state{'NS2'} = $formdata{'ns2_host'};
$state{'NumYears'} = $formdata{'reg_period'};
$state{'RegistrantFirstName'} = $formdata{'reg_first_name'};
$state{'RegistrantLastName'} = $formdata{'reg_last_name'};
$state{'RegistrantAddress1'} = $formdata{'reg_address1'};
$state{'RegistrantCity'} = $formdata{'reg_city'}; $state{'RegistrantStateProvince'} = $formdata{'reg_state'};
$state{'RegistrantPostalCode'} = $formdata{'reg_zipcode'}; $state{'RegistrantPhone'} = $formdata{'reg_telephone'}; $state{'RegistrantCountry'} = $formdata{'reg_country'};
$state{'UID'} = $username;
$state{'PW'} = $password;
my $href = build_href($enom_start_url, %state);
print("href = $enom_server , $href");
my $result;
my $s = IO::Socket::INET->new(PeerAddr => "$enom_server:80") or return undef;
print $s "GET $href HTTP/1.0\n\n";
while (<$s>) { $result .= $_; }
close($s);
my $outfile = "regout-${domain}.html";
open (REGOUT, ">$outfile") or warn "couldnt write $outfile: $!\n";
print REGOUT "$result\n";
close REGOUT;
####
my $s = new IO::Socket:SSL("$registrar:https") or die "Couldn't connect: err". &IO::Socket::SSL::errstr();
####
$state{'username'} = $username;
$state{'password'} = $password;