Tutorial PerlPostada em: 14/08/2005
Por: scriptfacil.com Nº de Visualizações: 5321.
Lista de páginas desta publicação:
A linguagem Perl (Practical Extraction and Report Language) - inicialmente concebida no ambiente Unix e hoje portada para ambientes como Windows, OS/2 e diversos outros sabores de Unix (Linux, BSD, AIX, SUN, etc.) - é uma linguagem interpretável e bastante poderosa como C, porém, bem mais simples e flexível. Ela é uma linguagem execelente para manipulação de strings e formatação de textos de um modo geral, e é justamente por isso que a mesma é também bastante utilizada para implementação de CGIs.
2. Operadores
2.1. Aritméticos
--------------------------------------
Operador Descrição
--------------------------------------
** Exponenciação
+ Adição
- Subtração
* Multiplicação
/ Divisão
% Resto da divisão
. Concatenação de strings
x Replicador (escalar/array)
--------------------------------------
2.2. (In/De)cremento
---------------------------
Operador Descrição
---------------------------
++ Incremento (+1)
-- Decremento (-1)
---------------------------
2.3. Comparação
-----------------------------------------
Numérico String Descrição
-----------------------------------------
== eq Igualdade
!= ne Desigualdade
cmp <=> Igualdade binária (*)
-----------------------------------------
(*) -1 = menor; 0 = iguais; 1 = maior
2.4. Relacionais
----------------------------------
Numérico String Descrição
----------------------------------
< lt Menor que
> gt Maior que
<= le Menor ou igual
>= ge Maior ou igual
----------------------------------
2.5. Lógicos
------------------------
Operador Descrição
------------------------
! not Negação
&& and boleano
|| or boleano
------------------------
2.6. Atribuição
------------------------------------------
Operador Descrição
------------------------------------------
= Atribuição simples
= Operação seguida de atribuição
------------------------------------------
opr: +, -, *, /, **, %, ., ||, &&
2.7. Equiparação
---------------------------
Operador Descrição
---------------------------
=~ equipara
!~ equipara e nega
---------------------------
2.8. Arquivos
-------------------------------------
Operador Descrição
-------------------------------------
-d Diretório
-e Arquivo existe
-f Arquivo
-z Arquivo possui zero bytes
-------------------------------------
2.9. Outros
---------------------------------------------
Operador Descrição
---------------------------------------------
.. Especificador de faixa de valores
, Especificador de lista
? ... : ... (if-then-else)
---------------------------------------------
3. Tipos de Dados
A Perl não faz distinção entre tipos (numéricos, alfanuméricos, lógicos, etc) de dados. A maneira como esses dados serão manipulados, dependerá do contexto no qual estão inseridos. Isto é, em um contexto numérico, um número será tratado como um número (ex: operação de adição). Porém, em um contexto literal (ex: operação de concatenação), esse mesmo número será tratado como uma string. No contexto lógico, teremos 0, \"0\" e \"\" avaliados como falso, demais valores serão avaliados como verdadeiros.
Os dados podem ser representados na forma de um escalar ou de uma lista. O escalar, é qualquer conjunto de caracteres (letras, números, simbolos, etc). A lista, é um conjunto de dados, representando uma mesma informação. Na verdade, uma lista nada mais é que um conjunto de escalares. E esse conjunto normalmente é descrito usando-se o operador especificador de lista, a \",\" (vírgula).
4. Estruturas de Dados
Na Linguagem Perl existem três estruturas básicas de armazenamentos de dados: o escalar, o array e o hash.
4.1. Escalar
Variável que armazena escalares. O nome de uma variável escalar deve sempre iniciar pelo caracter $, pois é através deste caracter que as variáveis escalares são identificadas como tal. Ex.:
$nome = \"Jose Paulo\";
$idade = 32;
$sexo = M;
4.2. Array
Variável que armazena listas. O nome de uma variável array deve iniciar com caracter \"@\", pelo mesmo motivo do \"$\" em uma variável escalar. Cada elemento (um escalar) de uma lista será referenciado por um índice que corresponderá a posição do escalar dentro da lista que o mesmo esta inserido. O primeiro elemento da lista será referenciado pelo índice 0 (zero).
- Atribuindo uma lista:
@frutas = ( \"maca\", \"laranja\", \"pera\", \"goiaba\" );
- Atribuindo elementos individualmente:
$frutas[0] = \"maca\";
$frutas[1] = \"laranja\";
$frutas[2] = \"pera\";
$frutas[3] = \"goiaba\";
Obs.: Sempre que se fizer referência a um elemento em específico da lista de elementos de uma array, deve-se utilizar $ ao invés de @ no nome do array, pois o que se referencia, é um escalar. - Contabilizando elementos de um array:
$qtd_frutas = @frutas;
Obs.: Como @frutas está em um contexto escalar (sendo atribuido a uma variável escalar), $qtd_frutas irá receber, exatamente, a quantidade de elementos armazenados em @frutas.
@alimento = @frutas;
Obs.: Neste contexto (de lista) @frutas será tratada como uma lista de elementos que será atribuida ao array @alimento. Após essa instrução ser excutada, @alimento conterá a mesma lista (conjunto de elementos) existentes em @frutas.
$ultimo = $#frutas;
print $frutas[$ultimo]; # imprime \"goiaba\"
Obs.: O escalar $ultimo irá receber o índice do último elemento inserido em @frutas, ou seja, o valor 3 referente ao elemento \"goiaba\". Em contexto escalar, @frutas é igual a $#frutas + 1.