title: What is "await do" in Perl 6?
body: <p>I see the following code in Perl 6:</p>
  
  <pre><code>await do for @files -&gt; $file {
      start {
         #do something ...    }
  }
  </code></pre>
  
  <p>which runs in async mode. 
  Why does the above code need <code>do</code>? What is the purpose of <code>do</code> in Perl 6? Could someone please explain the above code in detail?</p>
  
  <p>Also is there are an option to write something like this:</p>
  
  <pre><code>for @files -&gt; $file {
      start {
         #do something ...    }
  }
  </code></pre>
  
  <p>and await after the code for the promises to be fulfilled?</p>