Forum Webscript.Ru

Программирование => Perl => Тема начата: Phoinix от 21 Ноября 2004, 19:01:49

Название: mod_perl + переменные родительского скрипта
Отправлено: Phoinix от 21 Ноября 2004, 19:01:49
Делаю в начале скрипта, одну и те же опрерации, поэтому что бы не мучатся вынес их в модуль, а что бы не передавать переменные по десять раз, использовал такой прием:

модуль:

package WM4::Action;
use strict; use DBI; use Storable;
require Exporter;
our @ISA = qw(Exporter);
our $VERSION = \'1.00\';

sub start_script {
     eval {$::site_vars = retrieve(\'./../config/variables.conf\')} || ... ;
     $::dbh = \'DBI:mysql:database=\'.$::site_vars->{\'MysqlBase\'} ... ;    
...
 

и просто вызываю в скрипте:
use vars \'$site_vars\', \'$dbh\', ... ;
use WM4::Action; WM4::Action->start_script;

Но когда попытался, такой финт сделать с использованием mod_perl - ошибки не дало, но при этом в модуле не присваивались никакие значения...

Интересно, что даже указание переменных как глобальных, не дало никакого результата... они постоянно "теряются"...

Объявление переменных, и их инициализация непосредственно в конфиге Apache, тоже неичего не принесло положительного...

Просто не хочется возвращать из модуля конкретные значения переменных, т.к. их инициализируется порядка 9-15 штук...


mod_perl 1.29
Apache 1.3.29... (хм, надо бы обновить...)
Perl 5.8.4