我想使用Perl CGI模塊來創建CGI腳本。我通過了可用的文檔 here,但我似乎錯過了一些明顯的東西,因爲我有 遇到了我的第一個程序的問題。下面是HTML:Perl CGI模塊的基本幫助
<form name="form1" method="post" action="http://localhost/cgi-bin/filters.cgi">
<input name="mainbox" type="checkbox"> Mainbox<br> <br>
<input name="n1" type="checkbox">No. 1 <br><br>
<input name="n2" type="checkbox"> No. 2<br><br>
<input name="n3" type="checkbox">No. 3 <br>
<div style="text-align: center;"><input name="Submit" value="Submit" type="submit"></div>
</form>
我只是想成爲一個新的 頁面上打印的傳遞給CGI文件中的參數的名稱。所以(我的理解有限),我在filters.cgi中寫了如下內容:
#!/xampp/perl/bin/perl -w
use strict;
use warnings;
use CGI;
my $query = CGI->new;
print $query = $query->header('text/html');
my @names = $query->param;
my $q1 = CGI->new;
print $q1->header('text/html');
print $q1->start_html('hello');
foreach my $name (@names) {
print $q1->h1($name);
}
print $q1->end_html;
但是這樣打印出來什麼都沒有。它也不給我任何錯誤,語法也不錯。 我知道我錯過了一些非常簡單的東西,但我真的想要一些幫助。 我如何正確編寫這個腳本?如果這有什麼區別,我在Windows XP中使用XAMPP。
編輯:也許我應該提到,我試圖找出自己。所以我寫了 以下腳本,它的工作原理:
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my @arr = ('ac', 'fg', 'ty');
my $q1 = CGI->new;
print $q1->header('text/html');
$q1->start_html('hello world');
foreach my $el (@arr) {
print $q1->p($el);
}
$q1->end_html;
所以這個問題是在傳遞參數的地方。我甚至不知道在長文檔中尋找 幫助的地方,所以決定在這裏問。另外,我已經看到鏈接Nikhil 已發表評論。其中一點是我應該嘗試從命令行運行我的 腳本。如何從命令行傳遞這些參數?
請參閱[如何解決我的Perl CGI腳本](http://stackoverflow.com/questions/2165022/how-can-i-troubleshoot-my-perl-cgi-script)? –
@NikhilJain感謝您的鏈接,但我已經早點完成了。你能更具體地瞭解哪些建議可以適用於我的案例?請參閱我的編輯。 – user828647