[英]Dereferencing on an Array of Hashes in Perl?
The data is stored in @emailaddresses as follows: 数据存储在@emailaddresses中,如下所示:
$VAR1 = { 'email' => 'abc@google.com' };
$VAR2 = { 'email' => 'cde@google.com' };
$VAR3 = { 'email' => 'efg@google.com' };
$VAR4 = { 'email' => 'hij@google.com' };
When I print @emailaddresses (print @emailaddresses), it prints HASH(0x...)
instead of the values in the array. 当我打印@emailaddresses(打印@emailaddresses)时,它将打印
HASH(0x...)
而不是数组中的值。 How can I print the values? 如何打印值?
Simply loop through your array and print out each addresses 'email' value: 只需遍历数组并打印出每个地址的“电子邮件”值即可:
my @emailaddresses = ...;
for my $addr ( @emailaddresses ) {
print $addr->{email}, "\n";
}
better yet, wrap this logic in a function: 更好的是,将此逻辑包装在一个函数中:
sub print_email_addresses {
my @addresses = @_;
for my $addr ( @addresses ) {
print $addr->{email}, "\n";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.