服务器之家

服务器之家 > 正文

Perl哈希表用法解析

时间:2020-06-12 10:57     来源/作者: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函数会返回此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";  
}

相关文章

热门资讯

歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
返回顶部