in reply to Style Point: Catching eval { } errors

I defined for our current project that exception handlers must be written as:
eval { # Do stuff }; if (my $e = $@) { # Handle any errors }
This brings the commonly used "e" into the game. I think this makes it more obvious what's happening here.

Ok, in this project it gets even easier:

eval { # Do stuff }; if (my $e = $@) { unless (UNIVERSAL::isa($e, 'Our::Project::Exception')) { $e = Our::Project::Exception::ThirdPartyError->new($e); } # Handle any errors }

Search, Ask, Know