> I think so. Would it be a fair summary to say that the quotes defer
> the entire load->tie->fetch sequence until run time where eval can
> catch problems at any step,
This is right.
> but without the quotes the eval can only trap problems at the fetch step?
Not exactly. With no quotes, the eval is too late to trap problems at
*any* step. Consider
eval $s
What happens here? Perl fetches the (string) value of $s. Perl
passes this value to the 'eval' operator. 'eval' compiles the string
as Perl code, executes it, and returns the result. But if step 1, the
fetch, causes a fatal error, that is too soon for the eval to rescue
the situation. If you have eval $!{ENOENT}, perl calls Errno::FETCH
*before* the eval, then passes the result to eval. If Errno::FETCH
throws an exception, it does so too soon for the exception to be
caught by the eval.