2

我想将两个数组中的项目写入文件,例如

 @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";
    }
 }

这是错误的。如何将多个数组传递给foreachPerl 中的循环?

4

2 回答 2

8

如果要并行输出@a@b的所有元素,则可以遍历其中一个的所有索引(数组大小相同,因此无关紧要),并使用它来访问实际元素($a[$i]$b[$i]

foreach my $i (0 .. $#a) {
  print "$a[$i] $b[$i] \n";
}
于 2013-10-22T08:43:48.623 回答
7
@a=('1','2','3');
@b=('0.1','0.2','0.3');

print "$a[$_] $b[$_] \n" for (0 .. $#a);

当然这假设@a 和@b 的长度相等。

于 2013-10-22T08:45:23.300 回答