From breno em rio.pm.org Tue Mar 4 06:39:10 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 11:39:10 -0300 Subject: [Rio-pm] Boas vindas! Message-ID: Pessoal, dêem as boas vindas ao Paulo, o mais novo integrante de nossa lista. Paulo, espero que vc aproveite ao máximo tanto o site quanto a lista, e não deixe de enviar dúvidas, soluções, comentários, enfim, tudo que quiser relacionado ao Perl! Ah, participe também dos nossos encontros sociais (tem um semana que vêm) e técnicos! []s -b From breno em rio.pm.org Tue Mar 4 10:34:00 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 15:34:00 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas Message-ID: Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários arquivos aqui) Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um arquivo no seguinte formato: -------------8<----------------- palavra1 palavra2 palavra3 .... -------------8<----------------- e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que saiu minha tacada: perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt lista2.txt ... 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem que desse jeito, ao contrário do código inicial, é possível passar quantos arquivos de lista de palavras tiverem, e ele vai ordenar e remover duplicadas como se tudo fosse um único arquivão. Quem se habilita ao desafio? Dica: acho que trabalhando com concatenação de strings (ao invés de push em lista) fica bem menor... []s -b From breno em rio.pm.org Tue Mar 4 11:01:20 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 16:01:20 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' 42 caracteres :-) Me ocorreu que a transição do sort era desnecessária assim que eu li meu próprio post :-) []s -b 2008/3/4 breno : > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > arquivos aqui) > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > arquivo no seguinte formato: > > -------------8<----------------- > palavra1 > palavra2 > palavra3 > .... > -------------8<----------------- > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > saiu minha tacada: > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > lista2.txt ... > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > que desse jeito, ao contrário do código inicial, é possível passar > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > remover duplicadas como se tudo fosse um único arquivão. > > Quem se habilita ao desafio? > > Dica: acho que trabalhando com concatenação de strings (ao invés de > push em lista) fica bem menor... > > > []s > > -b > From misskaapow em gmail.com Tue Mar 4 11:02:32 2008 From: misskaapow em gmail.com (camila m.) Date: Tue, 4 Mar 2008 16:02:32 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: perl -ne '$a{$_}++}{print sort keys%a' vou pensar em mais outro jeito... On 04/03/2008, breno wrote: > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > arquivos aqui) > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > arquivo no seguinte formato: > > -------------8<----------------- > palavra1 > palavra2 > palavra3 > .... > -------------8<----------------- > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > saiu minha tacada: > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > lista2.txt ... > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > que desse jeito, ao contrário do código inicial, é possível passar > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > remover duplicadas como se tudo fosse um único arquivão. > > Quem se habilita ao desafio? > > Dica: acho que trabalhando com concatenação de strings (ao invés de > push em lista) fica bem menor... > > > []s > > -b > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- camila m. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/f0f5f3e9/attachment.html From fernandocorrea em gmail.com Tue Mar 4 11:06:13 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:06:13 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: Breno, dá p/ diminuir bem só no END... perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' lista.txt unless é muito grande... perl -ne 'push em a,$_ if!$v{$_}++;END{print sort em a}' lista.txt dá p/ tirar o END... perl -ne 'push em a,$_ if!$v{$_}++}{print sort em a' lista.txt acho q já diminuiu bastante... mas acho q o melhor seria usar hash... mas a mila já roubou a minha solução! Em 04/03/08, breno escreveu: > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > arquivos aqui) > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > arquivo no seguinte formato: > > -------------8<----------------- > palavra1 > palavra2 > palavra3 > .... > -------------8<----------------- > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > saiu minha tacada: > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > lista2.txt ... > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > que desse jeito, ao contrário do código inicial, é possível passar > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > remover duplicadas como se tudo fosse um único arquivão. > > Quem se habilita ao desafio? > > Dica: acho que trabalhando com concatenação de strings (ao invés de > push em lista) fica bem menor... > > > []s > > -b > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/5a78a26d/attachment.html From mdacwb em gmail.com Tue Mar 4 11:07:17 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Tue, 4 Mar 2008 16:07:17 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: <42dcdd750803041104p3eb3f72n103460a30966dcd0@mail.gmail.com> References: <42dcdd750803041104p3eb3f72n103460a30966dcd0@mail.gmail.com> Message-ID: <42dcdd750803041107w2c86cc48v28a69ba61d46527a@mail.gmail.com> Ah! A Camila foi mais rapida no gatilho :D Mas, como eu gosto de usar Perl onde ele é a melhor solução... nesta dá para dar uns pontinhos pro Julio Neves ... ;) sort -u Sds, Marco Antonio Em 04/03/08, Marco A P D'Andrade escreveu: > 32 caracteres ;) > > perl -ne '$v{$_}++;END{print sort keys%v}' > > Pra que um array, se vc está controlando em hash ? > > > Em 04/03/08, breno escreveu: > > > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' > > > > 42 caracteres :-) > > > > Me ocorreu que a transição do sort era desnecessária assim que eu li > > meu próprio post :-) > > > > []s > > > > -b > > > > > > > > 2008/3/4 breno : > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > > arquivos aqui) > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > > arquivo no seguinte formato: > > > > > > -------------8<----------------- > > > palavra1 > > > palavra2 > > > palavra3 > > > .... > > > -------------8<----------------- > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > > saiu minha tacada: > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > > lista2.txt ... > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > > que desse jeito, ao contrário do código inicial, é possível passar > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > Quem se habilita ao desafio? > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > push em lista) fica bem menor... > > > > > > > > > []s > > > > > > -b > > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > From fernandocorrea em gmail.com Tue Mar 4 11:10:26 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:10:26 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! (e algumas partes do meu blog! (tipo "}{" duvidam? http://perl-e.org/blog/?p=5) ) Em 04/03/08, camila m. escreveu: > > perl -ne '$a{$_}++}{print sort keys%a' > > vou pensar em mais outro jeito... > > On 04/03/2008, breno wrote: > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > arquivos aqui) > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > arquivo no seguinte formato: > > > > -------------8<----------------- > > palavra1 > > palavra2 > > palavra3 > > .... > > -------------8<----------------- > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > REPETIÇÕES. > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > saiu minha tacada: > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > lista2.txt ... > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > que desse jeito, ao contrário do código inicial, é possível passar > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > remover duplicadas como se tudo fosse um único arquivão. > > > > Quem se habilita ao desafio? > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > push em lista) fica bem menor... > > > > > > []s > > > > -b > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > camila m. > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/c8fae18e/attachment-0001.html From misskaapow em gmail.com Tue Mar 4 11:11:00 2008 From: misskaapow em gmail.com (camila m.) Date: Tue, 4 Mar 2008 16:11:00 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: roubei foi o seu }{, que só você e o tal homem do perlmonks que eu vi o post lembram! hahahaha On 04/03/2008, Fernando Oliveira wrote: > > Breno, dá p/ diminuir bem só no END... > > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' lista.txt > > unless é muito grande... > > perl -ne 'push em a,$_ if!$v{$_}++;END{print sort em a}' lista.txt > > dá p/ tirar o END... > > perl -ne 'push em a,$_ if!$v{$_}++}{print sort em a' lista.txt > > acho q já diminuiu bastante... mas acho q o melhor seria usar hash... mas > a mila já roubou a minha solução! > > Em 04/03/08, breno escreveu: > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > arquivos aqui) > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > arquivo no seguinte formato: > > > > -------------8<----------------- > > palavra1 > > palavra2 > > palavra3 > > .... > > -------------8<----------------- > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > REPETIÇÕES. > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > saiu minha tacada: > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > lista2.txt ... > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > que desse jeito, ao contrário do código inicial, é possível passar > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > remover duplicadas como se tudo fosse um único arquivão. > > > > Quem se habilita ao desafio? > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > push em lista) fica bem menor... > > > > > > []s > > > > -b > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > []'s Fernando > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- camila m. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/0b1f7208/attachment.html From breno em rio.pm.org Tue Mar 4 11:11:36 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 16:11:36 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: Hahahahhahha adorei! Realmente, ainda não me acostumei com a notação de }{, e bem que achei que estava usando variáveis demais. Acho que estou mal acostumado com código legível, ainda sou muito cru pra golfe com os campeões da PGA (Perl Golfers Association) Mas e aí, Fernando... Vai deixar a Mlia te desbancar do trono??? []s -b 2008/3/4 Fernando Oliveira : > Breno, dá p/ diminuir bem só no END... > > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' lista.txt > > unless é muito grande... > > perl -ne 'push em a,$_ if!$v{$_}++;END{print sort em a}' lista.txt > > dá p/ tirar o END... > > perl -ne 'push em a,$_ if!$v{$_}++}{print sort em a' lista.txt > > acho q já diminuiu bastante... mas acho q o melhor seria usar hash... mas a > mila já roubou a minha solução! > > Em 04/03/08, breno escreveu: > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > arquivos aqui) > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > arquivo no seguinte formato: > > > > -------------8<----------------- > > palavra1 > > palavra2 > > palavra3 > > .... > > -------------8<----------------- > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > saiu minha tacada: > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > lista2.txt ... > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > que desse jeito, ao contrário do código inicial, é possível passar > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > remover duplicadas como se tudo fosse um único arquivão. > > > > Quem se habilita ao desafio? > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > push em lista) fica bem menor... > > > > > > []s > > > > -b > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > []'s Fernando > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From misskaapow em gmail.com Tue Mar 4 11:12:58 2008 From: misskaapow em gmail.com (camila m.) Date: Tue, 4 Mar 2008 16:12:58 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: hahaha da sua cabeça?! faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) On 04/03/2008, Fernando Oliveira wrote: > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! (e > algumas partes do meu blog! (tipo "}{" duvidam? > http://perl-e.org/blog/?p=5) ) > > Em 04/03/08, camila m. escreveu: > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > vou pensar em mais outro jeito... > > > > On 04/03/2008, breno wrote: > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > > arquivos aqui) > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > > arquivo no seguinte formato: > > > > > > -------------8<----------------- > > > palavra1 > > > palavra2 > > > palavra3 > > > .... > > > -------------8<----------------- > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > > REPETIÇÕES. > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > > saiu minha tacada: > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > > lista2.txt ... > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > > que desse jeito, ao contrário do código inicial, é possível passar > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > Quem se habilita ao desafio? > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > push em lista) fica bem menor... > > > > > > > > > []s > > > > > > -b > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > camila m. > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > []'s Fernando > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- camila m. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/f1d0c31f/attachment.html From mdacwb em gmail.com Tue Mar 4 11:04:29 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Tue, 4 Mar 2008 16:04:29 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: <42dcdd750803041104p3eb3f72n103460a30966dcd0@mail.gmail.com> 32 caracteres ;) perl -ne '$v{$_}++;END{print sort keys%v}' Pra que um array, se vc está controlando em hash ? Em 04/03/08, breno escreveu: > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' > > 42 caracteres :-) > > Me ocorreu que a transição do sort era desnecessária assim que eu li > meu próprio post :-) > > []s > > -b > > > > 2008/3/4 breno : > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > arquivos aqui) > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > arquivo no seguinte formato: > > > > -------------8<----------------- > > palavra1 > > palavra2 > > palavra3 > > .... > > -------------8<----------------- > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > saiu minha tacada: > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > lista2.txt ... > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > que desse jeito, ao contrário do código inicial, é possível passar > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > remover duplicadas como se tudo fosse um único arquivão. > > > > Quem se habilita ao desafio? > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > push em lista) fica bem menor... > > > > > > []s > > > > -b > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From fernandocorrea em gmail.com Tue Mar 4 11:14:46 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:14:46 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: 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... Em 04/03/08, breno escreveu: > > Hahahahhahha adorei! Realmente, ainda não me acostumei com a notação > de }{, e bem que achei que estava usando variáveis demais. Acho que > estou mal acostumado com código legível, ainda sou muito cru pra golfe > com os campeões da PGA (Perl Golfers Association) > > Mas e aí, Fernando... Vai deixar a Mlia te desbancar do trono??? > > []s > > -b > > 2008/3/4 Fernando Oliveira : > > > Breno, dá p/ diminuir bem só no END... > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' lista.txt > > > > unless é muito grande... > > > > perl -ne 'push em a,$_ if!$v{$_}++;END{print sort em a}' lista.txt > > > > dá p/ tirar o END... > > > > perl -ne 'push em a,$_ if!$v{$_}++}{print sort em a' lista.txt > > > > acho q já diminuiu bastante... mas acho q o melhor seria usar hash... > mas a > > mila já roubou a minha solução! > > > > Em 04/03/08, breno escreveu: > > > > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > > arquivos aqui) > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > > arquivo no seguinte formato: > > > > > > -------------8<----------------- > > > palavra1 > > > palavra2 > > > palavra3 > > > .... > > > -------------8<----------------- > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > REPETIÇÕES. > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > > saiu minha tacada: > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > > lista2.txt ... > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > > que desse jeito, ao contrário do código inicial, é possível passar > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > Quem se habilita ao desafio? > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > push em lista) fica bem menor... > > > > > > > > > []s > > > > > > -b > > > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > []'s Fernando > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/2a078535/attachment.html From a.r.ferreira em gmail.com Tue Mar 4 11:15:00 2008 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Tue, 4 Mar 2008 16:15:00 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: <73ddeb6c0803041115k4006c45eu44d67409d3ca12b8@mail.gmail.com> Ei, também quero participar. perl -e 'print sort grep!$h{$_}++,<>' Um a menos que: perl -ne '$a{$_}++}{print sort keys%a' 2008/3/4 camila m. : > hahaha da sua cabeça?! > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) > > > > On 04/03/2008, Fernando Oliveira wrote: > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! (e > algumas partes do meu blog! (tipo "}{" duvidam? > http://perl-e.org/blog/?p=5)) > > > > > > Em 04/03/08, camila m. escreveu: > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > > > arquivos aqui) > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > > > arquivo no seguinte formato: > > > > > > > > -------------8<----------------- > > > > palavra1 > > > > palavra2 > > > > palavra3 > > > > .... > > > > -------------8<----------------- > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > REPETIÇÕES. > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > > > saiu minha tacada: > > > > > > > > > > > > perl -ne 'push at a,$_ unless$v{$_}++;END{@a=sort at a;print at a}' lista.txt > > > > lista2.txt ... > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > > > que desse jeito, ao contrário do código inicial, é possível passar > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > Quem se habilita ao desafio? > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > > push em lista) fica bem menor... > > > > > > > > > > > > []s > > > > > > > > -b > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm at pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > -- > > > camila m. > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm at pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > []'s Fernando > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm at pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > camila m. > _______________________________________________ > Rio-pm mailing list > Rio-pm at pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From fernandocorrea em gmail.com Tue Mar 4 11:15:12 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:15:12 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: hahaha! Em 04/03/08, camila m. escreveu: > > hahaha da sua cabeça?! > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) > > On 04/03/2008, Fernando Oliveira wrote: > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! (e > > algumas partes do meu blog! (tipo "}{" duvidam? > > http://perl-e.org/blog/?p=5) ) > > > > Em 04/03/08, camila m. escreveu: > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > vou pensar em mais outro jeito... > > > > > > On 04/03/2008, breno wrote: > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder > > > > vários > > > > arquivos aqui) > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe > > > > um > > > > arquivo no seguinte formato: > > > > > > > > -------------8<----------------- > > > > palavra1 > > > > palavra2 > > > > palavra3 > > > > .... > > > > -------------8<----------------- > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > > > REPETIÇÕES. > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis > > > > que > > > > saiu minha tacada: > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > > > lista2.txt ... > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. > > > > Notem > > > > que desse jeito, ao contrário do código inicial, é possível passar > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > Quem se habilita ao desafio? > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > > push em lista) fica bem menor... > > > > > > > > > > > > []s > > > > > > > > -b > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > -- > > > camila m. > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > []'s Fernando > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > camila m. > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/9a7cfd20/attachment.html From fernandocorrea em gmail.com Tue Mar 4 11:16:54 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:16:54 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: <73ddeb6c0803041115k4006c45eu44d67409d3ca12b8@mail.gmail.com> References: <73ddeb6c0803041115k4006c45eu44d67409d3ca12b8@mail.gmail.com> Message-ID: parabéns! Adriano++ Em 04/03/08, Adriano Ferreira escreveu: > > Ei, também quero participar. > > > perl -e 'print sort grep!$h{$_}++,<>' > > Um a menos que: > > perl -ne '$a{$_}++}{print sort keys%a' > > > > 2008/3/4 camila m. : > > hahaha da sua cabeça?! > > > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) > > > > > > > > On 04/03/2008, Fernando Oliveira wrote: > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! > (e > > algumas partes do meu blog! (tipo "}{" duvidam? > > http://perl-e.org/blog/?p=5)) > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder > vários > > > > > arquivos aqui) > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que > recebe um > > > > > arquivo no seguinte formato: > > > > > > > > > > -------------8<----------------- > > > > > palavra1 > > > > > palavra2 > > > > > palavra3 > > > > > .... > > > > > -------------8<----------------- > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > REPETIÇÕES. > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis > que > > > > > saiu minha tacada: > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' > lista.txt > > > > > lista2.txt ... > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe > (salve > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. > Notem > > > > > que desse jeito, ao contrário do código inicial, é possível passar > > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés > de > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > []s > > > > > > > > > > -b > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > -- > > > > camila m. > > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > -- > > > []'s Fernando > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > -- > > camila m. > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/8cf33148/attachment-0001.html From breno em rio.pm.org Tue Mar 4 11:16:56 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 16:16:56 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: <42dcdd750803041107w2c86cc48v28a69ba61d46527a@mail.gmail.com> References: <42dcdd750803041104p3eb3f72n103460a30966dcd0@mail.gmail.com> <42dcdd750803041107w2c86cc48v28a69ba61d46527a@mail.gmail.com> Message-ID: Bah, mas a gente tá falando de desenvolver um programa que faça isso. Pensando assim poderiamos chamar o prog de "a" e fazer o Ultimate Shell Script: ./a e ganhamos o golfe com 1 caractere. A idéia é fazer um programa que resolva o problema. Usando os próprios recursos do shell, a sua resposta não ganha não: $ wc -c /usr/bin/sort 39736 /usr/bin/sort muito mais até do que a maior resposta :-) []s -b 2008/3/4 Marco A P D'Andrade : > Ah! > > A Camila foi mais rapida no gatilho :D > > Mas, como eu gosto de usar Perl onde ele é a melhor solução... nesta > dá para dar uns pontinhos pro Julio Neves ... ;) > > sort -u > > Sds, > Marco Antonio > > Em 04/03/08, Marco A P D'Andrade escreveu: > > 32 caracteres ;) > > > > perl -ne '$v{$_}++;END{print sort keys%v}' > > > > Pra que um array, se vc está controlando em hash ? > > > > > > Em 04/03/08, breno escreveu: > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' > > > > > > 42 caracteres :-) > > > > > > Me ocorreu que a transição do sort era desnecessária assim que eu li > > > meu próprio post :-) > > > > > > []s > > > > > > -b > > > > > > > > > > > > 2008/3/4 breno : > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > > > arquivos aqui) > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > > > arquivo no seguinte formato: > > > > > > > > -------------8<----------------- > > > > palavra1 > > > > palavra2 > > > > palavra3 > > > > .... > > > > -------------8<----------------- > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > > > saiu minha tacada: > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > > > lista2.txt ... > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > > > que desse jeito, ao contrário do código inicial, é possível passar > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > Quem se habilita ao desafio? > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > > push em lista) fica bem menor... > > > > > > > > > > > > []s > > > > > > > > -b > > > > > > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From mdacwb em gmail.com Tue Mar 4 11:21:07 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Tue, 4 Mar 2008 16:21:07 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: <42dcdd750803041104p3eb3f72n103460a30966dcd0@mail.gmail.com> <42dcdd750803041107w2c86cc48v28a69ba61d46527a@mail.gmail.com> Message-ID: <42dcdd750803041121p61053071i96e64d7290b01127@mail.gmail.com> Adriano++ Mas o que eu propus foi simplesmente: sort -u lista.txt Mesma abordagem do one-liner ! Ok... não se aplica em perl golf, mas é uma solução simples para o proglema ;) Sds, Marco Antonio Em 04/03/08, breno escreveu: > Bah, mas a gente tá falando de desenvolver um programa que faça isso. > Pensando assim poderiamos chamar o prog de "a" e fazer o Ultimate > Shell Script: > > ./a > > e ganhamos o golfe com 1 caractere. A idéia é fazer um programa que > resolva o problema. Usando os próprios recursos do shell, a sua > resposta não ganha não: > > $ wc -c /usr/bin/sort > 39736 /usr/bin/sort > > muito mais até do que a maior resposta :-) > > []s > > -b > > 2008/3/4 Marco A P D'Andrade : > > > Ah! > > > > A Camila foi mais rapida no gatilho :D > > > > Mas, como eu gosto de usar Perl onde ele é a melhor solução... nesta > > dá para dar uns pontinhos pro Julio Neves ... ;) > > > > sort -u > > > > Sds, > > Marco Antonio > > > > Em 04/03/08, Marco A P D'Andrade escreveu: > > > 32 caracteres ;) > > > > > > perl -ne '$v{$_}++;END{print sort keys%v}' > > > > > > Pra que um array, se vc está controlando em hash ? > > > > > > > > > Em 04/03/08, breno escreveu: > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' > > > > > > > > 42 caracteres :-) > > > > > > > > Me ocorreu que a transição do sort era desnecessária assim que eu li > > > > meu próprio post :-) > > > > > > > > []s > > > > > > > > -b > > > > > > > > > > > > > > > > 2008/3/4 breno : > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários > > > > > arquivos aqui) > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um > > > > > arquivo no seguinte formato: > > > > > > > > > > -------------8<----------------- > > > > > palavra1 > > > > > palavra2 > > > > > palavra3 > > > > > .... > > > > > -------------8<----------------- > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES. > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que > > > > > saiu minha tacada: > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > > > > lista2.txt ... > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem > > > > > que desse jeito, ao contrário do código inicial, é possível passar > > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > []s > > > > > > > > > > -b > > > > > > > > > > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From breno em rio.pm.org Tue Mar 4 11:18:02 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 16:18:02 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: Boa Adriano!!!! E aí? Quem dá menos??? 2008/3/4 Fernando Oliveira : > hahaha! > > > > Em 04/03/08, camila m. escreveu: > > hahaha da sua cabeça?! > > > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) > > > > > > > > On 04/03/2008, Fernando Oliveira wrote: > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! (e > algumas partes do meu blog! (tipo "}{" duvidam? > http://perl-e.org/blog/?p=5)) > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder > vários > > > > > arquivos aqui) > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe > um > > > > > arquivo no seguinte formato: > > > > > > > > > > -------------8<----------------- > > > > > palavra1 > > > > > palavra2 > > > > > palavra3 > > > > > .... > > > > > -------------8<----------------- > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > REPETIÇÕES. > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis > que > > > > > saiu minha tacada: > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' lista.txt > > > > > lista2.txt ... > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. > Notem > > > > > que desse jeito, ao contrário do código inicial, é possível passar > > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > []s > > > > > > > > > > -b > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > -- > > > > camila m. > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > -- > > > []'s Fernando > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > camila m. > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > []'s Fernando > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From a.r.ferreira em gmail.com Tue Mar 4 11:26:26 2008 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Tue, 4 Mar 2008 16:26:26 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: Message-ID: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> 2008/3/4 breno : > Boa Adriano!!!! E aí? Quem dá menos??? Dá para ordenar primeiro e daí tirar as duplicatas: perl -e 'print grep!$h{$_}++,sort<>' -1 caracter > 2008/3/4 Fernando Oliveira : > > > > hahaha! > > > > > > > > Em 04/03/08, camila m. escreveu: > > > hahaha da sua cabeça?! > > > > > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira wrote: > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! (e > > algumas partes do meu blog! (tipo "}{" duvidam? > > http://perl-e.org/blog/?p=5)) > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder > > vários > > > > > > arquivos aqui) > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe > > um > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > -------------8<----------------- > > > > > > palavra1 > > > > > > palavra2 > > > > > > palavra3 > > > > > > .... > > > > > > -------------8<----------------- > > > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > REPETIÇÕES. > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis > > que > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > perl -ne 'push at a,$_ unless$v{$_}++;END{@a=sort at a;print at a}' lista.txt > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve > > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos. > > Notem > > > > > > que desse jeito, ao contrário do código inicial, é possível passar > > > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e > > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > -b > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm at pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > camila m. > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm at pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > -- > > > > []'s Fernando > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm at pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > -- > > > camila m. > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm at pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > []'s Fernando > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm at pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm at pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From fernandocorrea em gmail.com Tue Mar 4 10:59:09 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 15:59:09 -0300 Subject: [Rio-pm] Boas vindas! In-Reply-To: References: Message-ID: Seja bem vindo! Seja bem vindo tb o Breno! Qto tempo vc não dá o ar da graça! Em 04/03/08, breno escreveu: > > Pessoal, > > dêem as boas vindas ao Paulo, o mais novo integrante de nossa lista. > Paulo, espero que vc aproveite ao máximo tanto o site quanto a lista, > e não deixe de enviar dúvidas, soluções, comentários, enfim, tudo que > quiser relacionado ao Perl! > > Ah, participe também dos nossos encontros sociais (tem um semana que > vêm) e técnicos! > > []s > > -b > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/babd2abd/attachment-0001.html From misskaapow em gmail.com Tue Mar 4 11:23:28 2008 From: misskaapow em gmail.com (camila m.) Date: Tue, 4 Mar 2008 16:23:28 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: <42dcdd750803041121p61053071i96e64d7290b01127@mail.gmail.com> References: <42dcdd750803041104p3eb3f72n103460a30966dcd0@mail.gmail.com> <42dcdd750803041107w2c86cc48v28a69ba61d46527a@mail.gmail.com> <42dcdd750803041121p61053071i96e64d7290b01127@mail.gmail.com> Message-ID: adriano++ mesmo! ;D On 04/03/2008, Marco A P D'Andrade wrote: > > Adriano++ > > Mas o que eu propus foi simplesmente: > > sort -u lista.txt > > Mesma abordagem do one-liner ! > > Ok... não se aplica em perl golf, mas é uma solução simples para o > proglema ;) > > Sds, > Marco Antonio > > > Em 04/03/08, breno escreveu: > > Bah, mas a gente tá falando de desenvolver um programa que faça isso. > > Pensando assim poderiamos chamar o prog de "a" e fazer o Ultimate > > Shell Script: > > > > ./a > > > > e ganhamos o golfe com 1 caractere. A idéia é fazer um programa que > > resolva o problema. Usando os próprios recursos do shell, a sua > > resposta não ganha não: > > > > $ wc -c /usr/bin/sort > > 39736 /usr/bin/sort > > > > muito mais até do que a maior resposta :-) > > > > []s > > > > -b > > > > 2008/3/4 Marco A P D'Andrade : > > > > > Ah! > > > > > > A Camila foi mais rapida no gatilho :D > > > > > > Mas, como eu gosto de usar Perl onde ele é a melhor solução... nesta > > > dá para dar uns pontinhos pro Julio Neves ... ;) > > > > > > sort -u > > > > > > Sds, > > > Marco Antonio > > > > > > Em 04/03/08, Marco A P D'Andrade escreveu: > > > > 32 caracteres ;) > > > > > > > > perl -ne '$v{$_}++;END{print sort keys%v}' > > > > > > > > Pra que um array, se vc está controlando em hash ? > > > > > > > > > > > > Em 04/03/08, breno escreveu: > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' > > > > > > > > > > 42 caracteres :-) > > > > > > > > > > Me ocorreu que a transição do sort era desnecessária assim que > eu li > > > > > meu próprio post :-) > > > > > > > > > > []s > > > > > > > > > > -b > > > > > > > > > > > > > > > > > > > > 2008/3/4 breno : > > > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de > perder vários > > > > > > arquivos aqui) > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas > que recebe um > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > -------------8<----------------- > > > > > > palavra1 > > > > > > palavra2 > > > > > > palavra3 > > > > > > .... > > > > > > -------------8<----------------- > > > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e > SEM REPETIÇÕES. > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... > e eis que > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' > lista.txt > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de > Golfe (salve > > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em > menos. Notem > > > > > > que desse jeito, ao contrário do código inicial, é possível > passar > > > > > > quantos arquivos de lista de palavras tiverem, e ele vai > ordenar e > > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao > invés de > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > -b > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- camila m. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/67ddb600/attachment.html From fernandocorrea em gmail.com Tue Mar 4 11:32:08 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:32:08 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> Message-ID: adriano, se importa se eu botar essa sua resposta no meu blog? Em 04/03/08, Adriano Ferreira escreveu: > > 2008/3/4 breno : > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > perl -e 'print grep!$h{$_}++,sort<>' > > -1 caracter > > > > 2008/3/4 Fernando Oliveira : > > > > > > > hahaha! > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > hahaha da sua cabeça?! > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira wrote: > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha > cabeça! (e > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > http://perl-e.org/blog/?p=5)) > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de > perder > > > vários > > > > > > > arquivos aqui) > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que > recebe > > > um > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > palavra1 > > > > > > > palavra2 > > > > > > > palavra3 > > > > > > > .... > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > > REPETIÇÕES. > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e > eis > > > que > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a;print em a}' > lista.txt > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe > (salve > > > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em > menos. > > > Notem > > > > > > > que desse jeito, ao contrário do código inicial, é possível > passar > > > > > > > quantos arquivos de lista de palavras tiverem, e ele vai > ordenar e > > > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao > invés de > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > -b > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm em pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > camila m. > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm em pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > []'s Fernando > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > -- > > > > camila m. > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > -- > > > []'s Fernando > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/f43878a9/attachment-0001.html From a.r.ferreira em gmail.com Tue Mar 4 11:36:02 2008 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Tue, 4 Mar 2008 16:36:02 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> Message-ID: <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> 2008/3/4 Fernando Oliveira : > adriano, se importa se eu botar essa sua resposta no meu blog? Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um fato histórico para mim. E eu disse "passar perto" porque eu acho que tem jeito de encolher mais. Qual a URL de seu blog mesmo? > > Em 04/03/08, Adriano Ferreira escreveu: > > > 2008/3/4 breno : > > > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > > > perl -e 'print grep!$h{$_}++,sort<>' > > > > -1 caracter > > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > hahaha! > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > hahaha da sua cabeça?! > > > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;) > > > > > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira wrote: > > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha > cabeça! (e > > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > > http://perl-e.org/blog/?p=5)) > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de > perder > > > > vários > > > > > > > > arquivos aqui) > > > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que > recebe > > > > um > > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > palavra1 > > > > > > > > palavra2 > > > > > > > > palavra3 > > > > > > > > .... > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM > > > > REPETIÇÕES. > > > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e > eis > > > > que > > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > > > > perl -ne 'push at a,$_ unless$v{$_}++;END{@a=sort at a;print at a}' > lista.txt > > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe > (salve > > > > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em > menos. > > > > Notem > > > > > > > > que desse jeito, ao contrário do código inicial, é possível > passar > > > > > > > > quantos arquivos de lista de palavras tiverem, e ele vai > ordenar e > > > > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings (ao > invés de > > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > -b > > > > > > > > _______________________________________________ > > > > > > > > Rio-pm mailing list > > > > > > > > Rio-pm at pm.org > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > camila m. > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm at pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > []'s Fernando > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm at pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > camila m. > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm at pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > -- > > > > []'s Fernando > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm at pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm at pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm at pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > []'s Fernando > _______________________________________________ > Rio-pm mailing list > Rio-pm at pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From fernandocorrea em gmail.com Tue Mar 4 11:43:05 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:43:05 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> Message-ID: vcs me desculpem, mas eu vou apelar... perl -E 'say grep!$h{$_}++,sort<>' lista.txt perl5.10... Em 04/03/08, Fernando Oliveira escreveu: > > http://perl-e.org > > Em 04/03/08, Adriano Ferreira escreveu: > > > > 2008/3/4 Fernando Oliveira : > > > > > adriano, se importa se eu botar essa sua resposta no meu blog? > > > > > > Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um > > fato histórico para mim. E eu disse "passar perto" porque eu acho que > > tem jeito de encolher mais. > > > > Qual a URL de seu blog mesmo? > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > > > 2008/3/4 breno : > > > > > > > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > > > > > > > > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > > > > > > > perl -e 'print grep!$h{$_}++,sort<>' > > > > > > > > -1 caracter > > > > > > > > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > > > > > > > hahaha! > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > hahaha da sua cabeça?! > > > > > > > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel > > alumínio! ;) > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira > > wrote: > > > > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da > > minha > > > cabeça! (e > > > > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > > > > http://perl-e.org/blog/?p=5) ) > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de > > > perder > > > > > > vários > > > > > > > > > > arquivos aqui) > > > > > > > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 > > linhas que > > > recebe > > > > > > um > > > > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > palavra1 > > > > > > > > > > palavra2 > > > > > > > > > > palavra3 > > > > > > > > > > .... > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE > > e SEM > > > > > > REPETIÇÕES. > > > > > > > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 > > linha... e > > > eis > > > > > > que > > > > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a > > ;print em a}' > > > lista.txt > > > > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de > > Golfe > > > (salve > > > > > > > > > > salve mestre Fernando), tenho certeza que dá pra fazer > > em > > > menos. > > > > > > Notem > > > > > > > > > > que desse jeito, ao contrário do código inicial, é > > possível > > > passar > > > > > > > > > > quantos arquivos de lista de palavras tiverem, e ele > > vai > > > ordenar e > > > > > > > > > > remover duplicadas como se tudo fosse um único > > arquivão. > > > > > > > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings > > (ao > > > invés de > > > > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > > > > > -b > > > > > > > > > > _______________________________________________ > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > camila m. > > > > > > > > > _______________________________________________ > > > > > > > > > Rio-pm mailing list > > > > > > > > > Rio-pm em pm.org > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > []'s Fernando > > > > > > > > _______________________________________________ > > > > > > > > Rio-pm mailing list > > > > > > > > Rio-pm em pm.org > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > camila m. > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm em pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > []'s Fernando > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm em pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > -- > > > []'s Fernando > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > []'s Fernando -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/4898ae1f/attachment-0001.html From fernandocorrea em gmail.com Tue Mar 4 11:45:15 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:45:15 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> Message-ID: isso valeu? Em 04/03/08, Fernando Oliveira escreveu: > > vcs me desculpem, mas eu vou apelar... > > perl -E 'say grep!$h{$_}++,sort<>' lista.txt > > perl5.10... > > Em 04/03/08, Fernando Oliveira escreveu: > > > > http://perl-e.org > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > adriano, se importa se eu botar essa sua resposta no meu blog? > > > > > > > > > Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um > > > fato histórico para mim. E eu disse "passar perto" porque eu acho que > > > tem jeito de encolher mais. > > > > > > Qual a URL de seu blog mesmo? > > > > > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > > > > > 2008/3/4 breno : > > > > > > > > > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > > > > > > > > > > > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > > > > > > > > > perl -e 'print grep!$h{$_}++,sort<>' > > > > > > > > > > -1 caracter > > > > > > > > > > > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > > > > > > > > > > hahaha! > > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > hahaha da sua cabeça?! > > > > > > > > > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel > > > alumínio! ;) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira > > > wrote: > > > > > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da > > > minha > > > > cabeça! (e > > > > > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > > > > > http://perl-e.org/blog/?p=5) > > > ) > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei > > > de > > > > perder > > > > > > > vários > > > > > > > > > > > arquivos aqui) > > > > > > > > > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 > > > linhas que > > > > recebe > > > > > > > um > > > > > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > palavra1 > > > > > > > > > > > palavra2 > > > > > > > > > > > palavra3 > > > > > > > > > > > .... > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > > > > > > > > > e retorna uma lista com todas as palavras > > > ORDENADAMENTE e SEM > > > > > > > REPETIÇÕES. > > > > > > > > > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 > > > linha... e > > > > eis > > > > > > > que > > > > > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a > > > ;print em a}' > > > > lista.txt > > > > > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido > > > de Golfe > > > > (salve > > > > > > > > > > > salve mestre Fernando), tenho certeza que dá pra > > > fazer em > > > > menos. > > > > > > > Notem > > > > > > > > > > > que desse jeito, ao contrário do código inicial, é > > > possível > > > > passar > > > > > > > > > > > quantos arquivos de lista de palavras tiverem, e ele > > > vai > > > > ordenar e > > > > > > > > > > > remover duplicadas como se tudo fosse um único > > > arquivão. > > > > > > > > > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de > > > strings (ao > > > > invés de > > > > > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > > > > > > > -b > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > camila m. > > > > > > > > > > _______________________________________________ > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > []'s Fernando > > > > > > > > > _______________________________________________ > > > > > > > > > Rio-pm mailing list > > > > > > > > > Rio-pm em pm.org > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > camila m. > > > > > > > > _______________________________________________ > > > > > > > > Rio-pm mailing list > > > > > > > > Rio-pm em pm.org > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > []'s Fernando > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm em pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm em pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > -- > > > > []'s Fernando > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > []'s Fernando > > > > > -- > []'s Fernando -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/a2ad5774/attachment.html From fernandocorrea em gmail.com Tue Mar 4 11:39:19 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:39:19 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> Message-ID: http://perl-e.org Em 04/03/08, Adriano Ferreira escreveu: > > 2008/3/4 Fernando Oliveira : > > > adriano, se importa se eu botar essa sua resposta no meu blog? > > > Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um > fato histórico para mim. E eu disse "passar perto" porque eu acho que > tem jeito de encolher mais. > > Qual a URL de seu blog mesmo? > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > 2008/3/4 breno : > > > > > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > > > > > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > > > > > perl -e 'print grep!$h{$_}++,sort<>' > > > > > > -1 caracter > > > > > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > > > > hahaha! > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > hahaha da sua cabeça?! > > > > > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel alumínio! > ;) > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira > wrote: > > > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha > > cabeça! (e > > > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > > > http://perl-e.org/blog/?p=5)) > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de > > perder > > > > > vários > > > > > > > > > arquivos aqui) > > > > > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas > que > > recebe > > > > > um > > > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > palavra1 > > > > > > > > > palavra2 > > > > > > > > > palavra3 > > > > > > > > > .... > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e > SEM > > > > > REPETIÇÕES. > > > > > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 > linha... e > > eis > > > > > que > > > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > > > > > > > perl -ne 'push em a,$_ unless$v{$_}++;END{@a=sort em a > ;print em a}' > > lista.txt > > > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de > Golfe > > (salve > > > > > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em > > menos. > > > > > Notem > > > > > > > > > que desse jeito, ao contrário do código inicial, é > possível > > passar > > > > > > > > > quantos arquivos de lista de palavras tiverem, e ele vai > > ordenar e > > > > > > > > > remover duplicadas como se tudo fosse um único arquivão. > > > > > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings > (ao > > invés de > > > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > > > -b > > > > > > > > > _______________________________________________ > > > > > > > > > Rio-pm mailing list > > > > > > > > > Rio-pm em pm.org > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > camila m. > > > > > > > > _______________________________________________ > > > > > > > > Rio-pm mailing list > > > > > > > > Rio-pm em pm.org > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > []'s Fernando > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm em pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > camila m. > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm em pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > []'s Fernando > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > []'s Fernando > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/6a22cdc1/attachment-0001.html From a.r.ferreira em gmail.com Tue Mar 4 11:47:57 2008 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Tue, 4 Mar 2008 16:47:57 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> Message-ID: <73ddeb6c0803041147q1fd6e619t31910ef8de1506ca@mail.gmail.com> 2008/3/4 Fernando Oliveira : > vcs me desculpem, mas eu vou apelar... > > perl -E 'say grep!$h{$_}++,sort<>' lista.txt > > perl5.10... Bonito! Eu tinha me esquecido do -E e fiquei imaginando como habilitar o 'say' com um mínimo. Eu acho que valeu. Muito embora quase ninguém tenha o 5.10.0 instalado e em produção ainda. > Em 04/03/08, Fernando Oliveira escreveu: > > http://perl-e.org > > > > > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > 2008/3/4 Fernando Oliveira : > > > > > > > adriano, se importa se eu botar essa sua resposta no meu blog? > > > > > > > > > Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um > > > fato histórico para mim. E eu disse "passar perto" porque eu acho que > > > tem jeito de encolher mais. > > > > > > Qual a URL de seu blog mesmo? > > > > > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > > > > > 2008/3/4 breno : > > > > > > > > > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > > > > > > > > > > > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > > > > > > > > > perl -e 'print grep!$h{$_}++,sort<>' > > > > > > > > > > -1 caracter > > > > > > > > > > > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > > > > > > > > > > hahaha! > > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > hahaha da sua cabeça?! > > > > > > > > > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel > alumínio! ;) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira > wrote: > > > > > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da > minha > > > > cabeça! (e > > > > > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > > > > > http://perl-e.org/blog/?p=5)) > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de > > > > perder > > > > > > > vários > > > > > > > > > > > arquivos aqui) > > > > > > > > > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 > linhas que > > > > recebe > > > > > > > um > > > > > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > palavra1 > > > > > > > > > > > palavra2 > > > > > > > > > > > palavra3 > > > > > > > > > > > .... > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > > > > > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE > e SEM > > > > > > > REPETIÇÕES. > > > > > > > > > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 > linha... e > > > > eis > > > > > > > que > > > > > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > perl -ne 'push at a,$_ > unless$v{$_}++;END{@a=sort at a;print at a}' > > > > lista.txt > > > > > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido de > Golfe > > > > (salve > > > > > > > > > > > salve mestre Fernando), tenho certeza que dá pra fazer > em > > > > menos. > > > > > > > Notem > > > > > > > > > > > que desse jeito, ao contrário do código inicial, é > possível > > > > passar > > > > > > > > > > > quantos arquivos de lista de palavras tiverem, e ele > vai > > > > ordenar e > > > > > > > > > > > remover duplicadas como se tudo fosse um único > arquivão. > > > > > > > > > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de strings > (ao > > > > invés de > > > > > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > > > > > > > -b > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > > Rio-pm at pm.org > > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > camila m. > > > > > > > > > > _______________________________________________ > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > Rio-pm at pm.org > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > []'s Fernando > > > > > > > > > _______________________________________________ > > > > > > > > > Rio-pm mailing list > > > > > > > > > Rio-pm at pm.org > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > camila m. > > > > > > > > _______________________________________________ > > > > > > > > Rio-pm mailing list > > > > > > > > Rio-pm at pm.org > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > []'s Fernando > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm at pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm at pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm at pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > -- > > > > []'s Fernando > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm at pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm at pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > -- > > []'s Fernando > > > > -- > []'s Fernando > _______________________________________________ > Rio-pm mailing list > Rio-pm at pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From listas em istf.com.br Tue Mar 4 11:50:02 2008 From: listas em istf.com.br (Marcos Machado) Date: Tue, 04 Mar 2008 16:50:02 -0300 Subject: [Rio-pm] Tecla pressionada In-Reply-To: References: <47BACCD8.6030802@istf.com.br> <47BB44C6.9060209@istf.com.br> Message-ID: <47CDA7EA.2070000@istf.com.br> Bom, acabei encontrando algo que me atende bem. O código abaixo mostra a tecla pressionada e a tecla solta. Um efeito que não previa é a possibilidade de saber quando uma "tecla cinza" é pressionada como, por exemplo, o shift, coisa que não é possível lendo pelo terminal. Pode parecer óbvio para quem já programou nesse ambiente. Para mim é tudo novidade. :) use Tk; $top = MainWindow->new(); $frame = $top->Frame( -height => "2c", -width => "2c" ); $frame->pack; $top->bind("" => sub { my $c = shift; my $e = $c->XEvent; print "Pressionada = ", $e->K, "$/"; }); $top->bind("" => sub { my $c = shift; my $e = $c->XEvent; print "Liberada = ", $e->K, "$/"; }); MainLoop(); Se quiser testar um evento de "release" de tecla mais longo, execute antes o comando "xset -r" para desligar a repetição da tecla quando ela é pressionada por muito tempo. Obs: Logo percebe-se que Ctrl+C é inútil para encerrar o programa. Fechar a janelinha que ele abre é o suficiente. []s, MM Fernando Oliveira escreveu: > será q vc não pode fazer algo parecido com isso?: > > use Term::ReadKey; > > ReadMode 4; > while (($key = ReadKey(-1)) ne "q") {for(keys %time){delete $time{$_} if > time - $time{$_} > $vezes}next unless defined > $key;$time{$key}=time,$vezes=1 unless defined $time{$key};delete > @time{grep {$_ ne $key} keys %time}; $vezes++ if time - $time{$key} <= > $valor;delete $time{$key}, undef $vezes, print "$key foi pressionado por > 5 segundos$/" if time - $time{$key} == 5}END{ReadMode 0;} > > > Em 19/02/08, *Marcos Machado* > escreveu: > > Hmmmm... Obrigado pela luz! > > Vou experimentar estas idéias. > > O fato de precisar mapear uma tecla específica com um evento é ruim, > pois não sei o que será pressionado e, em qualquer tecla, a rotina > executada é a mesma. > > Outra coisa que me preocupa é o processamento intrínseco destas > bibliotecas ou do próprio ambiente. O tempo que a tecla vai ficar > pressionada é muito, muito pequeno (imagina o tempo que cada tecla fica > pressionada enquanto você digita um texto) e vai complicar se ficarmos > muito dependente do processamento da máquina para me dar esse valor. > > Mas vou fazer uns testes e volto com o resultado. > > []s, MM > > > breno escreveu: > > Em Mac, seria assim: > > > > -----------------8<-------------------- > > use Mac::Events qw(@Event $CurrentEvent); > > > > $Event[keyDown] = \&trata_tecla_apertada; > > $Event[keyUp] = \&trata_tecla_solta; > > -----------------8<-------------------- > > > > E no Windows dá pra fazer assim: > > -----------------8<-------------------- > > use Win32::Console; > > > > $CONSOLE = new Win32::Console->new(STD_INPUT_HANDLE); > > > > do { > > @event = $CONSOLE->Input(); > > # [0] : tipo de evento (1 para teclado) > > # [1] : keydown (TRUE == tecla apertada, FALSE == tecla foi solta) > > # [2] : número de vezes que o Input retornou a tecla como > ainda apertada > > # [3] : virtual key code da tecla > > # [4] : virtual scan code da tecla > > # [5] : código ASCII do caractere apertado (ou 0 se nao for > caractere) > > # [6] : estado das teclas de controle (CTRL ALT SHIFT) > > > > # processa tecla enquanto está apertada > > ... > > > > } while ($event[0] == 1 and $event[1]); > > -----------------8<-------------------- > > > > E em SDL: > > -----------------8<-------------------- > > use SDL::Event; > > > > my $event = new SDL::Event; > > $event->pump; > > $event->poll; > > > > if ( $event->type == SDL::KEYDOWN ) { > > # tecla pressionada. Pra saber qual tecla, basta adicionar aqui: > > if ( $event->key_sym == SDLK_ESCAPE ) { # ou qq outra, brincando > > com key_sym > > ... > > } > > } > > if ( $event->type == SDL::KEYDOWN ) { > > # idem > > } > > -----------------8<-------------------- > > > > Mas direto num terminal linux.... não sei =P > > > > Provavelmente a obtenção de eventos tipo keydown/keyup esteja > > disponível amarrada a algum loop de eventos (já que a shell em si é, > > por padrão, orientada a stream de caracteres e não a eventos). Dentro > > do X é muito fácil (pois é um ambiente baseado em eventos), e qq > > biblioteca como Tk, GTK, Wx, ou mesmo acesso X "rawzão" resolve o seu > > problema. Pra terminal, loops de eventos pré-prontos podem te ajudar > > em sua saga. Nunca usei POE, mas ele é um que pode ter o que vc quer. > > E, se não me falha a memória, o Curses também tem (resta saber se a > > implementação do Curses.pm está completa em > relação à bilbioteca, já > > que a documentação deles foi bem preguiçosa). > > > > Não deixe de nos avisar sobre sua solução :-) > > > > []s > > > > -b > > > > 2008/2/19 Marcos Machado >: > >> Caros monges, > >> > >> Estou procurando uma forma de identificar uma tecla pressionada. O > >> exemplo abaixo me diz, tecla a tecla, o que foi digitado, sem > precisar > >> esperar o . > >> > >> > >> use Term::ReadKey; > >> open(TTY, " >> ReadMode "raw"; > >> while (ord $key != 10) # 10 = return/enter > >> { > >> $key = ReadKey 0, *TTY; > >> print "Voce pressionou a tecla $key (",ord $key,")", $/; > >> } > >> ReadMode "normal"; # restaura modo normal de leitura > >> > >> > >> Agora gostaria de descobrir por QUANTO TEMPO uma tecla se manteve > >> pressionada. Este método me tira da linha 6 assim que eu pressiono a > >> tecla. Preciso de um evento quando a tecla é pressionada e outro > quando > >> ela é solta. > >> > >> Alguma dica? > >> > >> Não precisa ser portável. Funcionando em Linux já tá bom demais. > >> > >> Obrigado pela atenção. > >> > >> []s, MM > >> _______________________________________________ > >> Rio-pm mailing list > >> Rio-pm em pm.org > >> http://mail.pm.org/mailman/listinfo/rio-pm > >> > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > -- > []'s Fernando > > > ------------------------------------------------------------------------ > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm From fernandocorrea em gmail.com Tue Mar 4 11:52:58 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 4 Mar 2008 16:52:58 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: <73ddeb6c0803041147q1fd6e619t31910ef8de1506ca@mail.gmail.com> References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> <73ddeb6c0803041147q1fd6e619t31910ef8de1506ca@mail.gmail.com> Message-ID: bom, eu tenho... Em 04/03/08, Adriano Ferreira escreveu: > > 2008/3/4 Fernando Oliveira : > > > vcs me desculpem, mas eu vou apelar... > > > > perl -E 'say grep!$h{$_}++,sort<>' lista.txt > > > > perl5.10... > > > Bonito! Eu tinha me esquecido do -E e fiquei imaginando como habilitar > o 'say' com um mínimo. > > Eu acho que valeu. Muito embora quase ninguém tenha o 5.10.0 instalado > e em produção ainda. > > > > Em 04/03/08, Fernando Oliveira escreveu: > > > http://perl-e.org > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > adriano, se importa se eu botar essa sua resposta no meu blog? > > > > > > > > > > > > Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um > > > > fato histórico para mim. E eu disse "passar perto" porque eu acho > que > > > > tem jeito de encolher mais. > > > > > > > > Qual a URL de seu blog mesmo? > > > > > > > > > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > > > > > > > 2008/3/4 breno : > > > > > > > > > > > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > > > > > > > > > > > > > > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > > > > > > > > > > > perl -e 'print grep!$h{$_}++,sort<>' > > > > > > > > > > > > -1 caracter > > > > > > > > > > > > > > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > > > > > > > > > > > > > hahaha! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > hahaha da sua cabeça?! > > > > > > > > > > > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel > > alumínio! ;) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira < > fernandocorrea em gmail.com> > > wrote: > > > > > > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da > > minha > > > > > cabeça! (e > > > > > > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > > > > > > http://perl-e.org/blog/?p=5)) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... > acabei de > > > > > perder > > > > > > > > vários > > > > > > > > > > > > arquivos aqui) > > > > > > > > > > > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 > > linhas que > > > > > recebe > > > > > > > > um > > > > > > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > palavra1 > > > > > > > > > > > > palavra2 > > > > > > > > > > > > palavra3 > > > > > > > > > > > > .... > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > > > > > > > > > > > e retorna uma lista com todas as palavras > ORDENADAMENTE > > e SEM > > > > > > > > REPETIÇÕES. > > > > > > > > > > > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 > > linha... e > > > > > eis > > > > > > > > que > > > > > > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > perl -ne 'push em a,$_ > > unless$v{$_}++;END{@a=sort em a;print em a}' > > > > > lista.txt > > > > > > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido > de > > Golfe > > > > > (salve > > > > > > > > > > > > salve mestre Fernando), tenho certeza que dá pra > fazer > > em > > > > > menos. > > > > > > > > Notem > > > > > > > > > > > > que desse jeito, ao contrário do código inicial, é > > possível > > > > > passar > > > > > > > > > > > > quantos arquivos de lista de palavras tiverem, e > ele > > vai > > > > > ordenar e > > > > > > > > > > > > remover duplicadas como se tudo fosse um único > > arquivão. > > > > > > > > > > > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de > strings > > (ao > > > > > invés de > > > > > > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > > > > > > > > > -b > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > camila m. > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > []'s Fernando > > > > > > > > > > _______________________________________________ > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > camila m. > > > > > > > > > _______________________________________________ > > > > > > > > > Rio-pm mailing list > > > > > > > > > Rio-pm em pm.org > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > []'s Fernando > > > > > > > > _______________________________________________ > > > > > > > > Rio-pm mailing list > > > > > > > > Rio-pm em pm.org > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm em pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm em pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > []'s Fernando > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > _______________________________________________ > > > > Rio-pm mailing list > > > > Rio-pm em pm.org > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > -- > > > []'s Fernando > > > > > > > > -- > > []'s Fernando > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- []'s Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/c29f9e81/attachment-0001.html From breno em rio.pm.org Tue Mar 4 11:59:43 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 16:59:43 -0300 Subject: [Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas In-Reply-To: References: <73ddeb6c0803041126m7f8c9ed8vadc1f0e8c297ba39@mail.gmail.com> <73ddeb6c0803041136q7012e668y962b9e8cebba4d76@mail.gmail.com> <73ddeb6c0803041147q1fd6e619t31910ef8de1506ca@mail.gmail.com> Message-ID: Claro que valeu! Agora foi a sua vez de ler a minha mente com o -E... []s -b (botando um cone de papel alumínio na cabeça) 2008/3/4 Fernando Oliveira : > bom, eu tenho... > > > > Em 04/03/08, Adriano Ferreira escreveu: > > 2008/3/4 Fernando Oliveira : > > > > > vcs me desculpem, mas eu vou apelar... > > > > > > perl -E 'say grep!$h{$_}++,sort<>' lista.txt > > > > > > perl5.10... > > > > > > Bonito! Eu tinha me esquecido do -E e fiquei imaginando como habilitar > > o 'say' com um mínimo. > > > > Eu acho que valeu. Muito embora quase ninguém tenha o 5.10.0 instalado > > e em produção ainda. > > > > > > > Em 04/03/08, Fernando Oliveira escreveu: > > > > http://perl-e.org > > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > > adriano, se importa se eu botar essa sua resposta no meu blog? > > > > > > > > > > > > > > > Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um > > > > > fato histórico para mim. E eu disse "passar perto" porque eu acho > que > > > > > tem jeito de encolher mais. > > > > > > > > > > Qual a URL de seu blog mesmo? > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, Adriano Ferreira escreveu: > > > > > > > > > > > > > 2008/3/4 breno : > > > > > > > > > > > > > > > Boa Adriano!!!! E aí? Quem dá menos??? > > > > > > > > > > > > > > > > > > > > > Dá para ordenar primeiro e daí tirar as duplicatas: > > > > > > > > > > > > > > perl -e 'print grep!$h{$_}++,sort<>' > > > > > > > > > > > > > > -1 caracter > > > > > > > > > > > > > > > > > > > > > > 2008/3/4 Fernando Oliveira : > > > > > > > > > > > > > > > > > > > > > > > > > hahaha! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > hahaha da sua cabeça?! > > > > > > > > > > > > > > > > > > > > faz que nem naquele filme, coloca um chapéu de papel > > > alumínio! ;) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, Fernando Oliveira > > > > wrote: > > > > > > > > > > > Mila, parabéns... mas vc sabe q roubou essa resposta da > > > minha > > > > > > cabeça! (e > > > > > > > > > algumas partes do meu blog! (tipo "}{" duvidam? > > > > > > > > > http://perl-e.org/blog/?p=5)) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Em 04/03/08, camila m. escreveu: > > > > > > > > > > > > > > > > > > > > > > > perl -ne '$a{$_}++}{print sort keys%a' > > > > > > > > > > > > > > > > > > > > > > > > vou pensar em mais outro jeito... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 04/03/2008, breno wrote: > > > > > > > > > > > > > Salve, pessoal! (Não, sério, salvem sempre... > acabei de > > > > > > perder > > > > > > > > > vários > > > > > > > > > > > > > arquivos aqui) > > > > > > > > > > > > > > > > > > > > > > > > > > Hoje vieram falar comigo com um código Perl de 11 > > > linhas que > > > > > > recebe > > > > > > > > > um > > > > > > > > > > > > > arquivo no seguinte formato: > > > > > > > > > > > > > > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > palavra1 > > > > > > > > > > > > > palavra2 > > > > > > > > > > > > > palavra3 > > > > > > > > > > > > > .... > > > > > > > > > > > > > -------------8<----------------- > > > > > > > > > > > > > > > > > > > > > > > > > > e retorna uma lista com todas as palavras > ORDENADAMENTE > > > e SEM > > > > > > > > > REPETIÇÕES. > > > > > > > > > > > > > > > > > > > > > > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 > > > linha... e > > > > > > eis > > > > > > > > > que > > > > > > > > > > > > > saiu minha tacada: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > perl -ne 'push em a,$_ > > > unless$v{$_}++;END{@a=sort em a;print em a}' > > > > > > lista.txt > > > > > > > > > > > > > lista2.txt ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 47 caracteres. Mas como não sou um praticante ávido > de > > > Golfe > > > > > > (salve > > > > > > > > > > > > > salve mestre Fernando), tenho certeza que dá pra > fazer > > > em > > > > > > menos. > > > > > > > > > Notem > > > > > > > > > > > > > que desse jeito, ao contrário do código inicial, é > > > possível > > > > > > passar > > > > > > > > > > > > > quantos arquivos de lista de palavras tiverem, e > ele > > > vai > > > > > > ordenar e > > > > > > > > > > > > > remover duplicadas como se tudo fosse um único > > > arquivão. > > > > > > > > > > > > > > > > > > > > > > > > > > Quem se habilita ao desafio? > > > > > > > > > > > > > > > > > > > > > > > > > > Dica: acho que trabalhando com concatenação de > strings > > > (ao > > > > > > invés de > > > > > > > > > > > > > push em lista) fica bem menor... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > > > > > > > > > > > -b > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > camila m. > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > []'s Fernando > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > camila m. > > > > > > > > > > _______________________________________________ > > > > > > > > > > Rio-pm mailing list > > > > > > > > > > Rio-pm em pm.org > > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > []'s Fernando > > > > > > > > > _______________________________________________ > > > > > > > > > Rio-pm mailing list > > > > > > > > > Rio-pm em pm.org > > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > Rio-pm mailing list > > > > > > > > Rio-pm em pm.org > > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Rio-pm mailing list > > > > > > > Rio-pm em pm.org > > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > []'s Fernando > > > > > > _______________________________________________ > > > > > > Rio-pm mailing list > > > > > > Rio-pm em pm.org > > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > _______________________________________________ > > > > > Rio-pm mailing list > > > > > Rio-pm em pm.org > > > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > > > > > > > > > > > > -- > > > > []'s Fernando > > > > > > > > > > > > -- > > > []'s Fernando > > > _______________________________________________ > > > Rio-pm mailing list > > > Rio-pm em pm.org > > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > -- > []'s Fernando > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > From breno em rio.pm.org Tue Mar 4 12:00:48 2008 From: breno em rio.pm.org (breno) Date: Tue, 4 Mar 2008 17:00:48 -0300 Subject: [Rio-pm] Boas vindas! In-Reply-To: References: Message-ID: Hahahhahaha verdade... o trabalho tem me tomado mto tempo :-( 2008/3/4 Fernando Oliveira : > Seja bem vindo! > > Seja bem vindo tb o Breno! Qto tempo vc não dá o ar da graça! > > Em 04/03/08, breno escreveu: > > > > > > > > Pessoal, > > > > dêem as boas vindas ao Paulo, o mais novo integrante de nossa lista. > > Paulo, espero que vc aproveite ao máximo tanto o site quanto a lista, > > e não deixe de enviar dúvidas, soluções, comentários, enfim, tudo que > > quiser relacionado ao Perl! > > > > Ah, participe também dos nossos encontros sociais (tem um se