Perl - Tipos de Dados

Perl é uma linguagem vagamente tipada e não há necessidade de especificar um tipo para seus dados ao usar em seu programa. O interpretador Perl escolherá o tipo com base no contexto dos próprios dados.

Perl tem três tipos de dados básicos: escalares, matrizes de escalares e hashes de escalares, também conhecidos como matrizes associativas. Aqui estão alguns detalhes sobre esses tipos de dados.

Sr. Não. Tipos e descrição
1

Scalar

Os escalares são variáveis ​​simples. Eles são precedidos por um cifrão ($). Um escalar é um número, uma string ou uma referência. Uma referência é na verdade o endereço de uma variável, que veremos nos próximos capítulos.

2

Arrays

Arrays são listas ordenadas de escalares que você acessa com um índice numérico, que começa com 0. Eles são precedidos por um sinal "arroba" (@).

3

Hashes

Hashes são conjuntos não ordenados de pares de chave / valor que você acessa usando as chaves como subscritos. Eles são precedidos por um sinal de porcentagem (%).

Literais Numéricos

Perl armazena todos os números internamente como inteiros com sinal ou valores de ponto flutuante de precisão dupla. Literais numéricos são especificados em qualquer um dos seguintes formatos de ponto flutuante ou inteiro -

Tipo Valor
Inteiro 1234
Inteiro negativo -100
Ponto flutuante 2000
Notação científica 16.12E14
Hexadecimal 0xffff
Octal 0577

Literais de string

Strings são sequências de caracteres. Eles geralmente são valores alfanuméricos delimitados por aspas simples (') ou duplas ("). Eles funcionam como aspas do shell do UNIX, onde você pode usar strings entre aspas simples e duplas.

Literais de string entre aspas duplas permitem interpolação de variáveis, e strings com aspas simples não. Existem certos caracteres que são precedidos por uma barra invertida, têm um significado especial e são usados ​​para representar como nova linha (\ n) ou tabulação (\ t).

Você pode incorporar novas linhas ou qualquer uma das seguintes sequências de Escape diretamente em suas strings entre aspas duplas -

Sequência de fuga Significado
\\ Barra invertida
\ ' Citação única
\ " Citação dupla
\uma Alerta ou sino
\ b Backspace
\ f Feed de formulário
\ n Nova linha
\ r Retorno de carruagem
\ t Aba horizontal
\ v Aba vertical
\ 0nn Cria números formatados em octal
\ xnn Cria números formatados hexadecimais
\ cX Controla os caracteres, x pode ser qualquer caractere
\você Força o próximo caractere a maiúsculas
\eu Força o próximo caractere para minúsculas
\VOCÊ Força todos os caracteres seguintes a maiúsculas
\EU Força todos os caracteres seguintes para minúsculas
\ Q Barra invertida em todos os caracteres não alfanuméricos seguintes
\ E Fim \ U, \ L ou \ Q

Exemplo

Vamos ver novamente como as strings se comportam com aspas simples e duplas. Aqui, usaremos escapes de string mencionados na tabela acima e faremos uso da variável escalar para atribuir valores de string.

#!/usr/bin/perl

# This is case of interpolation.
$str = "Welcome to \ntutorialspoint.com!";
print "$str\n";

# This is case of non-interpolation.
$str = 'Welcome to \ntutorialspoint.com!';
print "$str\n";

# Only W will become upper case.
$str = "\uwelcome to tutorialspoint.com!";
print "$str\n";

# Whole line will become capital.
$str = "\UWelcome to tutorialspoint.com!";
print "$str\n";

# A portion of line will become capital.
$str = "Welcome to \Ututorialspoint\E.com!"; 
print "$str\n";

# Backsalash non alpha-numeric including spaces.
$str = "\QWelcome to tutorialspoint's family";
print "$str\n";

Isso produzirá o seguinte resultado -

Welcome to
tutorialspoint.com!
Welcome to \ntutorialspoint.com!
Welcome to tutorialspoint.com!
WELCOME TO TUTORIALSPOINT.COM!
Welcome to TUTORIALSPOINT.com!
Welcome\ to\ tutorialspoint\'s\ family