2016-11-06 3 views
0

В моем задании мне предлагается выводить диапазон чисел от наивысшего до самого низкого, но он должен быть от пользовательского ввода. Там, где я в замешательстве, я знаю, как отображать массив, однако я не уверен, что я начинаю свой код с права, используя цикл for.Вывод пользовательского ввода (CGI)

Назначение Создание приложения CGI с HTML страницы с именем myform.html и скрипт CGI с именем myscript.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" ;} 

При этом, делая для цикла отсчета от большого числа малочисленности

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

'для моего $ я (обратный $ низкий .. $ высокий)' будет использовать гораздо больше памяти, чем 'для (мой $ я = $ высок; $ я> = $ low; $ i -) '. Это может быть или не быть проблемой для ОП и других читателей. – ikegami

+0

Также обратите внимание, что модификатор for/foreach не имеет парсеров вокруг выражения. '... для reverse $ low .. $ high;' отлично. – ikegami

Смежные вопросы