En Perl, comment peut-on charger dynamiquement (à l'exécution) un module et instancier la classe qu'il représente ?
Conrètement j'ai une classe A dont héritent plusieurs classes B, C, D. Mes classes filles B, C, D. sont en fait des "plugins" qui implémentent l'interface décrite par A. Je ne les connais pas au moment où j'écris le code ; je voudrais pouvoir, à l'éxécution, charger dynamiquement tous les modules B.pm, C.pm, D.pm, présents dans un répertoire donné, et créer une instance des classes B, C, D.
J'ai vu qu'il existe un module Module::Pluggable qui semble faire ce genre de choses, mais la doc est un peu succinte. Si vous avez des exemples, ou si vous savez comment faire "à la main", je suis preneur.
Message édité par matafan le 13-02-2008 à 09:15:26