Hello.pm -------- package Hello; sub sayHello{ shift; return "Hello ". shift(@_); } HelloSoap.plx ------------- use strict; use warnings; use SOAP::Transport::HTTP; use Hello 'c:/Inetpub/Scripts'; SOAP::Transport::HTTP::CGI ->dispatch_to('Hello::(?:sayHello)') ->handle ; HelloClient.pl -------------- use strict; use warnings; use SOAP::Lite; my $name = shift; print "The soap server says "; print SOAP::Lite ->uri('urn:Example1') ->proxy('http://localhost/Scripts/HelloSoap.plx') ->sayHello('$name') ->result. "\n\n";