eval { $results = SOAP::Lite -> uri(method) -> proxy("script2.pl", timeout => 15) -> parallel_search($serialized_searches) -> result; }; sub parallel_search { foreach my $key (keys %$searches) { my $pid = $pm->start($key) and next; --- --- $pm->finish; } $pm->wait_all_children; return($result_set); }