У меня есть конкретная c проблема, которую нужно решить в Perl 5 (с использованием минимальных внешних зависимостей, если возможно, совместимых с версией 5.12), связанных с декодированием массива байтов, например:
my @data = (0x00, 0x00, 0x00, 0x03, 0x84, 0x14, 0x40, 0x32);
и я хочу извлечь число, подобное этому: 15100821554
Я пробую несколько вариантов упаковать / распаковать без успеха, как
say(unpack("Q", pack("C*", @data)));
print 3620916657624449024
Эквивалентный код в go это что-то вроде этого
data := []byte{0x00, 0x00, 0x00, 0x03, 0x84, 0x14, 0x40, 0x32}
deciseconds := int64(binary.BigEndian.Uint64(data))
можно выполнить здесь: https://play.golang.org/p/I2J45H-sn-H
есть идеи?