Thanks for taking the time to explain my misunderstanding so clearly. I am writing more apps that run in environments outside of my control, so I am trying to make the error handling more robust. My understanding of using eval in this way is that it will trap errors that may be fatal, but allow me to handle them gracefully if possible. After re-reading the perldoc for eval, I see, as you said, that I have to check $@ for error messages.
If I am misusing eval in this context, I would appreciate any pointers.
Thanks again
digger