Your SlideShare is downloading. ×
Perl Moderno, dia2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Perl Moderno, dia2

1,420
views

Published on

Curso de verão para alunos de graduação e pós-graduação da UFRJ

Curso de verão para alunos de graduação e pós-graduação da UFRJ

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,420
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PerlModerno.Breno G. de Oliveira garu@cpan.orgBruno C. Buss bbuss@cpan.org Perl Moderno
  • 2. Dia #2 Perl Moderno
  • 3. Revisão . Perl . Variáveis escalares . Manipulação de números . Manipulação de strings . Escrever na tela . Ler do teclado . Ler de arquivos Perl Moderno
  • 4. Strings, revisitadas Perl Moderno
  • 5. my $string = usando aspas; Perl Moderno
  • 6. my $string = usando aspas; Perl Moderno
  • 7. my $string = usando aspas; Perl Moderno
  • 8. my $string = usando aspas; Perl Moderno
  • 9. my $string = q{usando aspas}; Perl Moderno
  • 10. my $string = q|usando aspas|; Perl Moderno
  • 11. utilize q{} para aspas simples e qq{} para aspas duplassempre que julgar necessário Perl Moderno
  • 12. Executandoprogramas externos Perl Moderno
  • 13. my $saida = `./outroprog`; Perl Moderno
  • 14. my $saida = qx{./outroprog}; Perl Moderno
  • 15. my $saida = qx./outroprog; Perl Moderno
  • 16. exec ./outroprog; Perl Moderno
  • 17. system ./outroprog; Perl Moderno
  • 18. system ( ./outroprog ) == 0 or die erro de execução; Perl Moderno
  • 19. use autodie;system ./outroprog; Perl Moderno
  • 20. use vírgulas para separarargumentos de programas externos Perl Moderno
  • 21. Arrays Perl Moderno
  • 22. my @lista = ( 1, 2, 3); Perl Moderno
  • 23. my @lista = ( 1, abc, $nome ); Perl Moderno
  • 24. my @lista = ( 1 .. 100 ); Perl Moderno
  • 25. my @lista = ( a .. z ); Perl Moderno
  • 26. my @herculoides = ( Igoo, Tundro, Zok, Gloop, Gleep,); Perl Moderno
  • 27. my @herculoides = ( Igoo, Tundro, Zok, Gloop, Gleep,); Perl Moderno
  • 28. coloque vírgula após o último elemento de um array longopara facilitar novas inclusões Perl Moderno
  • 29. my @numeros = ( um, dois, três ); Perl Moderno
  • 30. my @numeros = qw( um dois três ); Perl Moderno
  • 31. Manipulando arrays Perl Moderno
  • 32. my @numeros = qw( um dois três ); Perl Moderno
  • 33. my @numeros = qw( um dois três );say $numeros[0]; # um Perl Moderno
  • 34. my @numeros = qw( um dois três );say $numeros[-1]; # três Perl Moderno
  • 35. my @numeros = qw( um dois três );$numeros[9] = 42; Perl Moderno
  • 36. my @numeros = qw( um dois três );$numeros[9] = 42; # autovivificação Perl Moderno
  • 37. foreach my $i ( 1, 2, 3 ) { say $i;} Perl Moderno
  • 38. foreach my $i ( @numeros ) { say $i;} Perl Moderno
  • 39. foreach ( @numeros ) { say;} Perl Moderno
  • 40. foreach my $i ( 1 .. @numeros ) { say $numeros[$i - 1];} Perl Moderno
  • 41. foreach my $i ( 0 .. $#numeros ) { say $numeros[$i];} Perl Moderno
  • 42. die “elementos insuficientes” unless @itens > 3; Perl Moderno
  • 43. em Perl, o contexto de suasexpressões define o resultado Perl Moderno
  • 44. my @linguagens = qw( Perl C++ );say @linguagens;say scalar @linguagens; Perl Moderno
  • 45. my @linguagens = qw( Perl C++ );say “@linguagens”;say scalar @linguagens; Perl Moderno
  • 46. use autodie;open my $fh, <, arquivo.txt;while ( my $linha = <$fh> ) { ...}close $fh; Perl Moderno
  • 47. use autodie;open my $fh, <, arquivo.txt;my @linhas = <$fh>;close $fh; Perl Moderno
  • 48. pergunta! my $um = 10; my $outro = 99; como passar o valor de$um para $outro, e vice-versa? Perl Moderno
  • 49. pergunta!my $um = 10;my $outro = 99;my $temp = $um;$um = $outro;$outro = $temp; Perl Moderno
  • 50. desafio! my $um = 10; my $outro = 99; como passar o valor de $um para $outro, e vice-versa,SEM USAR VARIÁVEL TEMPORÁRIA (nem escovar bits com XOR)? Perl Moderno
  • 51. desafio!my $um = 10;my $outro = 99;($um, $outro) = ($outro, $um); Perl Moderno
  • 52. my @numeros = ( 2, 40, 10, 1 );my @invertido = reverse @numeros; Perl Moderno
  • 53. my @numeros = ( 2, 40, 10, 1 );my @ordenado = sort @numeros; Perl Moderno
  • 54. my @numeros = ( 2, 40, 10, 1 );my @ordenado = sort { $a <=> $b } @numeros; Perl Moderno
  • 55. my @numeros = ( 2, 40, 10, 1 );my @ordenado = sort { $b <=> $a } @numeros; Perl Moderno
  • 56. my @numeros = ( um, dois );my @ordenado = sort @numeros; Perl Moderno
  • 57. my @numeros = ( um, dois );my @ordenado = sort { $a cmp $b } @numeros; Perl Moderno
  • 58. my @numeros = ( um, dois );my @ordenado = sort { $b cmp $a } @numeros; Perl Moderno
  • 59. my @numeros = ( 2, 40, 10, 1 );my $junto = join :, @numeros; Perl Moderno
  • 60. my @numeros = ( 2, 40, 10, 1 );my $junto = join :, @numeros;my @separado = split /:/, $junto; Perl Moderno
  • 61. my @numeros = ( 2, 40, 10, 1 );my $primeiro = shift @numeros;my $ultimo = pop @numeros; Perl Moderno
  • 62. my @numeros = ( 2, 40, 10, 1 );unshift @numeros, $primeiro;push @numeros, $ultimo; Perl Moderno
  • 63. my @numeros = ( 2, 40, 10, 1 );splice @numeros, $pos, $n, @outros; Perl Moderno
  • 64. my @numeros = ( 2, 40, 10, 1 );splice @numeros, 1, 1; Perl Moderno
  • 65. my @numeros = ( 2, 40, 10, 1 );delete $numeros[1]; Perl Moderno
  • 66. my @numeros = ( 2, 40, 10, 1 );my @pequenos = grep { $_ < 10 } @numeros; Perl Moderno
  • 67. my @nomes = qw( igoo tundro zok );my @filtrados = map { ucfirst } @nomes; Perl Moderno
  • 68. minstr max min maxstr use List::Util first shuffle sum reduce Perl Moderno
  • 69. any none after before minmax notallall pairwise use List::MoreUtilstrue first_index last_index distinct false mesh Perl Moderno
  • 70. Hashes Perl Moderno
  • 71. my %stones = ( voz => Jagger, guitarra => Richards, baixo => Wyman, bateria => Watts,); Perl Moderno
  • 72. my %stones = ( voz => Jagger, guitarra => Richards, baixo => Wyman, bateria => Watts,); Perl Moderno
  • 73. my %stones = ( voz => Jagger, guitarra => Richards, baixo => Wyman, bateria => Watts,); Perl Moderno
  • 74. my %stones = ( voz => Jagger, guitarra => Richards, baixo => Wyman, bateria => Watts,); Perl Moderno
  • 75. Manipulando hashes Perl Moderno
  • 76. say $stones{voz}; Perl Moderno
  • 77. say $stones{voz};Jagger Perl Moderno
  • 78. if ($ano > 1990) { $stones{baixo} = Jones;} Perl Moderno
  • 79. if ($ano > 1990) { $stones{baixo} = Jones;}delete $stones{baixo}; Perl Moderno
  • 80. if ( exists $stones{teclado} ) { say Stewart ou Leavell?;} Perl Moderno
  • 81. my @chaves = keys %stones; Perl Moderno
  • 82. my @chaves = keys %stones;say “@chaves”;guitarra bateria baixo voz Perl Moderno
  • 83. my @valores = values %stones; Perl Moderno
  • 84. my @valores = values %stones;say “@valores”;Richards Watts Wyman Jagger Perl Moderno
  • 85. my $chave = voz;say $stones{ $chave }; Perl Moderno
  • 86. my $chave = voz;say $stones{ $chave };Jagger Perl Moderno
  • 87. foreach my $chave ( voz, guitarra ) { say $stones{ $chave };}JaggerRichards Perl Moderno
  • 88. foreach my $chave ( keys %stones ) { say $stones{ $chave };}RichardsWattsWymanJagger Perl Moderno
  • 89. foreach my $chave ( sort keys %stones ) { say $stones{ $chave };}WymanWattsRichardsJagger Perl Moderno
  • 90. foreach my $valor ( sort values %stones ) { say $valor;}JaggerRichardsWattsWyman Perl Moderno
  • 91. while ( my ($k, $v) = each %stones ) { say “chave $k possui valor $v”;}chave guitarra possui valor Richardschave bateria possui valor Wattschave baixo possui valor Wymanchave voz possui valor Jagger Perl Moderno
  • 92. Exercícios! Perl Moderno