From breno em rio.pm.org Mon Apr 21 13:33:25 2014 From: breno em rio.pm.org (breno) Date: Mon, 21 Apr 2014 17:33:25 -0300 Subject: [Brasil-PM] =?utf-8?q?M=C3=BAsica=3A_Perl-Operated_Boy?= Message-ID: A "Psyche Corp" é um projeto musical girando em torno de cyberpunk, steampunk e fantasias sombrias. Nos últimos dias eles lançaram uma nova música, "Perl-Operated Boy", uma adaptação "filk" da música "Coin-Operated Boy" do Dresden Dolls. http://youtu.be/eT6yjrLe4_U Pra quem quiser cantar junto, a letra segue abaixo! []s -b ------ Perl-operated boy Sitting on a drive, he's a Unix toy I hit execute, and he comes to life automatic joy That is why I wrote a Perl-operated boy He can be a lot like C multi-purpose and convenient who could ever ever ask for more? love without complications galore Yes sometimes when we are ..hugging He will die, and need debugging object-oriented he can be yet sometimes he won't orient to me Perl-operated boy all the other real ones that i destroy cannot hold a candle to my new boy and i'll never let him go and i'll never be alone and I'll never let him go, and I'll never be alone-Go and I'll never be alone- GO and I'll never be alone- GO and I'll never be alone- GO I'll never be alone- not with my Perl-operated boy ......this bridge was written to make you feel smittener with my sad picture of cryptic love figure can you extract me from my complex syntactics i didn't think so but i'm still convinceable will you insist object-orientation is better in other linguistic formations and will you persist by proceeding to bet me a billion dollars that Python is easy will you claim there's a chance for straight-forward romance (slash programming) i want it I want you i want a i want a ...Perl-operated boy. ..and if i had a star to wish on for my life i cant imagine any boyfriend using that much RAM in our bed he's such a ...gentle-man. Perl-operated boy he may not be real experienced with 'borgs but i know he feels like a boy should feel isn't that the point that is why i want a Perl-operated boy with his synthy Perl-operated voice saying that he loves me that he's thinking of me straight and to the point that is why i wrote a Perl-operated boy. From renato.cron em gmail.com Mon Apr 21 19:31:37 2014 From: renato.cron em gmail.com (Renato Santos) Date: Mon, 21 Apr 2014 23:31:37 -0300 Subject: [Brasil-PM] =?utf-8?q?M=C3=BAsica=3A_Perl-Operated_Boy?= In-Reply-To: References: Message-ID: HAHAHAHA demais! On Mon, Apr 21, 2014 at 5:33 PM, breno wrote: > A "Psyche Corp" é um projeto musical girando em torno de cyberpunk, > steampunk e fantasias sombrias. Nos últimos dias eles lançaram uma > nova música, "Perl-Operated Boy", uma adaptação "filk" da música > "Coin-Operated Boy" do Dresden Dolls. > > http://youtu.be/eT6yjrLe4_U > > Pra quem quiser cantar junto, a letra segue abaixo! > > []s > > -b > > ------ > Perl-operated boy > Sitting on a drive, he's a Unix toy > I hit execute, and he comes to life > automatic joy > > That is why I wrote a Perl-operated boy > > He can be a lot like C > multi-purpose and convenient > who could ever ever ask for more? > love without complications galore > > Yes sometimes when we are ..hugging > He will die, and need debugging > object-oriented he can be > yet sometimes he won't orient to me > > Perl-operated boy > all the other real ones that i destroy > cannot hold a candle to my new boy and i'll > never let him go and i'll never be alone > > and I'll never let him go, and I'll never be alone-Go > and I'll never be alone- GO > and I'll never be alone- GO > and I'll never be alone- GO > I'll never be alone- > not with my Perl-operated boy > > ......this bridge was written to make you feel smittener > with my sad picture of cryptic love figure > can you extract me from my complex syntactics > i didn't think so but i'm still convinceable > > will you insist object-orientation > is better in other linguistic formations > and will you persist by proceeding to bet me > a billion dollars that Python is easy > > will you claim there's a chance > for straight-forward romance > (slash programming) > i want it > I want you > i want a > i want a ...Perl-operated boy. > > ..and if i had a star to wish on > for my life i cant imagine > any boyfriend using that much RAM > in our bed he's such a ...gentle-man. > > Perl-operated boy > he may not be real experienced with 'borgs > but i know he feels > like a boy should feel > isn't that the point > > that is why i want a > Perl-operated boy > > with his synthy Perl-operated voice > saying that he loves me > that he's thinking of me > straight and to the point > that is why i wrote > a Perl-operated boy. > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm > -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From nuba em fastmail.fm Sun May 18 23:55:47 2014 From: nuba em fastmail.fm (Nuba Princigalli) Date: Mon, 19 May 2014 03:55:47 -0300 Subject: [Brasil-PM] Fwd: Re: [SP-pm] ESX - Cervejaria Nacional Message-ID: <1400482547.14768.118908145.29387C0B@webmail.messagingengine.com> A quem interessar: está rolando essa thread na saopaulo-pm. ----- Original message ----- From: Nuba Princigalli <[1]nuba em fastmail.fm> To: [2]saopaulo-pm em pm.org Subject: Re: [SP-pm] ESX - Cervejaria Nacional Date: Mon, 19 May 2014 03:52:17 -0300 É como o Fernando disse. Deja-vu total. Na esperança de evitar mais uma repetição, e de tentar aprender com os erros anteriores, comento sobre o que rolou quando essa discussão surgiu pela primeira vez (para mim) em 2010-2011, e como a coisa também não se desenrolou... A falta de um CNPJ próprio é inconveniente em diversas situações, mas nunca foi um impeditivo. Especialmente não para a nossa turma, cheia de sevirol e capacidade de encontrar hacks e workarounds. Quando foi preciso um CNPJ para aceitar pagamentos no YAPC::Brasil, o Thiago Rondon sempre esteve à postos com a Aware, e deu tudo certo. Quando se discutiu a necessidade de termos uma entidade pública, sem fins lucrativos, eu estava à postos com o Instituto Aviva, iniciativa do meu pai, que atua com projetos culturais, em Belo Horizonte, MG. Ofereci até a alteração do nosso estatuto, para incluir "atuação na comunidade brasileira de software livre" como um dos objetivos do Instituto Aviva. Isso permitira criarmos um fundo só pras nossas iniciativas, com seus próprios objetivos, gestores, conta corrente e prestação de contas independente das outras ações do Instituto Aviva. As empresas brasileiras amigas do Perl poderiam doar direto para o fundo, e a gente teria facilidade em usar esse dinheiro, desde que o uso estivesse alinhado com os objetivos do fundo, que a princípio seriam a realização dos nossos eventos e a oferta de bolsas, para membros da comunidade trabalharem em projetos de interesse de todo o grupo. A referência era o que a YAPC Foundation faz lá fora: A comunidade faria o show acontecer, e o Instituto Aviva faria o dinheiro chegar onde necessário, absorvendo o overhead contábil e administrativo. Não houve interesse, e depois de um tempo, também parei de insistir... Ao invés disso, rolou um intenso e prolongado ciclo de discussões sobre a nossa futura entidade, formalizada, com membros fundadores, estatuto baseado no Garoa Hacker Club, etc... O processo na época estava sendo conduzido pelo Leonardo Ruoso, e o Eden Cardim assumiu a liderança desse projeto pouco depois depois de sair da organização do YAPC::Brasil 2011 (seria em SP, acabou sendo pro Rio). E a coisa ficou mais ou menos encaminhada, pendente apenas nos reunirmos presencialmente, para acertar os detalhes, em alguma data e local a serem definidos futuramente, quando o YAPC::Brasil estivesse mais próximo... No final, o tempo passou, e a discussão esfriou, mais uma vez. Seria muito legal ver o ciclo se romper e algo diferente acontecer. Abraço, Nuba On Sun, May 18, 2014, at 07:47 PM, Fernando Correa wrote: Ola Eu acho que essa deve ser a 4a ou 5a vez que eu escuto sobre esse tipo de ideia, inclusive 1 dessas vezes foi sugerida por mim (se eu bem me lembro). A diferença é que nas outras a ideia era algo mais nacional. Mas pq será que nenhuma dessas tentativas foi pra frente? Eu não sei dizer, nem sei se devia estar me metendo no assunto... Mas acho que descobrir essa resposta é um bom começo... Em 18/05/2014 16:18, Thiago Rondon escreveu: Penso da mesma maneira, creio o que falta é alguém para puxar o bonde e fazer acontecer. Abs! -Thiago Rondon 2014-05-18 15:47 GMT-03:00 Blabos de Blebe : Olá, Na minha visão idealista e carente de álcool, sem levar em consideração aspectos práticos, eu gostaria que houvesse uma entidade *local* com o seguinte propósito: "Fomentar o uso de Perl no mercado e na academia" Que fosse dissociada da comunidade, ainda que com 100% de sobreposição dos membros, e consequentemente atuando nos pontos que o Ruoso citou, como dar "suporte" a quem quisesse ministrar ou contratar treinamentos, eventualmente fazendo o meio de campo entre quem quisesse fornecer ou contratar serviços, ajudar nas questões burocráticas relacionadas a eventos, etc. Pra mim o objetivo do grupo é ligeiramente diferente do objetivo que teria uma associação. No grupo todos são voluntários e as regras são bastante livres. Sem problema. Já uma entidade com CNPJ *E* custos, tem preocupações que o grupo não tem, como por exemplo se manter financeiramente, remunerar prestadores de serviços, etc. Esse assunto é recorrente e de tempos em tempos a discussão sobre criar uma pessoa jurídica volta à tona. Na prática eu não sei se há uma utilidade imediata para os membros do grupo per si, pois cada um já está com a vida ganha, por assim dizer. A impressão que eu tenho é que a galera mais velha dá lista já queimou o gaz que tinha pra queimar com tudo que foi feito nos últimos anos. Desde que eu entrei na lista, as lideranças tiveram que descascar vários abacaxis, conquistando várias vitórias, bem como algumas derrotas que nem sempre se tornam públicas. Será que queremos arriscar nos movimentar novamente? Eu sinceramente não estou aqui pra tentar dar ignição, mas se a galera achar que vale a pena e tiver afim de levar a sério, contem comigo na hora de somar a massa crítica, eu só não vou puxar o bonde. A minha motivação, que fique bem clara, está no objetivo que eu sugeri acima. Por que? Porque Perl é uma linguagem que me faz feliz e eu gostaria que ela fosse mais utilizada no Brasil. Bom, as minhas cartas estão na mesa. E as de vocês? []'s 2014-05-18 8:55 GMT-03:00 Leonardo Ruoso : Uma ideia que surgiu é justamente de tocarmos essa ideia de uma associação de maneira mais independente da SPPM, recepcionando, inclusive, as pessoas de outros estados. Ontem eu descobri/percebi que não poderei ir ao Workshop em Taubaté por conta de um evento ao final de final de semestre da minha filha (peço desculpas a todos). A associação teria, pelo menos, quatro finalidades formais, até onde percebemos: - Eventos (sabemos das dificuldades que enfrentamos pela ausência de uma estrutura formal para realizar a YAPC::Brasil e nossos eventos tem deixado caixa para os próximos eventos, que serve como garantia para os organizadores) - Editora (nossa proposta fosse que o Equinócio, ou uma revista com outro nome, ganhasse um status mais formal, com peer review e viés acadêmico/profissional) - Treinamento (No mesmo viés dos eventos, atuando como uma entidade formal que dá suporte às parcerias com universidades e empresas) - Desenvolvimento de Software Open Source (Hackatons?) Abraços, Em 17 de maio de 2014 23:09, Blabos de Blebe escreveu: Olá, Realizamos hoje o EXS na Cervejaria Nacional, onde além das excelentes cerejas produzidas na casa, também tem uma ótima variedade de comidas. Relembrando os velhos tempos vou tentar passar um resumão. O papo foi longo, eu cheguei por volta das 15:00 e saímos lá pelas 21:00. Vários foram os assuntos tratados, variando de Hadoop a GoHorse e Javascript, passando por alguns de maior relevância como por exemplo qual seria a idade atual do Solli e se é verdade que ele anda pintando o cabelo. Também conversamos um pouco sobre a ideia de montar uma associação que possa ajudar a disseminar o uso da linguagem bem como coordenar melhor os eventos de Perl pelo país, e ainda ressuscitar o Equinócio. Na saída ainda tinha uma TV com câmera que te filmava e descobria como estava seu humor antes e após pagar a conta. Ela também descobria a sua idade a partir da sua face, então Solli, já está convidado pro próximo ESX lá :P Se algum dos presentes se lembrar de mais alguma coisa, por favor, não deixe de acrescentar. []'s =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org L =end disclaimer -- Leonardo Ruoso Journalist, Perl developer and business consultant Media, UFC/2006; Telecom, IFCE/1998 =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org L =end disclaimer =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org L =end disclaimer =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org L =end disclaimer =begin disclaimer Sao Paulo Perl Mongers: [3]http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [4]SaoPaulo-pm em pm.org L<[5]http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer -- Nuba R. Princigalli nuba em pauleira.com http://pauleira.com @nprincigalli Discipline is not an end in itself, just a means to an end. - King Crimson =begin disclaimer Sao Paulo Perl Mongers: [6]http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [7]SaoPaulo-pm em pm.org L<[8]http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer -- Nuba R. Princigalli nuba em pauleira.com http://pauleira.com @nprincigalli Discipline is not an end in itself, just a means to an end. - King Crimson References 1. mailto:nuba em fastmail.fm 2. mailto:saopaulo-pm em pm.org 3. http://sao-paulo.pm.org/ 4. mailto:SaoPaulo-pm em pm.org 5. http://mail.pm.org/mailman/listinfo/saopaulo-pm 6. http://sao-paulo.pm.org/ 7. mailto:SaoPaulo-pm em pm.org 8. http://mail.pm.org/mailman/listinfo/saopaulo-pm -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From breno em rio.pm.org Tue May 27 22:00:06 2014 From: breno em rio.pm.org (breno) Date: Wed, 28 May 2014 02:00:06 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= Message-ID: Oi pessoal, é realmente uma ótima época para o Perl 5. A comunidade internacional continua cada vez mais ativa e a versão 20 que acabou de ser lançada é talvez uma das mais interessantes dos últimos tempos! Vejam algumas das novidades dessa versão: Assinaturas de subrotinas ----------------------------------- Até então, para pegar os argumentos passados a uma função ou método em Perl, precisávamos manipular diretamente o @_, em código como: sub pessoa { my ($nome, $idade) = @_; print "oi $nome, vc tem $idade anos"; } Agora podemos escrever: use feature 'signatures'; sub pessoa ($nome, $idade) { print "oi $nome, vc tem $idade anos"; } podemos também garantir que nossa sub não terá argumentos: sub pessoa () { ... } mais informações sobre essa tão esperada feature em: https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures Desreferenciamento pós-fixado ------------------------------------------ Até então, para desreferenciar uma variável em Perl precisávamos envolvê-la em chaves, por exemplo: @lista = @{ $ref->{nomes}[3][-1]{lista} }; A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque não envolve as chaves extras) e intuitiva (pq segue a lógica de ação do resto do código, da esquerda para a direita). Nessa sintaxe, o mesmo código acima pode ser reescrito como: use experimental 'postderef'; @lista = $ref->{nomes}[3][-1]{lista}->@*; Ou seja, basta acessar a referência desejada e adicionar uma última seta, indicando no símbolo o tipo que você vai desreferenciar, seguido de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, escalares, subs e até mesmo globs! Mais detalhes em https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing Hash Slices ---------------- Ao manipularmos arrays, é muito comum pegar grupos de valores através de slices: @herculoides = qw( igoo tundro gloop zok gleep ); @irmaos = @herculoides[2,4]; Também conseguiamos fazer slices de hashes, mas só retornando valores em listas: my %dados = ( nome => 'Thaddeus "Tad" Ghostal', apelido => 'Space Ghost', profissao => 'Apresentador', ); my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; Agora, no 5.20, podemos fazer hash slices completos, convertendo hashes grandes em sub-hashes! O hash slice funciona como o array slice: my %resumido = %dados{ 'nome', 'apelido' }; say $resumido->{apelido}; # 'Space Ghost' Outras melhorias ----------------------- * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, com melhorias de desempenho em expressões regulares, cópia de strings, acesso a chaves de hash e muito mais! * Protótipos até então eram definidos como, por exemplo: sub lala ($$). Agora podem ser escritos como atributos da sub, ou seja: sub lala :prototype($$). A forma antiga ainda é permitida. * Melhor qualidade na geração de números aleatórios, através de um gerador independente de plataforma. * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). * Android adicionado como plataforma suportada - sim, o 5.20 compila para Android! Instruções em: https://github.com/Perl/perl5/blob/blead/README.android A compilação em ambientes Windows também ficou mais rápida e portátil. * E muito mais! * CGI e Module::Build (e seus módulos associados) são alguns dos módulos que estão deixando o core para torná-lo mais leve e moderno, mas ainda estão disponíveis no seu mirror favorito do CPAN. Obituário ------------- A versão 20 do Perl 5 contém também uma homenagem a nossa querida Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e participante ativa da comunidade de Perl Mongers do Rio de Janeiro, sua memória agora está gravada para sempre em uma das versões mais importantes da linguagem que ela tanto gostava. A mensagem está no perldelta e pode ser vista em: https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary Instalando -------------- Pra quem usa perlbrew: perlbrew install perl-5.20.0 Pra quem usa plenv: plenv install perl-5.20.0 Difícil, não? :) Estatísticas e Agradecimentos: ------------------------------------------ As seguintes pessoas foram algumas das responsáveis pelo que se tornou o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, Ævar Arnfjörð Bjarmason. Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl continua florescendo em sua terceira década graças a sua vibrante comunidade de desenvolvedores e usuários - e isso inclui você! Obrigado por usar Perl :) Divirtam-se! []s -b From bruno.buss em gmail.com Wed May 28 04:45:14 2014 From: bruno.buss em gmail.com (Bruno Buss) Date: Wed, 28 May 2014 08:45:14 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: References: Message-ID: garu++ Em 28/05/2014 02:00, "breno" escreveu: > Oi pessoal, > > é realmente uma ótima época para o Perl 5. A comunidade internacional > continua cada vez mais ativa e a versão 20 que acabou de ser lançada é > talvez uma das mais interessantes dos últimos tempos! Vejam algumas > das novidades dessa versão: > > > Assinaturas de subrotinas > ----------------------------------- > > Até então, para pegar os argumentos passados a uma função ou método em > Perl, precisávamos manipular diretamente o @_, em código como: > > sub pessoa { > my ($nome, $idade) = @_; > print "oi $nome, vc tem $idade anos"; > } > > Agora podemos escrever: > > use feature 'signatures'; > > sub pessoa ($nome, $idade) { > print "oi $nome, vc tem $idade anos"; > } > > podemos também garantir que nossa sub não terá argumentos: > > sub pessoa () { > ... > } > > mais informações sobre essa tão esperada feature em: > > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures > > > > Desreferenciamento pós-fixado > ------------------------------------------ > > Até então, para desreferenciar uma variável em Perl precisávamos > envolvê-la em chaves, por exemplo: > > @lista = @{ $ref->{nomes}[3][-1]{lista} }; > > A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque > não envolve as chaves extras) e intuitiva (pq segue a lógica de ação > do resto do código, da esquerda para a direita). Nessa sintaxe, o > mesmo código acima pode ser reescrito como: > > use experimental 'postderef'; > > @lista = $ref->{nomes}[3][-1]{lista}->@*; > > Ou seja, basta acessar a referência desejada e adicionar uma última > seta, indicando no símbolo o tipo que você vai desreferenciar, seguido > de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, > escalares, subs e até mesmo globs! > > Mais detalhes em > > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing > > > > Hash Slices > ---------------- > > Ao manipularmos arrays, é muito comum pegar grupos de valores através de > slices: > > @herculoides = qw( igoo tundro gloop zok gleep ); > @irmaos = @herculoides[2,4]; > > Também conseguiamos fazer slices de hashes, mas só retornando valores em > listas: > > my %dados = ( > nome => 'Thaddeus "Tad" Ghostal', > apelido => 'Space Ghost', > profissao => 'Apresentador', > ); > > my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; > > Agora, no 5.20, podemos fazer hash slices completos, convertendo > hashes grandes em sub-hashes! O hash slice funciona como o array > slice: > > my %resumido = %dados{ 'nome', 'apelido' }; > > say $resumido->{apelido}; # 'Space Ghost' > > > > Outras melhorias > ----------------------- > > * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, > com melhorias de desempenho em expressões regulares, cópia de strings, > acesso a chaves de hash e muito mais! > > * Protótipos até então eram definidos como, por exemplo: sub lala > ($$). Agora podem ser escritos como atributos da sub, ou seja: sub > lala :prototype($$). A forma antiga ainda é permitida. > > * Melhor qualidade na geração de números aleatórios, através de um > gerador independente de plataforma. > > * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). > > * Android adicionado como plataforma suportada - sim, o 5.20 compila > para Android! Instruções em: > https://github.com/Perl/perl5/blob/blead/README.android > A compilação em ambientes Windows também ficou mais rápida e portátil. > > * E muito mais! > > * CGI e Module::Build (e seus módulos associados) são alguns dos > módulos que estão deixando o core para torná-lo mais leve e moderno, > mas ainda estão disponíveis no seu mirror favorito do CPAN. > > > Obituário > ------------- > > A versão 20 do Perl 5 contém também uma homenagem a nossa querida > Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e > participante ativa da comunidade de Perl Mongers do Rio de Janeiro, > sua memória agora está gravada para sempre em uma das versões mais > importantes da linguagem que ela tanto gostava. A mensagem está no > perldelta e pode ser vista em: > > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary > > > Instalando > -------------- > > Pra quem usa perlbrew: perlbrew install perl-5.20.0 > > Pra quem usa plenv: plenv install perl-5.20.0 > > Difícil, não? :) > > > Estatísticas e Agradecimentos: > ------------------------------------------ > > As seguintes pessoas foram algumas das responsáveis pelo que se tornou > o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron > Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan > Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno > Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, > Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris > 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, > Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin > McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, > David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, > Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François > Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, > H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, > James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, > Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John > P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl > Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, > Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, > Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin > McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, > Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas > Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, > Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter > Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr > Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo > Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi > Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, > Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom > Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, > Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, > Ævar Arnfjörð Bjarmason. > > Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento > desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por > 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl > continua florescendo em sua terceira década graças a sua vibrante > comunidade de desenvolvedores e usuários - e isso inclui você! > Obrigado por usar Perl :) > > Divirtam-se! > > > []s > > -b > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From thiago em aware.com.br Wed May 28 10:27:47 2014 From: thiago em aware.com.br (Thiago Rondon) Date: Wed, 28 May 2014 14:27:47 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: References: Message-ID: Garu++ Você deveria jogar este teu e-mail como artigo em portais de desenvolvedores e tecnologia. Isto é excelente para mostrar como a linguagem vem se desenvolvendo! Alias, seus e-mails, são artigos. ;-) Abs, -Thiago Rondon 2014-05-28 2:00 GMT-03:00 breno : > Oi pessoal, > > é realmente uma ótima época para o Perl 5. A comunidade internacional > continua cada vez mais ativa e a versão 20 que acabou de ser lançada é > talvez uma das mais interessantes dos últimos tempos! Vejam algumas > das novidades dessa versão: > > > Assinaturas de subrotinas > ----------------------------------- > > Até então, para pegar os argumentos passados a uma função ou método em > Perl, precisávamos manipular diretamente o @_, em código como: > > sub pessoa { > my ($nome, $idade) = @_; > print "oi $nome, vc tem $idade anos"; > } > > Agora podemos escrever: > > use feature 'signatures'; > > sub pessoa ($nome, $idade) { > print "oi $nome, vc tem $idade anos"; > } > > podemos também garantir que nossa sub não terá argumentos: > > sub pessoa () { > ... > } > > mais informações sobre essa tão esperada feature em: > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures > > > > Desreferenciamento pós-fixado > ------------------------------------------ > > Até então, para desreferenciar uma variável em Perl precisávamos > envolvê-la em chaves, por exemplo: > > @lista = @{ $ref->{nomes}[3][-1]{lista} }; > > A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque > não envolve as chaves extras) e intuitiva (pq segue a lógica de ação > do resto do código, da esquerda para a direita). Nessa sintaxe, o > mesmo código acima pode ser reescrito como: > > use experimental 'postderef'; > > @lista = $ref->{nomes}[3][-1]{lista}->@*; > > Ou seja, basta acessar a referência desejada e adicionar uma última > seta, indicando no símbolo o tipo que você vai desreferenciar, seguido > de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, > escalares, subs e até mesmo globs! > > Mais detalhes em > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing > > > > Hash Slices > ---------------- > > Ao manipularmos arrays, é muito comum pegar grupos de valores através de slices: > > @herculoides = qw( igoo tundro gloop zok gleep ); > @irmaos = @herculoides[2,4]; > > Também conseguiamos fazer slices de hashes, mas só retornando valores em listas: > > my %dados = ( > nome => 'Thaddeus "Tad" Ghostal', > apelido => 'Space Ghost', > profissao => 'Apresentador', > ); > > my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; > > Agora, no 5.20, podemos fazer hash slices completos, convertendo > hashes grandes em sub-hashes! O hash slice funciona como o array > slice: > > my %resumido = %dados{ 'nome', 'apelido' }; > > say $resumido->{apelido}; # 'Space Ghost' > > > > Outras melhorias > ----------------------- > > * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, > com melhorias de desempenho em expressões regulares, cópia de strings, > acesso a chaves de hash e muito mais! > > * Protótipos até então eram definidos como, por exemplo: sub lala > ($$). Agora podem ser escritos como atributos da sub, ou seja: sub > lala :prototype($$). A forma antiga ainda é permitida. > > * Melhor qualidade na geração de números aleatórios, através de um > gerador independente de plataforma. > > * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). > > * Android adicionado como plataforma suportada - sim, o 5.20 compila > para Android! Instruções em: > https://github.com/Perl/perl5/blob/blead/README.android > A compilação em ambientes Windows também ficou mais rápida e portátil. > > * E muito mais! > > * CGI e Module::Build (e seus módulos associados) são alguns dos > módulos que estão deixando o core para torná-lo mais leve e moderno, > mas ainda estão disponíveis no seu mirror favorito do CPAN. > > > Obituário > ------------- > > A versão 20 do Perl 5 contém também uma homenagem a nossa querida > Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e > participante ativa da comunidade de Perl Mongers do Rio de Janeiro, > sua memória agora está gravada para sempre em uma das versões mais > importantes da linguagem que ela tanto gostava. A mensagem está no > perldelta e pode ser vista em: > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary > > > Instalando > -------------- > > Pra quem usa perlbrew: perlbrew install perl-5.20.0 > > Pra quem usa plenv: plenv install perl-5.20.0 > > Difícil, não? :) > > > Estatísticas e Agradecimentos: > ------------------------------------------ > > As seguintes pessoas foram algumas das responsáveis pelo que se tornou > o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron > Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan > Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno > Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, > Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris > 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, > Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin > McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, > David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, > Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François > Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, > H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, > James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, > Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John > P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl > Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, > Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, > Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin > McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, > Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas > Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, > Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter > Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr > Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo > Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi > Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, > Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom > Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, > Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, > Ævar Arnfjörð Bjarmason. > > Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento > desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por > 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl > continua florescendo em sua terceira década graças a sua vibrante > comunidade de desenvolvedores e usuários - e isso inclui você! > Obrigado por usar Perl :) > > Divirtam-se! > > > []s > > -b > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm From daniel.oliveira.mantovani em gmail.com Wed May 28 11:19:36 2014 From: daniel.oliveira.mantovani em gmail.com (Daniel de Oliveira Mantovani) Date: Wed, 28 May 2014 15:19:36 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: References: Message-ID: garu++ Eu ainda não me conformo com a ida da Diana, parece que foi ontem que nós enchemos a cara no Rio! 2014-05-28 14:27 GMT-03:00 Thiago Rondon : > Garu++ > > Você deveria jogar este teu e-mail como artigo em portais de > desenvolvedores e tecnologia. > > Isto é excelente para mostrar como a linguagem vem se desenvolvendo! > > Alias, seus e-mails, são artigos. ;-) > > Abs, > -Thiago Rondon > > > 2014-05-28 2:00 GMT-03:00 breno : >> Oi pessoal, >> >> é realmente uma ótima época para o Perl 5. A comunidade internacional >> continua cada vez mais ativa e a versão 20 que acabou de ser lançada é >> talvez uma das mais interessantes dos últimos tempos! Vejam algumas >> das novidades dessa versão: >> >> >> Assinaturas de subrotinas >> ----------------------------------- >> >> Até então, para pegar os argumentos passados a uma função ou método em >> Perl, precisávamos manipular diretamente o @_, em código como: >> >> sub pessoa { >> my ($nome, $idade) = @_; >> print "oi $nome, vc tem $idade anos"; >> } >> >> Agora podemos escrever: >> >> use feature 'signatures'; >> >> sub pessoa ($nome, $idade) { >> print "oi $nome, vc tem $idade anos"; >> } >> >> podemos também garantir que nossa sub não terá argumentos: >> >> sub pessoa () { >> ... >> } >> >> mais informações sobre essa tão esperada feature em: >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures >> >> >> >> Desreferenciamento pós-fixado >> ------------------------------------------ >> >> Até então, para desreferenciar uma variável em Perl precisávamos >> envolvê-la em chaves, por exemplo: >> >> @lista = @{ $ref->{nomes}[3][-1]{lista} }; >> >> A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque >> não envolve as chaves extras) e intuitiva (pq segue a lógica de ação >> do resto do código, da esquerda para a direita). Nessa sintaxe, o >> mesmo código acima pode ser reescrito como: >> >> use experimental 'postderef'; >> >> @lista = $ref->{nomes}[3][-1]{lista}->@*; >> >> Ou seja, basta acessar a referência desejada e adicionar uma última >> seta, indicando no símbolo o tipo que você vai desreferenciar, seguido >> de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, >> escalares, subs e até mesmo globs! >> >> Mais detalhes em >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing >> >> >> >> Hash Slices >> ---------------- >> >> Ao manipularmos arrays, é muito comum pegar grupos de valores através de slices: >> >> @herculoides = qw( igoo tundro gloop zok gleep ); >> @irmaos = @herculoides[2,4]; >> >> Também conseguiamos fazer slices de hashes, mas só retornando valores em listas: >> >> my %dados = ( >> nome => 'Thaddeus "Tad" Ghostal', >> apelido => 'Space Ghost', >> profissao => 'Apresentador', >> ); >> >> my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; >> >> Agora, no 5.20, podemos fazer hash slices completos, convertendo >> hashes grandes em sub-hashes! O hash slice funciona como o array >> slice: >> >> my %resumido = %dados{ 'nome', 'apelido' }; >> >> say $resumido->{apelido}; # 'Space Ghost' >> >> >> >> Outras melhorias >> ----------------------- >> >> * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, >> com melhorias de desempenho em expressões regulares, cópia de strings, >> acesso a chaves de hash e muito mais! >> >> * Protótipos até então eram definidos como, por exemplo: sub lala >> ($$). Agora podem ser escritos como atributos da sub, ou seja: sub >> lala :prototype($$). A forma antiga ainda é permitida. >> >> * Melhor qualidade na geração de números aleatórios, através de um >> gerador independente de plataforma. >> >> * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). >> >> * Android adicionado como plataforma suportada - sim, o 5.20 compila >> para Android! Instruções em: >> https://github.com/Perl/perl5/blob/blead/README.android >> A compilação em ambientes Windows também ficou mais rápida e portátil. >> >> * E muito mais! >> >> * CGI e Module::Build (e seus módulos associados) são alguns dos >> módulos que estão deixando o core para torná-lo mais leve e moderno, >> mas ainda estão disponíveis no seu mirror favorito do CPAN. >> >> >> Obituário >> ------------- >> >> A versão 20 do Perl 5 contém também uma homenagem a nossa querida >> Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e >> participante ativa da comunidade de Perl Mongers do Rio de Janeiro, >> sua memória agora está gravada para sempre em uma das versões mais >> importantes da linguagem que ela tanto gostava. A mensagem está no >> perldelta e pode ser vista em: >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary >> >> >> Instalando >> -------------- >> >> Pra quem usa perlbrew: perlbrew install perl-5.20.0 >> >> Pra quem usa plenv: plenv install perl-5.20.0 >> >> Difícil, não? :) >> >> >> Estatísticas e Agradecimentos: >> ------------------------------------------ >> >> As seguintes pessoas foram algumas das responsáveis pelo que se tornou >> o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron >> Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan >> Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno >> Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, >> Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris >> 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, >> Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin >> McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, >> David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, >> Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François >> Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, >> H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, >> James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, >> Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John >> P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl >> Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, >> Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, >> Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin >> McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, >> Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas >> Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, >> Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter >> Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr >> Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo >> Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi >> Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, >> Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom >> Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, >> Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, >> Ævar Arnfjörð Bjarmason. >> >> Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento >> desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por >> 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl >> continua florescendo em sua terceira década graças a sua vibrante >> comunidade de desenvolvedores e usuários - e isso inclui você! >> Obrigado por usar Perl :) >> >> Divirtam-se! >> >> >> []s >> >> -b >> _______________________________________________ >> Brasil-PM mailing list >> Brasil-PM em pm.org >> http://mail.pm.org/mailman/listinfo/brasil-pm > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm -- -dom -- Daniel de Oliveira Mantovani Business Analytic Specialist Perl Evangelist /Astrophysics hobbyist. +55 11 9 8538-9897 XOXO From renato.cron em gmail.com Wed May 28 17:24:54 2014 From: renato.cron em gmail.com (Renato Santos) Date: Wed, 28 May 2014 21:24:54 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: References: Message-ID: perl-5.20.0 is successfully installed. hora de fazer o perl -MCPAN -e autobundle e verificar os ganhos de performance em apps reais! 2014-05-28 15:19 GMT-03:00 Daniel de Oliveira Mantovani < daniel.oliveira.mantovani em gmail.com>: > garu++ > > Eu ainda não me conformo com a ida da Diana, parece que foi ontem que > nós enchemos a cara no Rio! > > 2014-05-28 14:27 GMT-03:00 Thiago Rondon : > > Garu++ > > > > Você deveria jogar este teu e-mail como artigo em portais de > > desenvolvedores e tecnologia. > > > > Isto é excelente para mostrar como a linguagem vem se desenvolvendo! > > > > Alias, seus e-mails, são artigos. ;-) > > > > Abs, > > -Thiago Rondon > > > > > > 2014-05-28 2:00 GMT-03:00 breno : > >> Oi pessoal, > >> > >> é realmente uma ótima época para o Perl 5. A comunidade internacional > >> continua cada vez mais ativa e a versão 20 que acabou de ser lançada é > >> talvez uma das mais interessantes dos últimos tempos! Vejam algumas > >> das novidades dessa versão: > >> > >> > >> Assinaturas de subrotinas > >> ----------------------------------- > >> > >> Até então, para pegar os argumentos passados a uma função ou método em > >> Perl, precisávamos manipular diretamente o @_, em código como: > >> > >> sub pessoa { > >> my ($nome, $idade) = @_; > >> print "oi $nome, vc tem $idade anos"; > >> } > >> > >> Agora podemos escrever: > >> > >> use feature 'signatures'; > >> > >> sub pessoa ($nome, $idade) { > >> print "oi $nome, vc tem $idade anos"; > >> } > >> > >> podemos também garantir que nossa sub não terá argumentos: > >> > >> sub pessoa () { > >> ... > >> } > >> > >> mais informações sobre essa tão esperada feature em: > >> > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures > >> > >> > >> > >> Desreferenciamento pós-fixado > >> ------------------------------------------ > >> > >> Até então, para desreferenciar uma variável em Perl precisávamos > >> envolvê-la em chaves, por exemplo: > >> > >> @lista = @{ $ref->{nomes}[3][-1]{lista} }; > >> > >> A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque > >> não envolve as chaves extras) e intuitiva (pq segue a lógica de ação > >> do resto do código, da esquerda para a direita). Nessa sintaxe, o > >> mesmo código acima pode ser reescrito como: > >> > >> use experimental 'postderef'; > >> > >> @lista = $ref->{nomes}[3][-1]{lista}->@*; > >> > >> Ou seja, basta acessar a referência desejada e adicionar uma última > >> seta, indicando no símbolo o tipo que você vai desreferenciar, seguido > >> de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, > >> escalares, subs e até mesmo globs! > >> > >> Mais detalhes em > >> > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing > >> > >> > >> > >> Hash Slices > >> ---------------- > >> > >> Ao manipularmos arrays, é muito comum pegar grupos de valores através > de slices: > >> > >> @herculoides = qw( igoo tundro gloop zok gleep ); > >> @irmaos = @herculoides[2,4]; > >> > >> Também conseguiamos fazer slices de hashes, mas só retornando valores > em listas: > >> > >> my %dados = ( > >> nome => 'Thaddeus "Tad" Ghostal', > >> apelido => 'Space Ghost', > >> profissao => 'Apresentador', > >> ); > >> > >> my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; > >> > >> Agora, no 5.20, podemos fazer hash slices completos, convertendo > >> hashes grandes em sub-hashes! O hash slice funciona como o array > >> slice: > >> > >> my %resumido = %dados{ 'nome', 'apelido' }; > >> > >> say $resumido->{apelido}; # 'Space Ghost' > >> > >> > >> > >> Outras melhorias > >> ----------------------- > >> > >> * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, > >> com melhorias de desempenho em expressões regulares, cópia de strings, > >> acesso a chaves de hash e muito mais! > >> > >> * Protótipos até então eram definidos como, por exemplo: sub lala > >> ($$). Agora podem ser escritos como atributos da sub, ou seja: sub > >> lala :prototype($$). A forma antiga ainda é permitida. > >> > >> * Melhor qualidade na geração de números aleatórios, através de um > >> gerador independente de plataforma. > >> > >> * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). > >> > >> * Android adicionado como plataforma suportada - sim, o 5.20 compila > >> para Android! Instruções em: > >> https://github.com/Perl/perl5/blob/blead/README.android > >> A compilação em ambientes Windows também ficou mais rápida e portátil. > >> > >> * E muito mais! > >> > >> * CGI e Module::Build (e seus módulos associados) são alguns dos > >> módulos que estão deixando o core para torná-lo mais leve e moderno, > >> mas ainda estão disponíveis no seu mirror favorito do CPAN. > >> > >> > >> Obituário > >> ------------- > >> > >> A versão 20 do Perl 5 contém também uma homenagem a nossa querida > >> Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e > >> participante ativa da comunidade de Perl Mongers do Rio de Janeiro, > >> sua memória agora está gravada para sempre em uma das versões mais > >> importantes da linguagem que ela tanto gostava. A mensagem está no > >> perldelta e pode ser vista em: > >> > https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary > >> > >> > >> Instalando > >> -------------- > >> > >> Pra quem usa perlbrew: perlbrew install perl-5.20.0 > >> > >> Pra quem usa plenv: plenv install perl-5.20.0 > >> > >> Difícil, não? :) > >> > >> > >> Estatísticas e Agradecimentos: > >> ------------------------------------------ > >> > >> As seguintes pessoas foram algumas das responsáveis pelo que se tornou > >> o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron > >> Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan > >> Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno > >> Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, > >> Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris > >> 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, > >> Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin > >> McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, > >> David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, > >> Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François > >> Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, > >> H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, > >> James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, > >> Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John > >> P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl > >> Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, > >> Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, > >> Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin > >> McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, > >> Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas > >> Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, > >> Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter > >> Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr > >> Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo > >> Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi > >> Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, > >> Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom > >> Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, > >> Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, > >> Ævar Arnfjörð Bjarmason. > >> > >> Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento > >> desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por > >> 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl > >> continua florescendo em sua terceira década graças a sua vibrante > >> comunidade de desenvolvedores e usuários - e isso inclui você! > >> Obrigado por usar Perl :) > >> > >> Divirtam-se! > >> > >> > >> []s > >> > >> -b > >> _______________________________________________ > >> Brasil-PM mailing list > >> Brasil-PM em pm.org > >> http://mail.pm.org/mailman/listinfo/brasil-pm > > _______________________________________________ > > Brasil-PM mailing list > > Brasil-PM em pm.org > > http://mail.pm.org/mailman/listinfo/brasil-pm > > > > -- > > -dom > > -- > > Daniel de Oliveira Mantovani > Business Analytic Specialist > Perl Evangelist /Astrophysics hobbyist. > +55 11 9 8538-9897 > XOXO > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm > -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From renato.cron em gmail.com Thu May 29 22:18:05 2014 From: renato.cron em gmail.com (Renato Santos) Date: Fri, 30 May 2014 02:18:05 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: References: Message-ID: Pessoas, depois de fazer alguns testes utilizando o programa ab para medir o tempo de resposta médio de alguns endpoints, e tambem de observar a CPU utilizada no final do 'forkprove' em alguns projetos, rodando no perl 5.20 e depois no 5.16, eu observei pouca, mas existente, perda de velocidade. Fiquei com isso na cabeça, pois todo mundo dizendo que está mais rápido, e não consegui ver isso na pratica. então, fui fazer um teste separado, sem todo o ambiente do catalyst, pois como há muitos modulos, alguns do meu 5.16 poderiam estar desatualizados em relação ao 5.20. pois bem, fiz o seguinte script: use 5.14.2; use warnings; use Dumbbench; use Dumbbench::CPUFrequencyPinner; use Dumbbench::BoxPlot; require Dumbbench::BoxPlot; my $opt = '/home/renato/perl5/perlbrew/perls/perl-5.16.2/bin/perl'; my $unopt = '/home/renato/perl5/perlbrew/perls/perl-5.20.0/bin/perl'; my $code = <<'HERE'; my %a; $a{rand(2)}++ for 1..100000; foreach my $x (keys %a){ $a{$x} = $a{$x} * -1; } foreach my $x (reverse keys %a){ delete $a{$x}; } HERE my $db = Dumbbench->new( target_rel_precision => 0.005, initial_runs => 20, ); $db->add_instances( Dumbbench::Instance::Cmd->new(command => [$unopt, '-e', $code], name => "5.20"), Dumbbench::Instance::Cmd->new(command => [$opt, '-e', $code], name => "5.16"), ); SCOPE: { # Pin CPU frequency down to reduce variability my $p = Dumbbench::CPUFrequencyPinner->new; $SIG{INT} = sub {undef $p; exit;}; $p->set_max_frequencies($p->min_frequencies->[0]); $db->run; } $db->report; use DDP; p $db; $db->box_plot->show(); Estou anexado o resultado em grafico, se quiserem que eu rode mais testes, com outros codigos dentro do HERE vocês me avisem, pois o libROOT é ~meio~ demorado pra compilar. 2014-05-28 21:24 GMT-03:00 Renato Santos : > perl-5.20.0 is successfully installed. > > > hora de fazer o > > perl -MCPAN -e autobundle > > e verificar os ganhos de performance em apps reais! > > > 2014-05-28 15:19 GMT-03:00 Daniel de Oliveira Mantovani < > daniel.oliveira.mantovani em gmail.com>: > > garu++ >> >> Eu ainda não me conformo com a ida da Diana, parece que foi ontem que >> nós enchemos a cara no Rio! >> >> 2014-05-28 14:27 GMT-03:00 Thiago Rondon : >> > Garu++ >> > >> > Você deveria jogar este teu e-mail como artigo em portais de >> > desenvolvedores e tecnologia. >> > >> > Isto é excelente para mostrar como a linguagem vem se desenvolvendo! >> > >> > Alias, seus e-mails, são artigos. ;-) >> > >> > Abs, >> > -Thiago Rondon >> > >> > >> > 2014-05-28 2:00 GMT-03:00 breno : >> >> Oi pessoal, >> >> >> >> é realmente uma ótima época para o Perl 5. A comunidade internacional >> >> continua cada vez mais ativa e a versão 20 que acabou de ser lançada é >> >> talvez uma das mais interessantes dos últimos tempos! Vejam algumas >> >> das novidades dessa versão: >> >> >> >> >> >> Assinaturas de subrotinas >> >> ----------------------------------- >> >> >> >> Até então, para pegar os argumentos passados a uma função ou método em >> >> Perl, precisávamos manipular diretamente o @_, em código como: >> >> >> >> sub pessoa { >> >> my ($nome, $idade) = @_; >> >> print "oi $nome, vc tem $idade anos"; >> >> } >> >> >> >> Agora podemos escrever: >> >> >> >> use feature 'signatures'; >> >> >> >> sub pessoa ($nome, $idade) { >> >> print "oi $nome, vc tem $idade anos"; >> >> } >> >> >> >> podemos também garantir que nossa sub não terá argumentos: >> >> >> >> sub pessoa () { >> >> ... >> >> } >> >> >> >> mais informações sobre essa tão esperada feature em: >> >> >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures >> >> >> >> >> >> >> >> Desreferenciamento pós-fixado >> >> ------------------------------------------ >> >> >> >> Até então, para desreferenciar uma variável em Perl precisávamos >> >> envolvê-la em chaves, por exemplo: >> >> >> >> @lista = @{ $ref->{nomes}[3][-1]{lista} }; >> >> >> >> A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque >> >> não envolve as chaves extras) e intuitiva (pq segue a lógica de ação >> >> do resto do código, da esquerda para a direita). Nessa sintaxe, o >> >> mesmo código acima pode ser reescrito como: >> >> >> >> use experimental 'postderef'; >> >> >> >> @lista = $ref->{nomes}[3][-1]{lista}->@*; >> >> >> >> Ou seja, basta acessar a referência desejada e adicionar uma última >> >> seta, indicando no símbolo o tipo que você vai desreferenciar, seguido >> >> de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, >> >> escalares, subs e até mesmo globs! >> >> >> >> Mais detalhes em >> >> >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing >> >> >> >> >> >> >> >> Hash Slices >> >> ---------------- >> >> >> >> Ao manipularmos arrays, é muito comum pegar grupos de valores através >> de slices: >> >> >> >> @herculoides = qw( igoo tundro gloop zok gleep ); >> >> @irmaos = @herculoides[2,4]; >> >> >> >> Também conseguiamos fazer slices de hashes, mas só retornando valores >> em listas: >> >> >> >> my %dados = ( >> >> nome => 'Thaddeus "Tad" Ghostal', >> >> apelido => 'Space Ghost', >> >> profissao => 'Apresentador', >> >> ); >> >> >> >> my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; >> >> >> >> Agora, no 5.20, podemos fazer hash slices completos, convertendo >> >> hashes grandes em sub-hashes! O hash slice funciona como o array >> >> slice: >> >> >> >> my %resumido = %dados{ 'nome', 'apelido' }; >> >> >> >> say $resumido->{apelido}; # 'Space Ghost' >> >> >> >> >> >> >> >> Outras melhorias >> >> ----------------------- >> >> >> >> * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, >> >> com melhorias de desempenho em expressões regulares, cópia de strings, >> >> acesso a chaves de hash e muito mais! >> >> >> >> * Protótipos até então eram definidos como, por exemplo: sub lala >> >> ($$). Agora podem ser escritos como atributos da sub, ou seja: sub >> >> lala :prototype($$). A forma antiga ainda é permitida. >> >> >> >> * Melhor qualidade na geração de números aleatórios, através de um >> >> gerador independente de plataforma. >> >> >> >> * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). >> >> >> >> * Android adicionado como plataforma suportada - sim, o 5.20 compila >> >> para Android! Instruções em: >> >> https://github.com/Perl/perl5/blob/blead/README.android >> >> A compilação em ambientes Windows também ficou mais rápida e portátil. >> >> >> >> * E muito mais! >> >> >> >> * CGI e Module::Build (e seus módulos associados) são alguns dos >> >> módulos que estão deixando o core para torná-lo mais leve e moderno, >> >> mas ainda estão disponíveis no seu mirror favorito do CPAN. >> >> >> >> >> >> Obituário >> >> ------------- >> >> >> >> A versão 20 do Perl 5 contém também uma homenagem a nossa querida >> >> Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e >> >> participante ativa da comunidade de Perl Mongers do Rio de Janeiro, >> >> sua memória agora está gravada para sempre em uma das versões mais >> >> importantes da linguagem que ela tanto gostava. A mensagem está no >> >> perldelta e pode ser vista em: >> >> >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary >> >> >> >> >> >> Instalando >> >> -------------- >> >> >> >> Pra quem usa perlbrew: perlbrew install perl-5.20.0 >> >> >> >> Pra quem usa plenv: plenv install perl-5.20.0 >> >> >> >> Difícil, não? :) >> >> >> >> >> >> Estatísticas e Agradecimentos: >> >> ------------------------------------------ >> >> >> >> As seguintes pessoas foram algumas das responsáveis pelo que se tornou >> >> o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron >> >> Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan >> >> Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno >> >> Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, >> >> Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris >> >> 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, >> >> Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin >> >> McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, >> >> David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, >> >> Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François >> >> Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, >> >> H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, >> >> James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, >> >> Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John >> >> P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl >> >> Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, >> >> Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, >> >> Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin >> >> McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, >> >> Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas >> >> Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, >> >> Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter >> >> Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr >> >> Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo >> >> Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi >> >> Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, >> >> Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom >> >> Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, >> >> Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, >> >> Ævar Arnfjörð Bjarmason. >> >> >> >> Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento >> >> desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por >> >> 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl >> >> continua florescendo em sua terceira década graças a sua vibrante >> >> comunidade de desenvolvedores e usuários - e isso inclui você! >> >> Obrigado por usar Perl :) >> >> >> >> Divirtam-se! >> >> >> >> >> >> []s >> >> >> >> -b >> >> _______________________________________________ >> >> Brasil-PM mailing list >> >> Brasil-PM em pm.org >> >> http://mail.pm.org/mailman/listinfo/brasil-pm >> > _______________________________________________ >> > Brasil-PM mailing list >> > Brasil-PM em pm.org >> > http://mail.pm.org/mailman/listinfo/brasil-pm >> >> >> >> -- >> >> -dom >> >> -- >> >> Daniel de Oliveira Mantovani >> Business Analytic Specialist >> Perl Evangelist /Astrophysics hobbyist. >> +55 11 9 8538-9897 >> XOXO >> _______________________________________________ >> Brasil-PM mailing list >> Brasil-PM em pm.org >> http://mail.pm.org/mailman/listinfo/brasil-pm >> > > > > -- > Saravá, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron > -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: -------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: box_plot.png Tipo: image/png Tamanho: 5809 bytes Descrição: não disponível URL: -------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: box_plot.root Tipo: application/octet-stream Tamanho: 14422 bytes Descrição: não disponível URL: From ricardostock em bol.com.br Fri May 30 07:37:27 2014 From: ricardostock em bol.com.br (Ricardo Stock) Date: Fri, 30 May 2014 11:37:27 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: References: Message-ID: <909EB6472DF14B0E8F0FAE388D3C1338@PcRicardo> Gente uma pequena pergunta. Eu achei realmente fantastico a nova versão do perl, principalmente pela parte de assinatura de funções... isso eu sempre achei falta no perl. Mas vendo os graficos e o teste do Renato, fica a dúvida. Vale a pena atualizar agora visto que ?EU? ainda não vi possiveis problemas que podem surgir com os códigos já em produçao, e passar por um trabalho e risco por ganho de micro segundos, pode não vir a ser agora uma boa ideia. Visto que hoje meu gargalo esta na conexão e não no processamento. Alguem tem alguma informação sobre possiveis problemas de incompatibilidade que possam existir entre as versoes 5.16 e a 5.20. Pergunto isso por experiencia, pois quando atualizei o módulo json tive um trabalho danado. Valeu. From: Renato Santos Sent: Friday, May 30, 2014 2:18 AM To: Perl Mongers do Brasil, uni-vos! Subject: Re: [Brasil-PM] Perl 5.20.0 Lançado! \o/ Pessoas, depois de fazer alguns testes utilizando o programa ab para medir o tempo de resposta médio de alguns endpoints, e tambem de observar a CPU utilizada no final do 'forkprove' em alguns projetos, rodando no perl 5.20 e depois no 5.16, eu observei pouca, mas existente, perda de velocidade. Fiquei com isso na cabeça, pois todo mundo dizendo que está mais rápido, e não consegui ver isso na pratica. então, fui fazer um teste separado, sem todo o ambiente do catalyst, pois como há muitos modulos, alguns do meu 5.16 poderiam estar desatualizados em relação ao 5.20. pois bem, fiz o seguinte script: use 5.14.2; use warnings; use Dumbbench; use Dumbbench::CPUFrequencyPinner; use Dumbbench::BoxPlot; require Dumbbench::BoxPlot; my $opt = '/home/renato/perl5/perlbrew/perls/perl-5.16.2/bin/perl'; my $unopt = '/home/renato/perl5/perlbrew/perls/perl-5.20.0/bin/perl'; my $code = <<'HERE'; my %a; $a{rand(2)}++ for 1..100000; foreach my $x (keys %a){ $a{$x} = $a{$x} * -1; } foreach my $x (reverse keys %a){ delete $a{$x}; } HERE my $db = Dumbbench->new( target_rel_precision => 0.005, initial_runs => 20, ); $db->add_instances( Dumbbench::Instance::Cmd->new(command => [$unopt, '-e', $code], name => "5.20"), Dumbbench::Instance::Cmd->new(command => [$opt, '-e', $code], name => "5.16"), ); SCOPE: { # Pin CPU frequency down to reduce variability my $p = Dumbbench::CPUFrequencyPinner->new; $SIG{INT} = sub {undef $p; exit;}; $p->set_max_frequencies($p->min_frequencies->[0]); $db->run; } $db->report; use DDP; p $db; $db->box_plot->show(); Estou anexado o resultado em grafico, se quiserem que eu rode mais testes, com outros codigos dentro do HERE vocês me avisem, pois o libROOT é ~meio~ demorado pra compilar. 2014-05-28 21:24 GMT-03:00 Renato Santos : perl-5.20.0 is successfully installed. hora de fazer o perl -MCPAN -e autobundle e verificar os ganhos de performance em apps reais! 2014-05-28 15:19 GMT-03:00 Daniel de Oliveira Mantovani : garu++ Eu ainda não me conformo com a ida da Diana, parece que foi ontem que nós enchemos a cara no Rio! 2014-05-28 14:27 GMT-03:00 Thiago Rondon : > Garu++ > > Você deveria jogar este teu e-mail como artigo em portais de > desenvolvedores e tecnologia. > > Isto é excelente para mostrar como a linguagem vem se desenvolvendo! > > Alias, seus e-mails, são artigos. ;-) > > Abs, > -Thiago Rondon > > > 2014-05-28 2:00 GMT-03:00 breno : >> Oi pessoal, >> >> é realmente uma ótima época para o Perl 5. A comunidade internacional >> continua cada vez mais ativa e a versão 20 que acabou de ser lançada é >> talvez uma das mais interessantes dos últimos tempos! Vejam algumas >> das novidades dessa versão: >> >> >> Assinaturas de subrotinas >> ----------------------------------- >> >> Até então, para pegar os argumentos passados a uma função ou método em >> Perl, precisávamos manipular diretamente o @_, em código como: >> >> sub pessoa { >> my ($nome, $idade) = @_; >> print "oi $nome, vc tem $idade anos"; >> } >> >> Agora podemos escrever: >> >> use feature 'signatures'; >> >> sub pessoa ($nome, $idade) { >> print "oi $nome, vc tem $idade anos"; >> } >> >> podemos também garantir que nossa sub não terá argumentos: >> >> sub pessoa () { >> ... >> } >> >> mais informações sobre essa tão esperada feature em: >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures >> >> >> >> Desreferenciamento pós-fixado >> ------------------------------------------ >> >> Até então, para desreferenciar uma variável em Perl precisávamos >> envolvê-la em chaves, por exemplo: >> >> @lista = @{ $ref->{nomes}[3][-1]{lista} }; >> >> A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque >> não envolve as chaves extras) e intuitiva (pq segue a lógica de ação >> do resto do código, da esquerda para a direita). Nessa sintaxe, o >> mesmo código acima pode ser reescrito como: >> >> use experimental 'postderef'; >> >> @lista = $ref->{nomes}[3][-1]{lista}->@*; >> >> Ou seja, basta acessar a referência desejada e adicionar uma última >> seta, indicando no símbolo o tipo que você vai desreferenciar, seguido >> de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, >> escalares, subs e até mesmo globs! >> >> Mais detalhes em >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing >> >> >> >> Hash Slices >> ---------------- >> >> Ao manipularmos arrays, é muito comum pegar grupos de valores através de slices: >> >> @herculoides = qw( igoo tundro gloop zok gleep ); >> @irmaos = @herculoides[2,4]; >> >> Também conseguiamos fazer slices de hashes, mas só retornando valores em listas: >> >> my %dados = ( >> nome => 'Thaddeus "Tad" Ghostal', >> apelido => 'Space Ghost', >> profissao => 'Apresentador', >> ); >> >> my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; >> >> Agora, no 5.20, podemos fazer hash slices completos, convertendo >> hashes grandes em sub-hashes! O hash slice funciona como o array >> slice: >> >> my %resumido = %dados{ 'nome', 'apelido' }; >> >> say $resumido->{apelido}; # 'Space Ghost' >> >> >> >> Outras melhorias >> ----------------------- >> >> * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, >> com melhorias de desempenho em expressões regulares, cópia de strings, >> acesso a chaves de hash e muito mais! >> >> * Protótipos até então eram definidos como, por exemplo: sub lala >> ($$). Agora podem ser escritos como atributos da sub, ou seja: sub >> lala :prototype($$). A forma antiga ainda é permitida. >> >> * Melhor qualidade na geração de números aleatórios, através de um >> gerador independente de plataforma. >> >> * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). >> >> * Android adicionado como plataforma suportada - sim, o 5.20 compila >> para Android! Instruções em: >> https://github.com/Perl/perl5/blob/blead/README.android >> A compilação em ambientes Windows também ficou mais rápida e portátil. >> >> * E muito mais! >> >> * CGI e Module::Build (e seus módulos associados) são alguns dos >> módulos que estão deixando o core para torná-lo mais leve e moderno, >> mas ainda estão disponíveis no seu mirror favorito do CPAN. >> >> >> Obituário >> ------------- >> >> A versão 20 do Perl 5 contém também uma homenagem a nossa querida >> Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e >> participante ativa da comunidade de Perl Mongers do Rio de Janeiro, >> sua memória agora está gravada para sempre em uma das versões mais >> importantes da linguagem que ela tanto gostava. A mensagem está no >> perldelta e pode ser vista em: >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary >> >> >> Instalando >> -------------- >> >> Pra quem usa perlbrew: perlbrew install perl-5.20.0 >> >> Pra quem usa plenv: plenv install perl-5.20.0 >> >> Difícil, não? :) >> >> >> Estatísticas e Agradecimentos: >> ------------------------------------------ >> >> As seguintes pessoas foram algumas das responsáveis pelo que se tornou >> o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron >> Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan >> Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno >> Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, >> Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris >> 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, >> Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin >> McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, >> David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, >> Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François >> Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, >> H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, >> James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, >> Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John >> P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl >> Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, >> Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, >> Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin >> McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, >> Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas >> Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, >> Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter >> Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr >> Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo >> Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi >> Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, >> Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom >> Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, >> Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, >> Ævar Arnfjörð Bjarmason. >> >> Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento >> desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por >> 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl >> continua florescendo em sua terceira década graças a sua vibrante >> comunidade de desenvolvedores e usuários - e isso inclui você! >> Obrigado por usar Perl :) >> >> Divirtam-se! >> >> >> []s >> >> -b >> _______________________________________________ >> Brasil-PM mailing list >> Brasil-PM em pm.org >> http://mail.pm.org/mailman/listinfo/brasil-pm > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm -- -dom -- Daniel de Oliveira Mantovani Business Analytic Specialist Perl Evangelist /Astrophysics hobbyist. +55 11 9 8538-9897 XOXO _______________________________________________ Brasil-PM mailing list Brasil-PM em pm.org http://mail.pm.org/mailman/listinfo/brasil-pm -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron -------------------------------------------------------------------------------- _______________________________________________ Brasil-PM mailing list Brasil-PM em pm.org http://mail.pm.org/mailman/listinfo/brasil-pm -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From renato.cron em gmail.com Fri May 30 07:48:03 2014 From: renato.cron em gmail.com (Renato Santos) Date: Fri, 30 May 2014 11:48:03 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: <909EB6472DF14B0E8F0FAE388D3C1338@PcRicardo> References: <909EB6472DF14B0E8F0FAE388D3C1338@PcRicardo> Message-ID: Ricardo, eu não cheguei a usar a 5.18 pois eu sabia que quebrou alguns modulos do CPAN, mas eles seriam atualizados alguma hora, principalmente os utilizados por muita gente. Não cheguei a completar meu Bundle do 5.16 no 5.20, e tambem instalei sem testes no que deu, depois desisti e mandei rodar o "cpanm -n --installdeps ." nos projetos que queria testar, pois eu tenho muita coisa a mais no 5.16. Como eu não rodei os testes, eu não se mais coisa quebrou, até porque eu não teria como comparar isso com o 5.16. Isso é trabalho do CPAN Testers: http://static.cpantesters.org/ Tem alguns modulos (não lembro nome agora, acho que aqueles que usam o berkeley db) dão um certo trabalho pra passar nos testes. mas podemos ver modulo por modulo aqui: http://www.cpantesters.org/distro/C/Catalyst-Devel.html#Catalyst-Devel-1.39 eu não recomendo sair colocando versões novas assim na produção, mas nem é por causa do código do perl, e sim por causa de todos os modulos do CPAN que ainda não se atualizaram com alguma coisa deprecated, principalmente os XS. 2014-05-30 11:37 GMT-03:00 Ricardo Stock : > Gente uma pequena pergunta. > > Eu achei realmente fantastico a nova versão do perl, principalmente pela > parte de assinatura de funções... isso eu sempre achei falta no perl. Mas > vendo os graficos e o teste do Renato, fica a dúvida. > > Vale a pena atualizar agora visto que ?EU? ainda não vi possiveis > problemas que podem surgir com os códigos já em produçao, e passar por um > trabalho e risco por ganho de micro segundos, pode não vir a ser agora uma > boa ideia. Visto que hoje meu gargalo esta na conexão e não no > processamento. > > Alguem tem alguma informação sobre possiveis problemas de > incompatibilidade que possam existir entre as versoes 5.16 e a 5.20. > Pergunto isso por experiencia, pois quando atualizei o módulo json tive um > trabalho danado. > > Valeu. > > *From:* Renato Santos > *Sent:* Friday, May 30, 2014 2:18 AM > *To:* Perl Mongers do Brasil, uni-vos! > *Subject:* Re: [Brasil-PM] Perl 5.20.0 Lançado! \o/ > > Pessoas, > > depois de fazer alguns testes utilizando o programa ab para medir o tempo > de resposta médio de alguns endpoints, > e tambem de observar a CPU utilizada no final do 'forkprove' em alguns > projetos, rodando no perl 5.20 e depois no 5.16, eu observei pouca, mas > existente, perda de velocidade. > Fiquei com isso na cabeça, pois todo mundo dizendo que está mais rápido, e > não consegui ver isso na pratica. então, fui fazer um teste separado, sem > todo o ambiente do catalyst, pois como há muitos modulos, alguns do meu > 5.16 poderiam estar desatualizados em relação ao 5.20. > > pois bem, > fiz o seguinte script: > > use 5.14.2; > use warnings; > use Dumbbench; > use Dumbbench::CPUFrequencyPinner; > use Dumbbench::BoxPlot; > require Dumbbench::BoxPlot; > > my $opt = '/home/renato/perl5/perlbrew/perls/perl-5.16.2/bin/perl'; > my $unopt = '/home/renato/perl5/perlbrew/perls/perl-5.20.0/bin/perl'; > > my $code = <<'HERE'; > my %a; > $a{rand(2)}++ for 1..100000; > foreach my $x (keys %a){ > $a{$x} = $a{$x} * -1; > } > foreach my $x (reverse keys %a){ > delete $a{$x}; > } > HERE > > my $db = Dumbbench->new( > target_rel_precision => 0.005, > initial_runs => 20, > ); > > $db->add_instances( > Dumbbench::Instance::Cmd->new(command => [$unopt, '-e', $code], > name => "5.20"), > Dumbbench::Instance::Cmd->new(command => [$opt, '-e', $code], > name => "5.16"), > ); > > SCOPE: { > # Pin CPU frequency down to reduce variability > my $p = Dumbbench::CPUFrequencyPinner->new; > $SIG{INT} = sub {undef $p; exit;}; > $p->set_max_frequencies($p->min_frequencies->[0]); > $db->run; > } > > $db->report; > use DDP; p $db; > $db->box_plot->show(); > > Estou anexado o resultado em grafico, > se quiserem que eu rode mais testes, com outros codigos dentro do HERE > vocês me avisem, pois o libROOT é ~meio~ demorado pra compilar. > > > > > > 2014-05-28 21:24 GMT-03:00 Renato Santos : > >> perl-5.20.0 is successfully installed. >> >> >> hora de fazer o >> >> perl -MCPAN -e autobundle >> >> e verificar os ganhos de performance em apps reais! >> >> >> 2014-05-28 15:19 GMT-03:00 Daniel de Oliveira Mantovani < >> daniel.oliveira.mantovani em gmail.com>: >> >> garu++ >>> >>> Eu ainda não me conformo com a ida da Diana, parece que foi ontem que >>> nós enchemos a cara no Rio! >>> >>> 2014-05-28 14:27 GMT-03:00 Thiago Rondon : >>> > Garu++ >>> > >>> > Você deveria jogar este teu e-mail como artigo em portais de >>> > desenvolvedores e tecnologia. >>> > >>> > Isto é excelente para mostrar como a linguagem vem se desenvolvendo! >>> > >>> > Alias, seus e-mails, são artigos. ;-) >>> > >>> > Abs, >>> > -Thiago Rondon >>> > >>> > >>> > 2014-05-28 2:00 GMT-03:00 breno : >>> >> Oi pessoal, >>> >> >>> >> é realmente uma ótima época para o Perl 5. A comunidade internacional >>> >> continua cada vez mais ativa e a versão 20 que acabou de ser lançada é >>> >> talvez uma das mais interessantes dos últimos tempos! Vejam algumas >>> >> das novidades dessa versão: >>> >> >>> >> >>> >> Assinaturas de subrotinas >>> >> ----------------------------------- >>> >> >>> >> Até então, para pegar os argumentos passados a uma função ou método em >>> >> Perl, precisávamos manipular diretamente o @_, em código como: >>> >> >>> >> sub pessoa { >>> >> my ($nome, $idade) = @_; >>> >> print "oi $nome, vc tem $idade anos"; >>> >> } >>> >> >>> >> Agora podemos escrever: >>> >> >>> >> use feature 'signatures'; >>> >> >>> >> sub pessoa ($nome, $idade) { >>> >> print "oi $nome, vc tem $idade anos"; >>> >> } >>> >> >>> >> podemos também garantir que nossa sub não terá argumentos: >>> >> >>> >> sub pessoa () { >>> >> ... >>> >> } >>> >> >>> >> mais informações sobre essa tão esperada feature em: >>> >> >>> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures >>> >> >>> >> >>> >> >>> >> Desreferenciamento pós-fixado >>> >> ------------------------------------------ >>> >> >>> >> Até então, para desreferenciar uma variável em Perl precisávamos >>> >> envolvê-la em chaves, por exemplo: >>> >> >>> >> @lista = @{ $ref->{nomes}[3][-1]{lista} }; >>> >> >>> >> A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque >>> >> não envolve as chaves extras) e intuitiva (pq segue a lógica de ação >>> >> do resto do código, da esquerda para a direita). Nessa sintaxe, o >>> >> mesmo código acima pode ser reescrito como: >>> >> >>> >> use experimental 'postderef'; >>> >> >>> >> @lista = $ref->{nomes}[3][-1]{lista}->@*; >>> >> >>> >> Ou seja, basta acessar a referência desejada e adicionar uma última >>> >> seta, indicando no símbolo o tipo que você vai desreferenciar, seguido >>> >> de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, >>> >> escalares, subs e até mesmo globs! >>> >> >>> >> Mais detalhes em >>> >> >>> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing >>> >> >>> >> >>> >> >>> >> Hash Slices >>> >> ---------------- >>> >> >>> >> Ao manipularmos arrays, é muito comum pegar grupos de valores através >>> de slices: >>> >> >>> >> @herculoides = qw( igoo tundro gloop zok gleep ); >>> >> @irmaos = @herculoides[2,4]; >>> >> >>> >> Também conseguiamos fazer slices de hashes, mas só retornando valores >>> em listas: >>> >> >>> >> my %dados = ( >>> >> nome => 'Thaddeus "Tad" Ghostal', >>> >> apelido => 'Space Ghost', >>> >> profissao => 'Apresentador', >>> >> ); >>> >> >>> >> my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; >>> >> >>> >> Agora, no 5.20, podemos fazer hash slices completos, convertendo >>> >> hashes grandes em sub-hashes! O hash slice funciona como o array >>> >> slice: >>> >> >>> >> my %resumido = %dados{ 'nome', 'apelido' }; >>> >> >>> >> say $resumido->{apelido}; # 'Space Ghost' >>> >> >>> >> >>> >> >>> >> Outras melhorias >>> >> ----------------------- >>> >> >>> >> * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores, >>> >> com melhorias de desempenho em expressões regulares, cópia de strings, >>> >> acesso a chaves de hash e muito mais! >>> >> >>> >> * Protótipos até então eram definidos como, por exemplo: sub lala >>> >> ($$). Agora podem ser escritos como atributos da sub, ou seja: sub >>> >> lala :prototype($$). A forma antiga ainda é permitida. >>> >> >>> >> * Melhor qualidade na geração de números aleatórios, através de um >>> >> gerador independente de plataforma. >>> >> >>> >> * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). >>> >> >>> >> * Android adicionado como plataforma suportada - sim, o 5.20 compila >>> >> para Android! Instruções em: >>> >> https://github.com/Perl/perl5/blob/blead/README.android >>> >> A compilação em ambientes Windows também ficou mais rápida e portátil. >>> >> >>> >> * E muito mais! >>> >> >>> >> * CGI e Module::Build (e seus módulos associados) são alguns dos >>> >> módulos que estão deixando o core para torná-lo mais leve e moderno, >>> >> mas ainda estão disponíveis no seu mirror favorito do CPAN. >>> >> >>> >> >>> >> Obituário >>> >> ------------- >>> >> >>> >> A versão 20 do Perl 5 contém também uma homenagem a nossa querida >>> >> Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e >>> >> participante ativa da comunidade de Perl Mongers do Rio de Janeiro, >>> >> sua memória agora está gravada para sempre em uma das versões mais >>> >> importantes da linguagem que ela tanto gostava. A mensagem está no >>> >> perldelta e pode ser vista em: >>> >> >>> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary >>> >> >>> >> >>> >> Instalando >>> >> -------------- >>> >> >>> >> Pra quem usa perlbrew: perlbrew install perl-5.20.0 >>> >> >>> >> Pra quem usa plenv: plenv install perl-5.20.0 >>> >> >>> >> Difícil, não? :) >>> >> >>> >> >>> >> Estatísticas e Agradecimentos: >>> >> ------------------------------------------ >>> >> >>> >> As seguintes pessoas foram algumas das responsáveis pelo que se tornou >>> >> o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron >>> >> Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan >>> >> Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno >>> >> Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert, >>> >> Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris >>> >> 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, >>> >> Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin >>> >> McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, >>> >> David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, >>> >> Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François >>> >> Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, >>> >> H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, >>> >> James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, >>> >> Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John >>> >> P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl >>> >> Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, >>> >> Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer, >>> >> Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin >>> >> McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, >>> >> Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas >>> >> Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, >>> >> Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter >>> >> Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr >>> >> Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo >>> >> Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi >>> >> Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck, >>> >> Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom >>> >> Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, >>> >> Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, >>> >> Ævar Arnfjörð Bjarmason. >>> >> >>> >> Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento >>> >> desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por >>> >> 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl >>> >> continua florescendo em sua terceira década graças a sua vibrante >>> >> comunidade de desenvolvedores e usuários - e isso inclui você! >>> >> Obrigado por usar Perl :) >>> >> >>> >> Divirtam-se! >>> >> >>> >> >>> >> []s >>> >> >>> >> -b >>> >> _______________________________________________ >>> >> Brasil-PM mailing list >>> >> Brasil-PM em pm.org >>> >> http://mail.pm.org/mailman/listinfo/brasil-pm >>> > _______________________________________________ >>> > Brasil-PM mailing list >>> > Brasil-PM em pm.org >>> > http://mail.pm.org/mailman/listinfo/brasil-pm >>> >>> >>> >>> -- >>> >>> -dom >>> >>> -- >>> >>> Daniel de Oliveira Mantovani >>> Business Analytic Specialist >>> Perl Evangelist /Astrophysics hobbyist. >>> +55 11 9 8538-9897 >>> XOXO >>> _______________________________________________ >>> Brasil-PM mailing list >>> Brasil-PM em pm.org >>> http://mail.pm.org/mailman/listinfo/brasil-pm >>> >> >> >> >> -- >> Saravá, >> Renato CRON >> http://www.renatocron.com/blog/ >> @renato_cron >> > > > > -- > Saravá, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron > > ------------------------------ > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm > > > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm > -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From breno em rio.pm.org Fri May 30 09:49:25 2014 From: breno em rio.pm.org (breno) Date: Fri, 30 May 2014 13:49:25 -0300 Subject: [Brasil-PM] =?utf-8?q?Perl_5=2E20=2E0_Lan=C3=A7ado!_=5Co/?= In-Reply-To: References: <909EB6472DF14B0E8F0FAE388D3C1338@PcRicardo> Message-ID: Cron, o ganho em desempenho é pontual em algumas funções e padrões de código, não sei se fica de fato perceptível em um módulo completo porque há outros gargalos potenciais. Para as análises de desempenho são feitos benchmarks específicos considerando apenas trechos de código e não módulos inteiros. Mas curti a sua análise! Se quiser mais detalhes, as principais melhorias estão disponíveis em https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Performance-Enhancements, e talvez as principais sejam em expressões regulares e no novo sistema de copy-on-write. Ricardo, houve um problema com o JSON::XS no lançamento do 5.18 que estava mapeado desde o 5.17 (dev) mas o autor do módulo se recusou a corrigir até que o 5.18 fosse lançado de fato. A mudança mais problemática para o CPAN foi mesmo do 5.16 pro 5.18, que adicionava maior aleatoriedade em chaves de hash - e ainda assim em sua grande maioria apenas arquivos de teste tiveram problema . Se o seu código roda no 5.18, passar para o 5.20 não deve trazer problemas. A lista de incompatibilidades pode ser vista em https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Incompatible-Changes mas resume-se a: * "do minha_sub($arg1, $arg2);" gerava warnings de sintaxe obsoleta desde o 5.0.0 (de 1994) e agora é um erro fatal de sintaxe; * Taint mode não funcionava exatamente como documentado e agora funciona. Isso significa que, se o "taint mode" foi ativado no seu código com com a flag -T, ele vai marcar variáveis corretamente, o que não acontecia em alguns casos especificos envolvendo locales; * code points não-unicode acessados via \p{} e \P{} eram avaliados como "falso" mas agora são "verdadeiros", o que é muito mais coerente com o padrão de uso e foi tratado como um bug agora corrigido. \p{All} não era usado no CPAN e deixou de significar "todos os codepoints Unicode" para virar "todos os codepoints". \p{Any} ainda significa "todos os codepoints Unicode"; * A nova versão do Data::Dumper que vem no 5.20 exibe os dados de forma um pouco diferente dependendo das variáveis passadas e da estrutura de dados processada. Isso pode quebrar alguns testes que avaliam o conteúdo da string. Testes desse tipo deveriam na verdade avaliar o resultado da estrutura em si, e fazer eval da string do Data::Dumper se só tiverem o resultado serializado; * O caractere de ponto decimal não vaza mais pra fora do escopo do "use locale" (aleluia irmãos! isso já me mordeu antes algumas vezes). Mas a correção desse bug pode afetar quem dependia dele, então foi citado na listagem; * Os códigos de erro em sockets Windows do Perl 5.20 foram atualizados para usar o errno.h em vez do WSAGetLastError(), então algumas verificações podem falhar no Windows em módulos que capturam erros por códigos específicos; * Duas funções internas, não documentadas e não utilizadas no CPAN (a saber: PerlIO_vsprintf e PerlIO_sprintf) eram problemáticas e foram removidas. Ou seja, nada pra se preocupar. Ainda assim, como a comunidade Perl é super cuidadosa com o CPAN e retro-compatibilidade, algumas incompatibilidades foram identificadas antes do lançamento através de bisects e smokers (a BBC por exemplo é uma das empresas que gentilmente cede sua infraestrutura para testes de compatibilidade do bleadperl) e a grande maioria já foi tratada pelos autores. Os meta-tíquetes associados a isso podem ser vistos em: https://rt.perl.org/Public/Bug/Display.html?id=115910 https://rt.perl.org/Public/Bug/Display.html?id=119433 Finalmente, você deveria instalar o 5.20 não apenas por um ganho em desempenho, e sim por todas as atualizações e novas features que certamente ajudarão a escrever programas mais modernos, legíveis, elegantes e executados por um interpretador mais estável e robusto (foram 877 tíquetes fechados desde o lançamento do 5.18). Acho que são bons motivos, não? :) []s! -b 2014-05-30 11:48 GMT-03:00 Renato Santos : > Ricardo, > > eu não cheguei a usar a 5.18 pois eu sabia que quebrou alguns modulos do > CPAN, mas eles seriam atualizados alguma hora, principalmente os utilizados > por muita gente. > > Não cheguei a completar meu Bundle do 5.16 no 5.20, e tambem instalei sem > testes no que deu, depois desisti e mandei rodar o "cpanm -n --installdeps > ." nos projetos que queria testar, pois eu tenho muita coisa a mais no 5.16. > > Como eu não rodei os testes, eu não se mais coisa quebrou, até porque eu não > teria como comparar isso com o 5.16. Isso é trabalho do CPAN Testers: > http://static.cpantesters.org/ > > Tem alguns modulos (não lembro nome agora, acho que aqueles que usam o > berkeley db) dão um certo trabalho pra passar nos testes. > > > mas podemos ver modulo por modulo aqui: > http://www.cpantesters.org/distro/C/Catalyst-Devel.html#Catalyst-Devel-1.39 > > eu não recomendo sair colocando versões novas assim na produção, mas nem é > por causa do código do perl, e sim por causa de todos os modulos do CPAN que > ainda não se atualizaram com alguma coisa deprecated, principalmente os XS. > > > 2014-05-30 11:37 GMT-03:00 Ricardo Stock : > >> Gente uma pequena pergunta. >> >> Eu achei realmente fantastico a nova versão do perl, principalmente pela >> parte de assinatura de funções... isso eu sempre achei falta no perl. Mas >> vendo os graficos e o teste do Renato, fica a dúvida. >> >> Vale a pena atualizar agora visto que ?EU? ainda não vi possiveis >> problemas que podem surgir com os códigos já em produçao, e passar por um >> trabalho e risco por ganho de micro segundos, pode não vir a ser agora uma >> boa ideia. Visto que hoje meu gargalo esta na conexão e não no >> processamento. >> >> Alguem tem alguma informação sobre possiveis problemas de >> incompatibilidade que possam existir entre as versoes 5.16 e a 5.20. >> Pergunto isso por experiencia, pois quando atualizei o módulo json tive um >> trabalho danado. >> >> Valeu. >> >> From: Renato Santos >> Sent: Friday, May 30, 2014 2:18 AM >> To: Perl Mongers do Brasil, uni-vos! >> Subject: Re: [Brasil-PM] Perl 5.20.0 Lançado! \o/ >> >> Pessoas, >> >> depois de fazer alguns testes utilizando o programa ab para medir o tempo >> de resposta médio de alguns endpoints, >> e tambem de observar a CPU utilizada no final do 'forkprove' em alguns >> projetos, rodando no perl 5.20 e depois no 5.16, eu observei pouca, mas >> existente, perda de velocidade. >> Fiquei com isso na cabeça, pois todo mundo dizendo que está mais rápido, e >> não consegui ver isso na pratica. então, fui fazer um teste separado, sem >> todo o ambiente do catalyst, pois como há muitos modulos, alguns do meu 5.16 >> poderiam estar desatualizados em relação ao 5.20. >> >> pois bem, >> fiz o seguinte script: >> >> use 5.14.2; >> use warnings; >> use Dumbbench; >> use Dumbbench::CPUFrequencyPinner; >> use Dumbbench::BoxPlot; >> require Dumbbench::BoxPlot; >> >> my $opt = '/home/renato/perl5/perlbrew/perls/perl-5.16.2/bin/perl'; >> my $unopt = '/home/renato/perl5/perlbrew/perls/perl-5.20.0/bin/perl'; >> >> my $code = <<'HERE'; >> my %a; >> $a{rand(2)}++ for 1..100000; >> foreach my $x (keys %a){ >> $a{$x} = $a{$x} * -1; >> } >> foreach my $x (reverse keys %a){ >> delete $a{$x}; >> } >> HERE >> >> my $db = Dumbbench->new( >> target_rel_precision => 0.005, >> initial_runs => 20, >> ); >> >> $db->add_instances( >> Dumbbench::Instance::Cmd->new(command => [$unopt, '-e', $code], >> name => "5.20"), >> Dumbbench::Instance::Cmd->new(command => [$opt, '-e', $code], >> name => "5.16"), >> ); >> >> SCOPE: { >> # Pin CPU frequency down to reduce variability >> my $p = Dumbbench::CPUFrequencyPinner->new; >> $SIG{INT} = sub {undef $p; exit;}; >> $p->set_max_frequencies($p->min_frequencies->[0]); >> $db->run; >> } >> >> $db->report; >> use DDP; p $db; >> $db->box_plot->show(); >> >> Estou anexado o resultado em grafico, >> se quiserem que eu rode mais testes, com outros codigos dentro do HERE >> vocês me avisem, pois o libROOT é ~meio~ demorado pra compilar. >> >> >> >> >> >> 2014-05-28 21:24 GMT-03:00 Renato Santos : >>> >>> perl-5.20.0 is successfully installed. >>> >>> >>> hora de fazer o >>> >>> perl -MCPAN -e autobundle >>> >>> e verificar os ganhos de performance em apps reais! >>> >>> >>> 2014-05-28 15:19 GMT-03:00 Daniel de Oliveira Mantovani >>> : >>> >>>> garu++ >>>> >>>> Eu ainda não me conformo com a ida da Diana, parece que foi ontem que >>>> nós enchemos a cara no Rio! >>>> >>>> 2014-05-28 14:27 GMT-03:00 Thiago Rondon : >>>> > Garu++ >>>> > >>>> > Você deveria jogar este teu e-mail como artigo em portais de >>>> > desenvolvedores e tecnologia. >>>> > >>>> > Isto é excelente para mostrar como a linguagem vem se desenvolvendo! >>>> > >>>> > Alias, seus e-mails, são artigos. ;-) >>>> > >>>> > Abs, >>>> > -Thiago Rondon >>>> > >>>> > >>>> > 2014-05-28 2:00 GMT-03:00 breno : >>>> >> Oi pessoal, >>>> >> >>>> >> é realmente uma ótima época para o Perl 5. A comunidade internacional >>>> >> continua cada vez mais ativa e a versão 20 que acabou de ser lançada >>>> >> é >>>> >> talvez uma das mais interessantes dos últimos tempos! Vejam algumas >>>> >> das novidades dessa versão: >>>> >> >>>> >> >>>> >> Assinaturas de subrotinas >>>> >> ----------------------------------- >>>> >> >>>> >> Até então, para pegar os argumentos passados a uma função ou método >>>> >> em >>>> >> Perl, precisávamos manipular diretamente o @_, em código como: >>>> >> >>>> >> sub pessoa { >>>> >> my ($nome, $idade) = @_; >>>> >> print "oi $nome, vc tem $idade anos"; >>>> >> } >>>> >> >>>> >> Agora podemos escrever: >>>> >> >>>> >> use feature 'signatures'; >>>> >> >>>> >> sub pessoa ($nome, $idade) { >>>> >> print "oi $nome, vc tem $idade anos"; >>>> >> } >>>> >> >>>> >> podemos também garantir que nossa sub não terá argumentos: >>>> >> >>>> >> sub pessoa () { >>>> >> ... >>>> >> } >>>> >> >>>> >> mais informações sobre essa tão esperada feature em: >>>> >> >>>> >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures >>>> >> >>>> >> >>>> >> >>>> >> Desreferenciamento pós-fixado >>>> >> ------------------------------------------ >>>> >> >>>> >> Até então, para desreferenciar uma variável em Perl precisávamos >>>> >> envolvê-la em chaves, por exemplo: >>>> >> >>>> >> @lista = @{ $ref->{nomes}[3][-1]{lista} }; >>>> >> >>>> >> A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque >>>> >> não envolve as chaves extras) e intuitiva (pq segue a lógica de ação >>>> >> do resto do código, da esquerda para a direita). Nessa sintaxe, o >>>> >> mesmo código acima pode ser reescrito como: >>>> >> >>>> >> use experimental 'postderef'; >>>> >> >>>> >> @lista = $ref->{nomes}[3][-1]{lista}->@*; >>>> >> >>>> >> Ou seja, basta acessar a referência desejada e adicionar uma última >>>> >> seta, indicando no símbolo o tipo que você vai desreferenciar, >>>> >> seguido >>>> >> de um asterisco. Podemos desreferenciar dessa forma arrays, hashes, >>>> >> escalares, subs e até mesmo globs! >>>> >> >>>> >> Mais detalhes em >>>> >> >>>> >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing >>>> >> >>>> >> >>>> >> >>>> >> Hash Slices >>>> >> ---------------- >>>> >> >>>> >> Ao manipularmos arrays, é muito comum pegar grupos de valores através >>>> >> de slices: >>>> >> >>>> >> @herculoides = qw( igoo tundro gloop zok gleep ); >>>> >> @irmaos = @herculoides[2,4]; >>>> >> >>>> >> Também conseguiamos fazer slices de hashes, mas só retornando valores >>>> >> em listas: >>>> >> >>>> >> my %dados = ( >>>> >> nome => 'Thaddeus "Tad" Ghostal', >>>> >> apelido => 'Space Ghost', >>>> >> profissao => 'Apresentador', >>>> >> ); >>>> >> >>>> >> my ($nome, $apelido) = @dados{ 'nome', 'apelido' }; >>>> >> >>>> >> Agora, no 5.20, podemos fazer hash slices completos, convertendo >>>> >> hashes grandes em sub-hashes! O hash slice funciona como o array >>>> >> slice: >>>> >> >>>> >> my %resumido = %dados{ 'nome', 'apelido' }; >>>> >> >>>> >> say $resumido->{apelido}; # 'Space Ghost' >>>> >> >>>> >> >>>> >> >>>> >> Outras melhorias >>>> >> ----------------------- >>>> >> >>>> >> * Melhor desempenho - o 5.20 está ainda mais rápido que os >>>> >> anteriores, >>>> >> com melhorias de desempenho em expressões regulares, cópia de >>>> >> strings, >>>> >> acesso a chaves de hash e muito mais! >>>> >> >>>> >> * Protótipos até então eram definidos como, por exemplo: sub lala >>>> >> ($$). Agora podem ser escritos como atributos da sub, ou seja: sub >>>> >> lala :prototype($$). A forma antiga ainda é permitida. >>>> >> >>>> >> * Melhor qualidade na geração de números aleatórios, através de um >>>> >> gerador independente de plataforma. >>>> >> >>>> >> * Suporte a Unicode 6.3 (versão anterior suportava o 6.2). >>>> >> >>>> >> * Android adicionado como plataforma suportada - sim, o 5.20 compila >>>> >> para Android! Instruções em: >>>> >> https://github.com/Perl/perl5/blob/blead/README.android >>>> >> A compilação em ambientes Windows também ficou mais rápida e >>>> >> portátil. >>>> >> >>>> >> * E muito mais! >>>> >> >>>> >> * CGI e Module::Build (e seus módulos associados) são alguns dos >>>> >> módulos que estão deixando o core para torná-lo mais leve e moderno, >>>> >> mas ainda estão disponíveis no seu mirror favorito do CPAN. >>>> >> >>>> >> >>>> >> Obituário >>>> >> ------------- >>>> >> >>>> >> A versão 20 do Perl 5 contém também uma homenagem a nossa querida >>>> >> Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e >>>> >> participante ativa da comunidade de Perl Mongers do Rio de Janeiro, >>>> >> sua memória agora está gravada para sempre em uma das versões mais >>>> >> importantes da linguagem que ela tanto gostava. A mensagem está no >>>> >> perldelta e pode ser vista em: >>>> >> >>>> >> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary >>>> >> >>>> >> >>>> >> Instalando >>>> >> -------------- >>>> >> >>>> >> Pra quem usa perlbrew: perlbrew install perl-5.20.0 >>>> >> >>>> >> Pra quem usa plenv: plenv install perl-5.20.0 >>>> >> >>>> >> Difícil, não? :) >>>> >> >>>> >> >>>> >> Estatísticas e Agradecimentos: >>>> >> ------------------------------------------ >>>> >> >>>> >> As seguintes pessoas foram algumas das responsáveis pelo que se >>>> >> tornou >>>> >> o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron >>>> >> Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, >>>> >> Alan >>>> >> Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno >>>> >> Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad >>>> >> Gilbert, >>>> >> Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris >>>> >> 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry, >>>> >> Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin >>>> >> McBride, David Golden, David Leadbeater, David Mitchell, David Nicol, >>>> >> David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis, >>>> >> Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, >>>> >> François >>>> >> Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop, >>>> >> H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn, >>>> >> James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson, >>>> >> Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John >>>> >> P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, >>>> >> Karl >>>> >> Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone, >>>> >> Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel >>>> >> Grünauer, >>>> >> Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin >>>> >> McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz, >>>> >> Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas >>>> >> Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth, >>>> >> Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter >>>> >> Rabbitson, Petr Písa?, Philip Boulain, Philip Guenther, Piotr >>>> >> Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo >>>> >> Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi >>>> >> Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan >>>> >> Beck, >>>> >> Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom >>>> >> Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi, >>>> >> Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus, >>>> >> Ævar Arnfjörð Bjarmason. >>>> >> >>>> >> Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento >>>> >> desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas >>>> >> por >>>> >> 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl >>>> >> continua florescendo em sua terceira década graças a sua vibrante >>>> >> comunidade de desenvolvedores e usuários - e isso inclui você! >>>> >> Obrigado por usar Perl :) >>>> >> >>>> >> Divirtam-se! >>>> >> >>>> >> >>>> >> []s >>>> >> >>>> >> -b >>>> >> _______________________________________________ >>>> >> Brasil-PM mailing list >>>> >> Brasil-PM em pm.org >>>> >> http://mail.pm.org/mailman/listinfo/brasil-pm >>>> > _______________________________________________ >>>> > Brasil-PM mailing list >>>> > Brasil-PM em pm.org >>>> > http://mail.pm.org/mailman/listinfo/brasil-pm >>>> >>>> >>>> >>>> -- >>>> >>>> -dom >>>> >>>> -- >>>> >>>> Daniel de Oliveira Mantovani >>>> Business Analytic Specialist >>>> Perl Evangelist /Astrophysics hobbyist. >>>> +55 11 9 8538-9897 >>>> XOXO >>>> _______________________________________________ >>>> Brasil-PM mailing list >>>> Brasil-PM em pm.org >>>> http://mail.pm.org/mailman/listinfo/brasil-pm >>> >>> >>> >>> >>> -- >>> Saravá, >>> Renato CRON >>> http://www.renatocron.com/blog/ >>> @renato_cron >> >> >> >> >> -- >> Saravá, >> Renato CRON >> http://www.renatocron.com/blog/ >> @renato_cron >> >> ________________________________ >> _______________________________________________ >> Brasil-PM mailing list >> Brasil-PM em pm.org >> http://mail.pm.org/mailman/listinfo/brasil-pm >> >> >> _______________________________________________ >> Brasil-PM mailing list >> Brasil-PM em pm.org >> http://mail.pm.org/mailman/listinfo/brasil-pm > > > > > -- > Saravá, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron > > _______________________________________________ > Brasil-PM mailing list > Brasil-PM em pm.org > http://mail.pm.org/mailman/listinfo/brasil-pm From breno em rio.pm.org Tue Jun 24 06:11:20 2014 From: breno em rio.pm.org (breno) Date: Tue, 24 Jun 2014 09:11:20 -0400 Subject: [Brasil-PM] YAPC::NA live streaming Message-ID: Oi pessoal, pra quem não sabe, o YAPC::NA 2014 está acontecendo nesse momento em Orlando, nos EUA. O primeiro dia de palestras foi ontem, e eles estão transmitindo tudo ao vivo pelo YouTube! As palestras de ontem, bem como link para a transmissão ao vivo, estão em: https://www.youtube.com/user/yapcna A qualidade é muito boa e o streaming está funcionando perfeitamente. Aproveitem! []s -b From edu_eddy em yahoo.com.br Wed Jun 25 17:48:03 2014 From: edu_eddy em yahoo.com.br (Eduardo Lemons) Date: Wed, 25 Jun 2014 17:48:03 -0700 Subject: [Brasil-PM] =?iso-8859-1?q?=5BJobs=5D_Vaga=3A_=22Analista_Desenvo?= =?iso-8859-1?q?lvedor_Perl=22_=28Paran=E1=29?= Message-ID: <1403743683.84600.YahooMailNeo@web125201.mail.ne1.yahoo.com> Saudações a todos! Gostaria de saber quem de vós tem conhecimento em Perl para Web, preferencialmente conhecimentos sobre Catalyst, Moose e DBIx::Class, e gostaria de uma oportunidade de se tornar um Desenvolvedor e Analista Perl em uma empresa em São José dos Pinhais - PR (cidade da região metropolitana de Curitiba). A empresa se chama Sascar, e atua no ramo de rastreamento de veículos e cargas. O funcionário que for selecionado ficará alocado na unidade do Paraná da empresa, em uma equipe grande de analistas e desenvolvedores de diversas linguagens. O contrato de trabalho é CLT, 44 horas semanais, salário à combinar na entrevista. Não possuo mais informações sobre a vaga, assim que os currículos forem encaminhados, o pessoal de RH entrará em contato e pode tirar dúvidas e agendar a entrevista. Favor, enviar currículos para: edu_eddy em yahoo.com.br ou eduardo.lemons em sascar.com.br Obrigado! -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: