PerlModerno.Breno G. de Oliveira   garu@cpan.orgBruno C. Buss          bbuss@cpan.org                                     ...
Dia #4         Perl Moderno
Revisão  . Referências  . Arrays/hashes anônimos  . Funções (e funções anônimas)  . Exceções com stack tracing (Carp)  . @...
Expressões Regulares                Perl Moderno
http://xkcd.com/208/                       Perl Moderno
m//      Perl Moderno
//     Perl Moderno
m//      Perl Moderno
m{}      Perl Moderno
$var =~ m//         Perl Moderno
$var !~ m//         Perl Moderno
if ( $var =~ m/UFRJ/ ) {     say Yay!;}                     Perl Moderno
if ( $var =~ /UFRJ/ ) {     say Yay!;}                      Perl Moderno
if ( $var !~ /UFRJ/ ) {     say humpf.;}                      Perl Moderno
if ( $var !~ m/UFRJ/ ) {     say humpf.;}                     Perl Moderno
Modificadores            Perl Moderno
my $frase = aluno da UFRJ;if ( $frase =~ m/UFRJ/i ) {     say Yay!;}                          Perl Moderno
my $frase = aluno da ufrj;if ( $frase =~ m/UFRJ/i ) {     say Yay!;}                          Perl Moderno
my $frase = aluno da uFRj;if ( $frase =~ m/UFRJ/i ) {     say Yay!;}                          Perl Moderno
my $frase = UFRJufrjUFRJ;my $n = 0;while ( $frase =~ m/UFRJ/g ) {    $n++;}say “UFRJ aparece $n vezes”;                   ...
my $frase = UFRJufrjUFRJ;my $n = 0;while ( $frase =~ m/UFRJ/ig ) {    $n++;}say “UFRJ aparece $n vezes”;                  ...
Âncoras          Perl Moderno
my $frase = aluno da UFRJ;if ( $frase =~ m/UFRJ$/ ) {     say Yay!;}                          Perl Moderno
my $frase = aluno da UFRJ;if ( $frase =~ m/^UFRJ/ ) {     say Yay!;}                         Perl Moderno
my $frase = aluno da UFRJ;if ( $frase =~ m/^UFRJ$/ ) {    say Yay!;}                         Perl Moderno
my $frase = aluno da UFRJ;if ( $frase =~ m/bUFRJb/ ) {     say Yay!;}                          Perl Moderno
Classes (conjuntos)   de caracteres                Perl Moderno
if ( $linguagem =~ m/[pP]erl/ ) {    say Yay!;}                           Perl Moderno
if ( $animal =~ m/[rg]ato/ ) {     say Yay!;}                           Perl Moderno
if ( $animal =~ m/[^rg]ato/ ) {     say Yay!;}                           Perl Moderno
if ( $valor =~ m/[a-z]/ ) {     say existe uma letra!;}                              Perl Moderno
if ( $valor =~ m/[a-zA-Z]/ ) {     say existe uma letra!;}                            Perl Moderno
if ( $valor =~ m/[a-z]/i ) {     say existe uma letra!;}                               Perl Moderno
if ( $valor =~ m/item[0-9]/ ) {     say item encontrado!;}                           Perl Moderno
if ( $valor =~ m/itemd/ ) {     say item encontrado!;}                               Perl Moderno
d   dígitosw   caracteres de palavras   espaços.    qualquer coisa (exceto n)                       Perl Moderno
D   não dígitosW   não caracteres de palavraS   não espaços                      Perl Moderno
sempre que precisarcasar algum meta caractere,        escape com                       Perl Moderno
my $frase = cachorros e gatos;if ( $frase =~ m/gato|cachorro/ ) {     say animal encontrado!;}                            ...
my $frase = cachorros e gatos;if ( $frase =~ m/gato[s]|cachorro[s]/ ) {     say animal no plural encontrado!;}            ...
my $frase = cachorros e gatos;if ( $frase =~ m/(gato|cachorro)[s]/ ) {     say animal no plural encontrado!;}             ...
my $frase = cachorros e gatos;if ( $frase =~ m/(gato|cachorro)s/ ) {     say animal no plural encontrado!;}               ...
my $frase = cachorros e gatos;if ( $frase =~ m/(gato|cachorro)s/ ) {     say $1;}                                         ...
my $frase = cachorros e gatos;if ( $frase =~ m/(?:gato|cachorro)s/ ) {     say $1;}                                       ...
my $frase = cachorros e gatos;if ( $frase =~ m/(?<bicho>gato|cachorro)s/ ) {    say $+{bicho};}                           ...
exercício  Faça um programa que leia  uma frase e diga se a siglade alguma UFXX foi encontrada        (e diga qual)       ...
Quantificadores              Perl Moderno
a?       a, 0 ou 1 vezesa*       a, 0 ou mais vezesa+       a, 1 ou mais vezesa{n}     a, exatamente n vezesa{n,}    a, n ...
my $frase = o gato no mato;if ( $frase =~ m/(.*)ato/ ) {     say $1;}                                Perl Moderno
my $frase = o gato no mato;if ( $frase =~ m/(.*)ato/ ) {     say $1;}o gato no m                                Perl Moderno
quantificadores são “gulosos” por padrão. Adicione um ?  após o quantificador para   casar o mínimo possível              ...
gulosoa?       a, 0 ou 1 vezesa*       a, 0 ou mais vezesa+       a, 1 ou mais vezesa{n}     a, exatamente n vezesa{n,}   ...
não gulosoa??      a, 0 ou 1 vezesa*?      a, 0 ou mais vezesa+?      a, 1 ou mais vezesa{n}?    a, exatamente n vezesa{n,...
my $frase = o gato no mato;if ( $frase =~ m/(.*)ato/ ) {     say $1;}                                Perl Moderno
my $frase = o gato no mato;if ( $frase =~ m/(.*?)ato/ ) {     say $1;}                                 Perl Moderno
my $frase = o gato no mato;if ( $frase =~ m/(.*?)ato/ ) {     say $1;}og                                 Perl Moderno
exercícioFaça um programa que leia umafrase e, se houver uma hora no formato “HH:MM”, diga a horaencontrada e quantos segu...
m/^[.+].+(UFww)s*:s*(S.+)$/                               Perl Moderno
m{     ^          # início da string     [.+]       # . ou +     .+         # um ou mais caracteres     (UFww)   # sigla d...
m{     ^                  # início da string     [.+]               # . ou +     .+                 # um ou mais caractere...
m//      Perl Moderno
s///       Perl Moderno
s{}{}        Perl Moderno
$var =~ s/abc/def/;                Perl Moderno
$var =~ s/abc/def/g;                Perl Moderno
$var =~ s/^(w+)/$1/;                     Perl Moderno
expressões Regulares são extremamente    poderosas, com backreferences, lookahead/behind, reposicionamento, e muito mais. ...
exercício  Modifique o programa dassiglas para ler de um arquivo e exibir na tela o conteúdo,      trocando todas as   oco...
Perl Moderno
use Regex::Common              Perl Moderno
use Regex::Grammars               Perl Moderno
(revisitando)    Executandoprogramas externos                    Perl Moderno
use Capture::Tiny;                Perl Moderno
use Capture::Tiny capture;my ($stdout, $stderr) = capture {     system ./outroprog;};                               Perl M...
Tratamento de   exceções            Perl Moderno
say $dividendo / $divisor;                    Perl Moderno
eval {   say $dividendo / $divisor;};                        Perl Moderno
eval {     say $dividendo / $divisor;};if ($@) {     say “erro! $@”;};                         Perl Moderno
eval “my $var = 42”;                 Perl Moderno
não faça eval() de stringsa menos que realmente saiba     o que está fazendo                       Perl Moderno
use Try::Tiny;            Perl Moderno
use Try::Tiny;try {     $dividendo / $divisor;};                              Perl Moderno
use Try::Tiny;try {     $dividendo / $divisor;} catch {     say “erro! $_”;};                              Perl Moderno
use Try::Tiny;try {     $dividendo / $divisor;} catch {     say “erro! $_”;} finally {     $divisor = 1;};                ...
Data e Hora              Perl Moderno
my $time = time;                   Perl Moderno
my $time = time;1297345734                   Perl Moderno
my $time = localtime;                        Perl Moderno
my $time = localtime;Thu Feb 10 11:52:34 2011                        Perl Moderno
my @time = localtime;                    Perl Moderno
use DateTime;my $data = DateTime­>new(        year  => 2011,         month => 2,         day   => 7, );my $agora = DateTim...
Arquivose Diretórios               Perl Moderno
use Path::Class;my $dir     = dir(meu,dir);my $arquivo = file(dir,arq.txt);say ”$arquivo”;say $arquivo­>dir;my $fh = $arqu...
use File::HomeDir para encontrar      o “home” do usuário, e   File::ShareDir para diretóriosde dados estáticos de sua apl...
Arquivos deConfiguração               Perl Moderno
use Config::Any;my $config = Config::Any­>load_files(    { files => [1.conf, 2.json] });                              Perl...
Logging          Perl Moderno
logging “tradicional” say  “Aqui.”;                    Perl Moderno
logging “tradicional”   debugging               SURADOprint “FUNCIONA PORRA!!”;            CEN                        Perl...
use Log::Log4perl qw(:easy);Log::Log4perl­>easy_init( $INFO );  DEBUG “Isso nao é exibido”;  INFO “Mas isso é o/”;  ERROR ...
além do “modo simples”, oLog::Log4perl possui muitas configurações poderosas.                       Perl Moderno
Criando Módulos            Perl Moderno
lib/Meu/Modulo.pm               Perl Moderno
package Meu::Modulo;                Perl Moderno
package Meu::Modulo;use 5.12.0;use warnings;sub minha_funcao {  …}1;                       Perl Moderno
package Meu::Modulo;use 5.12.0;use warnings;sub minha_funcao {  …}1;                       Perl Moderno
usando módulos não instalados             Perl Moderno
use lib lib;use Meu::Modulo;Meu::Modulo::minha_funcao();                        Perl Moderno
use FindBin $Bin;use lib $Bin . /lib;use Meu::Modulo;Meu::Modulo::minha_funcao();                         Perl Moderno
Exportando funções               Perl Moderno
package Meu::Modulo;use 5.12.0;use warnings;sub minha_funcao {  …}1;                       Perl Moderno
package Meu::Modulo;use 5.12.0;use warnings;use parent Exporter;our @EXPORT = qw( minha_funcao );sub minha_funcao {  …}1; ...
use lib lib;use Meu::Modulo;Meu::Modulo::minha_funcao();                        Perl Moderno
use lib lib;use Meu::Modulo;minha_funcao();                   Perl Moderno
Evite exportar muitas funções parao namespace do invocante, a menos   que esteja definindo uma DSL    ou saiba o que está ...
package Meu::Modulo;use 5.12.0;use warnings;use parent Exporter;our @EXPORT = qw( minha_funcao );sub minha_funcao {  …}1; ...
package Meu::Modulo;use 5.12.0;use warnings;use parent Exporter;our @EXPORT_OK = qw( minha_funcao );sub minha_funcao {  …}...
use lib lib;use Meu::Modulo;minha_funcao();                   Perl Moderno
use lib lib;use Meu::Modulo minha_funcao;minha_funcao();                        Perl Moderno
Não importe nada colocando ()depois da declaração do módulo        use Modulo ();                          Perl Moderno
Upcoming SlideShare
Loading in …5
×

Perl Moderno, dia4

1,308 views
1,220 views

Published on

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,308
On SlideShare
0
From Embeds
0
Number of Embeds
32
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Perl Moderno, dia4

  1. 1. PerlModerno.Breno G. de Oliveira garu@cpan.orgBruno C. Buss bbuss@cpan.org Perl Moderno
  2. 2. Dia #4 Perl Moderno
  3. 3. Revisão . Referências . Arrays/hashes anônimos . Funções (e funções anônimas) . Exceções com stack tracing (Carp) . @ARGV e Getopt::Long . CPAN <3 Perl Moderno
  4. 4. Expressões Regulares Perl Moderno
  5. 5. http://xkcd.com/208/ Perl Moderno
  6. 6. m// Perl Moderno
  7. 7. // Perl Moderno
  8. 8. m// Perl Moderno
  9. 9. m{} Perl Moderno
  10. 10. $var =~ m// Perl Moderno
  11. 11. $var !~ m// Perl Moderno
  12. 12. if ( $var =~ m/UFRJ/ ) { say Yay!;} Perl Moderno
  13. 13. if ( $var =~ /UFRJ/ ) { say Yay!;} Perl Moderno
  14. 14. if ( $var !~ /UFRJ/ ) { say humpf.;} Perl Moderno
  15. 15. if ( $var !~ m/UFRJ/ ) { say humpf.;} Perl Moderno
  16. 16. Modificadores Perl Moderno
  17. 17. my $frase = aluno da UFRJ;if ( $frase =~ m/UFRJ/i ) { say Yay!;} Perl Moderno
  18. 18. my $frase = aluno da ufrj;if ( $frase =~ m/UFRJ/i ) { say Yay!;} Perl Moderno
  19. 19. my $frase = aluno da uFRj;if ( $frase =~ m/UFRJ/i ) { say Yay!;} Perl Moderno
  20. 20. my $frase = UFRJufrjUFRJ;my $n = 0;while ( $frase =~ m/UFRJ/g ) { $n++;}say “UFRJ aparece $n vezes”; Perl Moderno
  21. 21. my $frase = UFRJufrjUFRJ;my $n = 0;while ( $frase =~ m/UFRJ/ig ) { $n++;}say “UFRJ aparece $n vezes”; Perl Moderno
  22. 22. Âncoras Perl Moderno
  23. 23. my $frase = aluno da UFRJ;if ( $frase =~ m/UFRJ$/ ) { say Yay!;} Perl Moderno
  24. 24. my $frase = aluno da UFRJ;if ( $frase =~ m/^UFRJ/ ) { say Yay!;} Perl Moderno
  25. 25. my $frase = aluno da UFRJ;if ( $frase =~ m/^UFRJ$/ ) { say Yay!;} Perl Moderno
  26. 26. my $frase = aluno da UFRJ;if ( $frase =~ m/bUFRJb/ ) { say Yay!;} Perl Moderno
  27. 27. Classes (conjuntos) de caracteres Perl Moderno
  28. 28. if ( $linguagem =~ m/[pP]erl/ ) { say Yay!;} Perl Moderno
  29. 29. if ( $animal =~ m/[rg]ato/ ) { say Yay!;} Perl Moderno
  30. 30. if ( $animal =~ m/[^rg]ato/ ) { say Yay!;} Perl Moderno
  31. 31. if ( $valor =~ m/[a-z]/ ) { say existe uma letra!;} Perl Moderno
  32. 32. if ( $valor =~ m/[a-zA-Z]/ ) { say existe uma letra!;} Perl Moderno
  33. 33. if ( $valor =~ m/[a-z]/i ) { say existe uma letra!;} Perl Moderno
  34. 34. if ( $valor =~ m/item[0-9]/ ) { say item encontrado!;} Perl Moderno
  35. 35. if ( $valor =~ m/itemd/ ) { say item encontrado!;} Perl Moderno
  36. 36. d dígitosw caracteres de palavras espaços. qualquer coisa (exceto n) Perl Moderno
  37. 37. D não dígitosW não caracteres de palavraS não espaços Perl Moderno
  38. 38. sempre que precisarcasar algum meta caractere, escape com Perl Moderno
  39. 39. my $frase = cachorros e gatos;if ( $frase =~ m/gato|cachorro/ ) { say animal encontrado!;} Perl Moderno
  40. 40. my $frase = cachorros e gatos;if ( $frase =~ m/gato[s]|cachorro[s]/ ) { say animal no plural encontrado!;} Perl Moderno
  41. 41. my $frase = cachorros e gatos;if ( $frase =~ m/(gato|cachorro)[s]/ ) { say animal no plural encontrado!;} Perl Moderno
  42. 42. my $frase = cachorros e gatos;if ( $frase =~ m/(gato|cachorro)s/ ) { say animal no plural encontrado!;} Perl Moderno
  43. 43. my $frase = cachorros e gatos;if ( $frase =~ m/(gato|cachorro)s/ ) { say $1;} Perl Moderno
  44. 44. my $frase = cachorros e gatos;if ( $frase =~ m/(?:gato|cachorro)s/ ) { say $1;} Perl Moderno
  45. 45. my $frase = cachorros e gatos;if ( $frase =~ m/(?<bicho>gato|cachorro)s/ ) { say $+{bicho};} Perl Moderno
  46. 46. exercício Faça um programa que leia uma frase e diga se a siglade alguma UFXX foi encontrada (e diga qual) Perl Moderno
  47. 47. Quantificadores Perl Moderno
  48. 48. a? a, 0 ou 1 vezesa* a, 0 ou mais vezesa+ a, 1 ou mais vezesa{n} a, exatamente n vezesa{n,} a, n ou mais vezesa{n,m} a, mínimo n, máximo m Perl Moderno
  49. 49. my $frase = o gato no mato;if ( $frase =~ m/(.*)ato/ ) { say $1;} Perl Moderno
  50. 50. my $frase = o gato no mato;if ( $frase =~ m/(.*)ato/ ) { say $1;}o gato no m Perl Moderno
  51. 51. quantificadores são “gulosos” por padrão. Adicione um ? após o quantificador para casar o mínimo possível Perl Moderno
  52. 52. gulosoa? a, 0 ou 1 vezesa* a, 0 ou mais vezesa+ a, 1 ou mais vezesa{n} a, exatamente n vezesa{n,} a, n ou mais vezesa{n,m} a, mínimo n, máximo m Perl Moderno
  53. 53. não gulosoa?? a, 0 ou 1 vezesa*? a, 0 ou mais vezesa+? a, 1 ou mais vezesa{n}? a, exatamente n vezesa{n,}? a, n ou mais vezesa{n,m}? a, mínimo n, máximo m Perl Moderno
  54. 54. my $frase = o gato no mato;if ( $frase =~ m/(.*)ato/ ) { say $1;} Perl Moderno
  55. 55. my $frase = o gato no mato;if ( $frase =~ m/(.*?)ato/ ) { say $1;} Perl Moderno
  56. 56. my $frase = o gato no mato;if ( $frase =~ m/(.*?)ato/ ) { say $1;}og Perl Moderno
  57. 57. exercícioFaça um programa que leia umafrase e, se houver uma hora no formato “HH:MM”, diga a horaencontrada e quantos segundos ela representa Perl Moderno
  58. 58. m/^[.+].+(UFww)s*:s*(S.+)$/ Perl Moderno
  59. 59. m{ ^ # início da string [.+] # . ou + .+ # um ou mais caracteres (UFww) # sigla da universidade, em $1 s*:s* # :, com 0 ou + espaços (S.+) # nome do curso, em $2 $ # fim da string}x Perl Moderno
  60. 60. m{ ^ # início da string [.+] # . ou + .+ # um ou mais caracteres (?<univ> UFww) # sigla da universidade s*:s* # :, com 0 ou + espaços (?<curso>S.+) # nome do curso $ # fim da string}x Perl Moderno
  61. 61. m// Perl Moderno
  62. 62. s/// Perl Moderno
  63. 63. s{}{} Perl Moderno
  64. 64. $var =~ s/abc/def/; Perl Moderno
  65. 65. $var =~ s/abc/def/g; Perl Moderno
  66. 66. $var =~ s/^(w+)/$1/; Perl Moderno
  67. 67. expressões Regulares são extremamente poderosas, com backreferences, lookahead/behind, reposicionamento, e muito mais. Para mais detalhes, veja perlrequick, perlretut e perlre Perl Moderno
  68. 68. exercício Modifique o programa dassiglas para ler de um arquivo e exibir na tela o conteúdo, trocando todas as ocorrências por “UFRJ” Perl Moderno
  69. 69. Perl Moderno
  70. 70. use Regex::Common Perl Moderno
  71. 71. use Regex::Grammars Perl Moderno
  72. 72. (revisitando) Executandoprogramas externos Perl Moderno
  73. 73. use Capture::Tiny; Perl Moderno
  74. 74. use Capture::Tiny capture;my ($stdout, $stderr) = capture { system ./outroprog;}; Perl Moderno
  75. 75. Tratamento de exceções Perl Moderno
  76. 76. say $dividendo / $divisor; Perl Moderno
  77. 77. eval { say $dividendo / $divisor;}; Perl Moderno
  78. 78. eval { say $dividendo / $divisor;};if ($@) { say “erro! $@”;}; Perl Moderno
  79. 79. eval “my $var = 42”; Perl Moderno
  80. 80. não faça eval() de stringsa menos que realmente saiba o que está fazendo Perl Moderno
  81. 81. use Try::Tiny; Perl Moderno
  82. 82. use Try::Tiny;try { $dividendo / $divisor;}; Perl Moderno
  83. 83. use Try::Tiny;try { $dividendo / $divisor;} catch { say “erro! $_”;}; Perl Moderno
  84. 84. use Try::Tiny;try { $dividendo / $divisor;} catch { say “erro! $_”;} finally { $divisor = 1;}; Perl Moderno
  85. 85. Data e Hora Perl Moderno
  86. 86. my $time = time; Perl Moderno
  87. 87. my $time = time;1297345734 Perl Moderno
  88. 88. my $time = localtime; Perl Moderno
  89. 89. my $time = localtime;Thu Feb 10 11:52:34 2011 Perl Moderno
  90. 90. my @time = localtime; Perl Moderno
  91. 91. use DateTime;my $data = DateTime­>new(        year  => 2011,         month => 2,         day   => 7, );my $agora = DateTime­>now;my $duracao = $agora ­ $data;say $duracao­>days; Perl Moderno
  92. 92. Arquivose Diretórios Perl Moderno
  93. 93. use Path::Class;my $dir     = dir(meu,dir);my $arquivo = file(dir,arq.txt);say ”$arquivo”;say $arquivo­>dir;my $fh = $arquivo­>open(r) or die $!;my @linhas = $arquivo­>slurp(chomp => 1);my $outro_dir = $dir­>parent­>parent; Perl Moderno
  94. 94. use File::HomeDir para encontrar o “home” do usuário, e File::ShareDir para diretóriosde dados estáticos de sua aplicação Perl Moderno
  95. 95. Arquivos deConfiguração Perl Moderno
  96. 96. use Config::Any;my $config = Config::Any­>load_files(    { files => [1.conf, 2.json] }); Perl Moderno
  97. 97. Logging Perl Moderno
  98. 98. logging “tradicional” say  “Aqui.”; Perl Moderno
  99. 99. logging “tradicional” debugging SURADOprint “FUNCIONA PORRA!!”; CEN Perl Moderno
  100. 100. use Log::Log4perl qw(:easy);Log::Log4perl­>easy_init( $INFO ); DEBUG “Isso nao é exibido”; INFO “Mas isso é o/”; ERROR “E isso também!”; Perl Moderno
  101. 101. além do “modo simples”, oLog::Log4perl possui muitas configurações poderosas. Perl Moderno
  102. 102. Criando Módulos Perl Moderno
  103. 103. lib/Meu/Modulo.pm Perl Moderno
  104. 104. package Meu::Modulo; Perl Moderno
  105. 105. package Meu::Modulo;use 5.12.0;use warnings;sub minha_funcao { …}1; Perl Moderno
  106. 106. package Meu::Modulo;use 5.12.0;use warnings;sub minha_funcao { …}1; Perl Moderno
  107. 107. usando módulos não instalados Perl Moderno
  108. 108. use lib lib;use Meu::Modulo;Meu::Modulo::minha_funcao(); Perl Moderno
  109. 109. use FindBin $Bin;use lib $Bin . /lib;use Meu::Modulo;Meu::Modulo::minha_funcao(); Perl Moderno
  110. 110. Exportando funções Perl Moderno
  111. 111. package Meu::Modulo;use 5.12.0;use warnings;sub minha_funcao { …}1; Perl Moderno
  112. 112. package Meu::Modulo;use 5.12.0;use warnings;use parent Exporter;our @EXPORT = qw( minha_funcao );sub minha_funcao { …}1; Perl Moderno
  113. 113. use lib lib;use Meu::Modulo;Meu::Modulo::minha_funcao(); Perl Moderno
  114. 114. use lib lib;use Meu::Modulo;minha_funcao(); Perl Moderno
  115. 115. Evite exportar muitas funções parao namespace do invocante, a menos que esteja definindo uma DSL ou saiba o que está fazendo Perl Moderno
  116. 116. package Meu::Modulo;use 5.12.0;use warnings;use parent Exporter;our @EXPORT = qw( minha_funcao );sub minha_funcao { …}1; Perl Moderno
  117. 117. package Meu::Modulo;use 5.12.0;use warnings;use parent Exporter;our @EXPORT_OK = qw( minha_funcao );sub minha_funcao { …}1; Perl Moderno
  118. 118. use lib lib;use Meu::Modulo;minha_funcao(); Perl Moderno
  119. 119. use lib lib;use Meu::Modulo minha_funcao;minha_funcao(); Perl Moderno
  120. 120. Não importe nada colocando ()depois da declaração do módulo use Modulo (); Perl Moderno

×