in reply to Returning complex results from SOAP::Lite

I think you want to create an array of your 'event' SOAP::Data objects - something like:

my @events; foreach my $thisevt (keys %evtdbase) { push @events, SOAP::Data->name('event')->value( SOAP::Data->type(s +tring => $evtdbase{$thisevt} ) ); } $retval->value(@events);
(Obviously untested.

/J\