As a casual VMS user, I've always liked the way that VMS coded its error messages. Perhaps a similar technique could be adopted for perl. Each message has 4 parts: Facility: This is the thing that is reporting the error Severity: This is a severity ranking (I=informational, W=warning, E=error, F=fatal) Message-Code: This is a single word abbreviation of the 'gist' of the message Text Message: This is a human readable message giving more details. For example, an message which may occur when using VMS may be: %APPEND-I-CREATED, TEST.OUT;1 created. This is an informational message from append informing us a file was created. A VMS-like perl message may look like: %EVAL-E-SYNTAX, syntax error at (eval 1) line 2, at EOF Since the facility, severity, and message code are clearly separate parts of the message, they can easily be tested with a regex: if($@=~m/-E-/) { # an error of some sort has occurred } Maybe it doesn't need all the shouting, and maybe the format could be rearranged to make it friendlier, but it should be pretty extensible so anything can "throw" its own error messages and still be easily caught by regexes. It should also allow for easy localization. Brian Wheeler [EMAIL PROTECTED]