以下内容:
for my $z (@$y) {
# prints number of observables for a given activity summary
# print STDERR 'property count'.keys $z
print Dumper($z);
}
打印:
$VAR1 = {
'activity' => 'walking',
'duration' => '591',
'calories' => 26,
'distance' => '435',
'steps' => 871,
'group' => 'walking'
};
$VAR1 = {
'steps' => 168,
'group' => 'walking',
'distance' => '100',
'activity' => 'walking',
'duration' => '200',
'calories' => 6
};
如何迭代每个属性并打印其名称和值?我正在使用perl。
答案 0 :(得分:4)
这是一种方式:
for my $z (@$y) {
for my $k (keys %$z) {
print "$k: $z->{$k}\n";
}
}
有关keys
的更多信息,请参阅perldoc -f keys
; perldoc perldata
有关哈希的一般信息(因为您的$z
值是哈希引用,而不是对象); perldoc perlreftut
用于引用和嵌套数据结构。
答案 1 :(得分:0)
你可以试试这个:
my $z = {
'activity' => 'walking',
'duration' => '591',
'calories' => 26,
'distance' => '435',
'steps' => 871,
'group' => 'walking'
};
while((my $key, my $value) = each (%{$z})){
print "key : $key -> value : $value\n";
}