O documento discute vários tópicos relacionados à linguagem Perl, incluindo sua filosofia, variáveis, controle de fluxo, e recursos. O palestrante encoraja os desenvolvedores a se divertirem com a linguagem e a fazerem perguntas inteligentes.
2. mantovani@perl.org.br
São Paulo Perl Monger
Perl
Linguagem ?
Cultura ?
História ?
Comunidade ?
Matemática ?
Filosofia ?
Inglês ?
Física ?
Biologia ?
Ler Senhor dos Anéis ?
Foo ?
Bar ?
20. mantovani@perl.org.br
São Paulo Perl Monger
Filehandle
Descritor de arquivo
open my $filehandle, '<', meuarquivo.txt
open FILEHANDLE,'<', meuarquivo.txt
my @array = <$fh>
{$='';$var=<$fh>}
while (my $line = <$fh>){ print $line}
21. mantovani@perl.org.br
São Paulo Perl Monger
Typeglob
$foo = 1;
@foo = (1 .. 10);
%foo = (1 .. 10);
open foo,'<',arquivo.txt;
sub foo { return “hi” };
*foo;
22. mantovani@perl.org.br
São Paulo Perl Monger
Format
Não se usa mais Format
Perl6::Form
$text = form " =================================== ",
"| NAME | AGE | ID NUMBER |",
"|----------+------------+-----------|",
"| {<<<<<<} | {||||||||} | {>>>>>>>} |",
$name, $age, $ID;
27. mantovani@perl.org.br
São Paulo Perl Monger
Given
given($foo) {
when ("foo") {
say '$foo is the string "foo"';
}
when (&complicated_check) {
say 'a complicated check for $foo is true';
}
default {
die q(I don't know what to do with $foo);
}
28. mantovani@perl.org.br
São Paulo Perl Monger
Iterators
foreach my $foo (1..10) {
print “$foon”;
}
for (my $i = 0;$i <= 10;$i++) {
print “$in”;
}
my @foo = grep {$_ % 2 == 0} 1 .. 10
my %hash = map {}
print for 1 .. 10;
35. mantovani@perl.org.br
São Paulo Perl Monger
Você não pode usar métodos modificadores em
uma lista.
push (1,2,3,4,5) #errado
print ((1,2,3,4,5)[0]) #primeiro elemento
Contexto de lista
36. mantovani@perl.org.br
São Paulo Perl Monger
Ainda lista
my $foo = (1,2,3,4,5);
Retorna sempre o valor mais a direita
my @foo = 1 .. 10;
$foo = @foo;
Retorna o tanto de elementos do array