连接两个数组的元素并在perl中创建结果数组

Vij*_*jay 3 arrays perl

基本上我需要的是如果我有两个如下所示的数组:

my @a=("a","b","c");
my @z=("x","y","z");
Run Code Online (Sandbox Code Playgroud)

我想结果数组是:

("a x","b y","c z")
Run Code Online (Sandbox Code Playgroud)

pre条件是数字是两个数组中的元素总是相同的.post condtion命令应该与原始数组顺序相同.我写了一个简单的循环

my $i;
for($i=0;$i<scalar(@a);$i++)
{
push(@result,$a[$i]." ".$z[$i]);
}
Run Code Online (Sandbox Code Playgroud)

以上的作品.但有没有更好的方法呢?

cho*_*oba 6

你可以使用map,这是一个伪装的循环:

my @result = map "$a[$_] $z[$_]", 0 .. $#a;
Run Code Online (Sandbox Code Playgroud)