2016-11-06 110 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