Как я могу вызвать Perl-скрипт внутри HTML-страницы? - PullRequest
1 голос
/ 21 октября 2010

У меня есть один HTML-файл, как мне использовать Perl-скрипт (дата / час) в HTML-коде? Моя цель: показать дату / час в HTML Обс .: только оба сценария в порядке.

Пример: HTML-файл:

<html>
<body>
code or foo.pl script
</body>
</html>

Perl-скрипт (foo.pl):

#!/usr/local/bin/perl
use CGI qw/:push -nph/;
$| = 1;
print multipart_init(-boundary=>'----here we go!');
for (0 .. 4) {
    print multipart_start(-type=>'text/plain'),
          "The current time is ",scalar(localtime),"\n";
    if ($_ < 4) {
            print multipart_end;
    } else {
            print multipart_final;
    }
    sleep 1;
}

Ответы [ 3 ]

3 голосов
/ 22 октября 2010

Звучит так, будто ты хочешь Ajax. Ваша HTML-страница использует JavaScript для вызова вашей Perl-программы. Ваш JavaScript получает ответ и заменяет ту часть страницы, куда вы хотите, чтобы данные шли. Кроме того, вы можете просто пропустить бит Perl и сделать все это в JavaScript.

3 голосов
/ 21 октября 2010

Perl - это язык на стороне сервера, поэтому он должен быть запущен на сервере.HTML-код отображается в браузере и генерируется сервером.Таким образом, вам нужно будет запустить скрипт perl на сервере, чтобы сгенерировать дату / час, и вставить его в HTML-код, который вы обслуживаете браузеру.как это сделать.

1 голос
/ 21 октября 2010

Вы можете сгенерировать всю HTML-страницу с помощью скрипта CGI (согласно ответу Четана) - или в качестве альтернативы вы можете использовать один из шаблонных модулей (EmbPerl, Mason, HTML :: Template ,или многие другие).

Шаблонное решение лучше для реальной разработки программного обеспечения, где важнее разделение HTML и логики Perl.Например, для EmbPerl ваш код будет выглядеть так:

<html>
<body>
[- my $date_hour= my_sub_printing_date_and_hour(); # Logic to generate -]
[+ $date_hour # print into HTML - could be combined with last statement +]
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...