If you get an 'Internal server error' running your Perl script, check the following:
When executed, you print an HTTP header followed by a blank line. The header must contain either a Content-type field or a Location field. (e.g.: print "Content-type: text/htm\n\n";)
You are using the correct path to Perl in your script.
You are using valid Perl arguments.
If you get '[an error occurred while processing this directive]' when running a Perl script as an SSI, check the following:
Make sure that you are using the following format to call include your program:
<!--#include virtual="/cgi-bin/script.pl"-->
Note that your SSI will not function if you use the exec cgi directive. You should also ensure that your file's extension is .shtml.