in reply to Re^4: Execute progams in parallel
in thread Execute progams in parallel

You can get the exit status using the wait method as described in the documentation for Proc::Background:

wait

Wait for the process to exit. Return the exit status of the command as returned by wait() on the system. To get the actual exit value, divide by 256 or right bit shift by 8, regardless of the operating system being used. If the process never existed, then return an empty list in a list context, an undefined value in a scalar context, or nothing in a void context. This function may be called multiple times even after the process has exited and it will return the same exit status.