in reply to CGI::Carp won't send fatalsToBrowser

I've banged my head against the wall much before under the same problem. I believe the problem lies in that CGI::Carp is only able to catch $SIG{__DIE__} which can't even be set up until the code compiles.

This doesn't answer why it happens, but we use it in our development all the time. Just simply run your cgi from the commandline. You will get a full listing of errors (usually including the line numbers). In the case of your cgi, you'll get an error saying something like Global symbol "$test" requires explicit package name at - line 9. which is a whole lot more helpful than the error you were getting.

Another useful command is to do perl -c myfile.pl which will tell you if your code will compile.

my @a=qw(random brilliant braindead); print $a[rand(@a)];