文章を修正しました。パッチの変更はありません。 Apache2::Reloadは、対象パッケージのシンボルを全て削除した上でリロードするようになっています。しかし、対象パッケージの外部から動的に定義されているシンボルを削除してしまうと、復元することができなくなってしまいます。DBIx::Classとか他にも色々、Class::Data::Inheritableのようなものを使っている場合は大抵この現象が起きます。 そこでApache2::Reloadに当てる動的パッチを作ってみました。このパッチを当てると、シンボルを全て削除してしまうModPerl::Util::unload_package_ppは使われなくなり、%INCからモジュール名のみが削除されるようになります。 PerlModule Apache2::Reload PerlInitHandler Apache2::Reload <