I've been doing exception handling with perl in the way most people expect eval { code that might throw an exception }; if( $@ ) { handle the issue } This code tends to be a bit fragile when it comes to deciphering particular type of failure. Was it a "file not found" error? You can do a simple regex to find out. However, what if error messages are localized? Ugh. It wasn't until recently th