in reply to eval {require module};?

You need to use the string form of eval:
eval "use MyModule;"
Then you can test $@ as normal. Not entirely sure why.