Latest web development tutorials

hachages Perl

Hash est une pairesclé / valeur.

variables de hachage Perl commencent avec un signe pour cent (en%) des marques.

Accèsformat élément de hachage:$ {} clés.

Ce qui suit est une instance de hachage simple:

#!/usr/bin/perl

%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'w3big'} = $data{'w3big'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

Le programme ci-dessus, le résultat est:


Création d'une table de hachage

Vous pouvez créer un hachage des deux façons suivantes:

Tout d'abord, définissez la valeur pour chaque clé

$data{'google'} = 'google.com';
$data{'w3big'} = 'w3big.com';
$data{'taobao'} = 'taobao.com';

Deuxièmement, grâce à la set list

Le premier élément dans la liste des clés, la seconde est la valeur.

%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');

Vous pouvez également utiliser les symbole=> pour définir la clé / valeur:

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

Les exemples suivants sont des variantes des exemples ci - dessus, utiliser- au lieu de guillemets:

%data = (-google=>'google.com', -w3big=>'w3big.com', -taobao=>'taobao.com');

En utilisant cette touche de mode ne peut pas avoir des espaces, lu élément ainsi:

$val = %data{-google}
$val = %data{-w3big}

élément d'accès de hachage

Format d'élément d' accès de hachage:$ {} clés, des exemples sont les suivants:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'w3big'} = $data{'w3big'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

Le programme ci-dessus, le résultat est:


Lire la valeur de hachage

Vous pouvez comme une valeur d'extrait de tableau à partir de la table de hachage.

valeur de hachage extraire lasyntaxe de tableau:@ {key1, key2}.

#!/uer/bin/perl


%data = (-taobao => 45, -google => 30, -w3big => 40);

@array = @data{-taobao, -w3big};

print "Array : @array\n";

Le programme ci-dessus, le résultat est:

Array : 45 40

Lit la clé de hachage et la valeur

Lire toutes les clés

Nous pouvons utiliser lestouches de fonction pour lire toutes les clés de hachage, la syntaxe est la suivante:

keys %HASH

Cette fonction retourne un tableau de tous les hachage de clé de tous.

#!/usr/bin/perl 

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@names = keys %data;

print "$names[0]\n";
print "$names[1]\n";
print "$names[2]\n";

Le programme ci-dessus, le résultat est:

taobao
google
w3big

Que puis - je utiliser une fonction similaire à lire toutes lesvaleurs des valeurs de hachage, la syntaxe est la suivante:

values %HASH

Cette fonction retourne un tableau de toutes les valeurs de tous les hachages.

#!/usr/bin/perl 

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@urls = values %data;

print "$urls[0]\n";
print "$urls[1]\n";
print "$urls[2]\n";

Le programme ci-dessus, le résultat est:

taobao.com
w3big.com
google.com

L'élément de détection existe

Si vous lisez une paire de clés inexistante / valeur dans le hachage, et renvoie la valeurundefined, et dans la mise en œuvre d'un rappel d'avertissement.

Pour éviter cette situation, nous pouvons utiliser la fonctionexiste pour déterminer si la clé existe, où l' existence se lit:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

if( exists($data{'facebook'} ) ){
   print "facebook 的网址为 $data{'facebook'} \n";
}
else
{
   print "facebook 键不存在\n";
}

Le programme ci-dessus, le résultat est:

facebook 键不存

Le code ci - dessus , nous utilisonsIF ... ELSE dans une section ultérieure , nous allons introduire spécifique.


Obtient la taille de hachage

taille de table de hachage est le nombre d'éléments que l'on peut obtenir par le biais de tous les éléments de la matrice de la clé ou de la valeur, et calcule ensuite le nombre d'éléments de réseau pour obtenir la taille de la table de hachage, les exemples sont les suivantes:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@keys = keys %data;
$size = @keys;
print "1 - 哈希大小: $size\n";

@values = values %data;
$size = @values;
print "2 - 哈希大小: $size\n";

Le programme ci-dessus, le résultat est:

1 - 哈希大小: 3
2 - 哈希大小: 3

Hash ajouter ou supprimer des éléments

Ajouter paires clé / valeur peut être fait par une simple affectation. Toutefois, la suppression des éléments de hachage , vous devez utiliser la fonction desuppression:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');
@keys = keys %data;
$size = @keys;
print "1 - 哈希大小: $size\n";

# 添加元素
$data{'facebook'} = 'facebook.com';
@keys = keys %data;
$size = @keys;
print "2 - 哈希大小: $size\n";

# 删除哈希中的元素
delete $data{'taobao'};
@keys = keys %data;
$size = @keys;
print "3 - 哈希大小: $size\n";

Le programme ci-dessus, le résultat est:

1 - 哈希大小: 3
2 - 哈希大小: 4
3 - 哈希大小: 3