我使用的是perl 5.10.1,而perl的路径是/usr/bin/perl
我已将文件编码为755,我收到内部服务器错误:
#!/usr/bin/perl
use strict;
print "Content-type: text/plain\n\n";
print "huh";
代码很简单,我不知道造成这种情况的原因。我也在运行一个用Perl编码的论坛软件,它工作正常并使用相同的路径。
编辑:感谢大家的帮助,我创建了另一个文件夹并在那里添加了一个cgi-bin并尝试了脚本,它可以工作。我仍然不知道为什么它不会在第一个文件夹中工作,芽在第一个文件夹中编辑我的.htaccess文件可能是问题。
答案 0 :(得分:3)
请注意,拼写正确为Content-Type。
缓冲可能有问题(输出量很小,最后没有换行等等......)这让我很怀疑。这是我尝试的最小脚本:
#!/usr/bin/perl
use strict;
use CGI qw(:standard);
local $| = 1;
print header('text/plain'), "huh\n";
您是否将文件从Windows PC FTP到Unix系统?如果您以二进制模式传输文件,则shebang行将不正确。
例如:
$ unix2dos t.pl unix2dos: converting file t.pl to DOS format ... $ xxd t.pl 0000000: 2321 2f75 7372 2f62 696e 2f70 6572 6c0d #!/usr/bin/perl. 0000010: 0a0d 0a70 7269 6e74 2022 4041 5247 565c ...print "@ARGV\ 0000020: 6e22 3b0d 0a n";.. $ ./t.pl hello world zsh: ./t.pl: bad interpreter: /usr/bin/perl^M: no such file or directory