Sie sind auf Seite 1von 6

Perl uma linguagem de programao estvel e multiplataforma, usada em aplicaes de misso crtica em todos os setores, sendo destacado o seu

u uso no desenvolvimento de aplicaes web de todos os tipos. Permite a criao de programas em ambientes UNIX, MSDOS, Windows, Macintosh, OS/2 e outros sistemas operacionais. Alm de ser muito utilizada para programao de formulrios www e em tarefas administrativas de sistemas UNIX - onde a linguagem nasceu e se desenvolveu - possui funes muito eficientes para manipulao de textos. Perl uma das linguagens preferidas por administradores de sistema e especialmente verstil no processamento de cadeias (strings), manipulao de texto e no pattern matching implementado atravs de expresses regulares, alm de ser bastante adequada para o desenvolvimento de projetos utilizando uma metodologia gil. A linguagem Perl j foi portada para mais de 100 diferentes plataformas e bastante usada em desenvolvimento web, finanas e bioinformtica. Origem Criada por Larry Wall em dezembro de 1987, a origem do Perl remonta ao shell scripting, Awk e linguagem C, estando disponvel para praticamente todos os sistemas operacionais, embora seja usado mais comumente em sistemas Unix e compatveis. Originalmente, o nome foi posto por Larry Wall em referncia Parbola da Prola, de Mateus 13 (a grafia foi mudada de "Pearl" para "Perl" por j ter sido registrada por outra linguagem de programao). Algumas possveis expanses foram posteriormente propostas, como Practical Extraction and Report Language e Pathologically Eclectic Rubbish Lister, este ltimo tendo sido proposto pelo prprio Larry Wall, conhecido por sua personalidade sarcstica e criativa. Caractersticas da linguagem

FIGURA de Atractor de Lorenz calculado com octave e convertido para SVG utilizando um script Perl No geral, a sintaxe de um programa em Perl se parece muito com a de um programa em C: existem variveis, expresses, atribuies, blocos de cdigo delimitados, estruturas de controle e sub-rotinas. Alm disso, Perl foi bastante influenciado pelas linguagens de shell script: todas as variveis escalares so precedidas por um cifro ( $).

Essa marcao permite identificar perfeitamente as variveis num programa, onde quer que elas estejam. Um dos melhores exemplos da utilidade desse recurso a interpolao de variveis diretamente no contedo de strings. Perl tambm possui muitas funes integradas para tarefas comuns como ordenao e acesso de arquivos em disco. Perl pega emprestado as listas de Lisp, as arrays associativas (tabelas hash) de awk e as expresses regulares de sed. Isso tudo simplifica e facilita qualquer forma de interpretao e tratamentos de textos e dados em geral. A linguagem suporta estruturas de dados arbitrariamente complexas. Ela tambm possui recursos vindos da programao funcional (as funes so vistas como um outro valor qualquer para uma subrotina, por exemplo) e um modelo de programao orientada a objetos. Perl tambm possui variveis com escopo lxico, que tornam mais fcil a escrita de cdigo mais robusto e modularizado. Todas as verses de Perl possuem gerenciamento de memria automtico e tipagem dinmica. Os tipos e necessidades de cada objeto de dados no programa so determinados automaticamente; memria alocada ou liberada de acordo com o necessrio. A converso entre tipos de variveis feita automaticamente em tempo de execuo e converses ilegais so erros fatais. Resumo

Perl tira as melhores caractersticas de linguagens como C, awk, sed, sh, e BASIC, entre outras. Sua interface de integrao com base de dados (DBI) suporta muitos bancos de dados, incluindo Oracle, Sybase, PostgreSQL, MySQL e outros. Perl tem mdulos para trabalhar com HTML, XML, e outras linguagens de markup. Perl suporta Unicode. Perl permite programao procedural e orientada a objetos. Perl pode acessar bibliotecas externas em C/C++ atravs de XS ou SWIG. Perl extensvel. Existem milhares de mdulos disponveis no Comprehensive Perl Archive Network (CPAN). O interpretador Perl pode ser embutido em outros sistemas.

Fatos

Perl um software livre, disponvel sob a Licena Artstica ou a GNU General Public License (GPL); Perl 1.0 foi lanada na usenet alt.comp.sources em 1987; Possui mais de 18 mil mdulos disponveis na CPAN para as mais diversas finalidades; Tem como lema: "There's More Than One Way To Do It" (TMTOWTDI); Sua atual verso estvel 5.10.0.

Perl e a World Wide Web


Perl conhecida como "a fita adesiva da Internet". O mdulo Perl CGI.pm, parte da distribuio padro de Perl, faz com que a manipulao de formulrios HTML seja muito simples. Perl pode manipular dados encriptados, incluindo transaes de comrcio eletrnico. Perl pode ser embutido em servidores web para aumentar a velocidade de processamento em at 2000%. mod perl permite que o servidor web Apache possa interpretar cdigo Perl diretamente. O pacote DBI do Perl faz com que a integrao com banco de dados seja muito simples.

Tipos de dados O Perl tem uma srie de tipos de dados fundamentais, porm considerada uma linguagem no-tipada, ou seja, as variveis no so restringidas a usar um nico tipo. Os mais utilizados so: escalar, vetor (array), hash (vetor associativo), handle de um arquivo e sub-rotinas.

Escalar

