2012-05-11 36 views
1

我需要一個小型的虛擬機與Web服務器,所以我決定安裝該死的小型Linux。我需要運行一個託管站點的Web服務器,該腳本用於檢查服務器的IP地址並將其返回到HTML頁面中。到目前爲止,我有這樣的工作:CGI Perl腳本和猴子網絡服務器上該死的小型Linux

腳本文件:

#!/usr/bin/perl 

print "Content-type: text/html\n\n" ; 
print <<EOF ; 
<html> 
<head><title>CGI Results</title></head> 
<body> 
<h1>Hello, world.</h1> 
</body> 
</html> 
EOF 
exit ; 

的腳本是從HTML這樣調用:

<iframe src="http://localhost/cgi-bin/skrypt.cgi" width="100%"></iframe> 

它的正常工作,但每當我補充一下這個除print聲明以外的腳本,例如:

my $address = "someValue" 

...然後HTML頁面不運行腳本,而是下載它。我需要做些什麼來使這個腳本工作?我只需要一個IP地址出現在網頁上。

+0

_Downloading it_可能是Web服務器配置的問題。你使用什麼網絡服務器?是否需要配置爲不允許下載'cgi-bin /'內容? – sarnold

+0

從[堆棧溢出Perl常見問題](http://stackoverflow.com/questions/tagged/perl?sort=faq):[我如何解決我的Perl CGI腳本?](http://stackoverflow.com/questions/2165022/how-can-i-troubleshoot-my-perl-cgi-script) – daxim

回答

2

嘗試在命令行中運行你的CGI腳本:

perl -c my_script.cgi 

,如果它是好的,請嘗試使用激活的嚴格和警告運行。

#!/usr/bin/perl 
use strict; 
use warnings; 
use diagnostics; 

如果沒有問題,請查看錯誤日誌。

+0

我使用了perl -c my_script.cgi命令,它發現了一些錯誤。非常感謝你! – user964986

+0

嗨。使用診斷可以是一個非常好的工具,或Perl :: Critic –