Are you sure the perl file has execute permissions? That's typically required.
Do you have access to your server error logs? You can find the actual error that perl is spitting out in there.
Do you have access to the console prompt of the server? You can syntax test the script with:
perl -wc scriptname.pl
If it (the script) is taint enabled, you'll need:
perl -Twc scriptname.pl
Finally, if you really want to display the error in the browser, you can add
use CGI::Carp qw(fatalsToBrowser);
to the top of the script; i.e.,
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $cgi = CGI->new();
print $cgi->header();
print 'This is a goof'
exit;
The above produces a message along the lines of
Software error:
syntax error at error.cgi line 12, near "exit"
Good luck!