Perl基础——引用4: 散列的数组

Perl基础——引用4: 散列的数组今天我们继续使用引用来构造使用嵌套的数据结构我们有以下的一些数据 需要读取到合适的数据结构中 把它们写在程序最后的数据段中 DATA name tom age 18 height 173name cat age 22 height

大家好,欢迎来到IT知识分享网。

今天我们继续使用引用来构造使用嵌套的数据结构

我们有以下的一些数据,需要读取到合适的数据结构中, 把它们写在程序最后的数据段中:

__DATA__

name:tom age:18 height:173

name:cat age:22 height:155

name:easy age:25 height:169

name:perl age:19 height:177

每行的内容都是以键值对的形式来呈现的, 因此内层数据用散列比较合适, 外层我们这里选用数组来存储

我们来看下具体实现

首先定义外围数据结构, 数组:

my @users;

逐行读取data段数据:

while(<DATA>){

过滤掉空行:

next if /^\s*$/;

根据非空字符来分割数据, 我们得到的是数值对组成的数组:

my @values = split /\s+/, $_;

定义内层数据, 散列

my %hash;

逐一将键值队拆分成键和值, 并存入散列:

for my $val(@values){

my ($key, $value) = split ‘:’, $val;

$hash{$key} = $value;

}

将存有键值数据的散列的引用存入外层数组, 注意,这边只能使用引用, 如果把散列直接存入数组, 会直接展开整个散列进行存储的:

push @users, \%hash;

}

读取数据:

for my $user(@users){

my %hash = %$user;

for my $key(keys %hash){

print “$key:$hash{$key} “;

}

print “\n”;

}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/123867.html

(0)
上一篇 2025-10-09 19:20
下一篇 2025-10-09 19:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信