У меня есть 14 МБ файл с матрицей в двоичном формате. Я хотел бы выпить это и иметь что-то вроде массива массивов, чтобы я мог прочитать некоторые значения. Я надеялся найти какой-нибудь волшебный модуль Perl, который, учитывая размер матрицы, сделает всю работу за меня:)
Но я не могу найти это, и я подозреваю, что мне просто не хватает более очевидного способа сделать это. PDL :: IO :: FlexRaw близок к тому, что мне нужно, хотя я немного озадачен предупреждением со странными символами, добавленными F77.
Матрица находится в двоичном файле, в необработанном формате, в 64-разрядных числах с плавающей запятой. Первые восемь байтов двоичного файла - это первая «ячейка» матрицы (1,1). Следующие восемь байтов являются второй ячейкой (2,1). У него нет верхнего и нижнего колонтитула. Я знаю его размеры, поэтому могу сказать модулю «У меня есть строки для каждых 64000 байтов».
Я смотрю на tie :: mmapArray, но я не знаю, смогу ли я заставить его работать. Может быть, мне лучше использовать lseek (), чтобы найти восемь нужных мне байтов, а затем распаковать () его?
Каков наилучший способ сделать это?