我想将两个数组中的项目写入文件,例如
@a = ('1', '2', '3')
@b = ('0.1', '0.2', '0.3')
我希望我的输出像这样:
1 0.1
2 0.2
3 0.3
在文件中。
我尝试使用两个foreach
循环,这显然是错误的,
foreach my $a (@a) {
foreach my $b (@b) {
print FP "$a $b \n";
}
}
这是错误的。如何将多个数组传递给Perl中的foreach
循环?
答案 0 :(得分:8)
如果要并行输出@a
和@b
的所有元素,可以遍历其中一个元素的所有索引(数组大小相同,因此无关紧要),并使用它来访问实际元素($a[$i]
和$b[$i]
)
foreach my $i (0 .. $#a) {
print "$a[$i] $b[$i] \n";
}
答案 1 :(得分:7)
@a=('1','2','3');
@b=('0.1','0.2','0.3');
print "$a[$_] $b[$_] \n" for (0 .. $#a);
当然这假设@a和@b长度相等。