1 / 16

Introdução à programaçao em PERL

Introdução à programaçao em PERL. http://www:activestate.com/Products/ActivePerl/. Levi Lúcio, Vasco Amaral, Programação em PERL, FCA-Editora de Informática. Objectivos. ler o texto de um ficheiro linha a linha, e escrever num ficheiro linha a linha. processar o texto:.

misae
Download Presentation

Introdução à programaçao em PERL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução à programaçao em PERL http://www:activestate.com/Products/ActivePerl/ Levi Lúcio, Vasco Amaral, Programação em PERL, FCA-Editora de Informática

  2. Objectivos • ler o texto de um ficheiro linha a linha, e escrever num ficheiro linha a linha. • processar o texto: ­ tokenizer (quebrar o texto em palavras) ­ contagem de palavras, frequências, ... ­ bigramas, trigramas ... ­ calcular similaridade entre palavras.

  3. Estrutura do Programa 1 • Escreve: “Cómo te chamas?” • Lê o nome escrito pelo usuario • Escreve o nome que foi lido

  4. Instruções do Programa 1 • print imprime texto (no terminal, num ficheiro...) • <STDIN>lê um conjunto de caracteres introduzidos pelo teclado no terminal. • $x=<STDIN>lê um conjunto de caracteres do teclado e os coloca na variável $x. • chop $xcorta o caracter de nova linha (\n) que se encontra no valor de $x.

  5. Que é um programa? • Um programa é um conjunto de instruçoes (print, assignaçao, leitura, ...) • As instruçoes simples sao terminadas por ‘;’ (ponto e vírgula) • Quando corremos o programa, as instruçoes são executadas sequêncialmente.

  6. Tipos de entidades de um programa • escalares: números, cadeias de caracteres • instruçoes: simples: print, =, chop...complexas: if, while... • Descritores Input/Output: STDIN, STDOUT, arquivos de entrada, arq. de saída... • listas • tabelas (hashes)

  7. Tipos de variáveis • escalares: $var • listas: @var • tabelas: %var

  8. Estrutura do tokenizer • Abre um ficheiro texto (.txt) • Lê linha a linha o texto • Escreve em um outro ficheiro as palavras do texto (cada palavra em uma linha)

  9. Instruções do tokenizer • open (Arquivo, “< microcorpus.txt”)Abre um ficheiro para leitura. • while ($linha = <Arquivo>) { instrução1; instrução2; ... } Lê uma a uma as linhas do ficheiro, e cada linha é colocada na variável $linha. Após a leitura de uma linha, executa-se o bloco de instruções (entre chaves). Isto é repetido até chegar á última linha do ficheiro

  10. Instruções do tokenizer • @pals = split (“ ”, $linha);Divide-se a cadeia $linha cada vez que aparece um espaço em branco. As sucessivas divisões são colocadas na lista @pals. • foreach $pal (@pals) { instrução1; instrução2... } Uma vez pegado em um elemento da lista @pals e colocado na variável $pal, executam-se as instruções do bloco. Isto é repetido com todos os elementos da lista.

  11. Instruções iterativas foreach $var @lista { bloco } O bloco de instruções será executado um número de vezes correspondente ao número de elementos na lista, sendo que para cada iteração uma variável conterá o valor do elemento da lista. while (expressão) { bloco } O bloco será executado até que a expressão se torne falsa: while ($cont < 5) { print “$cont \n”; $cont++;}

  12. A instrução IF if (expressão) { bloco do if }else { bloco do else }Se a expressão é verdade, executam-se as instruções contidas no bloco do if. Caso contrário, executa-se o bloco de instruções do else. Expressões falsas:1 > 2 ; 0 ; “”, 1-1 Expressões verdadeiras:1 < 2 ; os números excepto o 0; as strings excepto “”

  13. Pattern-Matching • if ($line =~ /Maria/) { print $line;}Se a subcadeia “Maria” se encontra dentro da cadeia $line, então afichamos a cadeia $line. • $line =~ s/\,/ \,/;Se aparece o caracter “,” na cadeia $line, então substituimos esse caracter pelos dois caracteres “ ,” (i.e. introduzimos um espaço antes da vírgula).

  14. Estrutura do “contagem.pl” • Abre um ficheiro com tokens • Lê linha a linha o ficheiro (cada linha é um token) : - conta as ocurrências de cada token, - conta as ocurrências da subcadeia “livr”,- conta as ocurrências de vírgulas e pontos. • Escreve em um ficheiro os resultados das contagens.

  15. Instruções do contagem.pl while ($token = <Arquivo>) { $contar{$token}++;} Lê-se linha a linha o arquivo e construe-se uma tabela: %contar. Cada chave da tabela é um token. O valor para cada chave é o número de vezes que o token é lido: $contar{“livro”} = 2$contar{“Maria”} = 3$contar{“,”} = 8

  16. Listas e Tabelas @notas = (“pedro”, 10, “maria”, 18) $notas[0] = “pedro”$notas[1] = 10$notas[2] = “maria”$notas[3] = 18 %notas = (“pedro” => 10, “maria” => 18) $notas{“pedro”} = 10$notas{“maria”} = 18

More Related