LINUX.ORG.RU

mod_perl 2 и END блок


0

0

Вопрос вот в чем.
Прочтитав документацию по mod_perl 2.0 я так и не понял, в каком случае выполняется код помещенный в END {} блок.

Если конкретнее. Скрипт подключается к базе данных через DBI->connect(). Я хочу чтобы после его завершения выполнялся $dbh->disconnect(). Будет ли это так, если я помещу $dbh->disconnect() в END блок скрипта (у самого скрипта несколько точек выхода через return)?

А может быть можно вообще открыть одно соединение к БД и пользоваться им до рестарта сервера? Если да, то куда копать?

Заранее спасибо.

★★
Ответ на: комментарий от roller

Все-таки прочитав внимательнее на perl.apache.org:

mod_perl does make a special case for scripts running under ModPerl::Registry and friends.

...

END blocks encountered during compilation of a script, are called after the script has completed its run, including subsequent invocations when the script is cached in memory.

Я так понял, что если скрипт выполняется с хендлером (ну как это по русски?..) ModPerl::Registry, то END{} выполняется после окончания скрипта.

octy ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.