Catalystのコンポーネントの読み込み
Catalystのコンポーネントの読み込みのコード(setup_components)ってけっこう凄くないっすか?
eval "package $class;\n" . q!Module::Pluggable::Fast->import(
name => '_catalyst_components',
search => [
"$class\::Controller", "$class\::C",
"$class\::Model", "$class\::M",
"$class\::View", "$class\::V"
],
callback => $callback
);
!;
eval 式;をつかって、現在のpackage宣言しつつ、Module::Pluggable::Fastを動かす。
tricky杉。