perl raquel c. de melo minardi [email protected] curso de verÃo em bioinformÁtica estrutural

88
PERL Raquel C. de Melo Minardi [email protected] CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Upload: internet

Post on 18-Apr-2015

106 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

PERL

Raquel C. de Melo Minardi

[email protected]

CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Page 2: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Primeiro programa em perl

Abra um editor de texto e escreva o programa

A primeira linha deveria ser$!/usr/bin/perlpara informar ao sistema que isto é um programa em perl e para informar o caminho para o interpretador perl no sistema Unix

Escreva o código, por exemploprint “Este é meu primeiro programa em perl.”;

Salve com a extensão .pl

Dê permissão de execuçãochmod +x programa.pl

Execute o programa chamando./programa.pl ou perl programa.pl

Raquel C. de Melo Minardi 2/88

Page 3: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Primeiro programa em perl

Ao digitar./programa.pl ou perl programa.pl

o programa será interpretado

Se há erros de sintaxe no código, o interpretador irá informar e não executará o programa

Raquel C. de Melo Minardi 3/88

Page 4: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Primeiro programa em perl

Raquel C. de Melo Minardi 4/88

Page 5: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Primeiro programa em perl

A opção –w na linha#!/usr/bin/perl

é uma condição de permissão de alertas (allow warnings) e é muito útil na depuração do seu código

Comumente usa-se também a linhause strict;

que indica que o interpretador irá checar os nomes das variáveis para verificar se foram anteriormente declaradas

Raquel C. de Melo Minardi 5/88

Page 6: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Variáveis

Variáveis são nomes associados a posições de memória que pode conter valores

Em perl, variáveis escalares podem conter números (inteiros ou de ponto flutuante) ou cadeias de caracteres (strings) e são identificadas por começarem com “$”$a, $b e $resultado são exemplos de variáveis

Nomes de variáveis válidos começam com uma letra e a seguir têm uma sequência de letras números e underscores$a

$nome

$primeiro_nome

$ultimoNome

$bloco12

$c22e

Raquel C. de Melo Minardi 6/88

Page 7: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estados de variáveis

Variáveis em perl têm três estados

exists: variável foi declarada mas não tem valor

defined: variável têm um valor que pode ser true ou false

true: variável tem valor diferente de 0 ou “”

Raquel C. de Melo Minardi 7/88

Page 8: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Literais e atribuições

Literais são valores constantes como 2, 5 e “palavra”, por exemplo

Valores são atribuídos a variáveis através do símbolo “=”$resultado = $a + $b;

$t = “palavra”;

Raquel C. de Melo Minardi 8/88

Page 9: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Números

Internamente, os números são sempre armazenados em ponto flutuante mas há várias possíveis representações

$a = 134;$a = -2004;$a = 56.79;$a – 56.78989;$a = 13e34;$a = -12E29;

NUNCA COMEÇE UM NÚMERO COM ZERO!O NÚMERO SERÁ RECONHECIDO COMO UM NÚMERO EM OCTAL

Raquel C. de Melo Minardi 9/88

Page 10: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Caracteres especiais

Raquel C. de Melo Minardi 10/88

Page 11: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Operadores

Perl suporta as operações aritméticas básicas

Raquel C. de Melo Minardi 11/88

Operador Operação

+ Adição

- Subtração

* Multiplicação

/ Divisão

** Exponenciação

% Módulo

Page 12: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Operadores

Parênteses podem ser usados para se indicar precedência diferente da padrão

Existem abreviações para os operadores

Raquel C. de Melo Minardi 12/88

Operador Abreviação

$k = $k + 2 $k += 2

$k = $k - 2 $k -= 2

$k = $k * 2 $k *= 2

$k = $k / 2 $k /= 2

Page 13: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Operadores

Raquel C. de Melo Minardi 13/88

Page 14: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Cadeias de caracteres (strings)

Strings são sequências de caracteres

Strings são delimitadas por aspas duplas

A string mais curta é “”

A string mais longa é tão comprida quanto a memória do computador permitir

Raquel C. de Melo Minardi 14/88

Page 15: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Operadores para strings

A concatenação é a operação mais conhecida entre strings

O operador é o “.”

A função length é uma função predefinida que retorna o comprimento de uma string

Raquel C. de Melo Minardi 15/88

Page 16: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Cadeias de caracteres

Raquel C. de Melo Minardi 16/88

Page 17: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Cadeias de caracteres

Raquel C. de Melo Minardi 17/88

Page 18: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Strings entre aspas

Certos caracteres quando precedidos de contrabarra entre aspas duplas têm um siginifcado especial\n → nova linha\t → tabulação

Variáveis são interpolaladas quando dentro de aspas duplas

Se você quer usar “ como um literal dentro de uma string entre aspas duplas, use \”

Raquel C. de Melo Minardi 18/88

Page 19: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função split

A função split quebra uma string de acordo com a posição de um conjunto de delimitadores

O delimitador é escrito entre barras: /PADRÃO/

Raquel C. de Melo Minardi 19/88

