Някои цитати за избор от практичния mod_perl
"Обикновено един процес обслужва много заявки, преди да излезе, така че блоковете END не могат да се използват, ако се очаква да направят нещо в края на обработката на всяка заявка."
И така, в моя a.cgi скрипт:
my $flag = 1;
END {
# Value for $flag is undefined, if this script is run under mod_perl.
# END block code only executed when process to handle a.cgi exit.
# I wish to execute some code, just before process to handle a.cgi exit.
if ($flag) {
# clean up code.
}
}
Книгата започва отново $r->register_cleanup(sub { #cleanup });
Въпреки това,
- Как мога да получа $r в a.cgi скрипт?
- Може ли подпрограмата да има достъп до променливата на моя обхват?
- Това $r->register_cleanup трябва ли да бъде поставено в a.cgi скрипт? Искам кодът за почистване да бъде изпълнен само за a.cgi скрипт. Не останалото.