如何安全地为 Perl 5.8.9 编译 Perl 5.12 模块?

2024-03-04

我想在我的 Perl 5.8.9 中安装 File::Fetch,它是 Perl 5.12 中的核心模块。一般来说,我想在回溯的 Perl 中编译和安装未来的模块,因为我无法升级我的 Perl。

所以我下载了该模块及其依赖项。遵循依赖关系树是相当痛苦的,但我更关心其中一些是核心模块的事实。如果我安装这些,我的 Perl 5.8.9 核心将包含 5.12 的补丁。

我的问题是我如何知道我是否可以安全地安装未来的模块,特别是核心模块。是否有用于测试 Perl 向后兼容性的教程?

EDIT:
我的模块是双重生命的,但我无法使用 cpan 编译它。它说我的 FTPsite.yaml 有一个坏元素。但是,我遵循了模块 META 文件中的依赖关系,并且可以编译该模块。这是 cpan 的奇怪位之一吗?谢谢。

手动安装所有这些依赖项后,我无法重现该问题。但这是错误:

cpan[5]> install File::Fetch
Running install for module 'File::Fetch'
Running make for B/BI/BINGOS/File-Fetch-0.24.tar.gz
CPAN: Digest::SHA loaded ok (v5.48)
CPAN: Time::HiRes loaded ok (v1.9715)
CPAN: YAML loaded ok (v0.72)
Alert: While trying to 'parse' YAML file
 '/Users/martin/.cpan/FTPstats.yml'
with 'YAML' the following error was encountered:
  YAML Error: Invalid element in map
   Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
   Line: 3
   Document: 1
 at /opt/local/lib/perl5/site_perl/5.8.9/YAML.pm line 36

如果该模块可以单独使用(即“双重生命”),既可以作为独立发行版,又可以作为内部核心 Perl,那么独立版本可以安全地安装在早期 Perl 上,假设其 Makefile 允许。也就是说,如果你能做到cpan <Module>并且它的构建和测试没有错误,那么你就可以了。

唯一的问题是模块是否具有双重生命,我在这个问题 https://stackoverflow.com/questions/1546192/how-can-i-install-a-cpan-module-that-is-in-the-latest-perl-without-installing-th——这就是你可能处于 S.O.L. 的位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何安全地为 Perl 5.8.9 编译 Perl 5.12 模块? 的相关文章

