title: Perl regex not-match-strings operation
body: <p><strong>What I have so far:</strong></p>
  
  <p>Here is the regex I created</p>
  
  <pre><code> if ( /PRINT\((\s*\n*\t*)[A-Z]+_[A-Z]*(_*)(DBG|NOT|UNC)/  ) { next; }
  </code></pre>
  
  <p>Currently it executes <code>next</code>when it detects </p>
  
  <pre><code>PRINT(ABC_XYZ_DBG...
  PRINT(ABC_XYZ_NOT...
  PRINT(ABC_UNC...
  </code></pre>
  
  <p>and it doesn't execute <code>next</code> when it is</p>
  
  <pre><code>PRINT(ABC_XYZ_ERR...
  PRINT(ABC_XYZ_WRN...
  PRINT(ABC_ERR...
  </code></pre>
  
  <p><strong>I want to change it to:</strong></p>
  
  <p>I want to modify it so it will execute <code>next</code> for everything other than <code>_ERR</code> or <code>_WRN</code></p>
  
  <pre><code>PRINT(ABC_XYZ_ERR...
  PRINT(ABC_XYZ_WRN...
  PRINT(ABC_ERR...
  </code></pre>
  
  <p>I tried the following but it didn't match anything</p>
  
  <pre><code>        my $ERR = qr/ERR/;
          my $WRN = qr/WRN/;
   if ( /PRINT\((\s*\n*\t*)[A-Z]+_[A-Z]*(_*)(?!$ERR|$WRN)/  ) { next; }
  </code></pre>
  
  <p>I am making some mistake in the not-match <code>(?!$ERR)</code> operator but I don't know how to correct it. I appreciate your inputs in advance.</p>