in reply to regular expressions with !

As others mentioned, you need to use either 'not' or '()' - since '!' has a higher order of precedence than '=~'. From perlop:
Operator Precedence and Associativity ... right ! ~ \ and unary + and - left =~ !~ ... right not

-- zigdon