Ниже приведен мой код (просто игра с хэшами), где я хочу создать хэш массива (ключи, назначаемые массиву). Но я получаю вывод как массив. Почему отображается эта ссылка на массив?Создайте хэш массива: Отображение ссылки на массив
#!/usr/bin/perl
my @result = (0,0,0);
my @operator = ('AP', 'MP', 'UP');
my %operator_res;
for ($i = 0; $i <= $#operator; $i++) {
if ($i == 2) {
@result = (4,5,6);
} elsif ($i == 1) {
@result = (1,2,3);
}
@{$operator_res{$operator[$i]}} = @result;
}
foreach $keys (%operator_res) {
print "$keys:";
#print "@{$operator_res{$keys}}\n";
print "$operator_res{$keys}[0], $operator_res{$keys}[1], $operator_res{$keys}[2]\n";
}
Выход
UP:4, 5, 6
ARRAY(0x17212e70):, , Why is this array reference printing?
AP:0, 0, 0
ARRAY(0x17212e00):, ,
MP:1, 2, 3
ARRAY(0x17212e20):, ,
'print join (", ", @ {$ operator_res {$ keys}})," \ n ";' лучше, чем печатать все ваши элементы массива. – TLP
Спасибо, TLP. – sach