sub UDF_reproduce { # ---------------------------------------------------------------- # If the current status is Active or Dormant, then spawn # another instance of this process after sleeping for the # specified time and shut the current one down. otherwise, # just shut down. # ----------------------------------------------------------------

Please wrap your code with the code tags. The code tags force the posted code to retain its formatting/indentation, which makes it easier to read.

It appears that qm_rr_rplctr.plx is failing. What is that script doing?

Your script is missing 2 very important pagmas which should be in EVERY script you write. use warnings; use strict;

Start by adding the warnings pragma and fix all of the warnings that your code generates.

I know you've stripped out portions of your script when you posted it, but as is these are the warnings it produces.

Quote

C:\testing>perl -c lall.pl Scalar value @data[0] better written as $data[0] at lall.pl line 102. Scalar value @data[1] better written as $data[1] at lall.pl line 103. Name "main::QMR_PR_LOG_DIR" used only once: possible typo at lall.pl line 23. Name "main::log_file" used only once: possible typo at lall.pl line 23. Name "main::sthLOG" used only once: possible typo at lall.pl line 173. Name "main::pid" used only once: possible typo at lall.pl line 137. Name "main::null" used only once: possible typo at lall.pl line 89.

Once the warnings are fixed, then add the strict pragma and fix all of the errors that it points out.

along with teh previous error the below thing when only warnings is used

E:\projects\qmbatch\push\bin>perl qm_pr_prcs.plx RU Use of uninitialized value in concatenation (.) or string at qm_pr_prcs.plx line 53. Use of uninitialized value in concatenation (.) or string at qm_pr_prcs.plx line 54. Use of uninitialized value in concatenation (.) or string at qm_pr_prcs.plx line 55. Use of uninitialized value in concatenation (.) or string at qm_pr_prcs.plx line 55.