evalって、エラーがなければ$@が空文字列であることが保証されるとのことですが、
evalのリターンはエラーがあった場合、undefであることが保証されますか?
definedな戻り値と$@が両立するケースはありますか?