Perl
Origem: Wikipédia, a enciclopédia livre.
Perl é uma linguagem de programação estável e multiplataforma, usada em aplicações de missão crítica em todos os setores, sendo destacado o seu uso no desenvolvimento de aplicações web de todos os tipos. Foi criada por Larry Wall em dezembro de 1987. A origem do Perl remonta ao shell scripting, Awk e linguagem C, estando disponível para praticamente todos os sistemas operacionais, embora seja usado mais comumente em sistemas Unix e compatíveis. Originalmente, o nome não possui significado algum, mas algumas possíveis expansões foram propostas, como Practical Extraction and Report Language e Pathologically Eclectic Rubbish Lister, este último tendo sido proposto pelo próprio Larry Wall, conhecido por sua personalidade sarcástica e criativa.
Perl é uma das linguagens preferidas por administradores de sistema e autores de aplicações para a web. É especialmente versátil no processamento de cadeias (strings), manipulação de texto e no pattern matching implementado através de expressões regulares, além de permitir tempos de desenvolvimento curtos.
A linguagem Perl já foi portada para mais de 100 diferentes plataformas e é bastante usada em desenvolvimento web, finanças e bioinformática.
Índice |
[editar] Características da linguagem
No geral, a sintaxe de um programa em Perl se parece muito com a de um programa em C: existem variáveis, expressões, atribuições, blocos de código delimitados, estruturas de controle e sub-rotinas.
Além disso, Perl foi bastante influenciado pelas linguagens de shell script: todas as variáveis são precedidas por um cifrão ($). Essa marcação permite identificar perfeitamente as variáveis em um programa, aonde quer que elas estejam. Um dos melhores exemplos da utilidade desse recurso é a interpolação de variáveis diretamente no conteúdo de strings. Perl também possui muitas funções integradas para tarefas comuns como ordenação e acesso de arquivos em disco.
Perl pega emprestado as listas de Lisp, as arrays associativas (tabelas hash) de awk e as expressões regulares de sed. Isso tudo simplifica e facilita qualquer forma de interpretação e tratamentos de textos e dados em geral.
A linguagem suporta estruturas de dados arbitrariamente complexas. Ela também possui recursos vindos da programação funcional (as funções são vistas como um outro valor qualquer para uma subrotina, por exemplo) e um modelo de programação orientada a objetos. Perl também possui variáveis com escopo léxico, que tornam mais fácil a escrita de código mais robusto e modularizado.
Todas as versões de Perl possuem gerenciamento de memória automático e tipamento dinâmico. Os tipos e necessidades de cada objeto de dados no programa são determinados automaticamente; memória é alocada ou liberada de acordo com o necessário. A conversão entre tipos de variáveis é feita automaticamente em tempo de execução e conversões ilegais são erros fatais.
[editar] Resumo
- Perl tira as melhores características de linguagens como C, awk, sed, sh, e BASIC, entre outras.
- Sua interface de integração com base de dados (DBI) suporta muitos bancos de dados, incluindo Oracle, Sybase, PostgreSQL, MySQL e outros.
- Perl tem módulos para trabalhar com HTML, XML, e outras linguagens de markup.
- Perl suporta Unicode.
- Perl permite programação procedural e orientada a objetos.
- Perl pode acessar bibliotecas externas em C/C++ através de XS ou SWIG.
- Perl é extensível. Existem milhares de módulos disponíveis no Comprehensive Perl Archive Network (CPAN).
- O interpretador Perl pode ser embutido em outros sistemas.
[editar] Fatos
- Perl é uma linguagem estável e multiplataforma
- É usada em aplicações de missão crítica em todos os setores
- Perl é um software livre, disponível sob a Licença Artística ou a GNU General Public License (GPL).
- Perl foi criada por Larry Wall.
- Perl 1.0 foi lançada na usenet alt.comp.sources em 1987
- Possui mais 5 mil módulos para as mais diversas finalidades
- Tem como lema: "There's More Than One Way To Do It" (TMTOWTDI)
- Sua atual versão estável é 5.8.8
[editar] Perl e a World Wide Web
- Perl é linguagem mais popular de programação web, devido à suas capacidades de manipulação de textos e rápido ciclo de desenvolvimento.
- Perl é conhecida como "a fita adesiva da Internet".
- O módulo Perl CGI.pm, parte da distribuição padrão de Perl, faz com que a manipulação de formulários HTML seja muito simples.
- Perl pode manipular dados encriptados, incluindo transações de comércio eletrônico.
- 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 código Perl diretamente.
- O pacote DBI do Perl faz com que a integração com banco de dados seja muito simples.
[editar] Exemplos de código
[editar] Olá, mundo!
print "Olá, mundo!";
[editar] Comentário
# Isto é um comentário em Perl
[editar] Expressão regular - Filtro
O programa a seguir lê um texto e substitui qualquer ocorrência da string "foo" por "bar", imprimindo a linha transformada na tela:
while(<>) { s/foo/bar/g; print; }
É possível obter o mesmo resultado com uma única linha (um "one-liner"):
perl -pi -e 's/foo/bar/g' arquivo.txt
De fato, é muito comum que problemas que exigem dezenas de linhas em outras linguagens de programação possam ser resolvidos com uma única linha de perl, especialmente na área de ETL.
[editar] Estruturas de controle
Perl tem as estruturas básicas esperadas em qualquer linguagem de programação:
- if
- while
- for
- until
Perl tira boas idéias 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;
[editar] Comunidade
Um dos pontos mais fortes da linguagem Perl é a comunidade de usuários em todo o mundo, sempre disposta a ajudar e tirar dúvidas de usuários iniciantes.
Segundo a tradição internacional, esses grupos são denominados Perl Mongers.
A comunidade brasileira é reconhecida internacionalmente com uma das comunidades mais ativas do mundo, sendo que seus principais pontos de encontro são:
- o canal #perl.br em irc://irc.freenode.net e
- a lista de discussão de Cascavel-PM, em http://mail.pm.org/mailman/listinfo/cascavel-pm.
- o portal da Sociedade Perl do Brasil, em http://www.perl.org.br
- CPAN Brasileiro, em http://cpan.giga.com.br
[editar] Links
- Introdução à Linguagem Perl: http://www.perl.org.br/bin/view/Perldoc/Perlintro
- Guia de estilo: http://www.perl.org.br/bin/view/Perldoc/Perlstyle