Page 20: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função split

Raquel C. de Melo Minardi 20/88

Page 21: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função split

Raquel C. de Melo Minardi 21/88

Page 22: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função split

Raquel C. de Melo Minardi 22/88

Page 23: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função split

Raquel C. de Melo Minardi 23/88

Page 24: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função substr

A função substr extrai uma substring de uma string

Recebe três argumentos: uma string a posição inicial o número de caracteres a serem retornados a partir da

posição inicial

Raquel C. de Melo Minardi 24/88

Page 25: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função substr

Raquel C. de Melo Minardi 25/88

Page 26: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Função substr

Raquel C. de Melo Minardi 26/88

Page 27: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Interpolação

Raquel C. de Melo Minardi 27/88

Page 28: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Interpolação

Raquel C. de Melo Minardi 28/88

Page 29: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Entrada pelo console

<STDIN> denota a entrada padrão

Durante a execução de um programa perl, toda vez que <STDIN> é invocado, o programa para e espera que o usuário digite uma sequência de caracteres seguida de enter

<STDIN> conterá então a sequência lida e pode ser atribuído a um escalar

Raquel C. de Melo Minardi 29/88

Page 30: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Entrada pelo console

Raquel C. de Melo Minardi 30/88

Page 31: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Impressão formatada

A função printf permite formatar a uma impressão Especificando o número de casas decimais de um

número Estabelecendo uma estrutura tabular através da

inclusão de espaços e tabulações

printf FILEHANDLE FORMATO, LISTA

FORMATO contém uma string de controle LISTA contém a lista de variáveis que serão impressas segundos

os formatos estabelecidos

Raquel C. de Melo Minardi 31/88

Page 32: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Impressão formatada

Raquel C. de Melo Minardi 32/88

Page 33: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Impressão formatada

Raquel C. de Melo Minardi 33/88

Page 34: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

Como visto, uma variável escalar contém um valor numérico ou uma string

Um arranjo é uma estrutura de dados composta e pode ser heterogênea

Ele contém uma lista de valores numéricos, ou uma lista de strings ou uma mistura deles

A ordem é importante

Em perl, arranjos são definidos com um símbolo “@” antes do nome

Portanto, em um mesmo programa podemos ter uma variável escalar $var e um arranjo @var

Raquel C. de Melo Minardi 34/88

Page 35: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

Raquel C. de Melo Minardi 35/88

Page 36: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

Raquel C. de Melo Minardi 36/88

Page 37: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

A função push adiciona um valor ao final de uma arranjo

A função shift recupera o primeiro valor de um arranjo

A função pop recupera o último valor de um arranjo

Raquel C. de Melo Minardi 37/88

Page 38: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

Raquel C. de Melo Minardi 38/88

Page 39: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

Raquel C. de Melo Minardi 39/88

Page 40: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

A função pré-definida sort ordena elementos de uma arranjo

$a<=>$b : para comparação entre números

cmp : para comparação entre strings

0 se são iguais 1 se $a>$b -1 se $b>$a

Raquel C. de Melo Minardi 40/88

Page 41: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arranjos

Raquel C. de Melo Minardi 41/88

Page 42: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

A conexão entre um programa perl e arquivos de entrada e saída são os filehandles

Diferentemente das variáveis, filehandles não tem um prefixo definido mas são normalmente escritos com letras maiúsculas

Antes de se utilizar um filehandle, ele deve ser aberto:open (IF, $nomeArquivoEntrada): abertura para leituraopen (OF, “>$nomeArquivoSaida”): abertura para escritaopen (OF, “>>$nomeArquivoSaida”): abertura para escrita

Fechar após o usoclose(IF)

Raquel C. de Melo Minardi 42/88

Page 43: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

É recomendado testar sempre se a abertura do arquivo foi realizada com sucesso e usar a função die para encerrar o programa caso algum problema tenha ocorrido

open (IF, $nomeArquivoEntrada)

or die (“Não foi possível abrir o arquivo”);

Raquel C. de Melo Minardi 43/88

Page 44: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

Raquel C. de Melo Minardi 44/88

Page 45: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

Raquel C. de Melo Minardi 45/88

Page 46: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

Raquel C. de Melo Minardi 46/88

Page 47: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

Raquel C. de Melo Minardi 47/88

Page 48: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

Raquel C. de Melo Minardi 48/88

Page 49: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Arquivos

Raquel C. de Melo Minardi 49/88

Page 50: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estruturas de controle

Estruturas de controle são aquelas que podem alterar o fluxo de execução do programa

Há basicamente dois mecanismos:

Estruturas condicionais Estruturas de repetição

Raquel C. de Melo Minardi 50/88

Page 51: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estrutura condicional

Raquel C. de Melo Minardi 51/88

Page 52: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estrutura condicional

Raquel C. de Melo Minardi 52/88

Page 53: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estruturas de controle

Os principais operadores a serem utilizados nas expressões são:

Raquel C. de Melo Minardi 53/88

Operador Números Strings

Igualdade == eq

