in reply to Perl crossing arms silently: loop stoping without any error message

Based on the insufficient evidence you've given, I would raise the following issues:

Maybe a global sanity-check for the input data would be worthwhile -- e.g. a separate perl script that reads in the same set of input data and simply tests the assumptions made by your database-loader script -- to settle those issues.

Better yet, figure out what those tests should be, and include them in the database loader script itself, so it can reject bad data instead of choking on it. (But sometimes it can be easier to treat data validation as a separate, prior step.)

Apart from that, it's just as important (or more so) to spot the line in your code where the script is hanging. If you start it with the debugger, you can just let it run until it looks to be in its "hung" state, then hit ^C to interrupt it. That will tell you which line was executing when the interrupt was handled, and you can start poking around, looking at values of variables to figure out how things are different from what you would expect.

  • Comment on Re: Perl crossing arms silently: loop stoping without any error message