title: Grep any whitespace character including newline in single pattern
body: <p>I'm trying to make 'perfect' command to show any .php file in dir or subdirs that contain <code>eval</code> code.</p>
  
  <p>Since there are many many false positives, I'm after solution that would strip at least most obvious of them - so my target is: </p>
  
  <p><strong>word eval, followed by any whitepace char including newline zero to unlimited times, followed by open bracket char <code>(</code>;</strong></p>
  
  <p>Here are my shots:</p>
  
  <p><code>find . -type f -exec grep -l "eval\s*(" {} \; | grep ".php"</code></p>
  
  <p>Works great <strong>but</strong> somehow <code>\s*</code> here doesn't match newline characters, so</p>
  
  <pre><code>eval
  
  ("some nasty obfuscated code");
  </code></pre>
  
  <p>is bellow the radar.</p>
  
  <p>I've also tried with:</p>
  
  <p><code>find . -type f -exec grep -l "eval[[:space:]]*(" {} \; | grep ".php"</code></p>
  
  <p>with same results.</p>