𝖂𝖎ƙ𝖎𝖊

Perl

A Linguagem Prática de Extração e Geração de Relatórios - The Practical Extraction and Report Language (ou Pathologically Eclectic Rubbish Lister) é uma linguagem de programação estável e multiplataforma, usada em aplicações de missão crítica em todos os setores, e é bastante usada para desenvolver 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, e está disponível para praticamente todos os sistemas operacionais, mas é usado mais comumente em sistemas Unix e compatíveis.

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.

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.

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.

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

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.

Exemplos de código

Olá, mundo!

print "Olá, mundo!";

Comentário

# Isto é um comentário em Perl

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


Estruturas de controle

statement if      cond ;
statement unless  cond ;
statement while   cond ;
statement until   cond ;
statement foreach list ;

Comunidade

Um dos pontos fortes é a comunidade de usuários em volta da linguagem, sempre disposta a ajudar e tirar dúvidas tanto dos iniciantes como dos mais experientes. O Brasil conta com uma das mais ativas comunidades Perl e possui como ponto de encontro o canal #perl.br na rede irc://irc.freenode.net e a lista de discussão em http://mail.pm.org/mailman/listinfo/cascavel-pm. É possível ainda encontar no portal da Sociedade Perl do Brasil em http://www.perl.org.br material de consulta em português além da tradução da documentação oficial da linguagem, o perldoc http://perldoc.perl.org. Perl possui grupos de usuários locais, chamados "Perl Mongers". O Brasil Perl Mongers é o grupo que engloba todos os grupos regionais do Brasil [1].

als:Perl bg:Perl bs:Perl ca:Perl cs:Perl cy:Perl da:Perl de:Perl en:Perl eo:Perl (programlingvo) es:Perl et:Perl fa:پرل fi:Perl fr:Perl (langage) gl:Perl he:Perl hr:Perl hu:Perl programozási nyelv id:Perl it:Perl ja:Perl ka:პერლი ko:펄 ku:Perl la:Perl lb:Perl (Programméiersprooch) lt:Perl nl:Perl (programmeertaal) nn:Perl no:Perl pdc:Perl pl:Perl ro:Perl ru:Perl simple:Perl sk:Perl sl:Perl sr:Програмски језик Перл sv:Perl th:ภาษาเพิร์ล tr:Perl zh:Perl

talvez você goste