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