Thread unuse module;: any workaround
(19 answers)
Opened by lichtkind at 2005-10-17 23:23
[quote=Cremator,18.10.2005, 21:01][...]
Erst "säubern" und dann den Modulnamen aus dem INC-Hash löschen. So kannst Du sicher sein, das keine Reste von der zuvor geladenen Version übrig sind, da der Namespace dann auch leer ist. [...][/quote] Aber Vorsicht: Das herumspielen am Namensraum kann mit unerwünschten Nebenwirkungen verbunden sein! Perl führt nicht für jeden Subroutinenaufruf eine volle Suche im Namensraum aus, sondern hat da irgendeinen schlauen Puffermechanismus. Wenn man also ein Modul auf die besagte Art und Weise "entlädt", dann kann es passieren, dass Code, der das Modul benutzt, und bereits mindestens einmal ausgeführt wurde, nicht mehr funktioniert, selbst wenn man das entladene Modul erneut lädt. When C++ is your hammer, every problem looks like your thumb.
|