具体来说,我想将 rcols 与 PERLCOLS 选项一起使用。
这是我想要做的:
my @array;
getColumn(\@array, $file, 4); # get the fourth column from file
如果我使用\@array
,我可以这样做,但为了向后兼容,我不想这样做。这是我使用数组引用引用的方法:
sub getColumn {
my ($arefref, $file, $colNum) = @_;
my @read = rcols $file, { PERLCOLS => [$colNum] };
$$arefref = $read[-1];
return;
}
但是,我不知道如何制作一个以数组 ref 作为参数的子例程,而无需说类似@$aref = @{$read[-1]}
的内容,因为它会单独复制每个元素。
PS:阅读PDL::IO::Misc
文档,似乎 perl 数组应该是,$read[0]
但事实并非如此。
PERLCOLS - 一个列号数组,将被读入 perl 数组而不是 piddles。任何未在要读取的显式列列表中指定的列都将在显式列之后返回。(默认 B)。
我正在使用 PDL v2.4.4_05 和为 x86_64-linux-thread-multi 构建的 Perl v5.10.0