in reply to How do I re-initialize a class during runtime?
You might
just want to save the state of your program to a file
and re-spawn a new copy of self with this new data.
Consider:
Of course, if you're inside of mod_perl, calling exit(0) will be futile, since mod_perl doesn't care about that sort of stuff and will just call the same program again for the next request.
This will prevent you from crashing your program if you break your class file (i.e. typo, compile error, etc.) and it will give you a chance to fix it properly.if (ClassFileChanged()) { my ($state_file) = SaveToStateFile(); if (!RespawnFromStateFile($state_file)) # I.E. 0 == no +error { exit(0); } else { warn "Could not reload $0 properly.\n"; } }
Of course, if you're inside of mod_perl, calling exit(0) will be futile, since mod_perl doesn't care about that sort of stuff and will just call the same program again for the next request.
|
---|
In Section
Seekers of Perl Wisdom