[Brasil-PM] Perl 5.20.0 Lançado! \o/

Thiago Rondon thiago em aware.com.br
Quarta Maio 28 10:27:47 PDT 2014


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 <breno em rio.pm.org>:
> 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


Mais detalhes sobre a lista de discussão Brasil-PM