13
Introdução ao Perl: Características e Aplicações Tibério B. Vale Abril / 2010

Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

Embed Size (px)

Citation preview

Page 1: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

Introdução ao Perl:Características e Aplicações

Tibério B. ValeAbril / 2010

Page 2: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

Introdução● Perl: Larry Wall (1987), atualmente versão 5.12● Linguagem “script” de multi-propósito em

ambientes *Unix● Criada inicialmente para manipulação de texto● Atualmente usada em muitas tarefas:

– administração de sistemas

– desenvolvimento web

– programação de redes

– bioinformática

– desenvolvimento de ambiente gráfico

Page 3: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

● Vantagens:– linguagem interpretada (multi-plataforma),

– Ideal para manipulação de arquivos texto e tabelas,

– expressões regulares (padrões de busca),

– não há limitação no tamanho dos arquivos tratados,

– grande volume de pacotes adicionais on-line (CPAN) com suporte a orientação a objetos,

– variáveis com tipagem dinâmica (não declara vars),

– reduzido tempo de programação,

– relaciona diretamente com o sistema *Unix.

● Semelhanças com C, shell scripting, awk, Lisp

Introdução

Page 4: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

Programando em Perl

● Scripts com terminação .pl● Modo de execução: perl programa.pl● Primeira linha: #/usr/bin/perl ● Comentários: #● Final de linhas: ;● Comandos:

– if ( condição ){ ação };

– for ( condição ){ ação };

– while ( condição ) { ação };

Page 5: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

Tipos de variáveis

● string (scalar): $var

● numérica (scalar): $var

● caracter: $var

● array: @var

● entradas do array: $var[0], $var[1], $var[2]...

● associativas (hash): %var

● entrada de hash: $var{preto}=sombra, $var{azul}=ceu, $var{verde}=planta,$var{amarelo}=sol

● file handle: VAR

Page 6: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

● Variáveis com tipagem dinâmica:● Ex 1:

$number = 7 ;

$name = “Einstein” ;

$sum = $number + $name ;

print $sum, “\n”; -----------> 7

print $number.$name, “\n”; -----------> 7Einstein

● Ex 2:$valor = 8 ;

print $number+$valor,”\n”; -------------> 15

Programando em Perl

Page 7: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

● @array=( 17 , 81 , 63, 0 , 54, 11, 90 );

1) $max = scalar( @array );for( $i=0; $i<=$max; $i++){

print $array[ $i ] ,”\n”;}

OU2) for( @array ){ print “$_ \n “; }

● %hash=( vermelho => 'cocacola', laranja=>'fruta', amarelo => 'Sol', verde =>'planta', azul => 'ceu', violeta=>'flor'

)

Ex: print $hash{azul},”\n”; --------> ceu

Programando em Perl

Page 8: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

● Lendo um arquivo:open ( TXT , “<arquivo1.txt”);

@array=<TXT>;

close TXT;

print @array,“\n”;

● Escrevendo em um arquivo:open ( TXT , “>arquivo2.txt”);

print TXT “ hello world! ”;

close TXT;

Programando em Perl

Page 9: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

● @array=(casaco,calca,blusa,sapato,meia,cinto);

● Manipulando arrays (regexp):

1) foreach $entry ( @array ){

if ( $entry =~ /sa/ ){ print $entry,“ ”;}

} ---------> casaco blusa sapato

OU

2) for (@array) { if (/sa/) {print $_,“ ”; } }● Comparadores: =~ !~ == !=

● Substituindo:

for ( @array ){

if ( s/sa/NN/ ){ print $_," ";}

} -----------> caNNco bluNN NNpato

Programando em Perl

Page 10: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

CPAN

● Comprehensive Perl Archive Network● http://www.cpan.org/● Usando módulos e pacotes:

#/usr/bin/perl

use Cwd;

use IPC::Open2;

use Math::Spline;

● ****** Mostrar programas na pasta ******

Page 11: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

Links interessantes

● Oficial

http://www.perl.org/

● Documentação

http://perldoc.perl.org/

● Companhias que usam Perl:

http://www.perlfoundation.org/perl5/index.cgi?companies_using_perl

● Popularidade de linguagens de programação:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

http://langpop.com/

● Wikipedia

http://en.wikipedia.org/wiki/Perl

Page 12: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente

Livros sobre Perl

Page 13: Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem dinâmica (não declara vars), – reduzido tempo de programação, – relaciona diretamente