Я понимаю, что BEGIN выполняется перед основной программой. На вопросы:Блоки BEGIN Perl в app.psgi
- что основная программа, когда речь идет о применении PGSI - или лучше
- , когда будет выполняться НАЧАТЬ блок в приложении PGSI?
- Это другое для
plackup
илиStarman
и как? - Что относительно посредников - когда есть Несколько BEGIN блоки?
Пример app.psgi
:
use Modern::Perl;
use YAML;
use Plack::Builder;
use CGI::Emulate::PSGI;
our($cfg);
BEGIN {
$cfg = YAML::LoadFile("my.config");
}
#old really __BIG__ cgi application - what uses many BEGIN blocks too...
my $app1 = CGI::Emulate::PSGI->handler(sub {
use My::CgiApp1;
My::CgiApp1::executer->run();
});
my $app2 = sub { ... };
builder {
mount "/path1" => $app1;
mount "/" => $app2;
}
В каком порядке будет выполнено Кратные BEGIN блоков, что определены в My::CgiApp1
и моя app.pgsi
?
С точкой вышеуказанного заявления PSGI зрения, что основное различие с помощью:
BEGIN {
$cfg = YAML::LoadFile("my.config");
}
или простого
$cfg = YAML::LoadFile("my.config");