我有一个名为@array_of_boards的数组,其中的数据如下所示,
[{1,2,3},{4,5,6},{3,4,5}]
。
如何遍历此数组以逐行获取数据,因为我必须将它们插入表中。
ColA,ColB,ColC
1,2,3
4,5,6
3,4,5
my @array_of_boards=(0,0,0);
my @temp_array = (1,2,3);
push @array_of_boards,@temp_array
@temp_array = (4,5,6);
push @array_of_boards,@temp_array
@temp_array = (3,4,5);
push @array_of_boards,@temp_array
我尝试使用它,但无法正确对齐数据。
foreach my $row (@array_of_boards){
my ($ColA,$ColB,$ColC)=$row;
##followed by printing statements
}
答案 0 :(得分:0)
此代码:
my @array_of_boards = (0, 0, 0);
my @temp_array = (1, 2, 3);
push(@array_of_boards, @temp_array);
等同于:
my @array_of_boards = (0, 0, 0);
push(@array_of_boards, 1, 2, 3);
并生成一个包含六个元素的数组,您可以在Data::Dumper的输出中看到:
$VAR1 = [
0,
0,
0,
1,
2,
3
];
相反,外部数组的每个元素都应该是一个数组引用,如下所示:
my @array_of_boards = ([0, 0, 0]);
push(@array_of_boards, [1, 2, 3]);
这导致以下数据结构:
$VAR1 = [
[
0,
0,
0
],
[
1,
2,
3
]
];
然后可以按预期访问:
for my $array_ref (@array_of_boards) {
my @row = @$array_ref;
...
}