in reply to Fork Me I need help

Well, I don't know how Parallel::ForkManager, but from the looks of your code it seems that $pm -> start; does a fork(), (with the parent getting a true value, and the child a false one) and $pm -> finish; does an exit.

If that is true, all the checking is done by the children, who each record which addresses are bad and good. However, the writing is done by the parent process, which didn't do any checking, and hence, has nothing to record. Note also that the children are in certain cases doing a 'next OUTER', meaning they will fork() too (and meaning some addresses will get checked many times).

Let the children write to the file. But be *VERY* careful how you open these files, you don't want one child erasing the work of another child.

If $pm -> start () does something totally different than a fork(), or $pm -> finish () something else than an exit, then this node was never written.

Abigail