Latest web development tutorials

hash Perl

Hash è unachiave / valore coppie.

variabili hash Perl iniziano con un segno di percentuale (%) i marchi.

Formato Access elemento di un hash:$ {chiave}.

Quanto segue è un semplice esempio di 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";

Il programma precedente, l'uscita è:


Creazione di un hash

È possibile creare un hash dei due seguenti modi:

In primo luogo, impostare il valore per ogni chiave

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

In secondo luogo, attraverso la scaletta

Il primo elemento nell'elenco di chiave, il secondo è di valore.

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

È inoltre possibile utilizzare i=> simbolo per impostare la chiave / valore:

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

Gli esempi che seguono sono varianti degli esempi di cui sopra, utilizzare- invece di virgolette:

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

Usando questo tasto modalità non può avere spazi, leggere modo elemento:

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

elemento di un hash di accesso

hashformato Access elemento:$ {} chiave, esempi sono i seguenti:

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

Il programma precedente, l'uscita è:


Leggi valore hash

È possibile, come un valore estratto matrice dalla hash.

valore hash estrarre lasintassi array: @ {chiave1, key2}.

#!/uer/bin/perl


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

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

print "Array : @array\n";

Il programma precedente, l'uscita è:

Array : 45 40

Legge il tasto cancelletto e il valore

Leggi tutto chiave

Possiamo usare itasti funzione per leggere tutte le chiavi di hash, la sintassi è la seguente:

keys %HASH

Questa funzione restituisce un array di tutti gli hash chiave di tutto.

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

Il programma precedente, l'uscita è:

taobao
google
w3big

Cosa posso usare una funzione simile a leggere tutti ivalori dei valori di hash, la sintassi è la seguente:

values %HASH

Questa funzione restituisce un array di tutti valore di tutti gli hash.

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

Il programma precedente, l'uscita è:

taobao.com
w3big.com
google.com

Rilevamento esiste elemento

Se andate a leggere una coppia di chiavi inesistente / valore nel hash, e restituisce il valoreindefinito, e nella realizzazione di un richiamo di avvertimento.

Per evitare questa situazione, si può utilizzare la funzioneesiste per determinare se esiste la chiave, quando l'esistenza si legge:

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

Il programma precedente, l'uscita è:

facebook 键不存

Il codice di cui sopra utilizzarese ... ELSE in una sezione successiva saranno introdotti specifici.


Ottiene la dimensione hash

dimensioni Hash è il numero di elementi che possiamo ottenere attraverso tutti gli elementi della matrice alla chiave o il valore, e quindi calcolare il numero di elementi di matrice per ottenere la dimensione del hash esempi sono i seguenti:

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

Il programma precedente, l'uscita è:

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

Hash aggiungere o rimuovere elementi

Aggiungere coppie chiave / valore può essere fatto con una semplice assegnazione. Tuttavia, la rimozione di elementi di hash è necessario utilizzare la funzione dicancellazione:

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

Il programma precedente, l'uscita è:

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