#loop over rids to check server for a result foreach my $rid (@rids) { my $blast_results = $blast_factory -> retrieve_blast($rid); if ($blast_results == 0) { #still waiting to complete search print STDERR "."; #watch dots while waiting sleep 5; #pause between checking for results } elsif ($blast_results == (-1)) {#error returned, remove RID from stack print STDERR "retrieve_blast returns -1\n"; $blast_factory -> remove_rid($rid); } #use Bio::SearchIO to return a Bio::SearchIO result object else { print "Receiving blast results...\n"; my $result = $blast_results -> next_result(); print Dumper ($result); my $filename = $result -> query_name()."\.out"; $blast_factory -> save_output ($filename); $blast_factory -> remove_rid($rid);