in reply to Why does NOT operator on match operator on string concatenation require two pairs of parens?

Appears to be the "If it looks like a function, it IS a function" rule.

$ perl -MO=Deparse -e'if (not +($label.$inst) =~ /\blea\b/i) {}' unless (($label . $inst) =~ /\blea\b/i) { (); } -e syntax OK
$ perl -MO=Deparse -e'if (not "$label$inst" =~ /\blea\b/i) {}' unless ("$label$inst" =~ /\blea\b/i) { (); } -e syntax OK

Alternative

$ perl -MO=Deparse -e'if ("$label$inst" !~ /\blea\b/i) {}' unless ("$label$inst" =~ /\blea\b/i) { (); } -e syntax OK
  • Comment on Re: Why does NOT operator on match operator on string concatenation require two pairs of parens?
  • Select or Download Code