my $finished = 0; my $time=time(); my $buffer=''; while(time() < $time+20 && $finished==0) { my $line=''; $handle->read($line,4096); $finished=1 if(index($buffer,'L:')!=-1); $buffer.=$line if(length($line)); }