如何在不安装新Perl的情况下安装或升级最新Perl中的CPAN模块?

我想安装一个Perl模块(在本例中为 FindBin),但由于它包含在 Perl 5.10.1 distribution中,因此cpan想为我安装Perl 5.10.有没有办法通过cpan安装模块?

我能看到的唯一选项是installing directly from source,这看起来有点粗糙,因为没有单独的包(例如,Makefile.PL等),只是裸.pm文件.

由于这是一个只有一个文件的小模块,在这种情况下它是可行的,但如果我想安装一个更大的包呢?

编辑:这有点偏离原始问题,但谈到与Perl发行版打包的模块的一般问题:我发现“独立”FindBin(version 1.49)有一个语法错误,所以我从Perl中检索了version 1.50 5.10.1分发…但是由于模块现在作为Perl 5.10的一部分在CPAN上列出,我无法找到描述此delta中已更改/修复的内容的CHANGES文件.我是否应该进入开发者存储库来提取这些信息是否合理?)

编辑2.好的,这是一个更好的例子.在Perl 5.8.8上我有1.04版本的Carp.但是,我看到Perl 5.10.1与1.11版一起打包.有没有办法让CPAN为我安装最新版本的Carp而不拖延Perl 5.10.1?除了perl 5.10.1 installation之外,我甚至找不到CPAN上Carp模块的链接.

解决方法

> corelist FindBin

FindBin was first released with perl 5.00307

你使用哪个版本的Perl不包括FindBin?如果您至少使用Perl 5.6.0(以前的所有版本都被认为已弃用),则无需安装FindBin.如果你有任何旧的,我建议升级到5.6.2 / 5.8.9 / 5.10.1.

Kurila不是一个“独立”的FindBin,它是Perl的一种方言. FindBin不是双重生活,只发布与Perl捆绑在一起.您可以考虑将FindBin作为独立发行版发布到CPAN – 如果您以前使用过ExtUtils :: MakeMaker,则很容易.

FindBin的最新有用变化是2007-04-28,与VMS有关.最新有用的非VMS变更发生在2006-10-25.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...