数组比较

时间:2011-08-29 23:39:38

标签: arrays perl

我有两个数组,我正在使用list::compare模块。第一个数组是

@log, "$each_line[3]|$each_line[14]"

第二个数组是

@log2 "$each_line2[3]|$each_line2[14]|$each_line2[37]"

有没有办法让这些数组匹配并打印出来?

"$each_line[3]|$each_line[14]|$each_line2[37]"

1 个答案:

答案 0 :(得分:0)

由于你没有说匹配是如何完成的,所以这个例子似乎是基本上是一个“或”相应的数组元素。

就这样

my @array1 = split(/\|/, $string1);
my @array2 = split(/\|/, $string2);
my $length1 = scalar(@array1);
my $length2 = scalar(@array2);
my @new = ();
my $max = $length1 < $length2 ? $length2 : $length1;
for (my $index = 0; $index < $max; $index++) {
    push @new, $index < $length1 ? $array1[$index] : $array2[$index];
}