Um escalar um valor nico, que pode ser um nmero, uma string ou uma referncia. declarada com um '$', como: $num $joe $pointer Array Um array um conjunto sequencial ordenado de escalares. O ndice inicial de uma varivel array zero (0). declarada com um '@', como: @v @list @variable Hash Um hash, ou array associativo, um mapeamento (ou seja, chaves de referncias) de strings para escalares. Representa uma coleo de pares de chave/valor. So declarados com um '%', como: %people %x %this_is_a_hash Handle Um handle de um arquivo um mapeamento para um arquivo, dispositivo ou pipe, que aberto para leitura, escrita, ou ambos.

Sub-rotina

A sub-rotina um trecho de cdigo que pode ser executado, para o qual podem ser passados argumentos, e do qual podem ser recebidos resultados. Exemplos de cdigo A primeira linha de um cdigo em Perl deve sempre comear com uma indicao do caminho aonde est o seu executvel no computador: #!/usr/bin/perl Ol , mundo! #!/usr/bin/perl print "Ol, mundo!\n"; unlink $0; Comentrio

# Isto um comentrio em Perl Note o ponto-e-vrgua no final de cada expresso. Assim como em C e c++, Perl exige que o usemos para indicar o final de uma expresso. A ltima linha a que apaga o arquivo. unlink equivale a 'rm' e $0 uma referncia simples ao arquivo que est sendo executado.
[2]

Expresso regular - Filtro O programa a seguir l um texto e substitui qualquer ocorrncia da string "foo" por "bar", imprimindo a linha transformada na tela: while(<>) { s/foo/bar/g; print; } possvel obter o mesmo resultado com uma nica linha (um "one-liner"): perl -pi -e 's/foo/bar/g' arquivo.txt De facto, comum a ocorrncia de problemas que exigem dezenas de linhas em outras linguagens de programao mas que podem ser resolvidos com uma nica linha de cdigo em Perl, especialmente na rea de ETL. Estruturas de controle Perl tem as estruturas bsicas esperadas em qualquer linguagem de programao:

if while for until

Perl tira boas idias de linguagens naturais, como a possibilidade de inverter a ordem dos elementos em uma frase. Por exemplo: if ($DEBUG) { print "ouch!"; } Pode ser reescrita como: print "ouch!" if $DEBUG; Mdulos e frameworks Perl conseguiu reunir mdulos, classes, scripts e frameworks desenvolvidos pela comunidade em um s lugar, este lugar chama-se CPAN, repositrio onde encontra-se quase tudo j desenvolvido para a linguagem:

Catalyst (software) - Framework MVC para aplicaes Web. DBIx::Class - Modelo de mapeamento Objeto Relacional. Template Toolkit - Sistema de processamento de templates. WWW::Mechanize - Simula um navegaror Web em um objeto Perl. POE - Framework para aplicaes multitarefa e em rede portveis.

Compiladores Se voc est num sistema Linux (ou a maioria dos sistemas UNIX, incluindo Mac Os X), provavelmente j h uma instalao do compilador Perl includa no seu sistema. Digite o seguinte comando no terminal para descobrir qual verso voc tem instalada [3]: perl -v

Aplicaes

TWiki - Sistema Wiki de escrita de contedo colaborativo. RT - Sistema de processamento de Tickets. Apache Spam Assassin - Sistema extensvel de filtro de Spam em email . dvd::rip - Programa para cpias de DVD. AWStats - "Advanced Web Statistics" (AWStats) um poderoso sistema de anlise de logs de servidores Web e de gerao de estatsticas.

Comunidade Um dos pontos mais fortes da linguagem Perl a comunidade de usurios em todo o mundo. Segundo a tradio internacional, esses grupos so denominados Perl Mongers. Um grande ponto de encontro da comunidade o YAPC, YAPCs so encontros promovidos pela comunidade para discutir coisas sobre Perl, os encontros podem ter carter regional ou nacional, no Brasil ocorre uma vez por ano o YAPC: Brasil "Encontro Brasileiro de Programadores Perl" e h 2 anos tem ocorrido tambm o YAPC: SA "Encontro Sulamericano de Desenvolvedores Perl" abrangendo alm do Brasil pases de toda Amrica do Sul. Estes encontros esto sendo constantemente realizados em todo o mundo. O dcimo YAPC europeu (YAPC::EU::2009) foi realizado de 3 a 5 de agosto de 2009 na Faculdade de Cincias da Universidade de Lisboa, em Lisboa, Portugal[4]. Referncias 1. 2. 3. 4. 5. 6. 7. 8. 9. Site oficial da linguagem http://www.gacetadelinux.com/pr/lg/issue61/okopnik.html http://www.perl.org/get.html YAPC::EU::2009 Stio oficial (em ingls) Introduo Linguagem Perl Pgina criada por O'Reilly para a linguagem Documentao da linguagem - em ingls Introduo a linguagem de programao Perl na Sociedade Perl do Brasil.

Livros

manuais

no

Wikilivros Um livro recm-lanado, que recebeu uma avaliao positiva no slashdot.org, possui o ttulo "Minimal Perl: for UNIX and Linux People". O tema do livro o aprendizado de Perl, relacionando-o com outras ferramentas presentes nos sistemas UNIX e Linux, tais como awk, sed e grep. A idia abordar apenas o essencial para que o aluno se familiarize e possa pesquisar tpicos mais avanados em outras fontes. Minimal Perl: for UNIX and Linux People Tim Maher 450 pginas Publicado por Manning Publications, em outubro/2006