Ela pensou exatamente como eu... a resposta q ela deu era a q eu ia dar... mas ainda estou vendo se diminuo... mas a probabilidade é muito pequena...<br><br><div><span class="gmail_quote">Em 04/03/08, <b class="gmail_sendername">breno</b> <<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>> escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hahahahhahha adorei! Realmente, ainda não me acostumei com a notação<br> de }{, e bem que achei que estava usando variáveis demais. Acho que<br> estou mal acostumado com código legível, ainda sou muito cru pra golfe<br> com os campeões da PGA (Perl Golfers Association)<br>
<br> Mas e aí, Fernando... Vai deixar a Mlia te desbancar do trono???<br> <br> []s<br> <br> -b<br> <br> 2008/3/4 Fernando Oliveira <<a href="mailto:fernandocorrea@gmail.com">fernandocorrea@gmail.com</a>>:<br> <br>> Breno, dá p/ diminuir bem só no END...<br>
><br> > perl -ne 'push@a,$_ unless$v{$_}++;END{print sort@a}' lista.txt<br> ><br> > unless é muito grande...<br> ><br> > perl -ne 'push@a,$_ if!$v{$_}++;END{print sort@a}' lista.txt<br>
><br> > dá p/ tirar o END...<br> ><br> > perl -ne 'push@a,$_ if!$v{$_}++}{print sort@a' lista.txt<br> ><br> > acho q já diminuiu bastante... mas acho q o melhor seria usar hash... mas a<br> > mila já roubou a minha solução!<br>
><br> > Em 04/03/08, breno <<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>> escreveu:<br> > ><br> > ><br> > ><br> > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários<br>
> > arquivos aqui)<br> > ><br> > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um<br> > > arquivo no seguinte formato:<br> > ><br> > > -------------8<-----------------<br>
> > palavra1<br> > > palavra2<br> > > palavra3<br> > > ....<br> > > -------------8<-----------------<br> > ><br> > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES.<br>
> ><br> > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que<br> > > saiu minha tacada:<br> > ><br> > ><br> > > perl -ne 'push@a,$_ unless$v{$_}++;END{@a=sort@a;print@a}' lista.txt<br>
> > lista2.txt ...<br> > ><br> > ><br> > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve<br> > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem<br>
> > que desse jeito, ao contrário do código inicial, é possível passar<br> > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e<br> > > remover duplicadas como se tudo fosse um único arquivão.<br>
> ><br> > > Quem se habilita ao desafio?<br> > ><br> > > Dica: acho que trabalhando com concatenação de strings (ao invés de<br> > > push em lista) fica bem menor...<br> > ><br> > ><br>
> > []s<br> > ><br> > > -b<br> > ><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> > ><br> ><br> ><br> ><br> > --<br> > []'s Fernando<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> ><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>[]'s Fernando