The first thought that pops up (which assumes a unix system;
if not skip this part) is that you're hitting some sort of
resource limit on the system. If you are running this from
the command line, check 'limit cputime' in csh/tcsh or
'ulimit -t' in bash/ksh. Also, if the problem is occurring
when you log out, you'll need to 'nohup' your program, to
prevent it from being sent SIGHUP when you log out.. it's
run like 'nohup ./perl_program args'.
If the above doesn't help, there are unfortunately several
things that could be causing it outside of perl. As
mentioned above, it could be MySQL with the problem. The
best advice I can give is to do some verbose debugging in
the script: write out to a logfile, check every return code
from all system calls and MySQL calls, write success
messages for every part that succeeds, etc. Try putting
an END block in your perl code to trap the time that it's
dying, and see if it's doing so at a regular interval.
Hope this helps.