问题标签 [storable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
213 浏览

ruby - Ruby gem equivalent of PERL storable

Does Ruby have a gem equivalent of PERL's Storable?
I have tried rcstorable, but it only reads, it does not save.
Thanks.

0 投票
0 回答
91 浏览

perl - 如何在perl中存储内部嵌套哈希

我有一个 perl 嵌套哈希。当我尝试使用 Storable 模块(内部哈希)进行存储时,我收到错误“不是参考”。例子:

我应该如何找回它?下一行是正确的方法吗?

0 投票
1 回答
5119 浏览

perl - 通过 SCP 传输可存储文件时出现错误“对可存储文件的幻数检查失败”

我有一个基本代码,它将哈希存储在文件中。

不同之处在于,文件通过 SCP 传输到不同的机器并在那里检索。检索时,我收到此错误“对可存储文件的幻数检查失败”。我也试过“nstore”,但同样的错误也失败了。

SCP是破坏文件的罪魁祸首吗?我查看了文件,但对我来说它看起来一样!我有什么需要特别注意的吗?还有什么建议吗?

0 投票
2 回答
662 浏览

perl - Perl 错误:不是参考

我最近将一些 Perl 代码从 SunSolaris 迁移到 64 位的 Linux(Ubuntu) 机器上。迁移后Storable.pm出现以下错误:

在互联网上进行了一些研究后,我发现我需要使用nfreeze而不是thaw,但现在我收到以下错误:

任何建议如何解决这个问题?

0 投票
0 回答
165 浏览

perl - 如何修复 DBI 代理连接的可存储版本差异?

我有一个在我的客户端系统上运行的连接测试脚本,并通过调用 Perl DBI 代理服务器

运行脚本时,它将失败说明

DBI 代理服务器上的日志读取

所以我检查了两个系统的 Perl 和 Storable 模块版本号,DBI 代理服务器似乎已经过时了:

问题是我无法更新目标系统的模块/perl版本,所以我想我可以通过修改/usr/local/share/perl/5.10.1/RPC/PlServer/Comm来简单地降低使用的客户端版本.pm 文件并更改行

但这将导致与上述相同的错误。我还尝试在我的 Perl 测试脚本中直接使用 Storable 2.13,但这也没有改变任何东西。

谷歌搜索时我找不到任何解决方案,只能确认此版本差异可能是一个问题。增加客户端的 DBI_TRACE 级别也没有显示任何新内容。坦率地说,我不知道下一步该尝试什么,任何帮助将不胜感激。

0 投票
1 回答
80 浏览

perl - 在 Perl 中无法从文件中调用哈希

这个电话簿脚本在内存中运行良好,但我很难在重新执行时调用保存的数据。哈希转到文本文件,但我不知道如何在脚本启动时调用它们。我使用“存储”来保存数据,并尝试使用“检索”功能将数据带回,但没有运气。我认为要么我从一开始就没有遵循一个好的路径,要么我只是不知道代码在哪里或者哪个 %hash 应该“检索”存储的数据。

我对 Perl 和编程非常陌生,所以我希望我能清楚地解释我的情况

0 投票
1 回答
186 浏览

perl - 序列化和反序列化 perl DBI 连接对象

我需要用 DBI 连接对象序列化一个数组,以便使用共享内存与其他进程共享。但是反序列化不起作用。

使用可储存的 qw/冻融/;

返回错误:全局符号

"$drh" 在 (eval 33) 第 6 行需要明确的包名称(您是否忘记声明“my $drh”?)。

0 投票
1 回答
255 浏览

gzip - perl gunzip to buffer 和 gunzip to file 有不同的字节顺序

我正在使用 Perl v5.22.1、2.53_01StorableIO::Uncompress::Gunzip2.068。

我想使用 PerlStorable在内存中压缩文件,而不使用中间文件。

我有一个$zip_file = '/some/storable.gz'指向这个压缩文件的变量。

如果我直接压缩到一个文件,这工作正常,并且%root正确设置为Storable哈希。

但是,如果我像这样压缩到内存中:

我得到错误

所以 Storable 的神奇数字已经被扼杀:它永远不应该那么高。

但是,解压缩缓冲区中的字符串仍然是正确的;缓冲区以pst正确的Storable标头开头。它似乎只是被破坏的整数之类的多字节变量。

这是否与字节顺序有关,例如写入文件以一种方式工作,而写入文件缓冲区则以另一种方式工作?如何在不破坏整数的情况下将其压缩到缓冲区?

0 投票
1 回答
134 浏览

c - 如何为递归类型创建 Storable 实例?

我在 Haskell 模块中有以下数据类型,我想编写一个 Storable 实例以通过 FFI 将其与 C 一起使用:

我从定义sizeOf函数开始:

它编译得很好,但我不知道如何实现peekandpoke函数。我认为以与此答案相同的方式实现这些功能,但此实现仅在列表中的所有元素具有相同大小的情况下才有效,而此处并非如此。

对于元素具有浮动大小的递归类型,实现peek和函数的正确方法是什么?poke

0 投票
2 回答
81 浏览

php - 作为一名 PHP 开发人员,我是否有必要了解 serialize() 生成值的可存储表示的方式?

我正在使用PHP 7.1.12,我正在尝试了解 PHP 中最重要的内置函数之一的功能serialize()

我知道它serialize()用于生成传递给它的值的可存储表示。

我认为这意味着serialize()使用其内部功能将接收到的值转换为一些字符串。这是我的看法正确serialize()吗?

考虑下面的代码:

输出 :

在输出中,我无法理解字母i、a、R从何处进入输出。另外,我无法理解这个输出是如何形成的serialize()

所以,我的问题是;作为一名 PHP 开发人员,我是否有必要了解上面的输出,或者我应该直接使用这个输出而不涉及它的细节?

请在这方面指导我。