具体的には、PERLCOLS オプションで rcols を使用したいと考えています。
これが私がやりたいことです:
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;
}
しかし、配列参照を引数として受け取るサブルーチンを作成する方法がわかりません@$aref = @{$read[-1]}
。これは、各要素を個別にコピーします。
PS:PDL::IO::Misc
ドキュメントを読むと、perl の配列はそうあるべきだと思われます$read[0]
が、そうではありません。
PERLCOLS - ピドルではなく perl 配列に読み込まれる列番号の配列。読み取る列の明示的なリストで指定されていない列は、明示的な列の後に返されます。(デフォルト B)。
x86_64-linux-thread-multi用に構築されたPerl v5.10.0でPDL v2.4.4_05を使用しています