Perl Moderno, dia2

  • 1,393 views
Uploaded 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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,393
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
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