| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Как выполнить скрипт в html файле |
| Автор: d0k 11.7.2005, 05:07 |
| Подскажите как сделать так, чтобы часть скрипта на перле запускалась прямо в html файле (какие теги или модули нужны) или что-бы htm файл (например index.html) запускался как скрипт (как .pl .cgi). Прошу учесть, что сервер не мой и поэтому любые изменения в настройках сервера я сделать не могу. |
| Автор: korob2001 11.7.2005, 08:08 |
| Можно, воспользоваться SSI, можно просто перенаправлять пользователя на программу Perl, можно установить модуль Mason и встраивать Perl прямо в страницу, если задачи которые выполняет Perl программа не слишком сложная, можно воспользоваться PerlScript. Что конкретно делает твоя программа Perl??? |
| Автор: d0k 12.7.2005, 02:39 | ||
Модуль Mason сам поставить не могу так-как сервер не мой только хостинг там куплен. Перенаправление на перл файл тоже мне не подходит. Сам скрипт простой типа статистику о переменных окружения в файл записывает. Подскажи теги для PerlScript и на всех ли серверах его можно использовать? Как проверить стоит ли Mason (с помощью каких-либо действий на перле)? |
| Автор: korob2001 12.7.2005, 09:14 | ||||||
А ты не пробовал писать в службу поддержки? Если хост платный, они просто обязаны прислушаться к твоей прозьбе. Хотя ставить Mason, только для работы одного скрипта, нет смысла.
Если тебе что-то нужно записывать в файл, то с PerlScript ничего не выйдет, так как он работает на клиенте, такк же как и JavaScript, да и поддерживает его пока только IE. Воспользуйся SSI включениями, если хост куплен, то серверер наверняка поддерживает работу с SSI. Вобщем пишешь обычную программу, как обычно ложишь её в cgi-bin, а затем в html код вставляешь строку типа этой:
Вполне возможно что придётся поменять расширение файла с html или htm, на shtml. Об этом можешь почитать в правилах своего хоста. |
| Автор: d0k 12.7.2005, 16:54 |
| Спасибо за совет. Может подскажешь, с твоей точки зрения, что лучше из модулей использовать для создания простой программы для рассылки писем. Программа типа - юзер регистрируется а затем получает новости на e-mail. Я с этим раньше не когда не сталкивался так что не знаю где больше подводных камней будет. Конечно лучше наверно с использованием sendmail |
| Автор: sharq 13.7.2005, 00:59 | ||||||||||
| d0k, на справочной странице хостинга написано что и как хостинг поддерживает. Наверняка, хостинг поддерживает исполняемые файлы, которые находятся в директории cgi-bin (например, perl-скрипты), ssi-страницы (часто имеют расширение *.shtml), доступ к sendmail и прочее.
Просто создаешь perl-срипт, который генерирует html-страницу (содержащий заголовок и содержание страницы). Примеров можно найти масса.
На счет этого ты глубоко заблуждаешься! Конечно, есть упрямые сисадмины, но после долгого натиска и они сдаются. Если сисадмин все-таки отказал, не проблема - используй для подстроек сервера - .htaccess (обычно хостинг поддерживает).
Можно поставить почти любой модуль самому, стоит только попробовать (но бывают исключения).
Читай соответствующую доку. Если ты установил ActivePerl, то file:///диск:/путь/к/perl/html/Components/Windows/PerlScript.html. Если с английским туго, то Lingvo или Prompt тебе поможет.
Модулей масса, выбирай, что тебе больше подходит. Посмотри http://cpan.uwinnipeg.ca/search?query=mail&mode=dist. Например, модуль MIME::Lite или Mail::Sendmail. |
| Автор: korob2001 13.7.2005, 01:21 | ||
Честно говоря, я бы написал её без использования сторонних модулей, ну может пригодился бы DBI и CGI, первый что бы получать из базы E-mail адреса, на которые нужно отправлять, а второй для генерации HTML-интерфейса. Ну а если уж хочется и для отправки письма заюзать какой-нить модуль, то попробуй Mail::Sendmail. |
| Автор: d0k 16.7.2005, 00:07 | ||||||
Спасибо за предыдущий совет. Просто на моём хостинге только файлы с расширением .shtml можно писать с SSI. Насчёт мыла - ты говориш без модулей, но просто напрямую с сокетами больше возьни а результат тотже. Модуль просто как помощник. Но перебрав несколько (я удивился что в cpan столько модулей для мыла - сотни) действительно sendmail да бест. Если я не прав то ответь опираясь на свой опыт. Добавлено @ 00:15
Подскажи как на хостинге поставить модуль самому Через shell Ладно, perl Makefile.PL через сам же скрипт можно попробовать запустить. А как я make сделаю |
| Автор: sharq 16.7.2005, 00:41 | ||||
| d0k а мне можно ответить Если хочешь написать скрипт, который отправляет письма не зависимо от того есть sendmail или нет, то пиши используя сокеты (либо на прямую use Socket, IO::Socket, либо с помощью дрю модулей). Иначе юзай sendmail в любом виде, будь-то через модуль (например, MIME::Lite) или на прямую. Все зависит от того, какой подход тебе больше нравится, какой модуль больше понраву. Так что экспериментируй, пробуй и будет тебе счастье. Я уже писал где-то на форуме. Вот в кратце:
И теперь в скрипте:
Концовка может измениться, все зависит от того, где находится исходник модуля. Надеюсь, понятно. |