while (1) { my $res = sysread ($fh, my $data, $cfg->{max_line_length}); if (not defined $res) { die "Input reading failed: $!\n"; } elsif ($res == 0) { sysseek ($fh, 0, SEEK_CUR); sleep (0.5); next; } }