Perl雜湊表用法解析_perl

來源:互聯網
上載者:User

本文和大家重點討論一下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函數會返回此Perl雜湊表的所有keys,values含稅將返回所有的values。如果Perl雜湊表中沒有元素,則此函數將返回空列表。

複製代碼 代碼如下:

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函數

如果想迭代得到Perl雜湊表中的每個元素,一個通常的方法是使用each函數,它將返回key/value對的元素對。當對同一個Perl雜湊表函數進行一次迭代時,將返回下一個key/value對,直到所有的元素均被訪問。

複製代碼 代碼如下:

my$key;  
my$value;   
while(($key,$value)=each%last_name){   
#foreach(($key,$value)=each%last_name){  
print"$key=>$value.\n";  
}  

注意兩種迴圈的結果,原因在於兩種迴圈的設計機制不同。
複製代碼 代碼如下:

foreach$key(sortkeys%last_name){  
$value=$last_name{$key};  
print"$key=>$value.\n";  
print"$key=>$last_name{$key}.\n";  
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.