My bad, actually the existing code already has the open() || die () syntax. That's what I get for trying too hard to scrub any meaningful proprietary content from it *g*.
So it isn't the ||s. One other thing to rule out: any kind of condition where it wouldn't be called at all -- this is main-line code in a subroutine called inside a while loop on the result set of a database query, with adjacent results both above and below it in the result set executing flawlessly. Like I said, this problem is spurious -- I can't pin down any cause (or even a predictable failure) whatsoever within the software.
Spud Zeppelin * spud@spudzeppelin.com