http://www.perlmonks.org?node_id=948835


in reply to Troubles accessing data using SOAP::Lite and WSDL service

ArrayofStrings is a way of saying you get back an array, and the array elements are strings. You seem to think ArrayofStrings is an object type.

Why don't you try running the program under the debugger: perl -d myprogram.pl and have the program run to the point where $result has been assigned its value: c linenumber eg c 186. Then you can experiment typing expressions and having perl tell you what you asked for.

DB<1> print $results HASH(0x8421888) # So $results stores a reference to a hash DB<2> print join ', ', keys %$results string # So the hash has a single key, 'string' DB<3> print $results->{string} ARRAY(0x8421438) # So the hash stores a reference to an array as the value for its only + key DB<4>print $results->{string}[0] # This part left as an exercise for the reader.

When you don't understand what's happening, fire up the debugger and experiment. No one ever blew up their computer running a debugger ( except that one guy, we don't mention him.)

As Occam said: Entia non sunt multiplicanda praeter necessitatem.