Um hash é uma coleção de pares chave/valor .
Variáveis hash em Perl começam com um sinal de porcentagem (%).
Acesse o formato do elemento hash: ${key} .
Aqui está um exemplo simples de hash:
Executando o programa acima, o resultado de saída é:
Existem duas maneiras de criar um hash:
$data{'google'} = 'google.com';$data{'codercto'} = 'codercto.com';$data{'taobao'} = 'taobao.com';
O primeiro elemento da lista é a chave e o segundo elemento é o valor.
%dados = ('google', 'google.com', 'codercto', 'codercto.com', 'taobao', 'taobao.com');
Você também pode usar o símbolo => para definir chave/valor:
%dados = ('google'=>'google.com', 'codercto'=>'codercto.com', 'taobao'=>'taobao.com');
O exemplo a seguir é uma variação do exemplo acima, usando - em vez de aspas:
%dados = (-google=>'google.com', -codercto=>'codercto.com', -taobao=>'taobao.com');
Desta forma, espaços não podem aparecer na chave. A forma de ler os elementos é:
$val = $data{-google}$val = $data{-codercto}
Acesse o formato do elemento hash: ${key} , o exemplo é o seguinte:
Executando o programa acima, o resultado de saída é:
Você pode extrair valores de um hash da mesma forma que um array.
O valor hash é extraído em um formato de sintaxe de array: @{key1,key2} .
Executando o programa acima, o resultado de saída é:
Matriz: 45 40
Podemos usar a função keys para ler todas as chaves do hash.
chaves %HASH
Esta função retorna um array de todas as chaves para todos os hashes.
Executando o programa acima, o resultado de saída é:
taobaogooglecodercto
Da mesma forma, podemos usar a função de valores para ler todos os valores do hash. O formato da sintaxe é o seguinte:
valores% HASH
Esta função retorna um array de todos os valores para todos os hashes.
Executando o programa acima, o resultado de saída é:
taobao.comcodercto.comgoogle.com
Se você ler um par chave/valor que não existe no hash, um valor indefinido será retornado e um aviso aparecerá durante a execução.
Para evitar esta situação, podemos usar a função existe para determinar se a chave existe e lê-la quando ela existir:
Executando o programa acima, o resultado de saída é:
chave do facebook não existe
No código acima, usamos a instrução IF...ELSE , que apresentaremos em detalhes nos capítulos seguintes.
O tamanho do hash é o número de elementos. Podemos obter o tamanho do hash obtendo primeiro todas as matrizes de elementos de chave ou valor e, em seguida, calculando o número de elementos da matriz.
Executando o programa acima, o resultado de saída é:
1 - Tamanho do hash: 32 - Tamanho do hash: 3
A adição de pares chave/valor pode ser feita por meio de atribuição simples. Mas para excluir um elemento hash você precisa usar a função delete :
Executando o programa acima, o resultado de saída é:
1 - tamanho do hash: 32 - tamanho do hash: 43 - tamanho do hash: 3