dave_aiello has asked for the wisdom of the Perl Monks concerning the following question:

I am working on a project where we are writing a series of Perl programs that will run unattended, while we are asleep. Those programs will be run from cron or autosys.

We have a number of situations where we are doing database operations that involve reading one table and writing another based on business rules. In some cases, we may reach a point in the processing when we want to abort the program and return an error to the calling process. We are doing this by writing an error message to a log file and performing an exit(1);.

One of the questions that keeps coming up is: Can Perl be relied upon to properly dispose of all the system resources that it was using if the program is terminated using exit()? By system resources I mean, the memory that it allocated to hold arrays or hashes, any open file handles that exist, database connections opened under DBI or Sybase::DBlib | CTlib.

Thanks for any help you can provide--

Dave Aiello
Chatham Township Data Corporation