use SOAP::Lite trace => 'all'; $username="bob"; $password="jane"; $toaddemail='test@test.com'; my $soap = SOAP::Lite -> uri('http://dev.emaildirect.com/v1/api.asmx?WSDL') -> proxy('http://dev.emaildirect.com/v1/api.asmx?WSDL',credentials=>("$username","$password")) -> soapversion('1.2') ; $soap->RelaySend_SendEmail('$toaddemail',('FieldName'=>'FirstName', 'Value'=>'Jason'));