If your CGI has a syntax error (and that's what it looks like from the error log) then that means your program has a compile-time error. CGI::Carp only catches
errors that occur after the use CGI::Carp
code has been compiled; syntax errors occur before that and will still be reported to the Apache error log.
If you have telnet access to your webserver type "perl -c your-cgi-here.pl" to check for compilation errors. Once that's ok you can finish your debugging from a web browser.
Edited: Thanks tye for the clarification. :-)