Как включить Perl в файлы shtml

Привет, я пытаюсь включить Perl-скрипт в свой файл shtml. К сожалению, когда я это делаю, кажется, что мой скрипт не запускается, а вместо этого просто отображает содержимое скрипта.

Код, который я использую, выглядит следующим образом:

тест.shtml:

<html>
<title> business home page </title>
<body>
</br>
<!--#echo var="DATE_LOCAL" --> 
<br />
<!--#include virtual="hello.pl"-->
</body>
</html>

привет.pl:

#!C:/Sun/WebServer6.1/bin/https/perl/perl

print "Content-type:text/html\n\n";

print "Hello World!"; 

Я не уверен, что я делаю неправильно. Если вы все хотели знать, я использую сервер Sun One WebServer 6.1 (ОС = Windows XP). Спасибо за ваши ответы!


person Bilzac    schedule 03.06.2010    source источник
comment
Вы пытаетесь заниматься веб-программированием примерно в 2003 году по определенной причине?   -  person Chad Birch    schedule 03.06.2010
comment
Это должно быть на serverfault.com, и на него уже был дан ответ — вам необходимо убедиться, что ваш сервер правильно настроен для обработки включений на стороне сервера и выполнения CGI.   -  person Ether    schedule 03.06.2010
comment
@ Чад ... Не совсем уверен, что ты имеешь в виду. @Ether У меня плохое предчувствие, но я не могу найти хороших мест, где можно узнать, как настроить его для Windows. Насколько мне известно, я пытался следовать документам, предоставленным SUN.   -  person Bilzac    schedule 04.06.2010
comment
Эфир означает, что существует множество хороших наборов инструментов для использования Perl для создания веб-страниц, не требующих включения серверной части, в том числе Catalyst, Mojolicious, Танцор, Набор инструментов для создания шаблонов, Mason или даже почтенный CGI .pm. :)   -  person Robert P    schedule 04.06.2010


Ответы (2)


Стандартная директива SSI де-факто для выполнения динамического содержимого на странице SSI:

<!--#exec cgi="hello.pl"-->

Это работает с Apache mod_include и, по крайней мере, с несколькими другими веб-серверами, поддерживающими SSI. Не знаю, будет ли это работать на вашей платформе, но попробуйте.

person friedo    schedule 03.06.2010
comment
я дал, что попытка, кажется, дает мне ошибку при обработке этой директивы/ - person Bilzac; 04.06.2010

Попробуйте избавиться от первого оператора печати в вашей программе Perl, который устанавливает заголовок типа содержимого. Это бесполезно делать в теле HTML-страницы, где находится ваш SSI.

В наши дни SSI — довольно странная технология, даже если она иногда полезна, поэтому, если вы серьезно относитесь к изучению веб-программирования, то это не та область, на которую вам следует тратить много времени.

person virtualsue    schedule 04.06.2010
comment
Эй, спасибо за ответ. Нет, я вообще этому не учусь. Это похоже на инструменты, которые я даю для работы, так что я должен попытаться сделать из них лучшее. Не иметь выбора. - person Bilzac; 04.06.2010