Perl-Hashes
Hash ist einSchlüssel / Wert - Paaren.
Perl Hash-Variablen beginnen mit einem Prozentzeichen (%) Mark.
Zugang HashelementFormat: $ {key}.
Im Folgenden ist eine einfache Hash-Instanz:
#!/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";
Das obige Programm, das Ausgabe ist:
Erstellen eines Hash
Sie können einen Hash der folgenden zwei Arten erstellen:
Zuerst legen Sie den Wert für jede Taste
$data{'google'} = 'google.com'; $data{'w3big'} = 'w3big.com'; $data{'taobao'} = 'taobao.com';
Zweitens durch die Set-Liste
Das erste Element in der Liste der Schlüssel, ist der zweite Wert.
%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');
Sie können auch die= verwenden> Symbol den Schlüssel / Wert zu setzen:
%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');
Die folgenden Beispiele sind Varianten der obigen Beispiele verwenden- anstelle von Anführungszeichen:
%data = (-google=>'google.com', -w3big=>'w3big.com', -taobao=>'taobao.com');
In diesem Modus-Taste verwenden können keine Leerzeichen enthalten, Element Weise lesen:
$val = %data{-google} $val = %data{-w3big}
Zugang Hashelement
Zugang HashelementFormat: $ {key}, Beispiele sind wie folgt:
#!/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";
Das obige Programm, das Ausgabe ist:
Lesen Sie Hash-Wert
Sie können ein Array Extrakt Wert aus dem Hash mögen.
Hash - Wert Extrahieren der Array -Syntax: @ {Tasten 1, 2}.
#!/uer/bin/perl %data = (-taobao => 45, -google => 30, -w3big => 40); @array = @data{-taobao, -w3big}; print "Array : @array\n";
Das obige Programm, das Ausgabe ist:
Array : 45 40
Liest die Raute-Taste und Wert
Lesen Sie alle Schlüssel
Wir können dieFunktionstasten verwenden , um alle Hash - Schlüssel zu lesen, ist Syntax wie folgt:
keys %HASH
Diese Funktion gibt ein Array aller Schlüssel-Hash aller.
#!/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";
Das obige Programm, das Ausgabe ist:
taobao google w3big
Was kann ich eine ähnliche Funktion verwenden , um alleWerte der Hash - Werte zu lesen, ist Syntax wie folgt:
values %HASH
Diese Funktion gibt ein Array aller Wert aller 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";
Das obige Programm, das Ausgabe ist:
taobao.com w3big.com google.com
Erfassungselement vorhanden
Wenn Sie einen nicht vorhandenen Schlüssel / Wert - Paar in der Hash gelesen und gibtnicht definierten Wert, und bei der Umsetzung einer Warnung Erinnerung.
Um diese Situation zu vermeiden, können wir verwenden die Funktionvorhanden ist, um zu bestimmen , ob der Schlüssel vorhanden ist , wenn das Vorhandensein lautet:
#!/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"; }
Das obige Programm, das Ausgabe ist:
facebook 键不存
Der obige Code verwenden wirif ... else - Anweisung in einem späteren Abschnitt werden wir spezifische einführen.
Ruft die Hash-Größe
Hash-Größe ist die Anzahl von Elementen, die wir durch alle Elemente des Arrays auf den Schlüssel oder Wert zu bekommen, und berechnen dann die Anzahl der Array-Elemente, die Größe der Hash zu erhalten, Beispiele dafür sind wie folgt:
#!/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";
Das obige Programm, das Ausgabe ist:
1 - 哈希大小: 3 2 - 哈希大小: 3
Der Hash-Elemente hinzufügen oder entfernen
Fügen Sie Schlüssel / Wert-Paare können durch einfache Zuordnung erfolgen. Allerdings Hash - Elemente zu entfernen müssen Sie dieLöschfunktion zu verwenden:
#!/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";
Das obige Programm, das Ausgabe ist:
1 - 哈希大小: 3 2 - 哈希大小: 4 3 - 哈希大小: 3