Perl é uma linguagem de script. É antigo. É respeitado. Está em todo lugar. Se você já viu um script CGI executando uma aplicação web básica do final dos anos 90, você estava olhando para Perl.
Faz duas coisas bem. Primeiro, ele substitui arquivos em lote do DOS e scripts de shell C. Em segundo lugar, ele alimenta servidores web. Esse é o contexto que importa agora.
A boa notícia? O código-fonte é gratuito. Os desenvolvedores doam isso. Você pode baixar milhares de scripts. Você pode estudá-los. Você pode quebrá-los.
A má notícia? Grande parte desse código é ilegível. Perl incentiva um estilo tão enigmático que beira a ofuscação. Se você não sabe o que está fazendo, não saberá o que está lendo.
Este guia pressupõe que você já codifica. Se você conhece C, você está à frente. Se não, comece aqui. Estamos ignorando a filosofia. Estamos chegando à sintaxe.
Fazendo o intérprete funcionar
Você precisa do intérprete Perl.
Se você estiver no UNIX, provavelmente está lá. 99,99% de chance. Verifique seu terminal.
Se você estiver no Windows ou Mac, acesse o site oficial. Baixe a versão mais recente. Instale-o. Perl é gratuito. É código aberto. Existe desde 1987. Não pense demais na instalação.
Depois de instalado, encontre o diretório DOCS. Ele vem com o pacote. Digitalize. Não leia cada palavra ainda. É denso. Está seco. Mas é preciso. Você precisará dele mais tarde, quando o básico deixar de fazer sentido.
Seu primeiro roteiro
Defina seu caminho. Inclua o executável Perl. Abra um editor de texto. Crie um arquivo chamado test1.pl.
Digite isto:
Salve-o. Abra seu prompt de comando. Tipo:
Você verá “Olá, mundo!” na tela. Isso é padrão. Essa é a saída padrão.
No UNIX, você pode adicionar #!/usr/bin/perl à primeira linha. Então você pode simplesmente digitar ./test1.pl. Mais limpo. Mais rápido.
O comando print sai para stdout. O \n é um avanço de linha. Simples.
Experimente isto:
Duas linhas. Um comando.
Por que funcionou? Por causa de aspas duplas. Em Perl, aspas duplas acionam a interpretação de citação. Ele analisa caracteres de escape.
Usar aspas simples?
Agora você vê texto literal. \n permanece como \n. Sem interpretação. Sem mágica.
Há também o caractere de crase: `.
Isso executa um comando do sistema operacional. A saída é impressa na tela. No Windows, cmd /c é necessário. dir não é um executável. É um comando integrado do interpretador de comandos.
Se você tentar print 'dir'; no Windows NT, ele falhará. Você precisa do invólucro do shell.
Observe o caractere /. É usado para expressões regulares. Você verá isso em todos os lugares.
print usa vírgulas como separadores:
Também utiliza pontos como operadores de concatenação:
O ponto une strings. A vírgula separa os argumentos.
Os programadores C vão gostar de printf. Funciona exatamente como C.
Variáveis e tipos de dados
Variáveis Perl não precisam de declaração. Eles existem no momento em que você os atribui.
Sempre use um símbolo $.
Aspas duplas interpretam fugas. Aspas simples não.
Os números também funcionam.
\t é uma guia. Perl cuida disso.
A concatenação de strings usa o ponto:
Existe taquigrafia. .= funciona como +=.
Matrizes
As matrizes começam com @.
As matrizes são indexadas a zero. Como C. Como Java. Como Python.
A notação $#a fornece o índice mais alto. Não a contagem. O índice. Então, se você tiver três itens, $#a é 2.
Hash
Hashes começam com %. Eles são pares de valores-chave.
‘bar’ está vinculado a ‘cachorro’. ‘miau’ para ‘gato’.
Existe uma sintaxe mais limpa. O operador =>.
Ele cita o lado esquerdo. Funciona como uma vírgula. Isso torna o código legível. Use-o.
Perl é fácil quando você para de lutar contra a sintaxe. O básico é direto. O material avançado é onde as coisas ficam estranhas. Atenha-se ao núcleo. Domine as variáveis. Domine as regras de cotação.
O resto são apenas padrões. E maus hábitos.
Se você já passou algum tempo em C, a sintaxe do Perl lhe parecerá familiar. Ele se inspira muito nessa linhagem, mas afrouxa o controle do rigor.
Faça um loop for. Parece exatamente com o que você espera:
Você também pode contar com instruções while para iterações mais simples. Aqui, a variável aumenta dentro do bloco:
As portas lógicas seguem as mesmas regras de C. Use && para “e”, || para “ou” e ! para “não”.
Nota: Perl oferece um segundo conjunto de operadores de comparação para strings. Enquanto
==verifica a igualdade numérica,eqverifica a igualdade das strings.
Os operadores numéricos permanecem padrão:
– == (igual)
– != (diferente)
– <, <=, >, >=
Mas se estiver lidando com texto, você pode preferir as alternativas baseadas em palavras:
– eq (igual)
– ne (diferente)
– lt (menos que)
– le (menor ou igual)
– gt (maior que)
– ge (maior ou igual)
Iterando através de arrays
O loop sobre uma coleção em Perl é limpo graças ao foreach. Ele atribui cada elemento de um array a uma variável escalar, um por um.
Aqui, $b assume o valor de ‘cachorro’, depois ‘gato’ e depois ‘enguia’. O loop termina quando o array @a se esgota.
A regra da chave
Existe uma regra de sintaxe não negociável em Perl: chaves.
Você deve usar { e } para agrupar blocos de código, mesmo que o bloco contenha apenas uma única linha.
Ignore as chaves e o compilador reclamará.
Escrevendo Subrotinas
Funções em Perl são definidas usando a palavra-chave sub.
Quando você chama uma sub-rotina, todos os argumentos passados para ela são colocados em um array especial chamado @_.
A variável $#_ retorna o índice mais alto do array @_. Como as matrizes são indexadas em zero, isso fornece efetivamente a contagem de parâmetros menos um.
É um pouco obtuso, mas depois que você se acostuma, é eficiente.
Escopo da variável e valores de retorno
Para evitar poluir o namespace global dentro de uma função, declare variáveis locais usando a palavra-chave local.
Você também pode chamar uma função explicitamente usando o símbolo &.
Tecnicamente, & só é necessário quando há ambiguidade no analisador. Mas muitos desenvolvedores usam isso por hábito para serem explícitos.
Para enviar um resultado de volta ao chamador, use a palavra-chave return.
Entrada e Saída
A leitura do fluxo de entrada padrão (STDIN ) é simples. O operador de colchete angular
Isso pressupõe que a entrada seja um número inteiro válido. Se o usuário digitar lixo, a lógica será interrompida.
Para entrada de um único caractere, use getc :
Ou use a função read, que especifica o comprimento da entrada a ser capturada.
O 1 no final indica que apenas um caractere é lido.
Ambiente e dados de linha de comando
Perl expõe dados do sistema através de variáveis globais.
O hash %ENV contém todas as variáveis de ambiente. Lembre-se de que as chaves devem estar em maiúsculas.
Se você precisar acessar argumentos de linha de comando, consulte o array @ARGV.
$ARGV[0]é o primeiro argumento.$ARGV[1]é o segundo.$#ARGVfornece o índice do último argumento (contagem menos um).
Isso facilita a construção de scripts que aceitam entradas dinâmicas sem valores codificados.
Perl ainda é relevante?
É uma pergunta justa. Os programadores ainda usam Perl? Sim.
O Perl ainda é usado em 2024? Sim, embora o seu papel tenha mudado. É uma linguagem dinâmica, interpretada e de alto nível, de uso geral. Ele não domina novos projetos web greenfield da mesma forma que Python ou Node.js.
No entanto, Perl continua sendo uma potência para administração de sistemas e manutenção de legados. É excelente em processamento de texto e scripts rápidos


































