生のバイナリ形式の行列を含む 14 MB のファイルがあります。私はそれを丸呑みして配列の配列のようなものを持ちたいので、いくつかの値を読み取ることができます。マトリックスのサイズを考えると、私のためにすべての作業を行う魔法のPerlモジュールを見つけたいと思っていました:)
しかし、私はそれを見つけることができず、それを行うためのより明白な方法を見逃していると思われます. PDL::IO::FlexRaw は私が必要としているものに近いですが、F77 によって追加された奇妙な文字の警告について少し混乱しています。
マトリックスはバイナリ ファイルで、生の形式で、64 ビット浮動小数点数です。バイナリ ファイルの最初の 8 バイトは、行列の最初の「セル」(1,1) です。次の 8 バイトは、2 番目のセル (2,1) です。ヘッダーもフッターもありません。私はその次元を知っているので、モジュールに「64000 バイトごとに行がある」と伝えることができます。
私はtie::mmapArrayを見ていますが、それを機能させることができるかどうかわかりません。lseek() を前後に使用して、必要な 8 バイトを見つけてから unpack() した方がよいのではないでしょうか?
それを行う最善の方法は何ですか?