Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem...
Transcript of Introdução ao Perl - if.ufrgs.brrns/astroprog/perl_tiberio.pdf · – variáveis com tipagem...
Introdução ao Perl:Características e Aplicações
Tibério B. ValeAbril / 2010
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
● 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
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 };
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
● 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
● @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
● 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
● @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
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 ******
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
Livros sobre Perl