Latest web development tutorials

hash de Perl

Hash es un paresclave / valor.

las variables de hash de Perl comienzan con un signo de porcentaje (%) marcas.

Accesoformato de elemento de hash:$ {} clave.

El siguiente es un simple ejemplo de hash:

#!/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";

El programa anterior, la salida es:


La creación de un hash

Puede crear un hash de las dos formas siguientes:

En primer lugar, establecer el valor de cada tecla

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

En segundo lugar, a través de la lista de canciones

El primer elemento de la lista de claves, el segundo es el valor.

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

También puede utilizar los=> símbolo para establecer la clave / valor:

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

Los siguientes ejemplos son variantes de los ejemplos anteriores, usar- en lugar de comillas:

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

Utilizando esta tecla de modo que no puede tener espacios, leer modo elemento:

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

elemento hash de acceso

formato elemento de hash de acceso:$ {clave}, los ejemplos son los siguientes:

#!/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";

El programa anterior, la salida es:


Leer valor hash

Puede recibir un valor de extracto de matriz a partir del hash.

valor hash extracción de lasintaxis de matrices: @ {key1, clave2}.

#!/uer/bin/perl


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

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

print "Array : @array\n";

El programa anterior, la salida es:

Array : 45 40

Lee la clave hash y de

Leer toda la llave

Podemos utilizar lasteclas de función para leer todas las claves hash, la sintaxis es la siguiente:

keys %HASH

Esta función devuelve una matriz de toda la clave hash de todos.

#!/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";

El programa anterior, la salida es:

taobao
google
w3big

¿Qué puedo usar una función similar a leer todos losvalores de los valores de hash, la sintaxis es la siguiente:

values %HASH

Esta función devuelve una matriz de todos los valores de todos los hashes.

#!/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";

El programa anterior, la salida es:

taobao.com
w3big.com
google.com

Detectar existe el elemento

Si usted lee un par de claves inexistentes / valor en el hachís, y devuelve valorindefinido, y en la implementación de un recordatorio de alerta.

Para evitar esta situación, podemos utilizar la funciónexiste para determinar si existe la clave, cuando la existencia lee:

#!/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";
}

El programa anterior, la salida es:

facebook 键不存

El código anterior usamosIF ... ELSE en una sección posterior vamos a introducir específica.


Obtiene el tamaño de hash

tamaño de hash es el número de elementos que podemos obtener a través de todos los elementos de la matriz a la clave o el valor, y luego calcular el número de elementos de la matriz para obtener el tamaño de la almohadilla, ejemplos son los siguientes:

#!/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";

El programa anterior, la salida es:

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

Hash añadir o eliminar elementos

Añadir pares clave / valor se pueden hacer por simple asignación. Sin embargo, la eliminación de los elementos de hash es necesario utilizar la función deborrado:

#!/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";

El programa anterior, la salida es:

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