So, what's wrong with $!eval ?