对于/ foreach循环崩溃的CGI服务器

问题描述:

我需要为包含一些for或foreach循环的类编写一些perl脚本。由于某些原因,即使最简单的循环也只是返回500服务器错误。我检查了很多次,代码也可以在codepad.org上运行,但我不知道它为什么不能在服务器上运行。 我没有访问服务器日志,所以我真的不知道发生了什么事。 这些都是一些非常简单的循环,也会导致错误。对于/ foreach循环崩溃的CGI服务器

@a=(2,3,4); 
    foreach my $r (@a) { 
     print $r; 
    } 

@a=(2,3,4); 
    for ($i = 0; $i <= 2 ; $i++) { 
     print $a[$i]; 

    } 

任何想法?

+0

我不知道Perl,但对于第二个,它会导致索引出界 – code4j

+0

不,它不会。该代码在codepad.org上正常工作 – leonsas

+0

您确实需要这些日志。但是,上面的代码片断是否代表整个cgi脚本,或者只是您认为会导致崩溃的部分? – itsbruce

任何你正在编写CGI脚本的时候,把这个在顶部,而你正在做这个工作:

use CGI::Carp qw(fatalsToBrowser); 

这会给你的Perl脚本的浏览器窗口重定向错误。它应该让您更好地了解导致您的问题的原因(假定它处于脚本级别)。

它也可以让你轻松地发送自己的错误,并测试语句使用die浏览器:

die "testing 1 2 3"; 

这对于做快速调试。

+0

谢谢!这让我看到了错误,这是一个缺少'我的'全局声明,因为严格的代码输入方式。 – leonsas