Essa linha não imprimiu nada...<br><br>&nbsp;perl -e &#39;$str = &quot;aaabbb&quot;; print 42,&quot;\n&quot; if $str =~ /a(?:n(?{$c++}))*b(??{&#39;n&#39; x $c})$/;&#39;<br><br>Aliás, não consegui nem entender essa regex aí... ela criaria uma variável &quot;n&quot; contendo o número de vezes que &quot;a&quot; aparece ? 
<br><br>(olhando melhor...)<br><br>ei, cê fez ela bater com &quot;a n^k b n^k&quot; ... tá, quase a mesma coisa, exceto que esta regexp poderia ser escrita simplesmente como /a(n*)b\1/&nbsp; .<br><br>De qualquer jeito, você tá dependendo de um eval, ou seja, não é uma regexp &quot;de verdade&quot; - na verdade, backreferences também são trapaças para regexps teóricas, mas elas não envolvem eval e não aumentam tanto assim a expressividade das regexps (você continua não podendo fazer &quot;a^n b^n&quot; ).
<br><br>&nbsp;Acho até que algum perldoc avisa para não usar essas construções. Lembrei, perldoc perlre:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;(?{ code })&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WARNING: This extended regular expression feature is considered highly experimental, and may be changed or deleted
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; without notice.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This zero-width assertion evaluates any embedded Perl code.&nbsp; It always succeeds, and its &quot;code&quot; is not interpolated.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Currently, the rules to determine where the &quot;code&quot; ends are somewhat convoluted.
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (...)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;(??{ code })&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WARNING: This extended regular expression feature is considered highly experimental, and may be changed or deleted<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; without notice.&nbsp; A simplified version of the syntax may be introduced for commonly used idioms.
<br><br><br><br><br>[]s<br>Wendel<br><br><div><span class="gmail_quote">On 5/24/07, <b class="gmail_sendername">Nilson Santos Figueiredo Junior</b> &lt;<a href="mailto:acid06@gmail.com">acid06@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On 5/24/07, Wendel Scardua &lt;<a href="mailto:wendelscardua@gmail.com">wendelscardua@gmail.com
</a>&gt; wrote:<br>&gt;&nbsp;&nbsp;A string &quot;a^n b^n&quot; (que não é regular) não pode ser reconhecida com uma<br>&gt; regexp do Perl (a menos de trapaças envolvendo &quot;use re &#39;eval&#39;&quot;).<br><br>$str =~ /a(?:n(?{$c++}))*b(??{&#39;n&#39; x $c})$/;
<br><br>Devem ter outros jeitos melhores ainda.<br>Por esse tipo de coisa que regex de Perl é melhor que das outras linguagens...<br><br>-Nilson Santos F. Jr.</blockquote></div><br>--<br>&quot;Não ajustar o auto-ajuste&quot; - 
<a href="http://wendel.scardua.net/">http://wendel.scardua.net/</a>