2011-01-26 3 views
1

Я новичок в Perl, и у меня проблемы с запуском моих скриптов. Где я должен положить реальные скрипты Perl, чтобы они могли работать правильно? Я тестирую все на своем круге и пытаюсь вызвать скрипт с html-страницы, и все, что я получаю, это сам скрипт (код), отображаемый в моем веб-браузере, в отличие от информации, которую код предназначен для создания. Поэтому я полагаю, что я должен поместить файл Perl в другое место? В настоящее время у меня есть сценарий Perl и HTML-файл в том же каталоге. Любая помощь будет принята с благодарностью! Смотрите ниже:Скрипт Perl не запускается; просто отображает фактический код в браузере

<head> 
    <title>Student Web Page</title> 
</head> 

<body> 

    <h1>WELCOME! You have reached Kito's Student Web Page</h1> 
    <br /> 
    <p>To run the folloiwing applications, click on the appropriate line:</p> 

    <form ACTION="first.pl" METHOD="get"> 
    <p> 
    <input TYPE="submit" VALUE="Step 5 - Perl Environment Variables"> 
    </p> 
    </form>    

#!c:\perl\bin\perl.exe -w 
use strict; 

print "Content-type: text/html\n\n"; 
print "<HTML><HEAD><TITLE>Environment Variables</TITLE></HEAD><BODY>"; 

foreach (keys %ENV) { 
    print "<BR><FONT COLOR=green>$_</FONT> is set to <FONT COLOR=red>$ENV{$_}</FONT>"; 
} 

print "</BODY></HTML>"; 
+0

Кроме того, всякий раз, когда я запускаю скрипт Perl из командной строки, он работает правильно и отображает переменные среды. – Mike

+3

Это проблема конфигурации веб-сервера. Предоставьте некоторую информацию о типе вашего веб-сервера и операционной системе. Также рассмотрите возможность переноса его на ServerFault. Примечание. Возможно, ваш сервер настроен правильно, и вам просто нужно правильно указать файл (.pl) и поместить его в правильный каталог. Проверьте конфигурацию вашего веб-сервера, где будут выполняться сценарии Perl. –

+0

Что сказал Тедд. В зависимости от того, какой веб-сервер вы используете, вам обычно нужно поместить файл в определенный «скриптовый» каталог (по умолчанию «cgi-bin' для Apache), а иногда именовать его, особенно если каталог скорее всего будет проблемой , – DVK

ответ

7

Вам необходимо настроить веб-сервер для выполнения файла CGI. Как это делается, зависит от веб-сервера и операционной системы.

Некоторые примеры: http://www.thesitewizard.com/archive/addcgitoapache.shtml

+0

Проверка его. Спасибо за ссылку. – Mike

+0

Вот и все! Tanks mon :) – Mike

3

В Linux с Apache установить модуль mod_cgi. В окнах с IIS установите activestate perl.

+0

Основываясь на своей линии shebang, он, безусловно, не в Linux :) '#! C: \ perl \ bin \ perl.exe -w' – DVK

+0

@DVK: Да, или он разрабатывает скрипт для победы и забыл изменить shebang в соответствии с новой средой, что также может быть проблемой :) –

+0

@Cyber ​​- в то время как он удаленно, я считаю маловероятным, чтобы кто-то с достаточными навыками/опытом разработал сценарий в Windows, а затем порт он в Linux не знает о cgi-bin ... плюс, IIRC Windows Apache имеет ту же структуру каталогов. – DVK

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