my $tests = 7; # a number of tests sub recv_results { my $done = 0; my $err_count = 0; while (1) { if ( $Q->pending ) { my $line = $Q->dequeue; $_ = $line; chomp; if (/ENDEND$/) { $done++; } last if ( $done == $t_count ); last if (/^DIEDIE$/); next if (/ENDEND$/); if (/some pattern/) { #log something } else { #log something else } } else { usleep 5000; } } return $err_count; }