Как может я вызывать разгрузить модуль Perl?

Ну, между теми также я думаю, что C#/XNA является явным победителем на основе поддержки библиотеки и действительно зрелости, данной опыт Microsoft в DirectX. Однако я не вижу, что C#/XNA заменяет C++ в качестве лингва франка серьезного 3D игрового программирования (т.е. большими зданиями разработки) в течение очень долгого времени, если когда-либо.

9
задан brian d foy 4 August 2009 в 02:29
поделиться

6 ответов

Если вы не хотите переписывать / исправлять скрипт, я предлагаю вызвать скрипт через exec () или одну из его разновидностей. Хотя это не очень элегантно, но это определенно решит вашу проблему.

4
ответ дан 4 December 2019 в 07:14
поделиться

Если вы хотите принудительно перезагрузить модуль, удалите его запись из % INC , а затем перезагрузите ее.

Например:

sub reload_module { 
    delete $INC{'Your/Silly/Module.pm'};
    require Your::Silly::Module;
    Your::Silly::Module->import;
}

Обратите внимание, что если этот модуль полагается на глобальные переменные в других устанавливаемых модулях, возможно, потребуется их перезагрузка. Нет простого способа узнать это, не заглянув в код.

11
ответ дан 4 December 2019 в 07:14
поделиться

Другая возможность (просто подумайте вслух) может быть связана с локальным каталогом? Они бегут с одного места. Впрочем, с первого раза, наверное, не сработает.

Другой вариант - использовать system ('doprocessing.pl'); . Лениво, мы делаем это с помощью нескольких скриптов для принудительной повторной инициализации ряда классов / переменных и т. Д. И для принудительного вращения файлов журнала должным образом.

edit: Я только что перечитал ваш вопрос, и он будет похоже, что вы не называете это так.

0
ответ дан 4 December 2019 в 07:14
поделиться

Выгрузка модуля - более сложная задача, чем простое удаление записи% INC модуля. Взгляните на Class :: Unload из CPAN.

5
ответ дан 4 December 2019 в 07:14
поделиться

Вы уверены, что вам нужно перезагрузить модуль? Используя do , вы каждый раз читаете исходный код и выполняете его. Что произойдет, если вы измените его на require , который будет читать и оценивать источник только один раз?

3
ответ дан 4 December 2019 в 07:14
поделиться

Привет, я использую сценарий Perl, написанный другим человеком, который больше не работает в компании. Я попытался включить предупреждение, и оно выдало тысячи строк предупреждений ...!

Вот и ваша проблема. Сценарий был написан некорректно и должен быть переписан.

Задайте себе вопрос: если при включении строгой проверки у него есть тысячи предупреждений, как вы можете быть уверены, что он работает правильно? Как вы можете быть уверены, что он не сбивает файлы, не уничтожает наборы данных и не портит вашу файловую систему? Скорее всего, он делает все это, намеренно или случайно.

Я бы не стал доверять запуску скрипта с ошибками, написанного кем-то, кто больше не работает в компании. Я бы переписал его и был уверен, что он делает то, что мне нужно.

8
ответ дан 4 December 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: