execucao e conversoes ilegais sao erros fatais. ResumoPerl reune as melhores caracteristicas de linguagens como C, awk, sed, sh, e BASIC, entre outras. Sua interface de integracao com base de dados (DBI) suporta muitos bancos de dados, incluindo Oracle, Sybase, PostgreSQL, MySQL e outros. Perl tem modulos para trabalhar com HTML, XML, e outras linguagens de markup. Perl suporta Unicode. Perl permite programacao procedural e orientada a objetos. Perl pode acessar bibliotecas externas em C/C++ atraves de XS ou SWIG. Perl e extensivel. Existem milhares de modulos disponiveis no Comprehensive Perl Archive Network (CPAN). O interpretador Perl pode ser embutido em outros sistemas. FatosPerl e um software livre, disponivel sob a Licenca Artistica ou a GNU General Public License (GPL); Perl 1.0 foi lancada na usenet alt.comp.sources em 1987; Possui mais de 18 mil modulos disponiveis na CPAN para as mais diversas finalidades; Tem como lema: "There's More Than One Way To Do It" (TMTOWTDI); Sua atual versao estavel e 5.10.0. Perl e a World Wide WebPerl e conhecida como "a fita adesiva da Internet". O modulo Perl CGI.pm, parte da distribuicao padrao de Perl, faz com que a manipulacao de formularios HTML seja muito simples. Perl pode manipular dados encriptados, incluindo transacoes de comercio eletronico. Perl pode ser embutido em servidores web para aumentar a velocidade de processamento em ate 2000%. mod perl permite que o servidor web Apache possa interpretar codigo Perl diretamente. O pacote DBI do Perl faz com que a integracao com banco de dados seja muito simples. Tipos de dadosO Perl tem uma serie de tipos de dados fundamentais, porem e considerada uma linguagem nao-tipada, ou seja, as variaveis nao sao restringidas a usar um unico tipo. Os mais utilizados sao: escalar, vetor (array), hash (vetor associativo), handle de um arquivo e sub-rotinas.Escalar Um escalar e um valor unico, que pode ser um numero, uma string ou uma referencia. E declarada com um '$', como:$num$joe$pointerArray Um array e um conjunto sequencial ordenado de escalares. O indice inicial de uma variavel array e zero (0). E declarada com um '@', como:@v@list@variableHash Um hash, ou array associativo, e um mapeamento (ou seja, chaves de referencias) de strings para escalares. Representa uma colecao de pares de chave/valor. Sao declarados com um '%', como:%people%x%this_is_a_hashHandle Um handle de um arquivo e um mapeamento para um arquivo, dispositivo ou pipe, que e aberto para leitura, escrita, ou ambos.Sub-rotina A sub-rotina e um trecho de codigo que pode ser executado, para o qual podem ser passados argumentos, e do qual podem ser recebidos resultados.Exemplos de codigoA primeira linha de um codigo em Perl deve sempre comecar com o shebang:#!/usr/bin/perl Programa Ola Mundo!#!/usr/bin/perl print "Ola, Mundo!\n"; Comentario# Isto e um comentario em PerlNote o ponto-e-virgua no final de cada expressao. Assim como em C e c++, Perl exige que o usemos para indicar o final de uma expressao. A ultima linha e a que apaga o arquivo. unlink equivale a 'rm' e $0 e uma referencia simples ao arquivo que esta sendo executado.[1] Expressao regular FiltroO programa a seguir le um texto e substitui qualquer