随机推荐

  • 虽然声明不起作用?

    include
  • 在 EF 中使用 Attach 时,是否可以不覆盖我尚未更新的属性?

    我通过将现有实体附加到我的数据上下文来更新它 如下所示 var updatedDocumentState new AccDocumentState Id accDocumentState Id IsDocumentary accDocume
  • 在 Vim 中有效地附加匹配:g/---/s/---/X/

    如何引用命令中的匹配项g in Vim 我想在比赛后面加上 X 而不替换比赛 例如 在以下命令中 不写create title twice g create title s create title X 你应该得到 create title
  • 如何清除屏幕命令中的回滚?

    我用screen命令用于 Linux 中的命令行多任务处理 我将回滚缓冲区长度设置为一个非常大的值 当我不想再保留某个选项卡时 是否有组合键可以清除该选项卡的缓冲区 这个线程 http osdir com ml gnu screen use
  • 如何在 ItemsControls 中使用 AlternationIndex?

    我看过一些文章展示如何使用AlternationIndex with ListBoxes or ListViews 但我花了几个小时试图在底座上获得交替的背景颜色ItemsControl类 似乎没有任何作用 全部ListBox我看到使用的样
  • 在 C 中使用 true 和 false

    据我所知 在 C 语言中使用布尔值有三种方法 使用 bool 类型 来自 然后使用 true 和 false 使用预处理器定义 define FALSE 0 define TRUE FALSE 只是直接使用常量 即 1 和 0 还有其他我错
  • 如何在 R 中组合两个列表

    我有两个清单 l1 list 2 3 l2 list 4 我想要第三个清单 list 2 3 4 我怎样才能以简单的方式做到这一点 虽然我可以在 for 循环中完成它 但我期待一个单行答案 或者可能是一个内置方法 其实我有一个清单 list
  • 出于单元测试目的覆盖对象属性

    我正在使用 Jest 在 Node js 应用程序上执行单元测试 其中代码源是用 TypeScript 编写的 然后编译为 JavaScript 在我希望测试的一个类中 导入了一个外部模块并使用了该模块中的方法 我想模拟对此方法的调用 以便
  • 区域未传递给 ASP.net Core 中的 Url.Action()

    以下代码在正常的 ASP net MVC 中工作 Url Action actionName controllerName new Area areaName 但它在 ASP net Core 中运行得不太好 区域被识别为查询字符串参数 我
  • 相同值零算法如何工作?

    我正在浏览 Javascript info 中的地图章节 其中有一个关于 SameValueZero 算法的链接 有人可以用简单的语言解释一下该算法是如何工作的吗 我尝试通过链接但找不到任何内容 See the 规格 https www e
  • 如果浏览器是 ie9,则执行某些 javascript

    我想在浏览器低于IE9的情况下执行jQuery中的某些代码 是的 我已经知道了 但我想要的是检查脚本标签内的这个条件并使用 jQuery document ready 您可以通过以下类别定位较旧的 Internet Explorer 版本
  • 如何拆分我的代码的解决方案?

    当您向我的代码提出问题时 它会告诉您您的问题 但我无法更改它 因此它有多种解决方案 它总是为所有不同的问题提供相同的解决方案 我要问的是如何为正确的问题提供正确的解决方案 而不是所有问题都只导致一个解决方案 其中显示 print 您问题的解
  • 在angularjs中使用debounce延迟代码

    我必须在 AngularJS 中编写电子邮件验证功能 当用户使用电子邮件 ID 完成编辑后 我想在 2 秒后发出发布请求 AngularJS 中有没有为此预先定义的方法 fiddle http jsfiddle net Qdk5M 1944
  • 将句子每行一个单词分开

    是否可以使用 CSS 将句子分成每行一个单词 Input div Hello world foo bar div 渲染输出 Hello world foo bar 将宽度设置为例如1px是不希望的 你必须使用display table ca
  • 对于导航堆栈的根视图控制器,isMovingToParentViewController 总是返回 FALSE?

    确定导航堆栈的根视图 顶级 控制器是由于最初呈现还是未被发现而出现的正确方法是什么 iOS 文档建议在 viewWill DidAppear 中使用 isMovingToParentViewController 来做出决定 这适用于推送到堆
  • Django-rest-framework 与 django OAuth 2.0 给出身份验证错误

    我已将 django rest framework 与 django oauth toolkit 集成 它给了我 detail Authentication credentials were not provided 使用未经身份验证的 A
  • AspectJ EDT-Checker 代码问题

    我目前正在使用 Alexander Potochkin 的 AspectJEDT 检查器代码 http weblogs java net blog alexfromsun archive 2006 02 debugging swing ht
  • 在没有 GUI 的服务器上运行 Smalltalk?

    我有一个相当明显的问题 我想在生产服务器上运行 Smalltalk 而不使用图形界面 VW 或 Pharo 甚至 Squeak 可能实现这一点吗 我有一个没有 X 的 VPS 托管 并且希望在 Smalltalk 上运行一些网站 同时使用成
  • emberjs 如何禁用 Ember.Select?

    我有一个与这个问题类似的问题 Emberjs 禁用和启用 TextField https stackoverflow com questions 10523780 emberjs disable and enable textfield 所
  • 如何安全地为 Perl 5.8.9 编译 Perl 5.12 模块?

    我想在我的 Perl 5 8 9 中安装 File Fetch 它是 Perl 5 12 中的核心模块 一般来说 我想在回溯的 Perl 中编译和安装未来的模块 因为我无法升级我的 Perl 所以我下载了该模块及其依赖项 遵循依赖关系树是相