1. 程式人生 > >perl學習(2)hashes

perl學習(2)hashes

信息 arrays inverse 例子 結構 字符串 隨機 符號 score

一:  哈希概念

    是一種數據結構,可容納很多值,並能隨機存取;由關鍵字與索引值構成<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