Yep, you're right, t'was a bad call for which I apologise for misleading you - Carp is used in place of [perlfunc://die] i.e. when you're in control of when (and indeed where) the script dies. In your case that's completely moot since you don't know where the script is dying!!
in reply to Re^3: Error ... at (eval 75) line 7974.
in thread Error ... at (eval 75) line 7974.
Try use diagnostics; in your script, that should print a stack trace + a load of diagnostic (hence it's name:-) information when you hit the error.
A user level that continues to overstate my experience :-))