以下は、配列のハッシュ(配列に割り当てられたキー)を作成するコード(ハッシュで遊んでいるだけ)です。しかし、配列参照として出力を取得します。この配列参照が表示されるのはなぜですか?
#!/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):, ,