in reply to System call from cron Perl script

I'll make the following suggestions for calling external programs:

  1. Use the full path. You might have set the PATH explicitly, but I have no way of knowing it. Cron can especially change things in subtle ways
  2. Always look at the return status. If you expect something to finish, which would be the reason for calling system over exec, you should check the return status. This has been covered multiple times recently.
  3. If the program may be printing diagnostic information, you should use backticks or open a pipe. (and possibly redirect STDERR to STDOUT).

There are any number of reasons for something like this to go wrong -- And it may have happened before the system call was made. You're looking at the final symptoms -- the table wasn't updated. But was the file written out? Trace the process back, and look for which stage it failed. (you may have done so, but didn't say in your question).