A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PERL Raquel C. de Melo Minardi CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL.

Apresentações semelhantes


Apresentação em tema: "PERL Raquel C. de Melo Minardi CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL."— Transcrição da apresentação:

1 PERL Raquel C. de Melo Minardi CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL

2 Primeiro programa em perl Abra um editor de texto e escreva o programa A primeira linha deveria ser $!/usr/bin/perl para 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 exemplo print Este é meu primeiro programa em perl.; Salve com a extensão.pl Dê permissão de execução chmod +x programa.pl Execute o programa chamando./programa.pl ou perl programa.pl Raquel C. de Melo Minardi2/88

3 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 Minardi3/88

4 Primeiro programa em perl Raquel C. de Melo Minardi4/88

5 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 linha use strict; que indica que o interpretador irá checar os nomes das variáveis para verificar se foram anteriormente declaradas Raquel C. de Melo Minardi5/88

6 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 Minardi6/88

7 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 Minardi7/88

8 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 Minardi8/88

9 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 – ; $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 Minardi9/88

10 Caracteres especiais Raquel C. de Melo Minardi10/88

11 Operadores Perl suporta as operações aritméticas básicas Raquel C. de Melo Minardi11/88 OperadorOperação +Adição -Subtração *Multiplicação /Divisão **Exponenciação %Módulo

12 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 Minardi12/88 OperadorAbreviação $k = $k + 2$k += 2 $k = $k - 2$k -= 2 $k = $k * 2$k *= 2 $k = $k / 2$k /= 2

13 Operadores Raquel C. de Melo Minardi13/88

14 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 Minardi14/88

15 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 Minardi15/88

16 Cadeias de caracteres Raquel C. de Melo Minardi16/88

17 Cadeias de caracteres Raquel C. de Melo Minardi17/88

18 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 Minardi18/88

19 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 Minardi19/88

20 Função split Raquel C. de Melo Minardi20/88

21 Função split Raquel C. de Melo Minardi21/88

22 Função split Raquel C. de Melo Minardi22/88

23 Função split Raquel C. de Melo Minardi23/88

24 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 Minardi24/88

25 Função substr Raquel C. de Melo Minardi25/88

26 Função substr Raquel C. de Melo Minardi26/88

27 Interpolação Raquel C. de Melo Minardi27/88

28 Interpolação Raquel C. de Melo Minardi28/88

29 Entrada pelo console denota a entrada padrão Durante a execução de um programa perl, toda vez que é invocado, o programa para e espera que o usuário digite uma sequência de caracteres seguida de enter conterá então a sequência lida e pode ser atribuído a um escalar Raquel C. de Melo Minardi29/88

30 Entrada pelo console Raquel C. de Melo Minardi30/88

31 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 Minardi31/88

32 Impressão formatada Raquel C. de Melo Minardi32/88

33 Impressão formatada Raquel C. de Melo Minardi33/88

34 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 antes do nome Portanto, em um mesmo programa podemos ter uma variável escalar $var e um Raquel C. de Melo Minardi34/88

35 Arranjos Raquel C. de Melo Minardi35/88

36 Arranjos Raquel C. de Melo Minardi36/88

37 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 Minardi37/88

38 Arranjos Raquel C. de Melo Minardi38/88

39 Arranjos Raquel C. de Melo Minardi39/88

40 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 Minardi40/88

41 Arranjos Raquel C. de Melo Minardi41/88

42 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 leitura open (OF, >$nomeArquivoSaida) : abertura para escrita open (OF, >>$nomeArquivoSaida) : abertura para escrita Fechar após o uso close(IF) Raquel C. de Melo Minardi42/88

43 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 Minardi43/88

44 Arquivos Raquel C. de Melo Minardi44/88

45 Arquivos Raquel C. de Melo Minardi45/88

46 Arquivos Raquel C. de Melo Minardi46/88

47 Arquivos Raquel C. de Melo Minardi47/88

48 Arquivos Raquel C. de Melo Minardi48/88

49 Arquivos Raquel C. de Melo Minardi49/88

50 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 Minardi50/88

51 Estrutura condicional Raquel C. de Melo Minardi51/88

52 Estrutura condicional Raquel C. de Melo Minardi52/88

53 Estruturas de controle Os principais operadores a serem utilizados nas expressões são: Raquel C. de Melo Minardi53/88 OperadorNúmerosStrings Igualdade==eq Desigual!=ne Menor quegt Menor ou igual<=le Maior ou igual>=ge

54 Estrutura condicional Raquel C. de Melo Minardi54/88

55 Estrutura de repetição Raquel C. de Melo Minardi55/88

56 Estrutura de repetição Raquel C. de Melo Minardi56/88

57 Estrutura de repetição Raquel C. de Melo Minardi57/88

58 Estrutura de repetição Raquel C. de Melo Minardi58/88

59 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 Minardi59/88

60 Expressão regular Raquel C. de Melo Minardi60/88

61 Expressão regular Raquel C. de Melo Minardi61/88 CaracterCombina comO mesmo que \ddígito[0-9] \DNão-dígito[^0-9] \wCaracter alfa- numérico [a-zA-Z0-9_] \WCaracter não alfa- numérico [^a-zA-Z0-9_] \sEspaços em branco[ \t\n\r\f] \SCaracter não espaço [^ \t\n\r\f] CARACTERES ESPECIAIS

62 QUANTIFICADORES Expressão regular Raquel C. de Melo Minardi62/88 QuantificadorSignificado {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

63 Expressões regulares O. é um caracter especial que substitui qualquer caracter Raquel C. de Melo Minardi63/88

64 Expressão regular Raquel C. de Melo Minardi64/88

65 Expressão regular Raquel C. de Melo Minardi65/88 Para ignorar a diferença entre maiúsculas e minúsculas usa- se um i no final

66 Expressão regular Raquel C. de Melo Minardi66/88 Para casar pelo menos um entre vários padrões, separá-los com |

67 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 Minardi67/88

68 Expressão regular Raquel C. de Melo Minardi68/88

69 Expressão regular Raquel C. de Melo Minardi69/88

70 Expressão regular Raquel C. de Melo Minardi70/88

71 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 Minardi71/88

72 Expressão regular Raquel C. de Melo Minardi72/88

73 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 Minardi73/88

74 Expressão regular Raquel C. de Melo Minardi74/88

75 Expressões regulares Símbolos especiais como \, |, (, ), [, {, ^, $, *, +, ?,. devem ser colocados após a barra Raquel C. de Melo Minardi75/88

76 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 Minardi76/88

77 Funções Raquel C. de Melo Minardi77/88

78 Funções Raquel C. de Melo Minardi78/88

79 Funções Raquel C. de Melo Minardi79/88

80 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 Minardi80/88

81 Funções Raquel C. de Melo Minardi81/88

82 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 Minardi82/88

83 Possíveis formas de se inicializar um hash Hash Raquel C. de Melo Minardi83/88

84 Hash Raquel C. de Melo Minardi84/88

85 Hash Raquel C. de Melo Minardi85/88 Acesso a posições de um hash através das chaves

86 Imprimindo todos os valores de um hash através das chaves Hash Raquel C. de Melo Minardi86/88

87 Hash Raquel C. de Melo Minardi87/88

88 Hash Raquel C. de Melo Minardi88/88


Carregar ppt "PERL Raquel C. de Melo Minardi CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL."

Apresentações semelhantes


Anúncios Google