The explainregexp.cgi uses that regexp to remove "at <file> line <x>" strings from an error message. My scripts validates the regex in a eval {m//} statement first, before your module is used.

B. Inheritance Also, I've been trying to use inheritance at your explain module (to add a explainHTML() method). I wanted the result to be displayed in a more HTML way. The only sad thing is the fact that the $format variable is initialized from the explain() method. So when I copy-paste-adjust the code of the explain() method to my module, I can't get the explain() methods in the element classes working, since they require $format is initialized. Maybe adding a setFormat method is a nice feature.

All other things seam to work correctly. This is still a great job. I guess this will be useful to a lot of developers.