Thanks! I think I have figured it out. I don't use a module. At EOF, I do a seek(IN, 0, 1) to reset EOF, and continue reading. I think it is the seek that is generating the processes. Quite a few more records are written to the log file that I am reading than I echo out. So, I probably do much more reading after hitting EOF. The timing makes sense.
Also, I have another script that does a similar thing, except that it does not echo anything out. It has been running for a year. Never paid much attention to it. When I started watching for the
perl processes on that box, it was doing the same thing.
So the only thing in common between those two scripts is the seek. I think the fickle finger of fate is pointed squarely at the seek.
Thanks again!