Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переподключение require 
:(
    Опции темы
admsasha
Дата 11.12.2009, 03:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: нет
Всего: 6



Есть определенный код и конфиг на него в файле config.pl

в конфиге, примерно так
$conf{pathlog}="/var/log/mysuperproga";
$conf{level}=0;
$conf{blabla}{0} = "aaa";
$conf{blabla}{1} = "bbb";


в скрипте
require  'config.pl';


Скрипт висит демоном. Как можно заставить переоткрыть файл config.pl для получения новых значений ? Я понимаю, что можно парсить файл, как текстовик, но может есть что-то попроще (уже придуманное) ?


PM MAIL WWW ICQ Jabber   Вверх
arto
Дата 11.12.2009, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



exec $0 ?

Добавлено через 1 минуту и 7 секунд
ну и require -- команда времени исполнения
PM MAIL ICQ   Вверх
Pfailed
Дата 11.12.2009, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Есть 
Код

do 'config.pl';



--------------------
PM MAIL   Вверх
amg
Дата 12.12.2009, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



В PerlCookbook есть отдельный раздельчик, посвященный чиению конфиг. файлов (с. 360). В основном там предлагают вариант Pfailed.
PM MAIL   Вверх
gcc
Дата 12.12.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



в одном FAQ было написать как можно удалить через undef конкертный модуль или метод, только FAQ найти сейчас не могу....
PM WWW ICQ Skype GTalk Jabber   Вверх
DurRandir
Дата 12.12.2009, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 335
Регистрация: 27.9.2009

Репутация: 14
Всего: 17



Я бы посоветовал переписать на конфиг-файлы (причём не так важно, что будет внутри - ini, xml, json, yaml), т.к. исполнение произвoльного кода - это очень, очень плохо для безопасности. Особенно, если настройки можно менять кому-то извне. Если уж очень хочется включать файл - то

delete $INC{'config.pl'};
require config.pl;

Это сообщение отредактировал(а) DurRandir - 12.12.2009, 13:32
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.