我有一堆数据存储在 MySQL 表的单个列中。我可以访问大约 5 年的 perl 代码,该代码将其存储在那里,并且可以看到它是Storable::nfreeze
在存储之前被冻结的所有哈希值。MySQL 列是TEXT
并且表设置为latin1
编码。我现在正在尝试检索这些数据以进行一次性导出。我知道该应用程序最初是在 perl 5.8.x 上运行的,所以我正在尝试使用 perl-5.8.8。不幸的是,我不知道使用的是什么版本的 Storable。
我首先尝试使用最新的 Storable 2.39。这给了我:
Storable binary image v32.32 more recent than I am (v2.9) at
perlbrew/perls/perl-5.8.8/lib/5.8.8/darwin-2level/Storable.pm line 417`
使用 Storable-2.14 我得到
Storable binary image v32.32 more recent than I am (v2.7) at blib/lib/Storable.pm
(autosplit into blib/lib/auto/Storable/thaw.al) line 363
使用 Storable-2.13 我得到
Storable binary image v2.7 more recent than I am (v2.6) at blib/lib/Storable.pm
(autosplit into blib/lib/auto/Storable/thaw.al) line 363
>= 2.14 中不合理的高二进制图像数字让我认为解析数字的方式发生了一些变化。我相信这段代码可能在 32 位操作系统上运行,现在我正在 64 位机器上尝试这个,这可能是相关的吗?接下来是我将尝试运行 2.13 和 2.14 之间的差异,看看我是否能找出导致变化的原因。
任何人都可以提供任何指导吗?
谢谢!