in reply to Creating a Deamonized Log Scraper

The concept seems sound. You don't need an exec() because you aren't passing control to any other programs. You might want to use qr to compile your regular expression once instead of every single time.

I think you need to re-evaluate what you are doing in your while loop. If either of those regular expressions match, you'll have an infinite loop. It doesn't look like you ever are updating the value of $logline unless there is some magic in File::ReadBackwards that I'm not understanding.

Although it might not be a good fit for you in this case, I recommend reading about Parallel::ForkManager. It is so very simple to use and is often a great choice whenever you are trying to speed up a job by running it in parallel.