It is important to remember that Perl is considered a very ‘forgiving’ language, and this may lead to some open ended CGI scripts, or those that have not been closed properly. Make sure all scripts are correctly entered and enhanced.
A common mistake in not getting a CGI script to work is in directing it to a host to take information that may be protected. This can return error messages that are misleading when the problem is that the information is not readily available for one reason or another.
Simple mistakes lead to many problems, but others may be caused by older CGI scripts mixed with newer Perl scripts.
Many users download packages from the internet that can help with this problem, such as ActivePerl, a software package designed specifically to help with CGI script problems. Another is the popular and widely used Apache, built for a similar purpose.
If you continue to experience problems with CGI scripts there are a number of such packages available, but the two mentioned above are among the best and most widely used.