in reply to determining the line# of code when an alarm() trips?
If the 'offending' code is wrapped in the eval, then caller will tell you although you may have to dig a bit. If you move the code from Grandfather's sub into the eval and "dump" call in $SIG{ALRM} you will find a useful line number.