2013-09-20 5 views
0

Как говорится в названии, я пытаюсь создать демон perl, который, будучи долговременным, хочу быть нормальным в использовании ресурсов.Это единственный способ отключить WWW :: Mechanize :: Firefox от уничтожения объектов?

Все примеры/документация, которые я видел, похоже, не указывают на способ отключения сеанса.

Лучшая документация по этой теме я могу найти в WWW::Mechanize::Firefox::Troubleshooting Где предполагается, что объект (и соединение?) Поддерживается до глобального разрушения.

Короче говоря, я не видел функции «отключить», и задаюсь вопросом, не пропал ли я что-то.

ответ

0

Отключение, по-видимому, осуществляется через деструкторы. Для этого Perl использует специальные методы DESTROY. Не рекомендуется использовать этот метод вручную.

Вам необходимо уменьшить сумму вашего $mech объекта, чтобы его уничтожить автоматически. Это происходит, когда переменная выходит за пределы области действия, на этапе Глобального уничтожения в конце процесса или (в случае объектов), назначая что-то другое для вашей переменной, например.

$mech = undef; 

Чтобы полностью освободить любую переменную, вы можете также

undef $mech; # which btw is the answer provided in the FAQ you linked 

различия являются тонкими, и не имеет значения в данном случае.

+0

Thanks; Я преждевременно отклонил часть ответов на частоту, указанную в этом разделе, только о закрытии вкладки на стороне Firefox, а не о том, что она также делает очистку perl, которая в ретроспективе очевидна – pacifist