Использование perl для разделения файла на плоский текст - PullRequest
0 голосов
/ 26 мая 2020

У меня есть плоский файл, который создается со смещениями, например строка 1: char 1 - 3 = ID, 4-19 = имя пользователя, 20-40 = фамилия, et c ...

Как лучше всего go о создании perl скрипта прочитать это? и есть ли способ сделать его гибким на основе разных групп смещения? Спасибо!

1 Ответ

1 голос
/ 26 мая 2020

Если позиции / длины указаны в единицах кода Unicode:

# Use :encoding(UTF-8) on the file handle.

my @fields = unpack('A3 A16 A21', $decoded_line);

Если позиции / длины выражены в байтах:

use Encode qw( decode );

sub trim_end(_) { $_[0] =~ s/\s+\z//r }

# Use :raw on the file handle.

my @fields =
   map trim_end(decode("UTF-8", $_)),
      unpack('a3 a16 a21', $encoded_line);

В обоих случаях конечный пробелы обрезаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...