问题标签 [perl5.18]
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.
perl - 运行程序时找不到已安装的模块
语境
这是一个 perl 测试脚本,我想在其中了解如何使用特定的事件循环AnyEvent
:
问题
这是我在运行上述代码时遇到的错误:
但是我AnyEvent
使用安装了该软件包cpanm
,并且该AnyEvent/Impl/EV.pm
文件存在于以下@INC
路径之一中:
问题
我该如何解决 ?
额外备注
错误消息说它正在寻找EV.pm
,但我会预料到AnyEvent/Impl/EV.pm
的。
我写的怎么在运行时use AnyEvent::Impl::EV;
变成了perl is looking for EV.pm
?
perl - Perl v5.18 的排序是否理解词法子例程?
这在 Perl v5.22 中已修复。
Perl v5.18 的词法子例程是否带有sort?我今天终于用上了它们,我有一个复杂的排序例程,它依赖于数据结构中的当前位置来查看更深的部分。
这是一个小程序:
显然 sort 对此一无所知,因为它仍在寻找%main::
命名的子例程:
我有点失望,因为这是rjbs在 perl 5 的词法子例程中使用的第一个用例。
这部分无关紧要,因为我查看的是当前版本的测试而不是 v5.18 版本。
我在 perl 源代码中查看它的t/op/lexsub.t ,我发现三个涉及sort的测试。它们在单独运行时会失败,并且在主要方面有所不同:在符号表中有一个同名的已定义子例程(正如 rjbs 所指出的,这些测试来自当前源,并且不存在于受影响的稳定版本中。):
sort在所有情况下都完全忽略了词法子例程(对于 perls v5.18 和 v5.20):
除了由于未能隔离环境而导致此测试存在问题之外,还很难判断测试人员在做什么以及每个测试需要多少以前的、遥远的设置。如果有的话,测试本身的文档很少。
回到重要的事情
我在这里错过了什么吗?似乎这从未奏效。那么诀窍是,测试文件中的什么允许它通过?
请不要建议解决方法。这不是我问的原因。
perl - 如何更改 Perl 5.18 中默认的 ONE_AT_A_TIME_HARD 哈希函数?
我对 Perl 不是很熟悉,但在过去的两天里,我一直在搜索文档和其他资源,但没有成功。在文档中,它是这样写的:
Perl v5.18 包括对多个哈希函数的支持,并更改了默认值(为
ONE_AT_A_TIME_HARD
),您可以通过在编译时定义符号来选择不同的算法。有关当前列表,请参阅安装文档。请注意,从 Perl v5.18 开始,我们只能推荐使用默认值或 SIPHASH。所有其他人都知道有安全问题,仅用于研究目的。
问题是在 INSTALL 文档和其他来源/站点等中都没有。我可以找到如何定义这个符号。
我想要做的是将默认ONE_AT_A_TIME_HARD
哈希函数更改为,ONE_AT_A_TIME_OLD
以便我可以模拟旧的 Perl 5.16 行为。
windows - 无法安装 perl 模块 Crypt::TEA
当我尝试在 Windows 7 上将 Crypt::TEA 模块安装到 perl 5.18 时,显示错误:
TEA.xs:在函数“XS_Crypt__TEA_crypt”中:TEA.xs:58:9:错误:无效使用无效表达式
perl - 无法使用 Win32::TieRegistry 获取 MachineGuid
我需要获取唯一的硬件标识符,所以我从 Windows 注册表中读取 MachineGuid。
我在 Windows 7 上有带有草莓 perl 的 virtualbox 机器,也有带有 Windows 7 的电脑,但没有 perl 解释器。这段代码在 virtualbox 中工作,但是当我用 PerlApp 将它打包到 exe 并尝试在真机上执行时,它无法获得 guid 值。