open my $lexicalFileHandle, '<', 'threeArgOpen.txt' or warn "The reason for failure is very useful and is as follows: $!" and return "We canna do it cap'n!";
If you check for errors during your file operations and handle them gracefully, then you probably don't need the eval at all. (I suspect it is just there to trap errors from that code.)