Perl基础---遍历散列

Posted EasyPerl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl基础---遍历散列相关的知识,希望对你有一定的参考价值。

在Perl编程中, 散列hash是我们用的特别频繁的一种基础数据结构。 

但是由于hash是数值对同时以离散的形式来存储的,因此我们遍历hash时, 和数组有点不同。 


我们前面介绍了基础的遍历方法:

my %user = (

'zhang' => 33,

'li'    => 44,

'wang'  => 19,

);


for my $name(keys %user){

print "name:$name, age:$user{$name}\n";

}

我们将hash的键值组成的数组来作为遍历对象, 以此来遍历整个hash。


今天我们介绍另一种方式, 当我们同时需要使用到hash的键以及值的时候, 我们可以使用each方法, 通过each方法可以更方便的遍历hash。


具体实现如下:


my %user = (

'zhang' => 33,

'li'    => 44,

'wang'  => 19,

);


while(my ($name, $age) = each %user){

print "name:$name, age:$age\n";

}


each函数每次返回一组键值对组成的数组, 我们直接使用列表环境来接收这组返回值, 就可以直接使用hash的键和值了, 是不是特别方便, 也不需要再额外处理了。


两种方式适用的场景略有不同, 没有什么哪个更好一点。具体使用哪一种遍历方式, 需要我们根据具体的需求来进行选择。

以上是关于Perl基础---遍历散列的主要内容,如果未能解决你的问题,请参考以下文章

遍历 Perl 数组的最佳方法

perl 遍历对象数组

如何使用perl遍历一个目录下的所有文件

perl win32 api 如何遍历已打开窗口,获得每个窗口的标题内容

遍历 Perl 哈希键的最安全方法是啥?

如何循环遍历 Perl 目录中的文件? [复制]