仅打印哈希的一部分

Anon957

所以我在perl设置中有一个哈希,该哈希对于每个字段都有多个值,我用它来将数据推送到哈希中:push @{$user{$infoName}}, $information;例如。一个用户,我有3个收藏夹,所有显示为

{'favourite_TV_shows' => [ 'A Country Practice', 'All Saints', 'Falling Skies' ], 'weight' => [ '53kg' ]}

此用户信息中的某些信息是私有的,例如权重,因此我要显示的字段存储在数组中 @fieldsToPrint = ['username','favourite_TV_shows']

我如何编写一个foreach循环以仅打印feildsToPrint数组中的字段。以下是我到目前为止的尝试...

foreach ($user{$infoName} == @fieldsToPrint){
   #print
} 
磨坊主

只需迭代您的@fieldsToPrint数组,跳过那些没有值的键:

use strict;
use warnings;

my @fieldsToPrint = ( 'username', 'favourite_TV_shows' );

my %user = (
    'favourite_TV_shows' => [ 'A Country Practice', 'All Saints', 'Falling Skies' ],
    'weight'             => ['53kg'],
);

for my $key (@fieldsToPrint) {
    next if !$user{$key};
    print "$key = ", join(', ', @{ $user{$key} }), "\n";
}

输出:

favourite_TV_shows = A Country Practice, All Saints, Falling Skies

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章