Спасибо за подсказку. Уже разобрался что к чему примерно. Файл в итоге прочитал. Для этого достаточно было объявить такую структуру:
type
dStatRec = packed record
src_d:Byte;
src_c:Byte;
src_b:Byte;
src_a:Byte;
dst_d:Byte;
dst_c:Byte;
dst_b:Byte;
dst_a:Byte;
packets:LongWord;
bytes:LongWord;
src_port:Word;
dst_port:Word;
t_class:Word;
datetime:LongWord;
end;
...и читать как файл типа dStatRec. Теперь видимо можно оптимизировать это в свете использования функции inet_ntoa(). Просто я сперва думал, что перл своими функциями как-то сжимает данные, оказалось — нет. Осталась только одна небольшая проблемка. Не смог без шаманства раскодировать дату (последнее поле). Delphi функция UnixToDateTime возвращает результат больше на месяц без 6 часов, чем это делает перловский скрипт. GetLocalTime и другие не помогли. Теперь я просто перед вызовом этой функции отнимаю от прочитанного datetime магическое число. Только не совсем уверен, будет ли это
всегда правильно работать.