使用perl动态显示列中的数组内容

Avi*_*mar 4 arrays perl loops

我想在列视图中显示数组内容.例如:我的数组包含9个值,如下所示:

@numbers = ("One","Two","Three","Four","Five","Six","Seven","Eight","Nine");
Run Code Online (Sandbox Code Playgroud)

我想在2列中显示如下值:

One      Two
Three    Four
Five     Six
Seven    Eight
Nine
Run Code Online (Sandbox Code Playgroud)

我可以使用如上所示的表和显示,但我想动态地使用循环来做一个非常大的数组.

任何人都可以帮我这个.

谢谢

Avinesh

per*_*eal 10

使用拼接,您还可以修改列数:

use strict;
use warnings;

my @numbers = ("One","Two","Three","Four","Five","Six","Seven","Eight","Nine");
my $numcols = 2;
while (@numbers) {
  print join("\t", splice(@numbers,0, $numcols)), "\n";
}
Run Code Online (Sandbox Code Playgroud)


Bee*_*Bee 5

一个简单的数学技巧也可以做到这一点。检查数组索引是否可以被2整除。如果是,只要不是第0个元素就打印一个换行符。

my @numbers = ("One","Two","Three","Four","Five","Six","Seven","Eight","Nine");

foreach my $i (0..$#numbers) {
  print "\n" if ($i%2 == 0 and $i != 0);
  print $numbers[$i] . "\t";
}
Run Code Online (Sandbox Code Playgroud)