perl - 如何使用n个空字符串或零创建数组?

时间:2011-03-16 10:18:57

标签: perl

当我在Perl中操作CSV文件时,我经常需要使用一些相同的元素初始化一个数组:

my $arr = [];
for my $i (0..$n-1) {
    push @$arr, "";
}

有没有办法以更紧凑的形式做到这一点?

完全我希望有一个表达式用于此目的,以便我可以轻松添加缺少的列:

f([@$some_tab, n_elems("", $column_number - scalar(@$some_tab))]);

我知道如何编写函数,但我从不在10行脚本中执行此操作。

1 个答案:

答案 0 :(得分:42)

使用乘数。

my @arr = ("") x $n;

更新:请注意,这会复制元素,如果您使用引用填充数组,则可能不需要这样做。在这种情况下,需要构建每个元素,您可以使用map

my @arr = map { [] } 1..$n;