Plack::Builderの概要とこの回答には次のように書かれています。
# in .psgi
use Plack::Builder;
my $app = sub { ... };
builder {
mount "/foo" => builder {
enable "Foo";
$app;
};
mount "/bar" => $app2;
mount "http://example.com/" => builder { $app3 };
};
私は次のことを試しました:
use Plack::Builder;
my $app1 = sub { return [200, ['Content-Type' => 'text/plain'], [ "Hello 1"] ]; };
my $app2 = sub { return [200, ['Content-Type' => 'text/plain'], [ "Hello 2"] ]; };
my $app3 = sub { return [200, ['Content-Type' => 'text/plain'], [ "Hello 3"] ]; };
builder {
mount "/a1" => builder { $app1 };
mount "http://myhost.com" => builder{ $app2 };
mount "/" => builder{ $app3 };
}
しかし、それを実行しようとすると、plackup
次のようになりました。
/tmp/app.psgi の読み込み中にエラーが発生しました: パスは、/home/cw/.anyenv/envs/plenv/versions/5.20.3/lib/perl5/site_perl/5.20.3/Plack/Builder.pm で / で始まる必要があります108行目。
なにが問題ですか?