Я пытаюсь оттереть BLOB базы данных, которая была заморожена с использованием Storable на 64-разрядной машине Solaris (производство). Когда я пытаюсь оттепель на 32-битном Windows (разработке) ПК, я получаю «Byte order is not compatible error».Как я могу использовать 32-разрядный Perl для оттаивания чего-то замороженного с помощью 64-разрядной памяти?
perl -v (on solaris)
This is perl, v5.8.8 built for i86pc-solaris-64
perl -v (on Windows)
This is perl, v5.10.1 built for MSWin32-x86-multi-thread
Точная ошибка:
(Unable to read: Byte order is not compatible at blib\lib\Storable.pm (autosplit into blib\lib\auto\Storable\thaw.al) line 415, at ../handlers/Search/actions/SearchSendQueue.pm line 124)
линия 124 SearchSendQueue.pm:
my $object = thaw($item->{object});
Кто-нибудь знает, как я могу растопить этот объект на 32-битной машине?
Примечание: объект действителен и работает на 64-битной производственной машине. Я уже пробовал «$ Storable :: interwork_56_64bit = 1;» как это было предложено на других форумах.
Если это проблема с байтом, вы можете попробовать изменить порядок байтов с помощью пакета()? – Ether
Это не отвечает на ваш вопрос напрямую, но 64-разрядные компьютеры Intel дешевы, а Solaris - бесплатно. Даже если вы хотите в основном запускать Windows, виртуальная машина Solaris может помочь. Я очень рад, что могу использовать одну машину для разработки на любой платформе, которую я выбираю. :) –