Следующая подпрограмма используется для итерации по массиву узлов (каждый с континентом в своем хэше) и возврата списка всех стран:
sub getContinentsServed{
my $self = shift;
my $temp = $self->{cityListRef};
my %hash = {};
my $h_ref = \%hash;
foreach my $cont (@{$temp}){
$h_ref->{$cont->{continent}} = '1';
}
print "Continents Served: ";
foreach my $coord (keys %hash){
print $coord;
print " , ";
}
}
Я вполне уверен, что это содержитвсе правильные данные, но когда я пытаюсь напечатать значения, я получаю это в качестве результата:
Continents Served: Australia Europe North America South America Asia Africa HASH(0x100949a70)
Кто-нибудь знает, почему я получу этот последний элемент HASH(0x1009...)
.Я бы предпочел, чтобы это не появлялось, но все, что я делаю, это перебираю ключи, поэтому я не уверен, почему или как это могло бы быть.