I've got a chunk of code that does database calls, text processing, math calculations, and more. Occasionally something 'hangs' and takes too long, so for debugging purposes I've wrapped the entire section (about 200 lines) in an eval { } with an alarm(). Problem is, when the alarm() trips, I don't know exactly where in the code Perl got hung up. Is there a way to know the 'line number' of code that was being processed when the alarm tripped? (Obviously I'm trying to *avoid* putting dozens of individual alarm()'s in the code...)