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