And as for the comments about using XML::Parser instead of RegExps, the
RiskGrades engine handles thousands of XML requests daily, and it required significantly more over-head (especially under mod_perl, which occasionally has had freaky memory retention problems) to use Parser. We did Benchmark both, and straight RegExps came out well ahead. I do agree that Parser should be used for non mission-critical apps, tho.
The point about use strict is valid and has been corrected in the quiz.
As for the "broken" regexp that Tachyon described most eloquently above, it was actually used to translate a bunch of files that had been raped by DreamWeaver. The only valid tags were the <b> and <i> tags (which were all lower case), but I needed to keep track of where the other ones were, so I used "x"s. Not terribly elegant, but made for a good question (that most people get wrong).