perl學習(2)hashes
一: 哈希概念
是一種數據結構,可容納很多值,並能隨機存取;由關鍵字與索引值構成<key,value>;
key值是唯一的
二: 應用場景:
根據主機名找對應的IP地址,
根據IP地址找主機名,
按單詞統計出現的次數,
按駕照號碼找出對應的姓名
....................
三: 哈希的聲明與賦值
1: 聲明%
eg:my %tab;
2: 賦值
A:使用列表對哈希進行賦值,但必須有偶數個成員(鍵/值對)。例如
B:可用箭頭符號=>將哈希賦值中的鍵/值區分開來
3: hash可轉換成列表
eg:my @arrays = %tab;
4: hash復制
eg:my %new_hash=%hash;
my %inverse_hash=reverse %hash(哈希值value唯一的情況才有效)
5: 訪問哈希元素
A:訪問hash中的單個元素,使用花括號
eg:my $value = $scores{$key};
my $value2 = $scores {"xiaoming"};
B:可以將單個的哈希元素內插到雙引號字符串中
eg:print “xiaoli‘s score is $scores{"xiaoli"}\n”;
C:%ENV 獲取系統環境的配置信息(path)
eg:
6: 例子
輸出:
use Data::Dumper;
print Data::Dumper->Dumper([\%scores1],[‘scores1‘]); #調用類Data::Dumper
三: 哈希操作
1: keys
返回關鍵字列表;my @name = keys %scores;
2: values
返回值列表;my @scores = values%scores;
3: each
返回一對值;my($name,$score) = each %scores
4: exists
檢查hash中是否存在指定的關鍵字,存在返回1;my $person = "xiaoming"; exists $scores{$person};
5: delete
刪除hash中指定的鍵與對應的值;delete $scores{$person};
6: 例子
輸出:
perl學習(2)hashes