У меня есть Apache с поддержкой mod_perl, в котором работает нативный (обработчики, а не Apache :: Registry или аналогичный) код mod_perl.Как известно, модули могут быть скомпилированы и загружены во время выполнения.Для тестирования у меня есть фиктивный модуль:
package MyPackage;
our $data = '0123456789' x 1000000; # 10 millions characters
1;
Во время выполнения я загружаю его, и мои httpd дочерние процессы добавляют по 10 мегабайт один за другим после нескольких запросов.Это отлично.Таким образом, я иногда могу использовать некоторый код, потребляющий память, но, хотя это случается редко, я хотел бы иметь возможность выгрузить использованный модуль после того, как он выполнил свою работу.
Если вы упомянули об использовании лексических переменных my
, я знаю, что они уничтожаются, когда заканчивается область действия.Итак, our
или переменные пакета являются важным фактором в этом случае.
Возможно ли получить это во время выполнения?если да, то как это можно сделать?