当我在Perl中操作CSV文件时,我经常需要初始化一些数组相同的元素:
my $arr = []; for my $i (0..$n-1) { push @$arr,""; }
有没有办法以更紧凑的形式做到这一点?
完全我想为此表达一个表达,所以我可以轻松地添加缺少的列:
f([@$some_tab,n_elems("",$column_number - scalar(@$some_tab))]);
我知道如何编写一个函数,但是我从来没有在10行脚本中执行。
解决方法
使用乘数。
my @arr = ("") x $n;
更新:请注意,这将重复元素,如果您使用引用填充数组可能不需要。在这种情况下,需要构建每个元素,您可以使用地图:
my @arr = map { [] } 1..$n;