You get the warning that $result is not initialized when you run this code?
If not, what errors are you getting?
Also, it would help to enable debug so that you can see what is going on behind the scenes.
Do so by use SOAP::Lite +trace => qw(method trace debug);. Run the script from the command line and check the output.