Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > Perl

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 25.02.2003, 10:56
vrach_kirill вне форума Посмотреть профиль Отправить личное сообщение для vrach_kirill Посетить домашнюю страницу vrach_kirill Найти все сообщения от vrach_kirill
  № 1  
vrach_kirill

Регистрация: Aug 2002
Адрес: Москва
Сообщений: 7
Question Есть ли аналог include в PERLе?

Уважаемые ГУРУ!
Столкнулся я с такой ситуацией: есть в моем сайте (интернет-магазин) навигатор по разделам (3-х уровневый) сделанный на основе выпадающих меню.
Всё это хозяйство "кушает" 40 кб!
Было бы неплохо его запихать в отдельный файл. Единожды загрузившись он висит в кеше клиента и больше не требует длительной загрузки.
Подобная вещь есть в ASP.
Есть ли такая возможность в ПЕРЛЕ или ПХП?
Если "да", то киньте, плз, линк на исходники, FAQ или HowTo.
Заранее благодарен!
__________________
С уважением, Кирилл

Старый 25.02.2003, 11:00
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 2  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
В кэше клиента из скриптовых языков может лежать только JS - а откуда берётся этот JS клиенту по барабану - перл его генерит, асп, пхп... или его вообще никто не генерит
__________________
Two beer or not two beer?...

Старый 25.02.2003, 11:05
vrach_kirill вне форума Посмотреть профиль Отправить личное сообщение для vrach_kirill Посетить домашнюю страницу vrach_kirill Найти все сообщения от vrach_kirill
  № 3  
vrach_kirill

Регистрация: Aug 2002
Адрес: Москва
Сообщений: 7
По умолчанию :о)

Уважаемый SPV!
никто и не сомневается, что *.js цепляется и ложится в кэш.
Вопрос в другом: КАК его вложить в страничку?
Страницы статические, динамическая часть - одна табличка...
__________________
С уважением, Кирилл

Старый 28.02.2003, 10:27
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 4  
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
Привет ВСЕМ !

Прочитайте то,что написал один из умных ПРОГРАММИСТОВ:

Цитата:
SSI Позволяет без лишних хлопот динамически создавать HTML файлы методом вставок. Большинство серверов поддерживают SSI.

Чтобы внутри HTML файла разместить содержание другого файл, нужно в том месте, куда предполагается вставка, поместить HTML тэг очень похожий на комментарий:

Код:
<!--#include virtual="file.ssi" -->
И действительно, если сервер не поддерживает SSI, он не сможет подставить вместо этой строки содержимое файла file.ssi и передаст код браузеру. Браузер воспримет его как комментарий и ничего не отобразит на своем экране.

Хотя с помощью директивы "include virtual" можно вставлять не только статичные документы (html, txt, read.me), но и динамические (perl-скрипты, к примеру), для последних придумана специальная директива - "exec cgi".

Зачем же нам, CGI-программистам, нужна технология SSI? Ответ напрашивается сам собой - для удобства написания Perl-скриптов ( |-D ) . Ведь мы часто в своих скриптах используем статичную информацию, к примеру выводим формы и другие части HTML страницы. Использование SSI позволяет оставлять всю статичную информацию в HTML странице, а динамические только включать в неё. Таким образом в браузер мы будем загружать уже не результат выполнения CGI скрипта, а HTML страницу со включеным результатом.

Ускоренный курс изучения CGI программирования не предполагает глубокого изучения SSI, поэтому на приведенном выше материале мы и остановимся. Более детальный материал по SSI можно найти в разделе помощи.

[C]* * * *[/C]

Напишем простейший счетчик посещений с использованием технологии SSI

Код:
#!/usr/local/bin/perl
# programm 16
print "Content-Type: text/html \n\n";

$file="counter.txt";
open(FILE,"$file");
$line=<FILE>;
close(FILE);
open(FILE,">$file");
$line++;
print FILE "$line";
close FILE;
print "$line"
Сохраните этот скрипт в файл под именем "counter.pl".
В директории с HTML файлами создайте файл "usualy.htm", в котором содержались бы такие строчки:

Код:
<html><head>
<title></title>
</head>
<body>
<p>Общее количество посещений: <!--#exec cgi="/cgi-bin/counter.pl" --></p>
</body>
</html>
Теперь попробуйте загрузить и несколько раз обновить страницу. Вы должны увидеть, что значение каждый раз увеличивается на единицу.
Если это так, то я Вас поздравляю, Вы только что написали счетчик посещений для своего сайта!
Если не работает, то сохрните HTML script по расширению "usualy.shtml".

Успехов.
__________________
время никого не ждёт.

Старый 28.02.2003, 11:30
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 5  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
2sultan_M
Ты не уловил суть вопроса... Нужно, чтобы инклюд на стороне клиента происходил, а не на сарвере с выдачей готового браузеру.
2vrach_kirill
Так что мешает в страницы вставить:
<script src="menu.cgi"></script>

А menu.cgi будет выдавать что-то типа того:
Content-Type: text/plain

document.write('...');
document.write('...');
document.write('...');
...
__________________
Two beer or not two beer?...

Создать новую тему   Часовой пояс GMT +4, время: 02:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:05.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.