in reply to why would a successful eval of a require reset $!?
localize $! if you don't want to lose it.