in reply to Breaking The Rules
My rule of thumb is never break a rule unless you understand why that rule exists. "Understanding" why a rule exists is not saying "It exists because someones an idiot and is just trying to control me".
My second rule of thumb is break rules to see why they exist and to see if the arguments are legitimate.
For example "Don't parse (HT|X)ML with regular expressions. Try it to understand what it limitations are. Then you can decide whether for you particular needs those are limitations you care about.