Any option constants like USE_SIGCHLD must be used before the use POE statement. Also, it's generally a bad idea to try and remove control of reaping from POE (i.e. by setting SIGCHLD to IGNORE). In the case of POE::Wheel::Run, you should use the
method to make sure you clean up after a child exit (basically, delete the wheel). See the SYNOPSIS section of POE::Wheel::Run for an example.