Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: разработка для Web > Perl с самого начала |
Автор: vladeimirami 6.10.2010, 20:39 |
Уважаемые господа профессионалы Web-програмисты помогите неучу! Дело в том, что написал учебную программку: #!/usr/bin/perl -w # Выводим все сообщения об ошибках # в окно браузера use CGI::Carp qw(fatalsToBrowser); print "Content-type: text/html\n\n"; print "<html>"; print "<head>"; print "<title>Первая программа</title>"; print "</head>"; print "<body>"; print "Привет всем!"; print "</body>"; print "</html>"; далее самое главное 1. не знаю как назвать ее (index.pl, test.pl и т.д..?????) ? 2. куда "залить" ее чтобы работала как index.html ? |
Автор: vladeimirami 6.10.2010, 22:18 |
Что я подразумеваю под цитатой "работать как index.html"? К примеру у меня есть сайтик по адресу http://ermlenkvladimir.narod.ru/ если я данный адрес набираю в браузере, то я сразу перехожу по этому адресу к файлу index.html. Так вот я бы хотел знать куда можно расположить файл ??????.pl, что бы при наборе адреса я сразу переходил бы к файлу ??????.pl (без указания полного адреса http://ermlenkvladimir.narod.ru/cgi-bin/??????.pl (в данном примере адреса я не имею ввиду сайт на народе))? |
Автор: Jimy 6.10.2010, 23:08 |
Предположим, что у Вас веб-сервер - apache. Я бы воспользовался для этих целей модулем mod_rewrite, который позволяет создавать правила обработки запроса. Т.о. можно любой запрос перенаправить куда угодно и соответственно не имеет значения где лежит скрипт. А вообще реализация зависит от конкретной цели. Самый простой вариант: создать в каталоге файл .htaccess и в нем задать параметр DirectoryIndex с указанием пути к скрипту (скрипт опять же при этом может находится в cgi-bin). |
Автор: vladeimirami 6.10.2010, 23:29 |
Jimy, мне еще не все понятно, но я понял в каком направлении нужно еще порыть! Огромное спасибо за подсказку. Помощь отличная! СПАСИБО! Добавлено через 7 минут и 12 секунд Jimy!!!! Суппер!!!!! Все получилось! УРА!!!!! Еще раз СПАСИБО! Добавлено через 8 минут и 42 секунды Что дальше делать с этой темой? Закрыть? |
Автор: vladeimirami 6.10.2010, 23:45 |
Прописал в файле .htaccess - DirectoryIndex cgi-bin/index.pl и все пошло! Спасибо! |
Автор: Jimy 7.10.2010, 08:31 |
Да, тему стоит закрыть. Рад был помочь. ![]() |
Автор: Pollucs 10.2.2011, 22:17 | ||
Изучаю Perl совсем недавно, вот наткнулся на ошибку, не могу понять где и что. Код следующий:
Ошибку пишет такую: <pre>Can't modify pattern match (m//) in scalar assignment at test.cgi line 25, near "$var =~ tr/[" (Might be a runaway multi-line // string starting on line 24) syntax error at test.cgi line 25, near "$var =~ tr/[" Подскажите пожалуйста, где и в чём я не прав? Заранее прошу, не бейте сильно, я лишь начинаю.. ![]() И ещё подскажите пожалуйста, где можно найти описания всех ошибок, так будет проще разбирать код.. Заранее спасибо. |
Автор: sir_nuf_nuf 11.2.2011, 11:24 |
У вас в строке 18 не закрыт второй m// . Скорее всего в этом трабл. Пишите такие вопросы в отдельный тред |
Автор: Pollucs 11.2.2011, 17:13 |
спасибо! проблема и правда была в этом! не совсем понял куда стоит по таким вопросам обращаться.. |
Автор: Pollucs 21.2.2011, 13:03 |
Доброго времени суток! Такой вопрос: можно ли пошагово проследить за выполнением cgi-скрипта? Как это можно сделать? Может программу какую посоветуете? Довольно трудно понять, в каком месте его выполнение прерывается. Буду очень признателен за помощь. |
Автор: sir_nuf_nuf 21.2.2011, 13:25 | ||
Можно. С помощью отладчика perl
Но проверять можно только запуская скрипт из консоли, когда скрипт запускается веб-сервером - нельзя |
Автор: Pollucs 21.2.2011, 13:36 |
Спасибо, получил ответ, но что получил - не знаю, справка может есть по таким ответам где-нибудь?.. Добавлено через 3 минуты и 22 секунды А в редакторах Perl (DzSoft.Perl.Editor например) такую проверку никак нельзя осуществить? |
Автор: sir_nuf_nuf 21.2.2011, 13:42 |
Нет, справки нету. Разберитесь что такое CGI скрипты. Это просто программы, которые печатают html. При запуске из веб-сервера - html попадает в браузер. При запуске из консоли - html попадает в консоль. Разберитесь как запускать отдельные perl скрипты. Разберитесь с отладчиком: http://perldoc.perl.org/perldebug.html |
Автор: Pollucs 21.2.2011, 13:46 |
Спасибо! Буду разбираться, правда инструкцию буду искать на русском. |
Автор: Pollucs 22.2.2011, 11:52 | ||
Утро доброе! В этом фрагменте скрипта должна создаваться новая корзина:
однако ругается на строку с "srand(timel$$);", что не так? Спасибо. |
Автор: sir_nuf_nuf 22.2.2011, 12:46 | ||
Почитайте, что написано в ругани. Там обычно описание ошибки ) |
Автор: Pollucs 22.2.2011, 12:56 |
Читал, вот она: Can't call method "timel" without a package or object reference at Z:/home/perlbook.ru/cgi-bin/main.cgi line 272. |
Автор: alezzz 22.2.2011, 13:11 |
http://perldoc.perl.org/functions/srand.html там написано time ^ $$, в вашем случае похоже на time | $$ (вместо верт. черты у вас буква L маленькая) |
Автор: Pollucs 22.2.2011, 13:42 |
alezzz Спасибо. Ввёл в заблуждение материал курсов, в котором много ошибок. Уже жалею, что начал их, но закончить надо.. |
Автор: Pollucs 24.2.2011, 12:11 | ||
И вновь в тупике.. Вот фрагмент кода:
есть ссылки, но не работают. Проблема в том, что не могу понять, на что они ссылаются. В материале курса код дан, а что к чему - не понятно.. Может подскажете где найти материал по представлению HTML средствами Perl? И ещё, почему то не отображаются картинки (настройки в браузере включены, $cfg - файл конфигурации, с ним и работаю, картинки не отображаются и в случае, если задаю к ним путь прямой без файла $cfg) Помогите, хоть какие-нибудь мысли, а то уж начинаю отчаиваться совсем, закончу ли начатое.. |
Автор: ming 28.2.2011, 09:13 | ||
покажите результирующий HTML что ли |
Автор: Pollucs 28.2.2011, 12:23 |
Отображены ссылки, расположенные в сверху и в центре страницы, но фона этих ссылок (т.е. картинок) нет, они тоже должны являться сылками.. Их там не две, гораздо больше, я лишь фрагмент отобразил... |
Автор: Pollucs 28.2.2011, 12:23 |
Отображены ссылки, расположенные в сверху и в центре страницы, но фона этих ссылок (т.е. картинок) нет, они тоже должны являться сылками.. Их там не две, гораздо больше, я лишь фрагмент отобразил... |