Variáveis são dados armazenados na memória. A criação de uma variável abrirá um espaço na memória.
O interpretador determinará seu espaço de armazenamento na memória com base no tipo da variável, para que você possa atribuir diferentes tipos de dados às variáveis, como inteiro, ponto flutuante, string, etc.
No capítulo anterior, apresentamos os três tipos básicos de dados do Perl: escalar, array e hash.
Comece com um escalar $, como $a $b são dois escalares.A matriz começa com @, como @a @b são duas matrizes.
O hash % começa com %a %b sendo os dois hashes.
Perl configura um espaço de comando independente para cada tipo de variável, para que variáveis de tipos diferentes possam usar o mesmo nome sem se preocupar com conflitos. Por exemplo, $foo e @foo são duas variáveis diferentes.
As variáveis não precisam declarar explicitamente seu tipo. Depois que um valor for atribuído à variável, o interpretador alocará automaticamente um espaço de tipo correspondente.
As variáveis recebem valores usando o sinal de igual (=).
Podemos usar a instrução use strict no programa para forçar todas as variáveis a declarar tipos.
O lado esquerdo do sinal de igual é a variável e o lado direito é o valor.
$idade = 25; # Inteiro $nome = "codercto"; # String $salário = 1445,50;
No código acima, 25, "codercto" e 1445.50 são atribuídos às variáveis $age , $name e $salary respectivamente.
A seguir veremos o uso de arrays e hashes.
Um escalar é uma única unidade de dados. Os dados podem ser inteiros, números de ponto flutuante, caracteres, strings, parágrafos, etc. Simplificando, pode ser qualquer coisa. Aqui está uma aplicação simples de escalares:
O resultado de saída da execução do programa acima é:
Idade = 25Nome = coderctoSalário = 1445,5
Uma matriz é uma variável usada para armazenar um valor escalar ordenado.
Matriz @ começa.
Para acessar as variáveis do array, você pode usar o cifrão ($) + o nome da variável e especificar o subscrito para acessá-la.
O resultado de saída da execução do programa acima é:
$idades[0] = 25$idades[1] = 30$idades[2] = 40$nomes[0] = google$nomes[1] = codercto$nomes[2] = taobao
No programa, usamos o caractere de escape () antes da marca $ para que o caractere $ possa ser gerado.
Um hash é uma coleção de pares chave/valor .
Hash% começa.
Se quiser acessar o valor hash, você pode usar o formato $+{key} para acessá-lo:
O resultado de saída da execução do programa acima é:
$dados{'google'} = 45$dados{'codercto'} = 30$dados{'taobao'} = 40
O chamado contexto: refere-se ao local onde a expressão está localizada.
O contexto é determinado pelo tipo da variável no lado esquerdo do sinal de igual. Se houver um escalar no lado esquerdo do sinal de igual, é um contexto escalar. Se houver uma lista no lado esquerdo do sinal de igual. sinal de igual, é um contexto de lista.
O interpretador Perl determina o tipo de variável com base no contexto. Os exemplos são os seguintes:
O resultado de saída da execução do programa acima é:
O nome é: google codercto taobao O número de nomes é: 3
@names no código é um array usado em dois contextos diferentes. O primeiro copia-o para outro array, de modo que gera todos os elementos do array. Em segundo lugar, atribuímos o array a um escalar, que retorna o número de elementos do array.
Vários contextos diferentes estão listados abaixo:
número de série | contexto e descrição |
---|---|
1 | escalar- Atribuído a uma variável escalar, avaliada no lado direito do contexto escalar |
2 | lista- Atribui a um array ou hash, avaliado no lado direito do contexto da lista. |
3 | Booleano− Um contexto booleano é uma expressão simples que avalia se é verdadeira ou falsa. |
4 | Vazio - Este contexto não precisa estar relacionado ao valor retornado e geralmente não requer um valor de retorno. |
5 | interpolação - Este contexto ocorre apenas entre aspas. |