You're a victim of operator precedence - the ! has higher precedence than =~ - so your expression evaluates as if ((!$test_string)=~/$regex/), which is false.
Either use !~, as already suggested, or use parenthesis around the whole match if (!($test_string =~/$regex/)).
You do not need to use the /e modifier!
regards,
tomte
An intellectual is someone whose mind watches itself.
-- Albert Camus
In reply to Re: regular expressions with !
by Tomte
in thread regular expressions with !
by egunnar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |