连接来自相同索引的两个数组的元素

Concatenating elements from two arrays of same indexes

我在连接两个数组的索引元素时遇到问题。

示例:

 @x=(1,2,3,4);
 @y=(5,6,7,8);

我要拼接

$x[0]"_"$y[0]

像这样:

if @i=(..n), then $x[$i]"_"$y[$i]

提出可能的解决方案。

在 Perl 中,您可以像这样连接元素:

my @x=(1,2,3,4);
my @y=(5,6,7,8);

my $z = $x[0] . $y[0];

如果你想在两个元素之间使用下划线,你可以这样使用:

my $z = $x[0] ."_". $y[0];

在 perl 中,连接是使用 . 完成的,所以如果你想连接两个元素,请使用

my $z = $x[0] . $y[0]

如果你想将许多元素相互连接起来,最好是循环执行此操作,并继续将 $z 与元素 $x[0] or $y[0] 连接起来,然后将其分配回 $z

my $z = $z . $x[0]
$z = $z . $y[0]

我不知道您要连接的确切条件,所以我会给您确切的答案,但如果您将上述逻辑与循环一起使用,我希望您的问题能够得到解决。

要对数组中的 n 个元素重复该过程,您可以执行以下操作

my @x=(1,2,3,4);
my @y=(5,6,7,8);

my @concatenated_array=();
for my $i (0 .. $n)      # define $n <= min($#x,$#y)
{
  push @concatenated_array, $x[$i] ."_". $y[$i]; 
}
print "@concatenated_array\n";