title: perl6 How do lists returned by (pattern)* and m:global/(pattern)/ differ?
body: <p>Perl6 returns a list when capturing with (pattern)* or (pattern)+ and I would imaging that something similar will happen when :g adverb is used. However, the lists returned by using these 2 methods are not the same. The documents did not give more details. Is there any other source to find more info? </p>
  
  <p>Here is an example: </p>
  
  <pre><code>To exit type 'exit' or '^D'
  &gt; my $a = "bananananananana";
  bananananananana
  &gt; my $m = ($a ~~ m/ (an)+ /)
  ｢ananananananan｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
  &gt; say $m[0]
  [｢an｣ ｢an｣ ｢an｣ ｢an｣ ｢an｣ ｢an｣ ｢an｣]
  &gt; say $m[0][0]
  ｢an｣
  &gt; say $m[0][2]
  ｢an｣
  &gt; my $m = ($a ~~ m:g/ (an)+ /)
  (｢ananananananan｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣)
  &gt; say $m[0];
  ｢ananananananan｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
   0 =&gt; ｢an｣
  &gt; say $m[0][1]
  Nil
  &gt; say $m[0][0]
  [｢an｣ ｢an｣ ｢an｣ ｢an｣ ｢an｣ ｢an｣ ｢an｣]
  &gt; say $m[0][0][1]
  ｢an｣
  &gt; my $n = ($a ~~ m:g/ (an) /)
  (｢an｣
   0 =&gt; ｢an｣ ｢an｣
   0 =&gt; ｢an｣ ｢an｣
   0 =&gt; ｢an｣ ｢an｣
   0 =&gt; ｢an｣ ｢an｣
   0 =&gt; ｢an｣ ｢an｣
   0 =&gt; ｢an｣ ｢an｣
   0 =&gt; ｢an｣)
  &gt; say $n[0]
  ｢an｣
   0 =&gt; ｢an｣
  &gt; say $n[0][0]
  ｢an｣
  &gt; 
  </code></pre>