根据经验,大致有以下几种原因:
1.若在unix,linux机器上,则要看是否在程序头上写:#!/usr/bin/perl,若不写,则会错
2.是否以unix文件格式上传?
3.是否以asiic传输方式上传?
4.程序本身是否有语法问题?可以用perl -wc name.pl检查
5.程序所包含的模块是否在该站点上已安装,可以使用eval命令把use ... 包含进去,然后看@$是否为undef
6.使用$SIG{_DIE_} = &your_own_err_report_module();来重定向die命令调用的函数,可以将报错信息封装在html数据流中,以使浏览器可以"看见"该错误.
7.是否在输出其他信息前输出http头,通常需要:print "Content-type: text/html nn";
8.是否设为755或777的权限,有些主机设置只能用755,那么使用777也会错
大致就这些了吧,还有什么请大家一起来补充,谢谢!