in reply to Subroutine Return?

I don't see the immediate error, but the way in which you retrieve subroutine arguments is probably not doing what you think it should be. You are passing the name first, but it is being stored in $value instead. The convention is to use shift, which pulls the first element, and not pop which pulls out the last element. Run this and notice the output:
foo(1,2); bar(1,2); sub foo { print pop; print pop } sub bar { print shift; print shift }
Also, you are not passing $uri as a parameter. I would rewrite (and rename) your subroutine to something like:
sub get_data { my ($name,$value,$uri) = @_; return SOAP::Data->name($name => $value)->type('string')->uri($uri) +; }
Hope this helps. :)

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Replies are listed 'Best First'.
Re: Re: Subroutine Return?
by Anonymous Monk on Dec 20, 2003 at 19:35 UTC
    D'oh...Thanks, forgot about the nature of pop vs. shift. Of course the login is failing because it is passing the name of the parameter rather than the value. Thanks again!