<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV><BLOCKQUOTE type="cite"><DIV>Em 06/08/07, Nelson Ferraz&lt;<A href="mailto:nferraz@gmail.com">nferraz@gmail.com</A>&gt; escreveu:</DIV> <BLOCKQUOTE type="cite"><DIV>E vocês? Em que projetos estão envolvidos? Sobre que empresas</DIV><DIV>poderiam falar?</DIV> </BLOCKQUOTE><DIV><BR></DIV><DIV>Na semana passada trabalhei em uma ferramenta para conversão de</DIV><DIV>scripts escritos em uma linguagem proprietária para Java.</DIV><DIV><BR></DIV><DIV>O Perl 6 permitiu que tivéssemos um protótipo funcionando, poucos dias</DIV><DIV>após o primeiro contato com o cliente.</DIV><DIV><BR></DIV><DIV>A ferramenta será publicada no CPAN, após amadurecer um pouco.</DIV></BLOCKQUOTE><BR></DIV><DIV>Provavelmente um dos primeiros casos de sucesso em Perl6! :-)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>A propósito, nesse momento eu estou trabalhando num conversor de Mason para Template Toolkit.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Ele deve ser capaz de fazer conversões desse tipo:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>Mason<SPAN class="Apple-tab-span" style="white-space:pre">                                                                        </SPAN>Template Toolkit</FONT></DIV><DIV><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>--------------------------------------------------------------</FONT></DIV><DIV><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>&lt;% $foo %&gt;<SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN></FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                        </SPAN><FONT class="Apple-style-span" face="Courier">[% foo %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">&lt;% $foo-&gt;{bar} %&gt;</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                </SPAN><FONT class="Apple-style-span" face="Courier">[% foo.bar %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">&lt;&amp; template &amp;&gt;</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                </SPAN><FONT class="Apple-style-span" face="Courier">[% PROCESS template %]</FONT></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">% if ( $cond ) {</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                </SPAN><FONT class="Apple-style-span" face="Courier">[% IF ( cond ) %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">%     # ...</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                        </SPAN><FONT class="Apple-style-span" face="Courier">[% # ... %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">% } else {</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                                </SPAN><FONT class="Apple-style-span" face="Courier">[% ELSE %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">%     # ...</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                        </SPAN><FONT class="Apple-style-span" face="Courier">[% # ... %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">% }</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                                                </SPAN><FONT class="Apple-style-span" face="Courier">[% END %]</FONT></DIV><DIV><FONT class="Apple-style-span" face="Courier"><BR class="khtml-block-placeholder"></FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">% foreach my $i ( @{$lalala} ) {</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                </SPAN><FONT class="Apple-style-span" face="Courier">[% FOREACH i = lalala %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">%     # ...</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                                </SPAN><FONT class="Apple-style-span" face="Courier">[% # ... %]</FONT></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><FONT class="Apple-style-span" face="Courier">% }</FONT><SPAN class="Apple-tab-span" style="white-space:pre">                                                                                        </SPAN><FONT class="Apple-style-span" face="Courier">[% END %]</FONT></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Vou fazer mais alguns testes com regexps, mas acho que vou partir logo para o Parse::RecDescent. Alguém aqui tem experiência com esse módulo?</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>[]s</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Nelson</DIV><BR><DIV>PS- peço desculpas pelo email formatado, mas espero que assim a tabela fique mais legível...</DIV></BODY></HTML>