adriano++ mesmo! ;D<br><br><div><span class="gmail_quote">On 04/03/2008, <b class="gmail_sendername">Marco A P D&#39;Andrade</b> &lt;<a href="mailto:mdacwb@gmail.com">mdacwb@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;">
Adriano++<br> <br> Mas o que eu propus foi simplesmente:<br> <br>&nbsp;&nbsp;sort -u lista.txt<br> <br> Mesma abordagem do one-liner !<br> <br> Ok... não se aplica em perl golf, mas é uma solução simples para o proglema ;)<br> <br>
 Sds,<br> Marco Antonio<br> <br><br> Em 04/03/08, breno&lt;<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>&gt; escreveu:<br> &gt; Bah, mas a gente tá falando de desenvolver um programa que faça isso.<br> &gt;&nbsp;&nbsp;Pensando assim poderiamos chamar o prog de &quot;a&quot; e fazer o Ultimate<br>
 &gt;&nbsp;&nbsp;Shell Script:<br> &gt;<br> &gt;&nbsp;&nbsp;./a<br> &gt;<br> &gt;&nbsp;&nbsp;e ganhamos o golfe com 1 caractere. A idéia é fazer um programa que<br> &gt;&nbsp;&nbsp;resolva o problema. Usando os próprios recursos do shell, a sua<br> &gt;&nbsp;&nbsp;resposta não ganha não:<br>
 &gt;<br> &gt;&nbsp;&nbsp;$ wc -c /usr/bin/sort<br> &gt;&nbsp;&nbsp;39736&nbsp;&nbsp;/usr/bin/sort<br> &gt;<br> &gt;&nbsp;&nbsp;muito mais até do que a maior resposta :-)<br> &gt;<br> &gt;&nbsp;&nbsp;[]s<br> &gt;<br> &gt;&nbsp;&nbsp;-b<br> &gt;<br> &gt;&nbsp;&nbsp;2008/3/4 Marco A P D&#39;Andrade &lt;<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>&gt;:<br>
 &gt;<br> &gt; &gt; Ah!<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;A Camila foi mais rapida no gatilho :D<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Mas, como eu gosto de usar Perl onde ele é a melhor solução... nesta<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;dá para dar uns pontinhos pro Julio Neves ... ;)<br>
 &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;sort -u<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Sds,<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Marco Antonio<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Em 04/03/08, Marco A P D&#39;Andrade&lt;<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>&gt; escreveu:<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt; 32 caracteres ;)<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;perl -ne &#39;$v{$_}++;END{print sort keys%v}&#39;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Pra que um array, se vc está controlando em hash ?<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Em 04/03/08, breno&lt;<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>&gt; escreveu:<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt; &gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt; &gt; perl -ne &#39;push@a,$_ unless$v{$_}++;END{print sort@a}&#39;<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;42 caracteres :-)<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Me ocorreu que a transição do sort era desnecessária assim que eu li<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;meu próprio post :-)<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;[]s<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;-b<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;2008/3/4 breno &lt;<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>&gt;:<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt; &gt; Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;arquivos aqui)<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;arquivo no seguinte formato:<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;-------------8&lt;-----------------<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;palavra1<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;palavra2<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;palavra3<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;....<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;-------------8&lt;-----------------<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES.<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;saiu minha tacada:<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;perl -ne &#39;push@a,$_ unless$v{$_}++;END{@a=sort@a;print@a}&#39; lista.txt<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;lista2.txt ...<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;47 caracteres. Mas como não sou um praticante ávido de Golfe (salve<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;que desse jeito, ao contrário do código inicial, é possível passar<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;quantos arquivos de lista de palavras tiverem, e ele vai ordenar e<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;remover duplicadas como se tudo fosse um único arquivão.<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Quem se habilita ao desafio?<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Dica: acho que trabalhando com concatenação de strings (ao invés de<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;push em lista) fica bem menor...<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;[]s<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;-b<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt; &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;_______________________________________________<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Rio-pm mailing list<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&gt;<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;_______________________________________________<br>
 &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Rio-pm mailing list<br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br> &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> &gt;&nbsp;&nbsp;&gt;<br>
 &gt;&nbsp;&nbsp;_______________________________________________<br> &gt;&nbsp;&nbsp;Rio-pm mailing list<br> &gt;&nbsp;&nbsp;<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br> &gt;&nbsp;&nbsp;<a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
 &gt;<br> _______________________________________________<br> Rio-pm mailing list<br> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br> <a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
 </blockquote></div><br><br clear="all"><br>-- <br>camila m.