Sounds like you want aspects, specifically the pre-run aspect. Take a look at AOP or (preferable) Class::MOP. Someone else wrote one a few months ago that only does pre-run hooks, but I didn't like the author's attitude.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?