Você está na página 1de 16

COLETA DE CORPUS

NA WEB
CURSO BÁSICO
José Antonio V. S. de M. Oliveira
Aula 7 – Junho/2010
Perl
 Linguagem de programação bastante voltada para o
tratamento de strings (cadeias de caracteres)
 Criada em 1987 - Practical Extraction and Report
Language
 Linguagem Interpretada – O interpretador Perl executa
scripts (arquivos.pl)
 CPAN – Repositório de funções e classes úteis (milhares de
funções e classes desenvolvidas para as mais diversas
finalidades)
 http://search.cpan.org/
 Expressões Regulares e Perl, formam um belo par!
Perl
 Testando o Perl
perl -v (exibe a versão do perl)
which perl (mostra aonde está o interpretador)
 Executando scripts
perl meuscript.pl
 A primeira linha mágica
#!/usr/bin/perl
 O /usr/bin/perl é o interpretador, você consegue essa
localização com o comando which perl
 Transformando o script em executável
chmod +x meuscript.pl
Perl – Olá mundo
 Criando arquivo olamundo.pl
#!/usr/bin/perl
print “Olá mundo!\n”;
 Transformando em executável:
chmod +x olamundo.pl
 Executando o script:
./olamundo.pl
ou
perl olamundo.pl
Perl - Variáveis
 Variáveis são espaços de memória para guardar
informações.
 São como caixas com etiquetas.
 A etiqueta indica o nome da caixa
 Cada caixa tem um conteúdo
 NÃO CONFUNDIR O NOME DA VARIÁVEL COM O SEU
CONTEÚDO
 Neste caso a etiqueta não diz o conteúdo da caixa. Somente dá
um nome único a ela.
 Ex.: A caixa com etiqueta “frutas” pode conter bananas, maçãs,
laranjas e até pedras!
 O nome serve para identificar aquela variável
Perl - Variáveis
 Exemplo:
$linha = “Minha terra tem palmeiras”;
 O nome da variável é “$linha” e o conteúdo dessa
variável é o texto “Minha terra tem palmeiras”
 Outros exemplos:
$fruta = “banana”;
$objeto = “mesa”;
$a = 2;
$b = 3;
$resultado = 1;
Perl - Variáveis
 Associando valores:
#!/usr/bin/perl

$a = 1;
$b = 3;
$c = $a + $b;

print "$c\n";

$c = $c * $c;

print "$c\n“;
Perl - Variáveis
 Tipos de variáveis
 Scalar: Guardam um único valor (texto ou número)
 Ex.: $numero = 7;
 Array: Guardam uma lista de variáveis
 Ex.: @numeros = (1, 2, 3, 5, 7, 11);
 Hashtables: São como os arrays, só que cada
elemento tem um identificador:
 Ex.: %familia = (gato => “felino”, cachorro => “canino”,
lobo => “canino”, carneiro => “caprino”);
Perl - Variáveis
 Arrays:
 Cada item tem um número associado, iniciando em zero:
#!/usr/bin/perl

@turma = ("André", "Bruno", "Carlos", "Diego");


print $turma[0] . "\n";
print $turma[1] . "\n";
print $turma[2] . "\n";
print $turma[3] . "\n";

 Reparem que, ao nos referirmos ao Array “turma” como um todo,


colocamos o @, ao nos referirmos a cada um dos elementos,
colocamos o $. Cada elemento é do tipo Scalar.
Perl - Variáveis
 Hashtables:
 Cada item tem um nome associado:
#!/usr/bin/perl

%familia = (gato => 'felino', cachorro => 'canino', lobo => 'canino',
carneiro => 'caprino');
print $familia{'gato'} . "\n";
print $familia{'cachorro'} . "\n";
print $familia{'lobo'} . "\n";
print $familia{'carneiro'} . "\n";

 Reparem que, ao nos referirmos à Hashtable “família”


como um todo, colocamos o %, ao nos referirmos a cada
um dos elementos, colocamos o $. Cada elemento é do
tipo Scalar.
Perl – Operadores
 + : soma (ex.: 1 + 2)
 - : subtração (ex.: 1 - 2)
 * : multiplicação (ex.: 1 * 2)
 / : divisão (ex.: 1 / 2)
 % : módulo ou resto da divisão (ex.: 3 % 2)
 ** : expoente (ex.: 4 ** 2)
 ++: incremento (ex.: $a++)
 --: decremento (ex.: $a--)
 . : concaternar string (ex.: “Brasil” . “ “ . “campeão”)
 +=, -=, *=, /=, %=, **= (Operadores de associação de valores)
 Exemplo:
 $a = $a + 2;
 $a += 2;
Perl - Condições
 if, elsif, else
if (condição){
faz alguma coisa
} elsif (outra condição){
faz outra coisa
} else {
faz uma outra coisa diferente
}
Perl - Condições
 Exemplo:

if ($operador == "+"){
print $a + $b;
} elsif ($operador == "-"){
print $a - $b;
} elsif ($operador == "*"){
print $a * $b;
} elsif ($operador == "/"){
print $a / $b;
} else {
print "Operação desconhecida.\n";
}
Perl – Saída de Dados
 Abrindo arquivos
open(CLIENTES, “arquivo_clientes.txt”);
open(RESULTADOS, “>meus_resultados.txt”);
open(RESULTADOS, “>>meus_resultados.txt”);
 Fechando arquivos
close(CLIENTES);
 Escrevendo num arquivo:
open(CLIENTES, “>arquivo_clientes.txt”);
print CLIENTES “Microsoft”;
close(CLIENTES);

 ATENÇÃO: Só é possível escrever em arquivos abertos para escrita “>”


ou para concatenação “>>”

(Não me esqueci da entrada de dados, veremos na próxima aula)


Perl - Matching
 Casar expressões regulares no Perl é muito simples:
if ($palavra =~ m/a$/gi){
print 'Palavra termina em "a"';
} else {
print 'Palavra não termina em "a"';
}
 Forma de casar expressões:
$variavel =~ m/EXPRESSÃO/flags
Exemplo:
$palavra =~ m/a$/gi
Perl - Substituição
$linha = '<a href="http://www.google.com">';
$linha =~ s/<a[^"]*"([^"]*)"[^>]*>/$1/gi;
print $linha;
 O comando acima, substitui a expressão regular que
casa com uma tag de link pela URL daquele link.
 Forma geral:
$variavel =~ s/EXPRESSÃO/SUBSTITUIR/flags
Exemplo:
$linha =~ s/banana/abacate/gi

Você também pode gostar