in reply to Perl & CGI to cause Defunct?

I am having a similar problem. It seems to have nothing to do with anything except perl itself, and farnkly it looks like a bug to me, or at least something that failed to reach the docs. The thing is that under certain conditions (perhaps something with while(1) ), scripts hang on ``, qx{} or open "command |". It doesn't matter which one i use, it always comes down to the same outcome: the child process finishes and goes defunct, and the calling script doesn't seem to notice that, it just keeps waiting for something... At the moment i have no idea why and how to fix this. The thing is, of course, that i want the child's output. I can do a simple workaround throwing the output into some file and sending a usr1 signal to the parent on exit, but that giving up isn't it...