2013-05-10 3 views
1

У меня есть сценарий CGI Perl. Я пытаюсь отображать записи пользователя на каждой строке, но он не работает. Вот то, что я до сих пор:Как отобразить несколько записей из HTML-формы?

#!/usr/bin/perl 
use strict; use warnings; 
use CGI qw(:standard); 

print header; 
my %hash = (
      'Tyrone' => 1, 
      'Sue'  => 1, 
      'Marshall' => 1, 
      'Hiroshi' => 1, 
      'Jose'  => 1, 
     ) 


print start_html(
    -title => 'Students in Class' 
); 

# Process an HTTP request 
my $rollcall = param("names"); 
my @students_in_class = split(/;/, $rollcall); 

foreach my $student (@students_in_class){ 
    if (exists $hash{$student}) { 
     print h1('One student is '. $student . '<br>'); 
    } else { 
     print h1('That student was sick today'. '<br>'); 
    } 
} 

, что если пользователь вводит следующее в строке поиска: Tyrone;Tommy;Marhshall

КГИ должен в следующие выходные

Желаемая выход

One студент Tyrone

Этот студент сегодня болен

Один студент Маршалл


По какой-то причине он не работает.

+0

Не работает вообще? Попробуйте 'perl -c yourperl.cgi' –

+0

синтаксическая ошибка у студентовInclass.cgi строка 15, рядом") print " У студентовInclass.cgi были ошибки компиляции. – cooldood3490

ответ

2

Вы пропустили точку с запятой после определения хэш,

my %hash = (
     'Tyrone' => 1, 
     'Sue'  => 1, 
     'Marshall' => 1, 
     'Hiroshi' => 1, 
     'Jose'  => 1, 
    ); 
+0

спасибо. Несколько расширенный вопрос, но я сделал nooby синтаксическую ошибку. – cooldood3490

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