问题标签 [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 投票
4 回答
1379 浏览

php - PHP 脚本可以反序列化使用 Perl 创建的可存储文件吗?

PHP 脚本可以反序列化使用 Perl 创建的可存储文件吗?

0 投票
2 回答
2067 浏览

perl - 如何使用 32 位 Perl 解冻使用 64 位 Storable 冻结的内容?

我正在尝试解冻在 64 位 Solaris(生产)机器上使用 Storable 冻结的数据库 BLOB。当我尝试在 32 位 Windows(开发)PC 上解冻时,我收到“字节顺序不兼容错误”。

确切的错误是:

SearchSendQueue.pm 的第 124 行:

有人知道我如何在 32 位机器上解冻这个对象吗?

注意:该对象有效并且在 64 位生产机器上工作。我已经尝试过“$Storable::interwork_56_64bit = 1;” 正如其他论坛所建议的那样。

0 投票
4 回答
799 浏览

perl - Storable 可以存储到 DATA 文件句柄吗?

我很好奇使用Storable的 store_fd 和 fd_retrieve 是否允许我将数据结构存储到程序自己的 DATA 文件句柄中。我意识到这不是最佳实践,我只是好奇它是否会起作用,我快速尝试它似乎不起作用。

0 投票
1 回答
1343 浏览

perl - 在 Perl 中使用 Storable::nfreeze 在 DB 中存储哈希时出现问题

我想使用 Storable::nfreeze 在数据库中插入一个哈希,但数据没有正确插入。

我的代码如下:

工作正常,因为我用thaw一些已正确插入的行对其进行了测试,但是当我尝试获取使用createOrder子例程插入的行时,我收到一条错误消息:

可存储二进制映像 v36.65 比我 (v2.7) 更新,位于 blib/lib/Storable.pm(自动拆分为 blib/lib/auto/Storable/thaw.al)第 415 行

错误来自具有thaw. nfreeze没有正确存储哈希。

有人可以指出我在createOrder子程序中做错了什么吗?

我知道模块版本与问题无关。

0 投票
2 回答
689 浏览

perl - 使用 Apache::Session 和 CODE 引用存储 Moose 对象的替代方法

我有一个想要使用 Apache::Session::File 存储的 Moose 类。

但是,默认情况下 Apache::Session::File 不会存储它,而是我收到错误消息:

这个问题可以通过设置来规避

为了允许 CODE 引用被序列化。

下面列出了 Moose 类中的违规方法,该方法从 mysql 数据库中检索列:

所以大概 dbh 对象(即 DBIx::Connector)包含 CODE 引用。

为了允许这个 Moose 类的序列化,是否有比设置 $Storable::Deparse 和 $Storable::Eval 更好的选择?

以下测试脚本产生错误:

SQL连接类定义为:

TestCell 类定义为:

0 投票
2 回答
677 浏览

perl - Storable.pm - 保存到非截断文件时损坏

在我的生产环境中,我们有一个我们认为是损坏的可存储哈希,由 Storable.pm 创建。我无法复制 Dev 中的行为,这使得准确诊断变得困难。

该代码已经运行了很长时间,导致它中断的更改是从哈希中删除。直到最近,哈希值要么保持不变,要么增长。

文件以读写方式打开,然后 store_fd 写入文件。由于哈希现在(有时)更小,它会向这个 2000 字节的文件写入 1000 字节。尾部 1000 字节是旧的垃圾数据。在我的测试用例中,当我检索哈希时,垃圾数据被忽略,正如预期的那样。

我的问题:

  1. 这应该有效,还是我必须截断文件?
  2. 存储的哈希是否使用某种文件终止符?如果是这样,它是什么?
  3. 上面的代码,删除和添加以及删除和添加,在我的测试用例中完美运行。您能否建议任何可能导致它失败的测试用例序列,由于未截断的文件?(我知道这是一个非常模糊的问题,所以请随意忽略它)。
0 投票
1 回答
836 浏览

perl - 如何更改 Storable 中的默认文件权限?

使用Storablestore中的功能时,我可以以某种方式更改默认文件权限吗?

0 投票
1 回答
262 浏览

perl - 深度克隆对象和 Log4perl

我正在使用 Storabledclone()创建各种复杂对象的副本,这些对象是带有附加 Log4perl 记录器的自我记录。Storable 在遇到 logger 对象时会报错,因为它包含CODErefs。当我打开序列化代码引用的选项时,我收到不祥的警告

在克隆过程中,克隆对象的记录器不再起作用。

我正在克隆的对象由其他对象组成,记录器可能附加到对象、其组件、它们的子组件等。

理想情况下,我希望克隆过程忽略任何记录器对象。

1)是否有任何 Perl 模块(更)适合这项任务?理想情况下,我希望能够控制递归复制,以便只复制不是记录器的对象或数据片段。

2) ...或者我最好从我的对象中取出对象的自我记录功能(呜咽!)并创建不附加到对象的记录器?

任何建议或见解将不胜感激。

0 投票
2 回答
365 浏览

perl - 存储具有 PDL 作为属性的 Moose 对象

我是 Moose 的新手,在使用 PDL 作为属性遇到障碍之前做得很好。我希望能够将对象写入文件(我一直在使用use MooseX::Storage; with Storage('io' => 'StorableFile');,并且该对象具有 aPDL作为属性。PDL::IO::Storable提供了以这种方式使用的必要方法Storable,但是我不知道如何在驼鹿。

这是一个例子,它有点长,我知道,但它是尽可能少的:

我想我可能必须创建一个 PDL 类型,甚至可能将 PDL 包装到某些东西中(使用MooseX::NonMoose::InsideOut),但也许有人可以将我从中拯救出来(或者如果是的话,可以为我指明正确的道路)。

0 投票
2 回答
809 浏览

perl - Storable 模块是做什么用的?

我很难理解是什么Storable

我知道它将一个变量“存储”到您的磁盘中,但我为什么需要这样做呢?我会用这个模块做什么,我会怎么做?