Perl哈希表用法解析
本文和大家重點討論一下Perl哈希表的概念,Perl語言和其他編程語言各有各的特點,這里和大家分享一下Perl哈希表的概念,其實Perl哈希表是一種結構。
Perl哈希表
Perl哈希表是一種結構。
key/value.
訪問Perl哈希表元素
$Perl哈希表{$some_key}
當給Perl哈希表選擇名字時,***這樣思考:Perl哈希表元素的名字和key之間可以用for來連接。如thefamily_nameforfredisflintstone.
要引用整個Perl哈希表,使用百分號(%)作為前綴。
- #!/bin/perl
 - usewarnings;
 - usestrict;
 - my$person;
 - my%family_name;
 - $family_name{"fred"}="flintstone";
 - $family_name{"barney"}="rubble";
 - foreach$person(qw<barneyfred>){
 - print"I'veheardof$person$family_name{$person}.\n";
 - }
 - my%some_hash=("foo",35,"bar",12.4,25,"hello","wilma",1.72e30,"betty","bye\n");
 - my@array_array=%some_hash=;
 - print"@array_array\n";
 
哈希賦值方法大箭頭符號(=>)
- my%last_name=(
 - "fred"=>"flintstion",
 - "dino"=>undef,
 - "barney"=>"rubble",
 - "betty"=>"rubble",
 - );
 
keys函數(shù)會返回此Perl哈希表的所有keys,values含稅將返回所有的values。如果Perl哈希表中沒有元素,則此函數(shù)將返回空列表。
- my@k=keys%last_name;
 - my@v=values%last_name;
 - my$count=keys%last_name;#scalar-producing,key/valuepairs
 - print"thekeyare@k.\n";
 - print"thevalueare@v.\n";
 - print"thecountare$count.\n";
 
each函數(shù)
如果想迭代得到Perl哈希表中的每個元素,一個通常的方法是使用each函數(shù),它將返回key/value對的元素對。當對同一個Perl哈希表函數(shù)進行一次迭代時,將返回下一個key/value對,直到所有的元素均被訪問。
- my$key;
 - my$value;
 - while(($key,$value)=each%last_name){
 - #foreach(($key,$value)=each%last_name){
 - print"$key=>$value.\n";
 - }
 
注意兩種循環(huán)的結果,原因在于兩種循環(huán)的設計機制不同。
- foreach$key(sortkeys%last_name){
 - $value=$last_name{$key};
 - print"$key=>$value.\n";
 - print"$key=>$last_name{$key}.\n";
 - }
 
【編輯推薦】















 
 
 
 
 
 
 