NAME
Jabber::Reload - reload modules
DESCRIPTION
Reload is a helper module to reload modules that have changed during run time.
it is a bit of a copy of Apache::Reload, but not nearly as sophisticated, it just check the time stamp on the file of a module that is registerd, whacks the INC entry for it and then reloads over the top.
EXAMPLES
in the main of your program:
use Jabber::Reload;
Jabber::Reload::register(q|Some::Module|);
.... later during the loop
if ( Jabber::Reload::haveModule(q|Some::Module|) ){
Jabber::Reload::reload(q|Some::Module|);
} else {
Jabber::Reload::loadModule(q|Some::Module|);
}
also - to ensure that modules loaded and registered by Reload are properly available in the current scope, when using JabberReload::loadModule(), you must put the load in a BEGIN {} block like so:
use Reload;
BEGIN { Jabber::Reload::loadModule("TTest"); };
so that you can still address methods like this: TTest::handler;
as opposed to having to do this: TTest->handler;
AUTHOR
Piers Harding - after a lot of plagarism