Desigual != ne

Menor que < lt

Maior que > gt

Menor ou igual <= le

Maior ou igual >= ge

Page 54: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estrutura condicional

Raquel C. de Melo Minardi 54/88

Page 55: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estrutura de repetição

Raquel C. de Melo Minardi 55/88

Page 56: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estrutura de repetição

Raquel C. de Melo Minardi 56/88

Page 57: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estrutura de repetição

Raquel C. de Melo Minardi 57/88

Page 58: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Estrutura de repetição

Raquel C. de Melo Minardi 58/88

Page 59: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressões regulares

Expressões regulares são mecanismos que permitem ao programa ler um texto e identificar padrões no mesmo

Raquel C. de Melo Minardi 59/88

Page 60: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 60/88

Page 61: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 61/88

Caracter Combina com O mesmo que

\d dígito [0-9]

\D Não-dígito [^0-9]

\w Caracter alfa-numérico

[a-zA-Z0-9_]

\W Caracter não alfa-numérico

[^a-zA-Z0-9_]

\s Espaços em branco [ \t\n\r\f]

\S Caracter não espaço

[^ \t\n\r\f]

CARACTERES ESPECIAIS

Page 62: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

QUANTIFICADORES

Expressão regular

Raquel C. de Melo Minardi 62/88

Quantificador Significado

{n} Ocorre exatamente n vezes

{n,m} Ocorre pelo menos n e no máximo m vezes

{n,} Ocorre pelo menos n vezes

* Ocorre 0 ou mais vezes

+ Ocorre 1 ou mais vezes

? Ocorre 0 ou 1 vez

Page 63: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressões regulares

O “.” é um caracter especial que substitui qualquer caracter

Raquel C. de Melo Minardi 63/88

Page 64: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 64/88

Page 65: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 65/88

Para ignorar a diferença entre maiúsculas e minúsculas usa-se um “i” no final

Page 66: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 66/88

Para casar pelo menos um entre vários padrões, separá-los com “|”

Page 67: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressões regulares

Pode-se ainda ancorar um padrão no início ou fim de uma string usando:

\^PADRÃO\ : início \PADRÃO$\ : fim

Raquel C. de Melo Minardi 67/88

Page 68: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 68/88

Page 69: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 69/88

Page 70: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 70/88

Page 71: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressões regulares

Quando usamos expressões regulares, perl tenta casar o maior padrão possível (estratégia gulosa)

Para tentar casar o menor (estratégia preguiçosa), usar um “?”

Raquel C. de Melo Minardi 71/88

Page 72: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 72/88

Page 73: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressões regulares

Pode-se usar expressões regulares para substituir um padrão em uma string

$string =~ s/PADRÃO/NOVA_STRING/

$string =~ s/PADRÃO/NOVA_STRING/i : case insensitive$string =~ s/PADRÃO/NOVA_STRING/g : global

Raquel C. de Melo Minardi 73/88

Page 74: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressão regular

Raquel C. de Melo Minardi 74/88

Page 75: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Expressões regulares

Símbolos especiais como \, |, (, ), [, {, ^, $, *, +, ?, . devem ser colocados após a barra

Raquel C. de Melo Minardi 75/88

Page 76: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Funções

Funções recebem um conjunto de parâmetros, realizam um conjunto de operações e retornam um valor

Nomes de funções seguem as mesmas convenções dos nomes de variáveis

Podem ser colocadas em qualquer lugar do programa

Variáveis podem ser declaradas com my no interior de funções

Raquel C. de Melo Minardi 76/88

Page 77: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Funções

Raquel C. de Melo Minardi 77/88

Page 78: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Funções

Raquel C. de Melo Minardi 78/88

Page 79: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Funções

Raquel C. de Melo Minardi 79/88

Page 80: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Funções

Todas as variáveis de um programa podem ser vistas e acessadas no interior das funções

Quando declaramos variáveis no interior de funções, elas sobrescrevem as globais em seu interior

Raquel C. de Melo Minardi 80/88

Page 81: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Funções

Raquel C. de Melo Minardi 81/88

Page 82: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Hashes

Um hash é uma variável que armazena uma coleção de pares (chave, valor), arranjados de tal forma que é possível recuperar um valor a partir de sua chave

A ordem não é importante

Também chamados de arranjos associativos

Raquel C. de Melo Minardi 82/88

Page 83: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Possíveis formas de se inicializar um hash

Hash

Raquel C. de Melo Minardi 83/88

Page 84: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Hash

Raquel C. de Melo Minardi 84/88

Page 85: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Hash

Raquel C. de Melo Minardi 85/88

Acesso a posições de um hash através das chaves

Page 86: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Imprimindo todos os valores de um hash através das chaves

Hash

Raquel C. de Melo Minardi 86/88

Page 87: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Hash

Raquel C. de Melo Minardi 87/88

Page 88: PERL Raquel C. de Melo Minardi raquelcm@dcc.ufmg.br CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

Hash

Raquel C. de Melo Minardi 88/88