in reply to Re: CGI::Carp peculiarity
in thread CGI::Carp reports line numbers incorrectly

that's a mystery for which I can't find any documentation anywhere.
In perlfunc under die:   If the last element of LIST does not end in a newline, the current script line number and input line number (if any) are also printed, and a newline is supplied.

Separately, I had such problems with CGI::Carp running within a CGI::Application environment I just gave up and 'borrowed' parts of Carp/CGI::Carp to create my own exception trap output routine.   CGI::Carp has problems with eval because it is trying very hard to be compatible with mod_perl and apparently there just isn't enough context to do the right thing.