Hi, below should be ok for you. Can change below 3 to whatever, so that make them any number of columns.
#!/usr/bin/perl
use POSIX;
sub _toArr{
my $file=shift;
local $/="";
open FH,"<$file";
my $str=<FH>;
my @arr=split("\n",$str);
return \@arr;
}
sub splitArr{
my ($ref,$num)=(@_);
my @arr=@{$ref};
my $loop=ceil(($#arr+1)/$num);
#print $loop,"\n";
for(my $i=0;$i<=$loop-1;$i++){
for(my $j=0;$j<=$num-1;$j++){
my $tmp=$i+$loop*$j;
print $arr[$tmp]," ";
}
print "\n";
}
}
my $ref=_toArr("a.txt");
splitArr($ref,3);