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