我如何知道谁在 Centos 6 上安装了哪个 CPAN 模块?

How can I tell who installed which CPAN module and when on Centos 6?

我发现 CGI 版本在 CentOS 6.8 机器上更新到 v4.51 时出现了一些问题。我可以使用以下命令检查 CGI 的版本:

perl -MCGI -e 'print $CGI::VERSION ."\n";'

但是,我更想知道它是何时更新的,由谁更新的,因为系统禁用了模块的自动更新。可能还有其他 Perl 模块或 CentOS 库也可能受到影响。我怎样才能弄清楚发生了什么、发生的时间和由谁造成的?

除了查看文件属性外,cpan 客户端没有做任何事情来记录它在什么时候做了什么。

这是我鼓励人们为 CPAN 模块保留一个项目目录(可能 local::lib)的原因之一,这样他们就可以控制他们所依赖的模块的版本,而不会影响其他项目。还有其他解决方案,例如 Pinto,也试图解决这个问题。

评论已经指出,cpan 客户端会将模块及其依赖项更新到 CPAN 上的最新版本。如果 CGI 是另一个更新的依赖项,它可能已被隐式更新。