2016-11-06 105 views
0

我的任務需要輸出一個範圍從最高到最低的數字,但它必須來自用戶輸入。我很困惑的地方是我知道如何顯示一個數組,但是,我不確定是否使用for循環開始我的代碼。輸出用戶輸入(CGI)

作業 使用名爲myform.html的HTML頁面和名爲myscript.cgi的CGI腳本創建CGI應用程序。 HTML頁面的表單有兩個文本框用於輸入一系列連續整數的上限值和下限值。通過選擇相差大約10的值來填寫表單。提交表單應執行myscript.cgi。該腳本應該輸出一個無序列表,顯示範圍從最高到最低的所有整數。

#!c:\Dwimperl\perl\bin\perl.exe 

use strict; 
use warnings; 

use CGI qw(:standard); 
use CGI::Carp qw(fatalsToBrowser); 
print "Content-type: text/html\n\n"; 

#read form input from user 
my $userinput = <STDIN>; 
my $low = param ('lowest'); 
my $high = param ('highest'); 


foreach (my $userinput < 100){ 
print "$low && $high" ;} 

回答

0

替換此代碼

foreach (my $userinput < 100){ 
print "$low && $high" ;} 

有了這個,做一個for循環從高數量減計數低數

print qq{<ul>\n}; 
for (my $i=$high; $i>= $low; $i--) { 
    print qq{ <li>$i</li>\n}; 
} 
print qq{</ul>\n}; 
0

就個人而言,我不喜歡使用C風格循環。我覺得太亂了。

下面是我如何寫它。

say "\t<li>$_<\li>" for (reverse $low .. $high); 

print "\t<li>$_<\li>\n" for (reverse $low .. $high); 
+0

'用於我的$ I(反向$低.. $高)'將使用比'爲(我的$ I = $高得多存儲器; $ I> = $低; $我 - )'。這可能會或可能不會成爲OP和其他讀者的關注點。 – ikegami

+0

另請注意,for/foreach語句修飾符在表達式周圍沒有parens。 '...反向$ low .. $ high;'非常好。 – ikegami