一行创建perl数组引用n个空字符串数组

时间:2014-06-17 21:19:32

标签: arrays perl reference

我正在初始化几个作为可选键值组合传递给子程序的参数:

my %options = (
    center       => 1, 
    caption      => '', 
    tablecss     => '', 
    captioncss   => '', 
    datacss      => '',
    headercss    => '', 
    allcellcss   => '', 
    texalignment => '', 
    midrules     => 0, 
    columnscss   => \(('') x $numcol),
    @_,
);

我的问题在于columnscss密钥。我在上面的内容是将$options{columnscss}作为字符串引用,而不是数组引用。如何使用['','',...,'']空字符串将该键的值初始化为$numcol?我想避免首先在单独的行中创建array ('') x $numcol,然后将键值指定为对它的引用。我相信this answer会让我这样做。

1 个答案:

答案 0 :(得分:5)

使用匿名数组:

columnscss => [ ('') x $numcol ]

反斜杠运算符是分布式的,即\( $x, $y)(\$x, \$y)相同。