in reply to Any way to access the contents of a block eval?

Not directly so far as I know, but you can just about do this with a simple command, like this:
my $cmd = '1/0'; eval $cmd; if ($@) { print "$cmd gives: $@\n" } 1/0 gives: Illegal division by zero at (eval 1) line 2.
and that is not the block eval command that you asked for.