| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Переопределение переменной из плагина |
| Автор: vgray 7.2.2008, 14:34 | ||||||||
| добрый день, есть программа к которой могут подгружаться различные языковые модули с помощью след кода
языковой модуль выглядит след образом
не могу сообразить как сделть так чтобы в функции main::lang() я эту переменную увидел если делаю так
то все работает, а если пытаю динамически подгружить модуль то или нет результата или идет ошибка
подскажите что делать? |
| Автор: ginnie 7.2.2008, 14:41 |
| Уважаемый vgray, а в main::lang() переменную $_LANG_DATA не видно, она же экспортируется? |
| Автор: vadiml 7.2.2008, 15:08 | ||||
| Вы таки разберитесь чему Вы присваиваете данные: Экспортируете Вы
а ниже пишете:
зачем? если Вы экспортировали переменную, то и пользуйтесь ею напрямую: return $_LANG_DATA, только require надо заменить на use или самому вызвать функцию импорта. а вообще я не понимаю зачем тут 'eval' ЗЫ все же, если очень надо с eval, то надо $data = eval '....' eval -- это почти {...} |
| Автор: ginnie 7.2.2008, 15:28 | ||
vgray, попробуйте по наводке vadiml написать
vadiml, eval нужет т.к. use и require требуют имени модуля в виде bareword. |
| Автор: vgray 7.2.2008, 16:39 | ||||||
) вы меня не так поняли, eval мне нужен что динамически подгружать модуль, а написать
я не могу, так как в модуле main нет $_LANG_DATA и при use strict появится ошибка компиляции попробую еще раз объяснить, вот код модулей
вот код главного модуля
|
| Автор: ginnie 7.2.2008, 17:03 | ||
vgray, попробуй
|
| Автор: vadiml 7.2.2008, 19:09 | ||||
| vgray, А скажите, пожалуйста, для чего тогда у Вас
Добавлено через 2 минуты и 5 секунд PS вообще-то надо писать
|