BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: FreeBSD 8.1-STABLE amd64, Apache 2.2.17, mod_perl 2.0.4
СообщениеДобавлено: Ср 01 дек, 2010 2:01 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср 23 июл, 2008 7:38 pm
Сообщения: 199
Откуда: Москва
Доброго времени суток всем.

Господа, помогите разобраться с особенностями программирования под mod_perl.
httpd.conf:
Код:
LoadModule perl_module libexec/apache22/mod_perl.so
Alias /cgi-perl/ "/usr/local/www/cgi-perl/"
PerlModule ModPerl::PerlRun
<Location /cgi-perl>
SetHandler perl-script
PerlHandler ModPerl::PerlRun
Options +ExecCGI
PerlSendHeader On
Order allow,deny
Allow from all
</Location>

Делаю вот такую страничку:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
</head>
<body>
   <!--#include virtual="/cgi-perl/test.pl?p=12345"-->
   <!--#include virtual="/cgi-perl/test.pl?p=67890"-->
</body>
</html>

Скрипт test.pl выглядет так:
Код:
#!/usr/bin/perl

use strict;
use CGI qw( :all );
use CGI::Pretty qw( :html4 );

my $cgi = CGI->new();
print $cgi->header( -type=>'text/html',-charset=>'utf-8' );

my $test = $cgi->param("p");
print $cgi->h3( $test );

exit;

Результат такой:
Код:
12345
12345

Документацию на perl.apache.org читал. Читал, что глобальные переменные кешируются, но кешируются если использовать ModPerl::Registry, а при использовании ModPerl::PerlRun, вроде как они должны очищаться.
В скриптах, которые мне надо адаптировать под mod_perl, на основании параметров, поступивших на вход, производятся те или иные действия. Соответственно значения присваиваются нескольким глобальным переменным, которые потом проверяются. А как так сделать, чтобы эти переменные не кешировались я никак не пойму, и как отказаться от использования глобальных переменных в моём случае я тоже пока не могу понять.
Господа, может кто-то боролся с подобной задачей и победил? Поделитесь опытом.
Заранее благодарен за помощь.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot], grayich


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

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика