evalの中で「evalをする」を記述することはできる?

eval(<<EOS)
def hello(person)
eval "Hello, #{person}!"
end
EOS

これはエラーになるよね
> NameError: undefined local variable or method `person' for main:Object